R Under development (unstable) (2023-06-30 r84625 ucrt) -- "Unsuffered Consequences" Copyright (C) 2023 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") [18:01:59.240] plan(): Setting new future strategy stack: [18:01:59.242] List of future strategies: [18:01:59.242] 1. sequential: [18:01:59.242] - args: function (..., envir = parent.frame()) [18:01:59.242] - tweaked: FALSE [18:01:59.242] - call: future::plan("sequential") [18:01:59.258] 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') ... [18:01:59.377] plan(): Setting new future strategy stack: [18:01:59.377] List of future strategies: [18:01:59.377] 1. sequential: [18:01:59.377] - args: function (..., envir = parent.frame()) [18:01:59.377] - tweaked: FALSE [18:01:59.377] - call: plan(strategy) [18:01:59.390] plan(): nbrOfWorkers() = 1 Method for identifying globals: 'conservative' ... Warning: 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' [18:01:59.392] getGlobalsAndPackages() ... Warning: 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' [18:01:59.392] Searching for globals... Warning: 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' [18:01:59.401] - globals found: [3] '{', '<-', '*' [18:01:59.402] Searching for globals ... DONE [18:01:59.402] Resolving globals: TRUE [18:01:59.402] Resolving any globals that are futures ... [18:01:59.402] - globals: [3] '{', '<-', '*' [18:01:59.402] Resolving any globals that are futures ... DONE [18:01:59.403] [18:01:59.403] [18:01:59.403] getGlobalsAndPackages() ... DONE [18:01:59.404] run() for 'Future' ... [18:01:59.404] - state: 'created' [18:01:59.405] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.405] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.405] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.406] - Field: 'label' [18:01:59.406] - Field: 'local' [18:01:59.406] - Field: 'owner' [18:01:59.406] - Field: 'envir' [18:01:59.406] - Field: 'packages' [18:01:59.407] - Field: 'gc' [18:01:59.407] - Field: 'conditions' [18:01:59.407] - Field: 'expr' [18:01:59.407] - Field: 'uuid' [18:01:59.407] - Field: 'seed' [18:01:59.407] - Field: 'version' [18:01:59.408] - Field: 'result' [18:01:59.408] - Field: 'asynchronous' [18:01:59.408] - Field: 'calls' [18:01:59.408] - Field: 'globals' [18:01:59.408] - Field: 'stdout' [18:01:59.408] - Field: 'earlySignal' [18:01:59.409] - Field: 'lazy' [18:01:59.409] - Field: 'state' [18:01:59.409] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.409] - Launch lazy future ... [18:01:59.410] Packages needed by the future expression (n = 0): [18:01:59.410] Packages needed by future strategies (n = 0): [18:01:59.411] { [18:01:59.411] { [18:01:59.411] { [18:01:59.411] ...future.startTime <- base::Sys.time() [18:01:59.411] { [18:01:59.411] { [18:01:59.411] { [18:01:59.411] base::local({ [18:01:59.411] has_future <- base::requireNamespace("future", [18:01:59.411] quietly = TRUE) [18:01:59.411] if (has_future) { [18:01:59.411] ns <- base::getNamespace("future") [18:01:59.411] version <- ns[[".package"]][["version"]] [18:01:59.411] if (is.null(version)) [18:01:59.411] version <- utils::packageVersion("future") [18:01:59.411] } [18:01:59.411] else { [18:01:59.411] version <- NULL [18:01:59.411] } [18:01:59.411] if (!has_future || version < "1.8.0") { [18:01:59.411] info <- base::c(r_version = base::gsub("R version ", [18:01:59.411] "", base::R.version$version.string), [18:01:59.411] platform = base::sprintf("%s (%s-bit)", [18:01:59.411] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.411] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.411] "release", "version")], collapse = " "), [18:01:59.411] hostname = base::Sys.info()[["nodename"]]) [18:01:59.411] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.411] info) [18:01:59.411] info <- base::paste(info, collapse = "; ") [18:01:59.411] if (!has_future) { [18:01:59.411] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.411] info) [18:01:59.411] } [18:01:59.411] else { [18:01:59.411] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.411] info, version) [18:01:59.411] } [18:01:59.411] base::stop(msg) [18:01:59.411] } [18:01:59.411] }) [18:01:59.411] } [18:01:59.411] options(future.plan = NULL) [18:01:59.411] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.411] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.411] } [18:01:59.411] ...future.workdir <- getwd() [18:01:59.411] } [18:01:59.411] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.411] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.411] } [18:01:59.411] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.411] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.411] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.411] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.411] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.411] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.411] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.411] base::names(...future.oldOptions)) [18:01:59.411] } [18:01:59.411] if (FALSE) { [18:01:59.411] } [18:01:59.411] else { [18:01:59.411] if (TRUE) { [18:01:59.411] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.411] open = "w") [18:01:59.411] } [18:01:59.411] else { [18:01:59.411] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.411] windows = "NUL", "/dev/null"), open = "w") [18:01:59.411] } [18:01:59.411] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.411] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.411] base::sink(type = "output", split = FALSE) [18:01:59.411] base::close(...future.stdout) [18:01:59.411] }, add = TRUE) [18:01:59.411] } [18:01:59.411] ...future.frame <- base::sys.nframe() [18:01:59.411] ...future.conditions <- base::list() [18:01:59.411] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.411] if (FALSE) { [18:01:59.411] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.411] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.411] } [18:01:59.411] ...future.result <- base::tryCatch({ [18:01:59.411] base::withCallingHandlers({ [18:01:59.411] ...future.value <- base::withVisible(base::local({ [18:01:59.411] b <- a [18:01:59.411] a <- 2 [18:01:59.411] a * b [18:01:59.411] })) [18:01:59.411] future::FutureResult(value = ...future.value$value, [18:01:59.411] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.411] ...future.rng), globalenv = if (FALSE) [18:01:59.411] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.411] ...future.globalenv.names)) [18:01:59.411] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.411] }, condition = base::local({ [18:01:59.411] c <- base::c [18:01:59.411] inherits <- base::inherits [18:01:59.411] invokeRestart <- base::invokeRestart [18:01:59.411] length <- base::length [18:01:59.411] list <- base::list [18:01:59.411] seq.int <- base::seq.int [18:01:59.411] signalCondition <- base::signalCondition [18:01:59.411] sys.calls <- base::sys.calls [18:01:59.411] `[[` <- base::`[[` [18:01:59.411] `+` <- base::`+` [18:01:59.411] `<<-` <- base::`<<-` [18:01:59.411] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.411] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.411] 3L)] [18:01:59.411] } [18:01:59.411] function(cond) { [18:01:59.411] is_error <- inherits(cond, "error") [18:01:59.411] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.411] NULL) [18:01:59.411] if (is_error) { [18:01:59.411] sessionInformation <- function() { [18:01:59.411] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.411] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.411] search = base::search(), system = base::Sys.info()) [18:01:59.411] } [18:01:59.411] ...future.conditions[[length(...future.conditions) + [18:01:59.411] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.411] cond$call), session = sessionInformation(), [18:01:59.411] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.411] signalCondition(cond) [18:01:59.411] } [18:01:59.411] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.411] "immediateCondition"))) { [18:01:59.411] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.411] ...future.conditions[[length(...future.conditions) + [18:01:59.411] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.411] if (TRUE && !signal) { [18:01:59.411] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.411] { [18:01:59.411] inherits <- base::inherits [18:01:59.411] invokeRestart <- base::invokeRestart [18:01:59.411] is.null <- base::is.null [18:01:59.411] muffled <- FALSE [18:01:59.411] if (inherits(cond, "message")) { [18:01:59.411] muffled <- grepl(pattern, "muffleMessage") [18:01:59.411] if (muffled) [18:01:59.411] invokeRestart("muffleMessage") [18:01:59.411] } [18:01:59.411] else if (inherits(cond, "warning")) { [18:01:59.411] muffled <- grepl(pattern, "muffleWarning") [18:01:59.411] if (muffled) [18:01:59.411] invokeRestart("muffleWarning") [18:01:59.411] } [18:01:59.411] else if (inherits(cond, "condition")) { [18:01:59.411] if (!is.null(pattern)) { [18:01:59.411] computeRestarts <- base::computeRestarts [18:01:59.411] grepl <- base::grepl [18:01:59.411] restarts <- computeRestarts(cond) [18:01:59.411] for (restart in restarts) { [18:01:59.411] name <- restart$name [18:01:59.411] if (is.null(name)) [18:01:59.411] next [18:01:59.411] if (!grepl(pattern, name)) [18:01:59.411] next [18:01:59.411] invokeRestart(restart) [18:01:59.411] muffled <- TRUE [18:01:59.411] break [18:01:59.411] } [18:01:59.411] } [18:01:59.411] } [18:01:59.411] invisible(muffled) [18:01:59.411] } [18:01:59.411] muffleCondition(cond, pattern = "^muffle") [18:01:59.411] } [18:01:59.411] } [18:01:59.411] else { [18:01:59.411] if (TRUE) { [18:01:59.411] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.411] { [18:01:59.411] inherits <- base::inherits [18:01:59.411] invokeRestart <- base::invokeRestart [18:01:59.411] is.null <- base::is.null [18:01:59.411] muffled <- FALSE [18:01:59.411] if (inherits(cond, "message")) { [18:01:59.411] muffled <- grepl(pattern, "muffleMessage") [18:01:59.411] if (muffled) [18:01:59.411] invokeRestart("muffleMessage") [18:01:59.411] } [18:01:59.411] else if (inherits(cond, "warning")) { [18:01:59.411] muffled <- grepl(pattern, "muffleWarning") [18:01:59.411] if (muffled) [18:01:59.411] invokeRestart("muffleWarning") [18:01:59.411] } [18:01:59.411] else if (inherits(cond, "condition")) { [18:01:59.411] if (!is.null(pattern)) { [18:01:59.411] computeRestarts <- base::computeRestarts [18:01:59.411] grepl <- base::grepl [18:01:59.411] restarts <- computeRestarts(cond) [18:01:59.411] for (restart in restarts) { [18:01:59.411] name <- restart$name [18:01:59.411] if (is.null(name)) [18:01:59.411] next [18:01:59.411] if (!grepl(pattern, name)) [18:01:59.411] next [18:01:59.411] invokeRestart(restart) [18:01:59.411] muffled <- TRUE [18:01:59.411] break [18:01:59.411] } [18:01:59.411] } [18:01:59.411] } [18:01:59.411] invisible(muffled) [18:01:59.411] } [18:01:59.411] muffleCondition(cond, pattern = "^muffle") [18:01:59.411] } [18:01:59.411] } [18:01:59.411] } [18:01:59.411] })) [18:01:59.411] }, error = function(ex) { [18:01:59.411] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.411] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.411] ...future.rng), started = ...future.startTime, [18:01:59.411] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.411] version = "1.8"), class = "FutureResult") [18:01:59.411] }, finally = { [18:01:59.411] if (!identical(...future.workdir, getwd())) [18:01:59.411] setwd(...future.workdir) [18:01:59.411] { [18:01:59.411] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.411] ...future.oldOptions$nwarnings <- NULL [18:01:59.411] } [18:01:59.411] base::options(...future.oldOptions) [18:01:59.411] if (.Platform$OS.type == "windows") { [18:01:59.411] old_names <- names(...future.oldEnvVars) [18:01:59.411] envs <- base::Sys.getenv() [18:01:59.411] names <- names(envs) [18:01:59.411] common <- intersect(names, old_names) [18:01:59.411] added <- setdiff(names, old_names) [18:01:59.411] removed <- setdiff(old_names, names) [18:01:59.411] changed <- common[...future.oldEnvVars[common] != [18:01:59.411] envs[common]] [18:01:59.411] NAMES <- toupper(changed) [18:01:59.411] args <- list() [18:01:59.411] for (kk in seq_along(NAMES)) { [18:01:59.411] name <- changed[[kk]] [18:01:59.411] NAME <- NAMES[[kk]] [18:01:59.411] if (name != NAME && is.element(NAME, old_names)) [18:01:59.411] next [18:01:59.411] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.411] } [18:01:59.411] NAMES <- toupper(added) [18:01:59.411] for (kk in seq_along(NAMES)) { [18:01:59.411] name <- added[[kk]] [18:01:59.411] NAME <- NAMES[[kk]] [18:01:59.411] if (name != NAME && is.element(NAME, old_names)) [18:01:59.411] next [18:01:59.411] args[[name]] <- "" [18:01:59.411] } [18:01:59.411] NAMES <- toupper(removed) [18:01:59.411] for (kk in seq_along(NAMES)) { [18:01:59.411] name <- removed[[kk]] [18:01:59.411] NAME <- NAMES[[kk]] [18:01:59.411] if (name != NAME && is.element(NAME, old_names)) [18:01:59.411] next [18:01:59.411] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.411] } [18:01:59.411] if (length(args) > 0) [18:01:59.411] base::do.call(base::Sys.setenv, args = args) [18:01:59.411] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.411] } [18:01:59.411] else { [18:01:59.411] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.411] } [18:01:59.411] { [18:01:59.411] if (base::length(...future.futureOptionsAdded) > [18:01:59.411] 0L) { [18:01:59.411] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.411] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.411] base::options(opts) [18:01:59.411] } [18:01:59.411] { [18:01:59.411] { [18:01:59.411] NULL [18:01:59.411] RNGkind("Mersenne-Twister") [18:01:59.411] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.411] inherits = FALSE) [18:01:59.411] } [18:01:59.411] options(future.plan = NULL) [18:01:59.411] if (is.na(NA_character_)) [18:01:59.411] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.411] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.411] future::plan(list(function (..., envir = parent.frame()) [18:01:59.411] { [18:01:59.411] future <- SequentialFuture(..., envir = envir) [18:01:59.411] if (!future$lazy) [18:01:59.411] future <- run(future) [18:01:59.411] invisible(future) [18:01:59.411] }), .cleanup = FALSE, .init = FALSE) [18:01:59.411] } [18:01:59.411] } [18:01:59.411] } [18:01:59.411] }) [18:01:59.411] if (TRUE) { [18:01:59.411] base::sink(type = "output", split = FALSE) [18:01:59.411] if (TRUE) { [18:01:59.411] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.411] } [18:01:59.411] else { [18:01:59.411] ...future.result["stdout"] <- base::list(NULL) [18:01:59.411] } [18:01:59.411] base::close(...future.stdout) [18:01:59.411] ...future.stdout <- NULL [18:01:59.411] } [18:01:59.411] ...future.result$conditions <- ...future.conditions [18:01:59.411] ...future.result$finished <- base::Sys.time() [18:01:59.411] ...future.result [18:01:59.411] } [18:01:59.416] plan(): Setting new future strategy stack: [18:01:59.416] List of future strategies: [18:01:59.416] 1. sequential: [18:01:59.416] - args: function (..., envir = parent.frame()) [18:01:59.416] - tweaked: FALSE [18:01:59.416] - call: NULL [18:01:59.416] plan(): nbrOfWorkers() = 1 [18:01:59.418] plan(): Setting new future strategy stack: [18:01:59.418] List of future strategies: [18:01:59.418] 1. sequential: [18:01:59.418] - args: function (..., envir = parent.frame()) [18:01:59.418] - tweaked: FALSE [18:01:59.418] - call: plan(strategy) [18:01:59.419] plan(): nbrOfWorkers() = 1 [18:01:59.419] SequentialFuture started (and completed) [18:01:59.420] - Launch lazy future ... done [18:01:59.420] run() for 'SequentialFuture' ... done y = 6 Warning: 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' [18:01:59.421] getGlobalsAndPackages() ... Warning: 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' [18:01:59.421] Searching for globals... Warning: 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' [18:01:59.423] - globals found: [3] '{', '<-', '*' [18:01:59.423] Searching for globals ... DONE [18:01:59.423] Resolving globals: TRUE [18:01:59.424] Resolving any globals that are futures ... [18:01:59.424] - globals: [3] '{', '<-', '*' [18:01:59.424] Resolving any globals that are futures ... DONE [18:01:59.424] [18:01:59.424] [18:01:59.425] getGlobalsAndPackages() ... DONE [18:01:59.425] run() for 'Future' ... [18:01:59.425] - state: 'created' [18:01:59.425] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.426] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.426] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.426] - Field: 'label' [18:01:59.426] - Field: 'local' [18:01:59.426] - Field: 'owner' [18:01:59.427] - Field: 'envir' [18:01:59.427] - Field: 'packages' [18:01:59.427] - Field: 'gc' [18:01:59.427] - Field: 'conditions' [18:01:59.427] - Field: 'expr' [18:01:59.428] - Field: 'uuid' [18:01:59.428] - Field: 'seed' [18:01:59.428] - Field: 'version' [18:01:59.428] - Field: 'result' [18:01:59.428] - Field: 'asynchronous' [18:01:59.428] - Field: 'calls' [18:01:59.429] - Field: 'globals' [18:01:59.429] - Field: 'stdout' [18:01:59.429] - Field: 'earlySignal' [18:01:59.429] - Field: 'lazy' [18:01:59.429] - Field: 'state' [18:01:59.429] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.430] - Launch lazy future ... [18:01:59.430] Packages needed by the future expression (n = 0): [18:01:59.430] Packages needed by future strategies (n = 0): [18:01:59.431] { [18:01:59.431] { [18:01:59.431] { [18:01:59.431] ...future.startTime <- base::Sys.time() [18:01:59.431] { [18:01:59.431] { [18:01:59.431] { [18:01:59.431] base::local({ [18:01:59.431] has_future <- base::requireNamespace("future", [18:01:59.431] quietly = TRUE) [18:01:59.431] if (has_future) { [18:01:59.431] ns <- base::getNamespace("future") [18:01:59.431] version <- ns[[".package"]][["version"]] [18:01:59.431] if (is.null(version)) [18:01:59.431] version <- utils::packageVersion("future") [18:01:59.431] } [18:01:59.431] else { [18:01:59.431] version <- NULL [18:01:59.431] } [18:01:59.431] if (!has_future || version < "1.8.0") { [18:01:59.431] info <- base::c(r_version = base::gsub("R version ", [18:01:59.431] "", base::R.version$version.string), [18:01:59.431] platform = base::sprintf("%s (%s-bit)", [18:01:59.431] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.431] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.431] "release", "version")], collapse = " "), [18:01:59.431] hostname = base::Sys.info()[["nodename"]]) [18:01:59.431] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.431] info) [18:01:59.431] info <- base::paste(info, collapse = "; ") [18:01:59.431] if (!has_future) { [18:01:59.431] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.431] info) [18:01:59.431] } [18:01:59.431] else { [18:01:59.431] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.431] info, version) [18:01:59.431] } [18:01:59.431] base::stop(msg) [18:01:59.431] } [18:01:59.431] }) [18:01:59.431] } [18:01:59.431] options(future.plan = NULL) [18:01:59.431] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.431] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.431] } [18:01:59.431] ...future.workdir <- getwd() [18:01:59.431] } [18:01:59.431] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.431] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.431] } [18:01:59.431] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.431] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.431] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.431] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.431] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.431] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.431] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.431] base::names(...future.oldOptions)) [18:01:59.431] } [18:01:59.431] if (FALSE) { [18:01:59.431] } [18:01:59.431] else { [18:01:59.431] if (TRUE) { [18:01:59.431] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.431] open = "w") [18:01:59.431] } [18:01:59.431] else { [18:01:59.431] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.431] windows = "NUL", "/dev/null"), open = "w") [18:01:59.431] } [18:01:59.431] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.431] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.431] base::sink(type = "output", split = FALSE) [18:01:59.431] base::close(...future.stdout) [18:01:59.431] }, add = TRUE) [18:01:59.431] } [18:01:59.431] ...future.frame <- base::sys.nframe() [18:01:59.431] ...future.conditions <- base::list() [18:01:59.431] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.431] if (FALSE) { [18:01:59.431] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.431] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.431] } [18:01:59.431] ...future.result <- base::tryCatch({ [18:01:59.431] base::withCallingHandlers({ [18:01:59.431] ...future.value <- base::withVisible(base::local({ [18:01:59.431] b <- a [18:01:59.431] a <- 2 [18:01:59.431] a * b [18:01:59.431] })) [18:01:59.431] future::FutureResult(value = ...future.value$value, [18:01:59.431] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.431] ...future.rng), globalenv = if (FALSE) [18:01:59.431] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.431] ...future.globalenv.names)) [18:01:59.431] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.431] }, condition = base::local({ [18:01:59.431] c <- base::c [18:01:59.431] inherits <- base::inherits [18:01:59.431] invokeRestart <- base::invokeRestart [18:01:59.431] length <- base::length [18:01:59.431] list <- base::list [18:01:59.431] seq.int <- base::seq.int [18:01:59.431] signalCondition <- base::signalCondition [18:01:59.431] sys.calls <- base::sys.calls [18:01:59.431] `[[` <- base::`[[` [18:01:59.431] `+` <- base::`+` [18:01:59.431] `<<-` <- base::`<<-` [18:01:59.431] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.431] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.431] 3L)] [18:01:59.431] } [18:01:59.431] function(cond) { [18:01:59.431] is_error <- inherits(cond, "error") [18:01:59.431] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.431] NULL) [18:01:59.431] if (is_error) { [18:01:59.431] sessionInformation <- function() { [18:01:59.431] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.431] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.431] search = base::search(), system = base::Sys.info()) [18:01:59.431] } [18:01:59.431] ...future.conditions[[length(...future.conditions) + [18:01:59.431] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.431] cond$call), session = sessionInformation(), [18:01:59.431] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.431] signalCondition(cond) [18:01:59.431] } [18:01:59.431] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.431] "immediateCondition"))) { [18:01:59.431] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.431] ...future.conditions[[length(...future.conditions) + [18:01:59.431] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.431] if (TRUE && !signal) { [18:01:59.431] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.431] { [18:01:59.431] inherits <- base::inherits [18:01:59.431] invokeRestart <- base::invokeRestart [18:01:59.431] is.null <- base::is.null [18:01:59.431] muffled <- FALSE [18:01:59.431] if (inherits(cond, "message")) { [18:01:59.431] muffled <- grepl(pattern, "muffleMessage") [18:01:59.431] if (muffled) [18:01:59.431] invokeRestart("muffleMessage") [18:01:59.431] } [18:01:59.431] else if (inherits(cond, "warning")) { [18:01:59.431] muffled <- grepl(pattern, "muffleWarning") [18:01:59.431] if (muffled) [18:01:59.431] invokeRestart("muffleWarning") [18:01:59.431] } [18:01:59.431] else if (inherits(cond, "condition")) { [18:01:59.431] if (!is.null(pattern)) { [18:01:59.431] computeRestarts <- base::computeRestarts [18:01:59.431] grepl <- base::grepl [18:01:59.431] restarts <- computeRestarts(cond) [18:01:59.431] for (restart in restarts) { [18:01:59.431] name <- restart$name [18:01:59.431] if (is.null(name)) [18:01:59.431] next [18:01:59.431] if (!grepl(pattern, name)) [18:01:59.431] next [18:01:59.431] invokeRestart(restart) [18:01:59.431] muffled <- TRUE [18:01:59.431] break [18:01:59.431] } [18:01:59.431] } [18:01:59.431] } [18:01:59.431] invisible(muffled) [18:01:59.431] } [18:01:59.431] muffleCondition(cond, pattern = "^muffle") [18:01:59.431] } [18:01:59.431] } [18:01:59.431] else { [18:01:59.431] if (TRUE) { [18:01:59.431] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.431] { [18:01:59.431] inherits <- base::inherits [18:01:59.431] invokeRestart <- base::invokeRestart [18:01:59.431] is.null <- base::is.null [18:01:59.431] muffled <- FALSE [18:01:59.431] if (inherits(cond, "message")) { [18:01:59.431] muffled <- grepl(pattern, "muffleMessage") [18:01:59.431] if (muffled) [18:01:59.431] invokeRestart("muffleMessage") [18:01:59.431] } [18:01:59.431] else if (inherits(cond, "warning")) { [18:01:59.431] muffled <- grepl(pattern, "muffleWarning") [18:01:59.431] if (muffled) [18:01:59.431] invokeRestart("muffleWarning") [18:01:59.431] } [18:01:59.431] else if (inherits(cond, "condition")) { [18:01:59.431] if (!is.null(pattern)) { [18:01:59.431] computeRestarts <- base::computeRestarts [18:01:59.431] grepl <- base::grepl [18:01:59.431] restarts <- computeRestarts(cond) [18:01:59.431] for (restart in restarts) { [18:01:59.431] name <- restart$name [18:01:59.431] if (is.null(name)) [18:01:59.431] next [18:01:59.431] if (!grepl(pattern, name)) [18:01:59.431] next [18:01:59.431] invokeRestart(restart) [18:01:59.431] muffled <- TRUE [18:01:59.431] break [18:01:59.431] } [18:01:59.431] } [18:01:59.431] } [18:01:59.431] invisible(muffled) [18:01:59.431] } [18:01:59.431] muffleCondition(cond, pattern = "^muffle") [18:01:59.431] } [18:01:59.431] } [18:01:59.431] } [18:01:59.431] })) [18:01:59.431] }, error = function(ex) { [18:01:59.431] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.431] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.431] ...future.rng), started = ...future.startTime, [18:01:59.431] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.431] version = "1.8"), class = "FutureResult") [18:01:59.431] }, finally = { [18:01:59.431] if (!identical(...future.workdir, getwd())) [18:01:59.431] setwd(...future.workdir) [18:01:59.431] { [18:01:59.431] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.431] ...future.oldOptions$nwarnings <- NULL [18:01:59.431] } [18:01:59.431] base::options(...future.oldOptions) [18:01:59.431] if (.Platform$OS.type == "windows") { [18:01:59.431] old_names <- names(...future.oldEnvVars) [18:01:59.431] envs <- base::Sys.getenv() [18:01:59.431] names <- names(envs) [18:01:59.431] common <- intersect(names, old_names) [18:01:59.431] added <- setdiff(names, old_names) [18:01:59.431] removed <- setdiff(old_names, names) [18:01:59.431] changed <- common[...future.oldEnvVars[common] != [18:01:59.431] envs[common]] [18:01:59.431] NAMES <- toupper(changed) [18:01:59.431] args <- list() [18:01:59.431] for (kk in seq_along(NAMES)) { [18:01:59.431] name <- changed[[kk]] [18:01:59.431] NAME <- NAMES[[kk]] [18:01:59.431] if (name != NAME && is.element(NAME, old_names)) [18:01:59.431] next [18:01:59.431] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.431] } [18:01:59.431] NAMES <- toupper(added) [18:01:59.431] for (kk in seq_along(NAMES)) { [18:01:59.431] name <- added[[kk]] [18:01:59.431] NAME <- NAMES[[kk]] [18:01:59.431] if (name != NAME && is.element(NAME, old_names)) [18:01:59.431] next [18:01:59.431] args[[name]] <- "" [18:01:59.431] } [18:01:59.431] NAMES <- toupper(removed) [18:01:59.431] for (kk in seq_along(NAMES)) { [18:01:59.431] name <- removed[[kk]] [18:01:59.431] NAME <- NAMES[[kk]] [18:01:59.431] if (name != NAME && is.element(NAME, old_names)) [18:01:59.431] next [18:01:59.431] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.431] } [18:01:59.431] if (length(args) > 0) [18:01:59.431] base::do.call(base::Sys.setenv, args = args) [18:01:59.431] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.431] } [18:01:59.431] else { [18:01:59.431] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.431] } [18:01:59.431] { [18:01:59.431] if (base::length(...future.futureOptionsAdded) > [18:01:59.431] 0L) { [18:01:59.431] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.431] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.431] base::options(opts) [18:01:59.431] } [18:01:59.431] { [18:01:59.431] { [18:01:59.431] NULL [18:01:59.431] RNGkind("Mersenne-Twister") [18:01:59.431] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.431] inherits = FALSE) [18:01:59.431] } [18:01:59.431] options(future.plan = NULL) [18:01:59.431] if (is.na(NA_character_)) [18:01:59.431] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.431] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.431] future::plan(list(function (..., envir = parent.frame()) [18:01:59.431] { [18:01:59.431] future <- SequentialFuture(..., envir = envir) [18:01:59.431] if (!future$lazy) [18:01:59.431] future <- run(future) [18:01:59.431] invisible(future) [18:01:59.431] }), .cleanup = FALSE, .init = FALSE) [18:01:59.431] } [18:01:59.431] } [18:01:59.431] } [18:01:59.431] }) [18:01:59.431] if (TRUE) { [18:01:59.431] base::sink(type = "output", split = FALSE) [18:01:59.431] if (TRUE) { [18:01:59.431] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.431] } [18:01:59.431] else { [18:01:59.431] ...future.result["stdout"] <- base::list(NULL) [18:01:59.431] } [18:01:59.431] base::close(...future.stdout) [18:01:59.431] ...future.stdout <- NULL [18:01:59.431] } [18:01:59.431] ...future.result$conditions <- ...future.conditions [18:01:59.431] ...future.result$finished <- base::Sys.time() [18:01:59.431] ...future.result [18:01:59.431] } [18:01:59.435] plan(): Setting new future strategy stack: [18:01:59.435] List of future strategies: [18:01:59.435] 1. sequential: [18:01:59.435] - args: function (..., envir = parent.frame()) [18:01:59.435] - tweaked: FALSE [18:01:59.435] - call: NULL [18:01:59.435] plan(): nbrOfWorkers() = 1 [18:01:59.437] plan(): Setting new future strategy stack: [18:01:59.437] List of future strategies: [18:01:59.437] 1. sequential: [18:01:59.437] - args: function (..., envir = parent.frame()) [18:01:59.437] - tweaked: FALSE [18:01:59.437] - call: plan(strategy) [18:01:59.438] plan(): nbrOfWorkers() = 1 [18:01:59.438] SequentialFuture started (and completed) [18:01:59.438] signalConditions() ... [18:01:59.438] - include = 'immediateCondition' [18:01:59.438] - exclude = [18:01:59.438] - resignal = FALSE [18:01:59.439] - Number of conditions: 1 [18:01:59.439] signalConditions() ... done [18:01:59.439] - Launch lazy future ... done [18:01:59.439] run() for 'SequentialFuture' ... done [18:01:59.439] signalConditions() ... [18:01:59.440] - include = 'immediateCondition' [18:01:59.440] - exclude = [18:01:59.440] - resignal = FALSE [18:01:59.440] - Number of conditions: 1 [18:01:59.440] signalConditions() ... done [18:01:59.440] Future state: 'finished' [18:01:59.441] signalConditions() ... [18:01:59.441] - include = 'condition' [18:01:59.441] - exclude = 'immediateCondition' [18:01:59.441] - resignal = TRUE [18:01:59.441] - Number of conditions: 1 [18:01:59.441] - Condition #1: 'simpleError', 'error', 'condition' [18:01:59.442] 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 "2023" .. .. .. .. ..$ month : chr "06" .. .. .. .. ..$ day : chr "30" .. .. .. .. ..$ svn rev : chr "84625" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2023-06-30 r84625 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: "2023-07-01 18:01:59" .. .. ..$ signaled : int 1 .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" Warning: 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' [18:01:59.464] getGlobalsAndPackages() ... Warning: 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' [18:01:59.464] Searching for globals... Warning: 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' [18:01:59.466] - globals found: [4] '{', '<-', '*', 'ii' [18:01:59.466] Searching for globals ... DONE [18:01:59.466] Resolving globals: TRUE [18:01:59.467] Resolving any globals that are futures ... [18:01:59.467] - globals: [4] '{', '<-', '*', 'ii' [18:01:59.467] Resolving any globals that are futures ... DONE [18:01:59.467] Resolving futures part of globals (recursively) ... [18:01:59.468] resolve() on list ... [18:01:59.468] recursive: 99 [18:01:59.469] length: 1 [18:01:59.469] elements: 'ii' [18:01:59.469] length: 0 (resolved future 1) [18:01:59.469] resolve() on list ... DONE [18:01:59.470] - globals: [1] 'ii' [18:01:59.470] Resolving futures part of globals (recursively) ... DONE [18:01:59.470] The total size of the 1 globals is 56 bytes (56 bytes) [18:01:59.471] 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') [18:01:59.471] - globals: [1] 'ii' [18:01:59.471] [18:01:59.471] getGlobalsAndPackages() ... DONE [18:01:59.472] run() for 'Future' ... [18:01:59.472] - state: 'created' [18:01:59.472] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.472] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.473] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.473] - Field: 'label' [18:01:59.473] - Field: 'local' [18:01:59.473] - Field: 'owner' [18:01:59.473] - Field: 'envir' [18:01:59.474] - Field: 'packages' [18:01:59.474] - Field: 'gc' [18:01:59.474] - Field: 'conditions' [18:01:59.474] - Field: 'expr' [18:01:59.474] - Field: 'uuid' [18:01:59.474] - Field: 'seed' [18:01:59.475] - Field: 'version' [18:01:59.475] - Field: 'result' [18:01:59.475] - Field: 'asynchronous' [18:01:59.475] - Field: 'calls' [18:01:59.475] - Field: 'globals' [18:01:59.476] - Field: 'stdout' [18:01:59.476] - Field: 'earlySignal' [18:01:59.476] - Field: 'lazy' [18:01:59.476] - Field: 'state' [18:01:59.476] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.476] - Launch lazy future ... [18:01:59.477] Packages needed by the future expression (n = 0): [18:01:59.477] Packages needed by future strategies (n = 0): [18:01:59.477] { [18:01:59.477] { [18:01:59.477] { [18:01:59.477] ...future.startTime <- base::Sys.time() [18:01:59.477] { [18:01:59.477] { [18:01:59.477] { [18:01:59.477] base::local({ [18:01:59.477] has_future <- base::requireNamespace("future", [18:01:59.477] quietly = TRUE) [18:01:59.477] if (has_future) { [18:01:59.477] ns <- base::getNamespace("future") [18:01:59.477] version <- ns[[".package"]][["version"]] [18:01:59.477] if (is.null(version)) [18:01:59.477] version <- utils::packageVersion("future") [18:01:59.477] } [18:01:59.477] else { [18:01:59.477] version <- NULL [18:01:59.477] } [18:01:59.477] if (!has_future || version < "1.8.0") { [18:01:59.477] info <- base::c(r_version = base::gsub("R version ", [18:01:59.477] "", base::R.version$version.string), [18:01:59.477] platform = base::sprintf("%s (%s-bit)", [18:01:59.477] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.477] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.477] "release", "version")], collapse = " "), [18:01:59.477] hostname = base::Sys.info()[["nodename"]]) [18:01:59.477] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.477] info) [18:01:59.477] info <- base::paste(info, collapse = "; ") [18:01:59.477] if (!has_future) { [18:01:59.477] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.477] info) [18:01:59.477] } [18:01:59.477] else { [18:01:59.477] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.477] info, version) [18:01:59.477] } [18:01:59.477] base::stop(msg) [18:01:59.477] } [18:01:59.477] }) [18:01:59.477] } [18:01:59.477] options(future.plan = NULL) [18:01:59.477] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.477] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.477] } [18:01:59.477] ...future.workdir <- getwd() [18:01:59.477] } [18:01:59.477] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.477] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.477] } [18:01:59.477] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.477] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.477] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.477] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.477] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.477] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.477] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.477] base::names(...future.oldOptions)) [18:01:59.477] } [18:01:59.477] if (FALSE) { [18:01:59.477] } [18:01:59.477] else { [18:01:59.477] if (TRUE) { [18:01:59.477] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.477] open = "w") [18:01:59.477] } [18:01:59.477] else { [18:01:59.477] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.477] windows = "NUL", "/dev/null"), open = "w") [18:01:59.477] } [18:01:59.477] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.477] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.477] base::sink(type = "output", split = FALSE) [18:01:59.477] base::close(...future.stdout) [18:01:59.477] }, add = TRUE) [18:01:59.477] } [18:01:59.477] ...future.frame <- base::sys.nframe() [18:01:59.477] ...future.conditions <- base::list() [18:01:59.477] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.477] if (FALSE) { [18:01:59.477] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.477] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.477] } [18:01:59.477] ...future.result <- base::tryCatch({ [18:01:59.477] base::withCallingHandlers({ [18:01:59.477] ...future.value <- base::withVisible(base::local({ [18:01:59.477] b <- a * ii [18:01:59.477] a <- 0 [18:01:59.477] b [18:01:59.477] })) [18:01:59.477] future::FutureResult(value = ...future.value$value, [18:01:59.477] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.477] ...future.rng), globalenv = if (FALSE) [18:01:59.477] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.477] ...future.globalenv.names)) [18:01:59.477] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.477] }, condition = base::local({ [18:01:59.477] c <- base::c [18:01:59.477] inherits <- base::inherits [18:01:59.477] invokeRestart <- base::invokeRestart [18:01:59.477] length <- base::length [18:01:59.477] list <- base::list [18:01:59.477] seq.int <- base::seq.int [18:01:59.477] signalCondition <- base::signalCondition [18:01:59.477] sys.calls <- base::sys.calls [18:01:59.477] `[[` <- base::`[[` [18:01:59.477] `+` <- base::`+` [18:01:59.477] `<<-` <- base::`<<-` [18:01:59.477] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.477] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.477] 3L)] [18:01:59.477] } [18:01:59.477] function(cond) { [18:01:59.477] is_error <- inherits(cond, "error") [18:01:59.477] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.477] NULL) [18:01:59.477] if (is_error) { [18:01:59.477] sessionInformation <- function() { [18:01:59.477] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.477] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.477] search = base::search(), system = base::Sys.info()) [18:01:59.477] } [18:01:59.477] ...future.conditions[[length(...future.conditions) + [18:01:59.477] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.477] cond$call), session = sessionInformation(), [18:01:59.477] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.477] signalCondition(cond) [18:01:59.477] } [18:01:59.477] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.477] "immediateCondition"))) { [18:01:59.477] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.477] ...future.conditions[[length(...future.conditions) + [18:01:59.477] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.477] if (TRUE && !signal) { [18:01:59.477] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.477] { [18:01:59.477] inherits <- base::inherits [18:01:59.477] invokeRestart <- base::invokeRestart [18:01:59.477] is.null <- base::is.null [18:01:59.477] muffled <- FALSE [18:01:59.477] if (inherits(cond, "message")) { [18:01:59.477] muffled <- grepl(pattern, "muffleMessage") [18:01:59.477] if (muffled) [18:01:59.477] invokeRestart("muffleMessage") [18:01:59.477] } [18:01:59.477] else if (inherits(cond, "warning")) { [18:01:59.477] muffled <- grepl(pattern, "muffleWarning") [18:01:59.477] if (muffled) [18:01:59.477] invokeRestart("muffleWarning") [18:01:59.477] } [18:01:59.477] else if (inherits(cond, "condition")) { [18:01:59.477] if (!is.null(pattern)) { [18:01:59.477] computeRestarts <- base::computeRestarts [18:01:59.477] grepl <- base::grepl [18:01:59.477] restarts <- computeRestarts(cond) [18:01:59.477] for (restart in restarts) { [18:01:59.477] name <- restart$name [18:01:59.477] if (is.null(name)) [18:01:59.477] next [18:01:59.477] if (!grepl(pattern, name)) [18:01:59.477] next [18:01:59.477] invokeRestart(restart) [18:01:59.477] muffled <- TRUE [18:01:59.477] break [18:01:59.477] } [18:01:59.477] } [18:01:59.477] } [18:01:59.477] invisible(muffled) [18:01:59.477] } [18:01:59.477] muffleCondition(cond, pattern = "^muffle") [18:01:59.477] } [18:01:59.477] } [18:01:59.477] else { [18:01:59.477] if (TRUE) { [18:01:59.477] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.477] { [18:01:59.477] inherits <- base::inherits [18:01:59.477] invokeRestart <- base::invokeRestart [18:01:59.477] is.null <- base::is.null [18:01:59.477] muffled <- FALSE [18:01:59.477] if (inherits(cond, "message")) { [18:01:59.477] muffled <- grepl(pattern, "muffleMessage") [18:01:59.477] if (muffled) [18:01:59.477] invokeRestart("muffleMessage") [18:01:59.477] } [18:01:59.477] else if (inherits(cond, "warning")) { [18:01:59.477] muffled <- grepl(pattern, "muffleWarning") [18:01:59.477] if (muffled) [18:01:59.477] invokeRestart("muffleWarning") [18:01:59.477] } [18:01:59.477] else if (inherits(cond, "condition")) { [18:01:59.477] if (!is.null(pattern)) { [18:01:59.477] computeRestarts <- base::computeRestarts [18:01:59.477] grepl <- base::grepl [18:01:59.477] restarts <- computeRestarts(cond) [18:01:59.477] for (restart in restarts) { [18:01:59.477] name <- restart$name [18:01:59.477] if (is.null(name)) [18:01:59.477] next [18:01:59.477] if (!grepl(pattern, name)) [18:01:59.477] next [18:01:59.477] invokeRestart(restart) [18:01:59.477] muffled <- TRUE [18:01:59.477] break [18:01:59.477] } [18:01:59.477] } [18:01:59.477] } [18:01:59.477] invisible(muffled) [18:01:59.477] } [18:01:59.477] muffleCondition(cond, pattern = "^muffle") [18:01:59.477] } [18:01:59.477] } [18:01:59.477] } [18:01:59.477] })) [18:01:59.477] }, error = function(ex) { [18:01:59.477] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.477] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.477] ...future.rng), started = ...future.startTime, [18:01:59.477] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.477] version = "1.8"), class = "FutureResult") [18:01:59.477] }, finally = { [18:01:59.477] if (!identical(...future.workdir, getwd())) [18:01:59.477] setwd(...future.workdir) [18:01:59.477] { [18:01:59.477] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.477] ...future.oldOptions$nwarnings <- NULL [18:01:59.477] } [18:01:59.477] base::options(...future.oldOptions) [18:01:59.477] if (.Platform$OS.type == "windows") { [18:01:59.477] old_names <- names(...future.oldEnvVars) [18:01:59.477] envs <- base::Sys.getenv() [18:01:59.477] names <- names(envs) [18:01:59.477] common <- intersect(names, old_names) [18:01:59.477] added <- setdiff(names, old_names) [18:01:59.477] removed <- setdiff(old_names, names) [18:01:59.477] changed <- common[...future.oldEnvVars[common] != [18:01:59.477] envs[common]] [18:01:59.477] NAMES <- toupper(changed) [18:01:59.477] args <- list() [18:01:59.477] for (kk in seq_along(NAMES)) { [18:01:59.477] name <- changed[[kk]] [18:01:59.477] NAME <- NAMES[[kk]] [18:01:59.477] if (name != NAME && is.element(NAME, old_names)) [18:01:59.477] next [18:01:59.477] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.477] } [18:01:59.477] NAMES <- toupper(added) [18:01:59.477] for (kk in seq_along(NAMES)) { [18:01:59.477] name <- added[[kk]] [18:01:59.477] NAME <- NAMES[[kk]] [18:01:59.477] if (name != NAME && is.element(NAME, old_names)) [18:01:59.477] next [18:01:59.477] args[[name]] <- "" [18:01:59.477] } [18:01:59.477] NAMES <- toupper(removed) [18:01:59.477] for (kk in seq_along(NAMES)) { [18:01:59.477] name <- removed[[kk]] [18:01:59.477] NAME <- NAMES[[kk]] [18:01:59.477] if (name != NAME && is.element(NAME, old_names)) [18:01:59.477] next [18:01:59.477] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.477] } [18:01:59.477] if (length(args) > 0) [18:01:59.477] base::do.call(base::Sys.setenv, args = args) [18:01:59.477] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.477] } [18:01:59.477] else { [18:01:59.477] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.477] } [18:01:59.477] { [18:01:59.477] if (base::length(...future.futureOptionsAdded) > [18:01:59.477] 0L) { [18:01:59.477] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.477] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.477] base::options(opts) [18:01:59.477] } [18:01:59.477] { [18:01:59.477] { [18:01:59.477] NULL [18:01:59.477] RNGkind("Mersenne-Twister") [18:01:59.477] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.477] inherits = FALSE) [18:01:59.477] } [18:01:59.477] options(future.plan = NULL) [18:01:59.477] if (is.na(NA_character_)) [18:01:59.477] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.477] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.477] future::plan(list(function (..., envir = parent.frame()) [18:01:59.477] { [18:01:59.477] future <- SequentialFuture(..., envir = envir) [18:01:59.477] if (!future$lazy) [18:01:59.477] future <- run(future) [18:01:59.477] invisible(future) [18:01:59.477] }), .cleanup = FALSE, .init = FALSE) [18:01:59.477] } [18:01:59.477] } [18:01:59.477] } [18:01:59.477] }) [18:01:59.477] if (TRUE) { [18:01:59.477] base::sink(type = "output", split = FALSE) [18:01:59.477] if (TRUE) { [18:01:59.477] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.477] } [18:01:59.477] else { [18:01:59.477] ...future.result["stdout"] <- base::list(NULL) [18:01:59.477] } [18:01:59.477] base::close(...future.stdout) [18:01:59.477] ...future.stdout <- NULL [18:01:59.477] } [18:01:59.477] ...future.result$conditions <- ...future.conditions [18:01:59.477] ...future.result$finished <- base::Sys.time() [18:01:59.477] ...future.result [18:01:59.477] } [18:01:59.481] assign_globals() ... [18:01:59.481] List of 1 [18:01:59.481] $ ii: int 1 [18:01:59.481] - attr(*, "where")=List of 1 [18:01:59.481] ..$ ii: [18:01:59.481] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.481] - attr(*, "resolved")= logi TRUE [18:01:59.481] - attr(*, "total_size")= num 56 [18:01:59.481] - attr(*, "already-done")= logi TRUE [18:01:59.484] - copied 'ii' to environment [18:01:59.485] assign_globals() ... done [18:01:59.485] plan(): Setting new future strategy stack: [18:01:59.485] List of future strategies: [18:01:59.485] 1. sequential: [18:01:59.485] - args: function (..., envir = parent.frame()) [18:01:59.485] - tweaked: FALSE [18:01:59.485] - call: NULL [18:01:59.486] plan(): nbrOfWorkers() = 1 [18:01:59.488] plan(): Setting new future strategy stack: [18:01:59.488] List of future strategies: [18:01:59.488] 1. sequential: [18:01:59.488] - args: function (..., envir = parent.frame()) [18:01:59.488] - tweaked: FALSE [18:01:59.488] - call: plan(strategy) [18:01:59.489] plan(): nbrOfWorkers() = 1 [18:01:59.489] SequentialFuture started (and completed) [18:01:59.489] - Launch lazy future ... done [18:01:59.489] run() for 'SequentialFuture' ... done Warning: 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' [18:01:59.490] getGlobalsAndPackages() ... Warning: 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' [18:01:59.490] Searching for globals... Warning: 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' [18:01:59.492] - globals found: [4] '{', '<-', '*', 'ii' [18:01:59.492] Searching for globals ... DONE [18:01:59.492] Resolving globals: TRUE [18:01:59.492] Resolving any globals that are futures ... [18:01:59.492] - globals: [4] '{', '<-', '*', 'ii' [18:01:59.493] Resolving any globals that are futures ... DONE [18:01:59.493] Resolving futures part of globals (recursively) ... [18:01:59.493] resolve() on list ... [18:01:59.494] recursive: 99 [18:01:59.494] length: 1 [18:01:59.494] elements: 'ii' [18:01:59.494] length: 0 (resolved future 1) [18:01:59.494] resolve() on list ... DONE [18:01:59.494] - globals: [1] 'ii' [18:01:59.495] Resolving futures part of globals (recursively) ... DONE [18:01:59.495] The total size of the 1 globals is 56 bytes (56 bytes) [18:01:59.495] 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') [18:01:59.495] - globals: [1] 'ii' [18:01:59.496] [18:01:59.496] getGlobalsAndPackages() ... DONE [18:01:59.496] run() for 'Future' ... [18:01:59.496] - state: 'created' [18:01:59.496] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.497] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.497] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.497] - Field: 'label' [18:01:59.497] - Field: 'local' [18:01:59.498] - Field: 'owner' [18:01:59.498] - Field: 'envir' [18:01:59.498] - Field: 'packages' [18:01:59.498] - Field: 'gc' [18:01:59.498] - Field: 'conditions' [18:01:59.498] - Field: 'expr' [18:01:59.499] - Field: 'uuid' [18:01:59.499] - Field: 'seed' [18:01:59.499] - Field: 'version' [18:01:59.499] - Field: 'result' [18:01:59.499] - Field: 'asynchronous' [18:01:59.499] - Field: 'calls' [18:01:59.500] - Field: 'globals' [18:01:59.500] - Field: 'stdout' [18:01:59.500] - Field: 'earlySignal' [18:01:59.500] - Field: 'lazy' [18:01:59.500] - Field: 'state' [18:01:59.500] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.501] - Launch lazy future ... [18:01:59.501] Packages needed by the future expression (n = 0): [18:01:59.501] Packages needed by future strategies (n = 0): [18:01:59.502] { [18:01:59.502] { [18:01:59.502] { [18:01:59.502] ...future.startTime <- base::Sys.time() [18:01:59.502] { [18:01:59.502] { [18:01:59.502] { [18:01:59.502] base::local({ [18:01:59.502] has_future <- base::requireNamespace("future", [18:01:59.502] quietly = TRUE) [18:01:59.502] if (has_future) { [18:01:59.502] ns <- base::getNamespace("future") [18:01:59.502] version <- ns[[".package"]][["version"]] [18:01:59.502] if (is.null(version)) [18:01:59.502] version <- utils::packageVersion("future") [18:01:59.502] } [18:01:59.502] else { [18:01:59.502] version <- NULL [18:01:59.502] } [18:01:59.502] if (!has_future || version < "1.8.0") { [18:01:59.502] info <- base::c(r_version = base::gsub("R version ", [18:01:59.502] "", base::R.version$version.string), [18:01:59.502] platform = base::sprintf("%s (%s-bit)", [18:01:59.502] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.502] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.502] "release", "version")], collapse = " "), [18:01:59.502] hostname = base::Sys.info()[["nodename"]]) [18:01:59.502] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.502] info) [18:01:59.502] info <- base::paste(info, collapse = "; ") [18:01:59.502] if (!has_future) { [18:01:59.502] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.502] info) [18:01:59.502] } [18:01:59.502] else { [18:01:59.502] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.502] info, version) [18:01:59.502] } [18:01:59.502] base::stop(msg) [18:01:59.502] } [18:01:59.502] }) [18:01:59.502] } [18:01:59.502] options(future.plan = NULL) [18:01:59.502] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.502] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.502] } [18:01:59.502] ...future.workdir <- getwd() [18:01:59.502] } [18:01:59.502] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.502] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.502] } [18:01:59.502] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.502] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.502] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.502] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.502] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.502] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.502] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.502] base::names(...future.oldOptions)) [18:01:59.502] } [18:01:59.502] if (FALSE) { [18:01:59.502] } [18:01:59.502] else { [18:01:59.502] if (TRUE) { [18:01:59.502] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.502] open = "w") [18:01:59.502] } [18:01:59.502] else { [18:01:59.502] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.502] windows = "NUL", "/dev/null"), open = "w") [18:01:59.502] } [18:01:59.502] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.502] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.502] base::sink(type = "output", split = FALSE) [18:01:59.502] base::close(...future.stdout) [18:01:59.502] }, add = TRUE) [18:01:59.502] } [18:01:59.502] ...future.frame <- base::sys.nframe() [18:01:59.502] ...future.conditions <- base::list() [18:01:59.502] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.502] if (FALSE) { [18:01:59.502] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.502] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.502] } [18:01:59.502] ...future.result <- base::tryCatch({ [18:01:59.502] base::withCallingHandlers({ [18:01:59.502] ...future.value <- base::withVisible(base::local({ [18:01:59.502] b <- a * ii [18:01:59.502] a <- 0 [18:01:59.502] b [18:01:59.502] })) [18:01:59.502] future::FutureResult(value = ...future.value$value, [18:01:59.502] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.502] ...future.rng), globalenv = if (FALSE) [18:01:59.502] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.502] ...future.globalenv.names)) [18:01:59.502] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.502] }, condition = base::local({ [18:01:59.502] c <- base::c [18:01:59.502] inherits <- base::inherits [18:01:59.502] invokeRestart <- base::invokeRestart [18:01:59.502] length <- base::length [18:01:59.502] list <- base::list [18:01:59.502] seq.int <- base::seq.int [18:01:59.502] signalCondition <- base::signalCondition [18:01:59.502] sys.calls <- base::sys.calls [18:01:59.502] `[[` <- base::`[[` [18:01:59.502] `+` <- base::`+` [18:01:59.502] `<<-` <- base::`<<-` [18:01:59.502] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.502] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.502] 3L)] [18:01:59.502] } [18:01:59.502] function(cond) { [18:01:59.502] is_error <- inherits(cond, "error") [18:01:59.502] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.502] NULL) [18:01:59.502] if (is_error) { [18:01:59.502] sessionInformation <- function() { [18:01:59.502] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.502] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.502] search = base::search(), system = base::Sys.info()) [18:01:59.502] } [18:01:59.502] ...future.conditions[[length(...future.conditions) + [18:01:59.502] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.502] cond$call), session = sessionInformation(), [18:01:59.502] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.502] signalCondition(cond) [18:01:59.502] } [18:01:59.502] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.502] "immediateCondition"))) { [18:01:59.502] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.502] ...future.conditions[[length(...future.conditions) + [18:01:59.502] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.502] if (TRUE && !signal) { [18:01:59.502] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.502] { [18:01:59.502] inherits <- base::inherits [18:01:59.502] invokeRestart <- base::invokeRestart [18:01:59.502] is.null <- base::is.null [18:01:59.502] muffled <- FALSE [18:01:59.502] if (inherits(cond, "message")) { [18:01:59.502] muffled <- grepl(pattern, "muffleMessage") [18:01:59.502] if (muffled) [18:01:59.502] invokeRestart("muffleMessage") [18:01:59.502] } [18:01:59.502] else if (inherits(cond, "warning")) { [18:01:59.502] muffled <- grepl(pattern, "muffleWarning") [18:01:59.502] if (muffled) [18:01:59.502] invokeRestart("muffleWarning") [18:01:59.502] } [18:01:59.502] else if (inherits(cond, "condition")) { [18:01:59.502] if (!is.null(pattern)) { [18:01:59.502] computeRestarts <- base::computeRestarts [18:01:59.502] grepl <- base::grepl [18:01:59.502] restarts <- computeRestarts(cond) [18:01:59.502] for (restart in restarts) { [18:01:59.502] name <- restart$name [18:01:59.502] if (is.null(name)) [18:01:59.502] next [18:01:59.502] if (!grepl(pattern, name)) [18:01:59.502] next [18:01:59.502] invokeRestart(restart) [18:01:59.502] muffled <- TRUE [18:01:59.502] break [18:01:59.502] } [18:01:59.502] } [18:01:59.502] } [18:01:59.502] invisible(muffled) [18:01:59.502] } [18:01:59.502] muffleCondition(cond, pattern = "^muffle") [18:01:59.502] } [18:01:59.502] } [18:01:59.502] else { [18:01:59.502] if (TRUE) { [18:01:59.502] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.502] { [18:01:59.502] inherits <- base::inherits [18:01:59.502] invokeRestart <- base::invokeRestart [18:01:59.502] is.null <- base::is.null [18:01:59.502] muffled <- FALSE [18:01:59.502] if (inherits(cond, "message")) { [18:01:59.502] muffled <- grepl(pattern, "muffleMessage") [18:01:59.502] if (muffled) [18:01:59.502] invokeRestart("muffleMessage") [18:01:59.502] } [18:01:59.502] else if (inherits(cond, "warning")) { [18:01:59.502] muffled <- grepl(pattern, "muffleWarning") [18:01:59.502] if (muffled) [18:01:59.502] invokeRestart("muffleWarning") [18:01:59.502] } [18:01:59.502] else if (inherits(cond, "condition")) { [18:01:59.502] if (!is.null(pattern)) { [18:01:59.502] computeRestarts <- base::computeRestarts [18:01:59.502] grepl <- base::grepl [18:01:59.502] restarts <- computeRestarts(cond) [18:01:59.502] for (restart in restarts) { [18:01:59.502] name <- restart$name [18:01:59.502] if (is.null(name)) [18:01:59.502] next [18:01:59.502] if (!grepl(pattern, name)) [18:01:59.502] next [18:01:59.502] invokeRestart(restart) [18:01:59.502] muffled <- TRUE [18:01:59.502] break [18:01:59.502] } [18:01:59.502] } [18:01:59.502] } [18:01:59.502] invisible(muffled) [18:01:59.502] } [18:01:59.502] muffleCondition(cond, pattern = "^muffle") [18:01:59.502] } [18:01:59.502] } [18:01:59.502] } [18:01:59.502] })) [18:01:59.502] }, error = function(ex) { [18:01:59.502] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.502] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.502] ...future.rng), started = ...future.startTime, [18:01:59.502] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.502] version = "1.8"), class = "FutureResult") [18:01:59.502] }, finally = { [18:01:59.502] if (!identical(...future.workdir, getwd())) [18:01:59.502] setwd(...future.workdir) [18:01:59.502] { [18:01:59.502] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.502] ...future.oldOptions$nwarnings <- NULL [18:01:59.502] } [18:01:59.502] base::options(...future.oldOptions) [18:01:59.502] if (.Platform$OS.type == "windows") { [18:01:59.502] old_names <- names(...future.oldEnvVars) [18:01:59.502] envs <- base::Sys.getenv() [18:01:59.502] names <- names(envs) [18:01:59.502] common <- intersect(names, old_names) [18:01:59.502] added <- setdiff(names, old_names) [18:01:59.502] removed <- setdiff(old_names, names) [18:01:59.502] changed <- common[...future.oldEnvVars[common] != [18:01:59.502] envs[common]] [18:01:59.502] NAMES <- toupper(changed) [18:01:59.502] args <- list() [18:01:59.502] for (kk in seq_along(NAMES)) { [18:01:59.502] name <- changed[[kk]] [18:01:59.502] NAME <- NAMES[[kk]] [18:01:59.502] if (name != NAME && is.element(NAME, old_names)) [18:01:59.502] next [18:01:59.502] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.502] } [18:01:59.502] NAMES <- toupper(added) [18:01:59.502] for (kk in seq_along(NAMES)) { [18:01:59.502] name <- added[[kk]] [18:01:59.502] NAME <- NAMES[[kk]] [18:01:59.502] if (name != NAME && is.element(NAME, old_names)) [18:01:59.502] next [18:01:59.502] args[[name]] <- "" [18:01:59.502] } [18:01:59.502] NAMES <- toupper(removed) [18:01:59.502] for (kk in seq_along(NAMES)) { [18:01:59.502] name <- removed[[kk]] [18:01:59.502] NAME <- NAMES[[kk]] [18:01:59.502] if (name != NAME && is.element(NAME, old_names)) [18:01:59.502] next [18:01:59.502] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.502] } [18:01:59.502] if (length(args) > 0) [18:01:59.502] base::do.call(base::Sys.setenv, args = args) [18:01:59.502] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.502] } [18:01:59.502] else { [18:01:59.502] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.502] } [18:01:59.502] { [18:01:59.502] if (base::length(...future.futureOptionsAdded) > [18:01:59.502] 0L) { [18:01:59.502] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.502] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.502] base::options(opts) [18:01:59.502] } [18:01:59.502] { [18:01:59.502] { [18:01:59.502] NULL [18:01:59.502] RNGkind("Mersenne-Twister") [18:01:59.502] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.502] inherits = FALSE) [18:01:59.502] } [18:01:59.502] options(future.plan = NULL) [18:01:59.502] if (is.na(NA_character_)) [18:01:59.502] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.502] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.502] future::plan(list(function (..., envir = parent.frame()) [18:01:59.502] { [18:01:59.502] future <- SequentialFuture(..., envir = envir) [18:01:59.502] if (!future$lazy) [18:01:59.502] future <- run(future) [18:01:59.502] invisible(future) [18:01:59.502] }), .cleanup = FALSE, .init = FALSE) [18:01:59.502] } [18:01:59.502] } [18:01:59.502] } [18:01:59.502] }) [18:01:59.502] if (TRUE) { [18:01:59.502] base::sink(type = "output", split = FALSE) [18:01:59.502] if (TRUE) { [18:01:59.502] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.502] } [18:01:59.502] else { [18:01:59.502] ...future.result["stdout"] <- base::list(NULL) [18:01:59.502] } [18:01:59.502] base::close(...future.stdout) [18:01:59.502] ...future.stdout <- NULL [18:01:59.502] } [18:01:59.502] ...future.result$conditions <- ...future.conditions [18:01:59.502] ...future.result$finished <- base::Sys.time() [18:01:59.502] ...future.result [18:01:59.502] } [18:01:59.505] assign_globals() ... [18:01:59.505] List of 1 [18:01:59.505] $ ii: int 2 [18:01:59.505] - attr(*, "where")=List of 1 [18:01:59.505] ..$ ii: [18:01:59.505] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.505] - attr(*, "resolved")= logi TRUE [18:01:59.505] - attr(*, "total_size")= num 56 [18:01:59.505] - attr(*, "already-done")= logi TRUE [18:01:59.508] - copied 'ii' to environment [18:01:59.509] assign_globals() ... done [18:01:59.509] plan(): Setting new future strategy stack: [18:01:59.509] List of future strategies: [18:01:59.509] 1. sequential: [18:01:59.509] - args: function (..., envir = parent.frame()) [18:01:59.509] - tweaked: FALSE [18:01:59.509] - call: NULL [18:01:59.510] plan(): nbrOfWorkers() = 1 [18:01:59.511] plan(): Setting new future strategy stack: [18:01:59.511] List of future strategies: [18:01:59.511] 1. sequential: [18:01:59.511] - args: function (..., envir = parent.frame()) [18:01:59.511] - tweaked: FALSE [18:01:59.511] - call: plan(strategy) [18:01:59.511] plan(): nbrOfWorkers() = 1 [18:01:59.512] SequentialFuture started (and completed) [18:01:59.512] - Launch lazy future ... done [18:01:59.512] run() for 'SequentialFuture' ... done Warning: 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' [18:01:59.513] getGlobalsAndPackages() ... Warning: 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' [18:01:59.513] Searching for globals... Warning: 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' [18:01:59.514] - globals found: [4] '{', '<-', '*', 'ii' [18:01:59.515] Searching for globals ... DONE [18:01:59.515] Resolving globals: TRUE [18:01:59.515] Resolving any globals that are futures ... [18:01:59.515] - globals: [4] '{', '<-', '*', 'ii' [18:01:59.515] Resolving any globals that are futures ... DONE [18:01:59.516] Resolving futures part of globals (recursively) ... [18:01:59.516] resolve() on list ... [18:01:59.516] recursive: 99 [18:01:59.516] length: 1 [18:01:59.517] elements: 'ii' [18:01:59.517] length: 0 (resolved future 1) [18:01:59.517] resolve() on list ... DONE [18:01:59.517] - globals: [1] 'ii' [18:01:59.517] Resolving futures part of globals (recursively) ... DONE [18:01:59.517] The total size of the 1 globals is 56 bytes (56 bytes) [18:01:59.518] 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') [18:01:59.518] - globals: [1] 'ii' [18:01:59.518] [18:01:59.518] getGlobalsAndPackages() ... DONE [18:01:59.519] run() for 'Future' ... [18:01:59.519] - state: 'created' [18:01:59.519] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.519] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.520] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.520] - Field: 'label' [18:01:59.520] - Field: 'local' [18:01:59.520] - Field: 'owner' [18:01:59.520] - Field: 'envir' [18:01:59.520] - Field: 'packages' [18:01:59.521] - Field: 'gc' [18:01:59.521] - Field: 'conditions' [18:01:59.521] - Field: 'expr' [18:01:59.521] - Field: 'uuid' [18:01:59.521] - Field: 'seed' [18:01:59.522] - Field: 'version' [18:01:59.522] - Field: 'result' [18:01:59.522] - Field: 'asynchronous' [18:01:59.522] - Field: 'calls' [18:01:59.522] - Field: 'globals' [18:01:59.522] - Field: 'stdout' [18:01:59.523] - Field: 'earlySignal' [18:01:59.523] - Field: 'lazy' [18:01:59.524] - Field: 'state' [18:01:59.524] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.524] - Launch lazy future ... [18:01:59.525] Packages needed by the future expression (n = 0): [18:01:59.525] Packages needed by future strategies (n = 0): [18:01:59.525] { [18:01:59.525] { [18:01:59.525] { [18:01:59.525] ...future.startTime <- base::Sys.time() [18:01:59.525] { [18:01:59.525] { [18:01:59.525] { [18:01:59.525] base::local({ [18:01:59.525] has_future <- base::requireNamespace("future", [18:01:59.525] quietly = TRUE) [18:01:59.525] if (has_future) { [18:01:59.525] ns <- base::getNamespace("future") [18:01:59.525] version <- ns[[".package"]][["version"]] [18:01:59.525] if (is.null(version)) [18:01:59.525] version <- utils::packageVersion("future") [18:01:59.525] } [18:01:59.525] else { [18:01:59.525] version <- NULL [18:01:59.525] } [18:01:59.525] if (!has_future || version < "1.8.0") { [18:01:59.525] info <- base::c(r_version = base::gsub("R version ", [18:01:59.525] "", base::R.version$version.string), [18:01:59.525] platform = base::sprintf("%s (%s-bit)", [18:01:59.525] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.525] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.525] "release", "version")], collapse = " "), [18:01:59.525] hostname = base::Sys.info()[["nodename"]]) [18:01:59.525] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.525] info) [18:01:59.525] info <- base::paste(info, collapse = "; ") [18:01:59.525] if (!has_future) { [18:01:59.525] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.525] info) [18:01:59.525] } [18:01:59.525] else { [18:01:59.525] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.525] info, version) [18:01:59.525] } [18:01:59.525] base::stop(msg) [18:01:59.525] } [18:01:59.525] }) [18:01:59.525] } [18:01:59.525] options(future.plan = NULL) [18:01:59.525] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.525] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.525] } [18:01:59.525] ...future.workdir <- getwd() [18:01:59.525] } [18:01:59.525] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.525] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.525] } [18:01:59.525] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.525] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.525] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.525] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.525] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.525] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.525] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.525] base::names(...future.oldOptions)) [18:01:59.525] } [18:01:59.525] if (FALSE) { [18:01:59.525] } [18:01:59.525] else { [18:01:59.525] if (TRUE) { [18:01:59.525] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.525] open = "w") [18:01:59.525] } [18:01:59.525] else { [18:01:59.525] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.525] windows = "NUL", "/dev/null"), open = "w") [18:01:59.525] } [18:01:59.525] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.525] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.525] base::sink(type = "output", split = FALSE) [18:01:59.525] base::close(...future.stdout) [18:01:59.525] }, add = TRUE) [18:01:59.525] } [18:01:59.525] ...future.frame <- base::sys.nframe() [18:01:59.525] ...future.conditions <- base::list() [18:01:59.525] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.525] if (FALSE) { [18:01:59.525] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.525] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.525] } [18:01:59.525] ...future.result <- base::tryCatch({ [18:01:59.525] base::withCallingHandlers({ [18:01:59.525] ...future.value <- base::withVisible(base::local({ [18:01:59.525] b <- a * ii [18:01:59.525] a <- 0 [18:01:59.525] b [18:01:59.525] })) [18:01:59.525] future::FutureResult(value = ...future.value$value, [18:01:59.525] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.525] ...future.rng), globalenv = if (FALSE) [18:01:59.525] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.525] ...future.globalenv.names)) [18:01:59.525] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.525] }, condition = base::local({ [18:01:59.525] c <- base::c [18:01:59.525] inherits <- base::inherits [18:01:59.525] invokeRestart <- base::invokeRestart [18:01:59.525] length <- base::length [18:01:59.525] list <- base::list [18:01:59.525] seq.int <- base::seq.int [18:01:59.525] signalCondition <- base::signalCondition [18:01:59.525] sys.calls <- base::sys.calls [18:01:59.525] `[[` <- base::`[[` [18:01:59.525] `+` <- base::`+` [18:01:59.525] `<<-` <- base::`<<-` [18:01:59.525] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.525] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.525] 3L)] [18:01:59.525] } [18:01:59.525] function(cond) { [18:01:59.525] is_error <- inherits(cond, "error") [18:01:59.525] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.525] NULL) [18:01:59.525] if (is_error) { [18:01:59.525] sessionInformation <- function() { [18:01:59.525] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.525] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.525] search = base::search(), system = base::Sys.info()) [18:01:59.525] } [18:01:59.525] ...future.conditions[[length(...future.conditions) + [18:01:59.525] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.525] cond$call), session = sessionInformation(), [18:01:59.525] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.525] signalCondition(cond) [18:01:59.525] } [18:01:59.525] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.525] "immediateCondition"))) { [18:01:59.525] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.525] ...future.conditions[[length(...future.conditions) + [18:01:59.525] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.525] if (TRUE && !signal) { [18:01:59.525] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.525] { [18:01:59.525] inherits <- base::inherits [18:01:59.525] invokeRestart <- base::invokeRestart [18:01:59.525] is.null <- base::is.null [18:01:59.525] muffled <- FALSE [18:01:59.525] if (inherits(cond, "message")) { [18:01:59.525] muffled <- grepl(pattern, "muffleMessage") [18:01:59.525] if (muffled) [18:01:59.525] invokeRestart("muffleMessage") [18:01:59.525] } [18:01:59.525] else if (inherits(cond, "warning")) { [18:01:59.525] muffled <- grepl(pattern, "muffleWarning") [18:01:59.525] if (muffled) [18:01:59.525] invokeRestart("muffleWarning") [18:01:59.525] } [18:01:59.525] else if (inherits(cond, "condition")) { [18:01:59.525] if (!is.null(pattern)) { [18:01:59.525] computeRestarts <- base::computeRestarts [18:01:59.525] grepl <- base::grepl [18:01:59.525] restarts <- computeRestarts(cond) [18:01:59.525] for (restart in restarts) { [18:01:59.525] name <- restart$name [18:01:59.525] if (is.null(name)) [18:01:59.525] next [18:01:59.525] if (!grepl(pattern, name)) [18:01:59.525] next [18:01:59.525] invokeRestart(restart) [18:01:59.525] muffled <- TRUE [18:01:59.525] break [18:01:59.525] } [18:01:59.525] } [18:01:59.525] } [18:01:59.525] invisible(muffled) [18:01:59.525] } [18:01:59.525] muffleCondition(cond, pattern = "^muffle") [18:01:59.525] } [18:01:59.525] } [18:01:59.525] else { [18:01:59.525] if (TRUE) { [18:01:59.525] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.525] { [18:01:59.525] inherits <- base::inherits [18:01:59.525] invokeRestart <- base::invokeRestart [18:01:59.525] is.null <- base::is.null [18:01:59.525] muffled <- FALSE [18:01:59.525] if (inherits(cond, "message")) { [18:01:59.525] muffled <- grepl(pattern, "muffleMessage") [18:01:59.525] if (muffled) [18:01:59.525] invokeRestart("muffleMessage") [18:01:59.525] } [18:01:59.525] else if (inherits(cond, "warning")) { [18:01:59.525] muffled <- grepl(pattern, "muffleWarning") [18:01:59.525] if (muffled) [18:01:59.525] invokeRestart("muffleWarning") [18:01:59.525] } [18:01:59.525] else if (inherits(cond, "condition")) { [18:01:59.525] if (!is.null(pattern)) { [18:01:59.525] computeRestarts <- base::computeRestarts [18:01:59.525] grepl <- base::grepl [18:01:59.525] restarts <- computeRestarts(cond) [18:01:59.525] for (restart in restarts) { [18:01:59.525] name <- restart$name [18:01:59.525] if (is.null(name)) [18:01:59.525] next [18:01:59.525] if (!grepl(pattern, name)) [18:01:59.525] next [18:01:59.525] invokeRestart(restart) [18:01:59.525] muffled <- TRUE [18:01:59.525] break [18:01:59.525] } [18:01:59.525] } [18:01:59.525] } [18:01:59.525] invisible(muffled) [18:01:59.525] } [18:01:59.525] muffleCondition(cond, pattern = "^muffle") [18:01:59.525] } [18:01:59.525] } [18:01:59.525] } [18:01:59.525] })) [18:01:59.525] }, error = function(ex) { [18:01:59.525] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.525] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.525] ...future.rng), started = ...future.startTime, [18:01:59.525] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.525] version = "1.8"), class = "FutureResult") [18:01:59.525] }, finally = { [18:01:59.525] if (!identical(...future.workdir, getwd())) [18:01:59.525] setwd(...future.workdir) [18:01:59.525] { [18:01:59.525] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.525] ...future.oldOptions$nwarnings <- NULL [18:01:59.525] } [18:01:59.525] base::options(...future.oldOptions) [18:01:59.525] if (.Platform$OS.type == "windows") { [18:01:59.525] old_names <- names(...future.oldEnvVars) [18:01:59.525] envs <- base::Sys.getenv() [18:01:59.525] names <- names(envs) [18:01:59.525] common <- intersect(names, old_names) [18:01:59.525] added <- setdiff(names, old_names) [18:01:59.525] removed <- setdiff(old_names, names) [18:01:59.525] changed <- common[...future.oldEnvVars[common] != [18:01:59.525] envs[common]] [18:01:59.525] NAMES <- toupper(changed) [18:01:59.525] args <- list() [18:01:59.525] for (kk in seq_along(NAMES)) { [18:01:59.525] name <- changed[[kk]] [18:01:59.525] NAME <- NAMES[[kk]] [18:01:59.525] if (name != NAME && is.element(NAME, old_names)) [18:01:59.525] next [18:01:59.525] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.525] } [18:01:59.525] NAMES <- toupper(added) [18:01:59.525] for (kk in seq_along(NAMES)) { [18:01:59.525] name <- added[[kk]] [18:01:59.525] NAME <- NAMES[[kk]] [18:01:59.525] if (name != NAME && is.element(NAME, old_names)) [18:01:59.525] next [18:01:59.525] args[[name]] <- "" [18:01:59.525] } [18:01:59.525] NAMES <- toupper(removed) [18:01:59.525] for (kk in seq_along(NAMES)) { [18:01:59.525] name <- removed[[kk]] [18:01:59.525] NAME <- NAMES[[kk]] [18:01:59.525] if (name != NAME && is.element(NAME, old_names)) [18:01:59.525] next [18:01:59.525] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.525] } [18:01:59.525] if (length(args) > 0) [18:01:59.525] base::do.call(base::Sys.setenv, args = args) [18:01:59.525] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.525] } [18:01:59.525] else { [18:01:59.525] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.525] } [18:01:59.525] { [18:01:59.525] if (base::length(...future.futureOptionsAdded) > [18:01:59.525] 0L) { [18:01:59.525] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.525] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.525] base::options(opts) [18:01:59.525] } [18:01:59.525] { [18:01:59.525] { [18:01:59.525] NULL [18:01:59.525] RNGkind("Mersenne-Twister") [18:01:59.525] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.525] inherits = FALSE) [18:01:59.525] } [18:01:59.525] options(future.plan = NULL) [18:01:59.525] if (is.na(NA_character_)) [18:01:59.525] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.525] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.525] future::plan(list(function (..., envir = parent.frame()) [18:01:59.525] { [18:01:59.525] future <- SequentialFuture(..., envir = envir) [18:01:59.525] if (!future$lazy) [18:01:59.525] future <- run(future) [18:01:59.525] invisible(future) [18:01:59.525] }), .cleanup = FALSE, .init = FALSE) [18:01:59.525] } [18:01:59.525] } [18:01:59.525] } [18:01:59.525] }) [18:01:59.525] if (TRUE) { [18:01:59.525] base::sink(type = "output", split = FALSE) [18:01:59.525] if (TRUE) { [18:01:59.525] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.525] } [18:01:59.525] else { [18:01:59.525] ...future.result["stdout"] <- base::list(NULL) [18:01:59.525] } [18:01:59.525] base::close(...future.stdout) [18:01:59.525] ...future.stdout <- NULL [18:01:59.525] } [18:01:59.525] ...future.result$conditions <- ...future.conditions [18:01:59.525] ...future.result$finished <- base::Sys.time() [18:01:59.525] ...future.result [18:01:59.525] } [18:01:59.529] assign_globals() ... [18:01:59.529] List of 1 [18:01:59.529] $ ii: int 3 [18:01:59.529] - attr(*, "where")=List of 1 [18:01:59.529] ..$ ii: [18:01:59.529] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.529] - attr(*, "resolved")= logi TRUE [18:01:59.529] - attr(*, "total_size")= num 56 [18:01:59.529] - attr(*, "already-done")= logi TRUE [18:01:59.532] - copied 'ii' to environment [18:01:59.532] assign_globals() ... done [18:01:59.533] plan(): Setting new future strategy stack: [18:01:59.533] List of future strategies: [18:01:59.533] 1. sequential: [18:01:59.533] - args: function (..., envir = parent.frame()) [18:01:59.533] - tweaked: FALSE [18:01:59.533] - call: NULL [18:01:59.533] plan(): nbrOfWorkers() = 1 [18:01:59.534] plan(): Setting new future strategy stack: [18:01:59.534] List of future strategies: [18:01:59.534] 1. sequential: [18:01:59.534] - args: function (..., envir = parent.frame()) [18:01:59.534] - tweaked: FALSE [18:01:59.534] - call: plan(strategy) [18:01:59.535] plan(): nbrOfWorkers() = 1 [18:01:59.535] SequentialFuture started (and completed) [18:01:59.535] - Launch lazy future ... done [18:01:59.535] run() for 'SequentialFuture' ... done [1] 1 2 3 Warning: 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' [18:01:59.537] getGlobalsAndPackages() ... Warning: 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' [18:01:59.537] Searching for globals... Warning: 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' [18:01:59.539] - globals found: [4] '{', '<-', '*', 'ii' [18:01:59.539] Searching for globals ... DONE [18:01:59.539] Resolving globals: TRUE [18:01:59.539] Resolving any globals that are futures ... [18:01:59.539] - globals: [4] '{', '<-', '*', 'ii' [18:01:59.540] Resolving any globals that are futures ... DONE [18:01:59.540] Resolving futures part of globals (recursively) ... [18:01:59.540] resolve() on list ... [18:01:59.540] recursive: 99 [18:01:59.541] length: 1 [18:01:59.541] elements: 'ii' [18:01:59.541] length: 0 (resolved future 1) [18:01:59.541] resolve() on list ... DONE [18:01:59.541] - globals: [1] 'ii' [18:01:59.541] Resolving futures part of globals (recursively) ... DONE [18:01:59.542] The total size of the 1 globals is 56 bytes (56 bytes) [18:01:59.542] 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') [18:01:59.542] - globals: [1] 'ii' [18:01:59.542] [18:01:59.543] getGlobalsAndPackages() ... DONE Warning: 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' [18:01:59.543] getGlobalsAndPackages() ... Warning: 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' [18:01:59.544] Searching for globals... Warning: 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' [18:01:59.545] - globals found: [4] '{', '<-', '*', 'ii' [18:01:59.545] Searching for globals ... DONE [18:01:59.546] Resolving globals: TRUE [18:01:59.546] Resolving any globals that are futures ... [18:01:59.546] - globals: [4] '{', '<-', '*', 'ii' [18:01:59.546] Resolving any globals that are futures ... DONE [18:01:59.546] Resolving futures part of globals (recursively) ... [18:01:59.547] resolve() on list ... [18:01:59.547] recursive: 99 [18:01:59.547] length: 1 [18:01:59.547] elements: 'ii' [18:01:59.547] length: 0 (resolved future 1) [18:01:59.548] resolve() on list ... DONE [18:01:59.548] - globals: [1] 'ii' [18:01:59.548] Resolving futures part of globals (recursively) ... DONE [18:01:59.548] The total size of the 1 globals is 56 bytes (56 bytes) [18:01:59.549] 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') [18:01:59.549] - globals: [1] 'ii' [18:01:59.549] [18:01:59.549] getGlobalsAndPackages() ... DONE Warning: 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' [18:01:59.550] getGlobalsAndPackages() ... Warning: 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' [18:01:59.550] Searching for globals... Warning: 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' [18:01:59.552] - globals found: [4] '{', '<-', '*', 'ii' [18:01:59.552] Searching for globals ... DONE [18:01:59.552] Resolving globals: TRUE [18:01:59.552] Resolving any globals that are futures ... [18:01:59.552] - globals: [4] '{', '<-', '*', 'ii' [18:01:59.553] Resolving any globals that are futures ... DONE [18:01:59.553] Resolving futures part of globals (recursively) ... [18:01:59.553] resolve() on list ... [18:01:59.553] recursive: 99 [18:01:59.554] length: 1 [18:01:59.554] elements: 'ii' [18:01:59.554] length: 0 (resolved future 1) [18:01:59.554] resolve() on list ... DONE [18:01:59.554] - globals: [1] 'ii' [18:01:59.555] Resolving futures part of globals (recursively) ... DONE [18:01:59.555] The total size of the 1 globals is 56 bytes (56 bytes) [18:01:59.555] 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') [18:01:59.555] - globals: [1] 'ii' [18:01:59.556] [18:01:59.556] getGlobalsAndPackages() ... DONE [18:01:59.556] run() for 'Future' ... [18:01:59.556] - state: 'created' [18:01:59.556] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.558] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.558] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.558] - Field: 'label' [18:01:59.558] - Field: 'local' [18:01:59.558] - Field: 'owner' [18:01:59.559] - Field: 'envir' [18:01:59.559] - Field: 'packages' [18:01:59.559] - Field: 'gc' [18:01:59.559] - Field: 'conditions' [18:01:59.559] - Field: 'expr' [18:01:59.559] - Field: 'uuid' [18:01:59.560] - Field: 'seed' [18:01:59.560] - Field: 'version' [18:01:59.560] - Field: 'result' [18:01:59.560] - Field: 'asynchronous' [18:01:59.560] - Field: 'calls' [18:01:59.561] - Field: 'globals' [18:01:59.561] - Field: 'stdout' [18:01:59.561] - Field: 'earlySignal' [18:01:59.561] - Field: 'lazy' [18:01:59.561] - Field: 'state' [18:01:59.561] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.562] - Launch lazy future ... [18:01:59.562] Packages needed by the future expression (n = 0): [18:01:59.562] Packages needed by future strategies (n = 0): [18:01:59.562] { [18:01:59.562] { [18:01:59.562] { [18:01:59.562] ...future.startTime <- base::Sys.time() [18:01:59.562] { [18:01:59.562] { [18:01:59.562] { [18:01:59.562] base::local({ [18:01:59.562] has_future <- base::requireNamespace("future", [18:01:59.562] quietly = TRUE) [18:01:59.562] if (has_future) { [18:01:59.562] ns <- base::getNamespace("future") [18:01:59.562] version <- ns[[".package"]][["version"]] [18:01:59.562] if (is.null(version)) [18:01:59.562] version <- utils::packageVersion("future") [18:01:59.562] } [18:01:59.562] else { [18:01:59.562] version <- NULL [18:01:59.562] } [18:01:59.562] if (!has_future || version < "1.8.0") { [18:01:59.562] info <- base::c(r_version = base::gsub("R version ", [18:01:59.562] "", base::R.version$version.string), [18:01:59.562] platform = base::sprintf("%s (%s-bit)", [18:01:59.562] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.562] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.562] "release", "version")], collapse = " "), [18:01:59.562] hostname = base::Sys.info()[["nodename"]]) [18:01:59.562] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.562] info) [18:01:59.562] info <- base::paste(info, collapse = "; ") [18:01:59.562] if (!has_future) { [18:01:59.562] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.562] info) [18:01:59.562] } [18:01:59.562] else { [18:01:59.562] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.562] info, version) [18:01:59.562] } [18:01:59.562] base::stop(msg) [18:01:59.562] } [18:01:59.562] }) [18:01:59.562] } [18:01:59.562] options(future.plan = NULL) [18:01:59.562] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.562] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.562] } [18:01:59.562] ...future.workdir <- getwd() [18:01:59.562] } [18:01:59.562] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.562] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.562] } [18:01:59.562] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.562] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.562] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.562] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.562] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.562] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.562] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.562] base::names(...future.oldOptions)) [18:01:59.562] } [18:01:59.562] if (FALSE) { [18:01:59.562] } [18:01:59.562] else { [18:01:59.562] if (TRUE) { [18:01:59.562] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.562] open = "w") [18:01:59.562] } [18:01:59.562] else { [18:01:59.562] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.562] windows = "NUL", "/dev/null"), open = "w") [18:01:59.562] } [18:01:59.562] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.562] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.562] base::sink(type = "output", split = FALSE) [18:01:59.562] base::close(...future.stdout) [18:01:59.562] }, add = TRUE) [18:01:59.562] } [18:01:59.562] ...future.frame <- base::sys.nframe() [18:01:59.562] ...future.conditions <- base::list() [18:01:59.562] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.562] if (FALSE) { [18:01:59.562] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.562] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.562] } [18:01:59.562] ...future.result <- base::tryCatch({ [18:01:59.562] base::withCallingHandlers({ [18:01:59.562] ...future.value <- base::withVisible(base::local({ [18:01:59.562] b <- a * ii [18:01:59.562] a <- 0 [18:01:59.562] b [18:01:59.562] })) [18:01:59.562] future::FutureResult(value = ...future.value$value, [18:01:59.562] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.562] ...future.rng), globalenv = if (FALSE) [18:01:59.562] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.562] ...future.globalenv.names)) [18:01:59.562] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.562] }, condition = base::local({ [18:01:59.562] c <- base::c [18:01:59.562] inherits <- base::inherits [18:01:59.562] invokeRestart <- base::invokeRestart [18:01:59.562] length <- base::length [18:01:59.562] list <- base::list [18:01:59.562] seq.int <- base::seq.int [18:01:59.562] signalCondition <- base::signalCondition [18:01:59.562] sys.calls <- base::sys.calls [18:01:59.562] `[[` <- base::`[[` [18:01:59.562] `+` <- base::`+` [18:01:59.562] `<<-` <- base::`<<-` [18:01:59.562] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.562] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.562] 3L)] [18:01:59.562] } [18:01:59.562] function(cond) { [18:01:59.562] is_error <- inherits(cond, "error") [18:01:59.562] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.562] NULL) [18:01:59.562] if (is_error) { [18:01:59.562] sessionInformation <- function() { [18:01:59.562] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.562] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.562] search = base::search(), system = base::Sys.info()) [18:01:59.562] } [18:01:59.562] ...future.conditions[[length(...future.conditions) + [18:01:59.562] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.562] cond$call), session = sessionInformation(), [18:01:59.562] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.562] signalCondition(cond) [18:01:59.562] } [18:01:59.562] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.562] "immediateCondition"))) { [18:01:59.562] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.562] ...future.conditions[[length(...future.conditions) + [18:01:59.562] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.562] if (TRUE && !signal) { [18:01:59.562] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.562] { [18:01:59.562] inherits <- base::inherits [18:01:59.562] invokeRestart <- base::invokeRestart [18:01:59.562] is.null <- base::is.null [18:01:59.562] muffled <- FALSE [18:01:59.562] if (inherits(cond, "message")) { [18:01:59.562] muffled <- grepl(pattern, "muffleMessage") [18:01:59.562] if (muffled) [18:01:59.562] invokeRestart("muffleMessage") [18:01:59.562] } [18:01:59.562] else if (inherits(cond, "warning")) { [18:01:59.562] muffled <- grepl(pattern, "muffleWarning") [18:01:59.562] if (muffled) [18:01:59.562] invokeRestart("muffleWarning") [18:01:59.562] } [18:01:59.562] else if (inherits(cond, "condition")) { [18:01:59.562] if (!is.null(pattern)) { [18:01:59.562] computeRestarts <- base::computeRestarts [18:01:59.562] grepl <- base::grepl [18:01:59.562] restarts <- computeRestarts(cond) [18:01:59.562] for (restart in restarts) { [18:01:59.562] name <- restart$name [18:01:59.562] if (is.null(name)) [18:01:59.562] next [18:01:59.562] if (!grepl(pattern, name)) [18:01:59.562] next [18:01:59.562] invokeRestart(restart) [18:01:59.562] muffled <- TRUE [18:01:59.562] break [18:01:59.562] } [18:01:59.562] } [18:01:59.562] } [18:01:59.562] invisible(muffled) [18:01:59.562] } [18:01:59.562] muffleCondition(cond, pattern = "^muffle") [18:01:59.562] } [18:01:59.562] } [18:01:59.562] else { [18:01:59.562] if (TRUE) { [18:01:59.562] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.562] { [18:01:59.562] inherits <- base::inherits [18:01:59.562] invokeRestart <- base::invokeRestart [18:01:59.562] is.null <- base::is.null [18:01:59.562] muffled <- FALSE [18:01:59.562] if (inherits(cond, "message")) { [18:01:59.562] muffled <- grepl(pattern, "muffleMessage") [18:01:59.562] if (muffled) [18:01:59.562] invokeRestart("muffleMessage") [18:01:59.562] } [18:01:59.562] else if (inherits(cond, "warning")) { [18:01:59.562] muffled <- grepl(pattern, "muffleWarning") [18:01:59.562] if (muffled) [18:01:59.562] invokeRestart("muffleWarning") [18:01:59.562] } [18:01:59.562] else if (inherits(cond, "condition")) { [18:01:59.562] if (!is.null(pattern)) { [18:01:59.562] computeRestarts <- base::computeRestarts [18:01:59.562] grepl <- base::grepl [18:01:59.562] restarts <- computeRestarts(cond) [18:01:59.562] for (restart in restarts) { [18:01:59.562] name <- restart$name [18:01:59.562] if (is.null(name)) [18:01:59.562] next [18:01:59.562] if (!grepl(pattern, name)) [18:01:59.562] next [18:01:59.562] invokeRestart(restart) [18:01:59.562] muffled <- TRUE [18:01:59.562] break [18:01:59.562] } [18:01:59.562] } [18:01:59.562] } [18:01:59.562] invisible(muffled) [18:01:59.562] } [18:01:59.562] muffleCondition(cond, pattern = "^muffle") [18:01:59.562] } [18:01:59.562] } [18:01:59.562] } [18:01:59.562] })) [18:01:59.562] }, error = function(ex) { [18:01:59.562] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.562] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.562] ...future.rng), started = ...future.startTime, [18:01:59.562] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.562] version = "1.8"), class = "FutureResult") [18:01:59.562] }, finally = { [18:01:59.562] if (!identical(...future.workdir, getwd())) [18:01:59.562] setwd(...future.workdir) [18:01:59.562] { [18:01:59.562] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.562] ...future.oldOptions$nwarnings <- NULL [18:01:59.562] } [18:01:59.562] base::options(...future.oldOptions) [18:01:59.562] if (.Platform$OS.type == "windows") { [18:01:59.562] old_names <- names(...future.oldEnvVars) [18:01:59.562] envs <- base::Sys.getenv() [18:01:59.562] names <- names(envs) [18:01:59.562] common <- intersect(names, old_names) [18:01:59.562] added <- setdiff(names, old_names) [18:01:59.562] removed <- setdiff(old_names, names) [18:01:59.562] changed <- common[...future.oldEnvVars[common] != [18:01:59.562] envs[common]] [18:01:59.562] NAMES <- toupper(changed) [18:01:59.562] args <- list() [18:01:59.562] for (kk in seq_along(NAMES)) { [18:01:59.562] name <- changed[[kk]] [18:01:59.562] NAME <- NAMES[[kk]] [18:01:59.562] if (name != NAME && is.element(NAME, old_names)) [18:01:59.562] next [18:01:59.562] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.562] } [18:01:59.562] NAMES <- toupper(added) [18:01:59.562] for (kk in seq_along(NAMES)) { [18:01:59.562] name <- added[[kk]] [18:01:59.562] NAME <- NAMES[[kk]] [18:01:59.562] if (name != NAME && is.element(NAME, old_names)) [18:01:59.562] next [18:01:59.562] args[[name]] <- "" [18:01:59.562] } [18:01:59.562] NAMES <- toupper(removed) [18:01:59.562] for (kk in seq_along(NAMES)) { [18:01:59.562] name <- removed[[kk]] [18:01:59.562] NAME <- NAMES[[kk]] [18:01:59.562] if (name != NAME && is.element(NAME, old_names)) [18:01:59.562] next [18:01:59.562] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.562] } [18:01:59.562] if (length(args) > 0) [18:01:59.562] base::do.call(base::Sys.setenv, args = args) [18:01:59.562] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.562] } [18:01:59.562] else { [18:01:59.562] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.562] } [18:01:59.562] { [18:01:59.562] if (base::length(...future.futureOptionsAdded) > [18:01:59.562] 0L) { [18:01:59.562] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.562] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.562] base::options(opts) [18:01:59.562] } [18:01:59.562] { [18:01:59.562] { [18:01:59.562] NULL [18:01:59.562] RNGkind("Mersenne-Twister") [18:01:59.562] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.562] inherits = FALSE) [18:01:59.562] } [18:01:59.562] options(future.plan = NULL) [18:01:59.562] if (is.na(NA_character_)) [18:01:59.562] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.562] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.562] future::plan(list(function (..., envir = parent.frame()) [18:01:59.562] { [18:01:59.562] future <- SequentialFuture(..., envir = envir) [18:01:59.562] if (!future$lazy) [18:01:59.562] future <- run(future) [18:01:59.562] invisible(future) [18:01:59.562] }), .cleanup = FALSE, .init = FALSE) [18:01:59.562] } [18:01:59.562] } [18:01:59.562] } [18:01:59.562] }) [18:01:59.562] if (TRUE) { [18:01:59.562] base::sink(type = "output", split = FALSE) [18:01:59.562] if (TRUE) { [18:01:59.562] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.562] } [18:01:59.562] else { [18:01:59.562] ...future.result["stdout"] <- base::list(NULL) [18:01:59.562] } [18:01:59.562] base::close(...future.stdout) [18:01:59.562] ...future.stdout <- NULL [18:01:59.562] } [18:01:59.562] ...future.result$conditions <- ...future.conditions [18:01:59.562] ...future.result$finished <- base::Sys.time() [18:01:59.562] ...future.result [18:01:59.562] } [18:01:59.566] assign_globals() ... [18:01:59.566] List of 1 [18:01:59.566] $ ii: int 1 [18:01:59.566] - attr(*, "where")=List of 1 [18:01:59.566] ..$ ii: [18:01:59.566] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.566] - attr(*, "resolved")= logi TRUE [18:01:59.566] - attr(*, "total_size")= num 56 [18:01:59.566] - attr(*, "already-done")= logi TRUE [18:01:59.569] - copied 'ii' to environment [18:01:59.570] assign_globals() ... done [18:01:59.570] plan(): Setting new future strategy stack: [18:01:59.570] List of future strategies: [18:01:59.570] 1. sequential: [18:01:59.570] - args: function (..., envir = parent.frame()) [18:01:59.570] - tweaked: FALSE [18:01:59.570] - call: NULL [18:01:59.571] plan(): nbrOfWorkers() = 1 [18:01:59.572] plan(): Setting new future strategy stack: [18:01:59.572] List of future strategies: [18:01:59.572] 1. sequential: [18:01:59.572] - args: function (..., envir = parent.frame()) [18:01:59.572] - tweaked: FALSE [18:01:59.572] - call: plan(strategy) [18:01:59.573] plan(): nbrOfWorkers() = 1 [18:01:59.573] SequentialFuture started (and completed) [18:01:59.573] signalConditions() ... [18:01:59.573] - include = 'immediateCondition' [18:01:59.573] - exclude = [18:01:59.574] - resignal = FALSE [18:01:59.574] - Number of conditions: 1 [18:01:59.574] signalConditions() ... done [18:01:59.574] - Launch lazy future ... done [18:01:59.574] run() for 'SequentialFuture' ... done [18:01:59.574] signalConditions() ... [18:01:59.575] - include = 'immediateCondition' [18:01:59.575] - exclude = [18:01:59.575] - resignal = FALSE [18:01:59.575] - Number of conditions: 1 [18:01:59.575] signalConditions() ... done [18:01:59.575] Future state: 'finished' [18:01:59.576] signalConditions() ... [18:01:59.576] - include = 'condition' [18:01:59.576] - exclude = 'immediateCondition' [18:01:59.576] - resignal = TRUE [18:01:59.576] - Number of conditions: 1 [18:01:59.576] - Condition #1: 'simpleError', 'error', 'condition' [18:01:59.577] 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 "2023" .. .. .. .. ..$ month : chr "06" .. .. .. .. ..$ day : chr "30" .. .. .. .. ..$ svn rev : chr "84625" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2023-06-30 r84625 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: "2023-07-01 18:01:59" .. .. ..$ signaled : int 1 .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" Warning: 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' [18:01:59.595] getGlobalsAndPackages() ... Warning: 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' [18:01:59.595] Searching for globals... Warning: 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' [18:01:59.596] [18:01:59.596] Searching for globals ... DONE [18:01:59.596] - globals: [0] [18:01:59.596] getGlobalsAndPackages() ... DONE [18:01:59.596] run() for 'Future' ... [18:01:59.597] - state: 'created' [18:01:59.597] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.597] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.597] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.598] - Field: 'label' [18:01:59.598] - Field: 'local' [18:01:59.598] - Field: 'owner' [18:01:59.598] - Field: 'envir' [18:01:59.598] - Field: 'packages' [18:01:59.598] - Field: 'gc' [18:01:59.599] - Field: 'conditions' [18:01:59.599] - Field: 'expr' [18:01:59.599] - Field: 'uuid' [18:01:59.599] - Field: 'seed' [18:01:59.599] - Field: 'version' [18:01:59.599] - Field: 'result' [18:01:59.600] - Field: 'asynchronous' [18:01:59.600] - Field: 'calls' [18:01:59.600] - Field: 'globals' [18:01:59.600] - Field: 'stdout' [18:01:59.600] - Field: 'earlySignal' [18:01:59.601] - Field: 'lazy' [18:01:59.601] - Field: 'state' [18:01:59.601] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.601] - Launch lazy future ... [18:01:59.601] Packages needed by the future expression (n = 0): [18:01:59.601] Packages needed by future strategies (n = 0): [18:01:59.602] { [18:01:59.602] { [18:01:59.602] { [18:01:59.602] ...future.startTime <- base::Sys.time() [18:01:59.602] { [18:01:59.602] { [18:01:59.602] { [18:01:59.602] base::local({ [18:01:59.602] has_future <- base::requireNamespace("future", [18:01:59.602] quietly = TRUE) [18:01:59.602] if (has_future) { [18:01:59.602] ns <- base::getNamespace("future") [18:01:59.602] version <- ns[[".package"]][["version"]] [18:01:59.602] if (is.null(version)) [18:01:59.602] version <- utils::packageVersion("future") [18:01:59.602] } [18:01:59.602] else { [18:01:59.602] version <- NULL [18:01:59.602] } [18:01:59.602] if (!has_future || version < "1.8.0") { [18:01:59.602] info <- base::c(r_version = base::gsub("R version ", [18:01:59.602] "", base::R.version$version.string), [18:01:59.602] platform = base::sprintf("%s (%s-bit)", [18:01:59.602] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.602] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.602] "release", "version")], collapse = " "), [18:01:59.602] hostname = base::Sys.info()[["nodename"]]) [18:01:59.602] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.602] info) [18:01:59.602] info <- base::paste(info, collapse = "; ") [18:01:59.602] if (!has_future) { [18:01:59.602] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.602] info) [18:01:59.602] } [18:01:59.602] else { [18:01:59.602] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.602] info, version) [18:01:59.602] } [18:01:59.602] base::stop(msg) [18:01:59.602] } [18:01:59.602] }) [18:01:59.602] } [18:01:59.602] options(future.plan = NULL) [18:01:59.602] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.602] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.602] } [18:01:59.602] ...future.workdir <- getwd() [18:01:59.602] } [18:01:59.602] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.602] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.602] } [18:01:59.602] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.602] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.602] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.602] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.602] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.602] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.602] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.602] base::names(...future.oldOptions)) [18:01:59.602] } [18:01:59.602] if (FALSE) { [18:01:59.602] } [18:01:59.602] else { [18:01:59.602] if (TRUE) { [18:01:59.602] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.602] open = "w") [18:01:59.602] } [18:01:59.602] else { [18:01:59.602] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.602] windows = "NUL", "/dev/null"), open = "w") [18:01:59.602] } [18:01:59.602] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.602] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.602] base::sink(type = "output", split = FALSE) [18:01:59.602] base::close(...future.stdout) [18:01:59.602] }, add = TRUE) [18:01:59.602] } [18:01:59.602] ...future.frame <- base::sys.nframe() [18:01:59.602] ...future.conditions <- base::list() [18:01:59.602] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.602] if (FALSE) { [18:01:59.602] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.602] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.602] } [18:01:59.602] ...future.result <- base::tryCatch({ [18:01:59.602] base::withCallingHandlers({ [18:01:59.602] ...future.value <- base::withVisible(base::local(1)) [18:01:59.602] future::FutureResult(value = ...future.value$value, [18:01:59.602] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.602] ...future.rng), globalenv = if (FALSE) [18:01:59.602] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.602] ...future.globalenv.names)) [18:01:59.602] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.602] }, condition = base::local({ [18:01:59.602] c <- base::c [18:01:59.602] inherits <- base::inherits [18:01:59.602] invokeRestart <- base::invokeRestart [18:01:59.602] length <- base::length [18:01:59.602] list <- base::list [18:01:59.602] seq.int <- base::seq.int [18:01:59.602] signalCondition <- base::signalCondition [18:01:59.602] sys.calls <- base::sys.calls [18:01:59.602] `[[` <- base::`[[` [18:01:59.602] `+` <- base::`+` [18:01:59.602] `<<-` <- base::`<<-` [18:01:59.602] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.602] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.602] 3L)] [18:01:59.602] } [18:01:59.602] function(cond) { [18:01:59.602] is_error <- inherits(cond, "error") [18:01:59.602] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.602] NULL) [18:01:59.602] if (is_error) { [18:01:59.602] sessionInformation <- function() { [18:01:59.602] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.602] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.602] search = base::search(), system = base::Sys.info()) [18:01:59.602] } [18:01:59.602] ...future.conditions[[length(...future.conditions) + [18:01:59.602] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.602] cond$call), session = sessionInformation(), [18:01:59.602] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.602] signalCondition(cond) [18:01:59.602] } [18:01:59.602] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.602] "immediateCondition"))) { [18:01:59.602] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.602] ...future.conditions[[length(...future.conditions) + [18:01:59.602] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.602] if (TRUE && !signal) { [18:01:59.602] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.602] { [18:01:59.602] inherits <- base::inherits [18:01:59.602] invokeRestart <- base::invokeRestart [18:01:59.602] is.null <- base::is.null [18:01:59.602] muffled <- FALSE [18:01:59.602] if (inherits(cond, "message")) { [18:01:59.602] muffled <- grepl(pattern, "muffleMessage") [18:01:59.602] if (muffled) [18:01:59.602] invokeRestart("muffleMessage") [18:01:59.602] } [18:01:59.602] else if (inherits(cond, "warning")) { [18:01:59.602] muffled <- grepl(pattern, "muffleWarning") [18:01:59.602] if (muffled) [18:01:59.602] invokeRestart("muffleWarning") [18:01:59.602] } [18:01:59.602] else if (inherits(cond, "condition")) { [18:01:59.602] if (!is.null(pattern)) { [18:01:59.602] computeRestarts <- base::computeRestarts [18:01:59.602] grepl <- base::grepl [18:01:59.602] restarts <- computeRestarts(cond) [18:01:59.602] for (restart in restarts) { [18:01:59.602] name <- restart$name [18:01:59.602] if (is.null(name)) [18:01:59.602] next [18:01:59.602] if (!grepl(pattern, name)) [18:01:59.602] next [18:01:59.602] invokeRestart(restart) [18:01:59.602] muffled <- TRUE [18:01:59.602] break [18:01:59.602] } [18:01:59.602] } [18:01:59.602] } [18:01:59.602] invisible(muffled) [18:01:59.602] } [18:01:59.602] muffleCondition(cond, pattern = "^muffle") [18:01:59.602] } [18:01:59.602] } [18:01:59.602] else { [18:01:59.602] if (TRUE) { [18:01:59.602] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.602] { [18:01:59.602] inherits <- base::inherits [18:01:59.602] invokeRestart <- base::invokeRestart [18:01:59.602] is.null <- base::is.null [18:01:59.602] muffled <- FALSE [18:01:59.602] if (inherits(cond, "message")) { [18:01:59.602] muffled <- grepl(pattern, "muffleMessage") [18:01:59.602] if (muffled) [18:01:59.602] invokeRestart("muffleMessage") [18:01:59.602] } [18:01:59.602] else if (inherits(cond, "warning")) { [18:01:59.602] muffled <- grepl(pattern, "muffleWarning") [18:01:59.602] if (muffled) [18:01:59.602] invokeRestart("muffleWarning") [18:01:59.602] } [18:01:59.602] else if (inherits(cond, "condition")) { [18:01:59.602] if (!is.null(pattern)) { [18:01:59.602] computeRestarts <- base::computeRestarts [18:01:59.602] grepl <- base::grepl [18:01:59.602] restarts <- computeRestarts(cond) [18:01:59.602] for (restart in restarts) { [18:01:59.602] name <- restart$name [18:01:59.602] if (is.null(name)) [18:01:59.602] next [18:01:59.602] if (!grepl(pattern, name)) [18:01:59.602] next [18:01:59.602] invokeRestart(restart) [18:01:59.602] muffled <- TRUE [18:01:59.602] break [18:01:59.602] } [18:01:59.602] } [18:01:59.602] } [18:01:59.602] invisible(muffled) [18:01:59.602] } [18:01:59.602] muffleCondition(cond, pattern = "^muffle") [18:01:59.602] } [18:01:59.602] } [18:01:59.602] } [18:01:59.602] })) [18:01:59.602] }, error = function(ex) { [18:01:59.602] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.602] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.602] ...future.rng), started = ...future.startTime, [18:01:59.602] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.602] version = "1.8"), class = "FutureResult") [18:01:59.602] }, finally = { [18:01:59.602] if (!identical(...future.workdir, getwd())) [18:01:59.602] setwd(...future.workdir) [18:01:59.602] { [18:01:59.602] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.602] ...future.oldOptions$nwarnings <- NULL [18:01:59.602] } [18:01:59.602] base::options(...future.oldOptions) [18:01:59.602] if (.Platform$OS.type == "windows") { [18:01:59.602] old_names <- names(...future.oldEnvVars) [18:01:59.602] envs <- base::Sys.getenv() [18:01:59.602] names <- names(envs) [18:01:59.602] common <- intersect(names, old_names) [18:01:59.602] added <- setdiff(names, old_names) [18:01:59.602] removed <- setdiff(old_names, names) [18:01:59.602] changed <- common[...future.oldEnvVars[common] != [18:01:59.602] envs[common]] [18:01:59.602] NAMES <- toupper(changed) [18:01:59.602] args <- list() [18:01:59.602] for (kk in seq_along(NAMES)) { [18:01:59.602] name <- changed[[kk]] [18:01:59.602] NAME <- NAMES[[kk]] [18:01:59.602] if (name != NAME && is.element(NAME, old_names)) [18:01:59.602] next [18:01:59.602] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.602] } [18:01:59.602] NAMES <- toupper(added) [18:01:59.602] for (kk in seq_along(NAMES)) { [18:01:59.602] name <- added[[kk]] [18:01:59.602] NAME <- NAMES[[kk]] [18:01:59.602] if (name != NAME && is.element(NAME, old_names)) [18:01:59.602] next [18:01:59.602] args[[name]] <- "" [18:01:59.602] } [18:01:59.602] NAMES <- toupper(removed) [18:01:59.602] for (kk in seq_along(NAMES)) { [18:01:59.602] name <- removed[[kk]] [18:01:59.602] NAME <- NAMES[[kk]] [18:01:59.602] if (name != NAME && is.element(NAME, old_names)) [18:01:59.602] next [18:01:59.602] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.602] } [18:01:59.602] if (length(args) > 0) [18:01:59.602] base::do.call(base::Sys.setenv, args = args) [18:01:59.602] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.602] } [18:01:59.602] else { [18:01:59.602] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.602] } [18:01:59.602] { [18:01:59.602] if (base::length(...future.futureOptionsAdded) > [18:01:59.602] 0L) { [18:01:59.602] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.602] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.602] base::options(opts) [18:01:59.602] } [18:01:59.602] { [18:01:59.602] { [18:01:59.602] NULL [18:01:59.602] RNGkind("Mersenne-Twister") [18:01:59.602] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.602] inherits = FALSE) [18:01:59.602] } [18:01:59.602] options(future.plan = NULL) [18:01:59.602] if (is.na(NA_character_)) [18:01:59.602] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.602] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.602] future::plan(list(function (..., envir = parent.frame()) [18:01:59.602] { [18:01:59.602] future <- SequentialFuture(..., envir = envir) [18:01:59.602] if (!future$lazy) [18:01:59.602] future <- run(future) [18:01:59.602] invisible(future) [18:01:59.602] }), .cleanup = FALSE, .init = FALSE) [18:01:59.602] } [18:01:59.602] } [18:01:59.602] } [18:01:59.602] }) [18:01:59.602] if (TRUE) { [18:01:59.602] base::sink(type = "output", split = FALSE) [18:01:59.602] if (TRUE) { [18:01:59.602] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.602] } [18:01:59.602] else { [18:01:59.602] ...future.result["stdout"] <- base::list(NULL) [18:01:59.602] } [18:01:59.602] base::close(...future.stdout) [18:01:59.602] ...future.stdout <- NULL [18:01:59.602] } [18:01:59.602] ...future.result$conditions <- ...future.conditions [18:01:59.602] ...future.result$finished <- base::Sys.time() [18:01:59.602] ...future.result [18:01:59.602] } [18:01:59.606] plan(): Setting new future strategy stack: [18:01:59.606] List of future strategies: [18:01:59.606] 1. sequential: [18:01:59.606] - args: function (..., envir = parent.frame()) [18:01:59.606] - tweaked: FALSE [18:01:59.606] - call: NULL [18:01:59.607] plan(): nbrOfWorkers() = 1 [18:01:59.608] plan(): Setting new future strategy stack: [18:01:59.608] List of future strategies: [18:01:59.608] 1. sequential: [18:01:59.608] - args: function (..., envir = parent.frame()) [18:01:59.608] - tweaked: FALSE [18:01:59.608] - call: plan(strategy) [18:01:59.608] plan(): nbrOfWorkers() = 1 [18:01:59.609] SequentialFuture started (and completed) [18:01:59.609] - Launch lazy future ... done [18:01:59.609] run() for 'SequentialFuture' ... done Warning: 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' [18:01:59.609] getGlobalsAndPackages() ... Warning: 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' [18:01:59.610] Searching for globals... Warning: 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' [18:01:59.611] - globals found: [3] '+', 'value', 'a' [18:01:59.611] Searching for globals ... DONE [18:01:59.611] Resolving globals: TRUE [18:01:59.611] Resolving any globals that are futures ... [18:01:59.611] - globals: [3] '+', 'value', 'a' [18:01:59.612] Resolving any globals that are futures ... DONE [18:01:59.612] Resolving futures part of globals (recursively) ... [18:01:59.612] resolve() on list ... [18:01:59.612] recursive: 99 [18:01:59.613] length: 1 [18:01:59.613] elements: 'a' [18:01:59.613] resolved() for 'SequentialFuture' ... [18:01:59.613] - state: 'finished' [18:01:59.613] - run: TRUE [18:01:59.614] - result: 'FutureResult' [18:01:59.614] resolved() for 'SequentialFuture' ... done [18:01:59.614] Future #1 [18:01:59.614] resolved() for 'SequentialFuture' ... [18:01:59.615] - state: 'finished' [18:01:59.615] - run: TRUE [18:01:59.615] - result: 'FutureResult' [18:01:59.615] resolved() for 'SequentialFuture' ... done [18:01:59.615] A SequentialFuture was resolved [18:01:59.615] length: 0 (resolved future 1) [18:01:59.616] resolve() on list ... DONE [18:01:59.616] - globals: [1] 'a' [18:01:59.616] Resolving futures part of globals (recursively) ... DONE [18:01:59.617] The total size of the 1 globals is 9.95 KiB (10184 bytes) [18:01:59.617] 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') [18:01:59.618] - globals: [1] 'a' [18:01:59.618] - packages: [1] 'future' [18:01:59.618] getGlobalsAndPackages() ... DONE [18:01:59.618] run() for 'Future' ... [18:01:59.619] - state: 'created' [18:01:59.619] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.619] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.619] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.619] - Field: 'label' [18:01:59.620] - Field: 'local' [18:01:59.620] - Field: 'owner' [18:01:59.620] - Field: 'envir' [18:01:59.620] - Field: 'packages' [18:01:59.620] - Field: 'gc' [18:01:59.621] - Field: 'conditions' [18:01:59.621] - Field: 'expr' [18:01:59.621] - Field: 'uuid' [18:01:59.621] - Field: 'seed' [18:01:59.621] - Field: 'version' [18:01:59.621] - Field: 'result' [18:01:59.622] - Field: 'asynchronous' [18:01:59.622] - Field: 'calls' [18:01:59.622] - Field: 'globals' [18:01:59.622] - Field: 'stdout' [18:01:59.622] - Field: 'earlySignal' [18:01:59.622] - Field: 'lazy' [18:01:59.623] - Field: 'state' [18:01:59.623] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.623] - Launch lazy future ... [18:01:59.623] Packages needed by the future expression (n = 1): 'future' [18:01:59.623] Packages needed by future strategies (n = 0): [18:01:59.624] { [18:01:59.624] { [18:01:59.624] { [18:01:59.624] ...future.startTime <- base::Sys.time() [18:01:59.624] { [18:01:59.624] { [18:01:59.624] { [18:01:59.624] { [18:01:59.624] base::local({ [18:01:59.624] has_future <- base::requireNamespace("future", [18:01:59.624] quietly = TRUE) [18:01:59.624] if (has_future) { [18:01:59.624] ns <- base::getNamespace("future") [18:01:59.624] version <- ns[[".package"]][["version"]] [18:01:59.624] if (is.null(version)) [18:01:59.624] version <- utils::packageVersion("future") [18:01:59.624] } [18:01:59.624] else { [18:01:59.624] version <- NULL [18:01:59.624] } [18:01:59.624] if (!has_future || version < "1.8.0") { [18:01:59.624] info <- base::c(r_version = base::gsub("R version ", [18:01:59.624] "", base::R.version$version.string), [18:01:59.624] platform = base::sprintf("%s (%s-bit)", [18:01:59.624] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.624] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.624] "release", "version")], collapse = " "), [18:01:59.624] hostname = base::Sys.info()[["nodename"]]) [18:01:59.624] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.624] info) [18:01:59.624] info <- base::paste(info, collapse = "; ") [18:01:59.624] if (!has_future) { [18:01:59.624] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.624] info) [18:01:59.624] } [18:01:59.624] else { [18:01:59.624] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.624] info, version) [18:01:59.624] } [18:01:59.624] base::stop(msg) [18:01:59.624] } [18:01:59.624] }) [18:01:59.624] } [18:01:59.624] base::local({ [18:01:59.624] for (pkg in "future") { [18:01:59.624] base::loadNamespace(pkg) [18:01:59.624] base::library(pkg, character.only = TRUE) [18:01:59.624] } [18:01:59.624] }) [18:01:59.624] } [18:01:59.624] options(future.plan = NULL) [18:01:59.624] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.624] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.624] } [18:01:59.624] ...future.workdir <- getwd() [18:01:59.624] } [18:01:59.624] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.624] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.624] } [18:01:59.624] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.624] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.624] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.624] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.624] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.624] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.624] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.624] base::names(...future.oldOptions)) [18:01:59.624] } [18:01:59.624] if (FALSE) { [18:01:59.624] } [18:01:59.624] else { [18:01:59.624] if (TRUE) { [18:01:59.624] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.624] open = "w") [18:01:59.624] } [18:01:59.624] else { [18:01:59.624] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.624] windows = "NUL", "/dev/null"), open = "w") [18:01:59.624] } [18:01:59.624] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.624] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.624] base::sink(type = "output", split = FALSE) [18:01:59.624] base::close(...future.stdout) [18:01:59.624] }, add = TRUE) [18:01:59.624] } [18:01:59.624] ...future.frame <- base::sys.nframe() [18:01:59.624] ...future.conditions <- base::list() [18:01:59.624] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.624] if (FALSE) { [18:01:59.624] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.624] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.624] } [18:01:59.624] ...future.result <- base::tryCatch({ [18:01:59.624] base::withCallingHandlers({ [18:01:59.624] ...future.value <- base::withVisible(base::local(value(a) + [18:01:59.624] 1)) [18:01:59.624] future::FutureResult(value = ...future.value$value, [18:01:59.624] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.624] ...future.rng), globalenv = if (FALSE) [18:01:59.624] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.624] ...future.globalenv.names)) [18:01:59.624] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.624] }, condition = base::local({ [18:01:59.624] c <- base::c [18:01:59.624] inherits <- base::inherits [18:01:59.624] invokeRestart <- base::invokeRestart [18:01:59.624] length <- base::length [18:01:59.624] list <- base::list [18:01:59.624] seq.int <- base::seq.int [18:01:59.624] signalCondition <- base::signalCondition [18:01:59.624] sys.calls <- base::sys.calls [18:01:59.624] `[[` <- base::`[[` [18:01:59.624] `+` <- base::`+` [18:01:59.624] `<<-` <- base::`<<-` [18:01:59.624] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.624] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.624] 3L)] [18:01:59.624] } [18:01:59.624] function(cond) { [18:01:59.624] is_error <- inherits(cond, "error") [18:01:59.624] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.624] NULL) [18:01:59.624] if (is_error) { [18:01:59.624] sessionInformation <- function() { [18:01:59.624] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.624] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.624] search = base::search(), system = base::Sys.info()) [18:01:59.624] } [18:01:59.624] ...future.conditions[[length(...future.conditions) + [18:01:59.624] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.624] cond$call), session = sessionInformation(), [18:01:59.624] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.624] signalCondition(cond) [18:01:59.624] } [18:01:59.624] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.624] "immediateCondition"))) { [18:01:59.624] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.624] ...future.conditions[[length(...future.conditions) + [18:01:59.624] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.624] if (TRUE && !signal) { [18:01:59.624] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.624] { [18:01:59.624] inherits <- base::inherits [18:01:59.624] invokeRestart <- base::invokeRestart [18:01:59.624] is.null <- base::is.null [18:01:59.624] muffled <- FALSE [18:01:59.624] if (inherits(cond, "message")) { [18:01:59.624] muffled <- grepl(pattern, "muffleMessage") [18:01:59.624] if (muffled) [18:01:59.624] invokeRestart("muffleMessage") [18:01:59.624] } [18:01:59.624] else if (inherits(cond, "warning")) { [18:01:59.624] muffled <- grepl(pattern, "muffleWarning") [18:01:59.624] if (muffled) [18:01:59.624] invokeRestart("muffleWarning") [18:01:59.624] } [18:01:59.624] else if (inherits(cond, "condition")) { [18:01:59.624] if (!is.null(pattern)) { [18:01:59.624] computeRestarts <- base::computeRestarts [18:01:59.624] grepl <- base::grepl [18:01:59.624] restarts <- computeRestarts(cond) [18:01:59.624] for (restart in restarts) { [18:01:59.624] name <- restart$name [18:01:59.624] if (is.null(name)) [18:01:59.624] next [18:01:59.624] if (!grepl(pattern, name)) [18:01:59.624] next [18:01:59.624] invokeRestart(restart) [18:01:59.624] muffled <- TRUE [18:01:59.624] break [18:01:59.624] } [18:01:59.624] } [18:01:59.624] } [18:01:59.624] invisible(muffled) [18:01:59.624] } [18:01:59.624] muffleCondition(cond, pattern = "^muffle") [18:01:59.624] } [18:01:59.624] } [18:01:59.624] else { [18:01:59.624] if (TRUE) { [18:01:59.624] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.624] { [18:01:59.624] inherits <- base::inherits [18:01:59.624] invokeRestart <- base::invokeRestart [18:01:59.624] is.null <- base::is.null [18:01:59.624] muffled <- FALSE [18:01:59.624] if (inherits(cond, "message")) { [18:01:59.624] muffled <- grepl(pattern, "muffleMessage") [18:01:59.624] if (muffled) [18:01:59.624] invokeRestart("muffleMessage") [18:01:59.624] } [18:01:59.624] else if (inherits(cond, "warning")) { [18:01:59.624] muffled <- grepl(pattern, "muffleWarning") [18:01:59.624] if (muffled) [18:01:59.624] invokeRestart("muffleWarning") [18:01:59.624] } [18:01:59.624] else if (inherits(cond, "condition")) { [18:01:59.624] if (!is.null(pattern)) { [18:01:59.624] computeRestarts <- base::computeRestarts [18:01:59.624] grepl <- base::grepl [18:01:59.624] restarts <- computeRestarts(cond) [18:01:59.624] for (restart in restarts) { [18:01:59.624] name <- restart$name [18:01:59.624] if (is.null(name)) [18:01:59.624] next [18:01:59.624] if (!grepl(pattern, name)) [18:01:59.624] next [18:01:59.624] invokeRestart(restart) [18:01:59.624] muffled <- TRUE [18:01:59.624] break [18:01:59.624] } [18:01:59.624] } [18:01:59.624] } [18:01:59.624] invisible(muffled) [18:01:59.624] } [18:01:59.624] muffleCondition(cond, pattern = "^muffle") [18:01:59.624] } [18:01:59.624] } [18:01:59.624] } [18:01:59.624] })) [18:01:59.624] }, error = function(ex) { [18:01:59.624] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.624] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.624] ...future.rng), started = ...future.startTime, [18:01:59.624] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.624] version = "1.8"), class = "FutureResult") [18:01:59.624] }, finally = { [18:01:59.624] if (!identical(...future.workdir, getwd())) [18:01:59.624] setwd(...future.workdir) [18:01:59.624] { [18:01:59.624] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.624] ...future.oldOptions$nwarnings <- NULL [18:01:59.624] } [18:01:59.624] base::options(...future.oldOptions) [18:01:59.624] if (.Platform$OS.type == "windows") { [18:01:59.624] old_names <- names(...future.oldEnvVars) [18:01:59.624] envs <- base::Sys.getenv() [18:01:59.624] names <- names(envs) [18:01:59.624] common <- intersect(names, old_names) [18:01:59.624] added <- setdiff(names, old_names) [18:01:59.624] removed <- setdiff(old_names, names) [18:01:59.624] changed <- common[...future.oldEnvVars[common] != [18:01:59.624] envs[common]] [18:01:59.624] NAMES <- toupper(changed) [18:01:59.624] args <- list() [18:01:59.624] for (kk in seq_along(NAMES)) { [18:01:59.624] name <- changed[[kk]] [18:01:59.624] NAME <- NAMES[[kk]] [18:01:59.624] if (name != NAME && is.element(NAME, old_names)) [18:01:59.624] next [18:01:59.624] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.624] } [18:01:59.624] NAMES <- toupper(added) [18:01:59.624] for (kk in seq_along(NAMES)) { [18:01:59.624] name <- added[[kk]] [18:01:59.624] NAME <- NAMES[[kk]] [18:01:59.624] if (name != NAME && is.element(NAME, old_names)) [18:01:59.624] next [18:01:59.624] args[[name]] <- "" [18:01:59.624] } [18:01:59.624] NAMES <- toupper(removed) [18:01:59.624] for (kk in seq_along(NAMES)) { [18:01:59.624] name <- removed[[kk]] [18:01:59.624] NAME <- NAMES[[kk]] [18:01:59.624] if (name != NAME && is.element(NAME, old_names)) [18:01:59.624] next [18:01:59.624] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.624] } [18:01:59.624] if (length(args) > 0) [18:01:59.624] base::do.call(base::Sys.setenv, args = args) [18:01:59.624] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.624] } [18:01:59.624] else { [18:01:59.624] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.624] } [18:01:59.624] { [18:01:59.624] if (base::length(...future.futureOptionsAdded) > [18:01:59.624] 0L) { [18:01:59.624] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.624] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.624] base::options(opts) [18:01:59.624] } [18:01:59.624] { [18:01:59.624] { [18:01:59.624] NULL [18:01:59.624] RNGkind("Mersenne-Twister") [18:01:59.624] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.624] inherits = FALSE) [18:01:59.624] } [18:01:59.624] options(future.plan = NULL) [18:01:59.624] if (is.na(NA_character_)) [18:01:59.624] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.624] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.624] future::plan(list(function (..., envir = parent.frame()) [18:01:59.624] { [18:01:59.624] future <- SequentialFuture(..., envir = envir) [18:01:59.624] if (!future$lazy) [18:01:59.624] future <- run(future) [18:01:59.624] invisible(future) [18:01:59.624] }), .cleanup = FALSE, .init = FALSE) [18:01:59.624] } [18:01:59.624] } [18:01:59.624] } [18:01:59.624] }) [18:01:59.624] if (TRUE) { [18:01:59.624] base::sink(type = "output", split = FALSE) [18:01:59.624] if (TRUE) { [18:01:59.624] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.624] } [18:01:59.624] else { [18:01:59.624] ...future.result["stdout"] <- base::list(NULL) [18:01:59.624] } [18:01:59.624] base::close(...future.stdout) [18:01:59.624] ...future.stdout <- NULL [18:01:59.624] } [18:01:59.624] ...future.result$conditions <- ...future.conditions [18:01:59.624] ...future.result$finished <- base::Sys.time() [18:01:59.624] ...future.result [18:01:59.624] } [18:01:59.628] assign_globals() ... [18:01:59.628] List of 1 [18:01:59.628] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.628] - attr(*, "where")=List of 1 [18:01:59.628] ..$ a: [18:01:59.628] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.628] - attr(*, "resolved")= logi TRUE [18:01:59.628] - attr(*, "total_size")= num 10184 [18:01:59.628] - attr(*, "already-done")= logi TRUE [18:01:59.632] - copied 'a' to environment [18:01:59.632] assign_globals() ... done [18:01:59.633] plan(): Setting new future strategy stack: [18:01:59.633] List of future strategies: [18:01:59.633] 1. sequential: [18:01:59.633] - args: function (..., envir = parent.frame()) [18:01:59.633] - tweaked: FALSE [18:01:59.633] - call: NULL [18:01:59.633] plan(): nbrOfWorkers() = 1 [18:01:59.635] plan(): Setting new future strategy stack: [18:01:59.635] List of future strategies: [18:01:59.635] 1. sequential: [18:01:59.635] - args: function (..., envir = parent.frame()) [18:01:59.635] - tweaked: FALSE [18:01:59.635] - call: plan(strategy) [18:01:59.635] plan(): nbrOfWorkers() = 1 [18:01:59.635] SequentialFuture started (and completed) [18:01:59.636] - Launch lazy future ... done [18:01:59.636] run() for 'SequentialFuture' ... done value(b) = 2 Warning: 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' [18:01:59.636] getGlobalsAndPackages() ... Warning: 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' [18:01:59.637] Searching for globals... Warning: 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' [18:01:59.637] [18:01:59.638] Searching for globals ... DONE [18:01:59.638] - globals: [0] [18:01:59.638] getGlobalsAndPackages() ... DONE [18:01:59.638] run() for 'Future' ... [18:01:59.638] - state: 'created' [18:01:59.639] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.639] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.639] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.639] - Field: 'label' [18:01:59.639] - Field: 'local' [18:01:59.640] - Field: 'owner' [18:01:59.640] - Field: 'envir' [18:01:59.640] - Field: 'packages' [18:01:59.640] - Field: 'gc' [18:01:59.640] - Field: 'conditions' [18:01:59.641] - Field: 'expr' [18:01:59.641] - Field: 'uuid' [18:01:59.641] - Field: 'seed' [18:01:59.641] - Field: 'version' [18:01:59.641] - Field: 'result' [18:01:59.641] - Field: 'asynchronous' [18:01:59.642] - Field: 'calls' [18:01:59.642] - Field: 'globals' [18:01:59.642] - Field: 'stdout' [18:01:59.642] - Field: 'earlySignal' [18:01:59.642] - Field: 'lazy' [18:01:59.642] - Field: 'state' [18:01:59.643] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.643] - Launch lazy future ... [18:01:59.643] Packages needed by the future expression (n = 0): [18:01:59.643] Packages needed by future strategies (n = 0): [18:01:59.644] { [18:01:59.644] { [18:01:59.644] { [18:01:59.644] ...future.startTime <- base::Sys.time() [18:01:59.644] { [18:01:59.644] { [18:01:59.644] { [18:01:59.644] base::local({ [18:01:59.644] has_future <- base::requireNamespace("future", [18:01:59.644] quietly = TRUE) [18:01:59.644] if (has_future) { [18:01:59.644] ns <- base::getNamespace("future") [18:01:59.644] version <- ns[[".package"]][["version"]] [18:01:59.644] if (is.null(version)) [18:01:59.644] version <- utils::packageVersion("future") [18:01:59.644] } [18:01:59.644] else { [18:01:59.644] version <- NULL [18:01:59.644] } [18:01:59.644] if (!has_future || version < "1.8.0") { [18:01:59.644] info <- base::c(r_version = base::gsub("R version ", [18:01:59.644] "", base::R.version$version.string), [18:01:59.644] platform = base::sprintf("%s (%s-bit)", [18:01:59.644] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.644] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.644] "release", "version")], collapse = " "), [18:01:59.644] hostname = base::Sys.info()[["nodename"]]) [18:01:59.644] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.644] info) [18:01:59.644] info <- base::paste(info, collapse = "; ") [18:01:59.644] if (!has_future) { [18:01:59.644] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.644] info) [18:01:59.644] } [18:01:59.644] else { [18:01:59.644] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.644] info, version) [18:01:59.644] } [18:01:59.644] base::stop(msg) [18:01:59.644] } [18:01:59.644] }) [18:01:59.644] } [18:01:59.644] options(future.plan = NULL) [18:01:59.644] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.644] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.644] } [18:01:59.644] ...future.workdir <- getwd() [18:01:59.644] } [18:01:59.644] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.644] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.644] } [18:01:59.644] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.644] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.644] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.644] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.644] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.644] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.644] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.644] base::names(...future.oldOptions)) [18:01:59.644] } [18:01:59.644] if (FALSE) { [18:01:59.644] } [18:01:59.644] else { [18:01:59.644] if (TRUE) { [18:01:59.644] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.644] open = "w") [18:01:59.644] } [18:01:59.644] else { [18:01:59.644] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.644] windows = "NUL", "/dev/null"), open = "w") [18:01:59.644] } [18:01:59.644] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.644] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.644] base::sink(type = "output", split = FALSE) [18:01:59.644] base::close(...future.stdout) [18:01:59.644] }, add = TRUE) [18:01:59.644] } [18:01:59.644] ...future.frame <- base::sys.nframe() [18:01:59.644] ...future.conditions <- base::list() [18:01:59.644] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.644] if (FALSE) { [18:01:59.644] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.644] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.644] } [18:01:59.644] ...future.result <- base::tryCatch({ [18:01:59.644] base::withCallingHandlers({ [18:01:59.644] ...future.value <- base::withVisible(base::local(1)) [18:01:59.644] future::FutureResult(value = ...future.value$value, [18:01:59.644] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.644] ...future.rng), globalenv = if (FALSE) [18:01:59.644] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.644] ...future.globalenv.names)) [18:01:59.644] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.644] }, condition = base::local({ [18:01:59.644] c <- base::c [18:01:59.644] inherits <- base::inherits [18:01:59.644] invokeRestart <- base::invokeRestart [18:01:59.644] length <- base::length [18:01:59.644] list <- base::list [18:01:59.644] seq.int <- base::seq.int [18:01:59.644] signalCondition <- base::signalCondition [18:01:59.644] sys.calls <- base::sys.calls [18:01:59.644] `[[` <- base::`[[` [18:01:59.644] `+` <- base::`+` [18:01:59.644] `<<-` <- base::`<<-` [18:01:59.644] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.644] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.644] 3L)] [18:01:59.644] } [18:01:59.644] function(cond) { [18:01:59.644] is_error <- inherits(cond, "error") [18:01:59.644] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.644] NULL) [18:01:59.644] if (is_error) { [18:01:59.644] sessionInformation <- function() { [18:01:59.644] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.644] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.644] search = base::search(), system = base::Sys.info()) [18:01:59.644] } [18:01:59.644] ...future.conditions[[length(...future.conditions) + [18:01:59.644] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.644] cond$call), session = sessionInformation(), [18:01:59.644] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.644] signalCondition(cond) [18:01:59.644] } [18:01:59.644] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.644] "immediateCondition"))) { [18:01:59.644] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.644] ...future.conditions[[length(...future.conditions) + [18:01:59.644] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.644] if (TRUE && !signal) { [18:01:59.644] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.644] { [18:01:59.644] inherits <- base::inherits [18:01:59.644] invokeRestart <- base::invokeRestart [18:01:59.644] is.null <- base::is.null [18:01:59.644] muffled <- FALSE [18:01:59.644] if (inherits(cond, "message")) { [18:01:59.644] muffled <- grepl(pattern, "muffleMessage") [18:01:59.644] if (muffled) [18:01:59.644] invokeRestart("muffleMessage") [18:01:59.644] } [18:01:59.644] else if (inherits(cond, "warning")) { [18:01:59.644] muffled <- grepl(pattern, "muffleWarning") [18:01:59.644] if (muffled) [18:01:59.644] invokeRestart("muffleWarning") [18:01:59.644] } [18:01:59.644] else if (inherits(cond, "condition")) { [18:01:59.644] if (!is.null(pattern)) { [18:01:59.644] computeRestarts <- base::computeRestarts [18:01:59.644] grepl <- base::grepl [18:01:59.644] restarts <- computeRestarts(cond) [18:01:59.644] for (restart in restarts) { [18:01:59.644] name <- restart$name [18:01:59.644] if (is.null(name)) [18:01:59.644] next [18:01:59.644] if (!grepl(pattern, name)) [18:01:59.644] next [18:01:59.644] invokeRestart(restart) [18:01:59.644] muffled <- TRUE [18:01:59.644] break [18:01:59.644] } [18:01:59.644] } [18:01:59.644] } [18:01:59.644] invisible(muffled) [18:01:59.644] } [18:01:59.644] muffleCondition(cond, pattern = "^muffle") [18:01:59.644] } [18:01:59.644] } [18:01:59.644] else { [18:01:59.644] if (TRUE) { [18:01:59.644] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.644] { [18:01:59.644] inherits <- base::inherits [18:01:59.644] invokeRestart <- base::invokeRestart [18:01:59.644] is.null <- base::is.null [18:01:59.644] muffled <- FALSE [18:01:59.644] if (inherits(cond, "message")) { [18:01:59.644] muffled <- grepl(pattern, "muffleMessage") [18:01:59.644] if (muffled) [18:01:59.644] invokeRestart("muffleMessage") [18:01:59.644] } [18:01:59.644] else if (inherits(cond, "warning")) { [18:01:59.644] muffled <- grepl(pattern, "muffleWarning") [18:01:59.644] if (muffled) [18:01:59.644] invokeRestart("muffleWarning") [18:01:59.644] } [18:01:59.644] else if (inherits(cond, "condition")) { [18:01:59.644] if (!is.null(pattern)) { [18:01:59.644] computeRestarts <- base::computeRestarts [18:01:59.644] grepl <- base::grepl [18:01:59.644] restarts <- computeRestarts(cond) [18:01:59.644] for (restart in restarts) { [18:01:59.644] name <- restart$name [18:01:59.644] if (is.null(name)) [18:01:59.644] next [18:01:59.644] if (!grepl(pattern, name)) [18:01:59.644] next [18:01:59.644] invokeRestart(restart) [18:01:59.644] muffled <- TRUE [18:01:59.644] break [18:01:59.644] } [18:01:59.644] } [18:01:59.644] } [18:01:59.644] invisible(muffled) [18:01:59.644] } [18:01:59.644] muffleCondition(cond, pattern = "^muffle") [18:01:59.644] } [18:01:59.644] } [18:01:59.644] } [18:01:59.644] })) [18:01:59.644] }, error = function(ex) { [18:01:59.644] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.644] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.644] ...future.rng), started = ...future.startTime, [18:01:59.644] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.644] version = "1.8"), class = "FutureResult") [18:01:59.644] }, finally = { [18:01:59.644] if (!identical(...future.workdir, getwd())) [18:01:59.644] setwd(...future.workdir) [18:01:59.644] { [18:01:59.644] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.644] ...future.oldOptions$nwarnings <- NULL [18:01:59.644] } [18:01:59.644] base::options(...future.oldOptions) [18:01:59.644] if (.Platform$OS.type == "windows") { [18:01:59.644] old_names <- names(...future.oldEnvVars) [18:01:59.644] envs <- base::Sys.getenv() [18:01:59.644] names <- names(envs) [18:01:59.644] common <- intersect(names, old_names) [18:01:59.644] added <- setdiff(names, old_names) [18:01:59.644] removed <- setdiff(old_names, names) [18:01:59.644] changed <- common[...future.oldEnvVars[common] != [18:01:59.644] envs[common]] [18:01:59.644] NAMES <- toupper(changed) [18:01:59.644] args <- list() [18:01:59.644] for (kk in seq_along(NAMES)) { [18:01:59.644] name <- changed[[kk]] [18:01:59.644] NAME <- NAMES[[kk]] [18:01:59.644] if (name != NAME && is.element(NAME, old_names)) [18:01:59.644] next [18:01:59.644] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.644] } [18:01:59.644] NAMES <- toupper(added) [18:01:59.644] for (kk in seq_along(NAMES)) { [18:01:59.644] name <- added[[kk]] [18:01:59.644] NAME <- NAMES[[kk]] [18:01:59.644] if (name != NAME && is.element(NAME, old_names)) [18:01:59.644] next [18:01:59.644] args[[name]] <- "" [18:01:59.644] } [18:01:59.644] NAMES <- toupper(removed) [18:01:59.644] for (kk in seq_along(NAMES)) { [18:01:59.644] name <- removed[[kk]] [18:01:59.644] NAME <- NAMES[[kk]] [18:01:59.644] if (name != NAME && is.element(NAME, old_names)) [18:01:59.644] next [18:01:59.644] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.644] } [18:01:59.644] if (length(args) > 0) [18:01:59.644] base::do.call(base::Sys.setenv, args = args) [18:01:59.644] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.644] } [18:01:59.644] else { [18:01:59.644] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.644] } [18:01:59.644] { [18:01:59.644] if (base::length(...future.futureOptionsAdded) > [18:01:59.644] 0L) { [18:01:59.644] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.644] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.644] base::options(opts) [18:01:59.644] } [18:01:59.644] { [18:01:59.644] { [18:01:59.644] NULL [18:01:59.644] RNGkind("Mersenne-Twister") [18:01:59.644] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.644] inherits = FALSE) [18:01:59.644] } [18:01:59.644] options(future.plan = NULL) [18:01:59.644] if (is.na(NA_character_)) [18:01:59.644] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.644] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.644] future::plan(list(function (..., envir = parent.frame()) [18:01:59.644] { [18:01:59.644] future <- SequentialFuture(..., envir = envir) [18:01:59.644] if (!future$lazy) [18:01:59.644] future <- run(future) [18:01:59.644] invisible(future) [18:01:59.644] }), .cleanup = FALSE, .init = FALSE) [18:01:59.644] } [18:01:59.644] } [18:01:59.644] } [18:01:59.644] }) [18:01:59.644] if (TRUE) { [18:01:59.644] base::sink(type = "output", split = FALSE) [18:01:59.644] if (TRUE) { [18:01:59.644] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.644] } [18:01:59.644] else { [18:01:59.644] ...future.result["stdout"] <- base::list(NULL) [18:01:59.644] } [18:01:59.644] base::close(...future.stdout) [18:01:59.644] ...future.stdout <- NULL [18:01:59.644] } [18:01:59.644] ...future.result$conditions <- ...future.conditions [18:01:59.644] ...future.result$finished <- base::Sys.time() [18:01:59.644] ...future.result [18:01:59.644] } [18:01:59.648] plan(): Setting new future strategy stack: [18:01:59.648] List of future strategies: [18:01:59.648] 1. sequential: [18:01:59.648] - args: function (..., envir = parent.frame()) [18:01:59.648] - tweaked: FALSE [18:01:59.648] - call: NULL [18:01:59.648] plan(): nbrOfWorkers() = 1 [18:01:59.649] plan(): Setting new future strategy stack: [18:01:59.650] List of future strategies: [18:01:59.650] 1. sequential: [18:01:59.650] - args: function (..., envir = parent.frame()) [18:01:59.650] - tweaked: FALSE [18:01:59.650] - call: plan(strategy) [18:01:59.650] plan(): nbrOfWorkers() = 1 [18:01:59.650] SequentialFuture started (and completed) [18:01:59.650] - Launch lazy future ... done [18:01:59.651] run() for 'SequentialFuture' ... done Warning: 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' [18:01:59.651] getGlobalsAndPackages() ... Warning: 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' [18:01:59.651] Searching for globals... Warning: 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' [18:01:59.652] - globals found: [3] '+', 'value', 'a' [18:01:59.653] Searching for globals ... DONE [18:01:59.653] Resolving globals: TRUE [18:01:59.653] Resolving any globals that are futures ... [18:01:59.653] - globals: [3] '+', 'value', 'a' [18:01:59.653] Resolving any globals that are futures ... DONE [18:01:59.654] Resolving futures part of globals (recursively) ... [18:01:59.654] resolve() on list ... [18:01:59.654] recursive: 99 [18:01:59.654] length: 1 [18:01:59.654] elements: 'a' [18:01:59.655] resolved() for 'SequentialFuture' ... [18:01:59.655] - state: 'finished' [18:01:59.655] - run: TRUE [18:01:59.655] - result: 'FutureResult' [18:01:59.655] resolved() for 'SequentialFuture' ... done [18:01:59.655] Future #1 [18:01:59.656] resolved() for 'SequentialFuture' ... [18:01:59.656] - state: 'finished' [18:01:59.656] - run: TRUE [18:01:59.656] - result: 'FutureResult' [18:01:59.656] resolved() for 'SequentialFuture' ... done [18:01:59.657] A SequentialFuture was resolved [18:01:59.657] length: 0 (resolved future 1) [18:01:59.657] resolve() on list ... DONE [18:01:59.657] - globals: [1] 'a' [18:01:59.657] Resolving futures part of globals (recursively) ... DONE [18:01:59.658] The total size of the 1 globals is 9.95 KiB (10184 bytes) [18:01:59.659] 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') [18:01:59.659] - globals: [1] 'a' [18:01:59.659] - packages: [1] 'future' [18:01:59.659] getGlobalsAndPackages() ... DONE [18:01:59.660] run() for 'Future' ... [18:01:59.660] - state: 'created' [18:01:59.660] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.660] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.661] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.661] - Field: 'label' [18:01:59.661] - Field: 'local' [18:01:59.661] - Field: 'owner' [18:01:59.661] - Field: 'envir' [18:01:59.661] - Field: 'packages' [18:01:59.662] - Field: 'gc' [18:01:59.662] - Field: 'conditions' [18:01:59.662] - Field: 'expr' [18:01:59.662] - Field: 'uuid' [18:01:59.662] - Field: 'seed' [18:01:59.662] - Field: 'version' [18:01:59.663] - Field: 'result' [18:01:59.663] - Field: 'asynchronous' [18:01:59.663] - Field: 'calls' [18:01:59.663] - Field: 'globals' [18:01:59.663] - Field: 'stdout' [18:01:59.664] - Field: 'earlySignal' [18:01:59.664] - Field: 'lazy' [18:01:59.664] - Field: 'state' [18:01:59.664] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.664] - Launch lazy future ... [18:01:59.664] Packages needed by the future expression (n = 1): 'future' [18:01:59.665] Packages needed by future strategies (n = 0): [18:01:59.665] { [18:01:59.665] { [18:01:59.665] { [18:01:59.665] ...future.startTime <- base::Sys.time() [18:01:59.665] { [18:01:59.665] { [18:01:59.665] { [18:01:59.665] { [18:01:59.665] base::local({ [18:01:59.665] has_future <- base::requireNamespace("future", [18:01:59.665] quietly = TRUE) [18:01:59.665] if (has_future) { [18:01:59.665] ns <- base::getNamespace("future") [18:01:59.665] version <- ns[[".package"]][["version"]] [18:01:59.665] if (is.null(version)) [18:01:59.665] version <- utils::packageVersion("future") [18:01:59.665] } [18:01:59.665] else { [18:01:59.665] version <- NULL [18:01:59.665] } [18:01:59.665] if (!has_future || version < "1.8.0") { [18:01:59.665] info <- base::c(r_version = base::gsub("R version ", [18:01:59.665] "", base::R.version$version.string), [18:01:59.665] platform = base::sprintf("%s (%s-bit)", [18:01:59.665] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.665] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.665] "release", "version")], collapse = " "), [18:01:59.665] hostname = base::Sys.info()[["nodename"]]) [18:01:59.665] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.665] info) [18:01:59.665] info <- base::paste(info, collapse = "; ") [18:01:59.665] if (!has_future) { [18:01:59.665] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.665] info) [18:01:59.665] } [18:01:59.665] else { [18:01:59.665] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.665] info, version) [18:01:59.665] } [18:01:59.665] base::stop(msg) [18:01:59.665] } [18:01:59.665] }) [18:01:59.665] } [18:01:59.665] base::local({ [18:01:59.665] for (pkg in "future") { [18:01:59.665] base::loadNamespace(pkg) [18:01:59.665] base::library(pkg, character.only = TRUE) [18:01:59.665] } [18:01:59.665] }) [18:01:59.665] } [18:01:59.665] options(future.plan = NULL) [18:01:59.665] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.665] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.665] } [18:01:59.665] ...future.workdir <- getwd() [18:01:59.665] } [18:01:59.665] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.665] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.665] } [18:01:59.665] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.665] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.665] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.665] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.665] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.665] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.665] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.665] base::names(...future.oldOptions)) [18:01:59.665] } [18:01:59.665] if (FALSE) { [18:01:59.665] } [18:01:59.665] else { [18:01:59.665] if (TRUE) { [18:01:59.665] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.665] open = "w") [18:01:59.665] } [18:01:59.665] else { [18:01:59.665] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.665] windows = "NUL", "/dev/null"), open = "w") [18:01:59.665] } [18:01:59.665] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.665] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.665] base::sink(type = "output", split = FALSE) [18:01:59.665] base::close(...future.stdout) [18:01:59.665] }, add = TRUE) [18:01:59.665] } [18:01:59.665] ...future.frame <- base::sys.nframe() [18:01:59.665] ...future.conditions <- base::list() [18:01:59.665] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.665] if (FALSE) { [18:01:59.665] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.665] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.665] } [18:01:59.665] ...future.result <- base::tryCatch({ [18:01:59.665] base::withCallingHandlers({ [18:01:59.665] ...future.value <- base::withVisible(base::local(value(a) + [18:01:59.665] 1)) [18:01:59.665] future::FutureResult(value = ...future.value$value, [18:01:59.665] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.665] ...future.rng), globalenv = if (FALSE) [18:01:59.665] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.665] ...future.globalenv.names)) [18:01:59.665] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.665] }, condition = base::local({ [18:01:59.665] c <- base::c [18:01:59.665] inherits <- base::inherits [18:01:59.665] invokeRestart <- base::invokeRestart [18:01:59.665] length <- base::length [18:01:59.665] list <- base::list [18:01:59.665] seq.int <- base::seq.int [18:01:59.665] signalCondition <- base::signalCondition [18:01:59.665] sys.calls <- base::sys.calls [18:01:59.665] `[[` <- base::`[[` [18:01:59.665] `+` <- base::`+` [18:01:59.665] `<<-` <- base::`<<-` [18:01:59.665] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.665] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.665] 3L)] [18:01:59.665] } [18:01:59.665] function(cond) { [18:01:59.665] is_error <- inherits(cond, "error") [18:01:59.665] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.665] NULL) [18:01:59.665] if (is_error) { [18:01:59.665] sessionInformation <- function() { [18:01:59.665] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.665] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.665] search = base::search(), system = base::Sys.info()) [18:01:59.665] } [18:01:59.665] ...future.conditions[[length(...future.conditions) + [18:01:59.665] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.665] cond$call), session = sessionInformation(), [18:01:59.665] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.665] signalCondition(cond) [18:01:59.665] } [18:01:59.665] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.665] "immediateCondition"))) { [18:01:59.665] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.665] ...future.conditions[[length(...future.conditions) + [18:01:59.665] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.665] if (TRUE && !signal) { [18:01:59.665] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.665] { [18:01:59.665] inherits <- base::inherits [18:01:59.665] invokeRestart <- base::invokeRestart [18:01:59.665] is.null <- base::is.null [18:01:59.665] muffled <- FALSE [18:01:59.665] if (inherits(cond, "message")) { [18:01:59.665] muffled <- grepl(pattern, "muffleMessage") [18:01:59.665] if (muffled) [18:01:59.665] invokeRestart("muffleMessage") [18:01:59.665] } [18:01:59.665] else if (inherits(cond, "warning")) { [18:01:59.665] muffled <- grepl(pattern, "muffleWarning") [18:01:59.665] if (muffled) [18:01:59.665] invokeRestart("muffleWarning") [18:01:59.665] } [18:01:59.665] else if (inherits(cond, "condition")) { [18:01:59.665] if (!is.null(pattern)) { [18:01:59.665] computeRestarts <- base::computeRestarts [18:01:59.665] grepl <- base::grepl [18:01:59.665] restarts <- computeRestarts(cond) [18:01:59.665] for (restart in restarts) { [18:01:59.665] name <- restart$name [18:01:59.665] if (is.null(name)) [18:01:59.665] next [18:01:59.665] if (!grepl(pattern, name)) [18:01:59.665] next [18:01:59.665] invokeRestart(restart) [18:01:59.665] muffled <- TRUE [18:01:59.665] break [18:01:59.665] } [18:01:59.665] } [18:01:59.665] } [18:01:59.665] invisible(muffled) [18:01:59.665] } [18:01:59.665] muffleCondition(cond, pattern = "^muffle") [18:01:59.665] } [18:01:59.665] } [18:01:59.665] else { [18:01:59.665] if (TRUE) { [18:01:59.665] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.665] { [18:01:59.665] inherits <- base::inherits [18:01:59.665] invokeRestart <- base::invokeRestart [18:01:59.665] is.null <- base::is.null [18:01:59.665] muffled <- FALSE [18:01:59.665] if (inherits(cond, "message")) { [18:01:59.665] muffled <- grepl(pattern, "muffleMessage") [18:01:59.665] if (muffled) [18:01:59.665] invokeRestart("muffleMessage") [18:01:59.665] } [18:01:59.665] else if (inherits(cond, "warning")) { [18:01:59.665] muffled <- grepl(pattern, "muffleWarning") [18:01:59.665] if (muffled) [18:01:59.665] invokeRestart("muffleWarning") [18:01:59.665] } [18:01:59.665] else if (inherits(cond, "condition")) { [18:01:59.665] if (!is.null(pattern)) { [18:01:59.665] computeRestarts <- base::computeRestarts [18:01:59.665] grepl <- base::grepl [18:01:59.665] restarts <- computeRestarts(cond) [18:01:59.665] for (restart in restarts) { [18:01:59.665] name <- restart$name [18:01:59.665] if (is.null(name)) [18:01:59.665] next [18:01:59.665] if (!grepl(pattern, name)) [18:01:59.665] next [18:01:59.665] invokeRestart(restart) [18:01:59.665] muffled <- TRUE [18:01:59.665] break [18:01:59.665] } [18:01:59.665] } [18:01:59.665] } [18:01:59.665] invisible(muffled) [18:01:59.665] } [18:01:59.665] muffleCondition(cond, pattern = "^muffle") [18:01:59.665] } [18:01:59.665] } [18:01:59.665] } [18:01:59.665] })) [18:01:59.665] }, error = function(ex) { [18:01:59.665] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.665] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.665] ...future.rng), started = ...future.startTime, [18:01:59.665] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.665] version = "1.8"), class = "FutureResult") [18:01:59.665] }, finally = { [18:01:59.665] if (!identical(...future.workdir, getwd())) [18:01:59.665] setwd(...future.workdir) [18:01:59.665] { [18:01:59.665] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.665] ...future.oldOptions$nwarnings <- NULL [18:01:59.665] } [18:01:59.665] base::options(...future.oldOptions) [18:01:59.665] if (.Platform$OS.type == "windows") { [18:01:59.665] old_names <- names(...future.oldEnvVars) [18:01:59.665] envs <- base::Sys.getenv() [18:01:59.665] names <- names(envs) [18:01:59.665] common <- intersect(names, old_names) [18:01:59.665] added <- setdiff(names, old_names) [18:01:59.665] removed <- setdiff(old_names, names) [18:01:59.665] changed <- common[...future.oldEnvVars[common] != [18:01:59.665] envs[common]] [18:01:59.665] NAMES <- toupper(changed) [18:01:59.665] args <- list() [18:01:59.665] for (kk in seq_along(NAMES)) { [18:01:59.665] name <- changed[[kk]] [18:01:59.665] NAME <- NAMES[[kk]] [18:01:59.665] if (name != NAME && is.element(NAME, old_names)) [18:01:59.665] next [18:01:59.665] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.665] } [18:01:59.665] NAMES <- toupper(added) [18:01:59.665] for (kk in seq_along(NAMES)) { [18:01:59.665] name <- added[[kk]] [18:01:59.665] NAME <- NAMES[[kk]] [18:01:59.665] if (name != NAME && is.element(NAME, old_names)) [18:01:59.665] next [18:01:59.665] args[[name]] <- "" [18:01:59.665] } [18:01:59.665] NAMES <- toupper(removed) [18:01:59.665] for (kk in seq_along(NAMES)) { [18:01:59.665] name <- removed[[kk]] [18:01:59.665] NAME <- NAMES[[kk]] [18:01:59.665] if (name != NAME && is.element(NAME, old_names)) [18:01:59.665] next [18:01:59.665] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.665] } [18:01:59.665] if (length(args) > 0) [18:01:59.665] base::do.call(base::Sys.setenv, args = args) [18:01:59.665] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.665] } [18:01:59.665] else { [18:01:59.665] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.665] } [18:01:59.665] { [18:01:59.665] if (base::length(...future.futureOptionsAdded) > [18:01:59.665] 0L) { [18:01:59.665] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.665] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.665] base::options(opts) [18:01:59.665] } [18:01:59.665] { [18:01:59.665] { [18:01:59.665] NULL [18:01:59.665] RNGkind("Mersenne-Twister") [18:01:59.665] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.665] inherits = FALSE) [18:01:59.665] } [18:01:59.665] options(future.plan = NULL) [18:01:59.665] if (is.na(NA_character_)) [18:01:59.665] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.665] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.665] future::plan(list(function (..., envir = parent.frame()) [18:01:59.665] { [18:01:59.665] future <- SequentialFuture(..., envir = envir) [18:01:59.665] if (!future$lazy) [18:01:59.665] future <- run(future) [18:01:59.665] invisible(future) [18:01:59.665] }), .cleanup = FALSE, .init = FALSE) [18:01:59.665] } [18:01:59.665] } [18:01:59.665] } [18:01:59.665] }) [18:01:59.665] if (TRUE) { [18:01:59.665] base::sink(type = "output", split = FALSE) [18:01:59.665] if (TRUE) { [18:01:59.665] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.665] } [18:01:59.665] else { [18:01:59.665] ...future.result["stdout"] <- base::list(NULL) [18:01:59.665] } [18:01:59.665] base::close(...future.stdout) [18:01:59.665] ...future.stdout <- NULL [18:01:59.665] } [18:01:59.665] ...future.result$conditions <- ...future.conditions [18:01:59.665] ...future.result$finished <- base::Sys.time() [18:01:59.665] ...future.result [18:01:59.665] } [18:01:59.669] assign_globals() ... [18:01:59.669] List of 1 [18:01:59.669] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.669] - attr(*, "where")=List of 1 [18:01:59.669] ..$ a: [18:01:59.669] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.669] - attr(*, "resolved")= logi TRUE [18:01:59.669] - attr(*, "total_size")= num 10184 [18:01:59.669] - attr(*, "already-done")= logi TRUE [18:01:59.673] - copied 'a' to environment [18:01:59.673] assign_globals() ... done [18:01:59.674] plan(): Setting new future strategy stack: [18:01:59.674] List of future strategies: [18:01:59.674] 1. sequential: [18:01:59.674] - args: function (..., envir = parent.frame()) [18:01:59.674] - tweaked: FALSE [18:01:59.674] - call: NULL [18:01:59.674] plan(): nbrOfWorkers() = 1 [18:01:59.676] plan(): Setting new future strategy stack: [18:01:59.676] List of future strategies: [18:01:59.676] 1. sequential: [18:01:59.676] - args: function (..., envir = parent.frame()) [18:01:59.676] - tweaked: FALSE [18:01:59.676] - call: plan(strategy) [18:01:59.676] plan(): nbrOfWorkers() = 1 [18:01:59.677] SequentialFuture started (and completed) [18:01:59.677] - Launch lazy future ... done [18:01:59.677] run() for 'SequentialFuture' ... done value(b) = 2 Warning: 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' [18:01:59.677] getGlobalsAndPackages() ... Warning: 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' [18:01:59.678] Searching for globals... Warning: 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' [18:01:59.678] [18:01:59.679] Searching for globals ... DONE [18:01:59.679] - globals: [0] [18:01:59.679] getGlobalsAndPackages() ... DONE Warning: 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' [18:01:59.679] getGlobalsAndPackages() ... Warning: 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' [18:01:59.680] Searching for globals... Warning: 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' [18:01:59.681] - globals found: [3] '+', 'value', 'a' [18:01:59.681] Searching for globals ... DONE [18:01:59.681] Resolving globals: TRUE [18:01:59.681] Resolving any globals that are futures ... [18:01:59.681] - globals: [3] '+', 'value', 'a' [18:01:59.682] Resolving any globals that are futures ... DONE [18:01:59.682] Resolving futures part of globals (recursively) ... [18:01:59.682] resolve() on list ... [18:01:59.682] recursive: 99 [18:01:59.683] length: 1 [18:01:59.683] elements: 'a' [18:01:59.683] run() for 'Future' ... [18:01:59.683] - state: 'created' [18:01:59.683] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.684] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.684] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.684] - Field: 'label' [18:01:59.684] - Field: 'local' [18:01:59.684] - Field: 'owner' [18:01:59.685] - Field: 'envir' [18:01:59.685] - Field: 'packages' [18:01:59.685] - Field: 'gc' [18:01:59.685] - Field: 'conditions' [18:01:59.685] - Field: 'expr' [18:01:59.685] - Field: 'uuid' [18:01:59.686] - Field: 'seed' [18:01:59.686] - Field: 'version' [18:01:59.686] - Field: 'result' [18:01:59.686] - Field: 'asynchronous' [18:01:59.686] - Field: 'calls' [18:01:59.687] - Field: 'globals' [18:01:59.687] - Field: 'stdout' [18:01:59.687] - Field: 'earlySignal' [18:01:59.687] - Field: 'lazy' [18:01:59.687] - Field: 'state' [18:01:59.687] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.688] - Launch lazy future ... [18:01:59.688] Packages needed by the future expression (n = 0): [18:01:59.688] Packages needed by future strategies (n = 0): [18:01:59.688] { [18:01:59.688] { [18:01:59.688] { [18:01:59.688] ...future.startTime <- base::Sys.time() [18:01:59.688] { [18:01:59.688] { [18:01:59.688] { [18:01:59.688] base::local({ [18:01:59.688] has_future <- base::requireNamespace("future", [18:01:59.688] quietly = TRUE) [18:01:59.688] if (has_future) { [18:01:59.688] ns <- base::getNamespace("future") [18:01:59.688] version <- ns[[".package"]][["version"]] [18:01:59.688] if (is.null(version)) [18:01:59.688] version <- utils::packageVersion("future") [18:01:59.688] } [18:01:59.688] else { [18:01:59.688] version <- NULL [18:01:59.688] } [18:01:59.688] if (!has_future || version < "1.8.0") { [18:01:59.688] info <- base::c(r_version = base::gsub("R version ", [18:01:59.688] "", base::R.version$version.string), [18:01:59.688] platform = base::sprintf("%s (%s-bit)", [18:01:59.688] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.688] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.688] "release", "version")], collapse = " "), [18:01:59.688] hostname = base::Sys.info()[["nodename"]]) [18:01:59.688] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.688] info) [18:01:59.688] info <- base::paste(info, collapse = "; ") [18:01:59.688] if (!has_future) { [18:01:59.688] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.688] info) [18:01:59.688] } [18:01:59.688] else { [18:01:59.688] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.688] info, version) [18:01:59.688] } [18:01:59.688] base::stop(msg) [18:01:59.688] } [18:01:59.688] }) [18:01:59.688] } [18:01:59.688] options(future.plan = NULL) [18:01:59.688] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.688] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.688] } [18:01:59.688] ...future.workdir <- getwd() [18:01:59.688] } [18:01:59.688] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.688] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.688] } [18:01:59.688] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.688] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.688] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.688] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.688] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.688] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.688] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.688] base::names(...future.oldOptions)) [18:01:59.688] } [18:01:59.688] if (FALSE) { [18:01:59.688] } [18:01:59.688] else { [18:01:59.688] if (TRUE) { [18:01:59.688] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.688] open = "w") [18:01:59.688] } [18:01:59.688] else { [18:01:59.688] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.688] windows = "NUL", "/dev/null"), open = "w") [18:01:59.688] } [18:01:59.688] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.688] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.688] base::sink(type = "output", split = FALSE) [18:01:59.688] base::close(...future.stdout) [18:01:59.688] }, add = TRUE) [18:01:59.688] } [18:01:59.688] ...future.frame <- base::sys.nframe() [18:01:59.688] ...future.conditions <- base::list() [18:01:59.688] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.688] if (FALSE) { [18:01:59.688] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.688] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.688] } [18:01:59.688] ...future.result <- base::tryCatch({ [18:01:59.688] base::withCallingHandlers({ [18:01:59.688] ...future.value <- base::withVisible(base::local(1)) [18:01:59.688] future::FutureResult(value = ...future.value$value, [18:01:59.688] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.688] ...future.rng), globalenv = if (FALSE) [18:01:59.688] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.688] ...future.globalenv.names)) [18:01:59.688] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.688] }, condition = base::local({ [18:01:59.688] c <- base::c [18:01:59.688] inherits <- base::inherits [18:01:59.688] invokeRestart <- base::invokeRestart [18:01:59.688] length <- base::length [18:01:59.688] list <- base::list [18:01:59.688] seq.int <- base::seq.int [18:01:59.688] signalCondition <- base::signalCondition [18:01:59.688] sys.calls <- base::sys.calls [18:01:59.688] `[[` <- base::`[[` [18:01:59.688] `+` <- base::`+` [18:01:59.688] `<<-` <- base::`<<-` [18:01:59.688] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.688] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.688] 3L)] [18:01:59.688] } [18:01:59.688] function(cond) { [18:01:59.688] is_error <- inherits(cond, "error") [18:01:59.688] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.688] NULL) [18:01:59.688] if (is_error) { [18:01:59.688] sessionInformation <- function() { [18:01:59.688] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.688] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.688] search = base::search(), system = base::Sys.info()) [18:01:59.688] } [18:01:59.688] ...future.conditions[[length(...future.conditions) + [18:01:59.688] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.688] cond$call), session = sessionInformation(), [18:01:59.688] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.688] signalCondition(cond) [18:01:59.688] } [18:01:59.688] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.688] "immediateCondition"))) { [18:01:59.688] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.688] ...future.conditions[[length(...future.conditions) + [18:01:59.688] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.688] if (TRUE && !signal) { [18:01:59.688] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.688] { [18:01:59.688] inherits <- base::inherits [18:01:59.688] invokeRestart <- base::invokeRestart [18:01:59.688] is.null <- base::is.null [18:01:59.688] muffled <- FALSE [18:01:59.688] if (inherits(cond, "message")) { [18:01:59.688] muffled <- grepl(pattern, "muffleMessage") [18:01:59.688] if (muffled) [18:01:59.688] invokeRestart("muffleMessage") [18:01:59.688] } [18:01:59.688] else if (inherits(cond, "warning")) { [18:01:59.688] muffled <- grepl(pattern, "muffleWarning") [18:01:59.688] if (muffled) [18:01:59.688] invokeRestart("muffleWarning") [18:01:59.688] } [18:01:59.688] else if (inherits(cond, "condition")) { [18:01:59.688] if (!is.null(pattern)) { [18:01:59.688] computeRestarts <- base::computeRestarts [18:01:59.688] grepl <- base::grepl [18:01:59.688] restarts <- computeRestarts(cond) [18:01:59.688] for (restart in restarts) { [18:01:59.688] name <- restart$name [18:01:59.688] if (is.null(name)) [18:01:59.688] next [18:01:59.688] if (!grepl(pattern, name)) [18:01:59.688] next [18:01:59.688] invokeRestart(restart) [18:01:59.688] muffled <- TRUE [18:01:59.688] break [18:01:59.688] } [18:01:59.688] } [18:01:59.688] } [18:01:59.688] invisible(muffled) [18:01:59.688] } [18:01:59.688] muffleCondition(cond, pattern = "^muffle") [18:01:59.688] } [18:01:59.688] } [18:01:59.688] else { [18:01:59.688] if (TRUE) { [18:01:59.688] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.688] { [18:01:59.688] inherits <- base::inherits [18:01:59.688] invokeRestart <- base::invokeRestart [18:01:59.688] is.null <- base::is.null [18:01:59.688] muffled <- FALSE [18:01:59.688] if (inherits(cond, "message")) { [18:01:59.688] muffled <- grepl(pattern, "muffleMessage") [18:01:59.688] if (muffled) [18:01:59.688] invokeRestart("muffleMessage") [18:01:59.688] } [18:01:59.688] else if (inherits(cond, "warning")) { [18:01:59.688] muffled <- grepl(pattern, "muffleWarning") [18:01:59.688] if (muffled) [18:01:59.688] invokeRestart("muffleWarning") [18:01:59.688] } [18:01:59.688] else if (inherits(cond, "condition")) { [18:01:59.688] if (!is.null(pattern)) { [18:01:59.688] computeRestarts <- base::computeRestarts [18:01:59.688] grepl <- base::grepl [18:01:59.688] restarts <- computeRestarts(cond) [18:01:59.688] for (restart in restarts) { [18:01:59.688] name <- restart$name [18:01:59.688] if (is.null(name)) [18:01:59.688] next [18:01:59.688] if (!grepl(pattern, name)) [18:01:59.688] next [18:01:59.688] invokeRestart(restart) [18:01:59.688] muffled <- TRUE [18:01:59.688] break [18:01:59.688] } [18:01:59.688] } [18:01:59.688] } [18:01:59.688] invisible(muffled) [18:01:59.688] } [18:01:59.688] muffleCondition(cond, pattern = "^muffle") [18:01:59.688] } [18:01:59.688] } [18:01:59.688] } [18:01:59.688] })) [18:01:59.688] }, error = function(ex) { [18:01:59.688] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.688] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.688] ...future.rng), started = ...future.startTime, [18:01:59.688] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.688] version = "1.8"), class = "FutureResult") [18:01:59.688] }, finally = { [18:01:59.688] if (!identical(...future.workdir, getwd())) [18:01:59.688] setwd(...future.workdir) [18:01:59.688] { [18:01:59.688] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.688] ...future.oldOptions$nwarnings <- NULL [18:01:59.688] } [18:01:59.688] base::options(...future.oldOptions) [18:01:59.688] if (.Platform$OS.type == "windows") { [18:01:59.688] old_names <- names(...future.oldEnvVars) [18:01:59.688] envs <- base::Sys.getenv() [18:01:59.688] names <- names(envs) [18:01:59.688] common <- intersect(names, old_names) [18:01:59.688] added <- setdiff(names, old_names) [18:01:59.688] removed <- setdiff(old_names, names) [18:01:59.688] changed <- common[...future.oldEnvVars[common] != [18:01:59.688] envs[common]] [18:01:59.688] NAMES <- toupper(changed) [18:01:59.688] args <- list() [18:01:59.688] for (kk in seq_along(NAMES)) { [18:01:59.688] name <- changed[[kk]] [18:01:59.688] NAME <- NAMES[[kk]] [18:01:59.688] if (name != NAME && is.element(NAME, old_names)) [18:01:59.688] next [18:01:59.688] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.688] } [18:01:59.688] NAMES <- toupper(added) [18:01:59.688] for (kk in seq_along(NAMES)) { [18:01:59.688] name <- added[[kk]] [18:01:59.688] NAME <- NAMES[[kk]] [18:01:59.688] if (name != NAME && is.element(NAME, old_names)) [18:01:59.688] next [18:01:59.688] args[[name]] <- "" [18:01:59.688] } [18:01:59.688] NAMES <- toupper(removed) [18:01:59.688] for (kk in seq_along(NAMES)) { [18:01:59.688] name <- removed[[kk]] [18:01:59.688] NAME <- NAMES[[kk]] [18:01:59.688] if (name != NAME && is.element(NAME, old_names)) [18:01:59.688] next [18:01:59.688] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.688] } [18:01:59.688] if (length(args) > 0) [18:01:59.688] base::do.call(base::Sys.setenv, args = args) [18:01:59.688] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.688] } [18:01:59.688] else { [18:01:59.688] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.688] } [18:01:59.688] { [18:01:59.688] if (base::length(...future.futureOptionsAdded) > [18:01:59.688] 0L) { [18:01:59.688] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.688] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.688] base::options(opts) [18:01:59.688] } [18:01:59.688] { [18:01:59.688] { [18:01:59.688] NULL [18:01:59.688] RNGkind("Mersenne-Twister") [18:01:59.688] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.688] inherits = FALSE) [18:01:59.688] } [18:01:59.688] options(future.plan = NULL) [18:01:59.688] if (is.na(NA_character_)) [18:01:59.688] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.688] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.688] future::plan(list(function (..., envir = parent.frame()) [18:01:59.688] { [18:01:59.688] future <- SequentialFuture(..., envir = envir) [18:01:59.688] if (!future$lazy) [18:01:59.688] future <- run(future) [18:01:59.688] invisible(future) [18:01:59.688] }), .cleanup = FALSE, .init = FALSE) [18:01:59.688] } [18:01:59.688] } [18:01:59.688] } [18:01:59.688] }) [18:01:59.688] if (TRUE) { [18:01:59.688] base::sink(type = "output", split = FALSE) [18:01:59.688] if (TRUE) { [18:01:59.688] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.688] } [18:01:59.688] else { [18:01:59.688] ...future.result["stdout"] <- base::list(NULL) [18:01:59.688] } [18:01:59.688] base::close(...future.stdout) [18:01:59.688] ...future.stdout <- NULL [18:01:59.688] } [18:01:59.688] ...future.result$conditions <- ...future.conditions [18:01:59.688] ...future.result$finished <- base::Sys.time() [18:01:59.688] ...future.result [18:01:59.688] } [18:01:59.692] plan(): Setting new future strategy stack: [18:01:59.693] List of future strategies: [18:01:59.693] 1. sequential: [18:01:59.693] - args: function (..., envir = parent.frame()) [18:01:59.693] - tweaked: FALSE [18:01:59.693] - call: NULL [18:01:59.693] plan(): nbrOfWorkers() = 1 [18:01:59.694] plan(): Setting new future strategy stack: [18:01:59.694] List of future strategies: [18:01:59.694] 1. sequential: [18:01:59.694] - args: function (..., envir = parent.frame()) [18:01:59.694] - tweaked: FALSE [18:01:59.694] - call: plan(strategy) [18:01:59.695] plan(): nbrOfWorkers() = 1 [18:01:59.695] SequentialFuture started (and completed) [18:01:59.695] - Launch lazy future ... done [18:01:59.695] run() for 'SequentialFuture' ... done [18:01:59.696] resolved() for 'SequentialFuture' ... [18:01:59.696] - state: 'finished' [18:01:59.696] - run: TRUE [18:01:59.696] - result: 'FutureResult' [18:01:59.696] resolved() for 'SequentialFuture' ... done [18:01:59.697] Future #1 [18:01:59.697] resolved() for 'SequentialFuture' ... [18:01:59.697] - state: 'finished' [18:01:59.697] - run: TRUE [18:01:59.697] - result: 'FutureResult' [18:01:59.697] resolved() for 'SequentialFuture' ... done [18:01:59.698] A SequentialFuture was resolved [18:01:59.698] length: 0 (resolved future 1) [18:01:59.698] resolve() on list ... DONE [18:01:59.698] - globals: [1] 'a' [18:01:59.698] Resolving futures part of globals (recursively) ... DONE [18:01:59.699] The total size of the 1 globals is 10.11 KiB (10352 bytes) [18:01:59.700] 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') [18:01:59.700] - globals: [1] 'a' [18:01:59.700] - packages: [1] 'future' [18:01:59.700] getGlobalsAndPackages() ... DONE [18:01:59.701] run() for 'Future' ... [18:01:59.701] - state: 'created' [18:01:59.701] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.701] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.702] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.702] - Field: 'label' [18:01:59.702] - Field: 'local' [18:01:59.702] - Field: 'owner' [18:01:59.702] - Field: 'envir' [18:01:59.702] - Field: 'packages' [18:01:59.703] - Field: 'gc' [18:01:59.703] - Field: 'conditions' [18:01:59.703] - Field: 'expr' [18:01:59.703] - Field: 'uuid' [18:01:59.703] - Field: 'seed' [18:01:59.704] - Field: 'version' [18:01:59.704] - Field: 'result' [18:01:59.704] - Field: 'asynchronous' [18:01:59.704] - Field: 'calls' [18:01:59.704] - Field: 'globals' [18:01:59.704] - Field: 'stdout' [18:01:59.705] - Field: 'earlySignal' [18:01:59.705] - Field: 'lazy' [18:01:59.705] - Field: 'state' [18:01:59.705] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.705] - Launch lazy future ... [18:01:59.706] Packages needed by the future expression (n = 1): 'future' [18:01:59.707] Packages needed by future strategies (n = 0): [18:01:59.707] { [18:01:59.707] { [18:01:59.707] { [18:01:59.707] ...future.startTime <- base::Sys.time() [18:01:59.707] { [18:01:59.707] { [18:01:59.707] { [18:01:59.707] { [18:01:59.707] base::local({ [18:01:59.707] has_future <- base::requireNamespace("future", [18:01:59.707] quietly = TRUE) [18:01:59.707] if (has_future) { [18:01:59.707] ns <- base::getNamespace("future") [18:01:59.707] version <- ns[[".package"]][["version"]] [18:01:59.707] if (is.null(version)) [18:01:59.707] version <- utils::packageVersion("future") [18:01:59.707] } [18:01:59.707] else { [18:01:59.707] version <- NULL [18:01:59.707] } [18:01:59.707] if (!has_future || version < "1.8.0") { [18:01:59.707] info <- base::c(r_version = base::gsub("R version ", [18:01:59.707] "", base::R.version$version.string), [18:01:59.707] platform = base::sprintf("%s (%s-bit)", [18:01:59.707] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.707] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.707] "release", "version")], collapse = " "), [18:01:59.707] hostname = base::Sys.info()[["nodename"]]) [18:01:59.707] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.707] info) [18:01:59.707] info <- base::paste(info, collapse = "; ") [18:01:59.707] if (!has_future) { [18:01:59.707] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.707] info) [18:01:59.707] } [18:01:59.707] else { [18:01:59.707] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.707] info, version) [18:01:59.707] } [18:01:59.707] base::stop(msg) [18:01:59.707] } [18:01:59.707] }) [18:01:59.707] } [18:01:59.707] base::local({ [18:01:59.707] for (pkg in "future") { [18:01:59.707] base::loadNamespace(pkg) [18:01:59.707] base::library(pkg, character.only = TRUE) [18:01:59.707] } [18:01:59.707] }) [18:01:59.707] } [18:01:59.707] options(future.plan = NULL) [18:01:59.707] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.707] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.707] } [18:01:59.707] ...future.workdir <- getwd() [18:01:59.707] } [18:01:59.707] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.707] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.707] } [18:01:59.707] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.707] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.707] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.707] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.707] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.707] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.707] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.707] base::names(...future.oldOptions)) [18:01:59.707] } [18:01:59.707] if (FALSE) { [18:01:59.707] } [18:01:59.707] else { [18:01:59.707] if (TRUE) { [18:01:59.707] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.707] open = "w") [18:01:59.707] } [18:01:59.707] else { [18:01:59.707] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.707] windows = "NUL", "/dev/null"), open = "w") [18:01:59.707] } [18:01:59.707] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.707] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.707] base::sink(type = "output", split = FALSE) [18:01:59.707] base::close(...future.stdout) [18:01:59.707] }, add = TRUE) [18:01:59.707] } [18:01:59.707] ...future.frame <- base::sys.nframe() [18:01:59.707] ...future.conditions <- base::list() [18:01:59.707] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.707] if (FALSE) { [18:01:59.707] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.707] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.707] } [18:01:59.707] ...future.result <- base::tryCatch({ [18:01:59.707] base::withCallingHandlers({ [18:01:59.707] ...future.value <- base::withVisible(base::local(value(a) + [18:01:59.707] 1)) [18:01:59.707] future::FutureResult(value = ...future.value$value, [18:01:59.707] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.707] ...future.rng), globalenv = if (FALSE) [18:01:59.707] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.707] ...future.globalenv.names)) [18:01:59.707] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.707] }, condition = base::local({ [18:01:59.707] c <- base::c [18:01:59.707] inherits <- base::inherits [18:01:59.707] invokeRestart <- base::invokeRestart [18:01:59.707] length <- base::length [18:01:59.707] list <- base::list [18:01:59.707] seq.int <- base::seq.int [18:01:59.707] signalCondition <- base::signalCondition [18:01:59.707] sys.calls <- base::sys.calls [18:01:59.707] `[[` <- base::`[[` [18:01:59.707] `+` <- base::`+` [18:01:59.707] `<<-` <- base::`<<-` [18:01:59.707] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.707] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.707] 3L)] [18:01:59.707] } [18:01:59.707] function(cond) { [18:01:59.707] is_error <- inherits(cond, "error") [18:01:59.707] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.707] NULL) [18:01:59.707] if (is_error) { [18:01:59.707] sessionInformation <- function() { [18:01:59.707] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.707] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.707] search = base::search(), system = base::Sys.info()) [18:01:59.707] } [18:01:59.707] ...future.conditions[[length(...future.conditions) + [18:01:59.707] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.707] cond$call), session = sessionInformation(), [18:01:59.707] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.707] signalCondition(cond) [18:01:59.707] } [18:01:59.707] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.707] "immediateCondition"))) { [18:01:59.707] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.707] ...future.conditions[[length(...future.conditions) + [18:01:59.707] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.707] if (TRUE && !signal) { [18:01:59.707] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.707] { [18:01:59.707] inherits <- base::inherits [18:01:59.707] invokeRestart <- base::invokeRestart [18:01:59.707] is.null <- base::is.null [18:01:59.707] muffled <- FALSE [18:01:59.707] if (inherits(cond, "message")) { [18:01:59.707] muffled <- grepl(pattern, "muffleMessage") [18:01:59.707] if (muffled) [18:01:59.707] invokeRestart("muffleMessage") [18:01:59.707] } [18:01:59.707] else if (inherits(cond, "warning")) { [18:01:59.707] muffled <- grepl(pattern, "muffleWarning") [18:01:59.707] if (muffled) [18:01:59.707] invokeRestart("muffleWarning") [18:01:59.707] } [18:01:59.707] else if (inherits(cond, "condition")) { [18:01:59.707] if (!is.null(pattern)) { [18:01:59.707] computeRestarts <- base::computeRestarts [18:01:59.707] grepl <- base::grepl [18:01:59.707] restarts <- computeRestarts(cond) [18:01:59.707] for (restart in restarts) { [18:01:59.707] name <- restart$name [18:01:59.707] if (is.null(name)) [18:01:59.707] next [18:01:59.707] if (!grepl(pattern, name)) [18:01:59.707] next [18:01:59.707] invokeRestart(restart) [18:01:59.707] muffled <- TRUE [18:01:59.707] break [18:01:59.707] } [18:01:59.707] } [18:01:59.707] } [18:01:59.707] invisible(muffled) [18:01:59.707] } [18:01:59.707] muffleCondition(cond, pattern = "^muffle") [18:01:59.707] } [18:01:59.707] } [18:01:59.707] else { [18:01:59.707] if (TRUE) { [18:01:59.707] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.707] { [18:01:59.707] inherits <- base::inherits [18:01:59.707] invokeRestart <- base::invokeRestart [18:01:59.707] is.null <- base::is.null [18:01:59.707] muffled <- FALSE [18:01:59.707] if (inherits(cond, "message")) { [18:01:59.707] muffled <- grepl(pattern, "muffleMessage") [18:01:59.707] if (muffled) [18:01:59.707] invokeRestart("muffleMessage") [18:01:59.707] } [18:01:59.707] else if (inherits(cond, "warning")) { [18:01:59.707] muffled <- grepl(pattern, "muffleWarning") [18:01:59.707] if (muffled) [18:01:59.707] invokeRestart("muffleWarning") [18:01:59.707] } [18:01:59.707] else if (inherits(cond, "condition")) { [18:01:59.707] if (!is.null(pattern)) { [18:01:59.707] computeRestarts <- base::computeRestarts [18:01:59.707] grepl <- base::grepl [18:01:59.707] restarts <- computeRestarts(cond) [18:01:59.707] for (restart in restarts) { [18:01:59.707] name <- restart$name [18:01:59.707] if (is.null(name)) [18:01:59.707] next [18:01:59.707] if (!grepl(pattern, name)) [18:01:59.707] next [18:01:59.707] invokeRestart(restart) [18:01:59.707] muffled <- TRUE [18:01:59.707] break [18:01:59.707] } [18:01:59.707] } [18:01:59.707] } [18:01:59.707] invisible(muffled) [18:01:59.707] } [18:01:59.707] muffleCondition(cond, pattern = "^muffle") [18:01:59.707] } [18:01:59.707] } [18:01:59.707] } [18:01:59.707] })) [18:01:59.707] }, error = function(ex) { [18:01:59.707] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.707] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.707] ...future.rng), started = ...future.startTime, [18:01:59.707] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.707] version = "1.8"), class = "FutureResult") [18:01:59.707] }, finally = { [18:01:59.707] if (!identical(...future.workdir, getwd())) [18:01:59.707] setwd(...future.workdir) [18:01:59.707] { [18:01:59.707] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.707] ...future.oldOptions$nwarnings <- NULL [18:01:59.707] } [18:01:59.707] base::options(...future.oldOptions) [18:01:59.707] if (.Platform$OS.type == "windows") { [18:01:59.707] old_names <- names(...future.oldEnvVars) [18:01:59.707] envs <- base::Sys.getenv() [18:01:59.707] names <- names(envs) [18:01:59.707] common <- intersect(names, old_names) [18:01:59.707] added <- setdiff(names, old_names) [18:01:59.707] removed <- setdiff(old_names, names) [18:01:59.707] changed <- common[...future.oldEnvVars[common] != [18:01:59.707] envs[common]] [18:01:59.707] NAMES <- toupper(changed) [18:01:59.707] args <- list() [18:01:59.707] for (kk in seq_along(NAMES)) { [18:01:59.707] name <- changed[[kk]] [18:01:59.707] NAME <- NAMES[[kk]] [18:01:59.707] if (name != NAME && is.element(NAME, old_names)) [18:01:59.707] next [18:01:59.707] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.707] } [18:01:59.707] NAMES <- toupper(added) [18:01:59.707] for (kk in seq_along(NAMES)) { [18:01:59.707] name <- added[[kk]] [18:01:59.707] NAME <- NAMES[[kk]] [18:01:59.707] if (name != NAME && is.element(NAME, old_names)) [18:01:59.707] next [18:01:59.707] args[[name]] <- "" [18:01:59.707] } [18:01:59.707] NAMES <- toupper(removed) [18:01:59.707] for (kk in seq_along(NAMES)) { [18:01:59.707] name <- removed[[kk]] [18:01:59.707] NAME <- NAMES[[kk]] [18:01:59.707] if (name != NAME && is.element(NAME, old_names)) [18:01:59.707] next [18:01:59.707] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.707] } [18:01:59.707] if (length(args) > 0) [18:01:59.707] base::do.call(base::Sys.setenv, args = args) [18:01:59.707] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.707] } [18:01:59.707] else { [18:01:59.707] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.707] } [18:01:59.707] { [18:01:59.707] if (base::length(...future.futureOptionsAdded) > [18:01:59.707] 0L) { [18:01:59.707] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.707] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.707] base::options(opts) [18:01:59.707] } [18:01:59.707] { [18:01:59.707] { [18:01:59.707] NULL [18:01:59.707] RNGkind("Mersenne-Twister") [18:01:59.707] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.707] inherits = FALSE) [18:01:59.707] } [18:01:59.707] options(future.plan = NULL) [18:01:59.707] if (is.na(NA_character_)) [18:01:59.707] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.707] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.707] future::plan(list(function (..., envir = parent.frame()) [18:01:59.707] { [18:01:59.707] future <- SequentialFuture(..., envir = envir) [18:01:59.707] if (!future$lazy) [18:01:59.707] future <- run(future) [18:01:59.707] invisible(future) [18:01:59.707] }), .cleanup = FALSE, .init = FALSE) [18:01:59.707] } [18:01:59.707] } [18:01:59.707] } [18:01:59.707] }) [18:01:59.707] if (TRUE) { [18:01:59.707] base::sink(type = "output", split = FALSE) [18:01:59.707] if (TRUE) { [18:01:59.707] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.707] } [18:01:59.707] else { [18:01:59.707] ...future.result["stdout"] <- base::list(NULL) [18:01:59.707] } [18:01:59.707] base::close(...future.stdout) [18:01:59.707] ...future.stdout <- NULL [18:01:59.707] } [18:01:59.707] ...future.result$conditions <- ...future.conditions [18:01:59.707] ...future.result$finished <- base::Sys.time() [18:01:59.707] ...future.result [18:01:59.707] } [18:01:59.711] assign_globals() ... [18:01:59.711] List of 1 [18:01:59.711] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.711] - attr(*, "where")=List of 1 [18:01:59.711] ..$ a: [18:01:59.711] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.711] - attr(*, "resolved")= logi TRUE [18:01:59.711] - attr(*, "total_size")= num 10352 [18:01:59.711] - attr(*, "already-done")= logi TRUE [18:01:59.714] - copied 'a' to environment [18:01:59.714] assign_globals() ... done [18:01:59.715] plan(): Setting new future strategy stack: [18:01:59.715] List of future strategies: [18:01:59.715] 1. sequential: [18:01:59.715] - args: function (..., envir = parent.frame()) [18:01:59.715] - tweaked: FALSE [18:01:59.715] - call: NULL [18:01:59.715] plan(): nbrOfWorkers() = 1 [18:01:59.717] plan(): Setting new future strategy stack: [18:01:59.717] List of future strategies: [18:01:59.717] 1. sequential: [18:01:59.717] - args: function (..., envir = parent.frame()) [18:01:59.717] - tweaked: FALSE [18:01:59.717] - call: plan(strategy) [18:01:59.717] plan(): nbrOfWorkers() = 1 [18:01:59.717] SequentialFuture started (and completed) [18:01:59.718] - Launch lazy future ... done [18:01:59.718] run() for 'SequentialFuture' ... done value(b) = 2 Warning: 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' [18:01:59.718] getGlobalsAndPackages() ... Warning: 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' [18:01:59.719] Searching for globals... Warning: 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' [18:01:59.719] [18:01:59.720] Searching for globals ... DONE [18:01:59.720] - globals: [0] [18:01:59.720] getGlobalsAndPackages() ... DONE Warning: 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' [18:01:59.720] getGlobalsAndPackages() ... Warning: 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' [18:01:59.721] Searching for globals... Warning: 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' [18:01:59.722] - globals found: [3] '+', 'value', 'a' [18:01:59.722] Searching for globals ... DONE [18:01:59.722] Resolving globals: TRUE [18:01:59.722] Resolving any globals that are futures ... [18:01:59.722] - globals: [3] '+', 'value', 'a' [18:01:59.723] Resolving any globals that are futures ... DONE [18:01:59.723] Resolving futures part of globals (recursively) ... [18:01:59.723] resolve() on list ... [18:01:59.723] recursive: 99 [18:01:59.724] length: 1 [18:01:59.724] elements: 'a' [18:01:59.724] run() for 'Future' ... [18:01:59.724] - state: 'created' [18:01:59.724] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.725] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.725] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.725] - Field: 'label' [18:01:59.725] - Field: 'local' [18:01:59.725] - Field: 'owner' [18:01:59.726] - Field: 'envir' [18:01:59.726] - Field: 'packages' [18:01:59.726] - Field: 'gc' [18:01:59.726] - Field: 'conditions' [18:01:59.726] - Field: 'expr' [18:01:59.726] - Field: 'uuid' [18:01:59.727] - Field: 'seed' [18:01:59.727] - Field: 'version' [18:01:59.727] - Field: 'result' [18:01:59.727] - Field: 'asynchronous' [18:01:59.727] - Field: 'calls' [18:01:59.727] - Field: 'globals' [18:01:59.728] - Field: 'stdout' [18:01:59.728] - Field: 'earlySignal' [18:01:59.728] - Field: 'lazy' [18:01:59.728] - Field: 'state' [18:01:59.728] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.728] - Launch lazy future ... [18:01:59.729] Packages needed by the future expression (n = 0): [18:01:59.729] Packages needed by future strategies (n = 0): [18:01:59.729] { [18:01:59.729] { [18:01:59.729] { [18:01:59.729] ...future.startTime <- base::Sys.time() [18:01:59.729] { [18:01:59.729] { [18:01:59.729] { [18:01:59.729] base::local({ [18:01:59.729] has_future <- base::requireNamespace("future", [18:01:59.729] quietly = TRUE) [18:01:59.729] if (has_future) { [18:01:59.729] ns <- base::getNamespace("future") [18:01:59.729] version <- ns[[".package"]][["version"]] [18:01:59.729] if (is.null(version)) [18:01:59.729] version <- utils::packageVersion("future") [18:01:59.729] } [18:01:59.729] else { [18:01:59.729] version <- NULL [18:01:59.729] } [18:01:59.729] if (!has_future || version < "1.8.0") { [18:01:59.729] info <- base::c(r_version = base::gsub("R version ", [18:01:59.729] "", base::R.version$version.string), [18:01:59.729] platform = base::sprintf("%s (%s-bit)", [18:01:59.729] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.729] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.729] "release", "version")], collapse = " "), [18:01:59.729] hostname = base::Sys.info()[["nodename"]]) [18:01:59.729] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.729] info) [18:01:59.729] info <- base::paste(info, collapse = "; ") [18:01:59.729] if (!has_future) { [18:01:59.729] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.729] info) [18:01:59.729] } [18:01:59.729] else { [18:01:59.729] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.729] info, version) [18:01:59.729] } [18:01:59.729] base::stop(msg) [18:01:59.729] } [18:01:59.729] }) [18:01:59.729] } [18:01:59.729] options(future.plan = NULL) [18:01:59.729] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.729] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.729] } [18:01:59.729] ...future.workdir <- getwd() [18:01:59.729] } [18:01:59.729] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.729] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.729] } [18:01:59.729] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.729] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.729] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.729] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.729] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.729] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.729] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.729] base::names(...future.oldOptions)) [18:01:59.729] } [18:01:59.729] if (FALSE) { [18:01:59.729] } [18:01:59.729] else { [18:01:59.729] if (TRUE) { [18:01:59.729] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.729] open = "w") [18:01:59.729] } [18:01:59.729] else { [18:01:59.729] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.729] windows = "NUL", "/dev/null"), open = "w") [18:01:59.729] } [18:01:59.729] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.729] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.729] base::sink(type = "output", split = FALSE) [18:01:59.729] base::close(...future.stdout) [18:01:59.729] }, add = TRUE) [18:01:59.729] } [18:01:59.729] ...future.frame <- base::sys.nframe() [18:01:59.729] ...future.conditions <- base::list() [18:01:59.729] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.729] if (FALSE) { [18:01:59.729] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.729] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.729] } [18:01:59.729] ...future.result <- base::tryCatch({ [18:01:59.729] base::withCallingHandlers({ [18:01:59.729] ...future.value <- base::withVisible(base::local(1)) [18:01:59.729] future::FutureResult(value = ...future.value$value, [18:01:59.729] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.729] ...future.rng), globalenv = if (FALSE) [18:01:59.729] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.729] ...future.globalenv.names)) [18:01:59.729] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.729] }, condition = base::local({ [18:01:59.729] c <- base::c [18:01:59.729] inherits <- base::inherits [18:01:59.729] invokeRestart <- base::invokeRestart [18:01:59.729] length <- base::length [18:01:59.729] list <- base::list [18:01:59.729] seq.int <- base::seq.int [18:01:59.729] signalCondition <- base::signalCondition [18:01:59.729] sys.calls <- base::sys.calls [18:01:59.729] `[[` <- base::`[[` [18:01:59.729] `+` <- base::`+` [18:01:59.729] `<<-` <- base::`<<-` [18:01:59.729] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.729] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.729] 3L)] [18:01:59.729] } [18:01:59.729] function(cond) { [18:01:59.729] is_error <- inherits(cond, "error") [18:01:59.729] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.729] NULL) [18:01:59.729] if (is_error) { [18:01:59.729] sessionInformation <- function() { [18:01:59.729] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.729] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.729] search = base::search(), system = base::Sys.info()) [18:01:59.729] } [18:01:59.729] ...future.conditions[[length(...future.conditions) + [18:01:59.729] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.729] cond$call), session = sessionInformation(), [18:01:59.729] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.729] signalCondition(cond) [18:01:59.729] } [18:01:59.729] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.729] "immediateCondition"))) { [18:01:59.729] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.729] ...future.conditions[[length(...future.conditions) + [18:01:59.729] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.729] if (TRUE && !signal) { [18:01:59.729] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.729] { [18:01:59.729] inherits <- base::inherits [18:01:59.729] invokeRestart <- base::invokeRestart [18:01:59.729] is.null <- base::is.null [18:01:59.729] muffled <- FALSE [18:01:59.729] if (inherits(cond, "message")) { [18:01:59.729] muffled <- grepl(pattern, "muffleMessage") [18:01:59.729] if (muffled) [18:01:59.729] invokeRestart("muffleMessage") [18:01:59.729] } [18:01:59.729] else if (inherits(cond, "warning")) { [18:01:59.729] muffled <- grepl(pattern, "muffleWarning") [18:01:59.729] if (muffled) [18:01:59.729] invokeRestart("muffleWarning") [18:01:59.729] } [18:01:59.729] else if (inherits(cond, "condition")) { [18:01:59.729] if (!is.null(pattern)) { [18:01:59.729] computeRestarts <- base::computeRestarts [18:01:59.729] grepl <- base::grepl [18:01:59.729] restarts <- computeRestarts(cond) [18:01:59.729] for (restart in restarts) { [18:01:59.729] name <- restart$name [18:01:59.729] if (is.null(name)) [18:01:59.729] next [18:01:59.729] if (!grepl(pattern, name)) [18:01:59.729] next [18:01:59.729] invokeRestart(restart) [18:01:59.729] muffled <- TRUE [18:01:59.729] break [18:01:59.729] } [18:01:59.729] } [18:01:59.729] } [18:01:59.729] invisible(muffled) [18:01:59.729] } [18:01:59.729] muffleCondition(cond, pattern = "^muffle") [18:01:59.729] } [18:01:59.729] } [18:01:59.729] else { [18:01:59.729] if (TRUE) { [18:01:59.729] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.729] { [18:01:59.729] inherits <- base::inherits [18:01:59.729] invokeRestart <- base::invokeRestart [18:01:59.729] is.null <- base::is.null [18:01:59.729] muffled <- FALSE [18:01:59.729] if (inherits(cond, "message")) { [18:01:59.729] muffled <- grepl(pattern, "muffleMessage") [18:01:59.729] if (muffled) [18:01:59.729] invokeRestart("muffleMessage") [18:01:59.729] } [18:01:59.729] else if (inherits(cond, "warning")) { [18:01:59.729] muffled <- grepl(pattern, "muffleWarning") [18:01:59.729] if (muffled) [18:01:59.729] invokeRestart("muffleWarning") [18:01:59.729] } [18:01:59.729] else if (inherits(cond, "condition")) { [18:01:59.729] if (!is.null(pattern)) { [18:01:59.729] computeRestarts <- base::computeRestarts [18:01:59.729] grepl <- base::grepl [18:01:59.729] restarts <- computeRestarts(cond) [18:01:59.729] for (restart in restarts) { [18:01:59.729] name <- restart$name [18:01:59.729] if (is.null(name)) [18:01:59.729] next [18:01:59.729] if (!grepl(pattern, name)) [18:01:59.729] next [18:01:59.729] invokeRestart(restart) [18:01:59.729] muffled <- TRUE [18:01:59.729] break [18:01:59.729] } [18:01:59.729] } [18:01:59.729] } [18:01:59.729] invisible(muffled) [18:01:59.729] } [18:01:59.729] muffleCondition(cond, pattern = "^muffle") [18:01:59.729] } [18:01:59.729] } [18:01:59.729] } [18:01:59.729] })) [18:01:59.729] }, error = function(ex) { [18:01:59.729] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.729] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.729] ...future.rng), started = ...future.startTime, [18:01:59.729] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.729] version = "1.8"), class = "FutureResult") [18:01:59.729] }, finally = { [18:01:59.729] if (!identical(...future.workdir, getwd())) [18:01:59.729] setwd(...future.workdir) [18:01:59.729] { [18:01:59.729] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.729] ...future.oldOptions$nwarnings <- NULL [18:01:59.729] } [18:01:59.729] base::options(...future.oldOptions) [18:01:59.729] if (.Platform$OS.type == "windows") { [18:01:59.729] old_names <- names(...future.oldEnvVars) [18:01:59.729] envs <- base::Sys.getenv() [18:01:59.729] names <- names(envs) [18:01:59.729] common <- intersect(names, old_names) [18:01:59.729] added <- setdiff(names, old_names) [18:01:59.729] removed <- setdiff(old_names, names) [18:01:59.729] changed <- common[...future.oldEnvVars[common] != [18:01:59.729] envs[common]] [18:01:59.729] NAMES <- toupper(changed) [18:01:59.729] args <- list() [18:01:59.729] for (kk in seq_along(NAMES)) { [18:01:59.729] name <- changed[[kk]] [18:01:59.729] NAME <- NAMES[[kk]] [18:01:59.729] if (name != NAME && is.element(NAME, old_names)) [18:01:59.729] next [18:01:59.729] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.729] } [18:01:59.729] NAMES <- toupper(added) [18:01:59.729] for (kk in seq_along(NAMES)) { [18:01:59.729] name <- added[[kk]] [18:01:59.729] NAME <- NAMES[[kk]] [18:01:59.729] if (name != NAME && is.element(NAME, old_names)) [18:01:59.729] next [18:01:59.729] args[[name]] <- "" [18:01:59.729] } [18:01:59.729] NAMES <- toupper(removed) [18:01:59.729] for (kk in seq_along(NAMES)) { [18:01:59.729] name <- removed[[kk]] [18:01:59.729] NAME <- NAMES[[kk]] [18:01:59.729] if (name != NAME && is.element(NAME, old_names)) [18:01:59.729] next [18:01:59.729] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.729] } [18:01:59.729] if (length(args) > 0) [18:01:59.729] base::do.call(base::Sys.setenv, args = args) [18:01:59.729] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.729] } [18:01:59.729] else { [18:01:59.729] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.729] } [18:01:59.729] { [18:01:59.729] if (base::length(...future.futureOptionsAdded) > [18:01:59.729] 0L) { [18:01:59.729] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.729] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.729] base::options(opts) [18:01:59.729] } [18:01:59.729] { [18:01:59.729] { [18:01:59.729] NULL [18:01:59.729] RNGkind("Mersenne-Twister") [18:01:59.729] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.729] inherits = FALSE) [18:01:59.729] } [18:01:59.729] options(future.plan = NULL) [18:01:59.729] if (is.na(NA_character_)) [18:01:59.729] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.729] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.729] future::plan(list(function (..., envir = parent.frame()) [18:01:59.729] { [18:01:59.729] future <- SequentialFuture(..., envir = envir) [18:01:59.729] if (!future$lazy) [18:01:59.729] future <- run(future) [18:01:59.729] invisible(future) [18:01:59.729] }), .cleanup = FALSE, .init = FALSE) [18:01:59.729] } [18:01:59.729] } [18:01:59.729] } [18:01:59.729] }) [18:01:59.729] if (TRUE) { [18:01:59.729] base::sink(type = "output", split = FALSE) [18:01:59.729] if (TRUE) { [18:01:59.729] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.729] } [18:01:59.729] else { [18:01:59.729] ...future.result["stdout"] <- base::list(NULL) [18:01:59.729] } [18:01:59.729] base::close(...future.stdout) [18:01:59.729] ...future.stdout <- NULL [18:01:59.729] } [18:01:59.729] ...future.result$conditions <- ...future.conditions [18:01:59.729] ...future.result$finished <- base::Sys.time() [18:01:59.729] ...future.result [18:01:59.729] } [18:01:59.733] plan(): Setting new future strategy stack: [18:01:59.733] List of future strategies: [18:01:59.733] 1. sequential: [18:01:59.733] - args: function (..., envir = parent.frame()) [18:01:59.733] - tweaked: FALSE [18:01:59.733] - call: NULL [18:01:59.734] plan(): nbrOfWorkers() = 1 [18:01:59.735] plan(): Setting new future strategy stack: [18:01:59.735] List of future strategies: [18:01:59.735] 1. sequential: [18:01:59.735] - args: function (..., envir = parent.frame()) [18:01:59.735] - tweaked: FALSE [18:01:59.735] - call: plan(strategy) [18:01:59.736] plan(): nbrOfWorkers() = 1 [18:01:59.736] SequentialFuture started (and completed) [18:01:59.736] - Launch lazy future ... done [18:01:59.736] run() for 'SequentialFuture' ... done [18:01:59.736] resolved() for 'SequentialFuture' ... [18:01:59.737] - state: 'finished' [18:01:59.737] - run: TRUE [18:01:59.737] - result: 'FutureResult' [18:01:59.737] resolved() for 'SequentialFuture' ... done [18:01:59.737] Future #1 [18:01:59.738] resolved() for 'SequentialFuture' ... [18:01:59.738] - state: 'finished' [18:01:59.738] - run: TRUE [18:01:59.738] - result: 'FutureResult' [18:01:59.738] resolved() for 'SequentialFuture' ... done [18:01:59.739] A SequentialFuture was resolved [18:01:59.739] length: 0 (resolved future 1) [18:01:59.739] resolve() on list ... DONE [18:01:59.739] - globals: [1] 'a' [18:01:59.739] Resolving futures part of globals (recursively) ... DONE [18:01:59.740] The total size of the 1 globals is 10.11 KiB (10352 bytes) [18:01:59.741] 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') [18:01:59.741] - globals: [1] 'a' [18:01:59.741] - packages: [1] 'future' [18:01:59.741] getGlobalsAndPackages() ... DONE [18:01:59.742] run() for 'Future' ... [18:01:59.742] - state: 'created' [18:01:59.742] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.742] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.743] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.743] - Field: 'label' [18:01:59.743] - Field: 'local' [18:01:59.743] - Field: 'owner' [18:01:59.743] - Field: 'envir' [18:01:59.743] - Field: 'packages' [18:01:59.744] - Field: 'gc' [18:01:59.744] - Field: 'conditions' [18:01:59.745] - Field: 'expr' [18:01:59.745] - Field: 'uuid' [18:01:59.745] - Field: 'seed' [18:01:59.745] - Field: 'version' [18:01:59.746] - Field: 'result' [18:01:59.746] - Field: 'asynchronous' [18:01:59.746] - Field: 'calls' [18:01:59.746] - Field: 'globals' [18:01:59.746] - Field: 'stdout' [18:01:59.746] - Field: 'earlySignal' [18:01:59.747] - Field: 'lazy' [18:01:59.747] - Field: 'state' [18:01:59.747] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.747] - Launch lazy future ... [18:01:59.747] Packages needed by the future expression (n = 1): 'future' [18:01:59.748] Packages needed by future strategies (n = 0): [18:01:59.748] { [18:01:59.748] { [18:01:59.748] { [18:01:59.748] ...future.startTime <- base::Sys.time() [18:01:59.748] { [18:01:59.748] { [18:01:59.748] { [18:01:59.748] { [18:01:59.748] base::local({ [18:01:59.748] has_future <- base::requireNamespace("future", [18:01:59.748] quietly = TRUE) [18:01:59.748] if (has_future) { [18:01:59.748] ns <- base::getNamespace("future") [18:01:59.748] version <- ns[[".package"]][["version"]] [18:01:59.748] if (is.null(version)) [18:01:59.748] version <- utils::packageVersion("future") [18:01:59.748] } [18:01:59.748] else { [18:01:59.748] version <- NULL [18:01:59.748] } [18:01:59.748] if (!has_future || version < "1.8.0") { [18:01:59.748] info <- base::c(r_version = base::gsub("R version ", [18:01:59.748] "", base::R.version$version.string), [18:01:59.748] platform = base::sprintf("%s (%s-bit)", [18:01:59.748] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.748] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.748] "release", "version")], collapse = " "), [18:01:59.748] hostname = base::Sys.info()[["nodename"]]) [18:01:59.748] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.748] info) [18:01:59.748] info <- base::paste(info, collapse = "; ") [18:01:59.748] if (!has_future) { [18:01:59.748] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.748] info) [18:01:59.748] } [18:01:59.748] else { [18:01:59.748] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.748] info, version) [18:01:59.748] } [18:01:59.748] base::stop(msg) [18:01:59.748] } [18:01:59.748] }) [18:01:59.748] } [18:01:59.748] base::local({ [18:01:59.748] for (pkg in "future") { [18:01:59.748] base::loadNamespace(pkg) [18:01:59.748] base::library(pkg, character.only = TRUE) [18:01:59.748] } [18:01:59.748] }) [18:01:59.748] } [18:01:59.748] options(future.plan = NULL) [18:01:59.748] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.748] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.748] } [18:01:59.748] ...future.workdir <- getwd() [18:01:59.748] } [18:01:59.748] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.748] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.748] } [18:01:59.748] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.748] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.748] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.748] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.748] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.748] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.748] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.748] base::names(...future.oldOptions)) [18:01:59.748] } [18:01:59.748] if (FALSE) { [18:01:59.748] } [18:01:59.748] else { [18:01:59.748] if (TRUE) { [18:01:59.748] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.748] open = "w") [18:01:59.748] } [18:01:59.748] else { [18:01:59.748] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.748] windows = "NUL", "/dev/null"), open = "w") [18:01:59.748] } [18:01:59.748] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.748] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.748] base::sink(type = "output", split = FALSE) [18:01:59.748] base::close(...future.stdout) [18:01:59.748] }, add = TRUE) [18:01:59.748] } [18:01:59.748] ...future.frame <- base::sys.nframe() [18:01:59.748] ...future.conditions <- base::list() [18:01:59.748] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.748] if (FALSE) { [18:01:59.748] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.748] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.748] } [18:01:59.748] ...future.result <- base::tryCatch({ [18:01:59.748] base::withCallingHandlers({ [18:01:59.748] ...future.value <- base::withVisible(base::local(value(a) + [18:01:59.748] 1)) [18:01:59.748] future::FutureResult(value = ...future.value$value, [18:01:59.748] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.748] ...future.rng), globalenv = if (FALSE) [18:01:59.748] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.748] ...future.globalenv.names)) [18:01:59.748] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.748] }, condition = base::local({ [18:01:59.748] c <- base::c [18:01:59.748] inherits <- base::inherits [18:01:59.748] invokeRestart <- base::invokeRestart [18:01:59.748] length <- base::length [18:01:59.748] list <- base::list [18:01:59.748] seq.int <- base::seq.int [18:01:59.748] signalCondition <- base::signalCondition [18:01:59.748] sys.calls <- base::sys.calls [18:01:59.748] `[[` <- base::`[[` [18:01:59.748] `+` <- base::`+` [18:01:59.748] `<<-` <- base::`<<-` [18:01:59.748] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.748] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.748] 3L)] [18:01:59.748] } [18:01:59.748] function(cond) { [18:01:59.748] is_error <- inherits(cond, "error") [18:01:59.748] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.748] NULL) [18:01:59.748] if (is_error) { [18:01:59.748] sessionInformation <- function() { [18:01:59.748] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.748] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.748] search = base::search(), system = base::Sys.info()) [18:01:59.748] } [18:01:59.748] ...future.conditions[[length(...future.conditions) + [18:01:59.748] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.748] cond$call), session = sessionInformation(), [18:01:59.748] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.748] signalCondition(cond) [18:01:59.748] } [18:01:59.748] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.748] "immediateCondition"))) { [18:01:59.748] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.748] ...future.conditions[[length(...future.conditions) + [18:01:59.748] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.748] if (TRUE && !signal) { [18:01:59.748] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.748] { [18:01:59.748] inherits <- base::inherits [18:01:59.748] invokeRestart <- base::invokeRestart [18:01:59.748] is.null <- base::is.null [18:01:59.748] muffled <- FALSE [18:01:59.748] if (inherits(cond, "message")) { [18:01:59.748] muffled <- grepl(pattern, "muffleMessage") [18:01:59.748] if (muffled) [18:01:59.748] invokeRestart("muffleMessage") [18:01:59.748] } [18:01:59.748] else if (inherits(cond, "warning")) { [18:01:59.748] muffled <- grepl(pattern, "muffleWarning") [18:01:59.748] if (muffled) [18:01:59.748] invokeRestart("muffleWarning") [18:01:59.748] } [18:01:59.748] else if (inherits(cond, "condition")) { [18:01:59.748] if (!is.null(pattern)) { [18:01:59.748] computeRestarts <- base::computeRestarts [18:01:59.748] grepl <- base::grepl [18:01:59.748] restarts <- computeRestarts(cond) [18:01:59.748] for (restart in restarts) { [18:01:59.748] name <- restart$name [18:01:59.748] if (is.null(name)) [18:01:59.748] next [18:01:59.748] if (!grepl(pattern, name)) [18:01:59.748] next [18:01:59.748] invokeRestart(restart) [18:01:59.748] muffled <- TRUE [18:01:59.748] break [18:01:59.748] } [18:01:59.748] } [18:01:59.748] } [18:01:59.748] invisible(muffled) [18:01:59.748] } [18:01:59.748] muffleCondition(cond, pattern = "^muffle") [18:01:59.748] } [18:01:59.748] } [18:01:59.748] else { [18:01:59.748] if (TRUE) { [18:01:59.748] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.748] { [18:01:59.748] inherits <- base::inherits [18:01:59.748] invokeRestart <- base::invokeRestart [18:01:59.748] is.null <- base::is.null [18:01:59.748] muffled <- FALSE [18:01:59.748] if (inherits(cond, "message")) { [18:01:59.748] muffled <- grepl(pattern, "muffleMessage") [18:01:59.748] if (muffled) [18:01:59.748] invokeRestart("muffleMessage") [18:01:59.748] } [18:01:59.748] else if (inherits(cond, "warning")) { [18:01:59.748] muffled <- grepl(pattern, "muffleWarning") [18:01:59.748] if (muffled) [18:01:59.748] invokeRestart("muffleWarning") [18:01:59.748] } [18:01:59.748] else if (inherits(cond, "condition")) { [18:01:59.748] if (!is.null(pattern)) { [18:01:59.748] computeRestarts <- base::computeRestarts [18:01:59.748] grepl <- base::grepl [18:01:59.748] restarts <- computeRestarts(cond) [18:01:59.748] for (restart in restarts) { [18:01:59.748] name <- restart$name [18:01:59.748] if (is.null(name)) [18:01:59.748] next [18:01:59.748] if (!grepl(pattern, name)) [18:01:59.748] next [18:01:59.748] invokeRestart(restart) [18:01:59.748] muffled <- TRUE [18:01:59.748] break [18:01:59.748] } [18:01:59.748] } [18:01:59.748] } [18:01:59.748] invisible(muffled) [18:01:59.748] } [18:01:59.748] muffleCondition(cond, pattern = "^muffle") [18:01:59.748] } [18:01:59.748] } [18:01:59.748] } [18:01:59.748] })) [18:01:59.748] }, error = function(ex) { [18:01:59.748] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.748] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.748] ...future.rng), started = ...future.startTime, [18:01:59.748] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.748] version = "1.8"), class = "FutureResult") [18:01:59.748] }, finally = { [18:01:59.748] if (!identical(...future.workdir, getwd())) [18:01:59.748] setwd(...future.workdir) [18:01:59.748] { [18:01:59.748] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.748] ...future.oldOptions$nwarnings <- NULL [18:01:59.748] } [18:01:59.748] base::options(...future.oldOptions) [18:01:59.748] if (.Platform$OS.type == "windows") { [18:01:59.748] old_names <- names(...future.oldEnvVars) [18:01:59.748] envs <- base::Sys.getenv() [18:01:59.748] names <- names(envs) [18:01:59.748] common <- intersect(names, old_names) [18:01:59.748] added <- setdiff(names, old_names) [18:01:59.748] removed <- setdiff(old_names, names) [18:01:59.748] changed <- common[...future.oldEnvVars[common] != [18:01:59.748] envs[common]] [18:01:59.748] NAMES <- toupper(changed) [18:01:59.748] args <- list() [18:01:59.748] for (kk in seq_along(NAMES)) { [18:01:59.748] name <- changed[[kk]] [18:01:59.748] NAME <- NAMES[[kk]] [18:01:59.748] if (name != NAME && is.element(NAME, old_names)) [18:01:59.748] next [18:01:59.748] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.748] } [18:01:59.748] NAMES <- toupper(added) [18:01:59.748] for (kk in seq_along(NAMES)) { [18:01:59.748] name <- added[[kk]] [18:01:59.748] NAME <- NAMES[[kk]] [18:01:59.748] if (name != NAME && is.element(NAME, old_names)) [18:01:59.748] next [18:01:59.748] args[[name]] <- "" [18:01:59.748] } [18:01:59.748] NAMES <- toupper(removed) [18:01:59.748] for (kk in seq_along(NAMES)) { [18:01:59.748] name <- removed[[kk]] [18:01:59.748] NAME <- NAMES[[kk]] [18:01:59.748] if (name != NAME && is.element(NAME, old_names)) [18:01:59.748] next [18:01:59.748] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.748] } [18:01:59.748] if (length(args) > 0) [18:01:59.748] base::do.call(base::Sys.setenv, args = args) [18:01:59.748] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.748] } [18:01:59.748] else { [18:01:59.748] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.748] } [18:01:59.748] { [18:01:59.748] if (base::length(...future.futureOptionsAdded) > [18:01:59.748] 0L) { [18:01:59.748] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.748] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.748] base::options(opts) [18:01:59.748] } [18:01:59.748] { [18:01:59.748] { [18:01:59.748] NULL [18:01:59.748] RNGkind("Mersenne-Twister") [18:01:59.748] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.748] inherits = FALSE) [18:01:59.748] } [18:01:59.748] options(future.plan = NULL) [18:01:59.748] if (is.na(NA_character_)) [18:01:59.748] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.748] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.748] future::plan(list(function (..., envir = parent.frame()) [18:01:59.748] { [18:01:59.748] future <- SequentialFuture(..., envir = envir) [18:01:59.748] if (!future$lazy) [18:01:59.748] future <- run(future) [18:01:59.748] invisible(future) [18:01:59.748] }), .cleanup = FALSE, .init = FALSE) [18:01:59.748] } [18:01:59.748] } [18:01:59.748] } [18:01:59.748] }) [18:01:59.748] if (TRUE) { [18:01:59.748] base::sink(type = "output", split = FALSE) [18:01:59.748] if (TRUE) { [18:01:59.748] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.748] } [18:01:59.748] else { [18:01:59.748] ...future.result["stdout"] <- base::list(NULL) [18:01:59.748] } [18:01:59.748] base::close(...future.stdout) [18:01:59.748] ...future.stdout <- NULL [18:01:59.748] } [18:01:59.748] ...future.result$conditions <- ...future.conditions [18:01:59.748] ...future.result$finished <- base::Sys.time() [18:01:59.748] ...future.result [18:01:59.748] } [18:01:59.752] assign_globals() ... [18:01:59.752] List of 1 [18:01:59.752] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.752] - attr(*, "where")=List of 1 [18:01:59.752] ..$ a: [18:01:59.752] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.752] - attr(*, "resolved")= logi TRUE [18:01:59.752] - attr(*, "total_size")= num 10352 [18:01:59.752] - attr(*, "already-done")= logi TRUE [18:01:59.755] - copied 'a' to environment [18:01:59.755] assign_globals() ... done [18:01:59.756] plan(): Setting new future strategy stack: [18:01:59.756] List of future strategies: [18:01:59.756] 1. sequential: [18:01:59.756] - args: function (..., envir = parent.frame()) [18:01:59.756] - tweaked: FALSE [18:01:59.756] - call: NULL [18:01:59.756] plan(): nbrOfWorkers() = 1 [18:01:59.758] plan(): Setting new future strategy stack: [18:01:59.758] List of future strategies: [18:01:59.758] 1. sequential: [18:01:59.758] - args: function (..., envir = parent.frame()) [18:01:59.758] - tweaked: FALSE [18:01:59.758] - call: plan(strategy) [18:01:59.758] plan(): nbrOfWorkers() = 1 [18:01:59.759] SequentialFuture started (and completed) [18:01:59.759] - Launch lazy future ... done [18:01:59.759] run() for 'SequentialFuture' ... done value(b) = 2 Warning: 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' [18:01:59.759] getGlobalsAndPackages() ... Warning: 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' [18:01:59.760] Searching for globals... Warning: 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' [18:01:59.761] - globals found: [2] '{', 'pkg' [18:01:59.761] Searching for globals ... DONE [18:01:59.761] Resolving globals: TRUE [18:01:59.761] Resolving any globals that are futures ... [18:01:59.761] - globals: [2] '{', 'pkg' [18:01:59.762] Resolving any globals that are futures ... DONE [18:01:59.762] Resolving futures part of globals (recursively) ... [18:01:59.762] resolve() on list ... [18:01:59.762] recursive: 99 [18:01:59.763] length: 1 [18:01:59.763] elements: 'pkg' [18:01:59.763] length: 0 (resolved future 1) [18:01:59.763] resolve() on list ... DONE [18:01:59.763] - globals: [1] 'pkg' [18:01:59.763] Resolving futures part of globals (recursively) ... DONE [18:01:59.764] The total size of the 1 globals is 112 bytes (112 bytes) [18:01:59.764] 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') [18:01:59.764] - globals: [1] 'pkg' [18:01:59.764] [18:01:59.765] getGlobalsAndPackages() ... DONE [18:01:59.765] Packages needed by the future expression (n = 0): [18:01:59.765] Packages needed by future strategies (n = 0): [18:01:59.766] { [18:01:59.766] { [18:01:59.766] { [18:01:59.766] ...future.startTime <- base::Sys.time() [18:01:59.766] { [18:01:59.766] { [18:01:59.766] { [18:01:59.766] base::local({ [18:01:59.766] has_future <- base::requireNamespace("future", [18:01:59.766] quietly = TRUE) [18:01:59.766] if (has_future) { [18:01:59.766] ns <- base::getNamespace("future") [18:01:59.766] version <- ns[[".package"]][["version"]] [18:01:59.766] if (is.null(version)) [18:01:59.766] version <- utils::packageVersion("future") [18:01:59.766] } [18:01:59.766] else { [18:01:59.766] version <- NULL [18:01:59.766] } [18:01:59.766] if (!has_future || version < "1.8.0") { [18:01:59.766] info <- base::c(r_version = base::gsub("R version ", [18:01:59.766] "", base::R.version$version.string), [18:01:59.766] platform = base::sprintf("%s (%s-bit)", [18:01:59.766] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.766] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.766] "release", "version")], collapse = " "), [18:01:59.766] hostname = base::Sys.info()[["nodename"]]) [18:01:59.766] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.766] info) [18:01:59.766] info <- base::paste(info, collapse = "; ") [18:01:59.766] if (!has_future) { [18:01:59.766] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.766] info) [18:01:59.766] } [18:01:59.766] else { [18:01:59.766] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.766] info, version) [18:01:59.766] } [18:01:59.766] base::stop(msg) [18:01:59.766] } [18:01:59.766] }) [18:01:59.766] } [18:01:59.766] options(future.plan = NULL) [18:01:59.766] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.766] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.766] } [18:01:59.766] ...future.workdir <- getwd() [18:01:59.766] } [18:01:59.766] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.766] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.766] } [18:01:59.766] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.766] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:01:59.766] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.766] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.766] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.766] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.766] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.766] base::names(...future.oldOptions)) [18:01:59.766] } [18:01:59.766] if (FALSE) { [18:01:59.766] } [18:01:59.766] else { [18:01:59.766] if (TRUE) { [18:01:59.766] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.766] open = "w") [18:01:59.766] } [18:01:59.766] else { [18:01:59.766] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.766] windows = "NUL", "/dev/null"), open = "w") [18:01:59.766] } [18:01:59.766] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.766] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.766] base::sink(type = "output", split = FALSE) [18:01:59.766] base::close(...future.stdout) [18:01:59.766] }, add = TRUE) [18:01:59.766] } [18:01:59.766] ...future.frame <- base::sys.nframe() [18:01:59.766] ...future.conditions <- base::list() [18:01:59.766] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.766] if (FALSE) { [18:01:59.766] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.766] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.766] } [18:01:59.766] ...future.result <- base::tryCatch({ [18:01:59.766] base::withCallingHandlers({ [18:01:59.766] ...future.value <- base::withVisible(base::local({ [18:01:59.766] pkg [18:01:59.766] })) [18:01:59.766] future::FutureResult(value = ...future.value$value, [18:01:59.766] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.766] ...future.rng), globalenv = if (FALSE) [18:01:59.766] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.766] ...future.globalenv.names)) [18:01:59.766] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.766] }, condition = base::local({ [18:01:59.766] c <- base::c [18:01:59.766] inherits <- base::inherits [18:01:59.766] invokeRestart <- base::invokeRestart [18:01:59.766] length <- base::length [18:01:59.766] list <- base::list [18:01:59.766] seq.int <- base::seq.int [18:01:59.766] signalCondition <- base::signalCondition [18:01:59.766] sys.calls <- base::sys.calls [18:01:59.766] `[[` <- base::`[[` [18:01:59.766] `+` <- base::`+` [18:01:59.766] `<<-` <- base::`<<-` [18:01:59.766] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.766] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.766] 3L)] [18:01:59.766] } [18:01:59.766] function(cond) { [18:01:59.766] is_error <- inherits(cond, "error") [18:01:59.766] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.766] NULL) [18:01:59.766] if (is_error) { [18:01:59.766] sessionInformation <- function() { [18:01:59.766] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.766] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.766] search = base::search(), system = base::Sys.info()) [18:01:59.766] } [18:01:59.766] ...future.conditions[[length(...future.conditions) + [18:01:59.766] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.766] cond$call), session = sessionInformation(), [18:01:59.766] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.766] signalCondition(cond) [18:01:59.766] } [18:01:59.766] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.766] "immediateCondition"))) { [18:01:59.766] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.766] ...future.conditions[[length(...future.conditions) + [18:01:59.766] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.766] if (TRUE && !signal) { [18:01:59.766] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.766] { [18:01:59.766] inherits <- base::inherits [18:01:59.766] invokeRestart <- base::invokeRestart [18:01:59.766] is.null <- base::is.null [18:01:59.766] muffled <- FALSE [18:01:59.766] if (inherits(cond, "message")) { [18:01:59.766] muffled <- grepl(pattern, "muffleMessage") [18:01:59.766] if (muffled) [18:01:59.766] invokeRestart("muffleMessage") [18:01:59.766] } [18:01:59.766] else if (inherits(cond, "warning")) { [18:01:59.766] muffled <- grepl(pattern, "muffleWarning") [18:01:59.766] if (muffled) [18:01:59.766] invokeRestart("muffleWarning") [18:01:59.766] } [18:01:59.766] else if (inherits(cond, "condition")) { [18:01:59.766] if (!is.null(pattern)) { [18:01:59.766] computeRestarts <- base::computeRestarts [18:01:59.766] grepl <- base::grepl [18:01:59.766] restarts <- computeRestarts(cond) [18:01:59.766] for (restart in restarts) { [18:01:59.766] name <- restart$name [18:01:59.766] if (is.null(name)) [18:01:59.766] next [18:01:59.766] if (!grepl(pattern, name)) [18:01:59.766] next [18:01:59.766] invokeRestart(restart) [18:01:59.766] muffled <- TRUE [18:01:59.766] break [18:01:59.766] } [18:01:59.766] } [18:01:59.766] } [18:01:59.766] invisible(muffled) [18:01:59.766] } [18:01:59.766] muffleCondition(cond, pattern = "^muffle") [18:01:59.766] } [18:01:59.766] } [18:01:59.766] else { [18:01:59.766] if (TRUE) { [18:01:59.766] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.766] { [18:01:59.766] inherits <- base::inherits [18:01:59.766] invokeRestart <- base::invokeRestart [18:01:59.766] is.null <- base::is.null [18:01:59.766] muffled <- FALSE [18:01:59.766] if (inherits(cond, "message")) { [18:01:59.766] muffled <- grepl(pattern, "muffleMessage") [18:01:59.766] if (muffled) [18:01:59.766] invokeRestart("muffleMessage") [18:01:59.766] } [18:01:59.766] else if (inherits(cond, "warning")) { [18:01:59.766] muffled <- grepl(pattern, "muffleWarning") [18:01:59.766] if (muffled) [18:01:59.766] invokeRestart("muffleWarning") [18:01:59.766] } [18:01:59.766] else if (inherits(cond, "condition")) { [18:01:59.766] if (!is.null(pattern)) { [18:01:59.766] computeRestarts <- base::computeRestarts [18:01:59.766] grepl <- base::grepl [18:01:59.766] restarts <- computeRestarts(cond) [18:01:59.766] for (restart in restarts) { [18:01:59.766] name <- restart$name [18:01:59.766] if (is.null(name)) [18:01:59.766] next [18:01:59.766] if (!grepl(pattern, name)) [18:01:59.766] next [18:01:59.766] invokeRestart(restart) [18:01:59.766] muffled <- TRUE [18:01:59.766] break [18:01:59.766] } [18:01:59.766] } [18:01:59.766] } [18:01:59.766] invisible(muffled) [18:01:59.766] } [18:01:59.766] muffleCondition(cond, pattern = "^muffle") [18:01:59.766] } [18:01:59.766] } [18:01:59.766] } [18:01:59.766] })) [18:01:59.766] }, error = function(ex) { [18:01:59.766] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.766] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.766] ...future.rng), started = ...future.startTime, [18:01:59.766] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.766] version = "1.8"), class = "FutureResult") [18:01:59.766] }, finally = { [18:01:59.766] if (!identical(...future.workdir, getwd())) [18:01:59.766] setwd(...future.workdir) [18:01:59.766] { [18:01:59.766] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.766] ...future.oldOptions$nwarnings <- NULL [18:01:59.766] } [18:01:59.766] base::options(...future.oldOptions) [18:01:59.766] if (.Platform$OS.type == "windows") { [18:01:59.766] old_names <- names(...future.oldEnvVars) [18:01:59.766] envs <- base::Sys.getenv() [18:01:59.766] names <- names(envs) [18:01:59.766] common <- intersect(names, old_names) [18:01:59.766] added <- setdiff(names, old_names) [18:01:59.766] removed <- setdiff(old_names, names) [18:01:59.766] changed <- common[...future.oldEnvVars[common] != [18:01:59.766] envs[common]] [18:01:59.766] NAMES <- toupper(changed) [18:01:59.766] args <- list() [18:01:59.766] for (kk in seq_along(NAMES)) { [18:01:59.766] name <- changed[[kk]] [18:01:59.766] NAME <- NAMES[[kk]] [18:01:59.766] if (name != NAME && is.element(NAME, old_names)) [18:01:59.766] next [18:01:59.766] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.766] } [18:01:59.766] NAMES <- toupper(added) [18:01:59.766] for (kk in seq_along(NAMES)) { [18:01:59.766] name <- added[[kk]] [18:01:59.766] NAME <- NAMES[[kk]] [18:01:59.766] if (name != NAME && is.element(NAME, old_names)) [18:01:59.766] next [18:01:59.766] args[[name]] <- "" [18:01:59.766] } [18:01:59.766] NAMES <- toupper(removed) [18:01:59.766] for (kk in seq_along(NAMES)) { [18:01:59.766] name <- removed[[kk]] [18:01:59.766] NAME <- NAMES[[kk]] [18:01:59.766] if (name != NAME && is.element(NAME, old_names)) [18:01:59.766] next [18:01:59.766] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.766] } [18:01:59.766] if (length(args) > 0) [18:01:59.766] base::do.call(base::Sys.setenv, args = args) [18:01:59.766] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.766] } [18:01:59.766] else { [18:01:59.766] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.766] } [18:01:59.766] { [18:01:59.766] if (base::length(...future.futureOptionsAdded) > [18:01:59.766] 0L) { [18:01:59.766] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.766] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.766] base::options(opts) [18:01:59.766] } [18:01:59.766] { [18:01:59.766] { [18:01:59.766] NULL [18:01:59.766] RNGkind("Mersenne-Twister") [18:01:59.766] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.766] inherits = FALSE) [18:01:59.766] } [18:01:59.766] options(future.plan = NULL) [18:01:59.766] if (is.na(NA_character_)) [18:01:59.766] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.766] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.766] future::plan(list(function (..., envir = parent.frame()) [18:01:59.766] { [18:01:59.766] future <- SequentialFuture(..., envir = envir) [18:01:59.766] if (!future$lazy) [18:01:59.766] future <- run(future) [18:01:59.766] invisible(future) [18:01:59.766] }), .cleanup = FALSE, .init = FALSE) [18:01:59.766] } [18:01:59.766] } [18:01:59.766] } [18:01:59.766] }) [18:01:59.766] if (TRUE) { [18:01:59.766] base::sink(type = "output", split = FALSE) [18:01:59.766] if (TRUE) { [18:01:59.766] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.766] } [18:01:59.766] else { [18:01:59.766] ...future.result["stdout"] <- base::list(NULL) [18:01:59.766] } [18:01:59.766] base::close(...future.stdout) [18:01:59.766] ...future.stdout <- NULL [18:01:59.766] } [18:01:59.766] ...future.result$conditions <- ...future.conditions [18:01:59.766] ...future.result$finished <- base::Sys.time() [18:01:59.766] ...future.result [18:01:59.766] } [18:01:59.769] assign_globals() ... [18:01:59.769] List of 1 [18:01:59.769] $ pkg: chr "foo" [18:01:59.769] - attr(*, "where")=List of 1 [18:01:59.769] ..$ pkg: [18:01:59.769] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.769] - attr(*, "resolved")= logi TRUE [18:01:59.769] - attr(*, "total_size")= num 112 [18:01:59.772] - copied 'pkg' to environment [18:01:59.772] assign_globals() ... done [18:01:59.773] plan(): Setting new future strategy stack: [18:01:59.773] List of future strategies: [18:01:59.773] 1. sequential: [18:01:59.773] - args: function (..., envir = parent.frame()) [18:01:59.773] - tweaked: FALSE [18:01:59.773] - call: NULL [18:01:59.773] plan(): nbrOfWorkers() = 1 [18:01:59.774] plan(): Setting new future strategy stack: [18:01:59.774] List of future strategies: [18:01:59.774] 1. sequential: [18:01:59.774] - args: function (..., envir = parent.frame()) [18:01:59.774] - tweaked: FALSE [18:01:59.774] - call: plan(strategy) [18:01:59.775] plan(): nbrOfWorkers() = 1 [18:01:59.775] SequentialFuture started (and completed) value(f) = 'foo' Method for identifying globals: 'conservative' ... DONE Method for identifying globals: 'ordered' ... Warning: 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' [18:01:59.776] getGlobalsAndPackages() ... Warning: 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' [18:01:59.776] Searching for globals... Warning: 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' [18:01:59.779] - globals found: [4] '{', '<-', 'a', '*' [18:01:59.779] Searching for globals ... DONE [18:01:59.779] Resolving globals: TRUE [18:01:59.780] Resolving any globals that are futures ... [18:01:59.780] - globals: [4] '{', '<-', 'a', '*' [18:01:59.781] Resolving any globals that are futures ... DONE [18:01:59.781] Resolving futures part of globals (recursively) ... [18:01:59.782] resolve() on list ... [18:01:59.782] recursive: 99 [18:01:59.782] length: 1 [18:01:59.782] elements: 'a' [18:01:59.782] length: 0 (resolved future 1) [18:01:59.782] resolve() on list ... DONE [18:01:59.782] - globals: [1] 'a' [18:01:59.783] Resolving futures part of globals (recursively) ... DONE [18:01:59.783] The total size of the 1 globals is 56 bytes (56 bytes) [18:01:59.783] 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') [18:01:59.783] - globals: [1] 'a' [18:01:59.784] [18:01:59.784] getGlobalsAndPackages() ... DONE [18:01:59.784] run() for 'Future' ... [18:01:59.784] - state: 'created' [18:01:59.784] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.785] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.785] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.785] - Field: 'label' [18:01:59.785] - Field: 'local' [18:01:59.785] - Field: 'owner' [18:01:59.786] - Field: 'envir' [18:01:59.786] - Field: 'packages' [18:01:59.786] - Field: 'gc' [18:01:59.786] - Field: 'conditions' [18:01:59.786] - Field: 'expr' [18:01:59.786] - Field: 'uuid' [18:01:59.787] - Field: 'seed' [18:01:59.787] - Field: 'version' [18:01:59.787] - Field: 'result' [18:01:59.787] - Field: 'asynchronous' [18:01:59.787] - Field: 'calls' [18:01:59.787] - Field: 'globals' [18:01:59.788] - Field: 'stdout' [18:01:59.788] - Field: 'earlySignal' [18:01:59.788] - Field: 'lazy' [18:01:59.788] - Field: 'state' [18:01:59.788] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.788] - Launch lazy future ... [18:01:59.789] Packages needed by the future expression (n = 0): [18:01:59.789] Packages needed by future strategies (n = 0): [18:01:59.789] { [18:01:59.789] { [18:01:59.789] { [18:01:59.789] ...future.startTime <- base::Sys.time() [18:01:59.789] { [18:01:59.789] { [18:01:59.789] { [18:01:59.789] base::local({ [18:01:59.789] has_future <- base::requireNamespace("future", [18:01:59.789] quietly = TRUE) [18:01:59.789] if (has_future) { [18:01:59.789] ns <- base::getNamespace("future") [18:01:59.789] version <- ns[[".package"]][["version"]] [18:01:59.789] if (is.null(version)) [18:01:59.789] version <- utils::packageVersion("future") [18:01:59.789] } [18:01:59.789] else { [18:01:59.789] version <- NULL [18:01:59.789] } [18:01:59.789] if (!has_future || version < "1.8.0") { [18:01:59.789] info <- base::c(r_version = base::gsub("R version ", [18:01:59.789] "", base::R.version$version.string), [18:01:59.789] platform = base::sprintf("%s (%s-bit)", [18:01:59.789] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.789] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.789] "release", "version")], collapse = " "), [18:01:59.789] hostname = base::Sys.info()[["nodename"]]) [18:01:59.789] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.789] info) [18:01:59.789] info <- base::paste(info, collapse = "; ") [18:01:59.789] if (!has_future) { [18:01:59.789] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.789] info) [18:01:59.789] } [18:01:59.789] else { [18:01:59.789] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.789] info, version) [18:01:59.789] } [18:01:59.789] base::stop(msg) [18:01:59.789] } [18:01:59.789] }) [18:01:59.789] } [18:01:59.789] options(future.plan = NULL) [18:01:59.789] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.789] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.789] } [18:01:59.789] ...future.workdir <- getwd() [18:01:59.789] } [18:01:59.789] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.789] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.789] } [18:01:59.789] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.789] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:01:59.789] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.789] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.789] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.789] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.789] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.789] base::names(...future.oldOptions)) [18:01:59.789] } [18:01:59.789] if (FALSE) { [18:01:59.789] } [18:01:59.789] else { [18:01:59.789] if (TRUE) { [18:01:59.789] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.789] open = "w") [18:01:59.789] } [18:01:59.789] else { [18:01:59.789] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.789] windows = "NUL", "/dev/null"), open = "w") [18:01:59.789] } [18:01:59.789] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.789] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.789] base::sink(type = "output", split = FALSE) [18:01:59.789] base::close(...future.stdout) [18:01:59.789] }, add = TRUE) [18:01:59.789] } [18:01:59.789] ...future.frame <- base::sys.nframe() [18:01:59.789] ...future.conditions <- base::list() [18:01:59.789] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.789] if (FALSE) { [18:01:59.789] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.789] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.789] } [18:01:59.789] ...future.result <- base::tryCatch({ [18:01:59.789] base::withCallingHandlers({ [18:01:59.789] ...future.value <- base::withVisible(base::local({ [18:01:59.789] b <- a [18:01:59.789] a <- 2 [18:01:59.789] a * b [18:01:59.789] })) [18:01:59.789] future::FutureResult(value = ...future.value$value, [18:01:59.789] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.789] ...future.rng), globalenv = if (FALSE) [18:01:59.789] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.789] ...future.globalenv.names)) [18:01:59.789] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.789] }, condition = base::local({ [18:01:59.789] c <- base::c [18:01:59.789] inherits <- base::inherits [18:01:59.789] invokeRestart <- base::invokeRestart [18:01:59.789] length <- base::length [18:01:59.789] list <- base::list [18:01:59.789] seq.int <- base::seq.int [18:01:59.789] signalCondition <- base::signalCondition [18:01:59.789] sys.calls <- base::sys.calls [18:01:59.789] `[[` <- base::`[[` [18:01:59.789] `+` <- base::`+` [18:01:59.789] `<<-` <- base::`<<-` [18:01:59.789] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.789] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.789] 3L)] [18:01:59.789] } [18:01:59.789] function(cond) { [18:01:59.789] is_error <- inherits(cond, "error") [18:01:59.789] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.789] NULL) [18:01:59.789] if (is_error) { [18:01:59.789] sessionInformation <- function() { [18:01:59.789] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.789] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.789] search = base::search(), system = base::Sys.info()) [18:01:59.789] } [18:01:59.789] ...future.conditions[[length(...future.conditions) + [18:01:59.789] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.789] cond$call), session = sessionInformation(), [18:01:59.789] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.789] signalCondition(cond) [18:01:59.789] } [18:01:59.789] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.789] "immediateCondition"))) { [18:01:59.789] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.789] ...future.conditions[[length(...future.conditions) + [18:01:59.789] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.789] if (TRUE && !signal) { [18:01:59.789] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.789] { [18:01:59.789] inherits <- base::inherits [18:01:59.789] invokeRestart <- base::invokeRestart [18:01:59.789] is.null <- base::is.null [18:01:59.789] muffled <- FALSE [18:01:59.789] if (inherits(cond, "message")) { [18:01:59.789] muffled <- grepl(pattern, "muffleMessage") [18:01:59.789] if (muffled) [18:01:59.789] invokeRestart("muffleMessage") [18:01:59.789] } [18:01:59.789] else if (inherits(cond, "warning")) { [18:01:59.789] muffled <- grepl(pattern, "muffleWarning") [18:01:59.789] if (muffled) [18:01:59.789] invokeRestart("muffleWarning") [18:01:59.789] } [18:01:59.789] else if (inherits(cond, "condition")) { [18:01:59.789] if (!is.null(pattern)) { [18:01:59.789] computeRestarts <- base::computeRestarts [18:01:59.789] grepl <- base::grepl [18:01:59.789] restarts <- computeRestarts(cond) [18:01:59.789] for (restart in restarts) { [18:01:59.789] name <- restart$name [18:01:59.789] if (is.null(name)) [18:01:59.789] next [18:01:59.789] if (!grepl(pattern, name)) [18:01:59.789] next [18:01:59.789] invokeRestart(restart) [18:01:59.789] muffled <- TRUE [18:01:59.789] break [18:01:59.789] } [18:01:59.789] } [18:01:59.789] } [18:01:59.789] invisible(muffled) [18:01:59.789] } [18:01:59.789] muffleCondition(cond, pattern = "^muffle") [18:01:59.789] } [18:01:59.789] } [18:01:59.789] else { [18:01:59.789] if (TRUE) { [18:01:59.789] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.789] { [18:01:59.789] inherits <- base::inherits [18:01:59.789] invokeRestart <- base::invokeRestart [18:01:59.789] is.null <- base::is.null [18:01:59.789] muffled <- FALSE [18:01:59.789] if (inherits(cond, "message")) { [18:01:59.789] muffled <- grepl(pattern, "muffleMessage") [18:01:59.789] if (muffled) [18:01:59.789] invokeRestart("muffleMessage") [18:01:59.789] } [18:01:59.789] else if (inherits(cond, "warning")) { [18:01:59.789] muffled <- grepl(pattern, "muffleWarning") [18:01:59.789] if (muffled) [18:01:59.789] invokeRestart("muffleWarning") [18:01:59.789] } [18:01:59.789] else if (inherits(cond, "condition")) { [18:01:59.789] if (!is.null(pattern)) { [18:01:59.789] computeRestarts <- base::computeRestarts [18:01:59.789] grepl <- base::grepl [18:01:59.789] restarts <- computeRestarts(cond) [18:01:59.789] for (restart in restarts) { [18:01:59.789] name <- restart$name [18:01:59.789] if (is.null(name)) [18:01:59.789] next [18:01:59.789] if (!grepl(pattern, name)) [18:01:59.789] next [18:01:59.789] invokeRestart(restart) [18:01:59.789] muffled <- TRUE [18:01:59.789] break [18:01:59.789] } [18:01:59.789] } [18:01:59.789] } [18:01:59.789] invisible(muffled) [18:01:59.789] } [18:01:59.789] muffleCondition(cond, pattern = "^muffle") [18:01:59.789] } [18:01:59.789] } [18:01:59.789] } [18:01:59.789] })) [18:01:59.789] }, error = function(ex) { [18:01:59.789] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.789] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.789] ...future.rng), started = ...future.startTime, [18:01:59.789] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.789] version = "1.8"), class = "FutureResult") [18:01:59.789] }, finally = { [18:01:59.789] if (!identical(...future.workdir, getwd())) [18:01:59.789] setwd(...future.workdir) [18:01:59.789] { [18:01:59.789] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.789] ...future.oldOptions$nwarnings <- NULL [18:01:59.789] } [18:01:59.789] base::options(...future.oldOptions) [18:01:59.789] if (.Platform$OS.type == "windows") { [18:01:59.789] old_names <- names(...future.oldEnvVars) [18:01:59.789] envs <- base::Sys.getenv() [18:01:59.789] names <- names(envs) [18:01:59.789] common <- intersect(names, old_names) [18:01:59.789] added <- setdiff(names, old_names) [18:01:59.789] removed <- setdiff(old_names, names) [18:01:59.789] changed <- common[...future.oldEnvVars[common] != [18:01:59.789] envs[common]] [18:01:59.789] NAMES <- toupper(changed) [18:01:59.789] args <- list() [18:01:59.789] for (kk in seq_along(NAMES)) { [18:01:59.789] name <- changed[[kk]] [18:01:59.789] NAME <- NAMES[[kk]] [18:01:59.789] if (name != NAME && is.element(NAME, old_names)) [18:01:59.789] next [18:01:59.789] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.789] } [18:01:59.789] NAMES <- toupper(added) [18:01:59.789] for (kk in seq_along(NAMES)) { [18:01:59.789] name <- added[[kk]] [18:01:59.789] NAME <- NAMES[[kk]] [18:01:59.789] if (name != NAME && is.element(NAME, old_names)) [18:01:59.789] next [18:01:59.789] args[[name]] <- "" [18:01:59.789] } [18:01:59.789] NAMES <- toupper(removed) [18:01:59.789] for (kk in seq_along(NAMES)) { [18:01:59.789] name <- removed[[kk]] [18:01:59.789] NAME <- NAMES[[kk]] [18:01:59.789] if (name != NAME && is.element(NAME, old_names)) [18:01:59.789] next [18:01:59.789] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.789] } [18:01:59.789] if (length(args) > 0) [18:01:59.789] base::do.call(base::Sys.setenv, args = args) [18:01:59.789] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.789] } [18:01:59.789] else { [18:01:59.789] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.789] } [18:01:59.789] { [18:01:59.789] if (base::length(...future.futureOptionsAdded) > [18:01:59.789] 0L) { [18:01:59.789] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.789] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.789] base::options(opts) [18:01:59.789] } [18:01:59.789] { [18:01:59.789] { [18:01:59.789] NULL [18:01:59.789] RNGkind("Mersenne-Twister") [18:01:59.789] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.789] inherits = FALSE) [18:01:59.789] } [18:01:59.789] options(future.plan = NULL) [18:01:59.789] if (is.na(NA_character_)) [18:01:59.789] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.789] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.789] future::plan(list(function (..., envir = parent.frame()) [18:01:59.789] { [18:01:59.789] future <- SequentialFuture(..., envir = envir) [18:01:59.789] if (!future$lazy) [18:01:59.789] future <- run(future) [18:01:59.789] invisible(future) [18:01:59.789] }), .cleanup = FALSE, .init = FALSE) [18:01:59.789] } [18:01:59.789] } [18:01:59.789] } [18:01:59.789] }) [18:01:59.789] if (TRUE) { [18:01:59.789] base::sink(type = "output", split = FALSE) [18:01:59.789] if (TRUE) { [18:01:59.789] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.789] } [18:01:59.789] else { [18:01:59.789] ...future.result["stdout"] <- base::list(NULL) [18:01:59.789] } [18:01:59.789] base::close(...future.stdout) [18:01:59.789] ...future.stdout <- NULL [18:01:59.789] } [18:01:59.789] ...future.result$conditions <- ...future.conditions [18:01:59.789] ...future.result$finished <- base::Sys.time() [18:01:59.789] ...future.result [18:01:59.789] } [18:01:59.793] assign_globals() ... [18:01:59.793] List of 1 [18:01:59.793] $ a: num 3 [18:01:59.793] - attr(*, "where")=List of 1 [18:01:59.793] ..$ a: [18:01:59.793] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.793] - attr(*, "resolved")= logi TRUE [18:01:59.793] - attr(*, "total_size")= num 56 [18:01:59.793] - attr(*, "already-done")= logi TRUE [18:01:59.796] - copied 'a' to environment [18:01:59.796] assign_globals() ... done [18:01:59.796] plan(): Setting new future strategy stack: [18:01:59.796] List of future strategies: [18:01:59.796] 1. sequential: [18:01:59.796] - args: function (..., envir = parent.frame()) [18:01:59.796] - tweaked: FALSE [18:01:59.796] - call: NULL [18:01:59.797] plan(): nbrOfWorkers() = 1 [18:01:59.798] plan(): Setting new future strategy stack: [18:01:59.798] List of future strategies: [18:01:59.798] 1. sequential: [18:01:59.798] - args: function (..., envir = parent.frame()) [18:01:59.798] - tweaked: FALSE [18:01:59.798] - call: plan(strategy) [18:01:59.798] plan(): nbrOfWorkers() = 1 [18:01:59.799] SequentialFuture started (and completed) [18:01:59.799] - Launch lazy future ... done [18:01:59.799] run() for 'SequentialFuture' ... done y = 6 Warning: 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' [18:01:59.800] getGlobalsAndPackages() ... Warning: 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' [18:01:59.800] Searching for globals... Warning: 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' [18:01:59.802] - globals found: [4] '{', '<-', 'a', '*' [18:01:59.802] Searching for globals ... DONE [18:01:59.802] Resolving globals: TRUE [18:01:59.803] Resolving any globals that are futures ... [18:01:59.803] - globals: [4] '{', '<-', 'a', '*' [18:01:59.803] Resolving any globals that are futures ... DONE [18:01:59.803] Resolving futures part of globals (recursively) ... [18:01:59.804] resolve() on list ... [18:01:59.804] recursive: 99 [18:01:59.804] length: 1 [18:01:59.804] elements: 'a' [18:01:59.804] length: 0 (resolved future 1) [18:01:59.804] resolve() on list ... DONE [18:01:59.805] - globals: [1] 'a' [18:01:59.805] Resolving futures part of globals (recursively) ... DONE [18:01:59.805] The total size of the 1 globals is 56 bytes (56 bytes) [18:01:59.805] 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') [18:01:59.805] - globals: [1] 'a' [18:01:59.806] [18:01:59.806] getGlobalsAndPackages() ... DONE [18:01:59.806] run() for 'Future' ... [18:01:59.806] - state: 'created' [18:01:59.807] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.807] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.807] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.807] - Field: 'label' [18:01:59.807] - Field: 'local' [18:01:59.808] - Field: 'owner' [18:01:59.808] - Field: 'envir' [18:01:59.808] - Field: 'packages' [18:01:59.808] - Field: 'gc' [18:01:59.808] - Field: 'conditions' [18:01:59.808] - Field: 'expr' [18:01:59.809] - Field: 'uuid' [18:01:59.809] - Field: 'seed' [18:01:59.809] - Field: 'version' [18:01:59.809] - Field: 'result' [18:01:59.809] - Field: 'asynchronous' [18:01:59.809] - Field: 'calls' [18:01:59.810] - Field: 'globals' [18:01:59.810] - Field: 'stdout' [18:01:59.810] - Field: 'earlySignal' [18:01:59.810] - Field: 'lazy' [18:01:59.810] - Field: 'state' [18:01:59.810] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.811] - Launch lazy future ... [18:01:59.811] Packages needed by the future expression (n = 0): [18:01:59.811] Packages needed by future strategies (n = 0): [18:01:59.811] { [18:01:59.811] { [18:01:59.811] { [18:01:59.811] ...future.startTime <- base::Sys.time() [18:01:59.811] { [18:01:59.811] { [18:01:59.811] { [18:01:59.811] base::local({ [18:01:59.811] has_future <- base::requireNamespace("future", [18:01:59.811] quietly = TRUE) [18:01:59.811] if (has_future) { [18:01:59.811] ns <- base::getNamespace("future") [18:01:59.811] version <- ns[[".package"]][["version"]] [18:01:59.811] if (is.null(version)) [18:01:59.811] version <- utils::packageVersion("future") [18:01:59.811] } [18:01:59.811] else { [18:01:59.811] version <- NULL [18:01:59.811] } [18:01:59.811] if (!has_future || version < "1.8.0") { [18:01:59.811] info <- base::c(r_version = base::gsub("R version ", [18:01:59.811] "", base::R.version$version.string), [18:01:59.811] platform = base::sprintf("%s (%s-bit)", [18:01:59.811] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.811] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.811] "release", "version")], collapse = " "), [18:01:59.811] hostname = base::Sys.info()[["nodename"]]) [18:01:59.811] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.811] info) [18:01:59.811] info <- base::paste(info, collapse = "; ") [18:01:59.811] if (!has_future) { [18:01:59.811] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.811] info) [18:01:59.811] } [18:01:59.811] else { [18:01:59.811] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.811] info, version) [18:01:59.811] } [18:01:59.811] base::stop(msg) [18:01:59.811] } [18:01:59.811] }) [18:01:59.811] } [18:01:59.811] options(future.plan = NULL) [18:01:59.811] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.811] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.811] } [18:01:59.811] ...future.workdir <- getwd() [18:01:59.811] } [18:01:59.811] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.811] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.811] } [18:01:59.811] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.811] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:01:59.811] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.811] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.811] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.811] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.811] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.811] base::names(...future.oldOptions)) [18:01:59.811] } [18:01:59.811] if (FALSE) { [18:01:59.811] } [18:01:59.811] else { [18:01:59.811] if (TRUE) { [18:01:59.811] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.811] open = "w") [18:01:59.811] } [18:01:59.811] else { [18:01:59.811] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.811] windows = "NUL", "/dev/null"), open = "w") [18:01:59.811] } [18:01:59.811] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.811] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.811] base::sink(type = "output", split = FALSE) [18:01:59.811] base::close(...future.stdout) [18:01:59.811] }, add = TRUE) [18:01:59.811] } [18:01:59.811] ...future.frame <- base::sys.nframe() [18:01:59.811] ...future.conditions <- base::list() [18:01:59.811] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.811] if (FALSE) { [18:01:59.811] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.811] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.811] } [18:01:59.811] ...future.result <- base::tryCatch({ [18:01:59.811] base::withCallingHandlers({ [18:01:59.811] ...future.value <- base::withVisible(base::local({ [18:01:59.811] b <- a [18:01:59.811] a <- 2 [18:01:59.811] a * b [18:01:59.811] })) [18:01:59.811] future::FutureResult(value = ...future.value$value, [18:01:59.811] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.811] ...future.rng), globalenv = if (FALSE) [18:01:59.811] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.811] ...future.globalenv.names)) [18:01:59.811] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.811] }, condition = base::local({ [18:01:59.811] c <- base::c [18:01:59.811] inherits <- base::inherits [18:01:59.811] invokeRestart <- base::invokeRestart [18:01:59.811] length <- base::length [18:01:59.811] list <- base::list [18:01:59.811] seq.int <- base::seq.int [18:01:59.811] signalCondition <- base::signalCondition [18:01:59.811] sys.calls <- base::sys.calls [18:01:59.811] `[[` <- base::`[[` [18:01:59.811] `+` <- base::`+` [18:01:59.811] `<<-` <- base::`<<-` [18:01:59.811] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.811] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.811] 3L)] [18:01:59.811] } [18:01:59.811] function(cond) { [18:01:59.811] is_error <- inherits(cond, "error") [18:01:59.811] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.811] NULL) [18:01:59.811] if (is_error) { [18:01:59.811] sessionInformation <- function() { [18:01:59.811] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.811] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.811] search = base::search(), system = base::Sys.info()) [18:01:59.811] } [18:01:59.811] ...future.conditions[[length(...future.conditions) + [18:01:59.811] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.811] cond$call), session = sessionInformation(), [18:01:59.811] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.811] signalCondition(cond) [18:01:59.811] } [18:01:59.811] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.811] "immediateCondition"))) { [18:01:59.811] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.811] ...future.conditions[[length(...future.conditions) + [18:01:59.811] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.811] if (TRUE && !signal) { [18:01:59.811] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.811] { [18:01:59.811] inherits <- base::inherits [18:01:59.811] invokeRestart <- base::invokeRestart [18:01:59.811] is.null <- base::is.null [18:01:59.811] muffled <- FALSE [18:01:59.811] if (inherits(cond, "message")) { [18:01:59.811] muffled <- grepl(pattern, "muffleMessage") [18:01:59.811] if (muffled) [18:01:59.811] invokeRestart("muffleMessage") [18:01:59.811] } [18:01:59.811] else if (inherits(cond, "warning")) { [18:01:59.811] muffled <- grepl(pattern, "muffleWarning") [18:01:59.811] if (muffled) [18:01:59.811] invokeRestart("muffleWarning") [18:01:59.811] } [18:01:59.811] else if (inherits(cond, "condition")) { [18:01:59.811] if (!is.null(pattern)) { [18:01:59.811] computeRestarts <- base::computeRestarts [18:01:59.811] grepl <- base::grepl [18:01:59.811] restarts <- computeRestarts(cond) [18:01:59.811] for (restart in restarts) { [18:01:59.811] name <- restart$name [18:01:59.811] if (is.null(name)) [18:01:59.811] next [18:01:59.811] if (!grepl(pattern, name)) [18:01:59.811] next [18:01:59.811] invokeRestart(restart) [18:01:59.811] muffled <- TRUE [18:01:59.811] break [18:01:59.811] } [18:01:59.811] } [18:01:59.811] } [18:01:59.811] invisible(muffled) [18:01:59.811] } [18:01:59.811] muffleCondition(cond, pattern = "^muffle") [18:01:59.811] } [18:01:59.811] } [18:01:59.811] else { [18:01:59.811] if (TRUE) { [18:01:59.811] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.811] { [18:01:59.811] inherits <- base::inherits [18:01:59.811] invokeRestart <- base::invokeRestart [18:01:59.811] is.null <- base::is.null [18:01:59.811] muffled <- FALSE [18:01:59.811] if (inherits(cond, "message")) { [18:01:59.811] muffled <- grepl(pattern, "muffleMessage") [18:01:59.811] if (muffled) [18:01:59.811] invokeRestart("muffleMessage") [18:01:59.811] } [18:01:59.811] else if (inherits(cond, "warning")) { [18:01:59.811] muffled <- grepl(pattern, "muffleWarning") [18:01:59.811] if (muffled) [18:01:59.811] invokeRestart("muffleWarning") [18:01:59.811] } [18:01:59.811] else if (inherits(cond, "condition")) { [18:01:59.811] if (!is.null(pattern)) { [18:01:59.811] computeRestarts <- base::computeRestarts [18:01:59.811] grepl <- base::grepl [18:01:59.811] restarts <- computeRestarts(cond) [18:01:59.811] for (restart in restarts) { [18:01:59.811] name <- restart$name [18:01:59.811] if (is.null(name)) [18:01:59.811] next [18:01:59.811] if (!grepl(pattern, name)) [18:01:59.811] next [18:01:59.811] invokeRestart(restart) [18:01:59.811] muffled <- TRUE [18:01:59.811] break [18:01:59.811] } [18:01:59.811] } [18:01:59.811] } [18:01:59.811] invisible(muffled) [18:01:59.811] } [18:01:59.811] muffleCondition(cond, pattern = "^muffle") [18:01:59.811] } [18:01:59.811] } [18:01:59.811] } [18:01:59.811] })) [18:01:59.811] }, error = function(ex) { [18:01:59.811] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.811] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.811] ...future.rng), started = ...future.startTime, [18:01:59.811] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.811] version = "1.8"), class = "FutureResult") [18:01:59.811] }, finally = { [18:01:59.811] if (!identical(...future.workdir, getwd())) [18:01:59.811] setwd(...future.workdir) [18:01:59.811] { [18:01:59.811] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.811] ...future.oldOptions$nwarnings <- NULL [18:01:59.811] } [18:01:59.811] base::options(...future.oldOptions) [18:01:59.811] if (.Platform$OS.type == "windows") { [18:01:59.811] old_names <- names(...future.oldEnvVars) [18:01:59.811] envs <- base::Sys.getenv() [18:01:59.811] names <- names(envs) [18:01:59.811] common <- intersect(names, old_names) [18:01:59.811] added <- setdiff(names, old_names) [18:01:59.811] removed <- setdiff(old_names, names) [18:01:59.811] changed <- common[...future.oldEnvVars[common] != [18:01:59.811] envs[common]] [18:01:59.811] NAMES <- toupper(changed) [18:01:59.811] args <- list() [18:01:59.811] for (kk in seq_along(NAMES)) { [18:01:59.811] name <- changed[[kk]] [18:01:59.811] NAME <- NAMES[[kk]] [18:01:59.811] if (name != NAME && is.element(NAME, old_names)) [18:01:59.811] next [18:01:59.811] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.811] } [18:01:59.811] NAMES <- toupper(added) [18:01:59.811] for (kk in seq_along(NAMES)) { [18:01:59.811] name <- added[[kk]] [18:01:59.811] NAME <- NAMES[[kk]] [18:01:59.811] if (name != NAME && is.element(NAME, old_names)) [18:01:59.811] next [18:01:59.811] args[[name]] <- "" [18:01:59.811] } [18:01:59.811] NAMES <- toupper(removed) [18:01:59.811] for (kk in seq_along(NAMES)) { [18:01:59.811] name <- removed[[kk]] [18:01:59.811] NAME <- NAMES[[kk]] [18:01:59.811] if (name != NAME && is.element(NAME, old_names)) [18:01:59.811] next [18:01:59.811] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.811] } [18:01:59.811] if (length(args) > 0) [18:01:59.811] base::do.call(base::Sys.setenv, args = args) [18:01:59.811] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.811] } [18:01:59.811] else { [18:01:59.811] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.811] } [18:01:59.811] { [18:01:59.811] if (base::length(...future.futureOptionsAdded) > [18:01:59.811] 0L) { [18:01:59.811] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.811] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.811] base::options(opts) [18:01:59.811] } [18:01:59.811] { [18:01:59.811] { [18:01:59.811] NULL [18:01:59.811] RNGkind("Mersenne-Twister") [18:01:59.811] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.811] inherits = FALSE) [18:01:59.811] } [18:01:59.811] options(future.plan = NULL) [18:01:59.811] if (is.na(NA_character_)) [18:01:59.811] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.811] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.811] future::plan(list(function (..., envir = parent.frame()) [18:01:59.811] { [18:01:59.811] future <- SequentialFuture(..., envir = envir) [18:01:59.811] if (!future$lazy) [18:01:59.811] future <- run(future) [18:01:59.811] invisible(future) [18:01:59.811] }), .cleanup = FALSE, .init = FALSE) [18:01:59.811] } [18:01:59.811] } [18:01:59.811] } [18:01:59.811] }) [18:01:59.811] if (TRUE) { [18:01:59.811] base::sink(type = "output", split = FALSE) [18:01:59.811] if (TRUE) { [18:01:59.811] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.811] } [18:01:59.811] else { [18:01:59.811] ...future.result["stdout"] <- base::list(NULL) [18:01:59.811] } [18:01:59.811] base::close(...future.stdout) [18:01:59.811] ...future.stdout <- NULL [18:01:59.811] } [18:01:59.811] ...future.result$conditions <- ...future.conditions [18:01:59.811] ...future.result$finished <- base::Sys.time() [18:01:59.811] ...future.result [18:01:59.811] } [18:01:59.816] assign_globals() ... [18:01:59.816] List of 1 [18:01:59.816] $ a: num 3 [18:01:59.816] - attr(*, "where")=List of 1 [18:01:59.816] ..$ a: [18:01:59.816] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.816] - attr(*, "resolved")= logi TRUE [18:01:59.816] - attr(*, "total_size")= num 56 [18:01:59.816] - attr(*, "already-done")= logi TRUE [18:01:59.819] - copied 'a' to environment [18:01:59.819] assign_globals() ... done [18:01:59.819] plan(): Setting new future strategy stack: [18:01:59.820] List of future strategies: [18:01:59.820] 1. sequential: [18:01:59.820] - args: function (..., envir = parent.frame()) [18:01:59.820] - tweaked: FALSE [18:01:59.820] - call: NULL [18:01:59.820] plan(): nbrOfWorkers() = 1 [18:01:59.821] plan(): Setting new future strategy stack: [18:01:59.821] List of future strategies: [18:01:59.821] 1. sequential: [18:01:59.821] - args: function (..., envir = parent.frame()) [18:01:59.821] - tweaked: FALSE [18:01:59.821] - call: plan(strategy) [18:01:59.822] plan(): nbrOfWorkers() = 1 [18:01:59.822] SequentialFuture started (and completed) [18:01:59.822] - Launch lazy future ... done [18:01:59.822] run() for 'SequentialFuture' ... done y = 6 Warning: 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' [18:01:59.823] getGlobalsAndPackages() ... Warning: 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' [18:01:59.823] Searching for globals... Warning: 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' [18:01:59.825] - globals found: [5] '{', '<-', '*', 'a', 'ii' [18:01:59.825] Searching for globals ... DONE [18:01:59.826] Resolving globals: TRUE [18:01:59.826] Resolving any globals that are futures ... [18:01:59.826] - globals: [5] '{', '<-', '*', 'a', 'ii' [18:01:59.826] Resolving any globals that are futures ... DONE [18:01:59.826] Resolving futures part of globals (recursively) ... [18:01:59.827] resolve() on list ... [18:01:59.827] recursive: 99 [18:01:59.827] length: 2 [18:01:59.827] elements: 'a', 'ii' [18:01:59.827] length: 1 (resolved future 1) [18:01:59.828] length: 0 (resolved future 2) [18:01:59.828] resolve() on list ... DONE [18:01:59.828] - globals: [2] 'a', 'ii' [18:01:59.828] Resolving futures part of globals (recursively) ... DONE [18:01:59.828] The total size of the 2 globals is 112 bytes (112 bytes) [18:01:59.829] 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') [18:01:59.829] - globals: [2] 'a', 'ii' [18:01:59.829] [18:01:59.829] getGlobalsAndPackages() ... DONE [18:01:59.829] run() for 'Future' ... [18:01:59.829] - state: 'created' [18:01:59.830] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.830] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.830] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.830] - Field: 'label' [18:01:59.831] - Field: 'local' [18:01:59.831] - Field: 'owner' [18:01:59.831] - Field: 'envir' [18:01:59.831] - Field: 'packages' [18:01:59.831] - Field: 'gc' [18:01:59.831] - Field: 'conditions' [18:01:59.831] - Field: 'expr' [18:01:59.832] - Field: 'uuid' [18:01:59.832] - Field: 'seed' [18:01:59.832] - Field: 'version' [18:01:59.832] - Field: 'result' [18:01:59.832] - Field: 'asynchronous' [18:01:59.832] - Field: 'calls' [18:01:59.833] - Field: 'globals' [18:01:59.833] - Field: 'stdout' [18:01:59.833] - Field: 'earlySignal' [18:01:59.833] - Field: 'lazy' [18:01:59.833] - Field: 'state' [18:01:59.833] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.833] - Launch lazy future ... [18:01:59.834] Packages needed by the future expression (n = 0): [18:01:59.834] Packages needed by future strategies (n = 0): [18:01:59.834] { [18:01:59.834] { [18:01:59.834] { [18:01:59.834] ...future.startTime <- base::Sys.time() [18:01:59.834] { [18:01:59.834] { [18:01:59.834] { [18:01:59.834] base::local({ [18:01:59.834] has_future <- base::requireNamespace("future", [18:01:59.834] quietly = TRUE) [18:01:59.834] if (has_future) { [18:01:59.834] ns <- base::getNamespace("future") [18:01:59.834] version <- ns[[".package"]][["version"]] [18:01:59.834] if (is.null(version)) [18:01:59.834] version <- utils::packageVersion("future") [18:01:59.834] } [18:01:59.834] else { [18:01:59.834] version <- NULL [18:01:59.834] } [18:01:59.834] if (!has_future || version < "1.8.0") { [18:01:59.834] info <- base::c(r_version = base::gsub("R version ", [18:01:59.834] "", base::R.version$version.string), [18:01:59.834] platform = base::sprintf("%s (%s-bit)", [18:01:59.834] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.834] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.834] "release", "version")], collapse = " "), [18:01:59.834] hostname = base::Sys.info()[["nodename"]]) [18:01:59.834] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.834] info) [18:01:59.834] info <- base::paste(info, collapse = "; ") [18:01:59.834] if (!has_future) { [18:01:59.834] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.834] info) [18:01:59.834] } [18:01:59.834] else { [18:01:59.834] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.834] info, version) [18:01:59.834] } [18:01:59.834] base::stop(msg) [18:01:59.834] } [18:01:59.834] }) [18:01:59.834] } [18:01:59.834] options(future.plan = NULL) [18:01:59.834] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.834] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.834] } [18:01:59.834] ...future.workdir <- getwd() [18:01:59.834] } [18:01:59.834] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.834] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.834] } [18:01:59.834] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.834] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:01:59.834] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.834] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.834] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.834] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.834] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.834] base::names(...future.oldOptions)) [18:01:59.834] } [18:01:59.834] if (FALSE) { [18:01:59.834] } [18:01:59.834] else { [18:01:59.834] if (TRUE) { [18:01:59.834] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.834] open = "w") [18:01:59.834] } [18:01:59.834] else { [18:01:59.834] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.834] windows = "NUL", "/dev/null"), open = "w") [18:01:59.834] } [18:01:59.834] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.834] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.834] base::sink(type = "output", split = FALSE) [18:01:59.834] base::close(...future.stdout) [18:01:59.834] }, add = TRUE) [18:01:59.834] } [18:01:59.834] ...future.frame <- base::sys.nframe() [18:01:59.834] ...future.conditions <- base::list() [18:01:59.834] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.834] if (FALSE) { [18:01:59.834] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.834] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.834] } [18:01:59.834] ...future.result <- base::tryCatch({ [18:01:59.834] base::withCallingHandlers({ [18:01:59.834] ...future.value <- base::withVisible(base::local({ [18:01:59.834] b <- a * ii [18:01:59.834] a <- 0 [18:01:59.834] b [18:01:59.834] })) [18:01:59.834] future::FutureResult(value = ...future.value$value, [18:01:59.834] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.834] ...future.rng), globalenv = if (FALSE) [18:01:59.834] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.834] ...future.globalenv.names)) [18:01:59.834] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.834] }, condition = base::local({ [18:01:59.834] c <- base::c [18:01:59.834] inherits <- base::inherits [18:01:59.834] invokeRestart <- base::invokeRestart [18:01:59.834] length <- base::length [18:01:59.834] list <- base::list [18:01:59.834] seq.int <- base::seq.int [18:01:59.834] signalCondition <- base::signalCondition [18:01:59.834] sys.calls <- base::sys.calls [18:01:59.834] `[[` <- base::`[[` [18:01:59.834] `+` <- base::`+` [18:01:59.834] `<<-` <- base::`<<-` [18:01:59.834] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.834] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.834] 3L)] [18:01:59.834] } [18:01:59.834] function(cond) { [18:01:59.834] is_error <- inherits(cond, "error") [18:01:59.834] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.834] NULL) [18:01:59.834] if (is_error) { [18:01:59.834] sessionInformation <- function() { [18:01:59.834] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.834] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.834] search = base::search(), system = base::Sys.info()) [18:01:59.834] } [18:01:59.834] ...future.conditions[[length(...future.conditions) + [18:01:59.834] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.834] cond$call), session = sessionInformation(), [18:01:59.834] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.834] signalCondition(cond) [18:01:59.834] } [18:01:59.834] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.834] "immediateCondition"))) { [18:01:59.834] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.834] ...future.conditions[[length(...future.conditions) + [18:01:59.834] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.834] if (TRUE && !signal) { [18:01:59.834] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.834] { [18:01:59.834] inherits <- base::inherits [18:01:59.834] invokeRestart <- base::invokeRestart [18:01:59.834] is.null <- base::is.null [18:01:59.834] muffled <- FALSE [18:01:59.834] if (inherits(cond, "message")) { [18:01:59.834] muffled <- grepl(pattern, "muffleMessage") [18:01:59.834] if (muffled) [18:01:59.834] invokeRestart("muffleMessage") [18:01:59.834] } [18:01:59.834] else if (inherits(cond, "warning")) { [18:01:59.834] muffled <- grepl(pattern, "muffleWarning") [18:01:59.834] if (muffled) [18:01:59.834] invokeRestart("muffleWarning") [18:01:59.834] } [18:01:59.834] else if (inherits(cond, "condition")) { [18:01:59.834] if (!is.null(pattern)) { [18:01:59.834] computeRestarts <- base::computeRestarts [18:01:59.834] grepl <- base::grepl [18:01:59.834] restarts <- computeRestarts(cond) [18:01:59.834] for (restart in restarts) { [18:01:59.834] name <- restart$name [18:01:59.834] if (is.null(name)) [18:01:59.834] next [18:01:59.834] if (!grepl(pattern, name)) [18:01:59.834] next [18:01:59.834] invokeRestart(restart) [18:01:59.834] muffled <- TRUE [18:01:59.834] break [18:01:59.834] } [18:01:59.834] } [18:01:59.834] } [18:01:59.834] invisible(muffled) [18:01:59.834] } [18:01:59.834] muffleCondition(cond, pattern = "^muffle") [18:01:59.834] } [18:01:59.834] } [18:01:59.834] else { [18:01:59.834] if (TRUE) { [18:01:59.834] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.834] { [18:01:59.834] inherits <- base::inherits [18:01:59.834] invokeRestart <- base::invokeRestart [18:01:59.834] is.null <- base::is.null [18:01:59.834] muffled <- FALSE [18:01:59.834] if (inherits(cond, "message")) { [18:01:59.834] muffled <- grepl(pattern, "muffleMessage") [18:01:59.834] if (muffled) [18:01:59.834] invokeRestart("muffleMessage") [18:01:59.834] } [18:01:59.834] else if (inherits(cond, "warning")) { [18:01:59.834] muffled <- grepl(pattern, "muffleWarning") [18:01:59.834] if (muffled) [18:01:59.834] invokeRestart("muffleWarning") [18:01:59.834] } [18:01:59.834] else if (inherits(cond, "condition")) { [18:01:59.834] if (!is.null(pattern)) { [18:01:59.834] computeRestarts <- base::computeRestarts [18:01:59.834] grepl <- base::grepl [18:01:59.834] restarts <- computeRestarts(cond) [18:01:59.834] for (restart in restarts) { [18:01:59.834] name <- restart$name [18:01:59.834] if (is.null(name)) [18:01:59.834] next [18:01:59.834] if (!grepl(pattern, name)) [18:01:59.834] next [18:01:59.834] invokeRestart(restart) [18:01:59.834] muffled <- TRUE [18:01:59.834] break [18:01:59.834] } [18:01:59.834] } [18:01:59.834] } [18:01:59.834] invisible(muffled) [18:01:59.834] } [18:01:59.834] muffleCondition(cond, pattern = "^muffle") [18:01:59.834] } [18:01:59.834] } [18:01:59.834] } [18:01:59.834] })) [18:01:59.834] }, error = function(ex) { [18:01:59.834] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.834] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.834] ...future.rng), started = ...future.startTime, [18:01:59.834] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.834] version = "1.8"), class = "FutureResult") [18:01:59.834] }, finally = { [18:01:59.834] if (!identical(...future.workdir, getwd())) [18:01:59.834] setwd(...future.workdir) [18:01:59.834] { [18:01:59.834] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.834] ...future.oldOptions$nwarnings <- NULL [18:01:59.834] } [18:01:59.834] base::options(...future.oldOptions) [18:01:59.834] if (.Platform$OS.type == "windows") { [18:01:59.834] old_names <- names(...future.oldEnvVars) [18:01:59.834] envs <- base::Sys.getenv() [18:01:59.834] names <- names(envs) [18:01:59.834] common <- intersect(names, old_names) [18:01:59.834] added <- setdiff(names, old_names) [18:01:59.834] removed <- setdiff(old_names, names) [18:01:59.834] changed <- common[...future.oldEnvVars[common] != [18:01:59.834] envs[common]] [18:01:59.834] NAMES <- toupper(changed) [18:01:59.834] args <- list() [18:01:59.834] for (kk in seq_along(NAMES)) { [18:01:59.834] name <- changed[[kk]] [18:01:59.834] NAME <- NAMES[[kk]] [18:01:59.834] if (name != NAME && is.element(NAME, old_names)) [18:01:59.834] next [18:01:59.834] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.834] } [18:01:59.834] NAMES <- toupper(added) [18:01:59.834] for (kk in seq_along(NAMES)) { [18:01:59.834] name <- added[[kk]] [18:01:59.834] NAME <- NAMES[[kk]] [18:01:59.834] if (name != NAME && is.element(NAME, old_names)) [18:01:59.834] next [18:01:59.834] args[[name]] <- "" [18:01:59.834] } [18:01:59.834] NAMES <- toupper(removed) [18:01:59.834] for (kk in seq_along(NAMES)) { [18:01:59.834] name <- removed[[kk]] [18:01:59.834] NAME <- NAMES[[kk]] [18:01:59.834] if (name != NAME && is.element(NAME, old_names)) [18:01:59.834] next [18:01:59.834] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.834] } [18:01:59.834] if (length(args) > 0) [18:01:59.834] base::do.call(base::Sys.setenv, args = args) [18:01:59.834] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.834] } [18:01:59.834] else { [18:01:59.834] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.834] } [18:01:59.834] { [18:01:59.834] if (base::length(...future.futureOptionsAdded) > [18:01:59.834] 0L) { [18:01:59.834] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.834] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.834] base::options(opts) [18:01:59.834] } [18:01:59.834] { [18:01:59.834] { [18:01:59.834] NULL [18:01:59.834] RNGkind("Mersenne-Twister") [18:01:59.834] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.834] inherits = FALSE) [18:01:59.834] } [18:01:59.834] options(future.plan = NULL) [18:01:59.834] if (is.na(NA_character_)) [18:01:59.834] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.834] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.834] future::plan(list(function (..., envir = parent.frame()) [18:01:59.834] { [18:01:59.834] future <- SequentialFuture(..., envir = envir) [18:01:59.834] if (!future$lazy) [18:01:59.834] future <- run(future) [18:01:59.834] invisible(future) [18:01:59.834] }), .cleanup = FALSE, .init = FALSE) [18:01:59.834] } [18:01:59.834] } [18:01:59.834] } [18:01:59.834] }) [18:01:59.834] if (TRUE) { [18:01:59.834] base::sink(type = "output", split = FALSE) [18:01:59.834] if (TRUE) { [18:01:59.834] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.834] } [18:01:59.834] else { [18:01:59.834] ...future.result["stdout"] <- base::list(NULL) [18:01:59.834] } [18:01:59.834] base::close(...future.stdout) [18:01:59.834] ...future.stdout <- NULL [18:01:59.834] } [18:01:59.834] ...future.result$conditions <- ...future.conditions [18:01:59.834] ...future.result$finished <- base::Sys.time() [18:01:59.834] ...future.result [18:01:59.834] } [18:01:59.838] assign_globals() ... [18:01:59.838] List of 2 [18:01:59.838] $ a : num 1 [18:01:59.838] $ ii: int 1 [18:01:59.838] - attr(*, "where")=List of 2 [18:01:59.838] ..$ a : [18:01:59.838] ..$ ii: [18:01:59.838] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.838] - attr(*, "resolved")= logi TRUE [18:01:59.838] - attr(*, "total_size")= num 112 [18:01:59.838] - attr(*, "already-done")= logi TRUE [18:01:59.841] - copied 'a' to environment [18:01:59.841] - copied 'ii' to environment [18:01:59.841] assign_globals() ... done [18:01:59.842] plan(): Setting new future strategy stack: [18:01:59.842] List of future strategies: [18:01:59.842] 1. sequential: [18:01:59.842] - args: function (..., envir = parent.frame()) [18:01:59.842] - tweaked: FALSE [18:01:59.842] - call: NULL [18:01:59.842] plan(): nbrOfWorkers() = 1 [18:01:59.843] plan(): Setting new future strategy stack: [18:01:59.843] List of future strategies: [18:01:59.843] 1. sequential: [18:01:59.843] - args: function (..., envir = parent.frame()) [18:01:59.843] - tweaked: FALSE [18:01:59.843] - call: plan(strategy) [18:01:59.845] plan(): nbrOfWorkers() = 1 [18:01:59.845] SequentialFuture started (and completed) [18:01:59.845] - Launch lazy future ... done [18:01:59.845] run() for 'SequentialFuture' ... done Warning: 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' [18:01:59.846] getGlobalsAndPackages() ... Warning: 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' [18:01:59.846] Searching for globals... Warning: 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' [18:01:59.848] - globals found: [5] '{', '<-', '*', 'a', 'ii' [18:01:59.848] Searching for globals ... DONE [18:01:59.849] Resolving globals: TRUE [18:01:59.849] Resolving any globals that are futures ... [18:01:59.849] - globals: [5] '{', '<-', '*', 'a', 'ii' [18:01:59.849] Resolving any globals that are futures ... DONE [18:01:59.849] Resolving futures part of globals (recursively) ... [18:01:59.850] resolve() on list ... [18:01:59.850] recursive: 99 [18:01:59.850] length: 2 [18:01:59.850] elements: 'a', 'ii' [18:01:59.850] length: 1 (resolved future 1) [18:01:59.851] length: 0 (resolved future 2) [18:01:59.851] resolve() on list ... DONE [18:01:59.851] - globals: [2] 'a', 'ii' [18:01:59.851] Resolving futures part of globals (recursively) ... DONE [18:01:59.851] The total size of the 2 globals is 112 bytes (112 bytes) [18:01:59.852] 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') [18:01:59.852] - globals: [2] 'a', 'ii' [18:01:59.852] [18:01:59.852] getGlobalsAndPackages() ... DONE [18:01:59.852] run() for 'Future' ... [18:01:59.853] - state: 'created' [18:01:59.853] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.853] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.853] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.853] - Field: 'label' [18:01:59.854] - Field: 'local' [18:01:59.854] - Field: 'owner' [18:01:59.854] - Field: 'envir' [18:01:59.854] - Field: 'packages' [18:01:59.854] - Field: 'gc' [18:01:59.854] - Field: 'conditions' [18:01:59.854] - Field: 'expr' [18:01:59.855] - Field: 'uuid' [18:01:59.855] - Field: 'seed' [18:01:59.855] - Field: 'version' [18:01:59.855] - Field: 'result' [18:01:59.855] - Field: 'asynchronous' [18:01:59.855] - Field: 'calls' [18:01:59.856] - Field: 'globals' [18:01:59.856] - Field: 'stdout' [18:01:59.856] - Field: 'earlySignal' [18:01:59.856] - Field: 'lazy' [18:01:59.856] - Field: 'state' [18:01:59.856] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.856] - Launch lazy future ... [18:01:59.857] Packages needed by the future expression (n = 0): [18:01:59.857] Packages needed by future strategies (n = 0): [18:01:59.857] { [18:01:59.857] { [18:01:59.857] { [18:01:59.857] ...future.startTime <- base::Sys.time() [18:01:59.857] { [18:01:59.857] { [18:01:59.857] { [18:01:59.857] base::local({ [18:01:59.857] has_future <- base::requireNamespace("future", [18:01:59.857] quietly = TRUE) [18:01:59.857] if (has_future) { [18:01:59.857] ns <- base::getNamespace("future") [18:01:59.857] version <- ns[[".package"]][["version"]] [18:01:59.857] if (is.null(version)) [18:01:59.857] version <- utils::packageVersion("future") [18:01:59.857] } [18:01:59.857] else { [18:01:59.857] version <- NULL [18:01:59.857] } [18:01:59.857] if (!has_future || version < "1.8.0") { [18:01:59.857] info <- base::c(r_version = base::gsub("R version ", [18:01:59.857] "", base::R.version$version.string), [18:01:59.857] platform = base::sprintf("%s (%s-bit)", [18:01:59.857] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.857] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.857] "release", "version")], collapse = " "), [18:01:59.857] hostname = base::Sys.info()[["nodename"]]) [18:01:59.857] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.857] info) [18:01:59.857] info <- base::paste(info, collapse = "; ") [18:01:59.857] if (!has_future) { [18:01:59.857] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.857] info) [18:01:59.857] } [18:01:59.857] else { [18:01:59.857] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.857] info, version) [18:01:59.857] } [18:01:59.857] base::stop(msg) [18:01:59.857] } [18:01:59.857] }) [18:01:59.857] } [18:01:59.857] options(future.plan = NULL) [18:01:59.857] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.857] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.857] } [18:01:59.857] ...future.workdir <- getwd() [18:01:59.857] } [18:01:59.857] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.857] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.857] } [18:01:59.857] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.857] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:01:59.857] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.857] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.857] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.857] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.857] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.857] base::names(...future.oldOptions)) [18:01:59.857] } [18:01:59.857] if (FALSE) { [18:01:59.857] } [18:01:59.857] else { [18:01:59.857] if (TRUE) { [18:01:59.857] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.857] open = "w") [18:01:59.857] } [18:01:59.857] else { [18:01:59.857] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.857] windows = "NUL", "/dev/null"), open = "w") [18:01:59.857] } [18:01:59.857] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.857] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.857] base::sink(type = "output", split = FALSE) [18:01:59.857] base::close(...future.stdout) [18:01:59.857] }, add = TRUE) [18:01:59.857] } [18:01:59.857] ...future.frame <- base::sys.nframe() [18:01:59.857] ...future.conditions <- base::list() [18:01:59.857] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.857] if (FALSE) { [18:01:59.857] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.857] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.857] } [18:01:59.857] ...future.result <- base::tryCatch({ [18:01:59.857] base::withCallingHandlers({ [18:01:59.857] ...future.value <- base::withVisible(base::local({ [18:01:59.857] b <- a * ii [18:01:59.857] a <- 0 [18:01:59.857] b [18:01:59.857] })) [18:01:59.857] future::FutureResult(value = ...future.value$value, [18:01:59.857] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.857] ...future.rng), globalenv = if (FALSE) [18:01:59.857] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.857] ...future.globalenv.names)) [18:01:59.857] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.857] }, condition = base::local({ [18:01:59.857] c <- base::c [18:01:59.857] inherits <- base::inherits [18:01:59.857] invokeRestart <- base::invokeRestart [18:01:59.857] length <- base::length [18:01:59.857] list <- base::list [18:01:59.857] seq.int <- base::seq.int [18:01:59.857] signalCondition <- base::signalCondition [18:01:59.857] sys.calls <- base::sys.calls [18:01:59.857] `[[` <- base::`[[` [18:01:59.857] `+` <- base::`+` [18:01:59.857] `<<-` <- base::`<<-` [18:01:59.857] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.857] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.857] 3L)] [18:01:59.857] } [18:01:59.857] function(cond) { [18:01:59.857] is_error <- inherits(cond, "error") [18:01:59.857] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.857] NULL) [18:01:59.857] if (is_error) { [18:01:59.857] sessionInformation <- function() { [18:01:59.857] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.857] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.857] search = base::search(), system = base::Sys.info()) [18:01:59.857] } [18:01:59.857] ...future.conditions[[length(...future.conditions) + [18:01:59.857] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.857] cond$call), session = sessionInformation(), [18:01:59.857] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.857] signalCondition(cond) [18:01:59.857] } [18:01:59.857] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.857] "immediateCondition"))) { [18:01:59.857] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.857] ...future.conditions[[length(...future.conditions) + [18:01:59.857] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.857] if (TRUE && !signal) { [18:01:59.857] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.857] { [18:01:59.857] inherits <- base::inherits [18:01:59.857] invokeRestart <- base::invokeRestart [18:01:59.857] is.null <- base::is.null [18:01:59.857] muffled <- FALSE [18:01:59.857] if (inherits(cond, "message")) { [18:01:59.857] muffled <- grepl(pattern, "muffleMessage") [18:01:59.857] if (muffled) [18:01:59.857] invokeRestart("muffleMessage") [18:01:59.857] } [18:01:59.857] else if (inherits(cond, "warning")) { [18:01:59.857] muffled <- grepl(pattern, "muffleWarning") [18:01:59.857] if (muffled) [18:01:59.857] invokeRestart("muffleWarning") [18:01:59.857] } [18:01:59.857] else if (inherits(cond, "condition")) { [18:01:59.857] if (!is.null(pattern)) { [18:01:59.857] computeRestarts <- base::computeRestarts [18:01:59.857] grepl <- base::grepl [18:01:59.857] restarts <- computeRestarts(cond) [18:01:59.857] for (restart in restarts) { [18:01:59.857] name <- restart$name [18:01:59.857] if (is.null(name)) [18:01:59.857] next [18:01:59.857] if (!grepl(pattern, name)) [18:01:59.857] next [18:01:59.857] invokeRestart(restart) [18:01:59.857] muffled <- TRUE [18:01:59.857] break [18:01:59.857] } [18:01:59.857] } [18:01:59.857] } [18:01:59.857] invisible(muffled) [18:01:59.857] } [18:01:59.857] muffleCondition(cond, pattern = "^muffle") [18:01:59.857] } [18:01:59.857] } [18:01:59.857] else { [18:01:59.857] if (TRUE) { [18:01:59.857] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.857] { [18:01:59.857] inherits <- base::inherits [18:01:59.857] invokeRestart <- base::invokeRestart [18:01:59.857] is.null <- base::is.null [18:01:59.857] muffled <- FALSE [18:01:59.857] if (inherits(cond, "message")) { [18:01:59.857] muffled <- grepl(pattern, "muffleMessage") [18:01:59.857] if (muffled) [18:01:59.857] invokeRestart("muffleMessage") [18:01:59.857] } [18:01:59.857] else if (inherits(cond, "warning")) { [18:01:59.857] muffled <- grepl(pattern, "muffleWarning") [18:01:59.857] if (muffled) [18:01:59.857] invokeRestart("muffleWarning") [18:01:59.857] } [18:01:59.857] else if (inherits(cond, "condition")) { [18:01:59.857] if (!is.null(pattern)) { [18:01:59.857] computeRestarts <- base::computeRestarts [18:01:59.857] grepl <- base::grepl [18:01:59.857] restarts <- computeRestarts(cond) [18:01:59.857] for (restart in restarts) { [18:01:59.857] name <- restart$name [18:01:59.857] if (is.null(name)) [18:01:59.857] next [18:01:59.857] if (!grepl(pattern, name)) [18:01:59.857] next [18:01:59.857] invokeRestart(restart) [18:01:59.857] muffled <- TRUE [18:01:59.857] break [18:01:59.857] } [18:01:59.857] } [18:01:59.857] } [18:01:59.857] invisible(muffled) [18:01:59.857] } [18:01:59.857] muffleCondition(cond, pattern = "^muffle") [18:01:59.857] } [18:01:59.857] } [18:01:59.857] } [18:01:59.857] })) [18:01:59.857] }, error = function(ex) { [18:01:59.857] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.857] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.857] ...future.rng), started = ...future.startTime, [18:01:59.857] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.857] version = "1.8"), class = "FutureResult") [18:01:59.857] }, finally = { [18:01:59.857] if (!identical(...future.workdir, getwd())) [18:01:59.857] setwd(...future.workdir) [18:01:59.857] { [18:01:59.857] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.857] ...future.oldOptions$nwarnings <- NULL [18:01:59.857] } [18:01:59.857] base::options(...future.oldOptions) [18:01:59.857] if (.Platform$OS.type == "windows") { [18:01:59.857] old_names <- names(...future.oldEnvVars) [18:01:59.857] envs <- base::Sys.getenv() [18:01:59.857] names <- names(envs) [18:01:59.857] common <- intersect(names, old_names) [18:01:59.857] added <- setdiff(names, old_names) [18:01:59.857] removed <- setdiff(old_names, names) [18:01:59.857] changed <- common[...future.oldEnvVars[common] != [18:01:59.857] envs[common]] [18:01:59.857] NAMES <- toupper(changed) [18:01:59.857] args <- list() [18:01:59.857] for (kk in seq_along(NAMES)) { [18:01:59.857] name <- changed[[kk]] [18:01:59.857] NAME <- NAMES[[kk]] [18:01:59.857] if (name != NAME && is.element(NAME, old_names)) [18:01:59.857] next [18:01:59.857] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.857] } [18:01:59.857] NAMES <- toupper(added) [18:01:59.857] for (kk in seq_along(NAMES)) { [18:01:59.857] name <- added[[kk]] [18:01:59.857] NAME <- NAMES[[kk]] [18:01:59.857] if (name != NAME && is.element(NAME, old_names)) [18:01:59.857] next [18:01:59.857] args[[name]] <- "" [18:01:59.857] } [18:01:59.857] NAMES <- toupper(removed) [18:01:59.857] for (kk in seq_along(NAMES)) { [18:01:59.857] name <- removed[[kk]] [18:01:59.857] NAME <- NAMES[[kk]] [18:01:59.857] if (name != NAME && is.element(NAME, old_names)) [18:01:59.857] next [18:01:59.857] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.857] } [18:01:59.857] if (length(args) > 0) [18:01:59.857] base::do.call(base::Sys.setenv, args = args) [18:01:59.857] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.857] } [18:01:59.857] else { [18:01:59.857] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.857] } [18:01:59.857] { [18:01:59.857] if (base::length(...future.futureOptionsAdded) > [18:01:59.857] 0L) { [18:01:59.857] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.857] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.857] base::options(opts) [18:01:59.857] } [18:01:59.857] { [18:01:59.857] { [18:01:59.857] NULL [18:01:59.857] RNGkind("Mersenne-Twister") [18:01:59.857] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.857] inherits = FALSE) [18:01:59.857] } [18:01:59.857] options(future.plan = NULL) [18:01:59.857] if (is.na(NA_character_)) [18:01:59.857] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.857] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.857] future::plan(list(function (..., envir = parent.frame()) [18:01:59.857] { [18:01:59.857] future <- SequentialFuture(..., envir = envir) [18:01:59.857] if (!future$lazy) [18:01:59.857] future <- run(future) [18:01:59.857] invisible(future) [18:01:59.857] }), .cleanup = FALSE, .init = FALSE) [18:01:59.857] } [18:01:59.857] } [18:01:59.857] } [18:01:59.857] }) [18:01:59.857] if (TRUE) { [18:01:59.857] base::sink(type = "output", split = FALSE) [18:01:59.857] if (TRUE) { [18:01:59.857] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.857] } [18:01:59.857] else { [18:01:59.857] ...future.result["stdout"] <- base::list(NULL) [18:01:59.857] } [18:01:59.857] base::close(...future.stdout) [18:01:59.857] ...future.stdout <- NULL [18:01:59.857] } [18:01:59.857] ...future.result$conditions <- ...future.conditions [18:01:59.857] ...future.result$finished <- base::Sys.time() [18:01:59.857] ...future.result [18:01:59.857] } [18:01:59.861] assign_globals() ... [18:01:59.861] List of 2 [18:01:59.861] $ a : num 1 [18:01:59.861] $ ii: int 2 [18:01:59.861] - attr(*, "where")=List of 2 [18:01:59.861] ..$ a : [18:01:59.861] ..$ ii: [18:01:59.861] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.861] - attr(*, "resolved")= logi TRUE [18:01:59.861] - attr(*, "total_size")= num 112 [18:01:59.861] - attr(*, "already-done")= logi TRUE [18:01:59.864] - copied 'a' to environment [18:01:59.864] - copied 'ii' to environment [18:01:59.864] assign_globals() ... done [18:01:59.865] plan(): Setting new future strategy stack: [18:01:59.865] List of future strategies: [18:01:59.865] 1. sequential: [18:01:59.865] - args: function (..., envir = parent.frame()) [18:01:59.865] - tweaked: FALSE [18:01:59.865] - call: NULL [18:01:59.865] plan(): nbrOfWorkers() = 1 [18:01:59.866] plan(): Setting new future strategy stack: [18:01:59.866] List of future strategies: [18:01:59.866] 1. sequential: [18:01:59.866] - args: function (..., envir = parent.frame()) [18:01:59.866] - tweaked: FALSE [18:01:59.866] - call: plan(strategy) [18:01:59.867] plan(): nbrOfWorkers() = 1 [18:01:59.867] SequentialFuture started (and completed) [18:01:59.867] - Launch lazy future ... done [18:01:59.867] run() for 'SequentialFuture' ... done Warning: 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' [18:01:59.868] getGlobalsAndPackages() ... Warning: 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' [18:01:59.868] Searching for globals... Warning: 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' [18:01:59.870] - globals found: [5] '{', '<-', '*', 'a', 'ii' [18:01:59.870] Searching for globals ... DONE [18:01:59.871] Resolving globals: TRUE [18:01:59.871] Resolving any globals that are futures ... [18:01:59.871] - globals: [5] '{', '<-', '*', 'a', 'ii' [18:01:59.871] Resolving any globals that are futures ... DONE [18:01:59.872] Resolving futures part of globals (recursively) ... [18:01:59.872] resolve() on list ... [18:01:59.873] recursive: 99 [18:01:59.873] length: 2 [18:01:59.873] elements: 'a', 'ii' [18:01:59.873] length: 1 (resolved future 1) [18:01:59.873] length: 0 (resolved future 2) [18:01:59.873] resolve() on list ... DONE [18:01:59.874] - globals: [2] 'a', 'ii' [18:01:59.874] Resolving futures part of globals (recursively) ... DONE [18:01:59.874] The total size of the 2 globals is 112 bytes (112 bytes) [18:01:59.874] 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') [18:01:59.874] - globals: [2] 'a', 'ii' [18:01:59.875] [18:01:59.875] getGlobalsAndPackages() ... DONE [18:01:59.875] run() for 'Future' ... [18:01:59.875] - state: 'created' [18:01:59.875] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.876] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.876] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.876] - Field: 'label' [18:01:59.876] - Field: 'local' [18:01:59.876] - Field: 'owner' [18:01:59.876] - Field: 'envir' [18:01:59.877] - Field: 'packages' [18:01:59.877] - Field: 'gc' [18:01:59.877] - Field: 'conditions' [18:01:59.877] - Field: 'expr' [18:01:59.877] - Field: 'uuid' [18:01:59.877] - Field: 'seed' [18:01:59.878] - Field: 'version' [18:01:59.878] - Field: 'result' [18:01:59.878] - Field: 'asynchronous' [18:01:59.878] - Field: 'calls' [18:01:59.878] - Field: 'globals' [18:01:59.878] - Field: 'stdout' [18:01:59.878] - Field: 'earlySignal' [18:01:59.879] - Field: 'lazy' [18:01:59.879] - Field: 'state' [18:01:59.879] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.879] - Launch lazy future ... [18:01:59.879] Packages needed by the future expression (n = 0): [18:01:59.879] Packages needed by future strategies (n = 0): [18:01:59.880] { [18:01:59.880] { [18:01:59.880] { [18:01:59.880] ...future.startTime <- base::Sys.time() [18:01:59.880] { [18:01:59.880] { [18:01:59.880] { [18:01:59.880] base::local({ [18:01:59.880] has_future <- base::requireNamespace("future", [18:01:59.880] quietly = TRUE) [18:01:59.880] if (has_future) { [18:01:59.880] ns <- base::getNamespace("future") [18:01:59.880] version <- ns[[".package"]][["version"]] [18:01:59.880] if (is.null(version)) [18:01:59.880] version <- utils::packageVersion("future") [18:01:59.880] } [18:01:59.880] else { [18:01:59.880] version <- NULL [18:01:59.880] } [18:01:59.880] if (!has_future || version < "1.8.0") { [18:01:59.880] info <- base::c(r_version = base::gsub("R version ", [18:01:59.880] "", base::R.version$version.string), [18:01:59.880] platform = base::sprintf("%s (%s-bit)", [18:01:59.880] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.880] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.880] "release", "version")], collapse = " "), [18:01:59.880] hostname = base::Sys.info()[["nodename"]]) [18:01:59.880] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.880] info) [18:01:59.880] info <- base::paste(info, collapse = "; ") [18:01:59.880] if (!has_future) { [18:01:59.880] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.880] info) [18:01:59.880] } [18:01:59.880] else { [18:01:59.880] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.880] info, version) [18:01:59.880] } [18:01:59.880] base::stop(msg) [18:01:59.880] } [18:01:59.880] }) [18:01:59.880] } [18:01:59.880] options(future.plan = NULL) [18:01:59.880] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.880] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.880] } [18:01:59.880] ...future.workdir <- getwd() [18:01:59.880] } [18:01:59.880] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.880] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.880] } [18:01:59.880] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.880] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:01:59.880] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.880] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.880] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.880] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.880] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.880] base::names(...future.oldOptions)) [18:01:59.880] } [18:01:59.880] if (FALSE) { [18:01:59.880] } [18:01:59.880] else { [18:01:59.880] if (TRUE) { [18:01:59.880] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.880] open = "w") [18:01:59.880] } [18:01:59.880] else { [18:01:59.880] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.880] windows = "NUL", "/dev/null"), open = "w") [18:01:59.880] } [18:01:59.880] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.880] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.880] base::sink(type = "output", split = FALSE) [18:01:59.880] base::close(...future.stdout) [18:01:59.880] }, add = TRUE) [18:01:59.880] } [18:01:59.880] ...future.frame <- base::sys.nframe() [18:01:59.880] ...future.conditions <- base::list() [18:01:59.880] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.880] if (FALSE) { [18:01:59.880] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.880] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.880] } [18:01:59.880] ...future.result <- base::tryCatch({ [18:01:59.880] base::withCallingHandlers({ [18:01:59.880] ...future.value <- base::withVisible(base::local({ [18:01:59.880] b <- a * ii [18:01:59.880] a <- 0 [18:01:59.880] b [18:01:59.880] })) [18:01:59.880] future::FutureResult(value = ...future.value$value, [18:01:59.880] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.880] ...future.rng), globalenv = if (FALSE) [18:01:59.880] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.880] ...future.globalenv.names)) [18:01:59.880] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.880] }, condition = base::local({ [18:01:59.880] c <- base::c [18:01:59.880] inherits <- base::inherits [18:01:59.880] invokeRestart <- base::invokeRestart [18:01:59.880] length <- base::length [18:01:59.880] list <- base::list [18:01:59.880] seq.int <- base::seq.int [18:01:59.880] signalCondition <- base::signalCondition [18:01:59.880] sys.calls <- base::sys.calls [18:01:59.880] `[[` <- base::`[[` [18:01:59.880] `+` <- base::`+` [18:01:59.880] `<<-` <- base::`<<-` [18:01:59.880] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.880] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.880] 3L)] [18:01:59.880] } [18:01:59.880] function(cond) { [18:01:59.880] is_error <- inherits(cond, "error") [18:01:59.880] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.880] NULL) [18:01:59.880] if (is_error) { [18:01:59.880] sessionInformation <- function() { [18:01:59.880] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.880] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.880] search = base::search(), system = base::Sys.info()) [18:01:59.880] } [18:01:59.880] ...future.conditions[[length(...future.conditions) + [18:01:59.880] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.880] cond$call), session = sessionInformation(), [18:01:59.880] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.880] signalCondition(cond) [18:01:59.880] } [18:01:59.880] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.880] "immediateCondition"))) { [18:01:59.880] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.880] ...future.conditions[[length(...future.conditions) + [18:01:59.880] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.880] if (TRUE && !signal) { [18:01:59.880] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.880] { [18:01:59.880] inherits <- base::inherits [18:01:59.880] invokeRestart <- base::invokeRestart [18:01:59.880] is.null <- base::is.null [18:01:59.880] muffled <- FALSE [18:01:59.880] if (inherits(cond, "message")) { [18:01:59.880] muffled <- grepl(pattern, "muffleMessage") [18:01:59.880] if (muffled) [18:01:59.880] invokeRestart("muffleMessage") [18:01:59.880] } [18:01:59.880] else if (inherits(cond, "warning")) { [18:01:59.880] muffled <- grepl(pattern, "muffleWarning") [18:01:59.880] if (muffled) [18:01:59.880] invokeRestart("muffleWarning") [18:01:59.880] } [18:01:59.880] else if (inherits(cond, "condition")) { [18:01:59.880] if (!is.null(pattern)) { [18:01:59.880] computeRestarts <- base::computeRestarts [18:01:59.880] grepl <- base::grepl [18:01:59.880] restarts <- computeRestarts(cond) [18:01:59.880] for (restart in restarts) { [18:01:59.880] name <- restart$name [18:01:59.880] if (is.null(name)) [18:01:59.880] next [18:01:59.880] if (!grepl(pattern, name)) [18:01:59.880] next [18:01:59.880] invokeRestart(restart) [18:01:59.880] muffled <- TRUE [18:01:59.880] break [18:01:59.880] } [18:01:59.880] } [18:01:59.880] } [18:01:59.880] invisible(muffled) [18:01:59.880] } [18:01:59.880] muffleCondition(cond, pattern = "^muffle") [18:01:59.880] } [18:01:59.880] } [18:01:59.880] else { [18:01:59.880] if (TRUE) { [18:01:59.880] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.880] { [18:01:59.880] inherits <- base::inherits [18:01:59.880] invokeRestart <- base::invokeRestart [18:01:59.880] is.null <- base::is.null [18:01:59.880] muffled <- FALSE [18:01:59.880] if (inherits(cond, "message")) { [18:01:59.880] muffled <- grepl(pattern, "muffleMessage") [18:01:59.880] if (muffled) [18:01:59.880] invokeRestart("muffleMessage") [18:01:59.880] } [18:01:59.880] else if (inherits(cond, "warning")) { [18:01:59.880] muffled <- grepl(pattern, "muffleWarning") [18:01:59.880] if (muffled) [18:01:59.880] invokeRestart("muffleWarning") [18:01:59.880] } [18:01:59.880] else if (inherits(cond, "condition")) { [18:01:59.880] if (!is.null(pattern)) { [18:01:59.880] computeRestarts <- base::computeRestarts [18:01:59.880] grepl <- base::grepl [18:01:59.880] restarts <- computeRestarts(cond) [18:01:59.880] for (restart in restarts) { [18:01:59.880] name <- restart$name [18:01:59.880] if (is.null(name)) [18:01:59.880] next [18:01:59.880] if (!grepl(pattern, name)) [18:01:59.880] next [18:01:59.880] invokeRestart(restart) [18:01:59.880] muffled <- TRUE [18:01:59.880] break [18:01:59.880] } [18:01:59.880] } [18:01:59.880] } [18:01:59.880] invisible(muffled) [18:01:59.880] } [18:01:59.880] muffleCondition(cond, pattern = "^muffle") [18:01:59.880] } [18:01:59.880] } [18:01:59.880] } [18:01:59.880] })) [18:01:59.880] }, error = function(ex) { [18:01:59.880] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.880] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.880] ...future.rng), started = ...future.startTime, [18:01:59.880] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.880] version = "1.8"), class = "FutureResult") [18:01:59.880] }, finally = { [18:01:59.880] if (!identical(...future.workdir, getwd())) [18:01:59.880] setwd(...future.workdir) [18:01:59.880] { [18:01:59.880] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.880] ...future.oldOptions$nwarnings <- NULL [18:01:59.880] } [18:01:59.880] base::options(...future.oldOptions) [18:01:59.880] if (.Platform$OS.type == "windows") { [18:01:59.880] old_names <- names(...future.oldEnvVars) [18:01:59.880] envs <- base::Sys.getenv() [18:01:59.880] names <- names(envs) [18:01:59.880] common <- intersect(names, old_names) [18:01:59.880] added <- setdiff(names, old_names) [18:01:59.880] removed <- setdiff(old_names, names) [18:01:59.880] changed <- common[...future.oldEnvVars[common] != [18:01:59.880] envs[common]] [18:01:59.880] NAMES <- toupper(changed) [18:01:59.880] args <- list() [18:01:59.880] for (kk in seq_along(NAMES)) { [18:01:59.880] name <- changed[[kk]] [18:01:59.880] NAME <- NAMES[[kk]] [18:01:59.880] if (name != NAME && is.element(NAME, old_names)) [18:01:59.880] next [18:01:59.880] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.880] } [18:01:59.880] NAMES <- toupper(added) [18:01:59.880] for (kk in seq_along(NAMES)) { [18:01:59.880] name <- added[[kk]] [18:01:59.880] NAME <- NAMES[[kk]] [18:01:59.880] if (name != NAME && is.element(NAME, old_names)) [18:01:59.880] next [18:01:59.880] args[[name]] <- "" [18:01:59.880] } [18:01:59.880] NAMES <- toupper(removed) [18:01:59.880] for (kk in seq_along(NAMES)) { [18:01:59.880] name <- removed[[kk]] [18:01:59.880] NAME <- NAMES[[kk]] [18:01:59.880] if (name != NAME && is.element(NAME, old_names)) [18:01:59.880] next [18:01:59.880] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.880] } [18:01:59.880] if (length(args) > 0) [18:01:59.880] base::do.call(base::Sys.setenv, args = args) [18:01:59.880] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.880] } [18:01:59.880] else { [18:01:59.880] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.880] } [18:01:59.880] { [18:01:59.880] if (base::length(...future.futureOptionsAdded) > [18:01:59.880] 0L) { [18:01:59.880] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.880] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.880] base::options(opts) [18:01:59.880] } [18:01:59.880] { [18:01:59.880] { [18:01:59.880] NULL [18:01:59.880] RNGkind("Mersenne-Twister") [18:01:59.880] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.880] inherits = FALSE) [18:01:59.880] } [18:01:59.880] options(future.plan = NULL) [18:01:59.880] if (is.na(NA_character_)) [18:01:59.880] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.880] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.880] future::plan(list(function (..., envir = parent.frame()) [18:01:59.880] { [18:01:59.880] future <- SequentialFuture(..., envir = envir) [18:01:59.880] if (!future$lazy) [18:01:59.880] future <- run(future) [18:01:59.880] invisible(future) [18:01:59.880] }), .cleanup = FALSE, .init = FALSE) [18:01:59.880] } [18:01:59.880] } [18:01:59.880] } [18:01:59.880] }) [18:01:59.880] if (TRUE) { [18:01:59.880] base::sink(type = "output", split = FALSE) [18:01:59.880] if (TRUE) { [18:01:59.880] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.880] } [18:01:59.880] else { [18:01:59.880] ...future.result["stdout"] <- base::list(NULL) [18:01:59.880] } [18:01:59.880] base::close(...future.stdout) [18:01:59.880] ...future.stdout <- NULL [18:01:59.880] } [18:01:59.880] ...future.result$conditions <- ...future.conditions [18:01:59.880] ...future.result$finished <- base::Sys.time() [18:01:59.880] ...future.result [18:01:59.880] } [18:01:59.883] assign_globals() ... [18:01:59.883] List of 2 [18:01:59.883] $ a : num 1 [18:01:59.883] $ ii: int 3 [18:01:59.883] - attr(*, "where")=List of 2 [18:01:59.883] ..$ a : [18:01:59.883] ..$ ii: [18:01:59.883] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.883] - attr(*, "resolved")= logi TRUE [18:01:59.883] - attr(*, "total_size")= num 112 [18:01:59.883] - attr(*, "already-done")= logi TRUE [18:01:59.886] - copied 'a' to environment [18:01:59.886] - copied 'ii' to environment [18:01:59.887] assign_globals() ... done [18:01:59.887] plan(): Setting new future strategy stack: [18:01:59.887] List of future strategies: [18:01:59.887] 1. sequential: [18:01:59.887] - args: function (..., envir = parent.frame()) [18:01:59.887] - tweaked: FALSE [18:01:59.887] - call: NULL [18:01:59.887] plan(): nbrOfWorkers() = 1 [18:01:59.888] plan(): Setting new future strategy stack: [18:01:59.888] List of future strategies: [18:01:59.888] 1. sequential: [18:01:59.888] - args: function (..., envir = parent.frame()) [18:01:59.888] - tweaked: FALSE [18:01:59.888] - call: plan(strategy) [18:01:59.889] plan(): nbrOfWorkers() = 1 [18:01:59.889] SequentialFuture started (and completed) [18:01:59.889] - Launch lazy future ... done [18:01:59.889] run() for 'SequentialFuture' ... done [1] 1 2 3 Warning: 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' [18:01:59.890] getGlobalsAndPackages() ... Warning: 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' [18:01:59.891] Searching for globals... Warning: 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' [18:01:59.893] - globals found: [5] '{', '<-', '*', 'a', 'ii' [18:01:59.893] Searching for globals ... DONE [18:01:59.893] Resolving globals: TRUE [18:01:59.893] Resolving any globals that are futures ... [18:01:59.893] - globals: [5] '{', '<-', '*', 'a', 'ii' [18:01:59.893] Resolving any globals that are futures ... DONE [18:01:59.894] Resolving futures part of globals (recursively) ... [18:01:59.894] resolve() on list ... [18:01:59.894] recursive: 99 [18:01:59.894] length: 2 [18:01:59.894] elements: 'a', 'ii' [18:01:59.895] length: 1 (resolved future 1) [18:01:59.895] length: 0 (resolved future 2) [18:01:59.895] resolve() on list ... DONE [18:01:59.895] - globals: [2] 'a', 'ii' [18:01:59.895] Resolving futures part of globals (recursively) ... DONE [18:01:59.895] The total size of the 2 globals is 112 bytes (112 bytes) [18:01:59.896] 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') [18:01:59.896] - globals: [2] 'a', 'ii' [18:01:59.896] [18:01:59.896] getGlobalsAndPackages() ... DONE Warning: 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' [18:01:59.897] getGlobalsAndPackages() ... Warning: 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' [18:01:59.897] Searching for globals... Warning: 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' [18:01:59.900] - globals found: [5] '{', '<-', '*', 'a', 'ii' [18:01:59.900] Searching for globals ... DONE [18:01:59.900] Resolving globals: TRUE [18:01:59.900] Resolving any globals that are futures ... [18:01:59.901] - globals: [5] '{', '<-', '*', 'a', 'ii' [18:01:59.901] Resolving any globals that are futures ... DONE [18:01:59.901] Resolving futures part of globals (recursively) ... [18:01:59.901] resolve() on list ... [18:01:59.902] recursive: 99 [18:01:59.902] length: 2 [18:01:59.902] elements: 'a', 'ii' [18:01:59.902] length: 1 (resolved future 1) [18:01:59.902] length: 0 (resolved future 2) [18:01:59.902] resolve() on list ... DONE [18:01:59.902] - globals: [2] 'a', 'ii' [18:01:59.903] Resolving futures part of globals (recursively) ... DONE [18:01:59.903] The total size of the 2 globals is 112 bytes (112 bytes) [18:01:59.903] 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') [18:01:59.903] - globals: [2] 'a', 'ii' [18:01:59.904] [18:01:59.904] getGlobalsAndPackages() ... DONE Warning: 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' [18:01:59.904] getGlobalsAndPackages() ... Warning: 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' [18:01:59.905] Searching for globals... Warning: 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' [18:01:59.907] - globals found: [5] '{', '<-', '*', 'a', 'ii' [18:01:59.907] Searching for globals ... DONE [18:01:59.907] Resolving globals: TRUE [18:01:59.907] Resolving any globals that are futures ... [18:01:59.907] - globals: [5] '{', '<-', '*', 'a', 'ii' [18:01:59.907] Resolving any globals that are futures ... DONE [18:01:59.908] Resolving futures part of globals (recursively) ... [18:01:59.908] resolve() on list ... [18:01:59.908] recursive: 99 [18:01:59.908] length: 2 [18:01:59.908] elements: 'a', 'ii' [18:01:59.909] length: 1 (resolved future 1) [18:01:59.909] length: 0 (resolved future 2) [18:01:59.909] resolve() on list ... DONE [18:01:59.909] - globals: [2] 'a', 'ii' [18:01:59.909] Resolving futures part of globals (recursively) ... DONE [18:01:59.909] The total size of the 2 globals is 112 bytes (112 bytes) [18:01:59.910] 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') [18:01:59.910] - globals: [2] 'a', 'ii' [18:01:59.910] [18:01:59.910] getGlobalsAndPackages() ... DONE [18:01:59.911] run() for 'Future' ... [18:01:59.911] - state: 'created' [18:01:59.911] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.911] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.911] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.912] - Field: 'label' [18:01:59.912] - Field: 'local' [18:01:59.912] - Field: 'owner' [18:01:59.912] - Field: 'envir' [18:01:59.912] - Field: 'packages' [18:01:59.912] - Field: 'gc' [18:01:59.912] - Field: 'conditions' [18:01:59.913] - Field: 'expr' [18:01:59.913] - Field: 'uuid' [18:01:59.913] - Field: 'seed' [18:01:59.913] - Field: 'version' [18:01:59.913] - Field: 'result' [18:01:59.913] - Field: 'asynchronous' [18:01:59.914] - Field: 'calls' [18:01:59.914] - Field: 'globals' [18:01:59.914] - Field: 'stdout' [18:01:59.914] - Field: 'earlySignal' [18:01:59.914] - Field: 'lazy' [18:01:59.914] - Field: 'state' [18:01:59.914] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.915] - Launch lazy future ... [18:01:59.915] Packages needed by the future expression (n = 0): [18:01:59.915] Packages needed by future strategies (n = 0): [18:01:59.915] { [18:01:59.915] { [18:01:59.915] { [18:01:59.915] ...future.startTime <- base::Sys.time() [18:01:59.915] { [18:01:59.915] { [18:01:59.915] { [18:01:59.915] base::local({ [18:01:59.915] has_future <- base::requireNamespace("future", [18:01:59.915] quietly = TRUE) [18:01:59.915] if (has_future) { [18:01:59.915] ns <- base::getNamespace("future") [18:01:59.915] version <- ns[[".package"]][["version"]] [18:01:59.915] if (is.null(version)) [18:01:59.915] version <- utils::packageVersion("future") [18:01:59.915] } [18:01:59.915] else { [18:01:59.915] version <- NULL [18:01:59.915] } [18:01:59.915] if (!has_future || version < "1.8.0") { [18:01:59.915] info <- base::c(r_version = base::gsub("R version ", [18:01:59.915] "", base::R.version$version.string), [18:01:59.915] platform = base::sprintf("%s (%s-bit)", [18:01:59.915] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.915] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.915] "release", "version")], collapse = " "), [18:01:59.915] hostname = base::Sys.info()[["nodename"]]) [18:01:59.915] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.915] info) [18:01:59.915] info <- base::paste(info, collapse = "; ") [18:01:59.915] if (!has_future) { [18:01:59.915] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.915] info) [18:01:59.915] } [18:01:59.915] else { [18:01:59.915] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.915] info, version) [18:01:59.915] } [18:01:59.915] base::stop(msg) [18:01:59.915] } [18:01:59.915] }) [18:01:59.915] } [18:01:59.915] options(future.plan = NULL) [18:01:59.915] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.915] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.915] } [18:01:59.915] ...future.workdir <- getwd() [18:01:59.915] } [18:01:59.915] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.915] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.915] } [18:01:59.915] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.915] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:01:59.915] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.915] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.915] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.915] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.915] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.915] base::names(...future.oldOptions)) [18:01:59.915] } [18:01:59.915] if (FALSE) { [18:01:59.915] } [18:01:59.915] else { [18:01:59.915] if (TRUE) { [18:01:59.915] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.915] open = "w") [18:01:59.915] } [18:01:59.915] else { [18:01:59.915] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.915] windows = "NUL", "/dev/null"), open = "w") [18:01:59.915] } [18:01:59.915] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.915] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.915] base::sink(type = "output", split = FALSE) [18:01:59.915] base::close(...future.stdout) [18:01:59.915] }, add = TRUE) [18:01:59.915] } [18:01:59.915] ...future.frame <- base::sys.nframe() [18:01:59.915] ...future.conditions <- base::list() [18:01:59.915] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.915] if (FALSE) { [18:01:59.915] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.915] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.915] } [18:01:59.915] ...future.result <- base::tryCatch({ [18:01:59.915] base::withCallingHandlers({ [18:01:59.915] ...future.value <- base::withVisible(base::local({ [18:01:59.915] b <- a * ii [18:01:59.915] a <- 0 [18:01:59.915] b [18:01:59.915] })) [18:01:59.915] future::FutureResult(value = ...future.value$value, [18:01:59.915] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.915] ...future.rng), globalenv = if (FALSE) [18:01:59.915] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.915] ...future.globalenv.names)) [18:01:59.915] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.915] }, condition = base::local({ [18:01:59.915] c <- base::c [18:01:59.915] inherits <- base::inherits [18:01:59.915] invokeRestart <- base::invokeRestart [18:01:59.915] length <- base::length [18:01:59.915] list <- base::list [18:01:59.915] seq.int <- base::seq.int [18:01:59.915] signalCondition <- base::signalCondition [18:01:59.915] sys.calls <- base::sys.calls [18:01:59.915] `[[` <- base::`[[` [18:01:59.915] `+` <- base::`+` [18:01:59.915] `<<-` <- base::`<<-` [18:01:59.915] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.915] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.915] 3L)] [18:01:59.915] } [18:01:59.915] function(cond) { [18:01:59.915] is_error <- inherits(cond, "error") [18:01:59.915] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.915] NULL) [18:01:59.915] if (is_error) { [18:01:59.915] sessionInformation <- function() { [18:01:59.915] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.915] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.915] search = base::search(), system = base::Sys.info()) [18:01:59.915] } [18:01:59.915] ...future.conditions[[length(...future.conditions) + [18:01:59.915] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.915] cond$call), session = sessionInformation(), [18:01:59.915] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.915] signalCondition(cond) [18:01:59.915] } [18:01:59.915] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.915] "immediateCondition"))) { [18:01:59.915] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.915] ...future.conditions[[length(...future.conditions) + [18:01:59.915] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.915] if (TRUE && !signal) { [18:01:59.915] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.915] { [18:01:59.915] inherits <- base::inherits [18:01:59.915] invokeRestart <- base::invokeRestart [18:01:59.915] is.null <- base::is.null [18:01:59.915] muffled <- FALSE [18:01:59.915] if (inherits(cond, "message")) { [18:01:59.915] muffled <- grepl(pattern, "muffleMessage") [18:01:59.915] if (muffled) [18:01:59.915] invokeRestart("muffleMessage") [18:01:59.915] } [18:01:59.915] else if (inherits(cond, "warning")) { [18:01:59.915] muffled <- grepl(pattern, "muffleWarning") [18:01:59.915] if (muffled) [18:01:59.915] invokeRestart("muffleWarning") [18:01:59.915] } [18:01:59.915] else if (inherits(cond, "condition")) { [18:01:59.915] if (!is.null(pattern)) { [18:01:59.915] computeRestarts <- base::computeRestarts [18:01:59.915] grepl <- base::grepl [18:01:59.915] restarts <- computeRestarts(cond) [18:01:59.915] for (restart in restarts) { [18:01:59.915] name <- restart$name [18:01:59.915] if (is.null(name)) [18:01:59.915] next [18:01:59.915] if (!grepl(pattern, name)) [18:01:59.915] next [18:01:59.915] invokeRestart(restart) [18:01:59.915] muffled <- TRUE [18:01:59.915] break [18:01:59.915] } [18:01:59.915] } [18:01:59.915] } [18:01:59.915] invisible(muffled) [18:01:59.915] } [18:01:59.915] muffleCondition(cond, pattern = "^muffle") [18:01:59.915] } [18:01:59.915] } [18:01:59.915] else { [18:01:59.915] if (TRUE) { [18:01:59.915] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.915] { [18:01:59.915] inherits <- base::inherits [18:01:59.915] invokeRestart <- base::invokeRestart [18:01:59.915] is.null <- base::is.null [18:01:59.915] muffled <- FALSE [18:01:59.915] if (inherits(cond, "message")) { [18:01:59.915] muffled <- grepl(pattern, "muffleMessage") [18:01:59.915] if (muffled) [18:01:59.915] invokeRestart("muffleMessage") [18:01:59.915] } [18:01:59.915] else if (inherits(cond, "warning")) { [18:01:59.915] muffled <- grepl(pattern, "muffleWarning") [18:01:59.915] if (muffled) [18:01:59.915] invokeRestart("muffleWarning") [18:01:59.915] } [18:01:59.915] else if (inherits(cond, "condition")) { [18:01:59.915] if (!is.null(pattern)) { [18:01:59.915] computeRestarts <- base::computeRestarts [18:01:59.915] grepl <- base::grepl [18:01:59.915] restarts <- computeRestarts(cond) [18:01:59.915] for (restart in restarts) { [18:01:59.915] name <- restart$name [18:01:59.915] if (is.null(name)) [18:01:59.915] next [18:01:59.915] if (!grepl(pattern, name)) [18:01:59.915] next [18:01:59.915] invokeRestart(restart) [18:01:59.915] muffled <- TRUE [18:01:59.915] break [18:01:59.915] } [18:01:59.915] } [18:01:59.915] } [18:01:59.915] invisible(muffled) [18:01:59.915] } [18:01:59.915] muffleCondition(cond, pattern = "^muffle") [18:01:59.915] } [18:01:59.915] } [18:01:59.915] } [18:01:59.915] })) [18:01:59.915] }, error = function(ex) { [18:01:59.915] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.915] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.915] ...future.rng), started = ...future.startTime, [18:01:59.915] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.915] version = "1.8"), class = "FutureResult") [18:01:59.915] }, finally = { [18:01:59.915] if (!identical(...future.workdir, getwd())) [18:01:59.915] setwd(...future.workdir) [18:01:59.915] { [18:01:59.915] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.915] ...future.oldOptions$nwarnings <- NULL [18:01:59.915] } [18:01:59.915] base::options(...future.oldOptions) [18:01:59.915] if (.Platform$OS.type == "windows") { [18:01:59.915] old_names <- names(...future.oldEnvVars) [18:01:59.915] envs <- base::Sys.getenv() [18:01:59.915] names <- names(envs) [18:01:59.915] common <- intersect(names, old_names) [18:01:59.915] added <- setdiff(names, old_names) [18:01:59.915] removed <- setdiff(old_names, names) [18:01:59.915] changed <- common[...future.oldEnvVars[common] != [18:01:59.915] envs[common]] [18:01:59.915] NAMES <- toupper(changed) [18:01:59.915] args <- list() [18:01:59.915] for (kk in seq_along(NAMES)) { [18:01:59.915] name <- changed[[kk]] [18:01:59.915] NAME <- NAMES[[kk]] [18:01:59.915] if (name != NAME && is.element(NAME, old_names)) [18:01:59.915] next [18:01:59.915] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.915] } [18:01:59.915] NAMES <- toupper(added) [18:01:59.915] for (kk in seq_along(NAMES)) { [18:01:59.915] name <- added[[kk]] [18:01:59.915] NAME <- NAMES[[kk]] [18:01:59.915] if (name != NAME && is.element(NAME, old_names)) [18:01:59.915] next [18:01:59.915] args[[name]] <- "" [18:01:59.915] } [18:01:59.915] NAMES <- toupper(removed) [18:01:59.915] for (kk in seq_along(NAMES)) { [18:01:59.915] name <- removed[[kk]] [18:01:59.915] NAME <- NAMES[[kk]] [18:01:59.915] if (name != NAME && is.element(NAME, old_names)) [18:01:59.915] next [18:01:59.915] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.915] } [18:01:59.915] if (length(args) > 0) [18:01:59.915] base::do.call(base::Sys.setenv, args = args) [18:01:59.915] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.915] } [18:01:59.915] else { [18:01:59.915] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.915] } [18:01:59.915] { [18:01:59.915] if (base::length(...future.futureOptionsAdded) > [18:01:59.915] 0L) { [18:01:59.915] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.915] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.915] base::options(opts) [18:01:59.915] } [18:01:59.915] { [18:01:59.915] { [18:01:59.915] NULL [18:01:59.915] RNGkind("Mersenne-Twister") [18:01:59.915] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.915] inherits = FALSE) [18:01:59.915] } [18:01:59.915] options(future.plan = NULL) [18:01:59.915] if (is.na(NA_character_)) [18:01:59.915] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.915] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.915] future::plan(list(function (..., envir = parent.frame()) [18:01:59.915] { [18:01:59.915] future <- SequentialFuture(..., envir = envir) [18:01:59.915] if (!future$lazy) [18:01:59.915] future <- run(future) [18:01:59.915] invisible(future) [18:01:59.915] }), .cleanup = FALSE, .init = FALSE) [18:01:59.915] } [18:01:59.915] } [18:01:59.915] } [18:01:59.915] }) [18:01:59.915] if (TRUE) { [18:01:59.915] base::sink(type = "output", split = FALSE) [18:01:59.915] if (TRUE) { [18:01:59.915] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.915] } [18:01:59.915] else { [18:01:59.915] ...future.result["stdout"] <- base::list(NULL) [18:01:59.915] } [18:01:59.915] base::close(...future.stdout) [18:01:59.915] ...future.stdout <- NULL [18:01:59.915] } [18:01:59.915] ...future.result$conditions <- ...future.conditions [18:01:59.915] ...future.result$finished <- base::Sys.time() [18:01:59.915] ...future.result [18:01:59.915] } [18:01:59.919] assign_globals() ... [18:01:59.919] List of 2 [18:01:59.919] $ a : num 1 [18:01:59.919] $ ii: int 1 [18:01:59.919] - attr(*, "where")=List of 2 [18:01:59.919] ..$ a : [18:01:59.919] ..$ ii: [18:01:59.919] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.919] - attr(*, "resolved")= logi TRUE [18:01:59.919] - attr(*, "total_size")= num 112 [18:01:59.919] - attr(*, "already-done")= logi TRUE [18:01:59.922] - copied 'a' to environment [18:01:59.922] - copied 'ii' to environment [18:01:59.922] assign_globals() ... done [18:01:59.923] plan(): Setting new future strategy stack: [18:01:59.923] List of future strategies: [18:01:59.923] 1. sequential: [18:01:59.923] - args: function (..., envir = parent.frame()) [18:01:59.923] - tweaked: FALSE [18:01:59.923] - call: NULL [18:01:59.923] plan(): nbrOfWorkers() = 1 [18:01:59.924] plan(): Setting new future strategy stack: [18:01:59.924] List of future strategies: [18:01:59.924] 1. sequential: [18:01:59.924] - args: function (..., envir = parent.frame()) [18:01:59.924] - tweaked: FALSE [18:01:59.924] - call: plan(strategy) [18:01:59.925] plan(): nbrOfWorkers() = 1 [18:01:59.925] SequentialFuture started (and completed) [18:01:59.925] - Launch lazy future ... done [18:01:59.925] run() for 'SequentialFuture' ... done [18:01:59.946] run() for 'Future' ... [18:01:59.946] - state: 'created' [18:01:59.946] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.946] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.947] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.947] - Field: 'label' [18:01:59.947] - Field: 'local' [18:01:59.947] - Field: 'owner' [18:01:59.947] - Field: 'envir' [18:01:59.947] - Field: 'packages' [18:01:59.947] - Field: 'gc' [18:01:59.948] - Field: 'conditions' [18:01:59.948] - Field: 'expr' [18:01:59.948] - Field: 'uuid' [18:01:59.948] - Field: 'seed' [18:01:59.948] - Field: 'version' [18:01:59.948] - Field: 'result' [18:01:59.949] - Field: 'asynchronous' [18:01:59.949] - Field: 'calls' [18:01:59.949] - Field: 'globals' [18:01:59.949] - Field: 'stdout' [18:01:59.949] - Field: 'earlySignal' [18:01:59.949] - Field: 'lazy' [18:01:59.949] - Field: 'state' [18:01:59.950] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.950] - Launch lazy future ... [18:01:59.950] Packages needed by the future expression (n = 0): [18:01:59.950] Packages needed by future strategies (n = 0): [18:01:59.951] { [18:01:59.951] { [18:01:59.951] { [18:01:59.951] ...future.startTime <- base::Sys.time() [18:01:59.951] { [18:01:59.951] { [18:01:59.951] { [18:01:59.951] base::local({ [18:01:59.951] has_future <- base::requireNamespace("future", [18:01:59.951] quietly = TRUE) [18:01:59.951] if (has_future) { [18:01:59.951] ns <- base::getNamespace("future") [18:01:59.951] version <- ns[[".package"]][["version"]] [18:01:59.951] if (is.null(version)) [18:01:59.951] version <- utils::packageVersion("future") [18:01:59.951] } [18:01:59.951] else { [18:01:59.951] version <- NULL [18:01:59.951] } [18:01:59.951] if (!has_future || version < "1.8.0") { [18:01:59.951] info <- base::c(r_version = base::gsub("R version ", [18:01:59.951] "", base::R.version$version.string), [18:01:59.951] platform = base::sprintf("%s (%s-bit)", [18:01:59.951] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.951] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.951] "release", "version")], collapse = " "), [18:01:59.951] hostname = base::Sys.info()[["nodename"]]) [18:01:59.951] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.951] info) [18:01:59.951] info <- base::paste(info, collapse = "; ") [18:01:59.951] if (!has_future) { [18:01:59.951] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.951] info) [18:01:59.951] } [18:01:59.951] else { [18:01:59.951] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.951] info, version) [18:01:59.951] } [18:01:59.951] base::stop(msg) [18:01:59.951] } [18:01:59.951] }) [18:01:59.951] } [18:01:59.951] options(future.plan = NULL) [18:01:59.951] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.951] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.951] } [18:01:59.951] ...future.workdir <- getwd() [18:01:59.951] } [18:01:59.951] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.951] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.951] } [18:01:59.951] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.951] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:01:59.951] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.951] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.951] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.951] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.951] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.951] base::names(...future.oldOptions)) [18:01:59.951] } [18:01:59.951] if (FALSE) { [18:01:59.951] } [18:01:59.951] else { [18:01:59.951] if (TRUE) { [18:01:59.951] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.951] open = "w") [18:01:59.951] } [18:01:59.951] else { [18:01:59.951] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.951] windows = "NUL", "/dev/null"), open = "w") [18:01:59.951] } [18:01:59.951] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.951] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.951] base::sink(type = "output", split = FALSE) [18:01:59.951] base::close(...future.stdout) [18:01:59.951] }, add = TRUE) [18:01:59.951] } [18:01:59.951] ...future.frame <- base::sys.nframe() [18:01:59.951] ...future.conditions <- base::list() [18:01:59.951] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.951] if (FALSE) { [18:01:59.951] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.951] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.951] } [18:01:59.951] ...future.result <- base::tryCatch({ [18:01:59.951] base::withCallingHandlers({ [18:01:59.951] ...future.value <- base::withVisible(base::local({ [18:01:59.951] b <- a * ii [18:01:59.951] a <- 0 [18:01:59.951] b [18:01:59.951] })) [18:01:59.951] future::FutureResult(value = ...future.value$value, [18:01:59.951] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.951] ...future.rng), globalenv = if (FALSE) [18:01:59.951] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.951] ...future.globalenv.names)) [18:01:59.951] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.951] }, condition = base::local({ [18:01:59.951] c <- base::c [18:01:59.951] inherits <- base::inherits [18:01:59.951] invokeRestart <- base::invokeRestart [18:01:59.951] length <- base::length [18:01:59.951] list <- base::list [18:01:59.951] seq.int <- base::seq.int [18:01:59.951] signalCondition <- base::signalCondition [18:01:59.951] sys.calls <- base::sys.calls [18:01:59.951] `[[` <- base::`[[` [18:01:59.951] `+` <- base::`+` [18:01:59.951] `<<-` <- base::`<<-` [18:01:59.951] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.951] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.951] 3L)] [18:01:59.951] } [18:01:59.951] function(cond) { [18:01:59.951] is_error <- inherits(cond, "error") [18:01:59.951] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.951] NULL) [18:01:59.951] if (is_error) { [18:01:59.951] sessionInformation <- function() { [18:01:59.951] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.951] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.951] search = base::search(), system = base::Sys.info()) [18:01:59.951] } [18:01:59.951] ...future.conditions[[length(...future.conditions) + [18:01:59.951] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.951] cond$call), session = sessionInformation(), [18:01:59.951] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.951] signalCondition(cond) [18:01:59.951] } [18:01:59.951] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.951] "immediateCondition"))) { [18:01:59.951] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.951] ...future.conditions[[length(...future.conditions) + [18:01:59.951] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.951] if (TRUE && !signal) { [18:01:59.951] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.951] { [18:01:59.951] inherits <- base::inherits [18:01:59.951] invokeRestart <- base::invokeRestart [18:01:59.951] is.null <- base::is.null [18:01:59.951] muffled <- FALSE [18:01:59.951] if (inherits(cond, "message")) { [18:01:59.951] muffled <- grepl(pattern, "muffleMessage") [18:01:59.951] if (muffled) [18:01:59.951] invokeRestart("muffleMessage") [18:01:59.951] } [18:01:59.951] else if (inherits(cond, "warning")) { [18:01:59.951] muffled <- grepl(pattern, "muffleWarning") [18:01:59.951] if (muffled) [18:01:59.951] invokeRestart("muffleWarning") [18:01:59.951] } [18:01:59.951] else if (inherits(cond, "condition")) { [18:01:59.951] if (!is.null(pattern)) { [18:01:59.951] computeRestarts <- base::computeRestarts [18:01:59.951] grepl <- base::grepl [18:01:59.951] restarts <- computeRestarts(cond) [18:01:59.951] for (restart in restarts) { [18:01:59.951] name <- restart$name [18:01:59.951] if (is.null(name)) [18:01:59.951] next [18:01:59.951] if (!grepl(pattern, name)) [18:01:59.951] next [18:01:59.951] invokeRestart(restart) [18:01:59.951] muffled <- TRUE [18:01:59.951] break [18:01:59.951] } [18:01:59.951] } [18:01:59.951] } [18:01:59.951] invisible(muffled) [18:01:59.951] } [18:01:59.951] muffleCondition(cond, pattern = "^muffle") [18:01:59.951] } [18:01:59.951] } [18:01:59.951] else { [18:01:59.951] if (TRUE) { [18:01:59.951] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.951] { [18:01:59.951] inherits <- base::inherits [18:01:59.951] invokeRestart <- base::invokeRestart [18:01:59.951] is.null <- base::is.null [18:01:59.951] muffled <- FALSE [18:01:59.951] if (inherits(cond, "message")) { [18:01:59.951] muffled <- grepl(pattern, "muffleMessage") [18:01:59.951] if (muffled) [18:01:59.951] invokeRestart("muffleMessage") [18:01:59.951] } [18:01:59.951] else if (inherits(cond, "warning")) { [18:01:59.951] muffled <- grepl(pattern, "muffleWarning") [18:01:59.951] if (muffled) [18:01:59.951] invokeRestart("muffleWarning") [18:01:59.951] } [18:01:59.951] else if (inherits(cond, "condition")) { [18:01:59.951] if (!is.null(pattern)) { [18:01:59.951] computeRestarts <- base::computeRestarts [18:01:59.951] grepl <- base::grepl [18:01:59.951] restarts <- computeRestarts(cond) [18:01:59.951] for (restart in restarts) { [18:01:59.951] name <- restart$name [18:01:59.951] if (is.null(name)) [18:01:59.951] next [18:01:59.951] if (!grepl(pattern, name)) [18:01:59.951] next [18:01:59.951] invokeRestart(restart) [18:01:59.951] muffled <- TRUE [18:01:59.951] break [18:01:59.951] } [18:01:59.951] } [18:01:59.951] } [18:01:59.951] invisible(muffled) [18:01:59.951] } [18:01:59.951] muffleCondition(cond, pattern = "^muffle") [18:01:59.951] } [18:01:59.951] } [18:01:59.951] } [18:01:59.951] })) [18:01:59.951] }, error = function(ex) { [18:01:59.951] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.951] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.951] ...future.rng), started = ...future.startTime, [18:01:59.951] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.951] version = "1.8"), class = "FutureResult") [18:01:59.951] }, finally = { [18:01:59.951] if (!identical(...future.workdir, getwd())) [18:01:59.951] setwd(...future.workdir) [18:01:59.951] { [18:01:59.951] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.951] ...future.oldOptions$nwarnings <- NULL [18:01:59.951] } [18:01:59.951] base::options(...future.oldOptions) [18:01:59.951] if (.Platform$OS.type == "windows") { [18:01:59.951] old_names <- names(...future.oldEnvVars) [18:01:59.951] envs <- base::Sys.getenv() [18:01:59.951] names <- names(envs) [18:01:59.951] common <- intersect(names, old_names) [18:01:59.951] added <- setdiff(names, old_names) [18:01:59.951] removed <- setdiff(old_names, names) [18:01:59.951] changed <- common[...future.oldEnvVars[common] != [18:01:59.951] envs[common]] [18:01:59.951] NAMES <- toupper(changed) [18:01:59.951] args <- list() [18:01:59.951] for (kk in seq_along(NAMES)) { [18:01:59.951] name <- changed[[kk]] [18:01:59.951] NAME <- NAMES[[kk]] [18:01:59.951] if (name != NAME && is.element(NAME, old_names)) [18:01:59.951] next [18:01:59.951] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.951] } [18:01:59.951] NAMES <- toupper(added) [18:01:59.951] for (kk in seq_along(NAMES)) { [18:01:59.951] name <- added[[kk]] [18:01:59.951] NAME <- NAMES[[kk]] [18:01:59.951] if (name != NAME && is.element(NAME, old_names)) [18:01:59.951] next [18:01:59.951] args[[name]] <- "" [18:01:59.951] } [18:01:59.951] NAMES <- toupper(removed) [18:01:59.951] for (kk in seq_along(NAMES)) { [18:01:59.951] name <- removed[[kk]] [18:01:59.951] NAME <- NAMES[[kk]] [18:01:59.951] if (name != NAME && is.element(NAME, old_names)) [18:01:59.951] next [18:01:59.951] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.951] } [18:01:59.951] if (length(args) > 0) [18:01:59.951] base::do.call(base::Sys.setenv, args = args) [18:01:59.951] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.951] } [18:01:59.951] else { [18:01:59.951] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.951] } [18:01:59.951] { [18:01:59.951] if (base::length(...future.futureOptionsAdded) > [18:01:59.951] 0L) { [18:01:59.951] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.951] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.951] base::options(opts) [18:01:59.951] } [18:01:59.951] { [18:01:59.951] { [18:01:59.951] NULL [18:01:59.951] RNGkind("Mersenne-Twister") [18:01:59.951] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.951] inherits = FALSE) [18:01:59.951] } [18:01:59.951] options(future.plan = NULL) [18:01:59.951] if (is.na(NA_character_)) [18:01:59.951] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.951] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.951] future::plan(list(function (..., envir = parent.frame()) [18:01:59.951] { [18:01:59.951] future <- SequentialFuture(..., envir = envir) [18:01:59.951] if (!future$lazy) [18:01:59.951] future <- run(future) [18:01:59.951] invisible(future) [18:01:59.951] }), .cleanup = FALSE, .init = FALSE) [18:01:59.951] } [18:01:59.951] } [18:01:59.951] } [18:01:59.951] }) [18:01:59.951] if (TRUE) { [18:01:59.951] base::sink(type = "output", split = FALSE) [18:01:59.951] if (TRUE) { [18:01:59.951] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.951] } [18:01:59.951] else { [18:01:59.951] ...future.result["stdout"] <- base::list(NULL) [18:01:59.951] } [18:01:59.951] base::close(...future.stdout) [18:01:59.951] ...future.stdout <- NULL [18:01:59.951] } [18:01:59.951] ...future.result$conditions <- ...future.conditions [18:01:59.951] ...future.result$finished <- base::Sys.time() [18:01:59.951] ...future.result [18:01:59.951] } [18:01:59.954] assign_globals() ... [18:01:59.954] List of 2 [18:01:59.954] $ a : num 1 [18:01:59.954] $ ii: int 2 [18:01:59.954] - attr(*, "where")=List of 2 [18:01:59.954] ..$ a : [18:01:59.954] ..$ ii: [18:01:59.954] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.954] - attr(*, "resolved")= logi TRUE [18:01:59.954] - attr(*, "total_size")= num 112 [18:01:59.954] - attr(*, "already-done")= logi TRUE [18:01:59.957] - copied 'a' to environment [18:01:59.957] - copied 'ii' to environment [18:01:59.957] assign_globals() ... done [18:01:59.958] plan(): Setting new future strategy stack: [18:01:59.958] List of future strategies: [18:01:59.958] 1. sequential: [18:01:59.958] - args: function (..., envir = parent.frame()) [18:01:59.958] - tweaked: FALSE [18:01:59.958] - call: NULL [18:01:59.958] plan(): nbrOfWorkers() = 1 [18:01:59.959] plan(): Setting new future strategy stack: [18:01:59.959] List of future strategies: [18:01:59.959] 1. sequential: [18:01:59.959] - args: function (..., envir = parent.frame()) [18:01:59.959] - tweaked: FALSE [18:01:59.959] - call: plan(strategy) [18:01:59.960] plan(): nbrOfWorkers() = 1 [18:01:59.960] SequentialFuture started (and completed) [18:01:59.960] - Launch lazy future ... done [18:01:59.961] run() for 'SequentialFuture' ... done [18:01:59.961] run() for 'Future' ... [18:01:59.961] - state: 'created' [18:01:59.961] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.961] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.962] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.962] - Field: 'label' [18:01:59.962] - Field: 'local' [18:01:59.962] - Field: 'owner' [18:01:59.962] - Field: 'envir' [18:01:59.963] - Field: 'packages' [18:01:59.963] - Field: 'gc' [18:01:59.963] - Field: 'conditions' [18:01:59.963] - Field: 'expr' [18:01:59.963] - Field: 'uuid' [18:01:59.963] - Field: 'seed' [18:01:59.964] - Field: 'version' [18:01:59.964] - Field: 'result' [18:01:59.964] - Field: 'asynchronous' [18:01:59.964] - Field: 'calls' [18:01:59.964] - Field: 'globals' [18:01:59.964] - Field: 'stdout' [18:01:59.965] - Field: 'earlySignal' [18:01:59.965] - Field: 'lazy' [18:01:59.965] - Field: 'state' [18:01:59.965] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.965] - Launch lazy future ... [18:01:59.966] Packages needed by the future expression (n = 0): [18:01:59.966] Packages needed by future strategies (n = 0): [18:01:59.966] { [18:01:59.966] { [18:01:59.966] { [18:01:59.966] ...future.startTime <- base::Sys.time() [18:01:59.966] { [18:01:59.966] { [18:01:59.966] { [18:01:59.966] base::local({ [18:01:59.966] has_future <- base::requireNamespace("future", [18:01:59.966] quietly = TRUE) [18:01:59.966] if (has_future) { [18:01:59.966] ns <- base::getNamespace("future") [18:01:59.966] version <- ns[[".package"]][["version"]] [18:01:59.966] if (is.null(version)) [18:01:59.966] version <- utils::packageVersion("future") [18:01:59.966] } [18:01:59.966] else { [18:01:59.966] version <- NULL [18:01:59.966] } [18:01:59.966] if (!has_future || version < "1.8.0") { [18:01:59.966] info <- base::c(r_version = base::gsub("R version ", [18:01:59.966] "", base::R.version$version.string), [18:01:59.966] platform = base::sprintf("%s (%s-bit)", [18:01:59.966] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.966] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.966] "release", "version")], collapse = " "), [18:01:59.966] hostname = base::Sys.info()[["nodename"]]) [18:01:59.966] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.966] info) [18:01:59.966] info <- base::paste(info, collapse = "; ") [18:01:59.966] if (!has_future) { [18:01:59.966] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.966] info) [18:01:59.966] } [18:01:59.966] else { [18:01:59.966] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.966] info, version) [18:01:59.966] } [18:01:59.966] base::stop(msg) [18:01:59.966] } [18:01:59.966] }) [18:01:59.966] } [18:01:59.966] options(future.plan = NULL) [18:01:59.966] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.966] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.966] } [18:01:59.966] ...future.workdir <- getwd() [18:01:59.966] } [18:01:59.966] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.966] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.966] } [18:01:59.966] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.966] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:01:59.966] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.966] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.966] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.966] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.966] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.966] base::names(...future.oldOptions)) [18:01:59.966] } [18:01:59.966] if (FALSE) { [18:01:59.966] } [18:01:59.966] else { [18:01:59.966] if (TRUE) { [18:01:59.966] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.966] open = "w") [18:01:59.966] } [18:01:59.966] else { [18:01:59.966] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.966] windows = "NUL", "/dev/null"), open = "w") [18:01:59.966] } [18:01:59.966] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.966] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.966] base::sink(type = "output", split = FALSE) [18:01:59.966] base::close(...future.stdout) [18:01:59.966] }, add = TRUE) [18:01:59.966] } [18:01:59.966] ...future.frame <- base::sys.nframe() [18:01:59.966] ...future.conditions <- base::list() [18:01:59.966] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.966] if (FALSE) { [18:01:59.966] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.966] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.966] } [18:01:59.966] ...future.result <- base::tryCatch({ [18:01:59.966] base::withCallingHandlers({ [18:01:59.966] ...future.value <- base::withVisible(base::local({ [18:01:59.966] b <- a * ii [18:01:59.966] a <- 0 [18:01:59.966] b [18:01:59.966] })) [18:01:59.966] future::FutureResult(value = ...future.value$value, [18:01:59.966] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.966] ...future.rng), globalenv = if (FALSE) [18:01:59.966] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.966] ...future.globalenv.names)) [18:01:59.966] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.966] }, condition = base::local({ [18:01:59.966] c <- base::c [18:01:59.966] inherits <- base::inherits [18:01:59.966] invokeRestart <- base::invokeRestart [18:01:59.966] length <- base::length [18:01:59.966] list <- base::list [18:01:59.966] seq.int <- base::seq.int [18:01:59.966] signalCondition <- base::signalCondition [18:01:59.966] sys.calls <- base::sys.calls [18:01:59.966] `[[` <- base::`[[` [18:01:59.966] `+` <- base::`+` [18:01:59.966] `<<-` <- base::`<<-` [18:01:59.966] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.966] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.966] 3L)] [18:01:59.966] } [18:01:59.966] function(cond) { [18:01:59.966] is_error <- inherits(cond, "error") [18:01:59.966] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.966] NULL) [18:01:59.966] if (is_error) { [18:01:59.966] sessionInformation <- function() { [18:01:59.966] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.966] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.966] search = base::search(), system = base::Sys.info()) [18:01:59.966] } [18:01:59.966] ...future.conditions[[length(...future.conditions) + [18:01:59.966] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.966] cond$call), session = sessionInformation(), [18:01:59.966] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.966] signalCondition(cond) [18:01:59.966] } [18:01:59.966] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.966] "immediateCondition"))) { [18:01:59.966] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.966] ...future.conditions[[length(...future.conditions) + [18:01:59.966] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.966] if (TRUE && !signal) { [18:01:59.966] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.966] { [18:01:59.966] inherits <- base::inherits [18:01:59.966] invokeRestart <- base::invokeRestart [18:01:59.966] is.null <- base::is.null [18:01:59.966] muffled <- FALSE [18:01:59.966] if (inherits(cond, "message")) { [18:01:59.966] muffled <- grepl(pattern, "muffleMessage") [18:01:59.966] if (muffled) [18:01:59.966] invokeRestart("muffleMessage") [18:01:59.966] } [18:01:59.966] else if (inherits(cond, "warning")) { [18:01:59.966] muffled <- grepl(pattern, "muffleWarning") [18:01:59.966] if (muffled) [18:01:59.966] invokeRestart("muffleWarning") [18:01:59.966] } [18:01:59.966] else if (inherits(cond, "condition")) { [18:01:59.966] if (!is.null(pattern)) { [18:01:59.966] computeRestarts <- base::computeRestarts [18:01:59.966] grepl <- base::grepl [18:01:59.966] restarts <- computeRestarts(cond) [18:01:59.966] for (restart in restarts) { [18:01:59.966] name <- restart$name [18:01:59.966] if (is.null(name)) [18:01:59.966] next [18:01:59.966] if (!grepl(pattern, name)) [18:01:59.966] next [18:01:59.966] invokeRestart(restart) [18:01:59.966] muffled <- TRUE [18:01:59.966] break [18:01:59.966] } [18:01:59.966] } [18:01:59.966] } [18:01:59.966] invisible(muffled) [18:01:59.966] } [18:01:59.966] muffleCondition(cond, pattern = "^muffle") [18:01:59.966] } [18:01:59.966] } [18:01:59.966] else { [18:01:59.966] if (TRUE) { [18:01:59.966] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.966] { [18:01:59.966] inherits <- base::inherits [18:01:59.966] invokeRestart <- base::invokeRestart [18:01:59.966] is.null <- base::is.null [18:01:59.966] muffled <- FALSE [18:01:59.966] if (inherits(cond, "message")) { [18:01:59.966] muffled <- grepl(pattern, "muffleMessage") [18:01:59.966] if (muffled) [18:01:59.966] invokeRestart("muffleMessage") [18:01:59.966] } [18:01:59.966] else if (inherits(cond, "warning")) { [18:01:59.966] muffled <- grepl(pattern, "muffleWarning") [18:01:59.966] if (muffled) [18:01:59.966] invokeRestart("muffleWarning") [18:01:59.966] } [18:01:59.966] else if (inherits(cond, "condition")) { [18:01:59.966] if (!is.null(pattern)) { [18:01:59.966] computeRestarts <- base::computeRestarts [18:01:59.966] grepl <- base::grepl [18:01:59.966] restarts <- computeRestarts(cond) [18:01:59.966] for (restart in restarts) { [18:01:59.966] name <- restart$name [18:01:59.966] if (is.null(name)) [18:01:59.966] next [18:01:59.966] if (!grepl(pattern, name)) [18:01:59.966] next [18:01:59.966] invokeRestart(restart) [18:01:59.966] muffled <- TRUE [18:01:59.966] break [18:01:59.966] } [18:01:59.966] } [18:01:59.966] } [18:01:59.966] invisible(muffled) [18:01:59.966] } [18:01:59.966] muffleCondition(cond, pattern = "^muffle") [18:01:59.966] } [18:01:59.966] } [18:01:59.966] } [18:01:59.966] })) [18:01:59.966] }, error = function(ex) { [18:01:59.966] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.966] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.966] ...future.rng), started = ...future.startTime, [18:01:59.966] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.966] version = "1.8"), class = "FutureResult") [18:01:59.966] }, finally = { [18:01:59.966] if (!identical(...future.workdir, getwd())) [18:01:59.966] setwd(...future.workdir) [18:01:59.966] { [18:01:59.966] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.966] ...future.oldOptions$nwarnings <- NULL [18:01:59.966] } [18:01:59.966] base::options(...future.oldOptions) [18:01:59.966] if (.Platform$OS.type == "windows") { [18:01:59.966] old_names <- names(...future.oldEnvVars) [18:01:59.966] envs <- base::Sys.getenv() [18:01:59.966] names <- names(envs) [18:01:59.966] common <- intersect(names, old_names) [18:01:59.966] added <- setdiff(names, old_names) [18:01:59.966] removed <- setdiff(old_names, names) [18:01:59.966] changed <- common[...future.oldEnvVars[common] != [18:01:59.966] envs[common]] [18:01:59.966] NAMES <- toupper(changed) [18:01:59.966] args <- list() [18:01:59.966] for (kk in seq_along(NAMES)) { [18:01:59.966] name <- changed[[kk]] [18:01:59.966] NAME <- NAMES[[kk]] [18:01:59.966] if (name != NAME && is.element(NAME, old_names)) [18:01:59.966] next [18:01:59.966] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.966] } [18:01:59.966] NAMES <- toupper(added) [18:01:59.966] for (kk in seq_along(NAMES)) { [18:01:59.966] name <- added[[kk]] [18:01:59.966] NAME <- NAMES[[kk]] [18:01:59.966] if (name != NAME && is.element(NAME, old_names)) [18:01:59.966] next [18:01:59.966] args[[name]] <- "" [18:01:59.966] } [18:01:59.966] NAMES <- toupper(removed) [18:01:59.966] for (kk in seq_along(NAMES)) { [18:01:59.966] name <- removed[[kk]] [18:01:59.966] NAME <- NAMES[[kk]] [18:01:59.966] if (name != NAME && is.element(NAME, old_names)) [18:01:59.966] next [18:01:59.966] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.966] } [18:01:59.966] if (length(args) > 0) [18:01:59.966] base::do.call(base::Sys.setenv, args = args) [18:01:59.966] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.966] } [18:01:59.966] else { [18:01:59.966] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.966] } [18:01:59.966] { [18:01:59.966] if (base::length(...future.futureOptionsAdded) > [18:01:59.966] 0L) { [18:01:59.966] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.966] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.966] base::options(opts) [18:01:59.966] } [18:01:59.966] { [18:01:59.966] { [18:01:59.966] NULL [18:01:59.966] RNGkind("Mersenne-Twister") [18:01:59.966] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.966] inherits = FALSE) [18:01:59.966] } [18:01:59.966] options(future.plan = NULL) [18:01:59.966] if (is.na(NA_character_)) [18:01:59.966] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.966] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.966] future::plan(list(function (..., envir = parent.frame()) [18:01:59.966] { [18:01:59.966] future <- SequentialFuture(..., envir = envir) [18:01:59.966] if (!future$lazy) [18:01:59.966] future <- run(future) [18:01:59.966] invisible(future) [18:01:59.966] }), .cleanup = FALSE, .init = FALSE) [18:01:59.966] } [18:01:59.966] } [18:01:59.966] } [18:01:59.966] }) [18:01:59.966] if (TRUE) { [18:01:59.966] base::sink(type = "output", split = FALSE) [18:01:59.966] if (TRUE) { [18:01:59.966] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.966] } [18:01:59.966] else { [18:01:59.966] ...future.result["stdout"] <- base::list(NULL) [18:01:59.966] } [18:01:59.966] base::close(...future.stdout) [18:01:59.966] ...future.stdout <- NULL [18:01:59.966] } [18:01:59.966] ...future.result$conditions <- ...future.conditions [18:01:59.966] ...future.result$finished <- base::Sys.time() [18:01:59.966] ...future.result [18:01:59.966] } [18:01:59.970] assign_globals() ... [18:01:59.970] List of 2 [18:01:59.970] $ a : num 1 [18:01:59.970] $ ii: int 3 [18:01:59.970] - attr(*, "where")=List of 2 [18:01:59.970] ..$ a : [18:01:59.970] ..$ ii: [18:01:59.970] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:59.970] - attr(*, "resolved")= logi TRUE [18:01:59.970] - attr(*, "total_size")= num 112 [18:01:59.970] - attr(*, "already-done")= logi TRUE [18:01:59.974] - copied 'a' to environment [18:01:59.974] - copied 'ii' to environment [18:01:59.974] assign_globals() ... done [18:01:59.975] plan(): Setting new future strategy stack: [18:01:59.975] List of future strategies: [18:01:59.975] 1. sequential: [18:01:59.975] - args: function (..., envir = parent.frame()) [18:01:59.975] - tweaked: FALSE [18:01:59.975] - call: NULL [18:01:59.975] plan(): nbrOfWorkers() = 1 [18:01:59.976] plan(): Setting new future strategy stack: [18:01:59.976] List of future strategies: [18:01:59.976] 1. sequential: [18:01:59.976] - args: function (..., envir = parent.frame()) [18:01:59.976] - tweaked: FALSE [18:01:59.976] - call: plan(strategy) [18:01:59.977] plan(): nbrOfWorkers() = 1 [18:01:59.977] SequentialFuture started (and completed) [18:01:59.977] - Launch lazy future ... done [18:01:59.978] run() for 'SequentialFuture' ... done [1] 1 2 3 Warning: 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' [18:01:59.978] getGlobalsAndPackages() ... Warning: 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' [18:01:59.978] Searching for globals... Warning: 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' [18:01:59.979] [18:01:59.979] Searching for globals ... DONE [18:01:59.979] - globals: [0] [18:01:59.979] getGlobalsAndPackages() ... DONE [18:01:59.980] run() for 'Future' ... [18:01:59.980] - state: 'created' [18:01:59.980] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:59.981] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:59.981] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:59.981] - Field: 'label' [18:01:59.981] - Field: 'local' [18:01:59.981] - Field: 'owner' [18:01:59.981] - Field: 'envir' [18:01:59.982] - Field: 'packages' [18:01:59.982] - Field: 'gc' [18:01:59.982] - Field: 'conditions' [18:01:59.982] - Field: 'expr' [18:01:59.982] - Field: 'uuid' [18:01:59.983] - Field: 'seed' [18:01:59.983] - Field: 'version' [18:01:59.983] - Field: 'result' [18:01:59.983] - Field: 'asynchronous' [18:01:59.983] - Field: 'calls' [18:01:59.983] - Field: 'globals' [18:01:59.984] - Field: 'stdout' [18:01:59.984] - Field: 'earlySignal' [18:01:59.984] - Field: 'lazy' [18:01:59.984] - Field: 'state' [18:01:59.985] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:59.985] - Launch lazy future ... [18:01:59.986] Packages needed by the future expression (n = 0): [18:01:59.986] Packages needed by future strategies (n = 0): [18:01:59.986] { [18:01:59.986] { [18:01:59.986] { [18:01:59.986] ...future.startTime <- base::Sys.time() [18:01:59.986] { [18:01:59.986] { [18:01:59.986] { [18:01:59.986] base::local({ [18:01:59.986] has_future <- base::requireNamespace("future", [18:01:59.986] quietly = TRUE) [18:01:59.986] if (has_future) { [18:01:59.986] ns <- base::getNamespace("future") [18:01:59.986] version <- ns[[".package"]][["version"]] [18:01:59.986] if (is.null(version)) [18:01:59.986] version <- utils::packageVersion("future") [18:01:59.986] } [18:01:59.986] else { [18:01:59.986] version <- NULL [18:01:59.986] } [18:01:59.986] if (!has_future || version < "1.8.0") { [18:01:59.986] info <- base::c(r_version = base::gsub("R version ", [18:01:59.986] "", base::R.version$version.string), [18:01:59.986] platform = base::sprintf("%s (%s-bit)", [18:01:59.986] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:59.986] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:59.986] "release", "version")], collapse = " "), [18:01:59.986] hostname = base::Sys.info()[["nodename"]]) [18:01:59.986] info <- base::sprintf("%s: %s", base::names(info), [18:01:59.986] info) [18:01:59.986] info <- base::paste(info, collapse = "; ") [18:01:59.986] if (!has_future) { [18:01:59.986] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:59.986] info) [18:01:59.986] } [18:01:59.986] else { [18:01:59.986] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:59.986] info, version) [18:01:59.986] } [18:01:59.986] base::stop(msg) [18:01:59.986] } [18:01:59.986] }) [18:01:59.986] } [18:01:59.986] options(future.plan = NULL) [18:01:59.986] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.986] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:59.986] } [18:01:59.986] ...future.workdir <- getwd() [18:01:59.986] } [18:01:59.986] ...future.oldOptions <- base::as.list(base::.Options) [18:01:59.986] ...future.oldEnvVars <- base::Sys.getenv() [18:01:59.986] } [18:01:59.986] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:59.986] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:01:59.986] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:59.986] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:59.986] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:59.986] future.stdout.windows.reencode = NULL, width = 80L) [18:01:59.986] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:59.986] base::names(...future.oldOptions)) [18:01:59.986] } [18:01:59.986] if (FALSE) { [18:01:59.986] } [18:01:59.986] else { [18:01:59.986] if (TRUE) { [18:01:59.986] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:59.986] open = "w") [18:01:59.986] } [18:01:59.986] else { [18:01:59.986] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:59.986] windows = "NUL", "/dev/null"), open = "w") [18:01:59.986] } [18:01:59.986] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:59.986] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:59.986] base::sink(type = "output", split = FALSE) [18:01:59.986] base::close(...future.stdout) [18:01:59.986] }, add = TRUE) [18:01:59.986] } [18:01:59.986] ...future.frame <- base::sys.nframe() [18:01:59.986] ...future.conditions <- base::list() [18:01:59.986] ...future.rng <- base::globalenv()$.Random.seed [18:01:59.986] if (FALSE) { [18:01:59.986] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:59.986] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:59.986] } [18:01:59.986] ...future.result <- base::tryCatch({ [18:01:59.986] base::withCallingHandlers({ [18:01:59.986] ...future.value <- base::withVisible(base::local(1)) [18:01:59.986] future::FutureResult(value = ...future.value$value, [18:01:59.986] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.986] ...future.rng), globalenv = if (FALSE) [18:01:59.986] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:59.986] ...future.globalenv.names)) [18:01:59.986] else NULL, started = ...future.startTime, version = "1.8") [18:01:59.986] }, condition = base::local({ [18:01:59.986] c <- base::c [18:01:59.986] inherits <- base::inherits [18:01:59.986] invokeRestart <- base::invokeRestart [18:01:59.986] length <- base::length [18:01:59.986] list <- base::list [18:01:59.986] seq.int <- base::seq.int [18:01:59.986] signalCondition <- base::signalCondition [18:01:59.986] sys.calls <- base::sys.calls [18:01:59.986] `[[` <- base::`[[` [18:01:59.986] `+` <- base::`+` [18:01:59.986] `<<-` <- base::`<<-` [18:01:59.986] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:59.986] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:59.986] 3L)] [18:01:59.986] } [18:01:59.986] function(cond) { [18:01:59.986] is_error <- inherits(cond, "error") [18:01:59.986] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:59.986] NULL) [18:01:59.986] if (is_error) { [18:01:59.986] sessionInformation <- function() { [18:01:59.986] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:59.986] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:59.986] search = base::search(), system = base::Sys.info()) [18:01:59.986] } [18:01:59.986] ...future.conditions[[length(...future.conditions) + [18:01:59.986] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:59.986] cond$call), session = sessionInformation(), [18:01:59.986] timestamp = base::Sys.time(), signaled = 0L) [18:01:59.986] signalCondition(cond) [18:01:59.986] } [18:01:59.986] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:59.986] "immediateCondition"))) { [18:01:59.986] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:59.986] ...future.conditions[[length(...future.conditions) + [18:01:59.986] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:59.986] if (TRUE && !signal) { [18:01:59.986] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.986] { [18:01:59.986] inherits <- base::inherits [18:01:59.986] invokeRestart <- base::invokeRestart [18:01:59.986] is.null <- base::is.null [18:01:59.986] muffled <- FALSE [18:01:59.986] if (inherits(cond, "message")) { [18:01:59.986] muffled <- grepl(pattern, "muffleMessage") [18:01:59.986] if (muffled) [18:01:59.986] invokeRestart("muffleMessage") [18:01:59.986] } [18:01:59.986] else if (inherits(cond, "warning")) { [18:01:59.986] muffled <- grepl(pattern, "muffleWarning") [18:01:59.986] if (muffled) [18:01:59.986] invokeRestart("muffleWarning") [18:01:59.986] } [18:01:59.986] else if (inherits(cond, "condition")) { [18:01:59.986] if (!is.null(pattern)) { [18:01:59.986] computeRestarts <- base::computeRestarts [18:01:59.986] grepl <- base::grepl [18:01:59.986] restarts <- computeRestarts(cond) [18:01:59.986] for (restart in restarts) { [18:01:59.986] name <- restart$name [18:01:59.986] if (is.null(name)) [18:01:59.986] next [18:01:59.986] if (!grepl(pattern, name)) [18:01:59.986] next [18:01:59.986] invokeRestart(restart) [18:01:59.986] muffled <- TRUE [18:01:59.986] break [18:01:59.986] } [18:01:59.986] } [18:01:59.986] } [18:01:59.986] invisible(muffled) [18:01:59.986] } [18:01:59.986] muffleCondition(cond, pattern = "^muffle") [18:01:59.986] } [18:01:59.986] } [18:01:59.986] else { [18:01:59.986] if (TRUE) { [18:01:59.986] muffleCondition <- function (cond, pattern = "^muffle") [18:01:59.986] { [18:01:59.986] inherits <- base::inherits [18:01:59.986] invokeRestart <- base::invokeRestart [18:01:59.986] is.null <- base::is.null [18:01:59.986] muffled <- FALSE [18:01:59.986] if (inherits(cond, "message")) { [18:01:59.986] muffled <- grepl(pattern, "muffleMessage") [18:01:59.986] if (muffled) [18:01:59.986] invokeRestart("muffleMessage") [18:01:59.986] } [18:01:59.986] else if (inherits(cond, "warning")) { [18:01:59.986] muffled <- grepl(pattern, "muffleWarning") [18:01:59.986] if (muffled) [18:01:59.986] invokeRestart("muffleWarning") [18:01:59.986] } [18:01:59.986] else if (inherits(cond, "condition")) { [18:01:59.986] if (!is.null(pattern)) { [18:01:59.986] computeRestarts <- base::computeRestarts [18:01:59.986] grepl <- base::grepl [18:01:59.986] restarts <- computeRestarts(cond) [18:01:59.986] for (restart in restarts) { [18:01:59.986] name <- restart$name [18:01:59.986] if (is.null(name)) [18:01:59.986] next [18:01:59.986] if (!grepl(pattern, name)) [18:01:59.986] next [18:01:59.986] invokeRestart(restart) [18:01:59.986] muffled <- TRUE [18:01:59.986] break [18:01:59.986] } [18:01:59.986] } [18:01:59.986] } [18:01:59.986] invisible(muffled) [18:01:59.986] } [18:01:59.986] muffleCondition(cond, pattern = "^muffle") [18:01:59.986] } [18:01:59.986] } [18:01:59.986] } [18:01:59.986] })) [18:01:59.986] }, error = function(ex) { [18:01:59.986] base::structure(base::list(value = NULL, visible = NULL, [18:01:59.986] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:59.986] ...future.rng), started = ...future.startTime, [18:01:59.986] finished = Sys.time(), session_uuid = NA_character_, [18:01:59.986] version = "1.8"), class = "FutureResult") [18:01:59.986] }, finally = { [18:01:59.986] if (!identical(...future.workdir, getwd())) [18:01:59.986] setwd(...future.workdir) [18:01:59.986] { [18:01:59.986] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:59.986] ...future.oldOptions$nwarnings <- NULL [18:01:59.986] } [18:01:59.986] base::options(...future.oldOptions) [18:01:59.986] if (.Platform$OS.type == "windows") { [18:01:59.986] old_names <- names(...future.oldEnvVars) [18:01:59.986] envs <- base::Sys.getenv() [18:01:59.986] names <- names(envs) [18:01:59.986] common <- intersect(names, old_names) [18:01:59.986] added <- setdiff(names, old_names) [18:01:59.986] removed <- setdiff(old_names, names) [18:01:59.986] changed <- common[...future.oldEnvVars[common] != [18:01:59.986] envs[common]] [18:01:59.986] NAMES <- toupper(changed) [18:01:59.986] args <- list() [18:01:59.986] for (kk in seq_along(NAMES)) { [18:01:59.986] name <- changed[[kk]] [18:01:59.986] NAME <- NAMES[[kk]] [18:01:59.986] if (name != NAME && is.element(NAME, old_names)) [18:01:59.986] next [18:01:59.986] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.986] } [18:01:59.986] NAMES <- toupper(added) [18:01:59.986] for (kk in seq_along(NAMES)) { [18:01:59.986] name <- added[[kk]] [18:01:59.986] NAME <- NAMES[[kk]] [18:01:59.986] if (name != NAME && is.element(NAME, old_names)) [18:01:59.986] next [18:01:59.986] args[[name]] <- "" [18:01:59.986] } [18:01:59.986] NAMES <- toupper(removed) [18:01:59.986] for (kk in seq_along(NAMES)) { [18:01:59.986] name <- removed[[kk]] [18:01:59.986] NAME <- NAMES[[kk]] [18:01:59.986] if (name != NAME && is.element(NAME, old_names)) [18:01:59.986] next [18:01:59.986] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:59.986] } [18:01:59.986] if (length(args) > 0) [18:01:59.986] base::do.call(base::Sys.setenv, args = args) [18:01:59.986] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:59.986] } [18:01:59.986] else { [18:01:59.986] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:59.986] } [18:01:59.986] { [18:01:59.986] if (base::length(...future.futureOptionsAdded) > [18:01:59.986] 0L) { [18:01:59.986] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:59.986] base::names(opts) <- ...future.futureOptionsAdded [18:01:59.986] base::options(opts) [18:01:59.986] } [18:01:59.986] { [18:01:59.986] { [18:01:59.986] NULL [18:01:59.986] RNGkind("Mersenne-Twister") [18:01:59.986] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:59.986] inherits = FALSE) [18:01:59.986] } [18:01:59.986] options(future.plan = NULL) [18:01:59.986] if (is.na(NA_character_)) [18:01:59.986] Sys.unsetenv("R_FUTURE_PLAN") [18:01:59.986] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:59.986] future::plan(list(function (..., envir = parent.frame()) [18:01:59.986] { [18:01:59.986] future <- SequentialFuture(..., envir = envir) [18:01:59.986] if (!future$lazy) [18:01:59.986] future <- run(future) [18:01:59.986] invisible(future) [18:01:59.986] }), .cleanup = FALSE, .init = FALSE) [18:01:59.986] } [18:01:59.986] } [18:01:59.986] } [18:01:59.986] }) [18:01:59.986] if (TRUE) { [18:01:59.986] base::sink(type = "output", split = FALSE) [18:01:59.986] if (TRUE) { [18:01:59.986] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:59.986] } [18:01:59.986] else { [18:01:59.986] ...future.result["stdout"] <- base::list(NULL) [18:01:59.986] } [18:01:59.986] base::close(...future.stdout) [18:01:59.986] ...future.stdout <- NULL [18:01:59.986] } [18:01:59.986] ...future.result$conditions <- ...future.conditions [18:01:59.986] ...future.result$finished <- base::Sys.time() [18:01:59.986] ...future.result [18:01:59.986] } [18:01:59.990] plan(): Setting new future strategy stack: [18:01:59.990] List of future strategies: [18:01:59.990] 1. sequential: [18:01:59.990] - args: function (..., envir = parent.frame()) [18:01:59.990] - tweaked: FALSE [18:01:59.990] - call: NULL [18:01:59.991] plan(): nbrOfWorkers() = 1 [18:01:59.992] plan(): Setting new future strategy stack: [18:01:59.992] List of future strategies: [18:01:59.992] 1. sequential: [18:01:59.992] - args: function (..., envir = parent.frame()) [18:01:59.992] - tweaked: FALSE [18:01:59.992] - call: plan(strategy) [18:01:59.993] plan(): nbrOfWorkers() = 1 [18:01:59.993] SequentialFuture started (and completed) [18:01:59.993] - Launch lazy future ... done [18:01:59.993] run() for 'SequentialFuture' ... done Warning: 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' [18:01:59.994] getGlobalsAndPackages() ... Warning: 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' [18:01:59.994] Searching for globals... Warning: 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' [18:01:59.995] - globals found: [3] '+', 'value', 'a' [18:01:59.995] Searching for globals ... DONE [18:01:59.995] Resolving globals: TRUE [18:01:59.995] Resolving any globals that are futures ... [18:01:59.996] - globals: [3] '+', 'value', 'a' [18:01:59.996] Resolving any globals that are futures ... DONE [18:01:59.996] Resolving futures part of globals (recursively) ... [18:01:59.996] resolve() on list ... [18:01:59.997] recursive: 99 [18:01:59.997] length: 1 [18:01:59.997] elements: 'a' [18:01:59.997] resolved() for 'SequentialFuture' ... [18:01:59.997] - state: 'finished' [18:01:59.997] - run: TRUE [18:01:59.998] - result: 'FutureResult' [18:01:59.998] resolved() for 'SequentialFuture' ... done [18:01:59.998] Future #1 [18:01:59.998] resolved() for 'SequentialFuture' ... [18:01:59.998] - state: 'finished' [18:01:59.999] - run: TRUE [18:01:59.999] - result: 'FutureResult' [18:01:59.999] resolved() for 'SequentialFuture' ... done [18:01:59.999] A SequentialFuture was resolved [18:01:59.999] length: 0 (resolved future 1) [18:02:00.000] resolve() on list ... DONE [18:02:00.000] - globals: [1] 'a' [18:02:00.000] Resolving futures part of globals (recursively) ... DONE [18:02:00.002] The total size of the 1 globals is 1.56 MiB (1636344 bytes) [18:02:00.003] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.56 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.56 MiB of class 'environment') [18:02:00.003] - globals: [1] 'a' [18:02:00.003] - packages: [1] 'future' [18:02:00.003] getGlobalsAndPackages() ... DONE [18:02:00.004] run() for 'Future' ... [18:02:00.004] - state: 'created' [18:02:00.004] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:00.004] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.005] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:00.005] - Field: 'label' [18:02:00.005] - Field: 'local' [18:02:00.005] - Field: 'owner' [18:02:00.005] - Field: 'envir' [18:02:00.005] - Field: 'packages' [18:02:00.006] - Field: 'gc' [18:02:00.006] - Field: 'conditions' [18:02:00.006] - Field: 'expr' [18:02:00.006] - Field: 'uuid' [18:02:00.006] - Field: 'seed' [18:02:00.006] - Field: 'version' [18:02:00.007] - Field: 'result' [18:02:00.007] - Field: 'asynchronous' [18:02:00.007] - Field: 'calls' [18:02:00.007] - Field: 'globals' [18:02:00.007] - Field: 'stdout' [18:02:00.008] - Field: 'earlySignal' [18:02:00.008] - Field: 'lazy' [18:02:00.008] - Field: 'state' [18:02:00.008] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:00.008] - Launch lazy future ... [18:02:00.008] Packages needed by the future expression (n = 1): 'future' [18:02:00.009] Packages needed by future strategies (n = 0): [18:02:00.009] { [18:02:00.009] { [18:02:00.009] { [18:02:00.009] ...future.startTime <- base::Sys.time() [18:02:00.009] { [18:02:00.009] { [18:02:00.009] { [18:02:00.009] { [18:02:00.009] base::local({ [18:02:00.009] has_future <- base::requireNamespace("future", [18:02:00.009] quietly = TRUE) [18:02:00.009] if (has_future) { [18:02:00.009] ns <- base::getNamespace("future") [18:02:00.009] version <- ns[[".package"]][["version"]] [18:02:00.009] if (is.null(version)) [18:02:00.009] version <- utils::packageVersion("future") [18:02:00.009] } [18:02:00.009] else { [18:02:00.009] version <- NULL [18:02:00.009] } [18:02:00.009] if (!has_future || version < "1.8.0") { [18:02:00.009] info <- base::c(r_version = base::gsub("R version ", [18:02:00.009] "", base::R.version$version.string), [18:02:00.009] platform = base::sprintf("%s (%s-bit)", [18:02:00.009] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:00.009] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:00.009] "release", "version")], collapse = " "), [18:02:00.009] hostname = base::Sys.info()[["nodename"]]) [18:02:00.009] info <- base::sprintf("%s: %s", base::names(info), [18:02:00.009] info) [18:02:00.009] info <- base::paste(info, collapse = "; ") [18:02:00.009] if (!has_future) { [18:02:00.009] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:00.009] info) [18:02:00.009] } [18:02:00.009] else { [18:02:00.009] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:00.009] info, version) [18:02:00.009] } [18:02:00.009] base::stop(msg) [18:02:00.009] } [18:02:00.009] }) [18:02:00.009] } [18:02:00.009] base::local({ [18:02:00.009] for (pkg in "future") { [18:02:00.009] base::loadNamespace(pkg) [18:02:00.009] base::library(pkg, character.only = TRUE) [18:02:00.009] } [18:02:00.009] }) [18:02:00.009] } [18:02:00.009] options(future.plan = NULL) [18:02:00.009] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.009] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:00.009] } [18:02:00.009] ...future.workdir <- getwd() [18:02:00.009] } [18:02:00.009] ...future.oldOptions <- base::as.list(base::.Options) [18:02:00.009] ...future.oldEnvVars <- base::Sys.getenv() [18:02:00.009] } [18:02:00.009] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:00.009] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:00.009] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:00.009] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:00.009] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:00.009] future.stdout.windows.reencode = NULL, width = 80L) [18:02:00.009] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:00.009] base::names(...future.oldOptions)) [18:02:00.009] } [18:02:00.009] if (FALSE) { [18:02:00.009] } [18:02:00.009] else { [18:02:00.009] if (TRUE) { [18:02:00.009] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:00.009] open = "w") [18:02:00.009] } [18:02:00.009] else { [18:02:00.009] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:00.009] windows = "NUL", "/dev/null"), open = "w") [18:02:00.009] } [18:02:00.009] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:00.009] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:00.009] base::sink(type = "output", split = FALSE) [18:02:00.009] base::close(...future.stdout) [18:02:00.009] }, add = TRUE) [18:02:00.009] } [18:02:00.009] ...future.frame <- base::sys.nframe() [18:02:00.009] ...future.conditions <- base::list() [18:02:00.009] ...future.rng <- base::globalenv()$.Random.seed [18:02:00.009] if (FALSE) { [18:02:00.009] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:00.009] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:00.009] } [18:02:00.009] ...future.result <- base::tryCatch({ [18:02:00.009] base::withCallingHandlers({ [18:02:00.009] ...future.value <- base::withVisible(base::local(value(a) + [18:02:00.009] 1)) [18:02:00.009] future::FutureResult(value = ...future.value$value, [18:02:00.009] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.009] ...future.rng), globalenv = if (FALSE) [18:02:00.009] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:00.009] ...future.globalenv.names)) [18:02:00.009] else NULL, started = ...future.startTime, version = "1.8") [18:02:00.009] }, condition = base::local({ [18:02:00.009] c <- base::c [18:02:00.009] inherits <- base::inherits [18:02:00.009] invokeRestart <- base::invokeRestart [18:02:00.009] length <- base::length [18:02:00.009] list <- base::list [18:02:00.009] seq.int <- base::seq.int [18:02:00.009] signalCondition <- base::signalCondition [18:02:00.009] sys.calls <- base::sys.calls [18:02:00.009] `[[` <- base::`[[` [18:02:00.009] `+` <- base::`+` [18:02:00.009] `<<-` <- base::`<<-` [18:02:00.009] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:00.009] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:00.009] 3L)] [18:02:00.009] } [18:02:00.009] function(cond) { [18:02:00.009] is_error <- inherits(cond, "error") [18:02:00.009] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:00.009] NULL) [18:02:00.009] if (is_error) { [18:02:00.009] sessionInformation <- function() { [18:02:00.009] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:00.009] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:00.009] search = base::search(), system = base::Sys.info()) [18:02:00.009] } [18:02:00.009] ...future.conditions[[length(...future.conditions) + [18:02:00.009] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:00.009] cond$call), session = sessionInformation(), [18:02:00.009] timestamp = base::Sys.time(), signaled = 0L) [18:02:00.009] signalCondition(cond) [18:02:00.009] } [18:02:00.009] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:00.009] "immediateCondition"))) { [18:02:00.009] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:00.009] ...future.conditions[[length(...future.conditions) + [18:02:00.009] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:00.009] if (TRUE && !signal) { [18:02:00.009] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.009] { [18:02:00.009] inherits <- base::inherits [18:02:00.009] invokeRestart <- base::invokeRestart [18:02:00.009] is.null <- base::is.null [18:02:00.009] muffled <- FALSE [18:02:00.009] if (inherits(cond, "message")) { [18:02:00.009] muffled <- grepl(pattern, "muffleMessage") [18:02:00.009] if (muffled) [18:02:00.009] invokeRestart("muffleMessage") [18:02:00.009] } [18:02:00.009] else if (inherits(cond, "warning")) { [18:02:00.009] muffled <- grepl(pattern, "muffleWarning") [18:02:00.009] if (muffled) [18:02:00.009] invokeRestart("muffleWarning") [18:02:00.009] } [18:02:00.009] else if (inherits(cond, "condition")) { [18:02:00.009] if (!is.null(pattern)) { [18:02:00.009] computeRestarts <- base::computeRestarts [18:02:00.009] grepl <- base::grepl [18:02:00.009] restarts <- computeRestarts(cond) [18:02:00.009] for (restart in restarts) { [18:02:00.009] name <- restart$name [18:02:00.009] if (is.null(name)) [18:02:00.009] next [18:02:00.009] if (!grepl(pattern, name)) [18:02:00.009] next [18:02:00.009] invokeRestart(restart) [18:02:00.009] muffled <- TRUE [18:02:00.009] break [18:02:00.009] } [18:02:00.009] } [18:02:00.009] } [18:02:00.009] invisible(muffled) [18:02:00.009] } [18:02:00.009] muffleCondition(cond, pattern = "^muffle") [18:02:00.009] } [18:02:00.009] } [18:02:00.009] else { [18:02:00.009] if (TRUE) { [18:02:00.009] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.009] { [18:02:00.009] inherits <- base::inherits [18:02:00.009] invokeRestart <- base::invokeRestart [18:02:00.009] is.null <- base::is.null [18:02:00.009] muffled <- FALSE [18:02:00.009] if (inherits(cond, "message")) { [18:02:00.009] muffled <- grepl(pattern, "muffleMessage") [18:02:00.009] if (muffled) [18:02:00.009] invokeRestart("muffleMessage") [18:02:00.009] } [18:02:00.009] else if (inherits(cond, "warning")) { [18:02:00.009] muffled <- grepl(pattern, "muffleWarning") [18:02:00.009] if (muffled) [18:02:00.009] invokeRestart("muffleWarning") [18:02:00.009] } [18:02:00.009] else if (inherits(cond, "condition")) { [18:02:00.009] if (!is.null(pattern)) { [18:02:00.009] computeRestarts <- base::computeRestarts [18:02:00.009] grepl <- base::grepl [18:02:00.009] restarts <- computeRestarts(cond) [18:02:00.009] for (restart in restarts) { [18:02:00.009] name <- restart$name [18:02:00.009] if (is.null(name)) [18:02:00.009] next [18:02:00.009] if (!grepl(pattern, name)) [18:02:00.009] next [18:02:00.009] invokeRestart(restart) [18:02:00.009] muffled <- TRUE [18:02:00.009] break [18:02:00.009] } [18:02:00.009] } [18:02:00.009] } [18:02:00.009] invisible(muffled) [18:02:00.009] } [18:02:00.009] muffleCondition(cond, pattern = "^muffle") [18:02:00.009] } [18:02:00.009] } [18:02:00.009] } [18:02:00.009] })) [18:02:00.009] }, error = function(ex) { [18:02:00.009] base::structure(base::list(value = NULL, visible = NULL, [18:02:00.009] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.009] ...future.rng), started = ...future.startTime, [18:02:00.009] finished = Sys.time(), session_uuid = NA_character_, [18:02:00.009] version = "1.8"), class = "FutureResult") [18:02:00.009] }, finally = { [18:02:00.009] if (!identical(...future.workdir, getwd())) [18:02:00.009] setwd(...future.workdir) [18:02:00.009] { [18:02:00.009] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:00.009] ...future.oldOptions$nwarnings <- NULL [18:02:00.009] } [18:02:00.009] base::options(...future.oldOptions) [18:02:00.009] if (.Platform$OS.type == "windows") { [18:02:00.009] old_names <- names(...future.oldEnvVars) [18:02:00.009] envs <- base::Sys.getenv() [18:02:00.009] names <- names(envs) [18:02:00.009] common <- intersect(names, old_names) [18:02:00.009] added <- setdiff(names, old_names) [18:02:00.009] removed <- setdiff(old_names, names) [18:02:00.009] changed <- common[...future.oldEnvVars[common] != [18:02:00.009] envs[common]] [18:02:00.009] NAMES <- toupper(changed) [18:02:00.009] args <- list() [18:02:00.009] for (kk in seq_along(NAMES)) { [18:02:00.009] name <- changed[[kk]] [18:02:00.009] NAME <- NAMES[[kk]] [18:02:00.009] if (name != NAME && is.element(NAME, old_names)) [18:02:00.009] next [18:02:00.009] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.009] } [18:02:00.009] NAMES <- toupper(added) [18:02:00.009] for (kk in seq_along(NAMES)) { [18:02:00.009] name <- added[[kk]] [18:02:00.009] NAME <- NAMES[[kk]] [18:02:00.009] if (name != NAME && is.element(NAME, old_names)) [18:02:00.009] next [18:02:00.009] args[[name]] <- "" [18:02:00.009] } [18:02:00.009] NAMES <- toupper(removed) [18:02:00.009] for (kk in seq_along(NAMES)) { [18:02:00.009] name <- removed[[kk]] [18:02:00.009] NAME <- NAMES[[kk]] [18:02:00.009] if (name != NAME && is.element(NAME, old_names)) [18:02:00.009] next [18:02:00.009] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.009] } [18:02:00.009] if (length(args) > 0) [18:02:00.009] base::do.call(base::Sys.setenv, args = args) [18:02:00.009] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:00.009] } [18:02:00.009] else { [18:02:00.009] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:00.009] } [18:02:00.009] { [18:02:00.009] if (base::length(...future.futureOptionsAdded) > [18:02:00.009] 0L) { [18:02:00.009] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:00.009] base::names(opts) <- ...future.futureOptionsAdded [18:02:00.009] base::options(opts) [18:02:00.009] } [18:02:00.009] { [18:02:00.009] { [18:02:00.009] NULL [18:02:00.009] RNGkind("Mersenne-Twister") [18:02:00.009] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:00.009] inherits = FALSE) [18:02:00.009] } [18:02:00.009] options(future.plan = NULL) [18:02:00.009] if (is.na(NA_character_)) [18:02:00.009] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.009] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:00.009] future::plan(list(function (..., envir = parent.frame()) [18:02:00.009] { [18:02:00.009] future <- SequentialFuture(..., envir = envir) [18:02:00.009] if (!future$lazy) [18:02:00.009] future <- run(future) [18:02:00.009] invisible(future) [18:02:00.009] }), .cleanup = FALSE, .init = FALSE) [18:02:00.009] } [18:02:00.009] } [18:02:00.009] } [18:02:00.009] }) [18:02:00.009] if (TRUE) { [18:02:00.009] base::sink(type = "output", split = FALSE) [18:02:00.009] if (TRUE) { [18:02:00.009] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:00.009] } [18:02:00.009] else { [18:02:00.009] ...future.result["stdout"] <- base::list(NULL) [18:02:00.009] } [18:02:00.009] base::close(...future.stdout) [18:02:00.009] ...future.stdout <- NULL [18:02:00.009] } [18:02:00.009] ...future.result$conditions <- ...future.conditions [18:02:00.009] ...future.result$finished <- base::Sys.time() [18:02:00.009] ...future.result [18:02:00.009] } [18:02:00.013] assign_globals() ... [18:02:00.013] List of 1 [18:02:00.013] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.013] - attr(*, "where")=List of 1 [18:02:00.013] ..$ a: [18:02:00.013] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:00.013] - attr(*, "resolved")= logi TRUE [18:02:00.013] - attr(*, "total_size")= num 1636344 [18:02:00.013] - attr(*, "already-done")= logi TRUE [18:02:00.017] - copied 'a' to environment [18:02:00.017] assign_globals() ... done [18:02:00.017] plan(): Setting new future strategy stack: [18:02:00.018] List of future strategies: [18:02:00.018] 1. sequential: [18:02:00.018] - args: function (..., envir = parent.frame()) [18:02:00.018] - tweaked: FALSE [18:02:00.018] - call: NULL [18:02:00.018] plan(): nbrOfWorkers() = 1 [18:02:00.019] plan(): Setting new future strategy stack: [18:02:00.020] List of future strategies: [18:02:00.020] 1. sequential: [18:02:00.020] - args: function (..., envir = parent.frame()) [18:02:00.020] - tweaked: FALSE [18:02:00.020] - call: plan(strategy) [18:02:00.020] plan(): nbrOfWorkers() = 1 [18:02:00.020] SequentialFuture started (and completed) [18:02:00.021] - Launch lazy future ... done [18:02:00.021] run() for 'SequentialFuture' ... done value(b) = 2 Warning: 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' [18:02:00.021] getGlobalsAndPackages() ... Warning: 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' [18:02:00.022] Searching for globals... Warning: 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' [18:02:00.022] [18:02:00.022] Searching for globals ... DONE [18:02:00.023] - globals: [0] [18:02:00.023] getGlobalsAndPackages() ... DONE [18:02:00.023] run() for 'Future' ... [18:02:00.023] - state: 'created' [18:02:00.024] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:00.024] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.024] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:00.024] - Field: 'label' [18:02:00.025] - Field: 'local' [18:02:00.025] - Field: 'owner' [18:02:00.025] - Field: 'envir' [18:02:00.025] - Field: 'packages' [18:02:00.025] - Field: 'gc' [18:02:00.025] - Field: 'conditions' [18:02:00.026] - Field: 'expr' [18:02:00.026] - Field: 'uuid' [18:02:00.026] - Field: 'seed' [18:02:00.026] - Field: 'version' [18:02:00.026] - Field: 'result' [18:02:00.027] - Field: 'asynchronous' [18:02:00.027] - Field: 'calls' [18:02:00.027] - Field: 'globals' [18:02:00.028] - Field: 'stdout' [18:02:00.029] - Field: 'earlySignal' [18:02:00.029] - Field: 'lazy' [18:02:00.029] - Field: 'state' [18:02:00.029] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:00.029] - Launch lazy future ... [18:02:00.030] Packages needed by the future expression (n = 0): [18:02:00.030] Packages needed by future strategies (n = 0): [18:02:00.030] { [18:02:00.030] { [18:02:00.030] { [18:02:00.030] ...future.startTime <- base::Sys.time() [18:02:00.030] { [18:02:00.030] { [18:02:00.030] { [18:02:00.030] base::local({ [18:02:00.030] has_future <- base::requireNamespace("future", [18:02:00.030] quietly = TRUE) [18:02:00.030] if (has_future) { [18:02:00.030] ns <- base::getNamespace("future") [18:02:00.030] version <- ns[[".package"]][["version"]] [18:02:00.030] if (is.null(version)) [18:02:00.030] version <- utils::packageVersion("future") [18:02:00.030] } [18:02:00.030] else { [18:02:00.030] version <- NULL [18:02:00.030] } [18:02:00.030] if (!has_future || version < "1.8.0") { [18:02:00.030] info <- base::c(r_version = base::gsub("R version ", [18:02:00.030] "", base::R.version$version.string), [18:02:00.030] platform = base::sprintf("%s (%s-bit)", [18:02:00.030] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:00.030] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:00.030] "release", "version")], collapse = " "), [18:02:00.030] hostname = base::Sys.info()[["nodename"]]) [18:02:00.030] info <- base::sprintf("%s: %s", base::names(info), [18:02:00.030] info) [18:02:00.030] info <- base::paste(info, collapse = "; ") [18:02:00.030] if (!has_future) { [18:02:00.030] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:00.030] info) [18:02:00.030] } [18:02:00.030] else { [18:02:00.030] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:00.030] info, version) [18:02:00.030] } [18:02:00.030] base::stop(msg) [18:02:00.030] } [18:02:00.030] }) [18:02:00.030] } [18:02:00.030] options(future.plan = NULL) [18:02:00.030] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.030] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:00.030] } [18:02:00.030] ...future.workdir <- getwd() [18:02:00.030] } [18:02:00.030] ...future.oldOptions <- base::as.list(base::.Options) [18:02:00.030] ...future.oldEnvVars <- base::Sys.getenv() [18:02:00.030] } [18:02:00.030] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:00.030] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:00.030] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:00.030] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:00.030] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:00.030] future.stdout.windows.reencode = NULL, width = 80L) [18:02:00.030] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:00.030] base::names(...future.oldOptions)) [18:02:00.030] } [18:02:00.030] if (FALSE) { [18:02:00.030] } [18:02:00.030] else { [18:02:00.030] if (TRUE) { [18:02:00.030] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:00.030] open = "w") [18:02:00.030] } [18:02:00.030] else { [18:02:00.030] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:00.030] windows = "NUL", "/dev/null"), open = "w") [18:02:00.030] } [18:02:00.030] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:00.030] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:00.030] base::sink(type = "output", split = FALSE) [18:02:00.030] base::close(...future.stdout) [18:02:00.030] }, add = TRUE) [18:02:00.030] } [18:02:00.030] ...future.frame <- base::sys.nframe() [18:02:00.030] ...future.conditions <- base::list() [18:02:00.030] ...future.rng <- base::globalenv()$.Random.seed [18:02:00.030] if (FALSE) { [18:02:00.030] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:00.030] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:00.030] } [18:02:00.030] ...future.result <- base::tryCatch({ [18:02:00.030] base::withCallingHandlers({ [18:02:00.030] ...future.value <- base::withVisible(base::local(1)) [18:02:00.030] future::FutureResult(value = ...future.value$value, [18:02:00.030] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.030] ...future.rng), globalenv = if (FALSE) [18:02:00.030] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:00.030] ...future.globalenv.names)) [18:02:00.030] else NULL, started = ...future.startTime, version = "1.8") [18:02:00.030] }, condition = base::local({ [18:02:00.030] c <- base::c [18:02:00.030] inherits <- base::inherits [18:02:00.030] invokeRestart <- base::invokeRestart [18:02:00.030] length <- base::length [18:02:00.030] list <- base::list [18:02:00.030] seq.int <- base::seq.int [18:02:00.030] signalCondition <- base::signalCondition [18:02:00.030] sys.calls <- base::sys.calls [18:02:00.030] `[[` <- base::`[[` [18:02:00.030] `+` <- base::`+` [18:02:00.030] `<<-` <- base::`<<-` [18:02:00.030] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:00.030] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:00.030] 3L)] [18:02:00.030] } [18:02:00.030] function(cond) { [18:02:00.030] is_error <- inherits(cond, "error") [18:02:00.030] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:00.030] NULL) [18:02:00.030] if (is_error) { [18:02:00.030] sessionInformation <- function() { [18:02:00.030] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:00.030] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:00.030] search = base::search(), system = base::Sys.info()) [18:02:00.030] } [18:02:00.030] ...future.conditions[[length(...future.conditions) + [18:02:00.030] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:00.030] cond$call), session = sessionInformation(), [18:02:00.030] timestamp = base::Sys.time(), signaled = 0L) [18:02:00.030] signalCondition(cond) [18:02:00.030] } [18:02:00.030] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:00.030] "immediateCondition"))) { [18:02:00.030] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:00.030] ...future.conditions[[length(...future.conditions) + [18:02:00.030] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:00.030] if (TRUE && !signal) { [18:02:00.030] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.030] { [18:02:00.030] inherits <- base::inherits [18:02:00.030] invokeRestart <- base::invokeRestart [18:02:00.030] is.null <- base::is.null [18:02:00.030] muffled <- FALSE [18:02:00.030] if (inherits(cond, "message")) { [18:02:00.030] muffled <- grepl(pattern, "muffleMessage") [18:02:00.030] if (muffled) [18:02:00.030] invokeRestart("muffleMessage") [18:02:00.030] } [18:02:00.030] else if (inherits(cond, "warning")) { [18:02:00.030] muffled <- grepl(pattern, "muffleWarning") [18:02:00.030] if (muffled) [18:02:00.030] invokeRestart("muffleWarning") [18:02:00.030] } [18:02:00.030] else if (inherits(cond, "condition")) { [18:02:00.030] if (!is.null(pattern)) { [18:02:00.030] computeRestarts <- base::computeRestarts [18:02:00.030] grepl <- base::grepl [18:02:00.030] restarts <- computeRestarts(cond) [18:02:00.030] for (restart in restarts) { [18:02:00.030] name <- restart$name [18:02:00.030] if (is.null(name)) [18:02:00.030] next [18:02:00.030] if (!grepl(pattern, name)) [18:02:00.030] next [18:02:00.030] invokeRestart(restart) [18:02:00.030] muffled <- TRUE [18:02:00.030] break [18:02:00.030] } [18:02:00.030] } [18:02:00.030] } [18:02:00.030] invisible(muffled) [18:02:00.030] } [18:02:00.030] muffleCondition(cond, pattern = "^muffle") [18:02:00.030] } [18:02:00.030] } [18:02:00.030] else { [18:02:00.030] if (TRUE) { [18:02:00.030] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.030] { [18:02:00.030] inherits <- base::inherits [18:02:00.030] invokeRestart <- base::invokeRestart [18:02:00.030] is.null <- base::is.null [18:02:00.030] muffled <- FALSE [18:02:00.030] if (inherits(cond, "message")) { [18:02:00.030] muffled <- grepl(pattern, "muffleMessage") [18:02:00.030] if (muffled) [18:02:00.030] invokeRestart("muffleMessage") [18:02:00.030] } [18:02:00.030] else if (inherits(cond, "warning")) { [18:02:00.030] muffled <- grepl(pattern, "muffleWarning") [18:02:00.030] if (muffled) [18:02:00.030] invokeRestart("muffleWarning") [18:02:00.030] } [18:02:00.030] else if (inherits(cond, "condition")) { [18:02:00.030] if (!is.null(pattern)) { [18:02:00.030] computeRestarts <- base::computeRestarts [18:02:00.030] grepl <- base::grepl [18:02:00.030] restarts <- computeRestarts(cond) [18:02:00.030] for (restart in restarts) { [18:02:00.030] name <- restart$name [18:02:00.030] if (is.null(name)) [18:02:00.030] next [18:02:00.030] if (!grepl(pattern, name)) [18:02:00.030] next [18:02:00.030] invokeRestart(restart) [18:02:00.030] muffled <- TRUE [18:02:00.030] break [18:02:00.030] } [18:02:00.030] } [18:02:00.030] } [18:02:00.030] invisible(muffled) [18:02:00.030] } [18:02:00.030] muffleCondition(cond, pattern = "^muffle") [18:02:00.030] } [18:02:00.030] } [18:02:00.030] } [18:02:00.030] })) [18:02:00.030] }, error = function(ex) { [18:02:00.030] base::structure(base::list(value = NULL, visible = NULL, [18:02:00.030] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.030] ...future.rng), started = ...future.startTime, [18:02:00.030] finished = Sys.time(), session_uuid = NA_character_, [18:02:00.030] version = "1.8"), class = "FutureResult") [18:02:00.030] }, finally = { [18:02:00.030] if (!identical(...future.workdir, getwd())) [18:02:00.030] setwd(...future.workdir) [18:02:00.030] { [18:02:00.030] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:00.030] ...future.oldOptions$nwarnings <- NULL [18:02:00.030] } [18:02:00.030] base::options(...future.oldOptions) [18:02:00.030] if (.Platform$OS.type == "windows") { [18:02:00.030] old_names <- names(...future.oldEnvVars) [18:02:00.030] envs <- base::Sys.getenv() [18:02:00.030] names <- names(envs) [18:02:00.030] common <- intersect(names, old_names) [18:02:00.030] added <- setdiff(names, old_names) [18:02:00.030] removed <- setdiff(old_names, names) [18:02:00.030] changed <- common[...future.oldEnvVars[common] != [18:02:00.030] envs[common]] [18:02:00.030] NAMES <- toupper(changed) [18:02:00.030] args <- list() [18:02:00.030] for (kk in seq_along(NAMES)) { [18:02:00.030] name <- changed[[kk]] [18:02:00.030] NAME <- NAMES[[kk]] [18:02:00.030] if (name != NAME && is.element(NAME, old_names)) [18:02:00.030] next [18:02:00.030] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.030] } [18:02:00.030] NAMES <- toupper(added) [18:02:00.030] for (kk in seq_along(NAMES)) { [18:02:00.030] name <- added[[kk]] [18:02:00.030] NAME <- NAMES[[kk]] [18:02:00.030] if (name != NAME && is.element(NAME, old_names)) [18:02:00.030] next [18:02:00.030] args[[name]] <- "" [18:02:00.030] } [18:02:00.030] NAMES <- toupper(removed) [18:02:00.030] for (kk in seq_along(NAMES)) { [18:02:00.030] name <- removed[[kk]] [18:02:00.030] NAME <- NAMES[[kk]] [18:02:00.030] if (name != NAME && is.element(NAME, old_names)) [18:02:00.030] next [18:02:00.030] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.030] } [18:02:00.030] if (length(args) > 0) [18:02:00.030] base::do.call(base::Sys.setenv, args = args) [18:02:00.030] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:00.030] } [18:02:00.030] else { [18:02:00.030] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:00.030] } [18:02:00.030] { [18:02:00.030] if (base::length(...future.futureOptionsAdded) > [18:02:00.030] 0L) { [18:02:00.030] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:00.030] base::names(opts) <- ...future.futureOptionsAdded [18:02:00.030] base::options(opts) [18:02:00.030] } [18:02:00.030] { [18:02:00.030] { [18:02:00.030] NULL [18:02:00.030] RNGkind("Mersenne-Twister") [18:02:00.030] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:00.030] inherits = FALSE) [18:02:00.030] } [18:02:00.030] options(future.plan = NULL) [18:02:00.030] if (is.na(NA_character_)) [18:02:00.030] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.030] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:00.030] future::plan(list(function (..., envir = parent.frame()) [18:02:00.030] { [18:02:00.030] future <- SequentialFuture(..., envir = envir) [18:02:00.030] if (!future$lazy) [18:02:00.030] future <- run(future) [18:02:00.030] invisible(future) [18:02:00.030] }), .cleanup = FALSE, .init = FALSE) [18:02:00.030] } [18:02:00.030] } [18:02:00.030] } [18:02:00.030] }) [18:02:00.030] if (TRUE) { [18:02:00.030] base::sink(type = "output", split = FALSE) [18:02:00.030] if (TRUE) { [18:02:00.030] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:00.030] } [18:02:00.030] else { [18:02:00.030] ...future.result["stdout"] <- base::list(NULL) [18:02:00.030] } [18:02:00.030] base::close(...future.stdout) [18:02:00.030] ...future.stdout <- NULL [18:02:00.030] } [18:02:00.030] ...future.result$conditions <- ...future.conditions [18:02:00.030] ...future.result$finished <- base::Sys.time() [18:02:00.030] ...future.result [18:02:00.030] } [18:02:00.034] plan(): Setting new future strategy stack: [18:02:00.035] List of future strategies: [18:02:00.035] 1. sequential: [18:02:00.035] - args: function (..., envir = parent.frame()) [18:02:00.035] - tweaked: FALSE [18:02:00.035] - call: NULL [18:02:00.035] plan(): nbrOfWorkers() = 1 [18:02:00.036] plan(): Setting new future strategy stack: [18:02:00.036] List of future strategies: [18:02:00.036] 1. sequential: [18:02:00.036] - args: function (..., envir = parent.frame()) [18:02:00.036] - tweaked: FALSE [18:02:00.036] - call: plan(strategy) [18:02:00.037] plan(): nbrOfWorkers() = 1 [18:02:00.037] SequentialFuture started (and completed) [18:02:00.037] - Launch lazy future ... done [18:02:00.038] run() for 'SequentialFuture' ... done Warning: 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' [18:02:00.038] getGlobalsAndPackages() ... Warning: 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' [18:02:00.038] Searching for globals... Warning: 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' [18:02:00.039] - globals found: [3] '+', 'value', 'a' [18:02:00.039] Searching for globals ... DONE [18:02:00.040] Resolving globals: TRUE [18:02:00.040] Resolving any globals that are futures ... [18:02:00.040] - globals: [3] '+', 'value', 'a' [18:02:00.040] Resolving any globals that are futures ... DONE [18:02:00.041] Resolving futures part of globals (recursively) ... [18:02:00.041] resolve() on list ... [18:02:00.041] recursive: 99 [18:02:00.041] length: 1 [18:02:00.041] elements: 'a' [18:02:00.042] resolved() for 'SequentialFuture' ... [18:02:00.042] - state: 'finished' [18:02:00.042] - run: TRUE [18:02:00.042] - result: 'FutureResult' [18:02:00.042] resolved() for 'SequentialFuture' ... done [18:02:00.042] Future #1 [18:02:00.043] resolved() for 'SequentialFuture' ... [18:02:00.043] - state: 'finished' [18:02:00.043] - run: TRUE [18:02:00.043] - result: 'FutureResult' [18:02:00.043] resolved() for 'SequentialFuture' ... done [18:02:00.044] A SequentialFuture was resolved [18:02:00.044] length: 0 (resolved future 1) [18:02:00.044] resolve() on list ... DONE [18:02:00.044] - globals: [1] 'a' [18:02:00.044] Resolving futures part of globals (recursively) ... DONE [18:02:00.047] The total size of the 1 globals is 1.56 MiB (1636344 bytes) [18:02:00.047] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.56 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.56 MiB of class 'environment') [18:02:00.047] - globals: [1] 'a' [18:02:00.048] - packages: [1] 'future' [18:02:00.048] getGlobalsAndPackages() ... DONE [18:02:00.048] run() for 'Future' ... [18:02:00.048] - state: 'created' [18:02:00.049] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:00.049] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.049] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:00.049] - Field: 'label' [18:02:00.050] - Field: 'local' [18:02:00.050] - Field: 'owner' [18:02:00.050] - Field: 'envir' [18:02:00.050] - Field: 'packages' [18:02:00.050] - Field: 'gc' [18:02:00.050] - Field: 'conditions' [18:02:00.051] - Field: 'expr' [18:02:00.051] - Field: 'uuid' [18:02:00.051] - Field: 'seed' [18:02:00.051] - Field: 'version' [18:02:00.051] - Field: 'result' [18:02:00.051] - Field: 'asynchronous' [18:02:00.052] - Field: 'calls' [18:02:00.052] - Field: 'globals' [18:02:00.052] - Field: 'stdout' [18:02:00.052] - Field: 'earlySignal' [18:02:00.052] - Field: 'lazy' [18:02:00.053] - Field: 'state' [18:02:00.053] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:00.053] - Launch lazy future ... [18:02:00.053] Packages needed by the future expression (n = 1): 'future' [18:02:00.053] Packages needed by future strategies (n = 0): [18:02:00.054] { [18:02:00.054] { [18:02:00.054] { [18:02:00.054] ...future.startTime <- base::Sys.time() [18:02:00.054] { [18:02:00.054] { [18:02:00.054] { [18:02:00.054] { [18:02:00.054] base::local({ [18:02:00.054] has_future <- base::requireNamespace("future", [18:02:00.054] quietly = TRUE) [18:02:00.054] if (has_future) { [18:02:00.054] ns <- base::getNamespace("future") [18:02:00.054] version <- ns[[".package"]][["version"]] [18:02:00.054] if (is.null(version)) [18:02:00.054] version <- utils::packageVersion("future") [18:02:00.054] } [18:02:00.054] else { [18:02:00.054] version <- NULL [18:02:00.054] } [18:02:00.054] if (!has_future || version < "1.8.0") { [18:02:00.054] info <- base::c(r_version = base::gsub("R version ", [18:02:00.054] "", base::R.version$version.string), [18:02:00.054] platform = base::sprintf("%s (%s-bit)", [18:02:00.054] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:00.054] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:00.054] "release", "version")], collapse = " "), [18:02:00.054] hostname = base::Sys.info()[["nodename"]]) [18:02:00.054] info <- base::sprintf("%s: %s", base::names(info), [18:02:00.054] info) [18:02:00.054] info <- base::paste(info, collapse = "; ") [18:02:00.054] if (!has_future) { [18:02:00.054] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:00.054] info) [18:02:00.054] } [18:02:00.054] else { [18:02:00.054] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:00.054] info, version) [18:02:00.054] } [18:02:00.054] base::stop(msg) [18:02:00.054] } [18:02:00.054] }) [18:02:00.054] } [18:02:00.054] base::local({ [18:02:00.054] for (pkg in "future") { [18:02:00.054] base::loadNamespace(pkg) [18:02:00.054] base::library(pkg, character.only = TRUE) [18:02:00.054] } [18:02:00.054] }) [18:02:00.054] } [18:02:00.054] options(future.plan = NULL) [18:02:00.054] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.054] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:00.054] } [18:02:00.054] ...future.workdir <- getwd() [18:02:00.054] } [18:02:00.054] ...future.oldOptions <- base::as.list(base::.Options) [18:02:00.054] ...future.oldEnvVars <- base::Sys.getenv() [18:02:00.054] } [18:02:00.054] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:00.054] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:00.054] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:00.054] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:00.054] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:00.054] future.stdout.windows.reencode = NULL, width = 80L) [18:02:00.054] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:00.054] base::names(...future.oldOptions)) [18:02:00.054] } [18:02:00.054] if (FALSE) { [18:02:00.054] } [18:02:00.054] else { [18:02:00.054] if (TRUE) { [18:02:00.054] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:00.054] open = "w") [18:02:00.054] } [18:02:00.054] else { [18:02:00.054] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:00.054] windows = "NUL", "/dev/null"), open = "w") [18:02:00.054] } [18:02:00.054] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:00.054] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:00.054] base::sink(type = "output", split = FALSE) [18:02:00.054] base::close(...future.stdout) [18:02:00.054] }, add = TRUE) [18:02:00.054] } [18:02:00.054] ...future.frame <- base::sys.nframe() [18:02:00.054] ...future.conditions <- base::list() [18:02:00.054] ...future.rng <- base::globalenv()$.Random.seed [18:02:00.054] if (FALSE) { [18:02:00.054] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:00.054] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:00.054] } [18:02:00.054] ...future.result <- base::tryCatch({ [18:02:00.054] base::withCallingHandlers({ [18:02:00.054] ...future.value <- base::withVisible(base::local(value(a) + [18:02:00.054] 1)) [18:02:00.054] future::FutureResult(value = ...future.value$value, [18:02:00.054] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.054] ...future.rng), globalenv = if (FALSE) [18:02:00.054] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:00.054] ...future.globalenv.names)) [18:02:00.054] else NULL, started = ...future.startTime, version = "1.8") [18:02:00.054] }, condition = base::local({ [18:02:00.054] c <- base::c [18:02:00.054] inherits <- base::inherits [18:02:00.054] invokeRestart <- base::invokeRestart [18:02:00.054] length <- base::length [18:02:00.054] list <- base::list [18:02:00.054] seq.int <- base::seq.int [18:02:00.054] signalCondition <- base::signalCondition [18:02:00.054] sys.calls <- base::sys.calls [18:02:00.054] `[[` <- base::`[[` [18:02:00.054] `+` <- base::`+` [18:02:00.054] `<<-` <- base::`<<-` [18:02:00.054] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:00.054] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:00.054] 3L)] [18:02:00.054] } [18:02:00.054] function(cond) { [18:02:00.054] is_error <- inherits(cond, "error") [18:02:00.054] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:00.054] NULL) [18:02:00.054] if (is_error) { [18:02:00.054] sessionInformation <- function() { [18:02:00.054] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:00.054] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:00.054] search = base::search(), system = base::Sys.info()) [18:02:00.054] } [18:02:00.054] ...future.conditions[[length(...future.conditions) + [18:02:00.054] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:00.054] cond$call), session = sessionInformation(), [18:02:00.054] timestamp = base::Sys.time(), signaled = 0L) [18:02:00.054] signalCondition(cond) [18:02:00.054] } [18:02:00.054] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:00.054] "immediateCondition"))) { [18:02:00.054] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:00.054] ...future.conditions[[length(...future.conditions) + [18:02:00.054] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:00.054] if (TRUE && !signal) { [18:02:00.054] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.054] { [18:02:00.054] inherits <- base::inherits [18:02:00.054] invokeRestart <- base::invokeRestart [18:02:00.054] is.null <- base::is.null [18:02:00.054] muffled <- FALSE [18:02:00.054] if (inherits(cond, "message")) { [18:02:00.054] muffled <- grepl(pattern, "muffleMessage") [18:02:00.054] if (muffled) [18:02:00.054] invokeRestart("muffleMessage") [18:02:00.054] } [18:02:00.054] else if (inherits(cond, "warning")) { [18:02:00.054] muffled <- grepl(pattern, "muffleWarning") [18:02:00.054] if (muffled) [18:02:00.054] invokeRestart("muffleWarning") [18:02:00.054] } [18:02:00.054] else if (inherits(cond, "condition")) { [18:02:00.054] if (!is.null(pattern)) { [18:02:00.054] computeRestarts <- base::computeRestarts [18:02:00.054] grepl <- base::grepl [18:02:00.054] restarts <- computeRestarts(cond) [18:02:00.054] for (restart in restarts) { [18:02:00.054] name <- restart$name [18:02:00.054] if (is.null(name)) [18:02:00.054] next [18:02:00.054] if (!grepl(pattern, name)) [18:02:00.054] next [18:02:00.054] invokeRestart(restart) [18:02:00.054] muffled <- TRUE [18:02:00.054] break [18:02:00.054] } [18:02:00.054] } [18:02:00.054] } [18:02:00.054] invisible(muffled) [18:02:00.054] } [18:02:00.054] muffleCondition(cond, pattern = "^muffle") [18:02:00.054] } [18:02:00.054] } [18:02:00.054] else { [18:02:00.054] if (TRUE) { [18:02:00.054] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.054] { [18:02:00.054] inherits <- base::inherits [18:02:00.054] invokeRestart <- base::invokeRestart [18:02:00.054] is.null <- base::is.null [18:02:00.054] muffled <- FALSE [18:02:00.054] if (inherits(cond, "message")) { [18:02:00.054] muffled <- grepl(pattern, "muffleMessage") [18:02:00.054] if (muffled) [18:02:00.054] invokeRestart("muffleMessage") [18:02:00.054] } [18:02:00.054] else if (inherits(cond, "warning")) { [18:02:00.054] muffled <- grepl(pattern, "muffleWarning") [18:02:00.054] if (muffled) [18:02:00.054] invokeRestart("muffleWarning") [18:02:00.054] } [18:02:00.054] else if (inherits(cond, "condition")) { [18:02:00.054] if (!is.null(pattern)) { [18:02:00.054] computeRestarts <- base::computeRestarts [18:02:00.054] grepl <- base::grepl [18:02:00.054] restarts <- computeRestarts(cond) [18:02:00.054] for (restart in restarts) { [18:02:00.054] name <- restart$name [18:02:00.054] if (is.null(name)) [18:02:00.054] next [18:02:00.054] if (!grepl(pattern, name)) [18:02:00.054] next [18:02:00.054] invokeRestart(restart) [18:02:00.054] muffled <- TRUE [18:02:00.054] break [18:02:00.054] } [18:02:00.054] } [18:02:00.054] } [18:02:00.054] invisible(muffled) [18:02:00.054] } [18:02:00.054] muffleCondition(cond, pattern = "^muffle") [18:02:00.054] } [18:02:00.054] } [18:02:00.054] } [18:02:00.054] })) [18:02:00.054] }, error = function(ex) { [18:02:00.054] base::structure(base::list(value = NULL, visible = NULL, [18:02:00.054] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.054] ...future.rng), started = ...future.startTime, [18:02:00.054] finished = Sys.time(), session_uuid = NA_character_, [18:02:00.054] version = "1.8"), class = "FutureResult") [18:02:00.054] }, finally = { [18:02:00.054] if (!identical(...future.workdir, getwd())) [18:02:00.054] setwd(...future.workdir) [18:02:00.054] { [18:02:00.054] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:00.054] ...future.oldOptions$nwarnings <- NULL [18:02:00.054] } [18:02:00.054] base::options(...future.oldOptions) [18:02:00.054] if (.Platform$OS.type == "windows") { [18:02:00.054] old_names <- names(...future.oldEnvVars) [18:02:00.054] envs <- base::Sys.getenv() [18:02:00.054] names <- names(envs) [18:02:00.054] common <- intersect(names, old_names) [18:02:00.054] added <- setdiff(names, old_names) [18:02:00.054] removed <- setdiff(old_names, names) [18:02:00.054] changed <- common[...future.oldEnvVars[common] != [18:02:00.054] envs[common]] [18:02:00.054] NAMES <- toupper(changed) [18:02:00.054] args <- list() [18:02:00.054] for (kk in seq_along(NAMES)) { [18:02:00.054] name <- changed[[kk]] [18:02:00.054] NAME <- NAMES[[kk]] [18:02:00.054] if (name != NAME && is.element(NAME, old_names)) [18:02:00.054] next [18:02:00.054] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.054] } [18:02:00.054] NAMES <- toupper(added) [18:02:00.054] for (kk in seq_along(NAMES)) { [18:02:00.054] name <- added[[kk]] [18:02:00.054] NAME <- NAMES[[kk]] [18:02:00.054] if (name != NAME && is.element(NAME, old_names)) [18:02:00.054] next [18:02:00.054] args[[name]] <- "" [18:02:00.054] } [18:02:00.054] NAMES <- toupper(removed) [18:02:00.054] for (kk in seq_along(NAMES)) { [18:02:00.054] name <- removed[[kk]] [18:02:00.054] NAME <- NAMES[[kk]] [18:02:00.054] if (name != NAME && is.element(NAME, old_names)) [18:02:00.054] next [18:02:00.054] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.054] } [18:02:00.054] if (length(args) > 0) [18:02:00.054] base::do.call(base::Sys.setenv, args = args) [18:02:00.054] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:00.054] } [18:02:00.054] else { [18:02:00.054] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:00.054] } [18:02:00.054] { [18:02:00.054] if (base::length(...future.futureOptionsAdded) > [18:02:00.054] 0L) { [18:02:00.054] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:00.054] base::names(opts) <- ...future.futureOptionsAdded [18:02:00.054] base::options(opts) [18:02:00.054] } [18:02:00.054] { [18:02:00.054] { [18:02:00.054] NULL [18:02:00.054] RNGkind("Mersenne-Twister") [18:02:00.054] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:00.054] inherits = FALSE) [18:02:00.054] } [18:02:00.054] options(future.plan = NULL) [18:02:00.054] if (is.na(NA_character_)) [18:02:00.054] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.054] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:00.054] future::plan(list(function (..., envir = parent.frame()) [18:02:00.054] { [18:02:00.054] future <- SequentialFuture(..., envir = envir) [18:02:00.054] if (!future$lazy) [18:02:00.054] future <- run(future) [18:02:00.054] invisible(future) [18:02:00.054] }), .cleanup = FALSE, .init = FALSE) [18:02:00.054] } [18:02:00.054] } [18:02:00.054] } [18:02:00.054] }) [18:02:00.054] if (TRUE) { [18:02:00.054] base::sink(type = "output", split = FALSE) [18:02:00.054] if (TRUE) { [18:02:00.054] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:00.054] } [18:02:00.054] else { [18:02:00.054] ...future.result["stdout"] <- base::list(NULL) [18:02:00.054] } [18:02:00.054] base::close(...future.stdout) [18:02:00.054] ...future.stdout <- NULL [18:02:00.054] } [18:02:00.054] ...future.result$conditions <- ...future.conditions [18:02:00.054] ...future.result$finished <- base::Sys.time() [18:02:00.054] ...future.result [18:02:00.054] } [18:02:00.058] assign_globals() ... [18:02:00.058] List of 1 [18:02:00.058] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.058] - attr(*, "where")=List of 1 [18:02:00.058] ..$ a: [18:02:00.058] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:00.058] - attr(*, "resolved")= logi TRUE [18:02:00.058] - attr(*, "total_size")= num 1636344 [18:02:00.058] - attr(*, "already-done")= logi TRUE [18:02:00.061] - copied 'a' to environment [18:02:00.061] assign_globals() ... done [18:02:00.062] plan(): Setting new future strategy stack: [18:02:00.062] List of future strategies: [18:02:00.062] 1. sequential: [18:02:00.062] - args: function (..., envir = parent.frame()) [18:02:00.062] - tweaked: FALSE [18:02:00.062] - call: NULL [18:02:00.062] plan(): nbrOfWorkers() = 1 [18:02:00.064] plan(): Setting new future strategy stack: [18:02:00.064] List of future strategies: [18:02:00.064] 1. sequential: [18:02:00.064] - args: function (..., envir = parent.frame()) [18:02:00.064] - tweaked: FALSE [18:02:00.064] - call: plan(strategy) [18:02:00.064] plan(): nbrOfWorkers() = 1 [18:02:00.065] SequentialFuture started (and completed) [18:02:00.065] - Launch lazy future ... done [18:02:00.065] run() for 'SequentialFuture' ... done value(b) = 2 Warning: 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' [18:02:00.066] getGlobalsAndPackages() ... Warning: 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' [18:02:00.066] Searching for globals... Warning: 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' [18:02:00.066] [18:02:00.067] Searching for globals ... DONE [18:02:00.067] - globals: [0] [18:02:00.067] getGlobalsAndPackages() ... DONE Warning: 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' [18:02:00.067] getGlobalsAndPackages() ... Warning: 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' [18:02:00.068] Searching for globals... Warning: 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' [18:02:00.069] - globals found: [3] '+', 'value', 'a' [18:02:00.069] Searching for globals ... DONE [18:02:00.069] Resolving globals: TRUE [18:02:00.069] Resolving any globals that are futures ... [18:02:00.070] - globals: [3] '+', 'value', 'a' [18:02:00.071] Resolving any globals that are futures ... DONE [18:02:00.071] Resolving futures part of globals (recursively) ... [18:02:00.071] resolve() on list ... [18:02:00.071] recursive: 99 [18:02:00.072] length: 1 [18:02:00.072] elements: 'a' [18:02:00.072] run() for 'Future' ... [18:02:00.072] - state: 'created' [18:02:00.072] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:00.073] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.073] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:00.073] - Field: 'label' [18:02:00.073] - Field: 'local' [18:02:00.074] - Field: 'owner' [18:02:00.074] - Field: 'envir' [18:02:00.074] - Field: 'packages' [18:02:00.074] - Field: 'gc' [18:02:00.074] - Field: 'conditions' [18:02:00.074] - Field: 'expr' [18:02:00.075] - Field: 'uuid' [18:02:00.075] - Field: 'seed' [18:02:00.075] - Field: 'version' [18:02:00.075] - Field: 'result' [18:02:00.075] - Field: 'asynchronous' [18:02:00.075] - Field: 'calls' [18:02:00.076] - Field: 'globals' [18:02:00.076] - Field: 'stdout' [18:02:00.076] - Field: 'earlySignal' [18:02:00.076] - Field: 'lazy' [18:02:00.076] - Field: 'state' [18:02:00.077] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:00.077] - Launch lazy future ... [18:02:00.077] Packages needed by the future expression (n = 0): [18:02:00.077] Packages needed by future strategies (n = 0): [18:02:00.078] { [18:02:00.078] { [18:02:00.078] { [18:02:00.078] ...future.startTime <- base::Sys.time() [18:02:00.078] { [18:02:00.078] { [18:02:00.078] { [18:02:00.078] base::local({ [18:02:00.078] has_future <- base::requireNamespace("future", [18:02:00.078] quietly = TRUE) [18:02:00.078] if (has_future) { [18:02:00.078] ns <- base::getNamespace("future") [18:02:00.078] version <- ns[[".package"]][["version"]] [18:02:00.078] if (is.null(version)) [18:02:00.078] version <- utils::packageVersion("future") [18:02:00.078] } [18:02:00.078] else { [18:02:00.078] version <- NULL [18:02:00.078] } [18:02:00.078] if (!has_future || version < "1.8.0") { [18:02:00.078] info <- base::c(r_version = base::gsub("R version ", [18:02:00.078] "", base::R.version$version.string), [18:02:00.078] platform = base::sprintf("%s (%s-bit)", [18:02:00.078] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:00.078] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:00.078] "release", "version")], collapse = " "), [18:02:00.078] hostname = base::Sys.info()[["nodename"]]) [18:02:00.078] info <- base::sprintf("%s: %s", base::names(info), [18:02:00.078] info) [18:02:00.078] info <- base::paste(info, collapse = "; ") [18:02:00.078] if (!has_future) { [18:02:00.078] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:00.078] info) [18:02:00.078] } [18:02:00.078] else { [18:02:00.078] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:00.078] info, version) [18:02:00.078] } [18:02:00.078] base::stop(msg) [18:02:00.078] } [18:02:00.078] }) [18:02:00.078] } [18:02:00.078] options(future.plan = NULL) [18:02:00.078] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.078] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:00.078] } [18:02:00.078] ...future.workdir <- getwd() [18:02:00.078] } [18:02:00.078] ...future.oldOptions <- base::as.list(base::.Options) [18:02:00.078] ...future.oldEnvVars <- base::Sys.getenv() [18:02:00.078] } [18:02:00.078] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:00.078] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:00.078] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:00.078] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:00.078] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:00.078] future.stdout.windows.reencode = NULL, width = 80L) [18:02:00.078] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:00.078] base::names(...future.oldOptions)) [18:02:00.078] } [18:02:00.078] if (FALSE) { [18:02:00.078] } [18:02:00.078] else { [18:02:00.078] if (TRUE) { [18:02:00.078] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:00.078] open = "w") [18:02:00.078] } [18:02:00.078] else { [18:02:00.078] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:00.078] windows = "NUL", "/dev/null"), open = "w") [18:02:00.078] } [18:02:00.078] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:00.078] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:00.078] base::sink(type = "output", split = FALSE) [18:02:00.078] base::close(...future.stdout) [18:02:00.078] }, add = TRUE) [18:02:00.078] } [18:02:00.078] ...future.frame <- base::sys.nframe() [18:02:00.078] ...future.conditions <- base::list() [18:02:00.078] ...future.rng <- base::globalenv()$.Random.seed [18:02:00.078] if (FALSE) { [18:02:00.078] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:00.078] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:00.078] } [18:02:00.078] ...future.result <- base::tryCatch({ [18:02:00.078] base::withCallingHandlers({ [18:02:00.078] ...future.value <- base::withVisible(base::local(1)) [18:02:00.078] future::FutureResult(value = ...future.value$value, [18:02:00.078] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.078] ...future.rng), globalenv = if (FALSE) [18:02:00.078] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:00.078] ...future.globalenv.names)) [18:02:00.078] else NULL, started = ...future.startTime, version = "1.8") [18:02:00.078] }, condition = base::local({ [18:02:00.078] c <- base::c [18:02:00.078] inherits <- base::inherits [18:02:00.078] invokeRestart <- base::invokeRestart [18:02:00.078] length <- base::length [18:02:00.078] list <- base::list [18:02:00.078] seq.int <- base::seq.int [18:02:00.078] signalCondition <- base::signalCondition [18:02:00.078] sys.calls <- base::sys.calls [18:02:00.078] `[[` <- base::`[[` [18:02:00.078] `+` <- base::`+` [18:02:00.078] `<<-` <- base::`<<-` [18:02:00.078] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:00.078] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:00.078] 3L)] [18:02:00.078] } [18:02:00.078] function(cond) { [18:02:00.078] is_error <- inherits(cond, "error") [18:02:00.078] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:00.078] NULL) [18:02:00.078] if (is_error) { [18:02:00.078] sessionInformation <- function() { [18:02:00.078] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:00.078] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:00.078] search = base::search(), system = base::Sys.info()) [18:02:00.078] } [18:02:00.078] ...future.conditions[[length(...future.conditions) + [18:02:00.078] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:00.078] cond$call), session = sessionInformation(), [18:02:00.078] timestamp = base::Sys.time(), signaled = 0L) [18:02:00.078] signalCondition(cond) [18:02:00.078] } [18:02:00.078] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:00.078] "immediateCondition"))) { [18:02:00.078] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:00.078] ...future.conditions[[length(...future.conditions) + [18:02:00.078] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:00.078] if (TRUE && !signal) { [18:02:00.078] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.078] { [18:02:00.078] inherits <- base::inherits [18:02:00.078] invokeRestart <- base::invokeRestart [18:02:00.078] is.null <- base::is.null [18:02:00.078] muffled <- FALSE [18:02:00.078] if (inherits(cond, "message")) { [18:02:00.078] muffled <- grepl(pattern, "muffleMessage") [18:02:00.078] if (muffled) [18:02:00.078] invokeRestart("muffleMessage") [18:02:00.078] } [18:02:00.078] else if (inherits(cond, "warning")) { [18:02:00.078] muffled <- grepl(pattern, "muffleWarning") [18:02:00.078] if (muffled) [18:02:00.078] invokeRestart("muffleWarning") [18:02:00.078] } [18:02:00.078] else if (inherits(cond, "condition")) { [18:02:00.078] if (!is.null(pattern)) { [18:02:00.078] computeRestarts <- base::computeRestarts [18:02:00.078] grepl <- base::grepl [18:02:00.078] restarts <- computeRestarts(cond) [18:02:00.078] for (restart in restarts) { [18:02:00.078] name <- restart$name [18:02:00.078] if (is.null(name)) [18:02:00.078] next [18:02:00.078] if (!grepl(pattern, name)) [18:02:00.078] next [18:02:00.078] invokeRestart(restart) [18:02:00.078] muffled <- TRUE [18:02:00.078] break [18:02:00.078] } [18:02:00.078] } [18:02:00.078] } [18:02:00.078] invisible(muffled) [18:02:00.078] } [18:02:00.078] muffleCondition(cond, pattern = "^muffle") [18:02:00.078] } [18:02:00.078] } [18:02:00.078] else { [18:02:00.078] if (TRUE) { [18:02:00.078] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.078] { [18:02:00.078] inherits <- base::inherits [18:02:00.078] invokeRestart <- base::invokeRestart [18:02:00.078] is.null <- base::is.null [18:02:00.078] muffled <- FALSE [18:02:00.078] if (inherits(cond, "message")) { [18:02:00.078] muffled <- grepl(pattern, "muffleMessage") [18:02:00.078] if (muffled) [18:02:00.078] invokeRestart("muffleMessage") [18:02:00.078] } [18:02:00.078] else if (inherits(cond, "warning")) { [18:02:00.078] muffled <- grepl(pattern, "muffleWarning") [18:02:00.078] if (muffled) [18:02:00.078] invokeRestart("muffleWarning") [18:02:00.078] } [18:02:00.078] else if (inherits(cond, "condition")) { [18:02:00.078] if (!is.null(pattern)) { [18:02:00.078] computeRestarts <- base::computeRestarts [18:02:00.078] grepl <- base::grepl [18:02:00.078] restarts <- computeRestarts(cond) [18:02:00.078] for (restart in restarts) { [18:02:00.078] name <- restart$name [18:02:00.078] if (is.null(name)) [18:02:00.078] next [18:02:00.078] if (!grepl(pattern, name)) [18:02:00.078] next [18:02:00.078] invokeRestart(restart) [18:02:00.078] muffled <- TRUE [18:02:00.078] break [18:02:00.078] } [18:02:00.078] } [18:02:00.078] } [18:02:00.078] invisible(muffled) [18:02:00.078] } [18:02:00.078] muffleCondition(cond, pattern = "^muffle") [18:02:00.078] } [18:02:00.078] } [18:02:00.078] } [18:02:00.078] })) [18:02:00.078] }, error = function(ex) { [18:02:00.078] base::structure(base::list(value = NULL, visible = NULL, [18:02:00.078] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.078] ...future.rng), started = ...future.startTime, [18:02:00.078] finished = Sys.time(), session_uuid = NA_character_, [18:02:00.078] version = "1.8"), class = "FutureResult") [18:02:00.078] }, finally = { [18:02:00.078] if (!identical(...future.workdir, getwd())) [18:02:00.078] setwd(...future.workdir) [18:02:00.078] { [18:02:00.078] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:00.078] ...future.oldOptions$nwarnings <- NULL [18:02:00.078] } [18:02:00.078] base::options(...future.oldOptions) [18:02:00.078] if (.Platform$OS.type == "windows") { [18:02:00.078] old_names <- names(...future.oldEnvVars) [18:02:00.078] envs <- base::Sys.getenv() [18:02:00.078] names <- names(envs) [18:02:00.078] common <- intersect(names, old_names) [18:02:00.078] added <- setdiff(names, old_names) [18:02:00.078] removed <- setdiff(old_names, names) [18:02:00.078] changed <- common[...future.oldEnvVars[common] != [18:02:00.078] envs[common]] [18:02:00.078] NAMES <- toupper(changed) [18:02:00.078] args <- list() [18:02:00.078] for (kk in seq_along(NAMES)) { [18:02:00.078] name <- changed[[kk]] [18:02:00.078] NAME <- NAMES[[kk]] [18:02:00.078] if (name != NAME && is.element(NAME, old_names)) [18:02:00.078] next [18:02:00.078] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.078] } [18:02:00.078] NAMES <- toupper(added) [18:02:00.078] for (kk in seq_along(NAMES)) { [18:02:00.078] name <- added[[kk]] [18:02:00.078] NAME <- NAMES[[kk]] [18:02:00.078] if (name != NAME && is.element(NAME, old_names)) [18:02:00.078] next [18:02:00.078] args[[name]] <- "" [18:02:00.078] } [18:02:00.078] NAMES <- toupper(removed) [18:02:00.078] for (kk in seq_along(NAMES)) { [18:02:00.078] name <- removed[[kk]] [18:02:00.078] NAME <- NAMES[[kk]] [18:02:00.078] if (name != NAME && is.element(NAME, old_names)) [18:02:00.078] next [18:02:00.078] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.078] } [18:02:00.078] if (length(args) > 0) [18:02:00.078] base::do.call(base::Sys.setenv, args = args) [18:02:00.078] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:00.078] } [18:02:00.078] else { [18:02:00.078] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:00.078] } [18:02:00.078] { [18:02:00.078] if (base::length(...future.futureOptionsAdded) > [18:02:00.078] 0L) { [18:02:00.078] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:00.078] base::names(opts) <- ...future.futureOptionsAdded [18:02:00.078] base::options(opts) [18:02:00.078] } [18:02:00.078] { [18:02:00.078] { [18:02:00.078] NULL [18:02:00.078] RNGkind("Mersenne-Twister") [18:02:00.078] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:00.078] inherits = FALSE) [18:02:00.078] } [18:02:00.078] options(future.plan = NULL) [18:02:00.078] if (is.na(NA_character_)) [18:02:00.078] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.078] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:00.078] future::plan(list(function (..., envir = parent.frame()) [18:02:00.078] { [18:02:00.078] future <- SequentialFuture(..., envir = envir) [18:02:00.078] if (!future$lazy) [18:02:00.078] future <- run(future) [18:02:00.078] invisible(future) [18:02:00.078] }), .cleanup = FALSE, .init = FALSE) [18:02:00.078] } [18:02:00.078] } [18:02:00.078] } [18:02:00.078] }) [18:02:00.078] if (TRUE) { [18:02:00.078] base::sink(type = "output", split = FALSE) [18:02:00.078] if (TRUE) { [18:02:00.078] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:00.078] } [18:02:00.078] else { [18:02:00.078] ...future.result["stdout"] <- base::list(NULL) [18:02:00.078] } [18:02:00.078] base::close(...future.stdout) [18:02:00.078] ...future.stdout <- NULL [18:02:00.078] } [18:02:00.078] ...future.result$conditions <- ...future.conditions [18:02:00.078] ...future.result$finished <- base::Sys.time() [18:02:00.078] ...future.result [18:02:00.078] } [18:02:00.082] plan(): Setting new future strategy stack: [18:02:00.082] List of future strategies: [18:02:00.082] 1. sequential: [18:02:00.082] - args: function (..., envir = parent.frame()) [18:02:00.082] - tweaked: FALSE [18:02:00.082] - call: NULL [18:02:00.082] plan(): nbrOfWorkers() = 1 [18:02:00.083] plan(): Setting new future strategy stack: [18:02:00.084] List of future strategies: [18:02:00.084] 1. sequential: [18:02:00.084] - args: function (..., envir = parent.frame()) [18:02:00.084] - tweaked: FALSE [18:02:00.084] - call: plan(strategy) [18:02:00.084] plan(): nbrOfWorkers() = 1 [18:02:00.084] SequentialFuture started (and completed) [18:02:00.085] - Launch lazy future ... done [18:02:00.085] run() for 'SequentialFuture' ... done [18:02:00.085] resolved() for 'SequentialFuture' ... [18:02:00.085] - state: 'finished' [18:02:00.085] - run: TRUE [18:02:00.086] - result: 'FutureResult' [18:02:00.086] resolved() for 'SequentialFuture' ... done [18:02:00.086] Future #1 [18:02:00.086] resolved() for 'SequentialFuture' ... [18:02:00.086] - state: 'finished' [18:02:00.087] - run: TRUE [18:02:00.087] - result: 'FutureResult' [18:02:00.087] resolved() for 'SequentialFuture' ... done [18:02:00.087] A SequentialFuture was resolved [18:02:00.087] length: 0 (resolved future 1) [18:02:00.087] resolve() on list ... DONE [18:02:00.088] - globals: [1] 'a' [18:02:00.088] Resolving futures part of globals (recursively) ... DONE [18:02:00.090] The total size of the 1 globals is 1.56 MiB (1636512 bytes) [18:02:00.090] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.56 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.56 MiB of class 'environment') [18:02:00.091] - globals: [1] 'a' [18:02:00.091] - packages: [1] 'future' [18:02:00.091] getGlobalsAndPackages() ... DONE [18:02:00.091] run() for 'Future' ... [18:02:00.092] - state: 'created' [18:02:00.092] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:00.092] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.092] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:00.093] - Field: 'label' [18:02:00.093] - Field: 'local' [18:02:00.093] - Field: 'owner' [18:02:00.093] - Field: 'envir' [18:02:00.093] - Field: 'packages' [18:02:00.093] - Field: 'gc' [18:02:00.094] - Field: 'conditions' [18:02:00.094] - Field: 'expr' [18:02:00.094] - Field: 'uuid' [18:02:00.094] - Field: 'seed' [18:02:00.094] - Field: 'version' [18:02:00.095] - Field: 'result' [18:02:00.095] - Field: 'asynchronous' [18:02:00.095] - Field: 'calls' [18:02:00.095] - Field: 'globals' [18:02:00.095] - Field: 'stdout' [18:02:00.095] - Field: 'earlySignal' [18:02:00.096] - Field: 'lazy' [18:02:00.096] - Field: 'state' [18:02:00.096] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:00.096] - Launch lazy future ... [18:02:00.096] Packages needed by the future expression (n = 1): 'future' [18:02:00.097] Packages needed by future strategies (n = 0): [18:02:00.097] { [18:02:00.097] { [18:02:00.097] { [18:02:00.097] ...future.startTime <- base::Sys.time() [18:02:00.097] { [18:02:00.097] { [18:02:00.097] { [18:02:00.097] { [18:02:00.097] base::local({ [18:02:00.097] has_future <- base::requireNamespace("future", [18:02:00.097] quietly = TRUE) [18:02:00.097] if (has_future) { [18:02:00.097] ns <- base::getNamespace("future") [18:02:00.097] version <- ns[[".package"]][["version"]] [18:02:00.097] if (is.null(version)) [18:02:00.097] version <- utils::packageVersion("future") [18:02:00.097] } [18:02:00.097] else { [18:02:00.097] version <- NULL [18:02:00.097] } [18:02:00.097] if (!has_future || version < "1.8.0") { [18:02:00.097] info <- base::c(r_version = base::gsub("R version ", [18:02:00.097] "", base::R.version$version.string), [18:02:00.097] platform = base::sprintf("%s (%s-bit)", [18:02:00.097] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:00.097] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:00.097] "release", "version")], collapse = " "), [18:02:00.097] hostname = base::Sys.info()[["nodename"]]) [18:02:00.097] info <- base::sprintf("%s: %s", base::names(info), [18:02:00.097] info) [18:02:00.097] info <- base::paste(info, collapse = "; ") [18:02:00.097] if (!has_future) { [18:02:00.097] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:00.097] info) [18:02:00.097] } [18:02:00.097] else { [18:02:00.097] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:00.097] info, version) [18:02:00.097] } [18:02:00.097] base::stop(msg) [18:02:00.097] } [18:02:00.097] }) [18:02:00.097] } [18:02:00.097] base::local({ [18:02:00.097] for (pkg in "future") { [18:02:00.097] base::loadNamespace(pkg) [18:02:00.097] base::library(pkg, character.only = TRUE) [18:02:00.097] } [18:02:00.097] }) [18:02:00.097] } [18:02:00.097] options(future.plan = NULL) [18:02:00.097] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.097] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:00.097] } [18:02:00.097] ...future.workdir <- getwd() [18:02:00.097] } [18:02:00.097] ...future.oldOptions <- base::as.list(base::.Options) [18:02:00.097] ...future.oldEnvVars <- base::Sys.getenv() [18:02:00.097] } [18:02:00.097] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:00.097] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:00.097] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:00.097] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:00.097] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:00.097] future.stdout.windows.reencode = NULL, width = 80L) [18:02:00.097] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:00.097] base::names(...future.oldOptions)) [18:02:00.097] } [18:02:00.097] if (FALSE) { [18:02:00.097] } [18:02:00.097] else { [18:02:00.097] if (TRUE) { [18:02:00.097] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:00.097] open = "w") [18:02:00.097] } [18:02:00.097] else { [18:02:00.097] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:00.097] windows = "NUL", "/dev/null"), open = "w") [18:02:00.097] } [18:02:00.097] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:00.097] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:00.097] base::sink(type = "output", split = FALSE) [18:02:00.097] base::close(...future.stdout) [18:02:00.097] }, add = TRUE) [18:02:00.097] } [18:02:00.097] ...future.frame <- base::sys.nframe() [18:02:00.097] ...future.conditions <- base::list() [18:02:00.097] ...future.rng <- base::globalenv()$.Random.seed [18:02:00.097] if (FALSE) { [18:02:00.097] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:00.097] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:00.097] } [18:02:00.097] ...future.result <- base::tryCatch({ [18:02:00.097] base::withCallingHandlers({ [18:02:00.097] ...future.value <- base::withVisible(base::local(value(a) + [18:02:00.097] 1)) [18:02:00.097] future::FutureResult(value = ...future.value$value, [18:02:00.097] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.097] ...future.rng), globalenv = if (FALSE) [18:02:00.097] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:00.097] ...future.globalenv.names)) [18:02:00.097] else NULL, started = ...future.startTime, version = "1.8") [18:02:00.097] }, condition = base::local({ [18:02:00.097] c <- base::c [18:02:00.097] inherits <- base::inherits [18:02:00.097] invokeRestart <- base::invokeRestart [18:02:00.097] length <- base::length [18:02:00.097] list <- base::list [18:02:00.097] seq.int <- base::seq.int [18:02:00.097] signalCondition <- base::signalCondition [18:02:00.097] sys.calls <- base::sys.calls [18:02:00.097] `[[` <- base::`[[` [18:02:00.097] `+` <- base::`+` [18:02:00.097] `<<-` <- base::`<<-` [18:02:00.097] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:00.097] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:00.097] 3L)] [18:02:00.097] } [18:02:00.097] function(cond) { [18:02:00.097] is_error <- inherits(cond, "error") [18:02:00.097] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:00.097] NULL) [18:02:00.097] if (is_error) { [18:02:00.097] sessionInformation <- function() { [18:02:00.097] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:00.097] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:00.097] search = base::search(), system = base::Sys.info()) [18:02:00.097] } [18:02:00.097] ...future.conditions[[length(...future.conditions) + [18:02:00.097] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:00.097] cond$call), session = sessionInformation(), [18:02:00.097] timestamp = base::Sys.time(), signaled = 0L) [18:02:00.097] signalCondition(cond) [18:02:00.097] } [18:02:00.097] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:00.097] "immediateCondition"))) { [18:02:00.097] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:00.097] ...future.conditions[[length(...future.conditions) + [18:02:00.097] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:00.097] if (TRUE && !signal) { [18:02:00.097] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.097] { [18:02:00.097] inherits <- base::inherits [18:02:00.097] invokeRestart <- base::invokeRestart [18:02:00.097] is.null <- base::is.null [18:02:00.097] muffled <- FALSE [18:02:00.097] if (inherits(cond, "message")) { [18:02:00.097] muffled <- grepl(pattern, "muffleMessage") [18:02:00.097] if (muffled) [18:02:00.097] invokeRestart("muffleMessage") [18:02:00.097] } [18:02:00.097] else if (inherits(cond, "warning")) { [18:02:00.097] muffled <- grepl(pattern, "muffleWarning") [18:02:00.097] if (muffled) [18:02:00.097] invokeRestart("muffleWarning") [18:02:00.097] } [18:02:00.097] else if (inherits(cond, "condition")) { [18:02:00.097] if (!is.null(pattern)) { [18:02:00.097] computeRestarts <- base::computeRestarts [18:02:00.097] grepl <- base::grepl [18:02:00.097] restarts <- computeRestarts(cond) [18:02:00.097] for (restart in restarts) { [18:02:00.097] name <- restart$name [18:02:00.097] if (is.null(name)) [18:02:00.097] next [18:02:00.097] if (!grepl(pattern, name)) [18:02:00.097] next [18:02:00.097] invokeRestart(restart) [18:02:00.097] muffled <- TRUE [18:02:00.097] break [18:02:00.097] } [18:02:00.097] } [18:02:00.097] } [18:02:00.097] invisible(muffled) [18:02:00.097] } [18:02:00.097] muffleCondition(cond, pattern = "^muffle") [18:02:00.097] } [18:02:00.097] } [18:02:00.097] else { [18:02:00.097] if (TRUE) { [18:02:00.097] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.097] { [18:02:00.097] inherits <- base::inherits [18:02:00.097] invokeRestart <- base::invokeRestart [18:02:00.097] is.null <- base::is.null [18:02:00.097] muffled <- FALSE [18:02:00.097] if (inherits(cond, "message")) { [18:02:00.097] muffled <- grepl(pattern, "muffleMessage") [18:02:00.097] if (muffled) [18:02:00.097] invokeRestart("muffleMessage") [18:02:00.097] } [18:02:00.097] else if (inherits(cond, "warning")) { [18:02:00.097] muffled <- grepl(pattern, "muffleWarning") [18:02:00.097] if (muffled) [18:02:00.097] invokeRestart("muffleWarning") [18:02:00.097] } [18:02:00.097] else if (inherits(cond, "condition")) { [18:02:00.097] if (!is.null(pattern)) { [18:02:00.097] computeRestarts <- base::computeRestarts [18:02:00.097] grepl <- base::grepl [18:02:00.097] restarts <- computeRestarts(cond) [18:02:00.097] for (restart in restarts) { [18:02:00.097] name <- restart$name [18:02:00.097] if (is.null(name)) [18:02:00.097] next [18:02:00.097] if (!grepl(pattern, name)) [18:02:00.097] next [18:02:00.097] invokeRestart(restart) [18:02:00.097] muffled <- TRUE [18:02:00.097] break [18:02:00.097] } [18:02:00.097] } [18:02:00.097] } [18:02:00.097] invisible(muffled) [18:02:00.097] } [18:02:00.097] muffleCondition(cond, pattern = "^muffle") [18:02:00.097] } [18:02:00.097] } [18:02:00.097] } [18:02:00.097] })) [18:02:00.097] }, error = function(ex) { [18:02:00.097] base::structure(base::list(value = NULL, visible = NULL, [18:02:00.097] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.097] ...future.rng), started = ...future.startTime, [18:02:00.097] finished = Sys.time(), session_uuid = NA_character_, [18:02:00.097] version = "1.8"), class = "FutureResult") [18:02:00.097] }, finally = { [18:02:00.097] if (!identical(...future.workdir, getwd())) [18:02:00.097] setwd(...future.workdir) [18:02:00.097] { [18:02:00.097] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:00.097] ...future.oldOptions$nwarnings <- NULL [18:02:00.097] } [18:02:00.097] base::options(...future.oldOptions) [18:02:00.097] if (.Platform$OS.type == "windows") { [18:02:00.097] old_names <- names(...future.oldEnvVars) [18:02:00.097] envs <- base::Sys.getenv() [18:02:00.097] names <- names(envs) [18:02:00.097] common <- intersect(names, old_names) [18:02:00.097] added <- setdiff(names, old_names) [18:02:00.097] removed <- setdiff(old_names, names) [18:02:00.097] changed <- common[...future.oldEnvVars[common] != [18:02:00.097] envs[common]] [18:02:00.097] NAMES <- toupper(changed) [18:02:00.097] args <- list() [18:02:00.097] for (kk in seq_along(NAMES)) { [18:02:00.097] name <- changed[[kk]] [18:02:00.097] NAME <- NAMES[[kk]] [18:02:00.097] if (name != NAME && is.element(NAME, old_names)) [18:02:00.097] next [18:02:00.097] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.097] } [18:02:00.097] NAMES <- toupper(added) [18:02:00.097] for (kk in seq_along(NAMES)) { [18:02:00.097] name <- added[[kk]] [18:02:00.097] NAME <- NAMES[[kk]] [18:02:00.097] if (name != NAME && is.element(NAME, old_names)) [18:02:00.097] next [18:02:00.097] args[[name]] <- "" [18:02:00.097] } [18:02:00.097] NAMES <- toupper(removed) [18:02:00.097] for (kk in seq_along(NAMES)) { [18:02:00.097] name <- removed[[kk]] [18:02:00.097] NAME <- NAMES[[kk]] [18:02:00.097] if (name != NAME && is.element(NAME, old_names)) [18:02:00.097] next [18:02:00.097] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.097] } [18:02:00.097] if (length(args) > 0) [18:02:00.097] base::do.call(base::Sys.setenv, args = args) [18:02:00.097] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:00.097] } [18:02:00.097] else { [18:02:00.097] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:00.097] } [18:02:00.097] { [18:02:00.097] if (base::length(...future.futureOptionsAdded) > [18:02:00.097] 0L) { [18:02:00.097] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:00.097] base::names(opts) <- ...future.futureOptionsAdded [18:02:00.097] base::options(opts) [18:02:00.097] } [18:02:00.097] { [18:02:00.097] { [18:02:00.097] NULL [18:02:00.097] RNGkind("Mersenne-Twister") [18:02:00.097] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:00.097] inherits = FALSE) [18:02:00.097] } [18:02:00.097] options(future.plan = NULL) [18:02:00.097] if (is.na(NA_character_)) [18:02:00.097] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.097] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:00.097] future::plan(list(function (..., envir = parent.frame()) [18:02:00.097] { [18:02:00.097] future <- SequentialFuture(..., envir = envir) [18:02:00.097] if (!future$lazy) [18:02:00.097] future <- run(future) [18:02:00.097] invisible(future) [18:02:00.097] }), .cleanup = FALSE, .init = FALSE) [18:02:00.097] } [18:02:00.097] } [18:02:00.097] } [18:02:00.097] }) [18:02:00.097] if (TRUE) { [18:02:00.097] base::sink(type = "output", split = FALSE) [18:02:00.097] if (TRUE) { [18:02:00.097] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:00.097] } [18:02:00.097] else { [18:02:00.097] ...future.result["stdout"] <- base::list(NULL) [18:02:00.097] } [18:02:00.097] base::close(...future.stdout) [18:02:00.097] ...future.stdout <- NULL [18:02:00.097] } [18:02:00.097] ...future.result$conditions <- ...future.conditions [18:02:00.097] ...future.result$finished <- base::Sys.time() [18:02:00.097] ...future.result [18:02:00.097] } [18:02:00.101] assign_globals() ... [18:02:00.101] List of 1 [18:02:00.101] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.101] - attr(*, "where")=List of 1 [18:02:00.101] ..$ a: [18:02:00.101] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:00.101] - attr(*, "resolved")= logi TRUE [18:02:00.101] - attr(*, "total_size")= num 1636512 [18:02:00.101] - attr(*, "already-done")= logi TRUE [18:02:00.104] - copied 'a' to environment [18:02:00.104] assign_globals() ... done [18:02:00.105] plan(): Setting new future strategy stack: [18:02:00.105] List of future strategies: [18:02:00.105] 1. sequential: [18:02:00.105] - args: function (..., envir = parent.frame()) [18:02:00.105] - tweaked: FALSE [18:02:00.105] - call: NULL [18:02:00.105] plan(): nbrOfWorkers() = 1 [18:02:00.107] plan(): Setting new future strategy stack: [18:02:00.107] List of future strategies: [18:02:00.107] 1. sequential: [18:02:00.107] - args: function (..., envir = parent.frame()) [18:02:00.107] - tweaked: FALSE [18:02:00.107] - call: plan(strategy) [18:02:00.107] plan(): nbrOfWorkers() = 1 [18:02:00.108] SequentialFuture started (and completed) [18:02:00.108] - Launch lazy future ... done [18:02:00.108] run() for 'SequentialFuture' ... done value(b) = 2 Warning: 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' [18:02:00.109] getGlobalsAndPackages() ... Warning: 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' [18:02:00.109] Searching for globals... Warning: 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' [18:02:00.109] [18:02:00.110] Searching for globals ... DONE [18:02:00.110] - globals: [0] [18:02:00.110] getGlobalsAndPackages() ... DONE Warning: 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' [18:02:00.110] getGlobalsAndPackages() ... Warning: 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' [18:02:00.111] Searching for globals... Warning: 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' [18:02:00.112] - globals found: [3] '+', 'value', 'a' [18:02:00.113] Searching for globals ... DONE [18:02:00.113] Resolving globals: TRUE [18:02:00.113] Resolving any globals that are futures ... [18:02:00.113] - globals: [3] '+', 'value', 'a' [18:02:00.113] Resolving any globals that are futures ... DONE [18:02:00.114] Resolving futures part of globals (recursively) ... [18:02:00.114] resolve() on list ... [18:02:00.114] recursive: 99 [18:02:00.114] length: 1 [18:02:00.115] elements: 'a' [18:02:00.115] run() for 'Future' ... [18:02:00.115] - state: 'created' [18:02:00.115] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:00.116] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.116] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:00.116] - Field: 'label' [18:02:00.116] - Field: 'local' [18:02:00.117] - Field: 'owner' [18:02:00.117] - Field: 'envir' [18:02:00.117] - Field: 'packages' [18:02:00.117] - Field: 'gc' [18:02:00.117] - Field: 'conditions' [18:02:00.117] - Field: 'expr' [18:02:00.118] - Field: 'uuid' [18:02:00.118] - Field: 'seed' [18:02:00.118] - Field: 'version' [18:02:00.118] - Field: 'result' [18:02:00.118] - Field: 'asynchronous' [18:02:00.118] - Field: 'calls' [18:02:00.119] - Field: 'globals' [18:02:00.119] - Field: 'stdout' [18:02:00.119] - Field: 'earlySignal' [18:02:00.119] - Field: 'lazy' [18:02:00.119] - Field: 'state' [18:02:00.119] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:00.120] - Launch lazy future ... [18:02:00.120] Packages needed by the future expression (n = 0): [18:02:00.120] Packages needed by future strategies (n = 0): [18:02:00.121] { [18:02:00.121] { [18:02:00.121] { [18:02:00.121] ...future.startTime <- base::Sys.time() [18:02:00.121] { [18:02:00.121] { [18:02:00.121] { [18:02:00.121] base::local({ [18:02:00.121] has_future <- base::requireNamespace("future", [18:02:00.121] quietly = TRUE) [18:02:00.121] if (has_future) { [18:02:00.121] ns <- base::getNamespace("future") [18:02:00.121] version <- ns[[".package"]][["version"]] [18:02:00.121] if (is.null(version)) [18:02:00.121] version <- utils::packageVersion("future") [18:02:00.121] } [18:02:00.121] else { [18:02:00.121] version <- NULL [18:02:00.121] } [18:02:00.121] if (!has_future || version < "1.8.0") { [18:02:00.121] info <- base::c(r_version = base::gsub("R version ", [18:02:00.121] "", base::R.version$version.string), [18:02:00.121] platform = base::sprintf("%s (%s-bit)", [18:02:00.121] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:00.121] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:00.121] "release", "version")], collapse = " "), [18:02:00.121] hostname = base::Sys.info()[["nodename"]]) [18:02:00.121] info <- base::sprintf("%s: %s", base::names(info), [18:02:00.121] info) [18:02:00.121] info <- base::paste(info, collapse = "; ") [18:02:00.121] if (!has_future) { [18:02:00.121] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:00.121] info) [18:02:00.121] } [18:02:00.121] else { [18:02:00.121] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:00.121] info, version) [18:02:00.121] } [18:02:00.121] base::stop(msg) [18:02:00.121] } [18:02:00.121] }) [18:02:00.121] } [18:02:00.121] options(future.plan = NULL) [18:02:00.121] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.121] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:00.121] } [18:02:00.121] ...future.workdir <- getwd() [18:02:00.121] } [18:02:00.121] ...future.oldOptions <- base::as.list(base::.Options) [18:02:00.121] ...future.oldEnvVars <- base::Sys.getenv() [18:02:00.121] } [18:02:00.121] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:00.121] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:00.121] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:00.121] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:00.121] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:00.121] future.stdout.windows.reencode = NULL, width = 80L) [18:02:00.121] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:00.121] base::names(...future.oldOptions)) [18:02:00.121] } [18:02:00.121] if (FALSE) { [18:02:00.121] } [18:02:00.121] else { [18:02:00.121] if (TRUE) { [18:02:00.121] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:00.121] open = "w") [18:02:00.121] } [18:02:00.121] else { [18:02:00.121] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:00.121] windows = "NUL", "/dev/null"), open = "w") [18:02:00.121] } [18:02:00.121] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:00.121] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:00.121] base::sink(type = "output", split = FALSE) [18:02:00.121] base::close(...future.stdout) [18:02:00.121] }, add = TRUE) [18:02:00.121] } [18:02:00.121] ...future.frame <- base::sys.nframe() [18:02:00.121] ...future.conditions <- base::list() [18:02:00.121] ...future.rng <- base::globalenv()$.Random.seed [18:02:00.121] if (FALSE) { [18:02:00.121] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:00.121] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:00.121] } [18:02:00.121] ...future.result <- base::tryCatch({ [18:02:00.121] base::withCallingHandlers({ [18:02:00.121] ...future.value <- base::withVisible(base::local(1)) [18:02:00.121] future::FutureResult(value = ...future.value$value, [18:02:00.121] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.121] ...future.rng), globalenv = if (FALSE) [18:02:00.121] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:00.121] ...future.globalenv.names)) [18:02:00.121] else NULL, started = ...future.startTime, version = "1.8") [18:02:00.121] }, condition = base::local({ [18:02:00.121] c <- base::c [18:02:00.121] inherits <- base::inherits [18:02:00.121] invokeRestart <- base::invokeRestart [18:02:00.121] length <- base::length [18:02:00.121] list <- base::list [18:02:00.121] seq.int <- base::seq.int [18:02:00.121] signalCondition <- base::signalCondition [18:02:00.121] sys.calls <- base::sys.calls [18:02:00.121] `[[` <- base::`[[` [18:02:00.121] `+` <- base::`+` [18:02:00.121] `<<-` <- base::`<<-` [18:02:00.121] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:00.121] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:00.121] 3L)] [18:02:00.121] } [18:02:00.121] function(cond) { [18:02:00.121] is_error <- inherits(cond, "error") [18:02:00.121] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:00.121] NULL) [18:02:00.121] if (is_error) { [18:02:00.121] sessionInformation <- function() { [18:02:00.121] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:00.121] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:00.121] search = base::search(), system = base::Sys.info()) [18:02:00.121] } [18:02:00.121] ...future.conditions[[length(...future.conditions) + [18:02:00.121] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:00.121] cond$call), session = sessionInformation(), [18:02:00.121] timestamp = base::Sys.time(), signaled = 0L) [18:02:00.121] signalCondition(cond) [18:02:00.121] } [18:02:00.121] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:00.121] "immediateCondition"))) { [18:02:00.121] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:00.121] ...future.conditions[[length(...future.conditions) + [18:02:00.121] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:00.121] if (TRUE && !signal) { [18:02:00.121] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.121] { [18:02:00.121] inherits <- base::inherits [18:02:00.121] invokeRestart <- base::invokeRestart [18:02:00.121] is.null <- base::is.null [18:02:00.121] muffled <- FALSE [18:02:00.121] if (inherits(cond, "message")) { [18:02:00.121] muffled <- grepl(pattern, "muffleMessage") [18:02:00.121] if (muffled) [18:02:00.121] invokeRestart("muffleMessage") [18:02:00.121] } [18:02:00.121] else if (inherits(cond, "warning")) { [18:02:00.121] muffled <- grepl(pattern, "muffleWarning") [18:02:00.121] if (muffled) [18:02:00.121] invokeRestart("muffleWarning") [18:02:00.121] } [18:02:00.121] else if (inherits(cond, "condition")) { [18:02:00.121] if (!is.null(pattern)) { [18:02:00.121] computeRestarts <- base::computeRestarts [18:02:00.121] grepl <- base::grepl [18:02:00.121] restarts <- computeRestarts(cond) [18:02:00.121] for (restart in restarts) { [18:02:00.121] name <- restart$name [18:02:00.121] if (is.null(name)) [18:02:00.121] next [18:02:00.121] if (!grepl(pattern, name)) [18:02:00.121] next [18:02:00.121] invokeRestart(restart) [18:02:00.121] muffled <- TRUE [18:02:00.121] break [18:02:00.121] } [18:02:00.121] } [18:02:00.121] } [18:02:00.121] invisible(muffled) [18:02:00.121] } [18:02:00.121] muffleCondition(cond, pattern = "^muffle") [18:02:00.121] } [18:02:00.121] } [18:02:00.121] else { [18:02:00.121] if (TRUE) { [18:02:00.121] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.121] { [18:02:00.121] inherits <- base::inherits [18:02:00.121] invokeRestart <- base::invokeRestart [18:02:00.121] is.null <- base::is.null [18:02:00.121] muffled <- FALSE [18:02:00.121] if (inherits(cond, "message")) { [18:02:00.121] muffled <- grepl(pattern, "muffleMessage") [18:02:00.121] if (muffled) [18:02:00.121] invokeRestart("muffleMessage") [18:02:00.121] } [18:02:00.121] else if (inherits(cond, "warning")) { [18:02:00.121] muffled <- grepl(pattern, "muffleWarning") [18:02:00.121] if (muffled) [18:02:00.121] invokeRestart("muffleWarning") [18:02:00.121] } [18:02:00.121] else if (inherits(cond, "condition")) { [18:02:00.121] if (!is.null(pattern)) { [18:02:00.121] computeRestarts <- base::computeRestarts [18:02:00.121] grepl <- base::grepl [18:02:00.121] restarts <- computeRestarts(cond) [18:02:00.121] for (restart in restarts) { [18:02:00.121] name <- restart$name [18:02:00.121] if (is.null(name)) [18:02:00.121] next [18:02:00.121] if (!grepl(pattern, name)) [18:02:00.121] next [18:02:00.121] invokeRestart(restart) [18:02:00.121] muffled <- TRUE [18:02:00.121] break [18:02:00.121] } [18:02:00.121] } [18:02:00.121] } [18:02:00.121] invisible(muffled) [18:02:00.121] } [18:02:00.121] muffleCondition(cond, pattern = "^muffle") [18:02:00.121] } [18:02:00.121] } [18:02:00.121] } [18:02:00.121] })) [18:02:00.121] }, error = function(ex) { [18:02:00.121] base::structure(base::list(value = NULL, visible = NULL, [18:02:00.121] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.121] ...future.rng), started = ...future.startTime, [18:02:00.121] finished = Sys.time(), session_uuid = NA_character_, [18:02:00.121] version = "1.8"), class = "FutureResult") [18:02:00.121] }, finally = { [18:02:00.121] if (!identical(...future.workdir, getwd())) [18:02:00.121] setwd(...future.workdir) [18:02:00.121] { [18:02:00.121] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:00.121] ...future.oldOptions$nwarnings <- NULL [18:02:00.121] } [18:02:00.121] base::options(...future.oldOptions) [18:02:00.121] if (.Platform$OS.type == "windows") { [18:02:00.121] old_names <- names(...future.oldEnvVars) [18:02:00.121] envs <- base::Sys.getenv() [18:02:00.121] names <- names(envs) [18:02:00.121] common <- intersect(names, old_names) [18:02:00.121] added <- setdiff(names, old_names) [18:02:00.121] removed <- setdiff(old_names, names) [18:02:00.121] changed <- common[...future.oldEnvVars[common] != [18:02:00.121] envs[common]] [18:02:00.121] NAMES <- toupper(changed) [18:02:00.121] args <- list() [18:02:00.121] for (kk in seq_along(NAMES)) { [18:02:00.121] name <- changed[[kk]] [18:02:00.121] NAME <- NAMES[[kk]] [18:02:00.121] if (name != NAME && is.element(NAME, old_names)) [18:02:00.121] next [18:02:00.121] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.121] } [18:02:00.121] NAMES <- toupper(added) [18:02:00.121] for (kk in seq_along(NAMES)) { [18:02:00.121] name <- added[[kk]] [18:02:00.121] NAME <- NAMES[[kk]] [18:02:00.121] if (name != NAME && is.element(NAME, old_names)) [18:02:00.121] next [18:02:00.121] args[[name]] <- "" [18:02:00.121] } [18:02:00.121] NAMES <- toupper(removed) [18:02:00.121] for (kk in seq_along(NAMES)) { [18:02:00.121] name <- removed[[kk]] [18:02:00.121] NAME <- NAMES[[kk]] [18:02:00.121] if (name != NAME && is.element(NAME, old_names)) [18:02:00.121] next [18:02:00.121] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.121] } [18:02:00.121] if (length(args) > 0) [18:02:00.121] base::do.call(base::Sys.setenv, args = args) [18:02:00.121] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:00.121] } [18:02:00.121] else { [18:02:00.121] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:00.121] } [18:02:00.121] { [18:02:00.121] if (base::length(...future.futureOptionsAdded) > [18:02:00.121] 0L) { [18:02:00.121] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:00.121] base::names(opts) <- ...future.futureOptionsAdded [18:02:00.121] base::options(opts) [18:02:00.121] } [18:02:00.121] { [18:02:00.121] { [18:02:00.121] NULL [18:02:00.121] RNGkind("Mersenne-Twister") [18:02:00.121] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:00.121] inherits = FALSE) [18:02:00.121] } [18:02:00.121] options(future.plan = NULL) [18:02:00.121] if (is.na(NA_character_)) [18:02:00.121] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.121] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:00.121] future::plan(list(function (..., envir = parent.frame()) [18:02:00.121] { [18:02:00.121] future <- SequentialFuture(..., envir = envir) [18:02:00.121] if (!future$lazy) [18:02:00.121] future <- run(future) [18:02:00.121] invisible(future) [18:02:00.121] }), .cleanup = FALSE, .init = FALSE) [18:02:00.121] } [18:02:00.121] } [18:02:00.121] } [18:02:00.121] }) [18:02:00.121] if (TRUE) { [18:02:00.121] base::sink(type = "output", split = FALSE) [18:02:00.121] if (TRUE) { [18:02:00.121] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:00.121] } [18:02:00.121] else { [18:02:00.121] ...future.result["stdout"] <- base::list(NULL) [18:02:00.121] } [18:02:00.121] base::close(...future.stdout) [18:02:00.121] ...future.stdout <- NULL [18:02:00.121] } [18:02:00.121] ...future.result$conditions <- ...future.conditions [18:02:00.121] ...future.result$finished <- base::Sys.time() [18:02:00.121] ...future.result [18:02:00.121] } [18:02:00.124] plan(): Setting new future strategy stack: [18:02:00.125] List of future strategies: [18:02:00.125] 1. sequential: [18:02:00.125] - args: function (..., envir = parent.frame()) [18:02:00.125] - tweaked: FALSE [18:02:00.125] - call: NULL [18:02:00.125] plan(): nbrOfWorkers() = 1 [18:02:00.126] plan(): Setting new future strategy stack: [18:02:00.126] List of future strategies: [18:02:00.126] 1. sequential: [18:02:00.126] - args: function (..., envir = parent.frame()) [18:02:00.126] - tweaked: FALSE [18:02:00.126] - call: plan(strategy) [18:02:00.127] plan(): nbrOfWorkers() = 1 [18:02:00.127] SequentialFuture started (and completed) [18:02:00.127] - Launch lazy future ... done [18:02:00.127] run() for 'SequentialFuture' ... done [18:02:00.128] resolved() for 'SequentialFuture' ... [18:02:00.128] - state: 'finished' [18:02:00.128] - run: TRUE [18:02:00.128] - result: 'FutureResult' [18:02:00.128] resolved() for 'SequentialFuture' ... done [18:02:00.129] Future #1 [18:02:00.129] resolved() for 'SequentialFuture' ... [18:02:00.129] - state: 'finished' [18:02:00.129] - run: TRUE [18:02:00.129] - result: 'FutureResult' [18:02:00.130] resolved() for 'SequentialFuture' ... done [18:02:00.130] A SequentialFuture was resolved [18:02:00.130] length: 0 (resolved future 1) [18:02:00.130] resolve() on list ... DONE [18:02:00.130] - globals: [1] 'a' [18:02:00.130] Resolving futures part of globals (recursively) ... DONE [18:02:00.133] The total size of the 1 globals is 1.56 MiB (1636512 bytes) [18:02:00.133] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.56 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.56 MiB of class 'environment') [18:02:00.133] - globals: [1] 'a' [18:02:00.134] - packages: [1] 'future' [18:02:00.134] getGlobalsAndPackages() ... DONE [18:02:00.134] run() for 'Future' ... [18:02:00.134] - state: 'created' [18:02:00.134] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:00.135] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.135] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:00.135] - Field: 'label' [18:02:00.135] - Field: 'local' [18:02:00.136] - Field: 'owner' [18:02:00.136] - Field: 'envir' [18:02:00.136] - Field: 'packages' [18:02:00.136] - Field: 'gc' [18:02:00.136] - Field: 'conditions' [18:02:00.136] - Field: 'expr' [18:02:00.137] - Field: 'uuid' [18:02:00.137] - Field: 'seed' [18:02:00.137] - Field: 'version' [18:02:00.137] - Field: 'result' [18:02:00.137] - Field: 'asynchronous' [18:02:00.137] - Field: 'calls' [18:02:00.138] - Field: 'globals' [18:02:00.138] - Field: 'stdout' [18:02:00.138] - Field: 'earlySignal' [18:02:00.138] - Field: 'lazy' [18:02:00.138] - Field: 'state' [18:02:00.138] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:00.139] - Launch lazy future ... [18:02:00.139] Packages needed by the future expression (n = 1): 'future' [18:02:00.139] Packages needed by future strategies (n = 0): [18:02:00.140] { [18:02:00.140] { [18:02:00.140] { [18:02:00.140] ...future.startTime <- base::Sys.time() [18:02:00.140] { [18:02:00.140] { [18:02:00.140] { [18:02:00.140] { [18:02:00.140] base::local({ [18:02:00.140] has_future <- base::requireNamespace("future", [18:02:00.140] quietly = TRUE) [18:02:00.140] if (has_future) { [18:02:00.140] ns <- base::getNamespace("future") [18:02:00.140] version <- ns[[".package"]][["version"]] [18:02:00.140] if (is.null(version)) [18:02:00.140] version <- utils::packageVersion("future") [18:02:00.140] } [18:02:00.140] else { [18:02:00.140] version <- NULL [18:02:00.140] } [18:02:00.140] if (!has_future || version < "1.8.0") { [18:02:00.140] info <- base::c(r_version = base::gsub("R version ", [18:02:00.140] "", base::R.version$version.string), [18:02:00.140] platform = base::sprintf("%s (%s-bit)", [18:02:00.140] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:00.140] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:00.140] "release", "version")], collapse = " "), [18:02:00.140] hostname = base::Sys.info()[["nodename"]]) [18:02:00.140] info <- base::sprintf("%s: %s", base::names(info), [18:02:00.140] info) [18:02:00.140] info <- base::paste(info, collapse = "; ") [18:02:00.140] if (!has_future) { [18:02:00.140] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:00.140] info) [18:02:00.140] } [18:02:00.140] else { [18:02:00.140] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:00.140] info, version) [18:02:00.140] } [18:02:00.140] base::stop(msg) [18:02:00.140] } [18:02:00.140] }) [18:02:00.140] } [18:02:00.140] base::local({ [18:02:00.140] for (pkg in "future") { [18:02:00.140] base::loadNamespace(pkg) [18:02:00.140] base::library(pkg, character.only = TRUE) [18:02:00.140] } [18:02:00.140] }) [18:02:00.140] } [18:02:00.140] options(future.plan = NULL) [18:02:00.140] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.140] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:00.140] } [18:02:00.140] ...future.workdir <- getwd() [18:02:00.140] } [18:02:00.140] ...future.oldOptions <- base::as.list(base::.Options) [18:02:00.140] ...future.oldEnvVars <- base::Sys.getenv() [18:02:00.140] } [18:02:00.140] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:00.140] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:00.140] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:00.140] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:00.140] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:00.140] future.stdout.windows.reencode = NULL, width = 80L) [18:02:00.140] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:00.140] base::names(...future.oldOptions)) [18:02:00.140] } [18:02:00.140] if (FALSE) { [18:02:00.140] } [18:02:00.140] else { [18:02:00.140] if (TRUE) { [18:02:00.140] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:00.140] open = "w") [18:02:00.140] } [18:02:00.140] else { [18:02:00.140] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:00.140] windows = "NUL", "/dev/null"), open = "w") [18:02:00.140] } [18:02:00.140] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:00.140] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:00.140] base::sink(type = "output", split = FALSE) [18:02:00.140] base::close(...future.stdout) [18:02:00.140] }, add = TRUE) [18:02:00.140] } [18:02:00.140] ...future.frame <- base::sys.nframe() [18:02:00.140] ...future.conditions <- base::list() [18:02:00.140] ...future.rng <- base::globalenv()$.Random.seed [18:02:00.140] if (FALSE) { [18:02:00.140] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:00.140] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:00.140] } [18:02:00.140] ...future.result <- base::tryCatch({ [18:02:00.140] base::withCallingHandlers({ [18:02:00.140] ...future.value <- base::withVisible(base::local(value(a) + [18:02:00.140] 1)) [18:02:00.140] future::FutureResult(value = ...future.value$value, [18:02:00.140] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.140] ...future.rng), globalenv = if (FALSE) [18:02:00.140] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:00.140] ...future.globalenv.names)) [18:02:00.140] else NULL, started = ...future.startTime, version = "1.8") [18:02:00.140] }, condition = base::local({ [18:02:00.140] c <- base::c [18:02:00.140] inherits <- base::inherits [18:02:00.140] invokeRestart <- base::invokeRestart [18:02:00.140] length <- base::length [18:02:00.140] list <- base::list [18:02:00.140] seq.int <- base::seq.int [18:02:00.140] signalCondition <- base::signalCondition [18:02:00.140] sys.calls <- base::sys.calls [18:02:00.140] `[[` <- base::`[[` [18:02:00.140] `+` <- base::`+` [18:02:00.140] `<<-` <- base::`<<-` [18:02:00.140] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:00.140] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:00.140] 3L)] [18:02:00.140] } [18:02:00.140] function(cond) { [18:02:00.140] is_error <- inherits(cond, "error") [18:02:00.140] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:00.140] NULL) [18:02:00.140] if (is_error) { [18:02:00.140] sessionInformation <- function() { [18:02:00.140] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:00.140] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:00.140] search = base::search(), system = base::Sys.info()) [18:02:00.140] } [18:02:00.140] ...future.conditions[[length(...future.conditions) + [18:02:00.140] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:00.140] cond$call), session = sessionInformation(), [18:02:00.140] timestamp = base::Sys.time(), signaled = 0L) [18:02:00.140] signalCondition(cond) [18:02:00.140] } [18:02:00.140] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:00.140] "immediateCondition"))) { [18:02:00.140] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:00.140] ...future.conditions[[length(...future.conditions) + [18:02:00.140] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:00.140] if (TRUE && !signal) { [18:02:00.140] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.140] { [18:02:00.140] inherits <- base::inherits [18:02:00.140] invokeRestart <- base::invokeRestart [18:02:00.140] is.null <- base::is.null [18:02:00.140] muffled <- FALSE [18:02:00.140] if (inherits(cond, "message")) { [18:02:00.140] muffled <- grepl(pattern, "muffleMessage") [18:02:00.140] if (muffled) [18:02:00.140] invokeRestart("muffleMessage") [18:02:00.140] } [18:02:00.140] else if (inherits(cond, "warning")) { [18:02:00.140] muffled <- grepl(pattern, "muffleWarning") [18:02:00.140] if (muffled) [18:02:00.140] invokeRestart("muffleWarning") [18:02:00.140] } [18:02:00.140] else if (inherits(cond, "condition")) { [18:02:00.140] if (!is.null(pattern)) { [18:02:00.140] computeRestarts <- base::computeRestarts [18:02:00.140] grepl <- base::grepl [18:02:00.140] restarts <- computeRestarts(cond) [18:02:00.140] for (restart in restarts) { [18:02:00.140] name <- restart$name [18:02:00.140] if (is.null(name)) [18:02:00.140] next [18:02:00.140] if (!grepl(pattern, name)) [18:02:00.140] next [18:02:00.140] invokeRestart(restart) [18:02:00.140] muffled <- TRUE [18:02:00.140] break [18:02:00.140] } [18:02:00.140] } [18:02:00.140] } [18:02:00.140] invisible(muffled) [18:02:00.140] } [18:02:00.140] muffleCondition(cond, pattern = "^muffle") [18:02:00.140] } [18:02:00.140] } [18:02:00.140] else { [18:02:00.140] if (TRUE) { [18:02:00.140] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.140] { [18:02:00.140] inherits <- base::inherits [18:02:00.140] invokeRestart <- base::invokeRestart [18:02:00.140] is.null <- base::is.null [18:02:00.140] muffled <- FALSE [18:02:00.140] if (inherits(cond, "message")) { [18:02:00.140] muffled <- grepl(pattern, "muffleMessage") [18:02:00.140] if (muffled) [18:02:00.140] invokeRestart("muffleMessage") [18:02:00.140] } [18:02:00.140] else if (inherits(cond, "warning")) { [18:02:00.140] muffled <- grepl(pattern, "muffleWarning") [18:02:00.140] if (muffled) [18:02:00.140] invokeRestart("muffleWarning") [18:02:00.140] } [18:02:00.140] else if (inherits(cond, "condition")) { [18:02:00.140] if (!is.null(pattern)) { [18:02:00.140] computeRestarts <- base::computeRestarts [18:02:00.140] grepl <- base::grepl [18:02:00.140] restarts <- computeRestarts(cond) [18:02:00.140] for (restart in restarts) { [18:02:00.140] name <- restart$name [18:02:00.140] if (is.null(name)) [18:02:00.140] next [18:02:00.140] if (!grepl(pattern, name)) [18:02:00.140] next [18:02:00.140] invokeRestart(restart) [18:02:00.140] muffled <- TRUE [18:02:00.140] break [18:02:00.140] } [18:02:00.140] } [18:02:00.140] } [18:02:00.140] invisible(muffled) [18:02:00.140] } [18:02:00.140] muffleCondition(cond, pattern = "^muffle") [18:02:00.140] } [18:02:00.140] } [18:02:00.140] } [18:02:00.140] })) [18:02:00.140] }, error = function(ex) { [18:02:00.140] base::structure(base::list(value = NULL, visible = NULL, [18:02:00.140] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.140] ...future.rng), started = ...future.startTime, [18:02:00.140] finished = Sys.time(), session_uuid = NA_character_, [18:02:00.140] version = "1.8"), class = "FutureResult") [18:02:00.140] }, finally = { [18:02:00.140] if (!identical(...future.workdir, getwd())) [18:02:00.140] setwd(...future.workdir) [18:02:00.140] { [18:02:00.140] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:00.140] ...future.oldOptions$nwarnings <- NULL [18:02:00.140] } [18:02:00.140] base::options(...future.oldOptions) [18:02:00.140] if (.Platform$OS.type == "windows") { [18:02:00.140] old_names <- names(...future.oldEnvVars) [18:02:00.140] envs <- base::Sys.getenv() [18:02:00.140] names <- names(envs) [18:02:00.140] common <- intersect(names, old_names) [18:02:00.140] added <- setdiff(names, old_names) [18:02:00.140] removed <- setdiff(old_names, names) [18:02:00.140] changed <- common[...future.oldEnvVars[common] != [18:02:00.140] envs[common]] [18:02:00.140] NAMES <- toupper(changed) [18:02:00.140] args <- list() [18:02:00.140] for (kk in seq_along(NAMES)) { [18:02:00.140] name <- changed[[kk]] [18:02:00.140] NAME <- NAMES[[kk]] [18:02:00.140] if (name != NAME && is.element(NAME, old_names)) [18:02:00.140] next [18:02:00.140] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.140] } [18:02:00.140] NAMES <- toupper(added) [18:02:00.140] for (kk in seq_along(NAMES)) { [18:02:00.140] name <- added[[kk]] [18:02:00.140] NAME <- NAMES[[kk]] [18:02:00.140] if (name != NAME && is.element(NAME, old_names)) [18:02:00.140] next [18:02:00.140] args[[name]] <- "" [18:02:00.140] } [18:02:00.140] NAMES <- toupper(removed) [18:02:00.140] for (kk in seq_along(NAMES)) { [18:02:00.140] name <- removed[[kk]] [18:02:00.140] NAME <- NAMES[[kk]] [18:02:00.140] if (name != NAME && is.element(NAME, old_names)) [18:02:00.140] next [18:02:00.140] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.140] } [18:02:00.140] if (length(args) > 0) [18:02:00.140] base::do.call(base::Sys.setenv, args = args) [18:02:00.140] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:00.140] } [18:02:00.140] else { [18:02:00.140] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:00.140] } [18:02:00.140] { [18:02:00.140] if (base::length(...future.futureOptionsAdded) > [18:02:00.140] 0L) { [18:02:00.140] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:00.140] base::names(opts) <- ...future.futureOptionsAdded [18:02:00.140] base::options(opts) [18:02:00.140] } [18:02:00.140] { [18:02:00.140] { [18:02:00.140] NULL [18:02:00.140] RNGkind("Mersenne-Twister") [18:02:00.140] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:00.140] inherits = FALSE) [18:02:00.140] } [18:02:00.140] options(future.plan = NULL) [18:02:00.140] if (is.na(NA_character_)) [18:02:00.140] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.140] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:00.140] future::plan(list(function (..., envir = parent.frame()) [18:02:00.140] { [18:02:00.140] future <- SequentialFuture(..., envir = envir) [18:02:00.140] if (!future$lazy) [18:02:00.140] future <- run(future) [18:02:00.140] invisible(future) [18:02:00.140] }), .cleanup = FALSE, .init = FALSE) [18:02:00.140] } [18:02:00.140] } [18:02:00.140] } [18:02:00.140] }) [18:02:00.140] if (TRUE) { [18:02:00.140] base::sink(type = "output", split = FALSE) [18:02:00.140] if (TRUE) { [18:02:00.140] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:00.140] } [18:02:00.140] else { [18:02:00.140] ...future.result["stdout"] <- base::list(NULL) [18:02:00.140] } [18:02:00.140] base::close(...future.stdout) [18:02:00.140] ...future.stdout <- NULL [18:02:00.140] } [18:02:00.140] ...future.result$conditions <- ...future.conditions [18:02:00.140] ...future.result$finished <- base::Sys.time() [18:02:00.140] ...future.result [18:02:00.140] } [18:02:00.143] assign_globals() ... [18:02:00.144] List of 1 [18:02:00.144] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.144] - attr(*, "where")=List of 1 [18:02:00.144] ..$ a: [18:02:00.144] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:00.144] - attr(*, "resolved")= logi TRUE [18:02:00.144] - attr(*, "total_size")= num 1636512 [18:02:00.144] - attr(*, "already-done")= logi TRUE [18:02:00.146] - copied 'a' to environment [18:02:00.147] assign_globals() ... done [18:02:00.147] plan(): Setting new future strategy stack: [18:02:00.147] List of future strategies: [18:02:00.147] 1. sequential: [18:02:00.147] - args: function (..., envir = parent.frame()) [18:02:00.147] - tweaked: FALSE [18:02:00.147] - call: NULL [18:02:00.148] plan(): nbrOfWorkers() = 1 [18:02:00.149] plan(): Setting new future strategy stack: [18:02:00.149] List of future strategies: [18:02:00.149] 1. sequential: [18:02:00.149] - args: function (..., envir = parent.frame()) [18:02:00.149] - tweaked: FALSE [18:02:00.149] - call: plan(strategy) [18:02:00.150] plan(): nbrOfWorkers() = 1 [18:02:00.150] SequentialFuture started (and completed) [18:02:00.150] - Launch lazy future ... done [18:02:00.150] run() for 'SequentialFuture' ... done value(b) = 2 Warning: 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' [18:02:00.151] getGlobalsAndPackages() ... Warning: 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' [18:02:00.151] Searching for globals... Warning: 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' [18:02:00.153] - globals found: [2] '{', 'pkg' [18:02:00.153] Searching for globals ... DONE [18:02:00.153] Resolving globals: TRUE [18:02:00.154] Resolving any globals that are futures ... [18:02:00.154] - globals: [2] '{', 'pkg' [18:02:00.154] Resolving any globals that are futures ... DONE [18:02:00.154] Resolving futures part of globals (recursively) ... [18:02:00.155] resolve() on list ... [18:02:00.155] recursive: 99 [18:02:00.155] length: 1 [18:02:00.155] elements: 'pkg' [18:02:00.155] length: 0 (resolved future 1) [18:02:00.155] resolve() on list ... DONE [18:02:00.156] - globals: [1] 'pkg' [18:02:00.156] Resolving futures part of globals (recursively) ... DONE [18:02:00.156] The total size of the 1 globals is 112 bytes (112 bytes) [18:02:00.156] 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') [18:02:00.157] - globals: [1] 'pkg' [18:02:00.157] [18:02:00.157] getGlobalsAndPackages() ... DONE [18:02:00.157] Packages needed by the future expression (n = 0): [18:02:00.158] Packages needed by future strategies (n = 0): [18:02:00.158] { [18:02:00.158] { [18:02:00.158] { [18:02:00.158] ...future.startTime <- base::Sys.time() [18:02:00.158] { [18:02:00.158] { [18:02:00.158] { [18:02:00.158] base::local({ [18:02:00.158] has_future <- base::requireNamespace("future", [18:02:00.158] quietly = TRUE) [18:02:00.158] if (has_future) { [18:02:00.158] ns <- base::getNamespace("future") [18:02:00.158] version <- ns[[".package"]][["version"]] [18:02:00.158] if (is.null(version)) [18:02:00.158] version <- utils::packageVersion("future") [18:02:00.158] } [18:02:00.158] else { [18:02:00.158] version <- NULL [18:02:00.158] } [18:02:00.158] if (!has_future || version < "1.8.0") { [18:02:00.158] info <- base::c(r_version = base::gsub("R version ", [18:02:00.158] "", base::R.version$version.string), [18:02:00.158] platform = base::sprintf("%s (%s-bit)", [18:02:00.158] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:00.158] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:00.158] "release", "version")], collapse = " "), [18:02:00.158] hostname = base::Sys.info()[["nodename"]]) [18:02:00.158] info <- base::sprintf("%s: %s", base::names(info), [18:02:00.158] info) [18:02:00.158] info <- base::paste(info, collapse = "; ") [18:02:00.158] if (!has_future) { [18:02:00.158] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:00.158] info) [18:02:00.158] } [18:02:00.158] else { [18:02:00.158] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:00.158] info, version) [18:02:00.158] } [18:02:00.158] base::stop(msg) [18:02:00.158] } [18:02:00.158] }) [18:02:00.158] } [18:02:00.158] options(future.plan = NULL) [18:02:00.158] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.158] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:00.158] } [18:02:00.158] ...future.workdir <- getwd() [18:02:00.158] } [18:02:00.158] ...future.oldOptions <- base::as.list(base::.Options) [18:02:00.158] ...future.oldEnvVars <- base::Sys.getenv() [18:02:00.158] } [18:02:00.158] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:00.158] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:00.158] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:00.158] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:00.158] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:00.158] future.stdout.windows.reencode = NULL, width = 80L) [18:02:00.158] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:00.158] base::names(...future.oldOptions)) [18:02:00.158] } [18:02:00.158] if (FALSE) { [18:02:00.158] } [18:02:00.158] else { [18:02:00.158] if (TRUE) { [18:02:00.158] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:00.158] open = "w") [18:02:00.158] } [18:02:00.158] else { [18:02:00.158] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:00.158] windows = "NUL", "/dev/null"), open = "w") [18:02:00.158] } [18:02:00.158] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:00.158] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:00.158] base::sink(type = "output", split = FALSE) [18:02:00.158] base::close(...future.stdout) [18:02:00.158] }, add = TRUE) [18:02:00.158] } [18:02:00.158] ...future.frame <- base::sys.nframe() [18:02:00.158] ...future.conditions <- base::list() [18:02:00.158] ...future.rng <- base::globalenv()$.Random.seed [18:02:00.158] if (FALSE) { [18:02:00.158] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:00.158] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:00.158] } [18:02:00.158] ...future.result <- base::tryCatch({ [18:02:00.158] base::withCallingHandlers({ [18:02:00.158] ...future.value <- base::withVisible(base::local({ [18:02:00.158] pkg [18:02:00.158] })) [18:02:00.158] future::FutureResult(value = ...future.value$value, [18:02:00.158] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.158] ...future.rng), globalenv = if (FALSE) [18:02:00.158] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:00.158] ...future.globalenv.names)) [18:02:00.158] else NULL, started = ...future.startTime, version = "1.8") [18:02:00.158] }, condition = base::local({ [18:02:00.158] c <- base::c [18:02:00.158] inherits <- base::inherits [18:02:00.158] invokeRestart <- base::invokeRestart [18:02:00.158] length <- base::length [18:02:00.158] list <- base::list [18:02:00.158] seq.int <- base::seq.int [18:02:00.158] signalCondition <- base::signalCondition [18:02:00.158] sys.calls <- base::sys.calls [18:02:00.158] `[[` <- base::`[[` [18:02:00.158] `+` <- base::`+` [18:02:00.158] `<<-` <- base::`<<-` [18:02:00.158] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:00.158] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:00.158] 3L)] [18:02:00.158] } [18:02:00.158] function(cond) { [18:02:00.158] is_error <- inherits(cond, "error") [18:02:00.158] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:00.158] NULL) [18:02:00.158] if (is_error) { [18:02:00.158] sessionInformation <- function() { [18:02:00.158] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:00.158] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:00.158] search = base::search(), system = base::Sys.info()) [18:02:00.158] } [18:02:00.158] ...future.conditions[[length(...future.conditions) + [18:02:00.158] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:00.158] cond$call), session = sessionInformation(), [18:02:00.158] timestamp = base::Sys.time(), signaled = 0L) [18:02:00.158] signalCondition(cond) [18:02:00.158] } [18:02:00.158] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:00.158] "immediateCondition"))) { [18:02:00.158] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:00.158] ...future.conditions[[length(...future.conditions) + [18:02:00.158] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:00.158] if (TRUE && !signal) { [18:02:00.158] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.158] { [18:02:00.158] inherits <- base::inherits [18:02:00.158] invokeRestart <- base::invokeRestart [18:02:00.158] is.null <- base::is.null [18:02:00.158] muffled <- FALSE [18:02:00.158] if (inherits(cond, "message")) { [18:02:00.158] muffled <- grepl(pattern, "muffleMessage") [18:02:00.158] if (muffled) [18:02:00.158] invokeRestart("muffleMessage") [18:02:00.158] } [18:02:00.158] else if (inherits(cond, "warning")) { [18:02:00.158] muffled <- grepl(pattern, "muffleWarning") [18:02:00.158] if (muffled) [18:02:00.158] invokeRestart("muffleWarning") [18:02:00.158] } [18:02:00.158] else if (inherits(cond, "condition")) { [18:02:00.158] if (!is.null(pattern)) { [18:02:00.158] computeRestarts <- base::computeRestarts [18:02:00.158] grepl <- base::grepl [18:02:00.158] restarts <- computeRestarts(cond) [18:02:00.158] for (restart in restarts) { [18:02:00.158] name <- restart$name [18:02:00.158] if (is.null(name)) [18:02:00.158] next [18:02:00.158] if (!grepl(pattern, name)) [18:02:00.158] next [18:02:00.158] invokeRestart(restart) [18:02:00.158] muffled <- TRUE [18:02:00.158] break [18:02:00.158] } [18:02:00.158] } [18:02:00.158] } [18:02:00.158] invisible(muffled) [18:02:00.158] } [18:02:00.158] muffleCondition(cond, pattern = "^muffle") [18:02:00.158] } [18:02:00.158] } [18:02:00.158] else { [18:02:00.158] if (TRUE) { [18:02:00.158] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.158] { [18:02:00.158] inherits <- base::inherits [18:02:00.158] invokeRestart <- base::invokeRestart [18:02:00.158] is.null <- base::is.null [18:02:00.158] muffled <- FALSE [18:02:00.158] if (inherits(cond, "message")) { [18:02:00.158] muffled <- grepl(pattern, "muffleMessage") [18:02:00.158] if (muffled) [18:02:00.158] invokeRestart("muffleMessage") [18:02:00.158] } [18:02:00.158] else if (inherits(cond, "warning")) { [18:02:00.158] muffled <- grepl(pattern, "muffleWarning") [18:02:00.158] if (muffled) [18:02:00.158] invokeRestart("muffleWarning") [18:02:00.158] } [18:02:00.158] else if (inherits(cond, "condition")) { [18:02:00.158] if (!is.null(pattern)) { [18:02:00.158] computeRestarts <- base::computeRestarts [18:02:00.158] grepl <- base::grepl [18:02:00.158] restarts <- computeRestarts(cond) [18:02:00.158] for (restart in restarts) { [18:02:00.158] name <- restart$name [18:02:00.158] if (is.null(name)) [18:02:00.158] next [18:02:00.158] if (!grepl(pattern, name)) [18:02:00.158] next [18:02:00.158] invokeRestart(restart) [18:02:00.158] muffled <- TRUE [18:02:00.158] break [18:02:00.158] } [18:02:00.158] } [18:02:00.158] } [18:02:00.158] invisible(muffled) [18:02:00.158] } [18:02:00.158] muffleCondition(cond, pattern = "^muffle") [18:02:00.158] } [18:02:00.158] } [18:02:00.158] } [18:02:00.158] })) [18:02:00.158] }, error = function(ex) { [18:02:00.158] base::structure(base::list(value = NULL, visible = NULL, [18:02:00.158] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.158] ...future.rng), started = ...future.startTime, [18:02:00.158] finished = Sys.time(), session_uuid = NA_character_, [18:02:00.158] version = "1.8"), class = "FutureResult") [18:02:00.158] }, finally = { [18:02:00.158] if (!identical(...future.workdir, getwd())) [18:02:00.158] setwd(...future.workdir) [18:02:00.158] { [18:02:00.158] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:00.158] ...future.oldOptions$nwarnings <- NULL [18:02:00.158] } [18:02:00.158] base::options(...future.oldOptions) [18:02:00.158] if (.Platform$OS.type == "windows") { [18:02:00.158] old_names <- names(...future.oldEnvVars) [18:02:00.158] envs <- base::Sys.getenv() [18:02:00.158] names <- names(envs) [18:02:00.158] common <- intersect(names, old_names) [18:02:00.158] added <- setdiff(names, old_names) [18:02:00.158] removed <- setdiff(old_names, names) [18:02:00.158] changed <- common[...future.oldEnvVars[common] != [18:02:00.158] envs[common]] [18:02:00.158] NAMES <- toupper(changed) [18:02:00.158] args <- list() [18:02:00.158] for (kk in seq_along(NAMES)) { [18:02:00.158] name <- changed[[kk]] [18:02:00.158] NAME <- NAMES[[kk]] [18:02:00.158] if (name != NAME && is.element(NAME, old_names)) [18:02:00.158] next [18:02:00.158] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.158] } [18:02:00.158] NAMES <- toupper(added) [18:02:00.158] for (kk in seq_along(NAMES)) { [18:02:00.158] name <- added[[kk]] [18:02:00.158] NAME <- NAMES[[kk]] [18:02:00.158] if (name != NAME && is.element(NAME, old_names)) [18:02:00.158] next [18:02:00.158] args[[name]] <- "" [18:02:00.158] } [18:02:00.158] NAMES <- toupper(removed) [18:02:00.158] for (kk in seq_along(NAMES)) { [18:02:00.158] name <- removed[[kk]] [18:02:00.158] NAME <- NAMES[[kk]] [18:02:00.158] if (name != NAME && is.element(NAME, old_names)) [18:02:00.158] next [18:02:00.158] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.158] } [18:02:00.158] if (length(args) > 0) [18:02:00.158] base::do.call(base::Sys.setenv, args = args) [18:02:00.158] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:00.158] } [18:02:00.158] else { [18:02:00.158] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:00.158] } [18:02:00.158] { [18:02:00.158] if (base::length(...future.futureOptionsAdded) > [18:02:00.158] 0L) { [18:02:00.158] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:00.158] base::names(opts) <- ...future.futureOptionsAdded [18:02:00.158] base::options(opts) [18:02:00.158] } [18:02:00.158] { [18:02:00.158] { [18:02:00.158] NULL [18:02:00.158] RNGkind("Mersenne-Twister") [18:02:00.158] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:00.158] inherits = FALSE) [18:02:00.158] } [18:02:00.158] options(future.plan = NULL) [18:02:00.158] if (is.na(NA_character_)) [18:02:00.158] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.158] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:00.158] future::plan(list(function (..., envir = parent.frame()) [18:02:00.158] { [18:02:00.158] future <- SequentialFuture(..., envir = envir) [18:02:00.158] if (!future$lazy) [18:02:00.158] future <- run(future) [18:02:00.158] invisible(future) [18:02:00.158] }), .cleanup = FALSE, .init = FALSE) [18:02:00.158] } [18:02:00.158] } [18:02:00.158] } [18:02:00.158] }) [18:02:00.158] if (TRUE) { [18:02:00.158] base::sink(type = "output", split = FALSE) [18:02:00.158] if (TRUE) { [18:02:00.158] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:00.158] } [18:02:00.158] else { [18:02:00.158] ...future.result["stdout"] <- base::list(NULL) [18:02:00.158] } [18:02:00.158] base::close(...future.stdout) [18:02:00.158] ...future.stdout <- NULL [18:02:00.158] } [18:02:00.158] ...future.result$conditions <- ...future.conditions [18:02:00.158] ...future.result$finished <- base::Sys.time() [18:02:00.158] ...future.result [18:02:00.158] } [18:02:00.162] assign_globals() ... [18:02:00.162] List of 1 [18:02:00.162] $ pkg: chr "foo" [18:02:00.162] - attr(*, "where")=List of 1 [18:02:00.162] ..$ pkg: [18:02:00.162] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:00.162] - attr(*, "resolved")= logi TRUE [18:02:00.162] - attr(*, "total_size")= num 112 [18:02:00.164] - copied 'pkg' to environment [18:02:00.165] assign_globals() ... done [18:02:00.165] plan(): Setting new future strategy stack: [18:02:00.165] List of future strategies: [18:02:00.165] 1. sequential: [18:02:00.165] - args: function (..., envir = parent.frame()) [18:02:00.165] - tweaked: FALSE [18:02:00.165] - call: NULL [18:02:00.166] plan(): nbrOfWorkers() = 1 [18:02:00.167] plan(): Setting new future strategy stack: [18:02:00.167] List of future strategies: [18:02:00.167] 1. sequential: [18:02:00.167] - args: function (..., envir = parent.frame()) [18:02:00.167] - tweaked: FALSE [18:02:00.167] - call: plan(strategy) [18:02:00.167] plan(): nbrOfWorkers() = 1 [18:02:00.168] SequentialFuture started (and completed) value(f) = 'foo' Method for identifying globals: 'ordered' ... DONE Warning: 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' [18:02:00.168] getGlobalsAndPackages() ... Warning: 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' [18:02:00.169] Searching for globals... Warning: 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' [18:02:00.171] - globals found: [3] '{', '<-', '+' [18:02:00.171] Searching for globals ... DONE [18:02:00.171] Resolving globals: TRUE [18:02:00.171] Resolving any globals that are futures ... [18:02:00.171] - globals: [3] '{', '<-', '+' [18:02:00.172] Resolving any globals that are futures ... DONE [18:02:00.172] [18:02:00.172] [18:02:00.172] getGlobalsAndPackages() ... DONE [18:02:00.173] run() for 'Future' ... [18:02:00.173] - state: 'created' [18:02:00.173] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:00.173] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.173] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:00.174] - Field: 'label' [18:02:00.174] - Field: 'local' [18:02:00.174] - Field: 'owner' [18:02:00.174] - Field: 'envir' [18:02:00.174] - Field: 'packages' [18:02:00.175] - Field: 'gc' [18:02:00.175] - Field: 'conditions' [18:02:00.175] - Field: 'expr' [18:02:00.175] - Field: 'uuid' [18:02:00.175] - Field: 'seed' [18:02:00.175] - Field: 'version' [18:02:00.176] - Field: 'result' [18:02:00.176] - Field: 'asynchronous' [18:02:00.176] - Field: 'calls' [18:02:00.176] - Field: 'globals' [18:02:00.176] - Field: 'stdout' [18:02:00.176] - Field: 'earlySignal' [18:02:00.177] - Field: 'lazy' [18:02:00.177] - Field: 'state' [18:02:00.177] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:00.177] - Launch lazy future ... [18:02:00.177] Packages needed by the future expression (n = 0): [18:02:00.178] Packages needed by future strategies (n = 0): [18:02:00.178] { [18:02:00.178] { [18:02:00.178] { [18:02:00.178] ...future.startTime <- base::Sys.time() [18:02:00.178] { [18:02:00.178] { [18:02:00.178] { [18:02:00.178] base::local({ [18:02:00.178] has_future <- base::requireNamespace("future", [18:02:00.178] quietly = TRUE) [18:02:00.178] if (has_future) { [18:02:00.178] ns <- base::getNamespace("future") [18:02:00.178] version <- ns[[".package"]][["version"]] [18:02:00.178] if (is.null(version)) [18:02:00.178] version <- utils::packageVersion("future") [18:02:00.178] } [18:02:00.178] else { [18:02:00.178] version <- NULL [18:02:00.178] } [18:02:00.178] if (!has_future || version < "1.8.0") { [18:02:00.178] info <- base::c(r_version = base::gsub("R version ", [18:02:00.178] "", base::R.version$version.string), [18:02:00.178] platform = base::sprintf("%s (%s-bit)", [18:02:00.178] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:00.178] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:00.178] "release", "version")], collapse = " "), [18:02:00.178] hostname = base::Sys.info()[["nodename"]]) [18:02:00.178] info <- base::sprintf("%s: %s", base::names(info), [18:02:00.178] info) [18:02:00.178] info <- base::paste(info, collapse = "; ") [18:02:00.178] if (!has_future) { [18:02:00.178] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:00.178] info) [18:02:00.178] } [18:02:00.178] else { [18:02:00.178] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:00.178] info, version) [18:02:00.178] } [18:02:00.178] base::stop(msg) [18:02:00.178] } [18:02:00.178] }) [18:02:00.178] } [18:02:00.178] options(future.plan = NULL) [18:02:00.178] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.178] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:00.178] } [18:02:00.178] ...future.workdir <- getwd() [18:02:00.178] } [18:02:00.178] ...future.oldOptions <- base::as.list(base::.Options) [18:02:00.178] ...future.oldEnvVars <- base::Sys.getenv() [18:02:00.178] } [18:02:00.178] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:00.178] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:00.178] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:00.178] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:00.178] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:00.178] future.stdout.windows.reencode = NULL, width = 80L) [18:02:00.178] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:00.178] base::names(...future.oldOptions)) [18:02:00.178] } [18:02:00.178] if (FALSE) { [18:02:00.178] } [18:02:00.178] else { [18:02:00.178] if (TRUE) { [18:02:00.178] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:00.178] open = "w") [18:02:00.178] } [18:02:00.178] else { [18:02:00.178] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:00.178] windows = "NUL", "/dev/null"), open = "w") [18:02:00.178] } [18:02:00.178] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:00.178] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:00.178] base::sink(type = "output", split = FALSE) [18:02:00.178] base::close(...future.stdout) [18:02:00.178] }, add = TRUE) [18:02:00.178] } [18:02:00.178] ...future.frame <- base::sys.nframe() [18:02:00.178] ...future.conditions <- base::list() [18:02:00.178] ...future.rng <- base::globalenv()$.Random.seed [18:02:00.178] if (FALSE) { [18:02:00.178] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:00.178] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:00.178] } [18:02:00.178] ...future.result <- base::tryCatch({ [18:02:00.178] base::withCallingHandlers({ [18:02:00.178] ...future.value <- base::withVisible(base::local({ [18:02:00.178] x <- 0 [18:02:00.178] x <- x + 1 [18:02:00.178] x [18:02:00.178] })) [18:02:00.178] future::FutureResult(value = ...future.value$value, [18:02:00.178] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.178] ...future.rng), globalenv = if (FALSE) [18:02:00.178] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:00.178] ...future.globalenv.names)) [18:02:00.178] else NULL, started = ...future.startTime, version = "1.8") [18:02:00.178] }, condition = base::local({ [18:02:00.178] c <- base::c [18:02:00.178] inherits <- base::inherits [18:02:00.178] invokeRestart <- base::invokeRestart [18:02:00.178] length <- base::length [18:02:00.178] list <- base::list [18:02:00.178] seq.int <- base::seq.int [18:02:00.178] signalCondition <- base::signalCondition [18:02:00.178] sys.calls <- base::sys.calls [18:02:00.178] `[[` <- base::`[[` [18:02:00.178] `+` <- base::`+` [18:02:00.178] `<<-` <- base::`<<-` [18:02:00.178] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:00.178] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:00.178] 3L)] [18:02:00.178] } [18:02:00.178] function(cond) { [18:02:00.178] is_error <- inherits(cond, "error") [18:02:00.178] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:00.178] NULL) [18:02:00.178] if (is_error) { [18:02:00.178] sessionInformation <- function() { [18:02:00.178] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:00.178] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:00.178] search = base::search(), system = base::Sys.info()) [18:02:00.178] } [18:02:00.178] ...future.conditions[[length(...future.conditions) + [18:02:00.178] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:00.178] cond$call), session = sessionInformation(), [18:02:00.178] timestamp = base::Sys.time(), signaled = 0L) [18:02:00.178] signalCondition(cond) [18:02:00.178] } [18:02:00.178] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:00.178] "immediateCondition"))) { [18:02:00.178] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:00.178] ...future.conditions[[length(...future.conditions) + [18:02:00.178] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:00.178] if (TRUE && !signal) { [18:02:00.178] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.178] { [18:02:00.178] inherits <- base::inherits [18:02:00.178] invokeRestart <- base::invokeRestart [18:02:00.178] is.null <- base::is.null [18:02:00.178] muffled <- FALSE [18:02:00.178] if (inherits(cond, "message")) { [18:02:00.178] muffled <- grepl(pattern, "muffleMessage") [18:02:00.178] if (muffled) [18:02:00.178] invokeRestart("muffleMessage") [18:02:00.178] } [18:02:00.178] else if (inherits(cond, "warning")) { [18:02:00.178] muffled <- grepl(pattern, "muffleWarning") [18:02:00.178] if (muffled) [18:02:00.178] invokeRestart("muffleWarning") [18:02:00.178] } [18:02:00.178] else if (inherits(cond, "condition")) { [18:02:00.178] if (!is.null(pattern)) { [18:02:00.178] computeRestarts <- base::computeRestarts [18:02:00.178] grepl <- base::grepl [18:02:00.178] restarts <- computeRestarts(cond) [18:02:00.178] for (restart in restarts) { [18:02:00.178] name <- restart$name [18:02:00.178] if (is.null(name)) [18:02:00.178] next [18:02:00.178] if (!grepl(pattern, name)) [18:02:00.178] next [18:02:00.178] invokeRestart(restart) [18:02:00.178] muffled <- TRUE [18:02:00.178] break [18:02:00.178] } [18:02:00.178] } [18:02:00.178] } [18:02:00.178] invisible(muffled) [18:02:00.178] } [18:02:00.178] muffleCondition(cond, pattern = "^muffle") [18:02:00.178] } [18:02:00.178] } [18:02:00.178] else { [18:02:00.178] if (TRUE) { [18:02:00.178] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.178] { [18:02:00.178] inherits <- base::inherits [18:02:00.178] invokeRestart <- base::invokeRestart [18:02:00.178] is.null <- base::is.null [18:02:00.178] muffled <- FALSE [18:02:00.178] if (inherits(cond, "message")) { [18:02:00.178] muffled <- grepl(pattern, "muffleMessage") [18:02:00.178] if (muffled) [18:02:00.178] invokeRestart("muffleMessage") [18:02:00.178] } [18:02:00.178] else if (inherits(cond, "warning")) { [18:02:00.178] muffled <- grepl(pattern, "muffleWarning") [18:02:00.178] if (muffled) [18:02:00.178] invokeRestart("muffleWarning") [18:02:00.178] } [18:02:00.178] else if (inherits(cond, "condition")) { [18:02:00.178] if (!is.null(pattern)) { [18:02:00.178] computeRestarts <- base::computeRestarts [18:02:00.178] grepl <- base::grepl [18:02:00.178] restarts <- computeRestarts(cond) [18:02:00.178] for (restart in restarts) { [18:02:00.178] name <- restart$name [18:02:00.178] if (is.null(name)) [18:02:00.178] next [18:02:00.178] if (!grepl(pattern, name)) [18:02:00.178] next [18:02:00.178] invokeRestart(restart) [18:02:00.178] muffled <- TRUE [18:02:00.178] break [18:02:00.178] } [18:02:00.178] } [18:02:00.178] } [18:02:00.178] invisible(muffled) [18:02:00.178] } [18:02:00.178] muffleCondition(cond, pattern = "^muffle") [18:02:00.178] } [18:02:00.178] } [18:02:00.178] } [18:02:00.178] })) [18:02:00.178] }, error = function(ex) { [18:02:00.178] base::structure(base::list(value = NULL, visible = NULL, [18:02:00.178] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.178] ...future.rng), started = ...future.startTime, [18:02:00.178] finished = Sys.time(), session_uuid = NA_character_, [18:02:00.178] version = "1.8"), class = "FutureResult") [18:02:00.178] }, finally = { [18:02:00.178] if (!identical(...future.workdir, getwd())) [18:02:00.178] setwd(...future.workdir) [18:02:00.178] { [18:02:00.178] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:00.178] ...future.oldOptions$nwarnings <- NULL [18:02:00.178] } [18:02:00.178] base::options(...future.oldOptions) [18:02:00.178] if (.Platform$OS.type == "windows") { [18:02:00.178] old_names <- names(...future.oldEnvVars) [18:02:00.178] envs <- base::Sys.getenv() [18:02:00.178] names <- names(envs) [18:02:00.178] common <- intersect(names, old_names) [18:02:00.178] added <- setdiff(names, old_names) [18:02:00.178] removed <- setdiff(old_names, names) [18:02:00.178] changed <- common[...future.oldEnvVars[common] != [18:02:00.178] envs[common]] [18:02:00.178] NAMES <- toupper(changed) [18:02:00.178] args <- list() [18:02:00.178] for (kk in seq_along(NAMES)) { [18:02:00.178] name <- changed[[kk]] [18:02:00.178] NAME <- NAMES[[kk]] [18:02:00.178] if (name != NAME && is.element(NAME, old_names)) [18:02:00.178] next [18:02:00.178] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.178] } [18:02:00.178] NAMES <- toupper(added) [18:02:00.178] for (kk in seq_along(NAMES)) { [18:02:00.178] name <- added[[kk]] [18:02:00.178] NAME <- NAMES[[kk]] [18:02:00.178] if (name != NAME && is.element(NAME, old_names)) [18:02:00.178] next [18:02:00.178] args[[name]] <- "" [18:02:00.178] } [18:02:00.178] NAMES <- toupper(removed) [18:02:00.178] for (kk in seq_along(NAMES)) { [18:02:00.178] name <- removed[[kk]] [18:02:00.178] NAME <- NAMES[[kk]] [18:02:00.178] if (name != NAME && is.element(NAME, old_names)) [18:02:00.178] next [18:02:00.178] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.178] } [18:02:00.178] if (length(args) > 0) [18:02:00.178] base::do.call(base::Sys.setenv, args = args) [18:02:00.178] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:00.178] } [18:02:00.178] else { [18:02:00.178] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:00.178] } [18:02:00.178] { [18:02:00.178] if (base::length(...future.futureOptionsAdded) > [18:02:00.178] 0L) { [18:02:00.178] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:00.178] base::names(opts) <- ...future.futureOptionsAdded [18:02:00.178] base::options(opts) [18:02:00.178] } [18:02:00.178] { [18:02:00.178] { [18:02:00.178] NULL [18:02:00.178] RNGkind("Mersenne-Twister") [18:02:00.178] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:00.178] inherits = FALSE) [18:02:00.178] } [18:02:00.178] options(future.plan = NULL) [18:02:00.178] if (is.na(NA_character_)) [18:02:00.178] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.178] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:00.178] future::plan(list(function (..., envir = parent.frame()) [18:02:00.178] { [18:02:00.178] future <- SequentialFuture(..., envir = envir) [18:02:00.178] if (!future$lazy) [18:02:00.178] future <- run(future) [18:02:00.178] invisible(future) [18:02:00.178] }), .cleanup = FALSE, .init = FALSE) [18:02:00.178] } [18:02:00.178] } [18:02:00.178] } [18:02:00.178] }) [18:02:00.178] if (TRUE) { [18:02:00.178] base::sink(type = "output", split = FALSE) [18:02:00.178] if (TRUE) { [18:02:00.178] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:00.178] } [18:02:00.178] else { [18:02:00.178] ...future.result["stdout"] <- base::list(NULL) [18:02:00.178] } [18:02:00.178] base::close(...future.stdout) [18:02:00.178] ...future.stdout <- NULL [18:02:00.178] } [18:02:00.178] ...future.result$conditions <- ...future.conditions [18:02:00.178] ...future.result$finished <- base::Sys.time() [18:02:00.178] ...future.result [18:02:00.178] } [18:02:00.182] plan(): Setting new future strategy stack: [18:02:00.182] List of future strategies: [18:02:00.182] 1. sequential: [18:02:00.182] - args: function (..., envir = parent.frame()) [18:02:00.182] - tweaked: FALSE [18:02:00.182] - call: NULL [18:02:00.183] plan(): nbrOfWorkers() = 1 [18:02:00.184] plan(): Setting new future strategy stack: [18:02:00.184] List of future strategies: [18:02:00.184] 1. sequential: [18:02:00.184] - args: function (..., envir = parent.frame()) [18:02:00.184] - tweaked: FALSE [18:02:00.184] - call: plan(strategy) [18:02:00.184] plan(): nbrOfWorkers() = 1 [18:02:00.185] SequentialFuture started (and completed) [18:02:00.185] - Launch lazy future ... done [18:02:00.185] run() for 'SequentialFuture' ... done value(f) = '1' Warning: 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' [18:02:00.186] getGlobalsAndPackages() ... Warning: 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' [18:02:00.186] Searching for globals... Warning: 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' [18:02:00.188] - globals found: [4] '{', '<-', 'x', '+' [18:02:00.188] Searching for globals ... DONE [18:02:00.188] Resolving globals: TRUE [18:02:00.188] Resolving any globals that are futures ... [18:02:00.188] - globals: [4] '{', '<-', 'x', '+' [18:02:00.189] Resolving any globals that are futures ... DONE [18:02:00.189] Resolving futures part of globals (recursively) ... [18:02:00.189] resolve() on list ... [18:02:00.189] recursive: 99 [18:02:00.190] length: 1 [18:02:00.190] elements: 'x' [18:02:00.190] length: 0 (resolved future 1) [18:02:00.190] resolve() on list ... DONE [18:02:00.190] - globals: [1] 'x' [18:02:00.190] Resolving futures part of globals (recursively) ... DONE [18:02:00.191] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:00.192] 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') [18:02:00.192] - globals: [1] 'x' [18:02:00.192] [18:02:00.193] getGlobalsAndPackages() ... DONE [18:02:00.193] run() for 'Future' ... [18:02:00.193] - state: 'created' [18:02:00.193] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:00.194] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.194] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:00.194] - Field: 'label' [18:02:00.194] - Field: 'local' [18:02:00.194] - Field: 'owner' [18:02:00.195] - Field: 'envir' [18:02:00.195] - Field: 'packages' [18:02:00.195] - Field: 'gc' [18:02:00.195] - Field: 'conditions' [18:02:00.195] - Field: 'expr' [18:02:00.195] - Field: 'uuid' [18:02:00.196] - Field: 'seed' [18:02:00.196] - Field: 'version' [18:02:00.196] - Field: 'result' [18:02:00.196] - Field: 'asynchronous' [18:02:00.196] - Field: 'calls' [18:02:00.196] - Field: 'globals' [18:02:00.197] - Field: 'stdout' [18:02:00.197] - Field: 'earlySignal' [18:02:00.197] - Field: 'lazy' [18:02:00.197] - Field: 'state' [18:02:00.197] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:00.197] - Launch lazy future ... [18:02:00.198] Packages needed by the future expression (n = 0): [18:02:00.198] Packages needed by future strategies (n = 0): [18:02:00.198] { [18:02:00.198] { [18:02:00.198] { [18:02:00.198] ...future.startTime <- base::Sys.time() [18:02:00.198] { [18:02:00.198] { [18:02:00.198] { [18:02:00.198] base::local({ [18:02:00.198] has_future <- base::requireNamespace("future", [18:02:00.198] quietly = TRUE) [18:02:00.198] if (has_future) { [18:02:00.198] ns <- base::getNamespace("future") [18:02:00.198] version <- ns[[".package"]][["version"]] [18:02:00.198] if (is.null(version)) [18:02:00.198] version <- utils::packageVersion("future") [18:02:00.198] } [18:02:00.198] else { [18:02:00.198] version <- NULL [18:02:00.198] } [18:02:00.198] if (!has_future || version < "1.8.0") { [18:02:00.198] info <- base::c(r_version = base::gsub("R version ", [18:02:00.198] "", base::R.version$version.string), [18:02:00.198] platform = base::sprintf("%s (%s-bit)", [18:02:00.198] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:00.198] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:00.198] "release", "version")], collapse = " "), [18:02:00.198] hostname = base::Sys.info()[["nodename"]]) [18:02:00.198] info <- base::sprintf("%s: %s", base::names(info), [18:02:00.198] info) [18:02:00.198] info <- base::paste(info, collapse = "; ") [18:02:00.198] if (!has_future) { [18:02:00.198] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:00.198] info) [18:02:00.198] } [18:02:00.198] else { [18:02:00.198] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:00.198] info, version) [18:02:00.198] } [18:02:00.198] base::stop(msg) [18:02:00.198] } [18:02:00.198] }) [18:02:00.198] } [18:02:00.198] options(future.plan = NULL) [18:02:00.198] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.198] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:00.198] } [18:02:00.198] ...future.workdir <- getwd() [18:02:00.198] } [18:02:00.198] ...future.oldOptions <- base::as.list(base::.Options) [18:02:00.198] ...future.oldEnvVars <- base::Sys.getenv() [18:02:00.198] } [18:02:00.198] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:00.198] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:00.198] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:00.198] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:00.198] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:00.198] future.stdout.windows.reencode = NULL, width = 80L) [18:02:00.198] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:00.198] base::names(...future.oldOptions)) [18:02:00.198] } [18:02:00.198] if (FALSE) { [18:02:00.198] } [18:02:00.198] else { [18:02:00.198] if (TRUE) { [18:02:00.198] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:00.198] open = "w") [18:02:00.198] } [18:02:00.198] else { [18:02:00.198] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:00.198] windows = "NUL", "/dev/null"), open = "w") [18:02:00.198] } [18:02:00.198] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:00.198] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:00.198] base::sink(type = "output", split = FALSE) [18:02:00.198] base::close(...future.stdout) [18:02:00.198] }, add = TRUE) [18:02:00.198] } [18:02:00.198] ...future.frame <- base::sys.nframe() [18:02:00.198] ...future.conditions <- base::list() [18:02:00.198] ...future.rng <- base::globalenv()$.Random.seed [18:02:00.198] if (FALSE) { [18:02:00.198] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:00.198] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:00.198] } [18:02:00.198] ...future.result <- base::tryCatch({ [18:02:00.198] base::withCallingHandlers({ [18:02:00.198] ...future.value <- base::withVisible(base::local({ [18:02:00.198] x <- x + 1 [18:02:00.198] x [18:02:00.198] })) [18:02:00.198] future::FutureResult(value = ...future.value$value, [18:02:00.198] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.198] ...future.rng), globalenv = if (FALSE) [18:02:00.198] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:00.198] ...future.globalenv.names)) [18:02:00.198] else NULL, started = ...future.startTime, version = "1.8") [18:02:00.198] }, condition = base::local({ [18:02:00.198] c <- base::c [18:02:00.198] inherits <- base::inherits [18:02:00.198] invokeRestart <- base::invokeRestart [18:02:00.198] length <- base::length [18:02:00.198] list <- base::list [18:02:00.198] seq.int <- base::seq.int [18:02:00.198] signalCondition <- base::signalCondition [18:02:00.198] sys.calls <- base::sys.calls [18:02:00.198] `[[` <- base::`[[` [18:02:00.198] `+` <- base::`+` [18:02:00.198] `<<-` <- base::`<<-` [18:02:00.198] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:00.198] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:00.198] 3L)] [18:02:00.198] } [18:02:00.198] function(cond) { [18:02:00.198] is_error <- inherits(cond, "error") [18:02:00.198] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:00.198] NULL) [18:02:00.198] if (is_error) { [18:02:00.198] sessionInformation <- function() { [18:02:00.198] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:00.198] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:00.198] search = base::search(), system = base::Sys.info()) [18:02:00.198] } [18:02:00.198] ...future.conditions[[length(...future.conditions) + [18:02:00.198] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:00.198] cond$call), session = sessionInformation(), [18:02:00.198] timestamp = base::Sys.time(), signaled = 0L) [18:02:00.198] signalCondition(cond) [18:02:00.198] } [18:02:00.198] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:00.198] "immediateCondition"))) { [18:02:00.198] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:00.198] ...future.conditions[[length(...future.conditions) + [18:02:00.198] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:00.198] if (TRUE && !signal) { [18:02:00.198] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.198] { [18:02:00.198] inherits <- base::inherits [18:02:00.198] invokeRestart <- base::invokeRestart [18:02:00.198] is.null <- base::is.null [18:02:00.198] muffled <- FALSE [18:02:00.198] if (inherits(cond, "message")) { [18:02:00.198] muffled <- grepl(pattern, "muffleMessage") [18:02:00.198] if (muffled) [18:02:00.198] invokeRestart("muffleMessage") [18:02:00.198] } [18:02:00.198] else if (inherits(cond, "warning")) { [18:02:00.198] muffled <- grepl(pattern, "muffleWarning") [18:02:00.198] if (muffled) [18:02:00.198] invokeRestart("muffleWarning") [18:02:00.198] } [18:02:00.198] else if (inherits(cond, "condition")) { [18:02:00.198] if (!is.null(pattern)) { [18:02:00.198] computeRestarts <- base::computeRestarts [18:02:00.198] grepl <- base::grepl [18:02:00.198] restarts <- computeRestarts(cond) [18:02:00.198] for (restart in restarts) { [18:02:00.198] name <- restart$name [18:02:00.198] if (is.null(name)) [18:02:00.198] next [18:02:00.198] if (!grepl(pattern, name)) [18:02:00.198] next [18:02:00.198] invokeRestart(restart) [18:02:00.198] muffled <- TRUE [18:02:00.198] break [18:02:00.198] } [18:02:00.198] } [18:02:00.198] } [18:02:00.198] invisible(muffled) [18:02:00.198] } [18:02:00.198] muffleCondition(cond, pattern = "^muffle") [18:02:00.198] } [18:02:00.198] } [18:02:00.198] else { [18:02:00.198] if (TRUE) { [18:02:00.198] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.198] { [18:02:00.198] inherits <- base::inherits [18:02:00.198] invokeRestart <- base::invokeRestart [18:02:00.198] is.null <- base::is.null [18:02:00.198] muffled <- FALSE [18:02:00.198] if (inherits(cond, "message")) { [18:02:00.198] muffled <- grepl(pattern, "muffleMessage") [18:02:00.198] if (muffled) [18:02:00.198] invokeRestart("muffleMessage") [18:02:00.198] } [18:02:00.198] else if (inherits(cond, "warning")) { [18:02:00.198] muffled <- grepl(pattern, "muffleWarning") [18:02:00.198] if (muffled) [18:02:00.198] invokeRestart("muffleWarning") [18:02:00.198] } [18:02:00.198] else if (inherits(cond, "condition")) { [18:02:00.198] if (!is.null(pattern)) { [18:02:00.198] computeRestarts <- base::computeRestarts [18:02:00.198] grepl <- base::grepl [18:02:00.198] restarts <- computeRestarts(cond) [18:02:00.198] for (restart in restarts) { [18:02:00.198] name <- restart$name [18:02:00.198] if (is.null(name)) [18:02:00.198] next [18:02:00.198] if (!grepl(pattern, name)) [18:02:00.198] next [18:02:00.198] invokeRestart(restart) [18:02:00.198] muffled <- TRUE [18:02:00.198] break [18:02:00.198] } [18:02:00.198] } [18:02:00.198] } [18:02:00.198] invisible(muffled) [18:02:00.198] } [18:02:00.198] muffleCondition(cond, pattern = "^muffle") [18:02:00.198] } [18:02:00.198] } [18:02:00.198] } [18:02:00.198] })) [18:02:00.198] }, error = function(ex) { [18:02:00.198] base::structure(base::list(value = NULL, visible = NULL, [18:02:00.198] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.198] ...future.rng), started = ...future.startTime, [18:02:00.198] finished = Sys.time(), session_uuid = NA_character_, [18:02:00.198] version = "1.8"), class = "FutureResult") [18:02:00.198] }, finally = { [18:02:00.198] if (!identical(...future.workdir, getwd())) [18:02:00.198] setwd(...future.workdir) [18:02:00.198] { [18:02:00.198] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:00.198] ...future.oldOptions$nwarnings <- NULL [18:02:00.198] } [18:02:00.198] base::options(...future.oldOptions) [18:02:00.198] if (.Platform$OS.type == "windows") { [18:02:00.198] old_names <- names(...future.oldEnvVars) [18:02:00.198] envs <- base::Sys.getenv() [18:02:00.198] names <- names(envs) [18:02:00.198] common <- intersect(names, old_names) [18:02:00.198] added <- setdiff(names, old_names) [18:02:00.198] removed <- setdiff(old_names, names) [18:02:00.198] changed <- common[...future.oldEnvVars[common] != [18:02:00.198] envs[common]] [18:02:00.198] NAMES <- toupper(changed) [18:02:00.198] args <- list() [18:02:00.198] for (kk in seq_along(NAMES)) { [18:02:00.198] name <- changed[[kk]] [18:02:00.198] NAME <- NAMES[[kk]] [18:02:00.198] if (name != NAME && is.element(NAME, old_names)) [18:02:00.198] next [18:02:00.198] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.198] } [18:02:00.198] NAMES <- toupper(added) [18:02:00.198] for (kk in seq_along(NAMES)) { [18:02:00.198] name <- added[[kk]] [18:02:00.198] NAME <- NAMES[[kk]] [18:02:00.198] if (name != NAME && is.element(NAME, old_names)) [18:02:00.198] next [18:02:00.198] args[[name]] <- "" [18:02:00.198] } [18:02:00.198] NAMES <- toupper(removed) [18:02:00.198] for (kk in seq_along(NAMES)) { [18:02:00.198] name <- removed[[kk]] [18:02:00.198] NAME <- NAMES[[kk]] [18:02:00.198] if (name != NAME && is.element(NAME, old_names)) [18:02:00.198] next [18:02:00.198] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.198] } [18:02:00.198] if (length(args) > 0) [18:02:00.198] base::do.call(base::Sys.setenv, args = args) [18:02:00.198] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:00.198] } [18:02:00.198] else { [18:02:00.198] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:00.198] } [18:02:00.198] { [18:02:00.198] if (base::length(...future.futureOptionsAdded) > [18:02:00.198] 0L) { [18:02:00.198] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:00.198] base::names(opts) <- ...future.futureOptionsAdded [18:02:00.198] base::options(opts) [18:02:00.198] } [18:02:00.198] { [18:02:00.198] { [18:02:00.198] NULL [18:02:00.198] RNGkind("Mersenne-Twister") [18:02:00.198] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:00.198] inherits = FALSE) [18:02:00.198] } [18:02:00.198] options(future.plan = NULL) [18:02:00.198] if (is.na(NA_character_)) [18:02:00.198] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.198] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:00.198] future::plan(list(function (..., envir = parent.frame()) [18:02:00.198] { [18:02:00.198] future <- SequentialFuture(..., envir = envir) [18:02:00.198] if (!future$lazy) [18:02:00.198] future <- run(future) [18:02:00.198] invisible(future) [18:02:00.198] }), .cleanup = FALSE, .init = FALSE) [18:02:00.198] } [18:02:00.198] } [18:02:00.198] } [18:02:00.198] }) [18:02:00.198] if (TRUE) { [18:02:00.198] base::sink(type = "output", split = FALSE) [18:02:00.198] if (TRUE) { [18:02:00.198] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:00.198] } [18:02:00.198] else { [18:02:00.198] ...future.result["stdout"] <- base::list(NULL) [18:02:00.198] } [18:02:00.198] base::close(...future.stdout) [18:02:00.198] ...future.stdout <- NULL [18:02:00.198] } [18:02:00.198] ...future.result$conditions <- ...future.conditions [18:02:00.198] ...future.result$finished <- base::Sys.time() [18:02:00.198] ...future.result [18:02:00.198] } [18:02:00.202] assign_globals() ... [18:02:00.202] List of 1 [18:02:00.202] $ x: num 1 [18:02:00.202] - attr(*, "where")=List of 1 [18:02:00.202] ..$ x: [18:02:00.202] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:00.202] - attr(*, "resolved")= logi TRUE [18:02:00.202] - attr(*, "total_size")= num 56 [18:02:00.202] - attr(*, "already-done")= logi TRUE [18:02:00.205] - copied 'x' to environment [18:02:00.205] assign_globals() ... done [18:02:00.206] plan(): Setting new future strategy stack: [18:02:00.206] List of future strategies: [18:02:00.206] 1. sequential: [18:02:00.206] - args: function (..., envir = parent.frame()) [18:02:00.206] - tweaked: FALSE [18:02:00.206] - call: NULL [18:02:00.206] plan(): nbrOfWorkers() = 1 [18:02:00.207] plan(): Setting new future strategy stack: [18:02:00.208] List of future strategies: [18:02:00.208] 1. sequential: [18:02:00.208] - args: function (..., envir = parent.frame()) [18:02:00.208] - tweaked: FALSE [18:02:00.208] - call: plan(strategy) [18:02:00.208] plan(): nbrOfWorkers() = 1 [18:02:00.208] SequentialFuture started (and completed) [18:02:00.209] - Launch lazy future ... done [18:02:00.209] run() for 'SequentialFuture' ... done value(f) = '2' Warning: 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' [18:02:00.209] getGlobalsAndPackages() ... Warning: 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' [18:02:00.210] Searching for globals... Warning: 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' [18:02:00.212] - globals found: [3] '{', '<-', 'x' [18:02:00.212] Searching for globals ... DONE [18:02:00.212] Resolving globals: TRUE [18:02:00.212] Resolving any globals that are futures ... [18:02:00.212] - globals: [3] '{', '<-', 'x' [18:02:00.213] Resolving any globals that are futures ... DONE [18:02:00.213] Resolving futures part of globals (recursively) ... [18:02:00.213] resolve() on list ... [18:02:00.213] recursive: 99 [18:02:00.214] length: 1 [18:02:00.214] elements: 'x' [18:02:00.214] length: 0 (resolved future 1) [18:02:00.214] resolve() on list ... DONE [18:02:00.214] - globals: [1] 'x' [18:02:00.215] Resolving futures part of globals (recursively) ... DONE [18:02:00.215] The total size of the 1 globals is 1.01 KiB (1032 bytes) [18:02:00.215] 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') [18:02:00.215] - globals: [1] 'x' [18:02:00.216] [18:02:00.216] getGlobalsAndPackages() ... DONE [18:02:00.216] run() for 'Future' ... [18:02:00.216] - state: 'created' [18:02:00.216] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:00.217] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:00.217] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:00.217] - Field: 'label' [18:02:00.217] - Field: 'local' [18:02:00.217] - Field: 'owner' [18:02:00.218] - Field: 'envir' [18:02:00.218] - Field: 'packages' [18:02:00.218] - Field: 'gc' [18:02:00.218] - Field: 'conditions' [18:02:00.218] - Field: 'expr' [18:02:00.219] - Field: 'uuid' [18:02:00.219] - Field: 'seed' [18:02:00.219] - Field: 'version' [18:02:00.219] - Field: 'result' [18:02:00.219] - Field: 'asynchronous' [18:02:00.219] - Field: 'calls' [18:02:00.220] - Field: 'globals' [18:02:00.220] - Field: 'stdout' [18:02:00.220] - Field: 'earlySignal' [18:02:00.220] - Field: 'lazy' [18:02:00.220] - Field: 'state' [18:02:00.220] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:00.221] - Launch lazy future ... [18:02:00.221] Packages needed by the future expression (n = 0): [18:02:00.221] Packages needed by future strategies (n = 0): [18:02:00.222] { [18:02:00.222] { [18:02:00.222] { [18:02:00.222] ...future.startTime <- base::Sys.time() [18:02:00.222] { [18:02:00.222] { [18:02:00.222] { [18:02:00.222] base::local({ [18:02:00.222] has_future <- base::requireNamespace("future", [18:02:00.222] quietly = TRUE) [18:02:00.222] if (has_future) { [18:02:00.222] ns <- base::getNamespace("future") [18:02:00.222] version <- ns[[".package"]][["version"]] [18:02:00.222] if (is.null(version)) [18:02:00.222] version <- utils::packageVersion("future") [18:02:00.222] } [18:02:00.222] else { [18:02:00.222] version <- NULL [18:02:00.222] } [18:02:00.222] if (!has_future || version < "1.8.0") { [18:02:00.222] info <- base::c(r_version = base::gsub("R version ", [18:02:00.222] "", base::R.version$version.string), [18:02:00.222] platform = base::sprintf("%s (%s-bit)", [18:02:00.222] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:00.222] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:00.222] "release", "version")], collapse = " "), [18:02:00.222] hostname = base::Sys.info()[["nodename"]]) [18:02:00.222] info <- base::sprintf("%s: %s", base::names(info), [18:02:00.222] info) [18:02:00.222] info <- base::paste(info, collapse = "; ") [18:02:00.222] if (!has_future) { [18:02:00.222] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:00.222] info) [18:02:00.222] } [18:02:00.222] else { [18:02:00.222] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:00.222] info, version) [18:02:00.222] } [18:02:00.222] base::stop(msg) [18:02:00.222] } [18:02:00.222] }) [18:02:00.222] } [18:02:00.222] options(future.plan = NULL) [18:02:00.222] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.222] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:00.222] } [18:02:00.222] ...future.workdir <- getwd() [18:02:00.222] } [18:02:00.222] ...future.oldOptions <- base::as.list(base::.Options) [18:02:00.222] ...future.oldEnvVars <- base::Sys.getenv() [18:02:00.222] } [18:02:00.222] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:00.222] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:00.222] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:00.222] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:00.222] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:00.222] future.stdout.windows.reencode = NULL, width = 80L) [18:02:00.222] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:00.222] base::names(...future.oldOptions)) [18:02:00.222] } [18:02:00.222] if (FALSE) { [18:02:00.222] } [18:02:00.222] else { [18:02:00.222] if (TRUE) { [18:02:00.222] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:00.222] open = "w") [18:02:00.222] } [18:02:00.222] else { [18:02:00.222] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:00.222] windows = "NUL", "/dev/null"), open = "w") [18:02:00.222] } [18:02:00.222] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:00.222] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:00.222] base::sink(type = "output", split = FALSE) [18:02:00.222] base::close(...future.stdout) [18:02:00.222] }, add = TRUE) [18:02:00.222] } [18:02:00.222] ...future.frame <- base::sys.nframe() [18:02:00.222] ...future.conditions <- base::list() [18:02:00.222] ...future.rng <- base::globalenv()$.Random.seed [18:02:00.222] if (FALSE) { [18:02:00.222] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:00.222] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:00.222] } [18:02:00.222] ...future.result <- base::tryCatch({ [18:02:00.222] base::withCallingHandlers({ [18:02:00.222] ...future.value <- base::withVisible(base::local({ [18:02:00.222] x <- x() [18:02:00.222] x [18:02:00.222] })) [18:02:00.222] future::FutureResult(value = ...future.value$value, [18:02:00.222] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.222] ...future.rng), globalenv = if (FALSE) [18:02:00.222] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:00.222] ...future.globalenv.names)) [18:02:00.222] else NULL, started = ...future.startTime, version = "1.8") [18:02:00.222] }, condition = base::local({ [18:02:00.222] c <- base::c [18:02:00.222] inherits <- base::inherits [18:02:00.222] invokeRestart <- base::invokeRestart [18:02:00.222] length <- base::length [18:02:00.222] list <- base::list [18:02:00.222] seq.int <- base::seq.int [18:02:00.222] signalCondition <- base::signalCondition [18:02:00.222] sys.calls <- base::sys.calls [18:02:00.222] `[[` <- base::`[[` [18:02:00.222] `+` <- base::`+` [18:02:00.222] `<<-` <- base::`<<-` [18:02:00.222] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:00.222] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:00.222] 3L)] [18:02:00.222] } [18:02:00.222] function(cond) { [18:02:00.222] is_error <- inherits(cond, "error") [18:02:00.222] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:00.222] NULL) [18:02:00.222] if (is_error) { [18:02:00.222] sessionInformation <- function() { [18:02:00.222] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:00.222] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:00.222] search = base::search(), system = base::Sys.info()) [18:02:00.222] } [18:02:00.222] ...future.conditions[[length(...future.conditions) + [18:02:00.222] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:00.222] cond$call), session = sessionInformation(), [18:02:00.222] timestamp = base::Sys.time(), signaled = 0L) [18:02:00.222] signalCondition(cond) [18:02:00.222] } [18:02:00.222] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:00.222] "immediateCondition"))) { [18:02:00.222] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:00.222] ...future.conditions[[length(...future.conditions) + [18:02:00.222] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:00.222] if (TRUE && !signal) { [18:02:00.222] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.222] { [18:02:00.222] inherits <- base::inherits [18:02:00.222] invokeRestart <- base::invokeRestart [18:02:00.222] is.null <- base::is.null [18:02:00.222] muffled <- FALSE [18:02:00.222] if (inherits(cond, "message")) { [18:02:00.222] muffled <- grepl(pattern, "muffleMessage") [18:02:00.222] if (muffled) [18:02:00.222] invokeRestart("muffleMessage") [18:02:00.222] } [18:02:00.222] else if (inherits(cond, "warning")) { [18:02:00.222] muffled <- grepl(pattern, "muffleWarning") [18:02:00.222] if (muffled) [18:02:00.222] invokeRestart("muffleWarning") [18:02:00.222] } [18:02:00.222] else if (inherits(cond, "condition")) { [18:02:00.222] if (!is.null(pattern)) { [18:02:00.222] computeRestarts <- base::computeRestarts [18:02:00.222] grepl <- base::grepl [18:02:00.222] restarts <- computeRestarts(cond) [18:02:00.222] for (restart in restarts) { [18:02:00.222] name <- restart$name [18:02:00.222] if (is.null(name)) [18:02:00.222] next [18:02:00.222] if (!grepl(pattern, name)) [18:02:00.222] next [18:02:00.222] invokeRestart(restart) [18:02:00.222] muffled <- TRUE [18:02:00.222] break [18:02:00.222] } [18:02:00.222] } [18:02:00.222] } [18:02:00.222] invisible(muffled) [18:02:00.222] } [18:02:00.222] muffleCondition(cond, pattern = "^muffle") [18:02:00.222] } [18:02:00.222] } [18:02:00.222] else { [18:02:00.222] if (TRUE) { [18:02:00.222] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.222] { [18:02:00.222] inherits <- base::inherits [18:02:00.222] invokeRestart <- base::invokeRestart [18:02:00.222] is.null <- base::is.null [18:02:00.222] muffled <- FALSE [18:02:00.222] if (inherits(cond, "message")) { [18:02:00.222] muffled <- grepl(pattern, "muffleMessage") [18:02:00.222] if (muffled) [18:02:00.222] invokeRestart("muffleMessage") [18:02:00.222] } [18:02:00.222] else if (inherits(cond, "warning")) { [18:02:00.222] muffled <- grepl(pattern, "muffleWarning") [18:02:00.222] if (muffled) [18:02:00.222] invokeRestart("muffleWarning") [18:02:00.222] } [18:02:00.222] else if (inherits(cond, "condition")) { [18:02:00.222] if (!is.null(pattern)) { [18:02:00.222] computeRestarts <- base::computeRestarts [18:02:00.222] grepl <- base::grepl [18:02:00.222] restarts <- computeRestarts(cond) [18:02:00.222] for (restart in restarts) { [18:02:00.222] name <- restart$name [18:02:00.222] if (is.null(name)) [18:02:00.222] next [18:02:00.222] if (!grepl(pattern, name)) [18:02:00.222] next [18:02:00.222] invokeRestart(restart) [18:02:00.222] muffled <- TRUE [18:02:00.222] break [18:02:00.222] } [18:02:00.222] } [18:02:00.222] } [18:02:00.222] invisible(muffled) [18:02:00.222] } [18:02:00.222] muffleCondition(cond, pattern = "^muffle") [18:02:00.222] } [18:02:00.222] } [18:02:00.222] } [18:02:00.222] })) [18:02:00.222] }, error = function(ex) { [18:02:00.222] base::structure(base::list(value = NULL, visible = NULL, [18:02:00.222] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.222] ...future.rng), started = ...future.startTime, [18:02:00.222] finished = Sys.time(), session_uuid = NA_character_, [18:02:00.222] version = "1.8"), class = "FutureResult") [18:02:00.222] }, finally = { [18:02:00.222] if (!identical(...future.workdir, getwd())) [18:02:00.222] setwd(...future.workdir) [18:02:00.222] { [18:02:00.222] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:00.222] ...future.oldOptions$nwarnings <- NULL [18:02:00.222] } [18:02:00.222] base::options(...future.oldOptions) [18:02:00.222] if (.Platform$OS.type == "windows") { [18:02:00.222] old_names <- names(...future.oldEnvVars) [18:02:00.222] envs <- base::Sys.getenv() [18:02:00.222] names <- names(envs) [18:02:00.222] common <- intersect(names, old_names) [18:02:00.222] added <- setdiff(names, old_names) [18:02:00.222] removed <- setdiff(old_names, names) [18:02:00.222] changed <- common[...future.oldEnvVars[common] != [18:02:00.222] envs[common]] [18:02:00.222] NAMES <- toupper(changed) [18:02:00.222] args <- list() [18:02:00.222] for (kk in seq_along(NAMES)) { [18:02:00.222] name <- changed[[kk]] [18:02:00.222] NAME <- NAMES[[kk]] [18:02:00.222] if (name != NAME && is.element(NAME, old_names)) [18:02:00.222] next [18:02:00.222] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.222] } [18:02:00.222] NAMES <- toupper(added) [18:02:00.222] for (kk in seq_along(NAMES)) { [18:02:00.222] name <- added[[kk]] [18:02:00.222] NAME <- NAMES[[kk]] [18:02:00.222] if (name != NAME && is.element(NAME, old_names)) [18:02:00.222] next [18:02:00.222] args[[name]] <- "" [18:02:00.222] } [18:02:00.222] NAMES <- toupper(removed) [18:02:00.222] for (kk in seq_along(NAMES)) { [18:02:00.222] name <- removed[[kk]] [18:02:00.222] NAME <- NAMES[[kk]] [18:02:00.222] if (name != NAME && is.element(NAME, old_names)) [18:02:00.222] next [18:02:00.222] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.222] } [18:02:00.222] if (length(args) > 0) [18:02:00.222] base::do.call(base::Sys.setenv, args = args) [18:02:00.222] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:00.222] } [18:02:00.222] else { [18:02:00.222] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:00.222] } [18:02:00.222] { [18:02:00.222] if (base::length(...future.futureOptionsAdded) > [18:02:00.222] 0L) { [18:02:00.222] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:00.222] base::names(opts) <- ...future.futureOptionsAdded [18:02:00.222] base::options(opts) [18:02:00.222] } [18:02:00.222] { [18:02:00.222] { [18:02:00.222] NULL [18:02:00.222] RNGkind("Mersenne-Twister") [18:02:00.222] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:00.222] inherits = FALSE) [18:02:00.222] } [18:02:00.222] options(future.plan = NULL) [18:02:00.222] if (is.na(NA_character_)) [18:02:00.222] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.222] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:00.222] future::plan(list(function (..., envir = parent.frame()) [18:02:00.222] { [18:02:00.222] future <- SequentialFuture(..., envir = envir) [18:02:00.222] if (!future$lazy) [18:02:00.222] future <- run(future) [18:02:00.222] invisible(future) [18:02:00.222] }), .cleanup = FALSE, .init = FALSE) [18:02:00.222] } [18:02:00.222] } [18:02:00.222] } [18:02:00.222] }) [18:02:00.222] if (TRUE) { [18:02:00.222] base::sink(type = "output", split = FALSE) [18:02:00.222] if (TRUE) { [18:02:00.222] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:00.222] } [18:02:00.222] else { [18:02:00.222] ...future.result["stdout"] <- base::list(NULL) [18:02:00.222] } [18:02:00.222] base::close(...future.stdout) [18:02:00.222] ...future.stdout <- NULL [18:02:00.222] } [18:02:00.222] ...future.result$conditions <- ...future.conditions [18:02:00.222] ...future.result$finished <- base::Sys.time() [18:02:00.222] ...future.result [18:02:00.222] } [18:02:00.225] assign_globals() ... [18:02:00.225] List of 1 [18:02:00.225] $ x:function () [18:02:00.225] - attr(*, "where")=List of 1 [18:02:00.225] ..$ x: [18:02:00.225] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:00.225] - attr(*, "resolved")= logi TRUE [18:02:00.225] - attr(*, "total_size")= num 1032 [18:02:00.225] - attr(*, "already-done")= logi TRUE [18:02:00.228] - reassign environment for 'x' [18:02:00.228] - copied 'x' to environment [18:02:00.229] assign_globals() ... done [18:02:00.229] plan(): Setting new future strategy stack: [18:02:00.229] List of future strategies: [18:02:00.229] 1. sequential: [18:02:00.229] - args: function (..., envir = parent.frame()) [18:02:00.229] - tweaked: FALSE [18:02:00.229] - call: NULL [18:02:00.230] plan(): nbrOfWorkers() = 1 [18:02:00.232] plan(): Setting new future strategy stack: [18:02:00.232] List of future strategies: [18:02:00.232] 1. sequential: [18:02:00.232] - args: function (..., envir = parent.frame()) [18:02:00.232] - tweaked: FALSE [18:02:00.232] - call: plan(strategy) [18:02:00.232] plan(): nbrOfWorkers() = 1 [18:02:00.233] SequentialFuture started (and completed) [18:02:00.233] - Launch lazy future ... done [18:02:00.233] 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') ... [18:02:00.241] plan(): Setting new future strategy stack: [18:02:00.241] List of future strategies: [18:02:00.241] 1. multisession: [18:02:00.241] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [18:02:00.241] - tweaked: FALSE [18:02:00.241] - call: plan(strategy) [18:02:00.242] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [18:02:00.242] multisession: [18:02:00.242] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [18:02:00.242] - tweaked: FALSE [18:02:00.242] - call: plan(strategy) Warning: 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' [18:02:00.247] getGlobalsAndPackages() ... Warning: 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' [18:02:00.247] Not searching for globals [18:02:00.248] - globals: [0] [18:02:00.248] getGlobalsAndPackages() ... DONE [18:02:00.248] [local output] makeClusterPSOCK() ... [18:02:00.278] [local output] Workers: [n = 2] 'localhost', 'localhost' [18:02:00.285] [local output] Base port: 24869 [18:02:00.285] [local output] Getting setup options for 2 cluster nodes ... [18:02:00.285] [local output] - Node 1 of 2 ... [18:02:00.286] [local output] localMachine=TRUE => revtunnel=FALSE [18:02:00.287] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp0Egs7i/worker.rank=1.parallelly.parent=103600.194b04c413acd.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/Rtmp0Egs7i/worker.rank=1.parallelly.parent=103600.194b04c413acd.pid\")"' [18:02:00.726] - Possible to infer worker's PID: TRUE [18:02:00.727] [local output] Rscript port: 24869 [18:02:00.727] [local output] - Node 2 of 2 ... [18:02:00.728] [local output] localMachine=TRUE => revtunnel=FALSE [18:02:00.729] [local output] Rscript port: 24869 [18:02:00.729] [local output] Getting setup options for 2 cluster nodes ... done [18:02:00.730] [local output] - Parallel setup requested for some PSOCK nodes [18:02:00.730] [local output] Setting up PSOCK nodes in parallel [18:02:00.731] List of 36 [18:02:00.731] $ worker : chr "localhost" [18:02:00.731] ..- attr(*, "localhost")= logi TRUE [18:02:00.731] $ master : chr "localhost" [18:02:00.731] $ port : int 24869 [18:02:00.731] $ connectTimeout : num 120 [18:02:00.731] $ timeout : num 120 [18:02:00.731] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [18:02:00.731] $ homogeneous : logi TRUE [18:02:00.731] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=globals,tricky.R:103600:CRANWIN3"| __truncated__ [18:02:00.731] $ rscript_envs : NULL [18:02:00.731] $ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:02:00.731] $ rscript_startup : NULL [18:02:00.731] $ rscript_sh : chr "cmd" [18:02:00.731] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:02:00.731] $ methods : logi TRUE [18:02:00.731] $ socketOptions : chr "no-delay" [18:02:00.731] $ useXDR : logi FALSE [18:02:00.731] $ outfile : chr "/dev/null" [18:02:00.731] $ renice : int NA [18:02:00.731] $ rshcmd : NULL [18:02:00.731] $ user : chr(0) [18:02:00.731] $ revtunnel : logi FALSE [18:02:00.731] $ rshlogfile : NULL [18:02:00.731] $ rshopts : chr(0) [18:02:00.731] $ rank : int 1 [18:02:00.731] $ manual : logi FALSE [18:02:00.731] $ dryrun : logi FALSE [18:02:00.731] $ quiet : logi FALSE [18:02:00.731] $ setup_strategy : chr "parallel" [18:02:00.731] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:02:00.731] $ pidfile : chr "D:/temp/Rtmp0Egs7i/worker.rank=1.parallelly.parent=103600.194b04c413acd.pid" [18:02:00.731] $ rshcmd_label : NULL [18:02:00.731] $ rsh_call : NULL [18:02:00.731] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:02:00.731] $ localMachine : logi TRUE [18:02:00.731] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [18:02:00.731] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [18:02:00.731] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [18:02:00.731] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [18:02:00.731] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [18:02:00.731] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [18:02:00.731] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [18:02:00.731] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [18:02:00.731] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [18:02:00.731] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [18:02:00.731] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [18:02:00.731] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [18:02:00.731] "parallel"), action = c("launch", "options"), verbose = FALSE) [18:02:00.731] $ arguments :List of 28 [18:02:00.731] ..$ worker : chr "localhost" [18:02:00.731] ..$ master : NULL [18:02:00.731] ..$ port : int 24869 [18:02:00.731] ..$ connectTimeout : num 120 [18:02:00.731] ..$ timeout : num 120 [18:02:00.731] ..$ rscript : NULL [18:02:00.731] ..$ homogeneous : NULL [18:02:00.731] ..$ rscript_args : NULL [18:02:00.731] ..$ rscript_envs : NULL [18:02:00.731] ..$ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:02:00.731] ..$ rscript_startup : NULL [18:02:00.731] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [18:02:00.731] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:02:00.731] ..$ methods : logi TRUE [18:02:00.731] ..$ socketOptions : chr "no-delay" [18:02:00.731] ..$ useXDR : logi FALSE [18:02:00.731] ..$ outfile : chr "/dev/null" [18:02:00.731] ..$ renice : int NA [18:02:00.731] ..$ rshcmd : NULL [18:02:00.731] ..$ user : NULL [18:02:00.731] ..$ revtunnel : logi NA [18:02:00.731] ..$ rshlogfile : NULL [18:02:00.731] ..$ rshopts : NULL [18:02:00.731] ..$ rank : int 1 [18:02:00.731] ..$ manual : logi FALSE [18:02:00.731] ..$ dryrun : logi FALSE [18:02:00.731] ..$ quiet : logi FALSE [18:02:00.731] ..$ setup_strategy : chr "parallel" [18:02:00.731] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [18:02:00.752] [local output] System call to launch all workers: [18:02:00.753] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=globals,tricky.R:103600:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp0Egs7i/worker.rank=1.parallelly.parent=103600.194b04c413acd.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=24869 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [18:02:00.753] [local output] Starting PSOCK main server [18:02:00.762] [local output] Workers launched [18:02:00.763] [local output] Waiting for workers to connect back [18:02:00.763] - [local output] 0 workers out of 2 ready [18:02:00.932] - [local output] 0 workers out of 2 ready [18:02:00.933] - [local output] 1 workers out of 2 ready [18:02:00.935] - [local output] 1 workers out of 2 ready [18:02:00.936] - [local output] 2 workers out of 2 ready [18:02:00.936] [local output] Launching of workers completed [18:02:00.937] [local output] Collecting session information from workers [18:02:00.938] [local output] - Worker #1 of 2 [18:02:00.938] [local output] - Worker #2 of 2 [18:02:00.939] [local output] makeClusterPSOCK() ... done [18:02:00.952] Packages needed by the future expression (n = 0): [18:02:00.952] Packages needed by future strategies (n = 0): [18:02:00.952] { [18:02:00.952] { [18:02:00.952] { [18:02:00.952] ...future.startTime <- base::Sys.time() [18:02:00.952] { [18:02:00.952] { [18:02:00.952] { [18:02:00.952] { [18:02:00.952] base::local({ [18:02:00.952] has_future <- base::requireNamespace("future", [18:02:00.952] quietly = TRUE) [18:02:00.952] if (has_future) { [18:02:00.952] ns <- base::getNamespace("future") [18:02:00.952] version <- ns[[".package"]][["version"]] [18:02:00.952] if (is.null(version)) [18:02:00.952] version <- utils::packageVersion("future") [18:02:00.952] } [18:02:00.952] else { [18:02:00.952] version <- NULL [18:02:00.952] } [18:02:00.952] if (!has_future || version < "1.8.0") { [18:02:00.952] info <- base::c(r_version = base::gsub("R version ", [18:02:00.952] "", base::R.version$version.string), [18:02:00.952] platform = base::sprintf("%s (%s-bit)", [18:02:00.952] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:00.952] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:00.952] "release", "version")], collapse = " "), [18:02:00.952] hostname = base::Sys.info()[["nodename"]]) [18:02:00.952] info <- base::sprintf("%s: %s", base::names(info), [18:02:00.952] info) [18:02:00.952] info <- base::paste(info, collapse = "; ") [18:02:00.952] if (!has_future) { [18:02:00.952] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:00.952] info) [18:02:00.952] } [18:02:00.952] else { [18:02:00.952] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:00.952] info, version) [18:02:00.952] } [18:02:00.952] base::stop(msg) [18:02:00.952] } [18:02:00.952] }) [18:02:00.952] } [18:02:00.952] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:00.952] base::options(mc.cores = 1L) [18:02:00.952] } [18:02:00.952] options(future.plan = NULL) [18:02:00.952] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.952] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:00.952] } [18:02:00.952] ...future.workdir <- getwd() [18:02:00.952] } [18:02:00.952] ...future.oldOptions <- base::as.list(base::.Options) [18:02:00.952] ...future.oldEnvVars <- base::Sys.getenv() [18:02:00.952] } [18:02:00.952] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:00.952] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:00.952] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:00.952] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:00.952] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:00.952] future.stdout.windows.reencode = NULL, width = 80L) [18:02:00.952] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:00.952] base::names(...future.oldOptions)) [18:02:00.952] } [18:02:00.952] if (FALSE) { [18:02:00.952] } [18:02:00.952] else { [18:02:00.952] if (TRUE) { [18:02:00.952] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:00.952] open = "w") [18:02:00.952] } [18:02:00.952] else { [18:02:00.952] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:00.952] windows = "NUL", "/dev/null"), open = "w") [18:02:00.952] } [18:02:00.952] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:00.952] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:00.952] base::sink(type = "output", split = FALSE) [18:02:00.952] base::close(...future.stdout) [18:02:00.952] }, add = TRUE) [18:02:00.952] } [18:02:00.952] ...future.frame <- base::sys.nframe() [18:02:00.952] ...future.conditions <- base::list() [18:02:00.952] ...future.rng <- base::globalenv()$.Random.seed [18:02:00.952] if (FALSE) { [18:02:00.952] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:00.952] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:00.952] } [18:02:00.952] ...future.result <- base::tryCatch({ [18:02:00.952] base::withCallingHandlers({ [18:02:00.952] ...future.value <- base::withVisible(base::local({ [18:02:00.952] ...future.makeSendCondition <- local({ [18:02:00.952] sendCondition <- NULL [18:02:00.952] function(frame = 1L) { [18:02:00.952] if (is.function(sendCondition)) [18:02:00.952] return(sendCondition) [18:02:00.952] ns <- getNamespace("parallel") [18:02:00.952] if (exists("sendData", mode = "function", [18:02:00.952] envir = ns)) { [18:02:00.952] parallel_sendData <- get("sendData", mode = "function", [18:02:00.952] envir = ns) [18:02:00.952] envir <- sys.frame(frame) [18:02:00.952] master <- NULL [18:02:00.952] while (!identical(envir, .GlobalEnv) && [18:02:00.952] !identical(envir, emptyenv())) { [18:02:00.952] if (exists("master", mode = "list", envir = envir, [18:02:00.952] inherits = FALSE)) { [18:02:00.952] master <- get("master", mode = "list", [18:02:00.952] envir = envir, inherits = FALSE) [18:02:00.952] if (inherits(master, c("SOCKnode", [18:02:00.952] "SOCK0node"))) { [18:02:00.952] sendCondition <<- function(cond) { [18:02:00.952] data <- list(type = "VALUE", value = cond, [18:02:00.952] success = TRUE) [18:02:00.952] parallel_sendData(master, data) [18:02:00.952] } [18:02:00.952] return(sendCondition) [18:02:00.952] } [18:02:00.952] } [18:02:00.952] frame <- frame + 1L [18:02:00.952] envir <- sys.frame(frame) [18:02:00.952] } [18:02:00.952] } [18:02:00.952] sendCondition <<- function(cond) NULL [18:02:00.952] } [18:02:00.952] }) [18:02:00.952] withCallingHandlers({ [18:02:00.952] NA [18:02:00.952] }, immediateCondition = function(cond) { [18:02:00.952] sendCondition <- ...future.makeSendCondition() [18:02:00.952] sendCondition(cond) [18:02:00.952] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.952] { [18:02:00.952] inherits <- base::inherits [18:02:00.952] invokeRestart <- base::invokeRestart [18:02:00.952] is.null <- base::is.null [18:02:00.952] muffled <- FALSE [18:02:00.952] if (inherits(cond, "message")) { [18:02:00.952] muffled <- grepl(pattern, "muffleMessage") [18:02:00.952] if (muffled) [18:02:00.952] invokeRestart("muffleMessage") [18:02:00.952] } [18:02:00.952] else if (inherits(cond, "warning")) { [18:02:00.952] muffled <- grepl(pattern, "muffleWarning") [18:02:00.952] if (muffled) [18:02:00.952] invokeRestart("muffleWarning") [18:02:00.952] } [18:02:00.952] else if (inherits(cond, "condition")) { [18:02:00.952] if (!is.null(pattern)) { [18:02:00.952] computeRestarts <- base::computeRestarts [18:02:00.952] grepl <- base::grepl [18:02:00.952] restarts <- computeRestarts(cond) [18:02:00.952] for (restart in restarts) { [18:02:00.952] name <- restart$name [18:02:00.952] if (is.null(name)) [18:02:00.952] next [18:02:00.952] if (!grepl(pattern, name)) [18:02:00.952] next [18:02:00.952] invokeRestart(restart) [18:02:00.952] muffled <- TRUE [18:02:00.952] break [18:02:00.952] } [18:02:00.952] } [18:02:00.952] } [18:02:00.952] invisible(muffled) [18:02:00.952] } [18:02:00.952] muffleCondition(cond) [18:02:00.952] }) [18:02:00.952] })) [18:02:00.952] future::FutureResult(value = ...future.value$value, [18:02:00.952] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.952] ...future.rng), globalenv = if (FALSE) [18:02:00.952] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:00.952] ...future.globalenv.names)) [18:02:00.952] else NULL, started = ...future.startTime, version = "1.8") [18:02:00.952] }, condition = base::local({ [18:02:00.952] c <- base::c [18:02:00.952] inherits <- base::inherits [18:02:00.952] invokeRestart <- base::invokeRestart [18:02:00.952] length <- base::length [18:02:00.952] list <- base::list [18:02:00.952] seq.int <- base::seq.int [18:02:00.952] signalCondition <- base::signalCondition [18:02:00.952] sys.calls <- base::sys.calls [18:02:00.952] `[[` <- base::`[[` [18:02:00.952] `+` <- base::`+` [18:02:00.952] `<<-` <- base::`<<-` [18:02:00.952] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:00.952] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:00.952] 3L)] [18:02:00.952] } [18:02:00.952] function(cond) { [18:02:00.952] is_error <- inherits(cond, "error") [18:02:00.952] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:00.952] NULL) [18:02:00.952] if (is_error) { [18:02:00.952] sessionInformation <- function() { [18:02:00.952] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:00.952] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:00.952] search = base::search(), system = base::Sys.info()) [18:02:00.952] } [18:02:00.952] ...future.conditions[[length(...future.conditions) + [18:02:00.952] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:00.952] cond$call), session = sessionInformation(), [18:02:00.952] timestamp = base::Sys.time(), signaled = 0L) [18:02:00.952] signalCondition(cond) [18:02:00.952] } [18:02:00.952] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:00.952] "immediateCondition"))) { [18:02:00.952] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:00.952] ...future.conditions[[length(...future.conditions) + [18:02:00.952] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:00.952] if (TRUE && !signal) { [18:02:00.952] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.952] { [18:02:00.952] inherits <- base::inherits [18:02:00.952] invokeRestart <- base::invokeRestart [18:02:00.952] is.null <- base::is.null [18:02:00.952] muffled <- FALSE [18:02:00.952] if (inherits(cond, "message")) { [18:02:00.952] muffled <- grepl(pattern, "muffleMessage") [18:02:00.952] if (muffled) [18:02:00.952] invokeRestart("muffleMessage") [18:02:00.952] } [18:02:00.952] else if (inherits(cond, "warning")) { [18:02:00.952] muffled <- grepl(pattern, "muffleWarning") [18:02:00.952] if (muffled) [18:02:00.952] invokeRestart("muffleWarning") [18:02:00.952] } [18:02:00.952] else if (inherits(cond, "condition")) { [18:02:00.952] if (!is.null(pattern)) { [18:02:00.952] computeRestarts <- base::computeRestarts [18:02:00.952] grepl <- base::grepl [18:02:00.952] restarts <- computeRestarts(cond) [18:02:00.952] for (restart in restarts) { [18:02:00.952] name <- restart$name [18:02:00.952] if (is.null(name)) [18:02:00.952] next [18:02:00.952] if (!grepl(pattern, name)) [18:02:00.952] next [18:02:00.952] invokeRestart(restart) [18:02:00.952] muffled <- TRUE [18:02:00.952] break [18:02:00.952] } [18:02:00.952] } [18:02:00.952] } [18:02:00.952] invisible(muffled) [18:02:00.952] } [18:02:00.952] muffleCondition(cond, pattern = "^muffle") [18:02:00.952] } [18:02:00.952] } [18:02:00.952] else { [18:02:00.952] if (TRUE) { [18:02:00.952] muffleCondition <- function (cond, pattern = "^muffle") [18:02:00.952] { [18:02:00.952] inherits <- base::inherits [18:02:00.952] invokeRestart <- base::invokeRestart [18:02:00.952] is.null <- base::is.null [18:02:00.952] muffled <- FALSE [18:02:00.952] if (inherits(cond, "message")) { [18:02:00.952] muffled <- grepl(pattern, "muffleMessage") [18:02:00.952] if (muffled) [18:02:00.952] invokeRestart("muffleMessage") [18:02:00.952] } [18:02:00.952] else if (inherits(cond, "warning")) { [18:02:00.952] muffled <- grepl(pattern, "muffleWarning") [18:02:00.952] if (muffled) [18:02:00.952] invokeRestart("muffleWarning") [18:02:00.952] } [18:02:00.952] else if (inherits(cond, "condition")) { [18:02:00.952] if (!is.null(pattern)) { [18:02:00.952] computeRestarts <- base::computeRestarts [18:02:00.952] grepl <- base::grepl [18:02:00.952] restarts <- computeRestarts(cond) [18:02:00.952] for (restart in restarts) { [18:02:00.952] name <- restart$name [18:02:00.952] if (is.null(name)) [18:02:00.952] next [18:02:00.952] if (!grepl(pattern, name)) [18:02:00.952] next [18:02:00.952] invokeRestart(restart) [18:02:00.952] muffled <- TRUE [18:02:00.952] break [18:02:00.952] } [18:02:00.952] } [18:02:00.952] } [18:02:00.952] invisible(muffled) [18:02:00.952] } [18:02:00.952] muffleCondition(cond, pattern = "^muffle") [18:02:00.952] } [18:02:00.952] } [18:02:00.952] } [18:02:00.952] })) [18:02:00.952] }, error = function(ex) { [18:02:00.952] base::structure(base::list(value = NULL, visible = NULL, [18:02:00.952] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:00.952] ...future.rng), started = ...future.startTime, [18:02:00.952] finished = Sys.time(), session_uuid = NA_character_, [18:02:00.952] version = "1.8"), class = "FutureResult") [18:02:00.952] }, finally = { [18:02:00.952] if (!identical(...future.workdir, getwd())) [18:02:00.952] setwd(...future.workdir) [18:02:00.952] { [18:02:00.952] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:00.952] ...future.oldOptions$nwarnings <- NULL [18:02:00.952] } [18:02:00.952] base::options(...future.oldOptions) [18:02:00.952] if (.Platform$OS.type == "windows") { [18:02:00.952] old_names <- names(...future.oldEnvVars) [18:02:00.952] envs <- base::Sys.getenv() [18:02:00.952] names <- names(envs) [18:02:00.952] common <- intersect(names, old_names) [18:02:00.952] added <- setdiff(names, old_names) [18:02:00.952] removed <- setdiff(old_names, names) [18:02:00.952] changed <- common[...future.oldEnvVars[common] != [18:02:00.952] envs[common]] [18:02:00.952] NAMES <- toupper(changed) [18:02:00.952] args <- list() [18:02:00.952] for (kk in seq_along(NAMES)) { [18:02:00.952] name <- changed[[kk]] [18:02:00.952] NAME <- NAMES[[kk]] [18:02:00.952] if (name != NAME && is.element(NAME, old_names)) [18:02:00.952] next [18:02:00.952] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.952] } [18:02:00.952] NAMES <- toupper(added) [18:02:00.952] for (kk in seq_along(NAMES)) { [18:02:00.952] name <- added[[kk]] [18:02:00.952] NAME <- NAMES[[kk]] [18:02:00.952] if (name != NAME && is.element(NAME, old_names)) [18:02:00.952] next [18:02:00.952] args[[name]] <- "" [18:02:00.952] } [18:02:00.952] NAMES <- toupper(removed) [18:02:00.952] for (kk in seq_along(NAMES)) { [18:02:00.952] name <- removed[[kk]] [18:02:00.952] NAME <- NAMES[[kk]] [18:02:00.952] if (name != NAME && is.element(NAME, old_names)) [18:02:00.952] next [18:02:00.952] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:00.952] } [18:02:00.952] if (length(args) > 0) [18:02:00.952] base::do.call(base::Sys.setenv, args = args) [18:02:00.952] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:00.952] } [18:02:00.952] else { [18:02:00.952] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:00.952] } [18:02:00.952] { [18:02:00.952] if (base::length(...future.futureOptionsAdded) > [18:02:00.952] 0L) { [18:02:00.952] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:00.952] base::names(opts) <- ...future.futureOptionsAdded [18:02:00.952] base::options(opts) [18:02:00.952] } [18:02:00.952] { [18:02:00.952] { [18:02:00.952] base::options(mc.cores = ...future.mc.cores.old) [18:02:00.952] NULL [18:02:00.952] } [18:02:00.952] options(future.plan = NULL) [18:02:00.952] if (is.na(NA_character_)) [18:02:00.952] Sys.unsetenv("R_FUTURE_PLAN") [18:02:00.952] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:00.952] future::plan(list(function (..., workers = availableCores(), [18:02:00.952] lazy = FALSE, rscript_libs = .libPaths(), [18:02:00.952] envir = parent.frame()) [18:02:00.952] { [18:02:00.952] if (is.function(workers)) [18:02:00.952] workers <- workers() [18:02:00.952] workers <- structure(as.integer(workers), [18:02:00.952] class = class(workers)) [18:02:00.952] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:00.952] workers >= 1) [18:02:00.952] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:00.952] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:00.952] } [18:02:00.952] future <- MultisessionFuture(..., workers = workers, [18:02:00.952] lazy = lazy, rscript_libs = rscript_libs, [18:02:00.952] envir = envir) [18:02:00.952] if (!future$lazy) [18:02:00.952] future <- run(future) [18:02:00.952] invisible(future) [18:02:00.952] }), .cleanup = FALSE, .init = FALSE) [18:02:00.952] } [18:02:00.952] } [18:02:00.952] } [18:02:00.952] }) [18:02:00.952] if (TRUE) { [18:02:00.952] base::sink(type = "output", split = FALSE) [18:02:00.952] if (TRUE) { [18:02:00.952] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:00.952] } [18:02:00.952] else { [18:02:00.952] ...future.result["stdout"] <- base::list(NULL) [18:02:00.952] } [18:02:00.952] base::close(...future.stdout) [18:02:00.952] ...future.stdout <- NULL [18:02:00.952] } [18:02:00.952] ...future.result$conditions <- ...future.conditions [18:02:00.952] ...future.result$finished <- base::Sys.time() [18:02:00.952] ...future.result [18:02:00.952] } [18:02:01.035] MultisessionFuture started [18:02:01.036] result() for ClusterFuture ... [18:02:01.036] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.037] - Validating connection of MultisessionFuture [18:02:01.094] - received message: FutureResult [18:02:01.094] - Received FutureResult [18:02:01.098] - Erased future from FutureRegistry [18:02:01.098] result() for ClusterFuture ... [18:02:01.098] - result already collected: FutureResult [18:02:01.098] result() for ClusterFuture ... done [18:02:01.099] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.099] result() for ClusterFuture ... done [18:02:01.099] result() for ClusterFuture ... [18:02:01.099] - result already collected: FutureResult [18:02:01.099] result() for ClusterFuture ... done [18:02:01.100] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [18:02:01.102] plan(): nbrOfWorkers() = 2 Method for identifying globals: 'conservative' ... Warning: 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' [18:02:01.103] getGlobalsAndPackages() ... Warning: 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' [18:02:01.103] Searching for globals... Warning: 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' [18:02:01.105] - globals found: [3] '{', '<-', '*' [18:02:01.106] Searching for globals ... DONE [18:02:01.106] Resolving globals: TRUE [18:02:01.106] Resolving any globals that are futures ... [18:02:01.106] - globals: [3] '{', '<-', '*' [18:02:01.106] Resolving any globals that are futures ... DONE [18:02:01.107] [18:02:01.107] [18:02:01.107] getGlobalsAndPackages() ... DONE [18:02:01.108] run() for 'Future' ... [18:02:01.108] - state: 'created' [18:02:01.108] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.122] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.123] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.123] - Field: 'node' [18:02:01.123] - Field: 'label' [18:02:01.123] - Field: 'local' [18:02:01.124] - Field: 'owner' [18:02:01.124] - Field: 'envir' [18:02:01.124] - Field: 'workers' [18:02:01.124] - Field: 'packages' [18:02:01.124] - Field: 'gc' [18:02:01.125] - Field: 'conditions' [18:02:01.125] - Field: 'persistent' [18:02:01.125] - Field: 'expr' [18:02:01.125] - Field: 'uuid' [18:02:01.125] - Field: 'seed' [18:02:01.125] - Field: 'version' [18:02:01.126] - Field: 'result' [18:02:01.126] - Field: 'asynchronous' [18:02:01.126] - Field: 'calls' [18:02:01.126] - Field: 'globals' [18:02:01.126] - Field: 'stdout' [18:02:01.127] - Field: 'earlySignal' [18:02:01.127] - Field: 'lazy' [18:02:01.127] - Field: 'state' [18:02:01.127] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.127] - Launch lazy future ... [18:02:01.128] Packages needed by the future expression (n = 0): [18:02:01.128] Packages needed by future strategies (n = 0): [18:02:01.129] { [18:02:01.129] { [18:02:01.129] { [18:02:01.129] ...future.startTime <- base::Sys.time() [18:02:01.129] { [18:02:01.129] { [18:02:01.129] { [18:02:01.129] { [18:02:01.129] base::local({ [18:02:01.129] has_future <- base::requireNamespace("future", [18:02:01.129] quietly = TRUE) [18:02:01.129] if (has_future) { [18:02:01.129] ns <- base::getNamespace("future") [18:02:01.129] version <- ns[[".package"]][["version"]] [18:02:01.129] if (is.null(version)) [18:02:01.129] version <- utils::packageVersion("future") [18:02:01.129] } [18:02:01.129] else { [18:02:01.129] version <- NULL [18:02:01.129] } [18:02:01.129] if (!has_future || version < "1.8.0") { [18:02:01.129] info <- base::c(r_version = base::gsub("R version ", [18:02:01.129] "", base::R.version$version.string), [18:02:01.129] platform = base::sprintf("%s (%s-bit)", [18:02:01.129] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:01.129] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.129] "release", "version")], collapse = " "), [18:02:01.129] hostname = base::Sys.info()[["nodename"]]) [18:02:01.129] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.129] info) [18:02:01.129] info <- base::paste(info, collapse = "; ") [18:02:01.129] if (!has_future) { [18:02:01.129] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.129] info) [18:02:01.129] } [18:02:01.129] else { [18:02:01.129] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.129] info, version) [18:02:01.129] } [18:02:01.129] base::stop(msg) [18:02:01.129] } [18:02:01.129] }) [18:02:01.129] } [18:02:01.129] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.129] base::options(mc.cores = 1L) [18:02:01.129] } [18:02:01.129] options(future.plan = NULL) [18:02:01.129] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.129] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.129] } [18:02:01.129] ...future.workdir <- getwd() [18:02:01.129] } [18:02:01.129] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.129] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.129] } [18:02:01.129] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.129] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.129] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.129] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.129] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.129] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.129] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.129] base::names(...future.oldOptions)) [18:02:01.129] } [18:02:01.129] if (FALSE) { [18:02:01.129] } [18:02:01.129] else { [18:02:01.129] if (TRUE) { [18:02:01.129] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.129] open = "w") [18:02:01.129] } [18:02:01.129] else { [18:02:01.129] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.129] windows = "NUL", "/dev/null"), open = "w") [18:02:01.129] } [18:02:01.129] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.129] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.129] base::sink(type = "output", split = FALSE) [18:02:01.129] base::close(...future.stdout) [18:02:01.129] }, add = TRUE) [18:02:01.129] } [18:02:01.129] ...future.frame <- base::sys.nframe() [18:02:01.129] ...future.conditions <- base::list() [18:02:01.129] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.129] if (FALSE) { [18:02:01.129] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.129] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.129] } [18:02:01.129] ...future.result <- base::tryCatch({ [18:02:01.129] base::withCallingHandlers({ [18:02:01.129] ...future.value <- base::withVisible(base::local({ [18:02:01.129] ...future.makeSendCondition <- local({ [18:02:01.129] sendCondition <- NULL [18:02:01.129] function(frame = 1L) { [18:02:01.129] if (is.function(sendCondition)) [18:02:01.129] return(sendCondition) [18:02:01.129] ns <- getNamespace("parallel") [18:02:01.129] if (exists("sendData", mode = "function", [18:02:01.129] envir = ns)) { [18:02:01.129] parallel_sendData <- get("sendData", mode = "function", [18:02:01.129] envir = ns) [18:02:01.129] envir <- sys.frame(frame) [18:02:01.129] master <- NULL [18:02:01.129] while (!identical(envir, .GlobalEnv) && [18:02:01.129] !identical(envir, emptyenv())) { [18:02:01.129] if (exists("master", mode = "list", envir = envir, [18:02:01.129] inherits = FALSE)) { [18:02:01.129] master <- get("master", mode = "list", [18:02:01.129] envir = envir, inherits = FALSE) [18:02:01.129] if (inherits(master, c("SOCKnode", [18:02:01.129] "SOCK0node"))) { [18:02:01.129] sendCondition <<- function(cond) { [18:02:01.129] data <- list(type = "VALUE", value = cond, [18:02:01.129] success = TRUE) [18:02:01.129] parallel_sendData(master, data) [18:02:01.129] } [18:02:01.129] return(sendCondition) [18:02:01.129] } [18:02:01.129] } [18:02:01.129] frame <- frame + 1L [18:02:01.129] envir <- sys.frame(frame) [18:02:01.129] } [18:02:01.129] } [18:02:01.129] sendCondition <<- function(cond) NULL [18:02:01.129] } [18:02:01.129] }) [18:02:01.129] withCallingHandlers({ [18:02:01.129] { [18:02:01.129] b <- a [18:02:01.129] a <- 2 [18:02:01.129] a * b [18:02:01.129] } [18:02:01.129] }, immediateCondition = function(cond) { [18:02:01.129] sendCondition <- ...future.makeSendCondition() [18:02:01.129] sendCondition(cond) [18:02:01.129] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.129] { [18:02:01.129] inherits <- base::inherits [18:02:01.129] invokeRestart <- base::invokeRestart [18:02:01.129] is.null <- base::is.null [18:02:01.129] muffled <- FALSE [18:02:01.129] if (inherits(cond, "message")) { [18:02:01.129] muffled <- grepl(pattern, "muffleMessage") [18:02:01.129] if (muffled) [18:02:01.129] invokeRestart("muffleMessage") [18:02:01.129] } [18:02:01.129] else if (inherits(cond, "warning")) { [18:02:01.129] muffled <- grepl(pattern, "muffleWarning") [18:02:01.129] if (muffled) [18:02:01.129] invokeRestart("muffleWarning") [18:02:01.129] } [18:02:01.129] else if (inherits(cond, "condition")) { [18:02:01.129] if (!is.null(pattern)) { [18:02:01.129] computeRestarts <- base::computeRestarts [18:02:01.129] grepl <- base::grepl [18:02:01.129] restarts <- computeRestarts(cond) [18:02:01.129] for (restart in restarts) { [18:02:01.129] name <- restart$name [18:02:01.129] if (is.null(name)) [18:02:01.129] next [18:02:01.129] if (!grepl(pattern, name)) [18:02:01.129] next [18:02:01.129] invokeRestart(restart) [18:02:01.129] muffled <- TRUE [18:02:01.129] break [18:02:01.129] } [18:02:01.129] } [18:02:01.129] } [18:02:01.129] invisible(muffled) [18:02:01.129] } [18:02:01.129] muffleCondition(cond) [18:02:01.129] }) [18:02:01.129] })) [18:02:01.129] future::FutureResult(value = ...future.value$value, [18:02:01.129] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.129] ...future.rng), globalenv = if (FALSE) [18:02:01.129] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.129] ...future.globalenv.names)) [18:02:01.129] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.129] }, condition = base::local({ [18:02:01.129] c <- base::c [18:02:01.129] inherits <- base::inherits [18:02:01.129] invokeRestart <- base::invokeRestart [18:02:01.129] length <- base::length [18:02:01.129] list <- base::list [18:02:01.129] seq.int <- base::seq.int [18:02:01.129] signalCondition <- base::signalCondition [18:02:01.129] sys.calls <- base::sys.calls [18:02:01.129] `[[` <- base::`[[` [18:02:01.129] `+` <- base::`+` [18:02:01.129] `<<-` <- base::`<<-` [18:02:01.129] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.129] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.129] 3L)] [18:02:01.129] } [18:02:01.129] function(cond) { [18:02:01.129] is_error <- inherits(cond, "error") [18:02:01.129] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.129] NULL) [18:02:01.129] if (is_error) { [18:02:01.129] sessionInformation <- function() { [18:02:01.129] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.129] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.129] search = base::search(), system = base::Sys.info()) [18:02:01.129] } [18:02:01.129] ...future.conditions[[length(...future.conditions) + [18:02:01.129] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.129] cond$call), session = sessionInformation(), [18:02:01.129] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.129] signalCondition(cond) [18:02:01.129] } [18:02:01.129] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.129] "immediateCondition"))) { [18:02:01.129] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.129] ...future.conditions[[length(...future.conditions) + [18:02:01.129] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.129] if (TRUE && !signal) { [18:02:01.129] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.129] { [18:02:01.129] inherits <- base::inherits [18:02:01.129] invokeRestart <- base::invokeRestart [18:02:01.129] is.null <- base::is.null [18:02:01.129] muffled <- FALSE [18:02:01.129] if (inherits(cond, "message")) { [18:02:01.129] muffled <- grepl(pattern, "muffleMessage") [18:02:01.129] if (muffled) [18:02:01.129] invokeRestart("muffleMessage") [18:02:01.129] } [18:02:01.129] else if (inherits(cond, "warning")) { [18:02:01.129] muffled <- grepl(pattern, "muffleWarning") [18:02:01.129] if (muffled) [18:02:01.129] invokeRestart("muffleWarning") [18:02:01.129] } [18:02:01.129] else if (inherits(cond, "condition")) { [18:02:01.129] if (!is.null(pattern)) { [18:02:01.129] computeRestarts <- base::computeRestarts [18:02:01.129] grepl <- base::grepl [18:02:01.129] restarts <- computeRestarts(cond) [18:02:01.129] for (restart in restarts) { [18:02:01.129] name <- restart$name [18:02:01.129] if (is.null(name)) [18:02:01.129] next [18:02:01.129] if (!grepl(pattern, name)) [18:02:01.129] next [18:02:01.129] invokeRestart(restart) [18:02:01.129] muffled <- TRUE [18:02:01.129] break [18:02:01.129] } [18:02:01.129] } [18:02:01.129] } [18:02:01.129] invisible(muffled) [18:02:01.129] } [18:02:01.129] muffleCondition(cond, pattern = "^muffle") [18:02:01.129] } [18:02:01.129] } [18:02:01.129] else { [18:02:01.129] if (TRUE) { [18:02:01.129] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.129] { [18:02:01.129] inherits <- base::inherits [18:02:01.129] invokeRestart <- base::invokeRestart [18:02:01.129] is.null <- base::is.null [18:02:01.129] muffled <- FALSE [18:02:01.129] if (inherits(cond, "message")) { [18:02:01.129] muffled <- grepl(pattern, "muffleMessage") [18:02:01.129] if (muffled) [18:02:01.129] invokeRestart("muffleMessage") [18:02:01.129] } [18:02:01.129] else if (inherits(cond, "warning")) { [18:02:01.129] muffled <- grepl(pattern, "muffleWarning") [18:02:01.129] if (muffled) [18:02:01.129] invokeRestart("muffleWarning") [18:02:01.129] } [18:02:01.129] else if (inherits(cond, "condition")) { [18:02:01.129] if (!is.null(pattern)) { [18:02:01.129] computeRestarts <- base::computeRestarts [18:02:01.129] grepl <- base::grepl [18:02:01.129] restarts <- computeRestarts(cond) [18:02:01.129] for (restart in restarts) { [18:02:01.129] name <- restart$name [18:02:01.129] if (is.null(name)) [18:02:01.129] next [18:02:01.129] if (!grepl(pattern, name)) [18:02:01.129] next [18:02:01.129] invokeRestart(restart) [18:02:01.129] muffled <- TRUE [18:02:01.129] break [18:02:01.129] } [18:02:01.129] } [18:02:01.129] } [18:02:01.129] invisible(muffled) [18:02:01.129] } [18:02:01.129] muffleCondition(cond, pattern = "^muffle") [18:02:01.129] } [18:02:01.129] } [18:02:01.129] } [18:02:01.129] })) [18:02:01.129] }, error = function(ex) { [18:02:01.129] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.129] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.129] ...future.rng), started = ...future.startTime, [18:02:01.129] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.129] version = "1.8"), class = "FutureResult") [18:02:01.129] }, finally = { [18:02:01.129] if (!identical(...future.workdir, getwd())) [18:02:01.129] setwd(...future.workdir) [18:02:01.129] { [18:02:01.129] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.129] ...future.oldOptions$nwarnings <- NULL [18:02:01.129] } [18:02:01.129] base::options(...future.oldOptions) [18:02:01.129] if (.Platform$OS.type == "windows") { [18:02:01.129] old_names <- names(...future.oldEnvVars) [18:02:01.129] envs <- base::Sys.getenv() [18:02:01.129] names <- names(envs) [18:02:01.129] common <- intersect(names, old_names) [18:02:01.129] added <- setdiff(names, old_names) [18:02:01.129] removed <- setdiff(old_names, names) [18:02:01.129] changed <- common[...future.oldEnvVars[common] != [18:02:01.129] envs[common]] [18:02:01.129] NAMES <- toupper(changed) [18:02:01.129] args <- list() [18:02:01.129] for (kk in seq_along(NAMES)) { [18:02:01.129] name <- changed[[kk]] [18:02:01.129] NAME <- NAMES[[kk]] [18:02:01.129] if (name != NAME && is.element(NAME, old_names)) [18:02:01.129] next [18:02:01.129] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.129] } [18:02:01.129] NAMES <- toupper(added) [18:02:01.129] for (kk in seq_along(NAMES)) { [18:02:01.129] name <- added[[kk]] [18:02:01.129] NAME <- NAMES[[kk]] [18:02:01.129] if (name != NAME && is.element(NAME, old_names)) [18:02:01.129] next [18:02:01.129] args[[name]] <- "" [18:02:01.129] } [18:02:01.129] NAMES <- toupper(removed) [18:02:01.129] for (kk in seq_along(NAMES)) { [18:02:01.129] name <- removed[[kk]] [18:02:01.129] NAME <- NAMES[[kk]] [18:02:01.129] if (name != NAME && is.element(NAME, old_names)) [18:02:01.129] next [18:02:01.129] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.129] } [18:02:01.129] if (length(args) > 0) [18:02:01.129] base::do.call(base::Sys.setenv, args = args) [18:02:01.129] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.129] } [18:02:01.129] else { [18:02:01.129] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.129] } [18:02:01.129] { [18:02:01.129] if (base::length(...future.futureOptionsAdded) > [18:02:01.129] 0L) { [18:02:01.129] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.129] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.129] base::options(opts) [18:02:01.129] } [18:02:01.129] { [18:02:01.129] { [18:02:01.129] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.129] NULL [18:02:01.129] } [18:02:01.129] options(future.plan = NULL) [18:02:01.129] if (is.na(NA_character_)) [18:02:01.129] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.129] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.129] future::plan(list(function (..., workers = availableCores(), [18:02:01.129] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.129] envir = parent.frame()) [18:02:01.129] { [18:02:01.129] if (is.function(workers)) [18:02:01.129] workers <- workers() [18:02:01.129] workers <- structure(as.integer(workers), [18:02:01.129] class = class(workers)) [18:02:01.129] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.129] workers >= 1) [18:02:01.129] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.129] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.129] } [18:02:01.129] future <- MultisessionFuture(..., workers = workers, [18:02:01.129] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.129] envir = envir) [18:02:01.129] if (!future$lazy) [18:02:01.129] future <- run(future) [18:02:01.129] invisible(future) [18:02:01.129] }), .cleanup = FALSE, .init = FALSE) [18:02:01.129] } [18:02:01.129] } [18:02:01.129] } [18:02:01.129] }) [18:02:01.129] if (TRUE) { [18:02:01.129] base::sink(type = "output", split = FALSE) [18:02:01.129] if (TRUE) { [18:02:01.129] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.129] } [18:02:01.129] else { [18:02:01.129] ...future.result["stdout"] <- base::list(NULL) [18:02:01.129] } [18:02:01.129] base::close(...future.stdout) [18:02:01.129] ...future.stdout <- NULL [18:02:01.129] } [18:02:01.129] ...future.result$conditions <- ...future.conditions [18:02:01.129] ...future.result$finished <- base::Sys.time() [18:02:01.129] ...future.result [18:02:01.129] } [18:02:01.135] MultisessionFuture started [18:02:01.135] - Launch lazy future ... done [18:02:01.135] run() for 'MultisessionFuture' ... done [18:02:01.135] result() for ClusterFuture ... [18:02:01.136] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.136] - Validating connection of MultisessionFuture [18:02:01.154] - received message: FutureResult [18:02:01.154] - Received FutureResult [18:02:01.154] - Erased future from FutureRegistry [18:02:01.154] result() for ClusterFuture ... [18:02:01.154] - result already collected: FutureResult [18:02:01.155] result() for ClusterFuture ... done [18:02:01.155] signalConditions() ... [18:02:01.155] - include = 'immediateCondition' [18:02:01.155] - exclude = [18:02:01.155] - resignal = FALSE [18:02:01.155] - Number of conditions: 1 [18:02:01.156] signalConditions() ... done [18:02:01.156] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.156] result() for ClusterFuture ... done [18:02:01.156] result() for ClusterFuture ... [18:02:01.156] - result already collected: FutureResult [18:02:01.157] result() for ClusterFuture ... done [18:02:01.157] signalConditions() ... [18:02:01.157] - include = 'immediateCondition' [18:02:01.157] - exclude = [18:02:01.157] - resignal = FALSE [18:02:01.157] - Number of conditions: 1 [18:02:01.158] signalConditions() ... done [18:02:01.158] Future state: 'finished' [18:02:01.158] result() for ClusterFuture ... [18:02:01.158] - result already collected: FutureResult [18:02:01.158] result() for ClusterFuture ... done [18:02:01.159] signalConditions() ... [18:02:01.159] - include = 'condition' [18:02:01.159] - exclude = 'immediateCondition' [18:02:01.159] - resignal = TRUE [18:02:01.159] - Number of conditions: 1 [18:02:01.160] - Condition #1: 'simpleError', 'error', 'condition' [18:02:01.160] 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 <- local({ ... .. ..$ future.info:List of 5 .. .. ..$ condition:List of 2 .. .. .. ..$ message: chr "object 'a' not found" .. .. .. ..$ call : language eval(quote({ ...future.makeSendCondition <- 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 <- local({ ... .. .. .. ..$ : language withCallingHandlers({ { ... .. .. .. ..$ : language eval(quote({ ...future.makeSendCondition <- 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 "2023" .. .. .. .. ..$ month : chr "06" .. .. .. .. ..$ day : chr "30" .. .. .. .. ..$ svn rev : chr "84625" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2023-06-30 r84625 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: "2023-07-01 18:02:01" .. .. ..$ signaled : int 1 .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" Warning: 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' [18:02:01.181] getGlobalsAndPackages() ... Warning: 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' [18:02:01.181] Searching for globals... Warning: 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' [18:02:01.183] - globals found: [3] '{', '<-', '*' [18:02:01.183] Searching for globals ... DONE [18:02:01.184] Resolving globals: TRUE [18:02:01.184] Resolving any globals that are futures ... [18:02:01.184] - globals: [3] '{', '<-', '*' [18:02:01.184] Resolving any globals that are futures ... DONE [18:02:01.185] [18:02:01.185] [18:02:01.185] getGlobalsAndPackages() ... DONE [18:02:01.185] run() for 'Future' ... [18:02:01.186] - state: 'created' [18:02:01.186] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.202] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.202] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.203] - Field: 'node' [18:02:01.203] - Field: 'label' [18:02:01.203] - Field: 'local' [18:02:01.203] - Field: 'owner' [18:02:01.203] - Field: 'envir' [18:02:01.203] - Field: 'workers' [18:02:01.204] - Field: 'packages' [18:02:01.204] - Field: 'gc' [18:02:01.204] - Field: 'conditions' [18:02:01.204] - Field: 'persistent' [18:02:01.204] - Field: 'expr' [18:02:01.205] - Field: 'uuid' [18:02:01.205] - Field: 'seed' [18:02:01.205] - Field: 'version' [18:02:01.205] - Field: 'result' [18:02:01.205] - Field: 'asynchronous' [18:02:01.205] - Field: 'calls' [18:02:01.206] - Field: 'globals' [18:02:01.206] - Field: 'stdout' [18:02:01.206] - Field: 'earlySignal' [18:02:01.206] - Field: 'lazy' [18:02:01.206] - Field: 'state' [18:02:01.206] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.207] - Launch lazy future ... [18:02:01.207] Packages needed by the future expression (n = 0): [18:02:01.207] Packages needed by future strategies (n = 0): [18:02:01.208] { [18:02:01.208] { [18:02:01.208] { [18:02:01.208] ...future.startTime <- base::Sys.time() [18:02:01.208] { [18:02:01.208] { [18:02:01.208] { [18:02:01.208] { [18:02:01.208] base::local({ [18:02:01.208] has_future <- base::requireNamespace("future", [18:02:01.208] quietly = TRUE) [18:02:01.208] if (has_future) { [18:02:01.208] ns <- base::getNamespace("future") [18:02:01.208] version <- ns[[".package"]][["version"]] [18:02:01.208] if (is.null(version)) [18:02:01.208] version <- utils::packageVersion("future") [18:02:01.208] } [18:02:01.208] else { [18:02:01.208] version <- NULL [18:02:01.208] } [18:02:01.208] if (!has_future || version < "1.8.0") { [18:02:01.208] info <- base::c(r_version = base::gsub("R version ", [18:02:01.208] "", base::R.version$version.string), [18:02:01.208] platform = base::sprintf("%s (%s-bit)", [18:02:01.208] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:01.208] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.208] "release", "version")], collapse = " "), [18:02:01.208] hostname = base::Sys.info()[["nodename"]]) [18:02:01.208] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.208] info) [18:02:01.208] info <- base::paste(info, collapse = "; ") [18:02:01.208] if (!has_future) { [18:02:01.208] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.208] info) [18:02:01.208] } [18:02:01.208] else { [18:02:01.208] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.208] info, version) [18:02:01.208] } [18:02:01.208] base::stop(msg) [18:02:01.208] } [18:02:01.208] }) [18:02:01.208] } [18:02:01.208] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.208] base::options(mc.cores = 1L) [18:02:01.208] } [18:02:01.208] options(future.plan = NULL) [18:02:01.208] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.208] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.208] } [18:02:01.208] ...future.workdir <- getwd() [18:02:01.208] } [18:02:01.208] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.208] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.208] } [18:02:01.208] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.208] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.208] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.208] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.208] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.208] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.208] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.208] base::names(...future.oldOptions)) [18:02:01.208] } [18:02:01.208] if (FALSE) { [18:02:01.208] } [18:02:01.208] else { [18:02:01.208] if (TRUE) { [18:02:01.208] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.208] open = "w") [18:02:01.208] } [18:02:01.208] else { [18:02:01.208] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.208] windows = "NUL", "/dev/null"), open = "w") [18:02:01.208] } [18:02:01.208] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.208] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.208] base::sink(type = "output", split = FALSE) [18:02:01.208] base::close(...future.stdout) [18:02:01.208] }, add = TRUE) [18:02:01.208] } [18:02:01.208] ...future.frame <- base::sys.nframe() [18:02:01.208] ...future.conditions <- base::list() [18:02:01.208] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.208] if (FALSE) { [18:02:01.208] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.208] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.208] } [18:02:01.208] ...future.result <- base::tryCatch({ [18:02:01.208] base::withCallingHandlers({ [18:02:01.208] ...future.value <- base::withVisible(base::local({ [18:02:01.208] ...future.makeSendCondition <- local({ [18:02:01.208] sendCondition <- NULL [18:02:01.208] function(frame = 1L) { [18:02:01.208] if (is.function(sendCondition)) [18:02:01.208] return(sendCondition) [18:02:01.208] ns <- getNamespace("parallel") [18:02:01.208] if (exists("sendData", mode = "function", [18:02:01.208] envir = ns)) { [18:02:01.208] parallel_sendData <- get("sendData", mode = "function", [18:02:01.208] envir = ns) [18:02:01.208] envir <- sys.frame(frame) [18:02:01.208] master <- NULL [18:02:01.208] while (!identical(envir, .GlobalEnv) && [18:02:01.208] !identical(envir, emptyenv())) { [18:02:01.208] if (exists("master", mode = "list", envir = envir, [18:02:01.208] inherits = FALSE)) { [18:02:01.208] master <- get("master", mode = "list", [18:02:01.208] envir = envir, inherits = FALSE) [18:02:01.208] if (inherits(master, c("SOCKnode", [18:02:01.208] "SOCK0node"))) { [18:02:01.208] sendCondition <<- function(cond) { [18:02:01.208] data <- list(type = "VALUE", value = cond, [18:02:01.208] success = TRUE) [18:02:01.208] parallel_sendData(master, data) [18:02:01.208] } [18:02:01.208] return(sendCondition) [18:02:01.208] } [18:02:01.208] } [18:02:01.208] frame <- frame + 1L [18:02:01.208] envir <- sys.frame(frame) [18:02:01.208] } [18:02:01.208] } [18:02:01.208] sendCondition <<- function(cond) NULL [18:02:01.208] } [18:02:01.208] }) [18:02:01.208] withCallingHandlers({ [18:02:01.208] { [18:02:01.208] b <- a [18:02:01.208] a <- 2 [18:02:01.208] a * b [18:02:01.208] } [18:02:01.208] }, immediateCondition = function(cond) { [18:02:01.208] sendCondition <- ...future.makeSendCondition() [18:02:01.208] sendCondition(cond) [18:02:01.208] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.208] { [18:02:01.208] inherits <- base::inherits [18:02:01.208] invokeRestart <- base::invokeRestart [18:02:01.208] is.null <- base::is.null [18:02:01.208] muffled <- FALSE [18:02:01.208] if (inherits(cond, "message")) { [18:02:01.208] muffled <- grepl(pattern, "muffleMessage") [18:02:01.208] if (muffled) [18:02:01.208] invokeRestart("muffleMessage") [18:02:01.208] } [18:02:01.208] else if (inherits(cond, "warning")) { [18:02:01.208] muffled <- grepl(pattern, "muffleWarning") [18:02:01.208] if (muffled) [18:02:01.208] invokeRestart("muffleWarning") [18:02:01.208] } [18:02:01.208] else if (inherits(cond, "condition")) { [18:02:01.208] if (!is.null(pattern)) { [18:02:01.208] computeRestarts <- base::computeRestarts [18:02:01.208] grepl <- base::grepl [18:02:01.208] restarts <- computeRestarts(cond) [18:02:01.208] for (restart in restarts) { [18:02:01.208] name <- restart$name [18:02:01.208] if (is.null(name)) [18:02:01.208] next [18:02:01.208] if (!grepl(pattern, name)) [18:02:01.208] next [18:02:01.208] invokeRestart(restart) [18:02:01.208] muffled <- TRUE [18:02:01.208] break [18:02:01.208] } [18:02:01.208] } [18:02:01.208] } [18:02:01.208] invisible(muffled) [18:02:01.208] } [18:02:01.208] muffleCondition(cond) [18:02:01.208] }) [18:02:01.208] })) [18:02:01.208] future::FutureResult(value = ...future.value$value, [18:02:01.208] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.208] ...future.rng), globalenv = if (FALSE) [18:02:01.208] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.208] ...future.globalenv.names)) [18:02:01.208] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.208] }, condition = base::local({ [18:02:01.208] c <- base::c [18:02:01.208] inherits <- base::inherits [18:02:01.208] invokeRestart <- base::invokeRestart [18:02:01.208] length <- base::length [18:02:01.208] list <- base::list [18:02:01.208] seq.int <- base::seq.int [18:02:01.208] signalCondition <- base::signalCondition [18:02:01.208] sys.calls <- base::sys.calls [18:02:01.208] `[[` <- base::`[[` [18:02:01.208] `+` <- base::`+` [18:02:01.208] `<<-` <- base::`<<-` [18:02:01.208] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.208] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.208] 3L)] [18:02:01.208] } [18:02:01.208] function(cond) { [18:02:01.208] is_error <- inherits(cond, "error") [18:02:01.208] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.208] NULL) [18:02:01.208] if (is_error) { [18:02:01.208] sessionInformation <- function() { [18:02:01.208] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.208] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.208] search = base::search(), system = base::Sys.info()) [18:02:01.208] } [18:02:01.208] ...future.conditions[[length(...future.conditions) + [18:02:01.208] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.208] cond$call), session = sessionInformation(), [18:02:01.208] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.208] signalCondition(cond) [18:02:01.208] } [18:02:01.208] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.208] "immediateCondition"))) { [18:02:01.208] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.208] ...future.conditions[[length(...future.conditions) + [18:02:01.208] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.208] if (TRUE && !signal) { [18:02:01.208] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.208] { [18:02:01.208] inherits <- base::inherits [18:02:01.208] invokeRestart <- base::invokeRestart [18:02:01.208] is.null <- base::is.null [18:02:01.208] muffled <- FALSE [18:02:01.208] if (inherits(cond, "message")) { [18:02:01.208] muffled <- grepl(pattern, "muffleMessage") [18:02:01.208] if (muffled) [18:02:01.208] invokeRestart("muffleMessage") [18:02:01.208] } [18:02:01.208] else if (inherits(cond, "warning")) { [18:02:01.208] muffled <- grepl(pattern, "muffleWarning") [18:02:01.208] if (muffled) [18:02:01.208] invokeRestart("muffleWarning") [18:02:01.208] } [18:02:01.208] else if (inherits(cond, "condition")) { [18:02:01.208] if (!is.null(pattern)) { [18:02:01.208] computeRestarts <- base::computeRestarts [18:02:01.208] grepl <- base::grepl [18:02:01.208] restarts <- computeRestarts(cond) [18:02:01.208] for (restart in restarts) { [18:02:01.208] name <- restart$name [18:02:01.208] if (is.null(name)) [18:02:01.208] next [18:02:01.208] if (!grepl(pattern, name)) [18:02:01.208] next [18:02:01.208] invokeRestart(restart) [18:02:01.208] muffled <- TRUE [18:02:01.208] break [18:02:01.208] } [18:02:01.208] } [18:02:01.208] } [18:02:01.208] invisible(muffled) [18:02:01.208] } [18:02:01.208] muffleCondition(cond, pattern = "^muffle") [18:02:01.208] } [18:02:01.208] } [18:02:01.208] else { [18:02:01.208] if (TRUE) { [18:02:01.208] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.208] { [18:02:01.208] inherits <- base::inherits [18:02:01.208] invokeRestart <- base::invokeRestart [18:02:01.208] is.null <- base::is.null [18:02:01.208] muffled <- FALSE [18:02:01.208] if (inherits(cond, "message")) { [18:02:01.208] muffled <- grepl(pattern, "muffleMessage") [18:02:01.208] if (muffled) [18:02:01.208] invokeRestart("muffleMessage") [18:02:01.208] } [18:02:01.208] else if (inherits(cond, "warning")) { [18:02:01.208] muffled <- grepl(pattern, "muffleWarning") [18:02:01.208] if (muffled) [18:02:01.208] invokeRestart("muffleWarning") [18:02:01.208] } [18:02:01.208] else if (inherits(cond, "condition")) { [18:02:01.208] if (!is.null(pattern)) { [18:02:01.208] computeRestarts <- base::computeRestarts [18:02:01.208] grepl <- base::grepl [18:02:01.208] restarts <- computeRestarts(cond) [18:02:01.208] for (restart in restarts) { [18:02:01.208] name <- restart$name [18:02:01.208] if (is.null(name)) [18:02:01.208] next [18:02:01.208] if (!grepl(pattern, name)) [18:02:01.208] next [18:02:01.208] invokeRestart(restart) [18:02:01.208] muffled <- TRUE [18:02:01.208] break [18:02:01.208] } [18:02:01.208] } [18:02:01.208] } [18:02:01.208] invisible(muffled) [18:02:01.208] } [18:02:01.208] muffleCondition(cond, pattern = "^muffle") [18:02:01.208] } [18:02:01.208] } [18:02:01.208] } [18:02:01.208] })) [18:02:01.208] }, error = function(ex) { [18:02:01.208] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.208] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.208] ...future.rng), started = ...future.startTime, [18:02:01.208] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.208] version = "1.8"), class = "FutureResult") [18:02:01.208] }, finally = { [18:02:01.208] if (!identical(...future.workdir, getwd())) [18:02:01.208] setwd(...future.workdir) [18:02:01.208] { [18:02:01.208] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.208] ...future.oldOptions$nwarnings <- NULL [18:02:01.208] } [18:02:01.208] base::options(...future.oldOptions) [18:02:01.208] if (.Platform$OS.type == "windows") { [18:02:01.208] old_names <- names(...future.oldEnvVars) [18:02:01.208] envs <- base::Sys.getenv() [18:02:01.208] names <- names(envs) [18:02:01.208] common <- intersect(names, old_names) [18:02:01.208] added <- setdiff(names, old_names) [18:02:01.208] removed <- setdiff(old_names, names) [18:02:01.208] changed <- common[...future.oldEnvVars[common] != [18:02:01.208] envs[common]] [18:02:01.208] NAMES <- toupper(changed) [18:02:01.208] args <- list() [18:02:01.208] for (kk in seq_along(NAMES)) { [18:02:01.208] name <- changed[[kk]] [18:02:01.208] NAME <- NAMES[[kk]] [18:02:01.208] if (name != NAME && is.element(NAME, old_names)) [18:02:01.208] next [18:02:01.208] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.208] } [18:02:01.208] NAMES <- toupper(added) [18:02:01.208] for (kk in seq_along(NAMES)) { [18:02:01.208] name <- added[[kk]] [18:02:01.208] NAME <- NAMES[[kk]] [18:02:01.208] if (name != NAME && is.element(NAME, old_names)) [18:02:01.208] next [18:02:01.208] args[[name]] <- "" [18:02:01.208] } [18:02:01.208] NAMES <- toupper(removed) [18:02:01.208] for (kk in seq_along(NAMES)) { [18:02:01.208] name <- removed[[kk]] [18:02:01.208] NAME <- NAMES[[kk]] [18:02:01.208] if (name != NAME && is.element(NAME, old_names)) [18:02:01.208] next [18:02:01.208] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.208] } [18:02:01.208] if (length(args) > 0) [18:02:01.208] base::do.call(base::Sys.setenv, args = args) [18:02:01.208] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.208] } [18:02:01.208] else { [18:02:01.208] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.208] } [18:02:01.208] { [18:02:01.208] if (base::length(...future.futureOptionsAdded) > [18:02:01.208] 0L) { [18:02:01.208] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.208] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.208] base::options(opts) [18:02:01.208] } [18:02:01.208] { [18:02:01.208] { [18:02:01.208] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.208] NULL [18:02:01.208] } [18:02:01.208] options(future.plan = NULL) [18:02:01.208] if (is.na(NA_character_)) [18:02:01.208] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.208] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.208] future::plan(list(function (..., workers = availableCores(), [18:02:01.208] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.208] envir = parent.frame()) [18:02:01.208] { [18:02:01.208] if (is.function(workers)) [18:02:01.208] workers <- workers() [18:02:01.208] workers <- structure(as.integer(workers), [18:02:01.208] class = class(workers)) [18:02:01.208] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.208] workers >= 1) [18:02:01.208] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.208] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.208] } [18:02:01.208] future <- MultisessionFuture(..., workers = workers, [18:02:01.208] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.208] envir = envir) [18:02:01.208] if (!future$lazy) [18:02:01.208] future <- run(future) [18:02:01.208] invisible(future) [18:02:01.208] }), .cleanup = FALSE, .init = FALSE) [18:02:01.208] } [18:02:01.208] } [18:02:01.208] } [18:02:01.208] }) [18:02:01.208] if (TRUE) { [18:02:01.208] base::sink(type = "output", split = FALSE) [18:02:01.208] if (TRUE) { [18:02:01.208] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.208] } [18:02:01.208] else { [18:02:01.208] ...future.result["stdout"] <- base::list(NULL) [18:02:01.208] } [18:02:01.208] base::close(...future.stdout) [18:02:01.208] ...future.stdout <- NULL [18:02:01.208] } [18:02:01.208] ...future.result$conditions <- ...future.conditions [18:02:01.208] ...future.result$finished <- base::Sys.time() [18:02:01.208] ...future.result [18:02:01.208] } [18:02:01.213] MultisessionFuture started [18:02:01.214] - Launch lazy future ... done [18:02:01.214] run() for 'MultisessionFuture' ... done [18:02:01.214] result() for ClusterFuture ... [18:02:01.214] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.214] - Validating connection of MultisessionFuture [18:02:01.231] - received message: FutureResult [18:02:01.231] - Received FutureResult [18:02:01.231] - Erased future from FutureRegistry [18:02:01.231] result() for ClusterFuture ... [18:02:01.232] - result already collected: FutureResult [18:02:01.232] result() for ClusterFuture ... done [18:02:01.232] signalConditions() ... [18:02:01.232] - include = 'immediateCondition' [18:02:01.232] - exclude = [18:02:01.232] - resignal = FALSE [18:02:01.233] - Number of conditions: 1 [18:02:01.233] signalConditions() ... done [18:02:01.233] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.233] result() for ClusterFuture ... done [18:02:01.233] result() for ClusterFuture ... [18:02:01.233] - result already collected: FutureResult [18:02:01.234] result() for ClusterFuture ... done [18:02:01.234] signalConditions() ... [18:02:01.234] - include = 'immediateCondition' [18:02:01.234] - exclude = [18:02:01.234] - resignal = FALSE [18:02:01.234] - Number of conditions: 1 [18:02:01.235] signalConditions() ... done [18:02:01.235] Future state: 'finished' [18:02:01.235] result() for ClusterFuture ... [18:02:01.235] - result already collected: FutureResult [18:02:01.235] result() for ClusterFuture ... done [18:02:01.235] signalConditions() ... [18:02:01.235] - include = 'condition' [18:02:01.236] - exclude = 'immediateCondition' [18:02:01.236] - resignal = TRUE [18:02:01.236] - Number of conditions: 1 [18:02:01.236] - Condition #1: 'simpleError', 'error', 'condition' [18:02:01.236] 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 <- local({ ... .. ..$ future.info:List of 5 .. .. ..$ condition:List of 2 .. .. .. ..$ message: chr "object 'a' not found" .. .. .. ..$ call : language eval(quote({ ...future.makeSendCondition <- 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 <- local({ ... .. .. .. ..$ : language withCallingHandlers({ { ... .. .. .. ..$ : language eval(quote({ ...future.makeSendCondition <- 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 "2023" .. .. .. .. ..$ month : chr "06" .. .. .. .. ..$ day : chr "30" .. .. .. .. ..$ svn rev : chr "84625" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2023-06-30 r84625 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: "2023-07-01 18:02:01" .. .. ..$ signaled : int 1 .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" Warning: 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' [18:02:01.255] getGlobalsAndPackages() ... Warning: 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' [18:02:01.255] Searching for globals... Warning: 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' [18:02:01.257] - globals found: [4] '{', '<-', '*', 'ii' [18:02:01.257] Searching for globals ... DONE [18:02:01.257] Resolving globals: TRUE [18:02:01.257] Resolving any globals that are futures ... [18:02:01.258] - globals: [4] '{', '<-', '*', 'ii' [18:02:01.258] Resolving any globals that are futures ... DONE [18:02:01.258] Resolving futures part of globals (recursively) ... [18:02:01.259] resolve() on list ... [18:02:01.259] recursive: 99 [18:02:01.259] length: 1 [18:02:01.259] elements: 'ii' [18:02:01.259] length: 0 (resolved future 1) [18:02:01.259] resolve() on list ... DONE [18:02:01.260] - globals: [1] 'ii' [18:02:01.260] Resolving futures part of globals (recursively) ... DONE [18:02:01.260] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:01.261] 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') [18:02:01.261] - globals: [1] 'ii' [18:02:01.261] [18:02:01.261] getGlobalsAndPackages() ... DONE [18:02:01.261] run() for 'Future' ... [18:02:01.262] - state: 'created' [18:02:01.262] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.275] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.276] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.276] - Field: 'node' [18:02:01.276] - Field: 'label' [18:02:01.276] - Field: 'local' [18:02:01.276] - Field: 'owner' [18:02:01.277] - Field: 'envir' [18:02:01.277] - Field: 'workers' [18:02:01.277] - Field: 'packages' [18:02:01.277] - Field: 'gc' [18:02:01.277] - Field: 'conditions' [18:02:01.278] - Field: 'persistent' [18:02:01.278] - Field: 'expr' [18:02:01.278] - Field: 'uuid' [18:02:01.278] - Field: 'seed' [18:02:01.278] - Field: 'version' [18:02:01.278] - Field: 'result' [18:02:01.279] - Field: 'asynchronous' [18:02:01.279] - Field: 'calls' [18:02:01.279] - Field: 'globals' [18:02:01.279] - Field: 'stdout' [18:02:01.279] - Field: 'earlySignal' [18:02:01.280] - Field: 'lazy' [18:02:01.280] - Field: 'state' [18:02:01.280] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.280] - Launch lazy future ... [18:02:01.280] Packages needed by the future expression (n = 0): [18:02:01.281] Packages needed by future strategies (n = 0): [18:02:01.281] { [18:02:01.281] { [18:02:01.281] { [18:02:01.281] ...future.startTime <- base::Sys.time() [18:02:01.281] { [18:02:01.281] { [18:02:01.281] { [18:02:01.281] { [18:02:01.281] base::local({ [18:02:01.281] has_future <- base::requireNamespace("future", [18:02:01.281] quietly = TRUE) [18:02:01.281] if (has_future) { [18:02:01.281] ns <- base::getNamespace("future") [18:02:01.281] version <- ns[[".package"]][["version"]] [18:02:01.281] if (is.null(version)) [18:02:01.281] version <- utils::packageVersion("future") [18:02:01.281] } [18:02:01.281] else { [18:02:01.281] version <- NULL [18:02:01.281] } [18:02:01.281] if (!has_future || version < "1.8.0") { [18:02:01.281] info <- base::c(r_version = base::gsub("R version ", [18:02:01.281] "", base::R.version$version.string), [18:02:01.281] platform = base::sprintf("%s (%s-bit)", [18:02:01.281] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:01.281] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.281] "release", "version")], collapse = " "), [18:02:01.281] hostname = base::Sys.info()[["nodename"]]) [18:02:01.281] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.281] info) [18:02:01.281] info <- base::paste(info, collapse = "; ") [18:02:01.281] if (!has_future) { [18:02:01.281] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.281] info) [18:02:01.281] } [18:02:01.281] else { [18:02:01.281] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.281] info, version) [18:02:01.281] } [18:02:01.281] base::stop(msg) [18:02:01.281] } [18:02:01.281] }) [18:02:01.281] } [18:02:01.281] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.281] base::options(mc.cores = 1L) [18:02:01.281] } [18:02:01.281] options(future.plan = NULL) [18:02:01.281] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.281] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.281] } [18:02:01.281] ...future.workdir <- getwd() [18:02:01.281] } [18:02:01.281] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.281] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.281] } [18:02:01.281] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.281] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.281] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.281] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.281] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.281] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.281] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.281] base::names(...future.oldOptions)) [18:02:01.281] } [18:02:01.281] if (FALSE) { [18:02:01.281] } [18:02:01.281] else { [18:02:01.281] if (TRUE) { [18:02:01.281] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.281] open = "w") [18:02:01.281] } [18:02:01.281] else { [18:02:01.281] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.281] windows = "NUL", "/dev/null"), open = "w") [18:02:01.281] } [18:02:01.281] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.281] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.281] base::sink(type = "output", split = FALSE) [18:02:01.281] base::close(...future.stdout) [18:02:01.281] }, add = TRUE) [18:02:01.281] } [18:02:01.281] ...future.frame <- base::sys.nframe() [18:02:01.281] ...future.conditions <- base::list() [18:02:01.281] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.281] if (FALSE) { [18:02:01.281] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.281] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.281] } [18:02:01.281] ...future.result <- base::tryCatch({ [18:02:01.281] base::withCallingHandlers({ [18:02:01.281] ...future.value <- base::withVisible(base::local({ [18:02:01.281] ...future.makeSendCondition <- local({ [18:02:01.281] sendCondition <- NULL [18:02:01.281] function(frame = 1L) { [18:02:01.281] if (is.function(sendCondition)) [18:02:01.281] return(sendCondition) [18:02:01.281] ns <- getNamespace("parallel") [18:02:01.281] if (exists("sendData", mode = "function", [18:02:01.281] envir = ns)) { [18:02:01.281] parallel_sendData <- get("sendData", mode = "function", [18:02:01.281] envir = ns) [18:02:01.281] envir <- sys.frame(frame) [18:02:01.281] master <- NULL [18:02:01.281] while (!identical(envir, .GlobalEnv) && [18:02:01.281] !identical(envir, emptyenv())) { [18:02:01.281] if (exists("master", mode = "list", envir = envir, [18:02:01.281] inherits = FALSE)) { [18:02:01.281] master <- get("master", mode = "list", [18:02:01.281] envir = envir, inherits = FALSE) [18:02:01.281] if (inherits(master, c("SOCKnode", [18:02:01.281] "SOCK0node"))) { [18:02:01.281] sendCondition <<- function(cond) { [18:02:01.281] data <- list(type = "VALUE", value = cond, [18:02:01.281] success = TRUE) [18:02:01.281] parallel_sendData(master, data) [18:02:01.281] } [18:02:01.281] return(sendCondition) [18:02:01.281] } [18:02:01.281] } [18:02:01.281] frame <- frame + 1L [18:02:01.281] envir <- sys.frame(frame) [18:02:01.281] } [18:02:01.281] } [18:02:01.281] sendCondition <<- function(cond) NULL [18:02:01.281] } [18:02:01.281] }) [18:02:01.281] withCallingHandlers({ [18:02:01.281] { [18:02:01.281] b <- a * ii [18:02:01.281] a <- 0 [18:02:01.281] b [18:02:01.281] } [18:02:01.281] }, immediateCondition = function(cond) { [18:02:01.281] sendCondition <- ...future.makeSendCondition() [18:02:01.281] sendCondition(cond) [18:02:01.281] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.281] { [18:02:01.281] inherits <- base::inherits [18:02:01.281] invokeRestart <- base::invokeRestart [18:02:01.281] is.null <- base::is.null [18:02:01.281] muffled <- FALSE [18:02:01.281] if (inherits(cond, "message")) { [18:02:01.281] muffled <- grepl(pattern, "muffleMessage") [18:02:01.281] if (muffled) [18:02:01.281] invokeRestart("muffleMessage") [18:02:01.281] } [18:02:01.281] else if (inherits(cond, "warning")) { [18:02:01.281] muffled <- grepl(pattern, "muffleWarning") [18:02:01.281] if (muffled) [18:02:01.281] invokeRestart("muffleWarning") [18:02:01.281] } [18:02:01.281] else if (inherits(cond, "condition")) { [18:02:01.281] if (!is.null(pattern)) { [18:02:01.281] computeRestarts <- base::computeRestarts [18:02:01.281] grepl <- base::grepl [18:02:01.281] restarts <- computeRestarts(cond) [18:02:01.281] for (restart in restarts) { [18:02:01.281] name <- restart$name [18:02:01.281] if (is.null(name)) [18:02:01.281] next [18:02:01.281] if (!grepl(pattern, name)) [18:02:01.281] next [18:02:01.281] invokeRestart(restart) [18:02:01.281] muffled <- TRUE [18:02:01.281] break [18:02:01.281] } [18:02:01.281] } [18:02:01.281] } [18:02:01.281] invisible(muffled) [18:02:01.281] } [18:02:01.281] muffleCondition(cond) [18:02:01.281] }) [18:02:01.281] })) [18:02:01.281] future::FutureResult(value = ...future.value$value, [18:02:01.281] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.281] ...future.rng), globalenv = if (FALSE) [18:02:01.281] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.281] ...future.globalenv.names)) [18:02:01.281] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.281] }, condition = base::local({ [18:02:01.281] c <- base::c [18:02:01.281] inherits <- base::inherits [18:02:01.281] invokeRestart <- base::invokeRestart [18:02:01.281] length <- base::length [18:02:01.281] list <- base::list [18:02:01.281] seq.int <- base::seq.int [18:02:01.281] signalCondition <- base::signalCondition [18:02:01.281] sys.calls <- base::sys.calls [18:02:01.281] `[[` <- base::`[[` [18:02:01.281] `+` <- base::`+` [18:02:01.281] `<<-` <- base::`<<-` [18:02:01.281] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.281] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.281] 3L)] [18:02:01.281] } [18:02:01.281] function(cond) { [18:02:01.281] is_error <- inherits(cond, "error") [18:02:01.281] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.281] NULL) [18:02:01.281] if (is_error) { [18:02:01.281] sessionInformation <- function() { [18:02:01.281] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.281] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.281] search = base::search(), system = base::Sys.info()) [18:02:01.281] } [18:02:01.281] ...future.conditions[[length(...future.conditions) + [18:02:01.281] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.281] cond$call), session = sessionInformation(), [18:02:01.281] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.281] signalCondition(cond) [18:02:01.281] } [18:02:01.281] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.281] "immediateCondition"))) { [18:02:01.281] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.281] ...future.conditions[[length(...future.conditions) + [18:02:01.281] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.281] if (TRUE && !signal) { [18:02:01.281] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.281] { [18:02:01.281] inherits <- base::inherits [18:02:01.281] invokeRestart <- base::invokeRestart [18:02:01.281] is.null <- base::is.null [18:02:01.281] muffled <- FALSE [18:02:01.281] if (inherits(cond, "message")) { [18:02:01.281] muffled <- grepl(pattern, "muffleMessage") [18:02:01.281] if (muffled) [18:02:01.281] invokeRestart("muffleMessage") [18:02:01.281] } [18:02:01.281] else if (inherits(cond, "warning")) { [18:02:01.281] muffled <- grepl(pattern, "muffleWarning") [18:02:01.281] if (muffled) [18:02:01.281] invokeRestart("muffleWarning") [18:02:01.281] } [18:02:01.281] else if (inherits(cond, "condition")) { [18:02:01.281] if (!is.null(pattern)) { [18:02:01.281] computeRestarts <- base::computeRestarts [18:02:01.281] grepl <- base::grepl [18:02:01.281] restarts <- computeRestarts(cond) [18:02:01.281] for (restart in restarts) { [18:02:01.281] name <- restart$name [18:02:01.281] if (is.null(name)) [18:02:01.281] next [18:02:01.281] if (!grepl(pattern, name)) [18:02:01.281] next [18:02:01.281] invokeRestart(restart) [18:02:01.281] muffled <- TRUE [18:02:01.281] break [18:02:01.281] } [18:02:01.281] } [18:02:01.281] } [18:02:01.281] invisible(muffled) [18:02:01.281] } [18:02:01.281] muffleCondition(cond, pattern = "^muffle") [18:02:01.281] } [18:02:01.281] } [18:02:01.281] else { [18:02:01.281] if (TRUE) { [18:02:01.281] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.281] { [18:02:01.281] inherits <- base::inherits [18:02:01.281] invokeRestart <- base::invokeRestart [18:02:01.281] is.null <- base::is.null [18:02:01.281] muffled <- FALSE [18:02:01.281] if (inherits(cond, "message")) { [18:02:01.281] muffled <- grepl(pattern, "muffleMessage") [18:02:01.281] if (muffled) [18:02:01.281] invokeRestart("muffleMessage") [18:02:01.281] } [18:02:01.281] else if (inherits(cond, "warning")) { [18:02:01.281] muffled <- grepl(pattern, "muffleWarning") [18:02:01.281] if (muffled) [18:02:01.281] invokeRestart("muffleWarning") [18:02:01.281] } [18:02:01.281] else if (inherits(cond, "condition")) { [18:02:01.281] if (!is.null(pattern)) { [18:02:01.281] computeRestarts <- base::computeRestarts [18:02:01.281] grepl <- base::grepl [18:02:01.281] restarts <- computeRestarts(cond) [18:02:01.281] for (restart in restarts) { [18:02:01.281] name <- restart$name [18:02:01.281] if (is.null(name)) [18:02:01.281] next [18:02:01.281] if (!grepl(pattern, name)) [18:02:01.281] next [18:02:01.281] invokeRestart(restart) [18:02:01.281] muffled <- TRUE [18:02:01.281] break [18:02:01.281] } [18:02:01.281] } [18:02:01.281] } [18:02:01.281] invisible(muffled) [18:02:01.281] } [18:02:01.281] muffleCondition(cond, pattern = "^muffle") [18:02:01.281] } [18:02:01.281] } [18:02:01.281] } [18:02:01.281] })) [18:02:01.281] }, error = function(ex) { [18:02:01.281] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.281] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.281] ...future.rng), started = ...future.startTime, [18:02:01.281] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.281] version = "1.8"), class = "FutureResult") [18:02:01.281] }, finally = { [18:02:01.281] if (!identical(...future.workdir, getwd())) [18:02:01.281] setwd(...future.workdir) [18:02:01.281] { [18:02:01.281] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.281] ...future.oldOptions$nwarnings <- NULL [18:02:01.281] } [18:02:01.281] base::options(...future.oldOptions) [18:02:01.281] if (.Platform$OS.type == "windows") { [18:02:01.281] old_names <- names(...future.oldEnvVars) [18:02:01.281] envs <- base::Sys.getenv() [18:02:01.281] names <- names(envs) [18:02:01.281] common <- intersect(names, old_names) [18:02:01.281] added <- setdiff(names, old_names) [18:02:01.281] removed <- setdiff(old_names, names) [18:02:01.281] changed <- common[...future.oldEnvVars[common] != [18:02:01.281] envs[common]] [18:02:01.281] NAMES <- toupper(changed) [18:02:01.281] args <- list() [18:02:01.281] for (kk in seq_along(NAMES)) { [18:02:01.281] name <- changed[[kk]] [18:02:01.281] NAME <- NAMES[[kk]] [18:02:01.281] if (name != NAME && is.element(NAME, old_names)) [18:02:01.281] next [18:02:01.281] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.281] } [18:02:01.281] NAMES <- toupper(added) [18:02:01.281] for (kk in seq_along(NAMES)) { [18:02:01.281] name <- added[[kk]] [18:02:01.281] NAME <- NAMES[[kk]] [18:02:01.281] if (name != NAME && is.element(NAME, old_names)) [18:02:01.281] next [18:02:01.281] args[[name]] <- "" [18:02:01.281] } [18:02:01.281] NAMES <- toupper(removed) [18:02:01.281] for (kk in seq_along(NAMES)) { [18:02:01.281] name <- removed[[kk]] [18:02:01.281] NAME <- NAMES[[kk]] [18:02:01.281] if (name != NAME && is.element(NAME, old_names)) [18:02:01.281] next [18:02:01.281] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.281] } [18:02:01.281] if (length(args) > 0) [18:02:01.281] base::do.call(base::Sys.setenv, args = args) [18:02:01.281] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.281] } [18:02:01.281] else { [18:02:01.281] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.281] } [18:02:01.281] { [18:02:01.281] if (base::length(...future.futureOptionsAdded) > [18:02:01.281] 0L) { [18:02:01.281] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.281] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.281] base::options(opts) [18:02:01.281] } [18:02:01.281] { [18:02:01.281] { [18:02:01.281] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.281] NULL [18:02:01.281] } [18:02:01.281] options(future.plan = NULL) [18:02:01.281] if (is.na(NA_character_)) [18:02:01.281] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.281] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.281] future::plan(list(function (..., workers = availableCores(), [18:02:01.281] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.281] envir = parent.frame()) [18:02:01.281] { [18:02:01.281] if (is.function(workers)) [18:02:01.281] workers <- workers() [18:02:01.281] workers <- structure(as.integer(workers), [18:02:01.281] class = class(workers)) [18:02:01.281] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.281] workers >= 1) [18:02:01.281] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.281] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.281] } [18:02:01.281] future <- MultisessionFuture(..., workers = workers, [18:02:01.281] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.281] envir = envir) [18:02:01.281] if (!future$lazy) [18:02:01.281] future <- run(future) [18:02:01.281] invisible(future) [18:02:01.281] }), .cleanup = FALSE, .init = FALSE) [18:02:01.281] } [18:02:01.281] } [18:02:01.281] } [18:02:01.281] }) [18:02:01.281] if (TRUE) { [18:02:01.281] base::sink(type = "output", split = FALSE) [18:02:01.281] if (TRUE) { [18:02:01.281] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.281] } [18:02:01.281] else { [18:02:01.281] ...future.result["stdout"] <- base::list(NULL) [18:02:01.281] } [18:02:01.281] base::close(...future.stdout) [18:02:01.281] ...future.stdout <- NULL [18:02:01.281] } [18:02:01.281] ...future.result$conditions <- ...future.conditions [18:02:01.281] ...future.result$finished <- base::Sys.time() [18:02:01.281] ...future.result [18:02:01.281] } [18:02:01.287] Exporting 1 global objects (56 bytes) to cluster node #1 ... [18:02:01.287] Exporting 'ii' (56 bytes) to cluster node #1 ... [18:02:01.287] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [18:02:01.287] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [18:02:01.288] MultisessionFuture started [18:02:01.288] - Launch lazy future ... done [18:02:01.288] run() for 'MultisessionFuture' ... done Warning: 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' [18:02:01.289] getGlobalsAndPackages() ... Warning: 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' [18:02:01.289] Searching for globals... Warning: 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' [18:02:01.291] - globals found: [4] '{', '<-', '*', 'ii' [18:02:01.291] Searching for globals ... DONE [18:02:01.292] Resolving globals: TRUE [18:02:01.292] Resolving any globals that are futures ... [18:02:01.292] - globals: [4] '{', '<-', '*', 'ii' [18:02:01.292] Resolving any globals that are futures ... DONE [18:02:01.292] Resolving futures part of globals (recursively) ... [18:02:01.293] resolve() on list ... [18:02:01.293] recursive: 99 [18:02:01.293] length: 1 [18:02:01.293] elements: 'ii' [18:02:01.293] length: 0 (resolved future 1) [18:02:01.294] resolve() on list ... DONE [18:02:01.294] - globals: [1] 'ii' [18:02:01.294] Resolving futures part of globals (recursively) ... DONE [18:02:01.294] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:01.295] 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') [18:02:01.295] - globals: [1] 'ii' [18:02:01.295] [18:02:01.295] getGlobalsAndPackages() ... DONE [18:02:01.296] run() for 'Future' ... [18:02:01.296] - state: 'created' [18:02:01.296] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.310] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.310] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.310] - Field: 'node' [18:02:01.310] - Field: 'label' [18:02:01.310] - Field: 'local' [18:02:01.311] - Field: 'owner' [18:02:01.311] - Field: 'envir' [18:02:01.311] - Field: 'workers' [18:02:01.311] - Field: 'packages' [18:02:01.311] - Field: 'gc' [18:02:01.312] - Field: 'conditions' [18:02:01.312] - Field: 'persistent' [18:02:01.312] - Field: 'expr' [18:02:01.312] - Field: 'uuid' [18:02:01.312] - Field: 'seed' [18:02:01.312] - Field: 'version' [18:02:01.313] - Field: 'result' [18:02:01.313] - Field: 'asynchronous' [18:02:01.313] - Field: 'calls' [18:02:01.313] - Field: 'globals' [18:02:01.313] - Field: 'stdout' [18:02:01.314] - Field: 'earlySignal' [18:02:01.314] - Field: 'lazy' [18:02:01.314] - Field: 'state' [18:02:01.314] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.314] - Launch lazy future ... [18:02:01.315] Packages needed by the future expression (n = 0): [18:02:01.315] Packages needed by future strategies (n = 0): [18:02:01.315] { [18:02:01.315] { [18:02:01.315] { [18:02:01.315] ...future.startTime <- base::Sys.time() [18:02:01.315] { [18:02:01.315] { [18:02:01.315] { [18:02:01.315] { [18:02:01.315] base::local({ [18:02:01.315] has_future <- base::requireNamespace("future", [18:02:01.315] quietly = TRUE) [18:02:01.315] if (has_future) { [18:02:01.315] ns <- base::getNamespace("future") [18:02:01.315] version <- ns[[".package"]][["version"]] [18:02:01.315] if (is.null(version)) [18:02:01.315] version <- utils::packageVersion("future") [18:02:01.315] } [18:02:01.315] else { [18:02:01.315] version <- NULL [18:02:01.315] } [18:02:01.315] if (!has_future || version < "1.8.0") { [18:02:01.315] info <- base::c(r_version = base::gsub("R version ", [18:02:01.315] "", base::R.version$version.string), [18:02:01.315] platform = base::sprintf("%s (%s-bit)", [18:02:01.315] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:01.315] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.315] "release", "version")], collapse = " "), [18:02:01.315] hostname = base::Sys.info()[["nodename"]]) [18:02:01.315] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.315] info) [18:02:01.315] info <- base::paste(info, collapse = "; ") [18:02:01.315] if (!has_future) { [18:02:01.315] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.315] info) [18:02:01.315] } [18:02:01.315] else { [18:02:01.315] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.315] info, version) [18:02:01.315] } [18:02:01.315] base::stop(msg) [18:02:01.315] } [18:02:01.315] }) [18:02:01.315] } [18:02:01.315] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.315] base::options(mc.cores = 1L) [18:02:01.315] } [18:02:01.315] options(future.plan = NULL) [18:02:01.315] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.315] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.315] } [18:02:01.315] ...future.workdir <- getwd() [18:02:01.315] } [18:02:01.315] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.315] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.315] } [18:02:01.315] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.315] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.315] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.315] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.315] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.315] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.315] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.315] base::names(...future.oldOptions)) [18:02:01.315] } [18:02:01.315] if (FALSE) { [18:02:01.315] } [18:02:01.315] else { [18:02:01.315] if (TRUE) { [18:02:01.315] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.315] open = "w") [18:02:01.315] } [18:02:01.315] else { [18:02:01.315] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.315] windows = "NUL", "/dev/null"), open = "w") [18:02:01.315] } [18:02:01.315] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.315] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.315] base::sink(type = "output", split = FALSE) [18:02:01.315] base::close(...future.stdout) [18:02:01.315] }, add = TRUE) [18:02:01.315] } [18:02:01.315] ...future.frame <- base::sys.nframe() [18:02:01.315] ...future.conditions <- base::list() [18:02:01.315] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.315] if (FALSE) { [18:02:01.315] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.315] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.315] } [18:02:01.315] ...future.result <- base::tryCatch({ [18:02:01.315] base::withCallingHandlers({ [18:02:01.315] ...future.value <- base::withVisible(base::local({ [18:02:01.315] ...future.makeSendCondition <- local({ [18:02:01.315] sendCondition <- NULL [18:02:01.315] function(frame = 1L) { [18:02:01.315] if (is.function(sendCondition)) [18:02:01.315] return(sendCondition) [18:02:01.315] ns <- getNamespace("parallel") [18:02:01.315] if (exists("sendData", mode = "function", [18:02:01.315] envir = ns)) { [18:02:01.315] parallel_sendData <- get("sendData", mode = "function", [18:02:01.315] envir = ns) [18:02:01.315] envir <- sys.frame(frame) [18:02:01.315] master <- NULL [18:02:01.315] while (!identical(envir, .GlobalEnv) && [18:02:01.315] !identical(envir, emptyenv())) { [18:02:01.315] if (exists("master", mode = "list", envir = envir, [18:02:01.315] inherits = FALSE)) { [18:02:01.315] master <- get("master", mode = "list", [18:02:01.315] envir = envir, inherits = FALSE) [18:02:01.315] if (inherits(master, c("SOCKnode", [18:02:01.315] "SOCK0node"))) { [18:02:01.315] sendCondition <<- function(cond) { [18:02:01.315] data <- list(type = "VALUE", value = cond, [18:02:01.315] success = TRUE) [18:02:01.315] parallel_sendData(master, data) [18:02:01.315] } [18:02:01.315] return(sendCondition) [18:02:01.315] } [18:02:01.315] } [18:02:01.315] frame <- frame + 1L [18:02:01.315] envir <- sys.frame(frame) [18:02:01.315] } [18:02:01.315] } [18:02:01.315] sendCondition <<- function(cond) NULL [18:02:01.315] } [18:02:01.315] }) [18:02:01.315] withCallingHandlers({ [18:02:01.315] { [18:02:01.315] b <- a * ii [18:02:01.315] a <- 0 [18:02:01.315] b [18:02:01.315] } [18:02:01.315] }, immediateCondition = function(cond) { [18:02:01.315] sendCondition <- ...future.makeSendCondition() [18:02:01.315] sendCondition(cond) [18:02:01.315] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.315] { [18:02:01.315] inherits <- base::inherits [18:02:01.315] invokeRestart <- base::invokeRestart [18:02:01.315] is.null <- base::is.null [18:02:01.315] muffled <- FALSE [18:02:01.315] if (inherits(cond, "message")) { [18:02:01.315] muffled <- grepl(pattern, "muffleMessage") [18:02:01.315] if (muffled) [18:02:01.315] invokeRestart("muffleMessage") [18:02:01.315] } [18:02:01.315] else if (inherits(cond, "warning")) { [18:02:01.315] muffled <- grepl(pattern, "muffleWarning") [18:02:01.315] if (muffled) [18:02:01.315] invokeRestart("muffleWarning") [18:02:01.315] } [18:02:01.315] else if (inherits(cond, "condition")) { [18:02:01.315] if (!is.null(pattern)) { [18:02:01.315] computeRestarts <- base::computeRestarts [18:02:01.315] grepl <- base::grepl [18:02:01.315] restarts <- computeRestarts(cond) [18:02:01.315] for (restart in restarts) { [18:02:01.315] name <- restart$name [18:02:01.315] if (is.null(name)) [18:02:01.315] next [18:02:01.315] if (!grepl(pattern, name)) [18:02:01.315] next [18:02:01.315] invokeRestart(restart) [18:02:01.315] muffled <- TRUE [18:02:01.315] break [18:02:01.315] } [18:02:01.315] } [18:02:01.315] } [18:02:01.315] invisible(muffled) [18:02:01.315] } [18:02:01.315] muffleCondition(cond) [18:02:01.315] }) [18:02:01.315] })) [18:02:01.315] future::FutureResult(value = ...future.value$value, [18:02:01.315] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.315] ...future.rng), globalenv = if (FALSE) [18:02:01.315] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.315] ...future.globalenv.names)) [18:02:01.315] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.315] }, condition = base::local({ [18:02:01.315] c <- base::c [18:02:01.315] inherits <- base::inherits [18:02:01.315] invokeRestart <- base::invokeRestart [18:02:01.315] length <- base::length [18:02:01.315] list <- base::list [18:02:01.315] seq.int <- base::seq.int [18:02:01.315] signalCondition <- base::signalCondition [18:02:01.315] sys.calls <- base::sys.calls [18:02:01.315] `[[` <- base::`[[` [18:02:01.315] `+` <- base::`+` [18:02:01.315] `<<-` <- base::`<<-` [18:02:01.315] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.315] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.315] 3L)] [18:02:01.315] } [18:02:01.315] function(cond) { [18:02:01.315] is_error <- inherits(cond, "error") [18:02:01.315] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.315] NULL) [18:02:01.315] if (is_error) { [18:02:01.315] sessionInformation <- function() { [18:02:01.315] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.315] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.315] search = base::search(), system = base::Sys.info()) [18:02:01.315] } [18:02:01.315] ...future.conditions[[length(...future.conditions) + [18:02:01.315] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.315] cond$call), session = sessionInformation(), [18:02:01.315] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.315] signalCondition(cond) [18:02:01.315] } [18:02:01.315] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.315] "immediateCondition"))) { [18:02:01.315] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.315] ...future.conditions[[length(...future.conditions) + [18:02:01.315] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.315] if (TRUE && !signal) { [18:02:01.315] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.315] { [18:02:01.315] inherits <- base::inherits [18:02:01.315] invokeRestart <- base::invokeRestart [18:02:01.315] is.null <- base::is.null [18:02:01.315] muffled <- FALSE [18:02:01.315] if (inherits(cond, "message")) { [18:02:01.315] muffled <- grepl(pattern, "muffleMessage") [18:02:01.315] if (muffled) [18:02:01.315] invokeRestart("muffleMessage") [18:02:01.315] } [18:02:01.315] else if (inherits(cond, "warning")) { [18:02:01.315] muffled <- grepl(pattern, "muffleWarning") [18:02:01.315] if (muffled) [18:02:01.315] invokeRestart("muffleWarning") [18:02:01.315] } [18:02:01.315] else if (inherits(cond, "condition")) { [18:02:01.315] if (!is.null(pattern)) { [18:02:01.315] computeRestarts <- base::computeRestarts [18:02:01.315] grepl <- base::grepl [18:02:01.315] restarts <- computeRestarts(cond) [18:02:01.315] for (restart in restarts) { [18:02:01.315] name <- restart$name [18:02:01.315] if (is.null(name)) [18:02:01.315] next [18:02:01.315] if (!grepl(pattern, name)) [18:02:01.315] next [18:02:01.315] invokeRestart(restart) [18:02:01.315] muffled <- TRUE [18:02:01.315] break [18:02:01.315] } [18:02:01.315] } [18:02:01.315] } [18:02:01.315] invisible(muffled) [18:02:01.315] } [18:02:01.315] muffleCondition(cond, pattern = "^muffle") [18:02:01.315] } [18:02:01.315] } [18:02:01.315] else { [18:02:01.315] if (TRUE) { [18:02:01.315] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.315] { [18:02:01.315] inherits <- base::inherits [18:02:01.315] invokeRestart <- base::invokeRestart [18:02:01.315] is.null <- base::is.null [18:02:01.315] muffled <- FALSE [18:02:01.315] if (inherits(cond, "message")) { [18:02:01.315] muffled <- grepl(pattern, "muffleMessage") [18:02:01.315] if (muffled) [18:02:01.315] invokeRestart("muffleMessage") [18:02:01.315] } [18:02:01.315] else if (inherits(cond, "warning")) { [18:02:01.315] muffled <- grepl(pattern, "muffleWarning") [18:02:01.315] if (muffled) [18:02:01.315] invokeRestart("muffleWarning") [18:02:01.315] } [18:02:01.315] else if (inherits(cond, "condition")) { [18:02:01.315] if (!is.null(pattern)) { [18:02:01.315] computeRestarts <- base::computeRestarts [18:02:01.315] grepl <- base::grepl [18:02:01.315] restarts <- computeRestarts(cond) [18:02:01.315] for (restart in restarts) { [18:02:01.315] name <- restart$name [18:02:01.315] if (is.null(name)) [18:02:01.315] next [18:02:01.315] if (!grepl(pattern, name)) [18:02:01.315] next [18:02:01.315] invokeRestart(restart) [18:02:01.315] muffled <- TRUE [18:02:01.315] break [18:02:01.315] } [18:02:01.315] } [18:02:01.315] } [18:02:01.315] invisible(muffled) [18:02:01.315] } [18:02:01.315] muffleCondition(cond, pattern = "^muffle") [18:02:01.315] } [18:02:01.315] } [18:02:01.315] } [18:02:01.315] })) [18:02:01.315] }, error = function(ex) { [18:02:01.315] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.315] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.315] ...future.rng), started = ...future.startTime, [18:02:01.315] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.315] version = "1.8"), class = "FutureResult") [18:02:01.315] }, finally = { [18:02:01.315] if (!identical(...future.workdir, getwd())) [18:02:01.315] setwd(...future.workdir) [18:02:01.315] { [18:02:01.315] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.315] ...future.oldOptions$nwarnings <- NULL [18:02:01.315] } [18:02:01.315] base::options(...future.oldOptions) [18:02:01.315] if (.Platform$OS.type == "windows") { [18:02:01.315] old_names <- names(...future.oldEnvVars) [18:02:01.315] envs <- base::Sys.getenv() [18:02:01.315] names <- names(envs) [18:02:01.315] common <- intersect(names, old_names) [18:02:01.315] added <- setdiff(names, old_names) [18:02:01.315] removed <- setdiff(old_names, names) [18:02:01.315] changed <- common[...future.oldEnvVars[common] != [18:02:01.315] envs[common]] [18:02:01.315] NAMES <- toupper(changed) [18:02:01.315] args <- list() [18:02:01.315] for (kk in seq_along(NAMES)) { [18:02:01.315] name <- changed[[kk]] [18:02:01.315] NAME <- NAMES[[kk]] [18:02:01.315] if (name != NAME && is.element(NAME, old_names)) [18:02:01.315] next [18:02:01.315] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.315] } [18:02:01.315] NAMES <- toupper(added) [18:02:01.315] for (kk in seq_along(NAMES)) { [18:02:01.315] name <- added[[kk]] [18:02:01.315] NAME <- NAMES[[kk]] [18:02:01.315] if (name != NAME && is.element(NAME, old_names)) [18:02:01.315] next [18:02:01.315] args[[name]] <- "" [18:02:01.315] } [18:02:01.315] NAMES <- toupper(removed) [18:02:01.315] for (kk in seq_along(NAMES)) { [18:02:01.315] name <- removed[[kk]] [18:02:01.315] NAME <- NAMES[[kk]] [18:02:01.315] if (name != NAME && is.element(NAME, old_names)) [18:02:01.315] next [18:02:01.315] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.315] } [18:02:01.315] if (length(args) > 0) [18:02:01.315] base::do.call(base::Sys.setenv, args = args) [18:02:01.315] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.315] } [18:02:01.315] else { [18:02:01.315] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.315] } [18:02:01.315] { [18:02:01.315] if (base::length(...future.futureOptionsAdded) > [18:02:01.315] 0L) { [18:02:01.315] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.315] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.315] base::options(opts) [18:02:01.315] } [18:02:01.315] { [18:02:01.315] { [18:02:01.315] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.315] NULL [18:02:01.315] } [18:02:01.315] options(future.plan = NULL) [18:02:01.315] if (is.na(NA_character_)) [18:02:01.315] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.315] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.315] future::plan(list(function (..., workers = availableCores(), [18:02:01.315] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.315] envir = parent.frame()) [18:02:01.315] { [18:02:01.315] if (is.function(workers)) [18:02:01.315] workers <- workers() [18:02:01.315] workers <- structure(as.integer(workers), [18:02:01.315] class = class(workers)) [18:02:01.315] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.315] workers >= 1) [18:02:01.315] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.315] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.315] } [18:02:01.315] future <- MultisessionFuture(..., workers = workers, [18:02:01.315] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.315] envir = envir) [18:02:01.315] if (!future$lazy) [18:02:01.315] future <- run(future) [18:02:01.315] invisible(future) [18:02:01.315] }), .cleanup = FALSE, .init = FALSE) [18:02:01.315] } [18:02:01.315] } [18:02:01.315] } [18:02:01.315] }) [18:02:01.315] if (TRUE) { [18:02:01.315] base::sink(type = "output", split = FALSE) [18:02:01.315] if (TRUE) { [18:02:01.315] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.315] } [18:02:01.315] else { [18:02:01.315] ...future.result["stdout"] <- base::list(NULL) [18:02:01.315] } [18:02:01.315] base::close(...future.stdout) [18:02:01.315] ...future.stdout <- NULL [18:02:01.315] } [18:02:01.315] ...future.result$conditions <- ...future.conditions [18:02:01.315] ...future.result$finished <- base::Sys.time() [18:02:01.315] ...future.result [18:02:01.315] } [18:02:01.399] Exporting 1 global objects (56 bytes) to cluster node #2 ... [18:02:01.399] Exporting 'ii' (56 bytes) to cluster node #2 ... [18:02:01.400] Exporting 'ii' (56 bytes) to cluster node #2 ... DONE [18:02:01.400] Exporting 1 global objects (56 bytes) to cluster node #2 ... DONE [18:02:01.401] MultisessionFuture started [18:02:01.401] - Launch lazy future ... done [18:02:01.401] run() for 'MultisessionFuture' ... done Warning: 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' [18:02:01.402] getGlobalsAndPackages() ... Warning: 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' [18:02:01.402] Searching for globals... Warning: 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' [18:02:01.404] - globals found: [4] '{', '<-', '*', 'ii' [18:02:01.404] Searching for globals ... DONE [18:02:01.404] Resolving globals: TRUE [18:02:01.404] Resolving any globals that are futures ... [18:02:01.404] - globals: [4] '{', '<-', '*', 'ii' [18:02:01.405] Resolving any globals that are futures ... DONE [18:02:01.405] Resolving futures part of globals (recursively) ... [18:02:01.405] resolve() on list ... [18:02:01.405] recursive: 99 [18:02:01.406] length: 1 [18:02:01.406] elements: 'ii' [18:02:01.406] length: 0 (resolved future 1) [18:02:01.406] resolve() on list ... DONE [18:02:01.406] - globals: [1] 'ii' [18:02:01.406] Resolving futures part of globals (recursively) ... DONE [18:02:01.407] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:01.407] 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') [18:02:01.407] - globals: [1] 'ii' [18:02:01.408] [18:02:01.408] getGlobalsAndPackages() ... DONE [18:02:01.408] run() for 'Future' ... [18:02:01.408] - state: 'created' [18:02:01.408] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.422] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.422] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.422] - Field: 'node' [18:02:01.423] - Field: 'label' [18:02:01.423] - Field: 'local' [18:02:01.423] - Field: 'owner' [18:02:01.423] - Field: 'envir' [18:02:01.423] - Field: 'workers' [18:02:01.424] - Field: 'packages' [18:02:01.424] - Field: 'gc' [18:02:01.424] - Field: 'conditions' [18:02:01.424] - Field: 'persistent' [18:02:01.424] - Field: 'expr' [18:02:01.424] - Field: 'uuid' [18:02:01.425] - Field: 'seed' [18:02:01.425] - Field: 'version' [18:02:01.425] - Field: 'result' [18:02:01.425] - Field: 'asynchronous' [18:02:01.425] - Field: 'calls' [18:02:01.426] - Field: 'globals' [18:02:01.426] - Field: 'stdout' [18:02:01.426] - Field: 'earlySignal' [18:02:01.426] - Field: 'lazy' [18:02:01.426] - Field: 'state' [18:02:01.426] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.427] - Launch lazy future ... [18:02:01.427] Packages needed by the future expression (n = 0): [18:02:01.427] Packages needed by future strategies (n = 0): [18:02:01.428] { [18:02:01.428] { [18:02:01.428] { [18:02:01.428] ...future.startTime <- base::Sys.time() [18:02:01.428] { [18:02:01.428] { [18:02:01.428] { [18:02:01.428] { [18:02:01.428] base::local({ [18:02:01.428] has_future <- base::requireNamespace("future", [18:02:01.428] quietly = TRUE) [18:02:01.428] if (has_future) { [18:02:01.428] ns <- base::getNamespace("future") [18:02:01.428] version <- ns[[".package"]][["version"]] [18:02:01.428] if (is.null(version)) [18:02:01.428] version <- utils::packageVersion("future") [18:02:01.428] } [18:02:01.428] else { [18:02:01.428] version <- NULL [18:02:01.428] } [18:02:01.428] if (!has_future || version < "1.8.0") { [18:02:01.428] info <- base::c(r_version = base::gsub("R version ", [18:02:01.428] "", base::R.version$version.string), [18:02:01.428] platform = base::sprintf("%s (%s-bit)", [18:02:01.428] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:01.428] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.428] "release", "version")], collapse = " "), [18:02:01.428] hostname = base::Sys.info()[["nodename"]]) [18:02:01.428] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.428] info) [18:02:01.428] info <- base::paste(info, collapse = "; ") [18:02:01.428] if (!has_future) { [18:02:01.428] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.428] info) [18:02:01.428] } [18:02:01.428] else { [18:02:01.428] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.428] info, version) [18:02:01.428] } [18:02:01.428] base::stop(msg) [18:02:01.428] } [18:02:01.428] }) [18:02:01.428] } [18:02:01.428] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.428] base::options(mc.cores = 1L) [18:02:01.428] } [18:02:01.428] options(future.plan = NULL) [18:02:01.428] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.428] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.428] } [18:02:01.428] ...future.workdir <- getwd() [18:02:01.428] } [18:02:01.428] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.428] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.428] } [18:02:01.428] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.428] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.428] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.428] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.428] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.428] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.428] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.428] base::names(...future.oldOptions)) [18:02:01.428] } [18:02:01.428] if (FALSE) { [18:02:01.428] } [18:02:01.428] else { [18:02:01.428] if (TRUE) { [18:02:01.428] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.428] open = "w") [18:02:01.428] } [18:02:01.428] else { [18:02:01.428] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.428] windows = "NUL", "/dev/null"), open = "w") [18:02:01.428] } [18:02:01.428] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.428] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.428] base::sink(type = "output", split = FALSE) [18:02:01.428] base::close(...future.stdout) [18:02:01.428] }, add = TRUE) [18:02:01.428] } [18:02:01.428] ...future.frame <- base::sys.nframe() [18:02:01.428] ...future.conditions <- base::list() [18:02:01.428] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.428] if (FALSE) { [18:02:01.428] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.428] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.428] } [18:02:01.428] ...future.result <- base::tryCatch({ [18:02:01.428] base::withCallingHandlers({ [18:02:01.428] ...future.value <- base::withVisible(base::local({ [18:02:01.428] ...future.makeSendCondition <- local({ [18:02:01.428] sendCondition <- NULL [18:02:01.428] function(frame = 1L) { [18:02:01.428] if (is.function(sendCondition)) [18:02:01.428] return(sendCondition) [18:02:01.428] ns <- getNamespace("parallel") [18:02:01.428] if (exists("sendData", mode = "function", [18:02:01.428] envir = ns)) { [18:02:01.428] parallel_sendData <- get("sendData", mode = "function", [18:02:01.428] envir = ns) [18:02:01.428] envir <- sys.frame(frame) [18:02:01.428] master <- NULL [18:02:01.428] while (!identical(envir, .GlobalEnv) && [18:02:01.428] !identical(envir, emptyenv())) { [18:02:01.428] if (exists("master", mode = "list", envir = envir, [18:02:01.428] inherits = FALSE)) { [18:02:01.428] master <- get("master", mode = "list", [18:02:01.428] envir = envir, inherits = FALSE) [18:02:01.428] if (inherits(master, c("SOCKnode", [18:02:01.428] "SOCK0node"))) { [18:02:01.428] sendCondition <<- function(cond) { [18:02:01.428] data <- list(type = "VALUE", value = cond, [18:02:01.428] success = TRUE) [18:02:01.428] parallel_sendData(master, data) [18:02:01.428] } [18:02:01.428] return(sendCondition) [18:02:01.428] } [18:02:01.428] } [18:02:01.428] frame <- frame + 1L [18:02:01.428] envir <- sys.frame(frame) [18:02:01.428] } [18:02:01.428] } [18:02:01.428] sendCondition <<- function(cond) NULL [18:02:01.428] } [18:02:01.428] }) [18:02:01.428] withCallingHandlers({ [18:02:01.428] { [18:02:01.428] b <- a * ii [18:02:01.428] a <- 0 [18:02:01.428] b [18:02:01.428] } [18:02:01.428] }, immediateCondition = function(cond) { [18:02:01.428] sendCondition <- ...future.makeSendCondition() [18:02:01.428] sendCondition(cond) [18:02:01.428] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.428] { [18:02:01.428] inherits <- base::inherits [18:02:01.428] invokeRestart <- base::invokeRestart [18:02:01.428] is.null <- base::is.null [18:02:01.428] muffled <- FALSE [18:02:01.428] if (inherits(cond, "message")) { [18:02:01.428] muffled <- grepl(pattern, "muffleMessage") [18:02:01.428] if (muffled) [18:02:01.428] invokeRestart("muffleMessage") [18:02:01.428] } [18:02:01.428] else if (inherits(cond, "warning")) { [18:02:01.428] muffled <- grepl(pattern, "muffleWarning") [18:02:01.428] if (muffled) [18:02:01.428] invokeRestart("muffleWarning") [18:02:01.428] } [18:02:01.428] else if (inherits(cond, "condition")) { [18:02:01.428] if (!is.null(pattern)) { [18:02:01.428] computeRestarts <- base::computeRestarts [18:02:01.428] grepl <- base::grepl [18:02:01.428] restarts <- computeRestarts(cond) [18:02:01.428] for (restart in restarts) { [18:02:01.428] name <- restart$name [18:02:01.428] if (is.null(name)) [18:02:01.428] next [18:02:01.428] if (!grepl(pattern, name)) [18:02:01.428] next [18:02:01.428] invokeRestart(restart) [18:02:01.428] muffled <- TRUE [18:02:01.428] break [18:02:01.428] } [18:02:01.428] } [18:02:01.428] } [18:02:01.428] invisible(muffled) [18:02:01.428] } [18:02:01.428] muffleCondition(cond) [18:02:01.428] }) [18:02:01.428] })) [18:02:01.428] future::FutureResult(value = ...future.value$value, [18:02:01.428] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.428] ...future.rng), globalenv = if (FALSE) [18:02:01.428] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.428] ...future.globalenv.names)) [18:02:01.428] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.428] }, condition = base::local({ [18:02:01.428] c <- base::c [18:02:01.428] inherits <- base::inherits [18:02:01.428] invokeRestart <- base::invokeRestart [18:02:01.428] length <- base::length [18:02:01.428] list <- base::list [18:02:01.428] seq.int <- base::seq.int [18:02:01.428] signalCondition <- base::signalCondition [18:02:01.428] sys.calls <- base::sys.calls [18:02:01.428] `[[` <- base::`[[` [18:02:01.428] `+` <- base::`+` [18:02:01.428] `<<-` <- base::`<<-` [18:02:01.428] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.428] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.428] 3L)] [18:02:01.428] } [18:02:01.428] function(cond) { [18:02:01.428] is_error <- inherits(cond, "error") [18:02:01.428] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.428] NULL) [18:02:01.428] if (is_error) { [18:02:01.428] sessionInformation <- function() { [18:02:01.428] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.428] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.428] search = base::search(), system = base::Sys.info()) [18:02:01.428] } [18:02:01.428] ...future.conditions[[length(...future.conditions) + [18:02:01.428] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.428] cond$call), session = sessionInformation(), [18:02:01.428] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.428] signalCondition(cond) [18:02:01.428] } [18:02:01.428] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.428] "immediateCondition"))) { [18:02:01.428] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.428] ...future.conditions[[length(...future.conditions) + [18:02:01.428] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.428] if (TRUE && !signal) { [18:02:01.428] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.428] { [18:02:01.428] inherits <- base::inherits [18:02:01.428] invokeRestart <- base::invokeRestart [18:02:01.428] is.null <- base::is.null [18:02:01.428] muffled <- FALSE [18:02:01.428] if (inherits(cond, "message")) { [18:02:01.428] muffled <- grepl(pattern, "muffleMessage") [18:02:01.428] if (muffled) [18:02:01.428] invokeRestart("muffleMessage") [18:02:01.428] } [18:02:01.428] else if (inherits(cond, "warning")) { [18:02:01.428] muffled <- grepl(pattern, "muffleWarning") [18:02:01.428] if (muffled) [18:02:01.428] invokeRestart("muffleWarning") [18:02:01.428] } [18:02:01.428] else if (inherits(cond, "condition")) { [18:02:01.428] if (!is.null(pattern)) { [18:02:01.428] computeRestarts <- base::computeRestarts [18:02:01.428] grepl <- base::grepl [18:02:01.428] restarts <- computeRestarts(cond) [18:02:01.428] for (restart in restarts) { [18:02:01.428] name <- restart$name [18:02:01.428] if (is.null(name)) [18:02:01.428] next [18:02:01.428] if (!grepl(pattern, name)) [18:02:01.428] next [18:02:01.428] invokeRestart(restart) [18:02:01.428] muffled <- TRUE [18:02:01.428] break [18:02:01.428] } [18:02:01.428] } [18:02:01.428] } [18:02:01.428] invisible(muffled) [18:02:01.428] } [18:02:01.428] muffleCondition(cond, pattern = "^muffle") [18:02:01.428] } [18:02:01.428] } [18:02:01.428] else { [18:02:01.428] if (TRUE) { [18:02:01.428] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.428] { [18:02:01.428] inherits <- base::inherits [18:02:01.428] invokeRestart <- base::invokeRestart [18:02:01.428] is.null <- base::is.null [18:02:01.428] muffled <- FALSE [18:02:01.428] if (inherits(cond, "message")) { [18:02:01.428] muffled <- grepl(pattern, "muffleMessage") [18:02:01.428] if (muffled) [18:02:01.428] invokeRestart("muffleMessage") [18:02:01.428] } [18:02:01.428] else if (inherits(cond, "warning")) { [18:02:01.428] muffled <- grepl(pattern, "muffleWarning") [18:02:01.428] if (muffled) [18:02:01.428] invokeRestart("muffleWarning") [18:02:01.428] } [18:02:01.428] else if (inherits(cond, "condition")) { [18:02:01.428] if (!is.null(pattern)) { [18:02:01.428] computeRestarts <- base::computeRestarts [18:02:01.428] grepl <- base::grepl [18:02:01.428] restarts <- computeRestarts(cond) [18:02:01.428] for (restart in restarts) { [18:02:01.428] name <- restart$name [18:02:01.428] if (is.null(name)) [18:02:01.428] next [18:02:01.428] if (!grepl(pattern, name)) [18:02:01.428] next [18:02:01.428] invokeRestart(restart) [18:02:01.428] muffled <- TRUE [18:02:01.428] break [18:02:01.428] } [18:02:01.428] } [18:02:01.428] } [18:02:01.428] invisible(muffled) [18:02:01.428] } [18:02:01.428] muffleCondition(cond, pattern = "^muffle") [18:02:01.428] } [18:02:01.428] } [18:02:01.428] } [18:02:01.428] })) [18:02:01.428] }, error = function(ex) { [18:02:01.428] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.428] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.428] ...future.rng), started = ...future.startTime, [18:02:01.428] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.428] version = "1.8"), class = "FutureResult") [18:02:01.428] }, finally = { [18:02:01.428] if (!identical(...future.workdir, getwd())) [18:02:01.428] setwd(...future.workdir) [18:02:01.428] { [18:02:01.428] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.428] ...future.oldOptions$nwarnings <- NULL [18:02:01.428] } [18:02:01.428] base::options(...future.oldOptions) [18:02:01.428] if (.Platform$OS.type == "windows") { [18:02:01.428] old_names <- names(...future.oldEnvVars) [18:02:01.428] envs <- base::Sys.getenv() [18:02:01.428] names <- names(envs) [18:02:01.428] common <- intersect(names, old_names) [18:02:01.428] added <- setdiff(names, old_names) [18:02:01.428] removed <- setdiff(old_names, names) [18:02:01.428] changed <- common[...future.oldEnvVars[common] != [18:02:01.428] envs[common]] [18:02:01.428] NAMES <- toupper(changed) [18:02:01.428] args <- list() [18:02:01.428] for (kk in seq_along(NAMES)) { [18:02:01.428] name <- changed[[kk]] [18:02:01.428] NAME <- NAMES[[kk]] [18:02:01.428] if (name != NAME && is.element(NAME, old_names)) [18:02:01.428] next [18:02:01.428] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.428] } [18:02:01.428] NAMES <- toupper(added) [18:02:01.428] for (kk in seq_along(NAMES)) { [18:02:01.428] name <- added[[kk]] [18:02:01.428] NAME <- NAMES[[kk]] [18:02:01.428] if (name != NAME && is.element(NAME, old_names)) [18:02:01.428] next [18:02:01.428] args[[name]] <- "" [18:02:01.428] } [18:02:01.428] NAMES <- toupper(removed) [18:02:01.428] for (kk in seq_along(NAMES)) { [18:02:01.428] name <- removed[[kk]] [18:02:01.428] NAME <- NAMES[[kk]] [18:02:01.428] if (name != NAME && is.element(NAME, old_names)) [18:02:01.428] next [18:02:01.428] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.428] } [18:02:01.428] if (length(args) > 0) [18:02:01.428] base::do.call(base::Sys.setenv, args = args) [18:02:01.428] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.428] } [18:02:01.428] else { [18:02:01.428] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.428] } [18:02:01.428] { [18:02:01.428] if (base::length(...future.futureOptionsAdded) > [18:02:01.428] 0L) { [18:02:01.428] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.428] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.428] base::options(opts) [18:02:01.428] } [18:02:01.428] { [18:02:01.428] { [18:02:01.428] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.428] NULL [18:02:01.428] } [18:02:01.428] options(future.plan = NULL) [18:02:01.428] if (is.na(NA_character_)) [18:02:01.428] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.428] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.428] future::plan(list(function (..., workers = availableCores(), [18:02:01.428] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.428] envir = parent.frame()) [18:02:01.428] { [18:02:01.428] if (is.function(workers)) [18:02:01.428] workers <- workers() [18:02:01.428] workers <- structure(as.integer(workers), [18:02:01.428] class = class(workers)) [18:02:01.428] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.428] workers >= 1) [18:02:01.428] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.428] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.428] } [18:02:01.428] future <- MultisessionFuture(..., workers = workers, [18:02:01.428] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.428] envir = envir) [18:02:01.428] if (!future$lazy) [18:02:01.428] future <- run(future) [18:02:01.428] invisible(future) [18:02:01.428] }), .cleanup = FALSE, .init = FALSE) [18:02:01.428] } [18:02:01.428] } [18:02:01.428] } [18:02:01.428] }) [18:02:01.428] if (TRUE) { [18:02:01.428] base::sink(type = "output", split = FALSE) [18:02:01.428] if (TRUE) { [18:02:01.428] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.428] } [18:02:01.428] else { [18:02:01.428] ...future.result["stdout"] <- base::list(NULL) [18:02:01.428] } [18:02:01.428] base::close(...future.stdout) [18:02:01.428] ...future.stdout <- NULL [18:02:01.428] } [18:02:01.428] ...future.result$conditions <- ...future.conditions [18:02:01.428] ...future.result$finished <- base::Sys.time() [18:02:01.428] ...future.result [18:02:01.428] } [18:02:01.433] Poll #1 (0): usedNodes() = 2, workers = 2 [18:02:01.445] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.445] - Validating connection of MultisessionFuture [18:02:01.446] - received message: FutureResult [18:02:01.446] - Received FutureResult [18:02:01.446] - Erased future from FutureRegistry [18:02:01.446] result() for ClusterFuture ... [18:02:01.447] - result already collected: FutureResult [18:02:01.447] result() for ClusterFuture ... done [18:02:01.447] signalConditions() ... [18:02:01.447] - include = 'immediateCondition' [18:02:01.447] - exclude = [18:02:01.447] - resignal = FALSE [18:02:01.448] - Number of conditions: 1 [18:02:01.448] signalConditions() ... done [18:02:01.448] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.448] result() for ClusterFuture ... [18:02:01.448] - result already collected: FutureResult [18:02:01.448] result() for ClusterFuture ... done [18:02:01.449] result() for ClusterFuture ... [18:02:01.449] - result already collected: FutureResult [18:02:01.449] result() for ClusterFuture ... done [18:02:01.449] signalConditions() ... [18:02:01.449] - include = 'immediateCondition' [18:02:01.449] - exclude = [18:02:01.450] - resignal = FALSE [18:02:01.450] - Number of conditions: 1 [18:02:01.450] signalConditions() ... done [18:02:01.451] Exporting 1 global objects (56 bytes) to cluster node #1 ... [18:02:01.451] Exporting 'ii' (56 bytes) to cluster node #1 ... [18:02:01.451] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [18:02:01.452] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [18:02:01.452] MultisessionFuture started [18:02:01.452] - Launch lazy future ... done [18:02:01.452] run() for 'MultisessionFuture' ... done [18:02:01.453] result() for ClusterFuture ... [18:02:01.453] - result already collected: FutureResult [18:02:01.453] result() for ClusterFuture ... done [18:02:01.453] result() for ClusterFuture ... [18:02:01.453] - result already collected: FutureResult [18:02:01.454] result() for ClusterFuture ... done [18:02:01.454] signalConditions() ... [18:02:01.454] - include = 'immediateCondition' [18:02:01.454] - exclude = [18:02:01.454] - resignal = FALSE [18:02:01.454] - Number of conditions: 1 [18:02:01.455] signalConditions() ... done [18:02:01.455] Future state: 'finished' [18:02:01.455] result() for ClusterFuture ... [18:02:01.455] - result already collected: FutureResult [18:02:01.455] result() for ClusterFuture ... done [18:02:01.455] signalConditions() ... [18:02:01.456] - include = 'condition' [18:02:01.456] - exclude = 'immediateCondition' [18:02:01.456] - resignal = TRUE [18:02:01.456] - Number of conditions: 1 [18:02:01.456] - Condition #1: 'simpleError', 'error', 'condition' [18:02:01.457] 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 <- local({ ... .. ..$ future.info:List of 5 .. .. ..$ condition:List of 2 .. .. .. ..$ message: chr "object 'a' not found" .. .. .. ..$ call : language eval(quote({ ...future.makeSendCondition <- 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 <- local({ ... .. .. .. ..$ : language withCallingHandlers({ { ... .. .. .. ..$ : language eval(quote({ ...future.makeSendCondition <- 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 "2023" .. .. .. .. ..$ month : chr "06" .. .. .. .. ..$ day : chr "30" .. .. .. .. ..$ svn rev : chr "84625" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2023-06-30 r84625 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: "2023-07-01 18:02:01" .. .. ..$ signaled : int 1 .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" Warning: 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' [18:02:01.476] getGlobalsAndPackages() ... Warning: 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' [18:02:01.476] Searching for globals... Warning: 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' [18:02:01.478] - globals found: [4] '{', '<-', '*', 'ii' [18:02:01.478] Searching for globals ... DONE [18:02:01.479] Resolving globals: TRUE [18:02:01.479] Resolving any globals that are futures ... [18:02:01.479] - globals: [4] '{', '<-', '*', 'ii' [18:02:01.479] Resolving any globals that are futures ... DONE [18:02:01.480] Resolving futures part of globals (recursively) ... [18:02:01.480] resolve() on list ... [18:02:01.480] recursive: 99 [18:02:01.480] length: 1 [18:02:01.480] elements: 'ii' [18:02:01.481] length: 0 (resolved future 1) [18:02:01.481] resolve() on list ... DONE [18:02:01.481] - globals: [1] 'ii' [18:02:01.481] Resolving futures part of globals (recursively) ... DONE [18:02:01.481] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:01.482] 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') [18:02:01.482] - globals: [1] 'ii' [18:02:01.482] [18:02:01.482] getGlobalsAndPackages() ... DONE Warning: 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' [18:02:01.483] getGlobalsAndPackages() ... Warning: 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' [18:02:01.483] Searching for globals... Warning: 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' [18:02:01.485] - globals found: [4] '{', '<-', '*', 'ii' [18:02:01.485] Searching for globals ... DONE [18:02:01.485] Resolving globals: TRUE [18:02:01.486] Resolving any globals that are futures ... [18:02:01.486] - globals: [4] '{', '<-', '*', 'ii' [18:02:01.486] Resolving any globals that are futures ... DONE [18:02:01.486] Resolving futures part of globals (recursively) ... [18:02:01.487] resolve() on list ... [18:02:01.487] recursive: 99 [18:02:01.487] length: 1 [18:02:01.487] elements: 'ii' [18:02:01.487] length: 0 (resolved future 1) [18:02:01.488] resolve() on list ... DONE [18:02:01.488] - globals: [1] 'ii' [18:02:01.488] Resolving futures part of globals (recursively) ... DONE [18:02:01.488] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:01.489] 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') [18:02:01.489] - globals: [1] 'ii' [18:02:01.489] [18:02:01.489] getGlobalsAndPackages() ... DONE Warning: 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' [18:02:01.490] getGlobalsAndPackages() ... Warning: 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' [18:02:01.490] Searching for globals... Warning: 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' [18:02:01.492] - globals found: [4] '{', '<-', '*', 'ii' [18:02:01.492] Searching for globals ... DONE [18:02:01.492] Resolving globals: TRUE [18:02:01.492] Resolving any globals that are futures ... [18:02:01.493] - globals: [4] '{', '<-', '*', 'ii' [18:02:01.493] Resolving any globals that are futures ... DONE [18:02:01.493] Resolving futures part of globals (recursively) ... [18:02:01.493] resolve() on list ... [18:02:01.494] recursive: 99 [18:02:01.494] length: 1 [18:02:01.494] elements: 'ii' [18:02:01.494] length: 0 (resolved future 1) [18:02:01.494] resolve() on list ... DONE [18:02:01.495] - globals: [1] 'ii' [18:02:01.495] Resolving futures part of globals (recursively) ... DONE [18:02:01.495] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:01.495] 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') [18:02:01.496] - globals: [1] 'ii' [18:02:01.496] [18:02:01.496] getGlobalsAndPackages() ... DONE [18:02:01.496] run() for 'Future' ... [18:02:01.496] - state: 'created' [18:02:01.497] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.510] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.511] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.511] - Field: 'node' [18:02:01.511] - Field: 'label' [18:02:01.511] - Field: 'local' [18:02:01.511] - Field: 'owner' [18:02:01.511] - Field: 'envir' [18:02:01.512] - Field: 'workers' [18:02:01.512] - Field: 'packages' [18:02:01.512] - Field: 'gc' [18:02:01.512] - Field: 'conditions' [18:02:01.512] - Field: 'persistent' [18:02:01.513] - Field: 'expr' [18:02:01.513] - Field: 'uuid' [18:02:01.513] - Field: 'seed' [18:02:01.513] - Field: 'version' [18:02:01.513] - Field: 'result' [18:02:01.513] - Field: 'asynchronous' [18:02:01.514] - Field: 'calls' [18:02:01.514] - Field: 'globals' [18:02:01.514] - Field: 'stdout' [18:02:01.514] - Field: 'earlySignal' [18:02:01.514] - Field: 'lazy' [18:02:01.515] - Field: 'state' [18:02:01.515] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.515] - Launch lazy future ... [18:02:01.515] Packages needed by the future expression (n = 0): [18:02:01.515] Packages needed by future strategies (n = 0): [18:02:01.516] { [18:02:01.516] { [18:02:01.516] { [18:02:01.516] ...future.startTime <- base::Sys.time() [18:02:01.516] { [18:02:01.516] { [18:02:01.516] { [18:02:01.516] { [18:02:01.516] base::local({ [18:02:01.516] has_future <- base::requireNamespace("future", [18:02:01.516] quietly = TRUE) [18:02:01.516] if (has_future) { [18:02:01.516] ns <- base::getNamespace("future") [18:02:01.516] version <- ns[[".package"]][["version"]] [18:02:01.516] if (is.null(version)) [18:02:01.516] version <- utils::packageVersion("future") [18:02:01.516] } [18:02:01.516] else { [18:02:01.516] version <- NULL [18:02:01.516] } [18:02:01.516] if (!has_future || version < "1.8.0") { [18:02:01.516] info <- base::c(r_version = base::gsub("R version ", [18:02:01.516] "", base::R.version$version.string), [18:02:01.516] platform = base::sprintf("%s (%s-bit)", [18:02:01.516] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:01.516] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.516] "release", "version")], collapse = " "), [18:02:01.516] hostname = base::Sys.info()[["nodename"]]) [18:02:01.516] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.516] info) [18:02:01.516] info <- base::paste(info, collapse = "; ") [18:02:01.516] if (!has_future) { [18:02:01.516] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.516] info) [18:02:01.516] } [18:02:01.516] else { [18:02:01.516] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.516] info, version) [18:02:01.516] } [18:02:01.516] base::stop(msg) [18:02:01.516] } [18:02:01.516] }) [18:02:01.516] } [18:02:01.516] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.516] base::options(mc.cores = 1L) [18:02:01.516] } [18:02:01.516] options(future.plan = NULL) [18:02:01.516] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.516] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.516] } [18:02:01.516] ...future.workdir <- getwd() [18:02:01.516] } [18:02:01.516] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.516] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.516] } [18:02:01.516] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.516] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.516] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.516] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.516] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.516] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.516] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.516] base::names(...future.oldOptions)) [18:02:01.516] } [18:02:01.516] if (FALSE) { [18:02:01.516] } [18:02:01.516] else { [18:02:01.516] if (TRUE) { [18:02:01.516] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.516] open = "w") [18:02:01.516] } [18:02:01.516] else { [18:02:01.516] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.516] windows = "NUL", "/dev/null"), open = "w") [18:02:01.516] } [18:02:01.516] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.516] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.516] base::sink(type = "output", split = FALSE) [18:02:01.516] base::close(...future.stdout) [18:02:01.516] }, add = TRUE) [18:02:01.516] } [18:02:01.516] ...future.frame <- base::sys.nframe() [18:02:01.516] ...future.conditions <- base::list() [18:02:01.516] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.516] if (FALSE) { [18:02:01.516] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.516] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.516] } [18:02:01.516] ...future.result <- base::tryCatch({ [18:02:01.516] base::withCallingHandlers({ [18:02:01.516] ...future.value <- base::withVisible(base::local({ [18:02:01.516] ...future.makeSendCondition <- local({ [18:02:01.516] sendCondition <- NULL [18:02:01.516] function(frame = 1L) { [18:02:01.516] if (is.function(sendCondition)) [18:02:01.516] return(sendCondition) [18:02:01.516] ns <- getNamespace("parallel") [18:02:01.516] if (exists("sendData", mode = "function", [18:02:01.516] envir = ns)) { [18:02:01.516] parallel_sendData <- get("sendData", mode = "function", [18:02:01.516] envir = ns) [18:02:01.516] envir <- sys.frame(frame) [18:02:01.516] master <- NULL [18:02:01.516] while (!identical(envir, .GlobalEnv) && [18:02:01.516] !identical(envir, emptyenv())) { [18:02:01.516] if (exists("master", mode = "list", envir = envir, [18:02:01.516] inherits = FALSE)) { [18:02:01.516] master <- get("master", mode = "list", [18:02:01.516] envir = envir, inherits = FALSE) [18:02:01.516] if (inherits(master, c("SOCKnode", [18:02:01.516] "SOCK0node"))) { [18:02:01.516] sendCondition <<- function(cond) { [18:02:01.516] data <- list(type = "VALUE", value = cond, [18:02:01.516] success = TRUE) [18:02:01.516] parallel_sendData(master, data) [18:02:01.516] } [18:02:01.516] return(sendCondition) [18:02:01.516] } [18:02:01.516] } [18:02:01.516] frame <- frame + 1L [18:02:01.516] envir <- sys.frame(frame) [18:02:01.516] } [18:02:01.516] } [18:02:01.516] sendCondition <<- function(cond) NULL [18:02:01.516] } [18:02:01.516] }) [18:02:01.516] withCallingHandlers({ [18:02:01.516] { [18:02:01.516] b <- a * ii [18:02:01.516] a <- 0 [18:02:01.516] b [18:02:01.516] } [18:02:01.516] }, immediateCondition = function(cond) { [18:02:01.516] sendCondition <- ...future.makeSendCondition() [18:02:01.516] sendCondition(cond) [18:02:01.516] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.516] { [18:02:01.516] inherits <- base::inherits [18:02:01.516] invokeRestart <- base::invokeRestart [18:02:01.516] is.null <- base::is.null [18:02:01.516] muffled <- FALSE [18:02:01.516] if (inherits(cond, "message")) { [18:02:01.516] muffled <- grepl(pattern, "muffleMessage") [18:02:01.516] if (muffled) [18:02:01.516] invokeRestart("muffleMessage") [18:02:01.516] } [18:02:01.516] else if (inherits(cond, "warning")) { [18:02:01.516] muffled <- grepl(pattern, "muffleWarning") [18:02:01.516] if (muffled) [18:02:01.516] invokeRestart("muffleWarning") [18:02:01.516] } [18:02:01.516] else if (inherits(cond, "condition")) { [18:02:01.516] if (!is.null(pattern)) { [18:02:01.516] computeRestarts <- base::computeRestarts [18:02:01.516] grepl <- base::grepl [18:02:01.516] restarts <- computeRestarts(cond) [18:02:01.516] for (restart in restarts) { [18:02:01.516] name <- restart$name [18:02:01.516] if (is.null(name)) [18:02:01.516] next [18:02:01.516] if (!grepl(pattern, name)) [18:02:01.516] next [18:02:01.516] invokeRestart(restart) [18:02:01.516] muffled <- TRUE [18:02:01.516] break [18:02:01.516] } [18:02:01.516] } [18:02:01.516] } [18:02:01.516] invisible(muffled) [18:02:01.516] } [18:02:01.516] muffleCondition(cond) [18:02:01.516] }) [18:02:01.516] })) [18:02:01.516] future::FutureResult(value = ...future.value$value, [18:02:01.516] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.516] ...future.rng), globalenv = if (FALSE) [18:02:01.516] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.516] ...future.globalenv.names)) [18:02:01.516] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.516] }, condition = base::local({ [18:02:01.516] c <- base::c [18:02:01.516] inherits <- base::inherits [18:02:01.516] invokeRestart <- base::invokeRestart [18:02:01.516] length <- base::length [18:02:01.516] list <- base::list [18:02:01.516] seq.int <- base::seq.int [18:02:01.516] signalCondition <- base::signalCondition [18:02:01.516] sys.calls <- base::sys.calls [18:02:01.516] `[[` <- base::`[[` [18:02:01.516] `+` <- base::`+` [18:02:01.516] `<<-` <- base::`<<-` [18:02:01.516] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.516] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.516] 3L)] [18:02:01.516] } [18:02:01.516] function(cond) { [18:02:01.516] is_error <- inherits(cond, "error") [18:02:01.516] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.516] NULL) [18:02:01.516] if (is_error) { [18:02:01.516] sessionInformation <- function() { [18:02:01.516] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.516] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.516] search = base::search(), system = base::Sys.info()) [18:02:01.516] } [18:02:01.516] ...future.conditions[[length(...future.conditions) + [18:02:01.516] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.516] cond$call), session = sessionInformation(), [18:02:01.516] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.516] signalCondition(cond) [18:02:01.516] } [18:02:01.516] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.516] "immediateCondition"))) { [18:02:01.516] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.516] ...future.conditions[[length(...future.conditions) + [18:02:01.516] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.516] if (TRUE && !signal) { [18:02:01.516] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.516] { [18:02:01.516] inherits <- base::inherits [18:02:01.516] invokeRestart <- base::invokeRestart [18:02:01.516] is.null <- base::is.null [18:02:01.516] muffled <- FALSE [18:02:01.516] if (inherits(cond, "message")) { [18:02:01.516] muffled <- grepl(pattern, "muffleMessage") [18:02:01.516] if (muffled) [18:02:01.516] invokeRestart("muffleMessage") [18:02:01.516] } [18:02:01.516] else if (inherits(cond, "warning")) { [18:02:01.516] muffled <- grepl(pattern, "muffleWarning") [18:02:01.516] if (muffled) [18:02:01.516] invokeRestart("muffleWarning") [18:02:01.516] } [18:02:01.516] else if (inherits(cond, "condition")) { [18:02:01.516] if (!is.null(pattern)) { [18:02:01.516] computeRestarts <- base::computeRestarts [18:02:01.516] grepl <- base::grepl [18:02:01.516] restarts <- computeRestarts(cond) [18:02:01.516] for (restart in restarts) { [18:02:01.516] name <- restart$name [18:02:01.516] if (is.null(name)) [18:02:01.516] next [18:02:01.516] if (!grepl(pattern, name)) [18:02:01.516] next [18:02:01.516] invokeRestart(restart) [18:02:01.516] muffled <- TRUE [18:02:01.516] break [18:02:01.516] } [18:02:01.516] } [18:02:01.516] } [18:02:01.516] invisible(muffled) [18:02:01.516] } [18:02:01.516] muffleCondition(cond, pattern = "^muffle") [18:02:01.516] } [18:02:01.516] } [18:02:01.516] else { [18:02:01.516] if (TRUE) { [18:02:01.516] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.516] { [18:02:01.516] inherits <- base::inherits [18:02:01.516] invokeRestart <- base::invokeRestart [18:02:01.516] is.null <- base::is.null [18:02:01.516] muffled <- FALSE [18:02:01.516] if (inherits(cond, "message")) { [18:02:01.516] muffled <- grepl(pattern, "muffleMessage") [18:02:01.516] if (muffled) [18:02:01.516] invokeRestart("muffleMessage") [18:02:01.516] } [18:02:01.516] else if (inherits(cond, "warning")) { [18:02:01.516] muffled <- grepl(pattern, "muffleWarning") [18:02:01.516] if (muffled) [18:02:01.516] invokeRestart("muffleWarning") [18:02:01.516] } [18:02:01.516] else if (inherits(cond, "condition")) { [18:02:01.516] if (!is.null(pattern)) { [18:02:01.516] computeRestarts <- base::computeRestarts [18:02:01.516] grepl <- base::grepl [18:02:01.516] restarts <- computeRestarts(cond) [18:02:01.516] for (restart in restarts) { [18:02:01.516] name <- restart$name [18:02:01.516] if (is.null(name)) [18:02:01.516] next [18:02:01.516] if (!grepl(pattern, name)) [18:02:01.516] next [18:02:01.516] invokeRestart(restart) [18:02:01.516] muffled <- TRUE [18:02:01.516] break [18:02:01.516] } [18:02:01.516] } [18:02:01.516] } [18:02:01.516] invisible(muffled) [18:02:01.516] } [18:02:01.516] muffleCondition(cond, pattern = "^muffle") [18:02:01.516] } [18:02:01.516] } [18:02:01.516] } [18:02:01.516] })) [18:02:01.516] }, error = function(ex) { [18:02:01.516] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.516] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.516] ...future.rng), started = ...future.startTime, [18:02:01.516] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.516] version = "1.8"), class = "FutureResult") [18:02:01.516] }, finally = { [18:02:01.516] if (!identical(...future.workdir, getwd())) [18:02:01.516] setwd(...future.workdir) [18:02:01.516] { [18:02:01.516] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.516] ...future.oldOptions$nwarnings <- NULL [18:02:01.516] } [18:02:01.516] base::options(...future.oldOptions) [18:02:01.516] if (.Platform$OS.type == "windows") { [18:02:01.516] old_names <- names(...future.oldEnvVars) [18:02:01.516] envs <- base::Sys.getenv() [18:02:01.516] names <- names(envs) [18:02:01.516] common <- intersect(names, old_names) [18:02:01.516] added <- setdiff(names, old_names) [18:02:01.516] removed <- setdiff(old_names, names) [18:02:01.516] changed <- common[...future.oldEnvVars[common] != [18:02:01.516] envs[common]] [18:02:01.516] NAMES <- toupper(changed) [18:02:01.516] args <- list() [18:02:01.516] for (kk in seq_along(NAMES)) { [18:02:01.516] name <- changed[[kk]] [18:02:01.516] NAME <- NAMES[[kk]] [18:02:01.516] if (name != NAME && is.element(NAME, old_names)) [18:02:01.516] next [18:02:01.516] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.516] } [18:02:01.516] NAMES <- toupper(added) [18:02:01.516] for (kk in seq_along(NAMES)) { [18:02:01.516] name <- added[[kk]] [18:02:01.516] NAME <- NAMES[[kk]] [18:02:01.516] if (name != NAME && is.element(NAME, old_names)) [18:02:01.516] next [18:02:01.516] args[[name]] <- "" [18:02:01.516] } [18:02:01.516] NAMES <- toupper(removed) [18:02:01.516] for (kk in seq_along(NAMES)) { [18:02:01.516] name <- removed[[kk]] [18:02:01.516] NAME <- NAMES[[kk]] [18:02:01.516] if (name != NAME && is.element(NAME, old_names)) [18:02:01.516] next [18:02:01.516] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.516] } [18:02:01.516] if (length(args) > 0) [18:02:01.516] base::do.call(base::Sys.setenv, args = args) [18:02:01.516] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.516] } [18:02:01.516] else { [18:02:01.516] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.516] } [18:02:01.516] { [18:02:01.516] if (base::length(...future.futureOptionsAdded) > [18:02:01.516] 0L) { [18:02:01.516] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.516] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.516] base::options(opts) [18:02:01.516] } [18:02:01.516] { [18:02:01.516] { [18:02:01.516] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.516] NULL [18:02:01.516] } [18:02:01.516] options(future.plan = NULL) [18:02:01.516] if (is.na(NA_character_)) [18:02:01.516] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.516] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.516] future::plan(list(function (..., workers = availableCores(), [18:02:01.516] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.516] envir = parent.frame()) [18:02:01.516] { [18:02:01.516] if (is.function(workers)) [18:02:01.516] workers <- workers() [18:02:01.516] workers <- structure(as.integer(workers), [18:02:01.516] class = class(workers)) [18:02:01.516] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.516] workers >= 1) [18:02:01.516] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.516] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.516] } [18:02:01.516] future <- MultisessionFuture(..., workers = workers, [18:02:01.516] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.516] envir = envir) [18:02:01.516] if (!future$lazy) [18:02:01.516] future <- run(future) [18:02:01.516] invisible(future) [18:02:01.516] }), .cleanup = FALSE, .init = FALSE) [18:02:01.516] } [18:02:01.516] } [18:02:01.516] } [18:02:01.516] }) [18:02:01.516] if (TRUE) { [18:02:01.516] base::sink(type = "output", split = FALSE) [18:02:01.516] if (TRUE) { [18:02:01.516] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.516] } [18:02:01.516] else { [18:02:01.516] ...future.result["stdout"] <- base::list(NULL) [18:02:01.516] } [18:02:01.516] base::close(...future.stdout) [18:02:01.516] ...future.stdout <- NULL [18:02:01.516] } [18:02:01.516] ...future.result$conditions <- ...future.conditions [18:02:01.516] ...future.result$finished <- base::Sys.time() [18:02:01.516] ...future.result [18:02:01.516] } [18:02:01.521] Poll #1 (0): usedNodes() = 2, workers = 2 [18:02:01.548] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.548] - Validating connection of MultisessionFuture [18:02:01.549] - received message: FutureResult [18:02:01.549] - Received FutureResult [18:02:01.549] - Erased future from FutureRegistry [18:02:01.550] result() for ClusterFuture ... [18:02:01.550] - result already collected: FutureResult [18:02:01.550] result() for ClusterFuture ... done [18:02:01.550] signalConditions() ... [18:02:01.550] - include = 'immediateCondition' [18:02:01.550] - exclude = [18:02:01.550] - resignal = FALSE [18:02:01.551] - Number of conditions: 1 [18:02:01.551] signalConditions() ... done [18:02:01.551] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.551] result() for ClusterFuture ... [18:02:01.551] - result already collected: FutureResult [18:02:01.552] result() for ClusterFuture ... done [18:02:01.552] result() for ClusterFuture ... [18:02:01.552] - result already collected: FutureResult [18:02:01.552] result() for ClusterFuture ... done [18:02:01.552] signalConditions() ... [18:02:01.552] - include = 'immediateCondition' [18:02:01.552] - exclude = [18:02:01.553] - resignal = FALSE [18:02:01.553] - Number of conditions: 1 [18:02:01.553] signalConditions() ... done [18:02:01.554] Exporting 1 global objects (56 bytes) to cluster node #2 ... [18:02:01.554] Exporting 'ii' (56 bytes) to cluster node #2 ... [18:02:01.554] Exporting 'ii' (56 bytes) to cluster node #2 ... DONE [18:02:01.555] Exporting 1 global objects (56 bytes) to cluster node #2 ... DONE [18:02:01.555] MultisessionFuture started [18:02:01.555] - Launch lazy future ... done [18:02:01.556] run() for 'MultisessionFuture' ... done [18:02:01.556] result() for ClusterFuture ... [18:02:01.556] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.556] - Validating connection of MultisessionFuture [18:02:01.573] - received message: FutureResult [18:02:01.574] - Received FutureResult [18:02:01.574] - Erased future from FutureRegistry [18:02:01.574] result() for ClusterFuture ... [18:02:01.574] - result already collected: FutureResult [18:02:01.574] result() for ClusterFuture ... done [18:02:01.574] signalConditions() ... [18:02:01.575] - include = 'immediateCondition' [18:02:01.575] - exclude = [18:02:01.575] - resignal = FALSE [18:02:01.575] - Number of conditions: 1 [18:02:01.575] signalConditions() ... done [18:02:01.575] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.576] result() for ClusterFuture ... done [18:02:01.576] result() for ClusterFuture ... [18:02:01.576] - result already collected: FutureResult [18:02:01.576] result() for ClusterFuture ... done [18:02:01.576] signalConditions() ... [18:02:01.576] - include = 'immediateCondition' [18:02:01.577] - exclude = [18:02:01.577] - resignal = FALSE [18:02:01.577] - Number of conditions: 1 [18:02:01.577] signalConditions() ... done [18:02:01.577] Future state: 'finished' [18:02:01.577] result() for ClusterFuture ... [18:02:01.578] - result already collected: FutureResult [18:02:01.578] result() for ClusterFuture ... done [18:02:01.578] signalConditions() ... [18:02:01.578] - include = 'condition' [18:02:01.578] - exclude = 'immediateCondition' [18:02:01.578] - resignal = TRUE [18:02:01.579] - Number of conditions: 1 [18:02:01.579] - Condition #1: 'simpleError', 'error', 'condition' [18:02:01.579] 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 <- local({ ... .. ..$ future.info:List of 5 .. .. ..$ condition:List of 2 .. .. .. ..$ message: chr "object 'a' not found" .. .. .. ..$ call : language eval(quote({ ...future.makeSendCondition <- 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 <- local({ ... .. .. .. ..$ : language withCallingHandlers({ { ... .. .. .. ..$ : language eval(quote({ ...future.makeSendCondition <- 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 "2023" .. .. .. .. ..$ month : chr "06" .. .. .. .. ..$ day : chr "30" .. .. .. .. ..$ svn rev : chr "84625" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2023-06-30 r84625 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: "2023-07-01 18:02:01" .. .. ..$ signaled : int 1 .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" Warning: 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' [18:02:01.597] getGlobalsAndPackages() ... Warning: 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' [18:02:01.598] Searching for globals... Warning: 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' [18:02:01.600] [18:02:01.600] Searching for globals ... DONE [18:02:01.600] - globals: [0] [18:02:01.600] getGlobalsAndPackages() ... DONE [18:02:01.601] run() for 'Future' ... [18:02:01.601] - state: 'created' [18:02:01.601] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.615] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.615] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.615] - Field: 'node' [18:02:01.616] - Field: 'label' [18:02:01.616] - Field: 'local' [18:02:01.616] - Field: 'owner' [18:02:01.616] - Field: 'envir' [18:02:01.616] - Field: 'workers' [18:02:01.617] - Field: 'packages' [18:02:01.617] - Field: 'gc' [18:02:01.617] - Field: 'conditions' [18:02:01.617] - Field: 'persistent' [18:02:01.617] - Field: 'expr' [18:02:01.618] - Field: 'uuid' [18:02:01.618] - Field: 'seed' [18:02:01.618] - Field: 'version' [18:02:01.618] - Field: 'result' [18:02:01.618] - Field: 'asynchronous' [18:02:01.618] - Field: 'calls' [18:02:01.619] - Field: 'globals' [18:02:01.619] - Field: 'stdout' [18:02:01.619] - Field: 'earlySignal' [18:02:01.619] - Field: 'lazy' [18:02:01.619] - Field: 'state' [18:02:01.620] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.620] - Launch lazy future ... [18:02:01.620] Packages needed by the future expression (n = 0): [18:02:01.620] Packages needed by future strategies (n = 0): [18:02:01.621] { [18:02:01.621] { [18:02:01.621] { [18:02:01.621] ...future.startTime <- base::Sys.time() [18:02:01.621] { [18:02:01.621] { [18:02:01.621] { [18:02:01.621] { [18:02:01.621] base::local({ [18:02:01.621] has_future <- base::requireNamespace("future", [18:02:01.621] quietly = TRUE) [18:02:01.621] if (has_future) { [18:02:01.621] ns <- base::getNamespace("future") [18:02:01.621] version <- ns[[".package"]][["version"]] [18:02:01.621] if (is.null(version)) [18:02:01.621] version <- utils::packageVersion("future") [18:02:01.621] } [18:02:01.621] else { [18:02:01.621] version <- NULL [18:02:01.621] } [18:02:01.621] if (!has_future || version < "1.8.0") { [18:02:01.621] info <- base::c(r_version = base::gsub("R version ", [18:02:01.621] "", base::R.version$version.string), [18:02:01.621] platform = base::sprintf("%s (%s-bit)", [18:02:01.621] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:01.621] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.621] "release", "version")], collapse = " "), [18:02:01.621] hostname = base::Sys.info()[["nodename"]]) [18:02:01.621] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.621] info) [18:02:01.621] info <- base::paste(info, collapse = "; ") [18:02:01.621] if (!has_future) { [18:02:01.621] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.621] info) [18:02:01.621] } [18:02:01.621] else { [18:02:01.621] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.621] info, version) [18:02:01.621] } [18:02:01.621] base::stop(msg) [18:02:01.621] } [18:02:01.621] }) [18:02:01.621] } [18:02:01.621] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.621] base::options(mc.cores = 1L) [18:02:01.621] } [18:02:01.621] options(future.plan = NULL) [18:02:01.621] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.621] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.621] } [18:02:01.621] ...future.workdir <- getwd() [18:02:01.621] } [18:02:01.621] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.621] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.621] } [18:02:01.621] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.621] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.621] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.621] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.621] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.621] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.621] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.621] base::names(...future.oldOptions)) [18:02:01.621] } [18:02:01.621] if (FALSE) { [18:02:01.621] } [18:02:01.621] else { [18:02:01.621] if (TRUE) { [18:02:01.621] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.621] open = "w") [18:02:01.621] } [18:02:01.621] else { [18:02:01.621] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.621] windows = "NUL", "/dev/null"), open = "w") [18:02:01.621] } [18:02:01.621] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.621] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.621] base::sink(type = "output", split = FALSE) [18:02:01.621] base::close(...future.stdout) [18:02:01.621] }, add = TRUE) [18:02:01.621] } [18:02:01.621] ...future.frame <- base::sys.nframe() [18:02:01.621] ...future.conditions <- base::list() [18:02:01.621] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.621] if (FALSE) { [18:02:01.621] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.621] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.621] } [18:02:01.621] ...future.result <- base::tryCatch({ [18:02:01.621] base::withCallingHandlers({ [18:02:01.621] ...future.value <- base::withVisible(base::local({ [18:02:01.621] ...future.makeSendCondition <- local({ [18:02:01.621] sendCondition <- NULL [18:02:01.621] function(frame = 1L) { [18:02:01.621] if (is.function(sendCondition)) [18:02:01.621] return(sendCondition) [18:02:01.621] ns <- getNamespace("parallel") [18:02:01.621] if (exists("sendData", mode = "function", [18:02:01.621] envir = ns)) { [18:02:01.621] parallel_sendData <- get("sendData", mode = "function", [18:02:01.621] envir = ns) [18:02:01.621] envir <- sys.frame(frame) [18:02:01.621] master <- NULL [18:02:01.621] while (!identical(envir, .GlobalEnv) && [18:02:01.621] !identical(envir, emptyenv())) { [18:02:01.621] if (exists("master", mode = "list", envir = envir, [18:02:01.621] inherits = FALSE)) { [18:02:01.621] master <- get("master", mode = "list", [18:02:01.621] envir = envir, inherits = FALSE) [18:02:01.621] if (inherits(master, c("SOCKnode", [18:02:01.621] "SOCK0node"))) { [18:02:01.621] sendCondition <<- function(cond) { [18:02:01.621] data <- list(type = "VALUE", value = cond, [18:02:01.621] success = TRUE) [18:02:01.621] parallel_sendData(master, data) [18:02:01.621] } [18:02:01.621] return(sendCondition) [18:02:01.621] } [18:02:01.621] } [18:02:01.621] frame <- frame + 1L [18:02:01.621] envir <- sys.frame(frame) [18:02:01.621] } [18:02:01.621] } [18:02:01.621] sendCondition <<- function(cond) NULL [18:02:01.621] } [18:02:01.621] }) [18:02:01.621] withCallingHandlers({ [18:02:01.621] 1 [18:02:01.621] }, immediateCondition = function(cond) { [18:02:01.621] sendCondition <- ...future.makeSendCondition() [18:02:01.621] sendCondition(cond) [18:02:01.621] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.621] { [18:02:01.621] inherits <- base::inherits [18:02:01.621] invokeRestart <- base::invokeRestart [18:02:01.621] is.null <- base::is.null [18:02:01.621] muffled <- FALSE [18:02:01.621] if (inherits(cond, "message")) { [18:02:01.621] muffled <- grepl(pattern, "muffleMessage") [18:02:01.621] if (muffled) [18:02:01.621] invokeRestart("muffleMessage") [18:02:01.621] } [18:02:01.621] else if (inherits(cond, "warning")) { [18:02:01.621] muffled <- grepl(pattern, "muffleWarning") [18:02:01.621] if (muffled) [18:02:01.621] invokeRestart("muffleWarning") [18:02:01.621] } [18:02:01.621] else if (inherits(cond, "condition")) { [18:02:01.621] if (!is.null(pattern)) { [18:02:01.621] computeRestarts <- base::computeRestarts [18:02:01.621] grepl <- base::grepl [18:02:01.621] restarts <- computeRestarts(cond) [18:02:01.621] for (restart in restarts) { [18:02:01.621] name <- restart$name [18:02:01.621] if (is.null(name)) [18:02:01.621] next [18:02:01.621] if (!grepl(pattern, name)) [18:02:01.621] next [18:02:01.621] invokeRestart(restart) [18:02:01.621] muffled <- TRUE [18:02:01.621] break [18:02:01.621] } [18:02:01.621] } [18:02:01.621] } [18:02:01.621] invisible(muffled) [18:02:01.621] } [18:02:01.621] muffleCondition(cond) [18:02:01.621] }) [18:02:01.621] })) [18:02:01.621] future::FutureResult(value = ...future.value$value, [18:02:01.621] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.621] ...future.rng), globalenv = if (FALSE) [18:02:01.621] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.621] ...future.globalenv.names)) [18:02:01.621] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.621] }, condition = base::local({ [18:02:01.621] c <- base::c [18:02:01.621] inherits <- base::inherits [18:02:01.621] invokeRestart <- base::invokeRestart [18:02:01.621] length <- base::length [18:02:01.621] list <- base::list [18:02:01.621] seq.int <- base::seq.int [18:02:01.621] signalCondition <- base::signalCondition [18:02:01.621] sys.calls <- base::sys.calls [18:02:01.621] `[[` <- base::`[[` [18:02:01.621] `+` <- base::`+` [18:02:01.621] `<<-` <- base::`<<-` [18:02:01.621] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.621] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.621] 3L)] [18:02:01.621] } [18:02:01.621] function(cond) { [18:02:01.621] is_error <- inherits(cond, "error") [18:02:01.621] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.621] NULL) [18:02:01.621] if (is_error) { [18:02:01.621] sessionInformation <- function() { [18:02:01.621] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.621] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.621] search = base::search(), system = base::Sys.info()) [18:02:01.621] } [18:02:01.621] ...future.conditions[[length(...future.conditions) + [18:02:01.621] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.621] cond$call), session = sessionInformation(), [18:02:01.621] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.621] signalCondition(cond) [18:02:01.621] } [18:02:01.621] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.621] "immediateCondition"))) { [18:02:01.621] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.621] ...future.conditions[[length(...future.conditions) + [18:02:01.621] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.621] if (TRUE && !signal) { [18:02:01.621] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.621] { [18:02:01.621] inherits <- base::inherits [18:02:01.621] invokeRestart <- base::invokeRestart [18:02:01.621] is.null <- base::is.null [18:02:01.621] muffled <- FALSE [18:02:01.621] if (inherits(cond, "message")) { [18:02:01.621] muffled <- grepl(pattern, "muffleMessage") [18:02:01.621] if (muffled) [18:02:01.621] invokeRestart("muffleMessage") [18:02:01.621] } [18:02:01.621] else if (inherits(cond, "warning")) { [18:02:01.621] muffled <- grepl(pattern, "muffleWarning") [18:02:01.621] if (muffled) [18:02:01.621] invokeRestart("muffleWarning") [18:02:01.621] } [18:02:01.621] else if (inherits(cond, "condition")) { [18:02:01.621] if (!is.null(pattern)) { [18:02:01.621] computeRestarts <- base::computeRestarts [18:02:01.621] grepl <- base::grepl [18:02:01.621] restarts <- computeRestarts(cond) [18:02:01.621] for (restart in restarts) { [18:02:01.621] name <- restart$name [18:02:01.621] if (is.null(name)) [18:02:01.621] next [18:02:01.621] if (!grepl(pattern, name)) [18:02:01.621] next [18:02:01.621] invokeRestart(restart) [18:02:01.621] muffled <- TRUE [18:02:01.621] break [18:02:01.621] } [18:02:01.621] } [18:02:01.621] } [18:02:01.621] invisible(muffled) [18:02:01.621] } [18:02:01.621] muffleCondition(cond, pattern = "^muffle") [18:02:01.621] } [18:02:01.621] } [18:02:01.621] else { [18:02:01.621] if (TRUE) { [18:02:01.621] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.621] { [18:02:01.621] inherits <- base::inherits [18:02:01.621] invokeRestart <- base::invokeRestart [18:02:01.621] is.null <- base::is.null [18:02:01.621] muffled <- FALSE [18:02:01.621] if (inherits(cond, "message")) { [18:02:01.621] muffled <- grepl(pattern, "muffleMessage") [18:02:01.621] if (muffled) [18:02:01.621] invokeRestart("muffleMessage") [18:02:01.621] } [18:02:01.621] else if (inherits(cond, "warning")) { [18:02:01.621] muffled <- grepl(pattern, "muffleWarning") [18:02:01.621] if (muffled) [18:02:01.621] invokeRestart("muffleWarning") [18:02:01.621] } [18:02:01.621] else if (inherits(cond, "condition")) { [18:02:01.621] if (!is.null(pattern)) { [18:02:01.621] computeRestarts <- base::computeRestarts [18:02:01.621] grepl <- base::grepl [18:02:01.621] restarts <- computeRestarts(cond) [18:02:01.621] for (restart in restarts) { [18:02:01.621] name <- restart$name [18:02:01.621] if (is.null(name)) [18:02:01.621] next [18:02:01.621] if (!grepl(pattern, name)) [18:02:01.621] next [18:02:01.621] invokeRestart(restart) [18:02:01.621] muffled <- TRUE [18:02:01.621] break [18:02:01.621] } [18:02:01.621] } [18:02:01.621] } [18:02:01.621] invisible(muffled) [18:02:01.621] } [18:02:01.621] muffleCondition(cond, pattern = "^muffle") [18:02:01.621] } [18:02:01.621] } [18:02:01.621] } [18:02:01.621] })) [18:02:01.621] }, error = function(ex) { [18:02:01.621] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.621] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.621] ...future.rng), started = ...future.startTime, [18:02:01.621] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.621] version = "1.8"), class = "FutureResult") [18:02:01.621] }, finally = { [18:02:01.621] if (!identical(...future.workdir, getwd())) [18:02:01.621] setwd(...future.workdir) [18:02:01.621] { [18:02:01.621] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.621] ...future.oldOptions$nwarnings <- NULL [18:02:01.621] } [18:02:01.621] base::options(...future.oldOptions) [18:02:01.621] if (.Platform$OS.type == "windows") { [18:02:01.621] old_names <- names(...future.oldEnvVars) [18:02:01.621] envs <- base::Sys.getenv() [18:02:01.621] names <- names(envs) [18:02:01.621] common <- intersect(names, old_names) [18:02:01.621] added <- setdiff(names, old_names) [18:02:01.621] removed <- setdiff(old_names, names) [18:02:01.621] changed <- common[...future.oldEnvVars[common] != [18:02:01.621] envs[common]] [18:02:01.621] NAMES <- toupper(changed) [18:02:01.621] args <- list() [18:02:01.621] for (kk in seq_along(NAMES)) { [18:02:01.621] name <- changed[[kk]] [18:02:01.621] NAME <- NAMES[[kk]] [18:02:01.621] if (name != NAME && is.element(NAME, old_names)) [18:02:01.621] next [18:02:01.621] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.621] } [18:02:01.621] NAMES <- toupper(added) [18:02:01.621] for (kk in seq_along(NAMES)) { [18:02:01.621] name <- added[[kk]] [18:02:01.621] NAME <- NAMES[[kk]] [18:02:01.621] if (name != NAME && is.element(NAME, old_names)) [18:02:01.621] next [18:02:01.621] args[[name]] <- "" [18:02:01.621] } [18:02:01.621] NAMES <- toupper(removed) [18:02:01.621] for (kk in seq_along(NAMES)) { [18:02:01.621] name <- removed[[kk]] [18:02:01.621] NAME <- NAMES[[kk]] [18:02:01.621] if (name != NAME && is.element(NAME, old_names)) [18:02:01.621] next [18:02:01.621] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.621] } [18:02:01.621] if (length(args) > 0) [18:02:01.621] base::do.call(base::Sys.setenv, args = args) [18:02:01.621] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.621] } [18:02:01.621] else { [18:02:01.621] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.621] } [18:02:01.621] { [18:02:01.621] if (base::length(...future.futureOptionsAdded) > [18:02:01.621] 0L) { [18:02:01.621] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.621] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.621] base::options(opts) [18:02:01.621] } [18:02:01.621] { [18:02:01.621] { [18:02:01.621] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.621] NULL [18:02:01.621] } [18:02:01.621] options(future.plan = NULL) [18:02:01.621] if (is.na(NA_character_)) [18:02:01.621] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.621] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.621] future::plan(list(function (..., workers = availableCores(), [18:02:01.621] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.621] envir = parent.frame()) [18:02:01.621] { [18:02:01.621] if (is.function(workers)) [18:02:01.621] workers <- workers() [18:02:01.621] workers <- structure(as.integer(workers), [18:02:01.621] class = class(workers)) [18:02:01.621] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.621] workers >= 1) [18:02:01.621] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.621] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.621] } [18:02:01.621] future <- MultisessionFuture(..., workers = workers, [18:02:01.621] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.621] envir = envir) [18:02:01.621] if (!future$lazy) [18:02:01.621] future <- run(future) [18:02:01.621] invisible(future) [18:02:01.621] }), .cleanup = FALSE, .init = FALSE) [18:02:01.621] } [18:02:01.621] } [18:02:01.621] } [18:02:01.621] }) [18:02:01.621] if (TRUE) { [18:02:01.621] base::sink(type = "output", split = FALSE) [18:02:01.621] if (TRUE) { [18:02:01.621] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.621] } [18:02:01.621] else { [18:02:01.621] ...future.result["stdout"] <- base::list(NULL) [18:02:01.621] } [18:02:01.621] base::close(...future.stdout) [18:02:01.621] ...future.stdout <- NULL [18:02:01.621] } [18:02:01.621] ...future.result$conditions <- ...future.conditions [18:02:01.621] ...future.result$finished <- base::Sys.time() [18:02:01.621] ...future.result [18:02:01.621] } [18:02:01.626] MultisessionFuture started [18:02:01.627] - Launch lazy future ... done [18:02:01.627] run() for 'MultisessionFuture' ... done Warning: 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' [18:02:01.627] getGlobalsAndPackages() ... Warning: 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' [18:02:01.627] Searching for globals... Warning: 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' [18:02:01.629] - globals found: [3] '+', 'value', 'a' [18:02:01.629] Searching for globals ... DONE [18:02:01.629] Resolving globals: TRUE [18:02:01.629] Resolving any globals that are futures ... [18:02:01.629] - globals: [3] '+', 'value', 'a' [18:02:01.630] Resolving any globals that are futures ... DONE [18:02:01.630] Resolving futures part of globals (recursively) ... [18:02:01.630] resolve() on list ... [18:02:01.630] recursive: 99 [18:02:01.631] length: 1 [18:02:01.631] elements: 'a' [18:02:01.643] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.643] - Validating connection of MultisessionFuture [18:02:01.643] - received message: FutureResult [18:02:01.643] - Received FutureResult [18:02:01.643] - Erased future from FutureRegistry [18:02:01.644] result() for ClusterFuture ... [18:02:01.644] - result already collected: FutureResult [18:02:01.644] result() for ClusterFuture ... done [18:02:01.644] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.644] Future #1 [18:02:01.644] result() for ClusterFuture ... [18:02:01.645] - result already collected: FutureResult [18:02:01.645] result() for ClusterFuture ... done [18:02:01.645] result() for ClusterFuture ... [18:02:01.645] - result already collected: FutureResult [18:02:01.645] result() for ClusterFuture ... done [18:02:01.645] A MultisessionFuture was resolved [18:02:01.646] length: 0 (resolved future 1) [18:02:01.646] resolve() on list ... DONE [18:02:01.646] - globals: [1] 'a' [18:02:01.646] Resolving futures part of globals (recursively) ... DONE [18:02:01.647] The total size of the 1 globals is 10.05 KiB (10296 bytes) [18:02:01.648] 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') [18:02:01.648] - globals: [1] 'a' [18:02:01.648] - packages: [1] 'future' [18:02:01.648] getGlobalsAndPackages() ... DONE [18:02:01.649] run() for 'Future' ... [18:02:01.649] - state: 'created' [18:02:01.649] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.662] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.663] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.663] - Field: 'node' [18:02:01.663] - Field: 'label' [18:02:01.663] - Field: 'local' [18:02:01.664] - Field: 'owner' [18:02:01.664] - Field: 'envir' [18:02:01.664] - Field: 'workers' [18:02:01.664] - Field: 'packages' [18:02:01.664] - Field: 'gc' [18:02:01.664] - Field: 'conditions' [18:02:01.665] - Field: 'persistent' [18:02:01.665] - Field: 'expr' [18:02:01.665] - Field: 'uuid' [18:02:01.665] - Field: 'seed' [18:02:01.665] - Field: 'version' [18:02:01.666] - Field: 'result' [18:02:01.666] - Field: 'asynchronous' [18:02:01.666] - Field: 'calls' [18:02:01.666] - Field: 'globals' [18:02:01.666] - Field: 'stdout' [18:02:01.666] - Field: 'earlySignal' [18:02:01.667] - Field: 'lazy' [18:02:01.667] - Field: 'state' [18:02:01.667] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.667] - Launch lazy future ... [18:02:01.668] Packages needed by the future expression (n = 1): 'future' [18:02:01.668] Packages needed by future strategies (n = 0): [18:02:01.668] { [18:02:01.668] { [18:02:01.668] { [18:02:01.668] ...future.startTime <- base::Sys.time() [18:02:01.668] { [18:02:01.668] { [18:02:01.668] { [18:02:01.668] { [18:02:01.668] { [18:02:01.668] base::local({ [18:02:01.668] has_future <- base::requireNamespace("future", [18:02:01.668] quietly = TRUE) [18:02:01.668] if (has_future) { [18:02:01.668] ns <- base::getNamespace("future") [18:02:01.668] version <- ns[[".package"]][["version"]] [18:02:01.668] if (is.null(version)) [18:02:01.668] version <- utils::packageVersion("future") [18:02:01.668] } [18:02:01.668] else { [18:02:01.668] version <- NULL [18:02:01.668] } [18:02:01.668] if (!has_future || version < "1.8.0") { [18:02:01.668] info <- base::c(r_version = base::gsub("R version ", [18:02:01.668] "", base::R.version$version.string), [18:02:01.668] platform = base::sprintf("%s (%s-bit)", [18:02:01.668] base::R.version$platform, 8 * [18:02:01.668] base::.Machine$sizeof.pointer), [18:02:01.668] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.668] "release", "version")], collapse = " "), [18:02:01.668] hostname = base::Sys.info()[["nodename"]]) [18:02:01.668] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.668] info) [18:02:01.668] info <- base::paste(info, collapse = "; ") [18:02:01.668] if (!has_future) { [18:02:01.668] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.668] info) [18:02:01.668] } [18:02:01.668] else { [18:02:01.668] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.668] info, version) [18:02:01.668] } [18:02:01.668] base::stop(msg) [18:02:01.668] } [18:02:01.668] }) [18:02:01.668] } [18:02:01.668] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.668] base::options(mc.cores = 1L) [18:02:01.668] } [18:02:01.668] base::local({ [18:02:01.668] for (pkg in "future") { [18:02:01.668] base::loadNamespace(pkg) [18:02:01.668] base::library(pkg, character.only = TRUE) [18:02:01.668] } [18:02:01.668] }) [18:02:01.668] } [18:02:01.668] options(future.plan = NULL) [18:02:01.668] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.668] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.668] } [18:02:01.668] ...future.workdir <- getwd() [18:02:01.668] } [18:02:01.668] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.668] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.668] } [18:02:01.668] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.668] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.668] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.668] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.668] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.668] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.668] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.668] base::names(...future.oldOptions)) [18:02:01.668] } [18:02:01.668] if (FALSE) { [18:02:01.668] } [18:02:01.668] else { [18:02:01.668] if (TRUE) { [18:02:01.668] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.668] open = "w") [18:02:01.668] } [18:02:01.668] else { [18:02:01.668] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.668] windows = "NUL", "/dev/null"), open = "w") [18:02:01.668] } [18:02:01.668] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.668] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.668] base::sink(type = "output", split = FALSE) [18:02:01.668] base::close(...future.stdout) [18:02:01.668] }, add = TRUE) [18:02:01.668] } [18:02:01.668] ...future.frame <- base::sys.nframe() [18:02:01.668] ...future.conditions <- base::list() [18:02:01.668] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.668] if (FALSE) { [18:02:01.668] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.668] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.668] } [18:02:01.668] ...future.result <- base::tryCatch({ [18:02:01.668] base::withCallingHandlers({ [18:02:01.668] ...future.value <- base::withVisible(base::local({ [18:02:01.668] ...future.makeSendCondition <- local({ [18:02:01.668] sendCondition <- NULL [18:02:01.668] function(frame = 1L) { [18:02:01.668] if (is.function(sendCondition)) [18:02:01.668] return(sendCondition) [18:02:01.668] ns <- getNamespace("parallel") [18:02:01.668] if (exists("sendData", mode = "function", [18:02:01.668] envir = ns)) { [18:02:01.668] parallel_sendData <- get("sendData", mode = "function", [18:02:01.668] envir = ns) [18:02:01.668] envir <- sys.frame(frame) [18:02:01.668] master <- NULL [18:02:01.668] while (!identical(envir, .GlobalEnv) && [18:02:01.668] !identical(envir, emptyenv())) { [18:02:01.668] if (exists("master", mode = "list", envir = envir, [18:02:01.668] inherits = FALSE)) { [18:02:01.668] master <- get("master", mode = "list", [18:02:01.668] envir = envir, inherits = FALSE) [18:02:01.668] if (inherits(master, c("SOCKnode", [18:02:01.668] "SOCK0node"))) { [18:02:01.668] sendCondition <<- function(cond) { [18:02:01.668] data <- list(type = "VALUE", value = cond, [18:02:01.668] success = TRUE) [18:02:01.668] parallel_sendData(master, data) [18:02:01.668] } [18:02:01.668] return(sendCondition) [18:02:01.668] } [18:02:01.668] } [18:02:01.668] frame <- frame + 1L [18:02:01.668] envir <- sys.frame(frame) [18:02:01.668] } [18:02:01.668] } [18:02:01.668] sendCondition <<- function(cond) NULL [18:02:01.668] } [18:02:01.668] }) [18:02:01.668] withCallingHandlers({ [18:02:01.668] value(a) + 1 [18:02:01.668] }, immediateCondition = function(cond) { [18:02:01.668] sendCondition <- ...future.makeSendCondition() [18:02:01.668] sendCondition(cond) [18:02:01.668] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.668] { [18:02:01.668] inherits <- base::inherits [18:02:01.668] invokeRestart <- base::invokeRestart [18:02:01.668] is.null <- base::is.null [18:02:01.668] muffled <- FALSE [18:02:01.668] if (inherits(cond, "message")) { [18:02:01.668] muffled <- grepl(pattern, "muffleMessage") [18:02:01.668] if (muffled) [18:02:01.668] invokeRestart("muffleMessage") [18:02:01.668] } [18:02:01.668] else if (inherits(cond, "warning")) { [18:02:01.668] muffled <- grepl(pattern, "muffleWarning") [18:02:01.668] if (muffled) [18:02:01.668] invokeRestart("muffleWarning") [18:02:01.668] } [18:02:01.668] else if (inherits(cond, "condition")) { [18:02:01.668] if (!is.null(pattern)) { [18:02:01.668] computeRestarts <- base::computeRestarts [18:02:01.668] grepl <- base::grepl [18:02:01.668] restarts <- computeRestarts(cond) [18:02:01.668] for (restart in restarts) { [18:02:01.668] name <- restart$name [18:02:01.668] if (is.null(name)) [18:02:01.668] next [18:02:01.668] if (!grepl(pattern, name)) [18:02:01.668] next [18:02:01.668] invokeRestart(restart) [18:02:01.668] muffled <- TRUE [18:02:01.668] break [18:02:01.668] } [18:02:01.668] } [18:02:01.668] } [18:02:01.668] invisible(muffled) [18:02:01.668] } [18:02:01.668] muffleCondition(cond) [18:02:01.668] }) [18:02:01.668] })) [18:02:01.668] future::FutureResult(value = ...future.value$value, [18:02:01.668] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.668] ...future.rng), globalenv = if (FALSE) [18:02:01.668] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.668] ...future.globalenv.names)) [18:02:01.668] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.668] }, condition = base::local({ [18:02:01.668] c <- base::c [18:02:01.668] inherits <- base::inherits [18:02:01.668] invokeRestart <- base::invokeRestart [18:02:01.668] length <- base::length [18:02:01.668] list <- base::list [18:02:01.668] seq.int <- base::seq.int [18:02:01.668] signalCondition <- base::signalCondition [18:02:01.668] sys.calls <- base::sys.calls [18:02:01.668] `[[` <- base::`[[` [18:02:01.668] `+` <- base::`+` [18:02:01.668] `<<-` <- base::`<<-` [18:02:01.668] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.668] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.668] 3L)] [18:02:01.668] } [18:02:01.668] function(cond) { [18:02:01.668] is_error <- inherits(cond, "error") [18:02:01.668] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.668] NULL) [18:02:01.668] if (is_error) { [18:02:01.668] sessionInformation <- function() { [18:02:01.668] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.668] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.668] search = base::search(), system = base::Sys.info()) [18:02:01.668] } [18:02:01.668] ...future.conditions[[length(...future.conditions) + [18:02:01.668] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.668] cond$call), session = sessionInformation(), [18:02:01.668] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.668] signalCondition(cond) [18:02:01.668] } [18:02:01.668] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.668] "immediateCondition"))) { [18:02:01.668] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.668] ...future.conditions[[length(...future.conditions) + [18:02:01.668] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.668] if (TRUE && !signal) { [18:02:01.668] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.668] { [18:02:01.668] inherits <- base::inherits [18:02:01.668] invokeRestart <- base::invokeRestart [18:02:01.668] is.null <- base::is.null [18:02:01.668] muffled <- FALSE [18:02:01.668] if (inherits(cond, "message")) { [18:02:01.668] muffled <- grepl(pattern, "muffleMessage") [18:02:01.668] if (muffled) [18:02:01.668] invokeRestart("muffleMessage") [18:02:01.668] } [18:02:01.668] else if (inherits(cond, "warning")) { [18:02:01.668] muffled <- grepl(pattern, "muffleWarning") [18:02:01.668] if (muffled) [18:02:01.668] invokeRestart("muffleWarning") [18:02:01.668] } [18:02:01.668] else if (inherits(cond, "condition")) { [18:02:01.668] if (!is.null(pattern)) { [18:02:01.668] computeRestarts <- base::computeRestarts [18:02:01.668] grepl <- base::grepl [18:02:01.668] restarts <- computeRestarts(cond) [18:02:01.668] for (restart in restarts) { [18:02:01.668] name <- restart$name [18:02:01.668] if (is.null(name)) [18:02:01.668] next [18:02:01.668] if (!grepl(pattern, name)) [18:02:01.668] next [18:02:01.668] invokeRestart(restart) [18:02:01.668] muffled <- TRUE [18:02:01.668] break [18:02:01.668] } [18:02:01.668] } [18:02:01.668] } [18:02:01.668] invisible(muffled) [18:02:01.668] } [18:02:01.668] muffleCondition(cond, pattern = "^muffle") [18:02:01.668] } [18:02:01.668] } [18:02:01.668] else { [18:02:01.668] if (TRUE) { [18:02:01.668] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.668] { [18:02:01.668] inherits <- base::inherits [18:02:01.668] invokeRestart <- base::invokeRestart [18:02:01.668] is.null <- base::is.null [18:02:01.668] muffled <- FALSE [18:02:01.668] if (inherits(cond, "message")) { [18:02:01.668] muffled <- grepl(pattern, "muffleMessage") [18:02:01.668] if (muffled) [18:02:01.668] invokeRestart("muffleMessage") [18:02:01.668] } [18:02:01.668] else if (inherits(cond, "warning")) { [18:02:01.668] muffled <- grepl(pattern, "muffleWarning") [18:02:01.668] if (muffled) [18:02:01.668] invokeRestart("muffleWarning") [18:02:01.668] } [18:02:01.668] else if (inherits(cond, "condition")) { [18:02:01.668] if (!is.null(pattern)) { [18:02:01.668] computeRestarts <- base::computeRestarts [18:02:01.668] grepl <- base::grepl [18:02:01.668] restarts <- computeRestarts(cond) [18:02:01.668] for (restart in restarts) { [18:02:01.668] name <- restart$name [18:02:01.668] if (is.null(name)) [18:02:01.668] next [18:02:01.668] if (!grepl(pattern, name)) [18:02:01.668] next [18:02:01.668] invokeRestart(restart) [18:02:01.668] muffled <- TRUE [18:02:01.668] break [18:02:01.668] } [18:02:01.668] } [18:02:01.668] } [18:02:01.668] invisible(muffled) [18:02:01.668] } [18:02:01.668] muffleCondition(cond, pattern = "^muffle") [18:02:01.668] } [18:02:01.668] } [18:02:01.668] } [18:02:01.668] })) [18:02:01.668] }, error = function(ex) { [18:02:01.668] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.668] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.668] ...future.rng), started = ...future.startTime, [18:02:01.668] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.668] version = "1.8"), class = "FutureResult") [18:02:01.668] }, finally = { [18:02:01.668] if (!identical(...future.workdir, getwd())) [18:02:01.668] setwd(...future.workdir) [18:02:01.668] { [18:02:01.668] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.668] ...future.oldOptions$nwarnings <- NULL [18:02:01.668] } [18:02:01.668] base::options(...future.oldOptions) [18:02:01.668] if (.Platform$OS.type == "windows") { [18:02:01.668] old_names <- names(...future.oldEnvVars) [18:02:01.668] envs <- base::Sys.getenv() [18:02:01.668] names <- names(envs) [18:02:01.668] common <- intersect(names, old_names) [18:02:01.668] added <- setdiff(names, old_names) [18:02:01.668] removed <- setdiff(old_names, names) [18:02:01.668] changed <- common[...future.oldEnvVars[common] != [18:02:01.668] envs[common]] [18:02:01.668] NAMES <- toupper(changed) [18:02:01.668] args <- list() [18:02:01.668] for (kk in seq_along(NAMES)) { [18:02:01.668] name <- changed[[kk]] [18:02:01.668] NAME <- NAMES[[kk]] [18:02:01.668] if (name != NAME && is.element(NAME, old_names)) [18:02:01.668] next [18:02:01.668] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.668] } [18:02:01.668] NAMES <- toupper(added) [18:02:01.668] for (kk in seq_along(NAMES)) { [18:02:01.668] name <- added[[kk]] [18:02:01.668] NAME <- NAMES[[kk]] [18:02:01.668] if (name != NAME && is.element(NAME, old_names)) [18:02:01.668] next [18:02:01.668] args[[name]] <- "" [18:02:01.668] } [18:02:01.668] NAMES <- toupper(removed) [18:02:01.668] for (kk in seq_along(NAMES)) { [18:02:01.668] name <- removed[[kk]] [18:02:01.668] NAME <- NAMES[[kk]] [18:02:01.668] if (name != NAME && is.element(NAME, old_names)) [18:02:01.668] next [18:02:01.668] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.668] } [18:02:01.668] if (length(args) > 0) [18:02:01.668] base::do.call(base::Sys.setenv, args = args) [18:02:01.668] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.668] } [18:02:01.668] else { [18:02:01.668] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.668] } [18:02:01.668] { [18:02:01.668] if (base::length(...future.futureOptionsAdded) > [18:02:01.668] 0L) { [18:02:01.668] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.668] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.668] base::options(opts) [18:02:01.668] } [18:02:01.668] { [18:02:01.668] { [18:02:01.668] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.668] NULL [18:02:01.668] } [18:02:01.668] options(future.plan = NULL) [18:02:01.668] if (is.na(NA_character_)) [18:02:01.668] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.668] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.668] future::plan(list(function (..., workers = availableCores(), [18:02:01.668] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.668] envir = parent.frame()) [18:02:01.668] { [18:02:01.668] if (is.function(workers)) [18:02:01.668] workers <- workers() [18:02:01.668] workers <- structure(as.integer(workers), [18:02:01.668] class = class(workers)) [18:02:01.668] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.668] workers >= 1) [18:02:01.668] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.668] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.668] } [18:02:01.668] future <- MultisessionFuture(..., workers = workers, [18:02:01.668] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.668] envir = envir) [18:02:01.668] if (!future$lazy) [18:02:01.668] future <- run(future) [18:02:01.668] invisible(future) [18:02:01.668] }), .cleanup = FALSE, .init = FALSE) [18:02:01.668] } [18:02:01.668] } [18:02:01.668] } [18:02:01.668] }) [18:02:01.668] if (TRUE) { [18:02:01.668] base::sink(type = "output", split = FALSE) [18:02:01.668] if (TRUE) { [18:02:01.668] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.668] } [18:02:01.668] else { [18:02:01.668] ...future.result["stdout"] <- base::list(NULL) [18:02:01.668] } [18:02:01.668] base::close(...future.stdout) [18:02:01.668] ...future.stdout <- NULL [18:02:01.668] } [18:02:01.668] ...future.result$conditions <- ...future.conditions [18:02:01.668] ...future.result$finished <- base::Sys.time() [18:02:01.668] ...future.result [18:02:01.668] } [18:02:01.674] Exporting 1 global objects (10.05 KiB) to cluster node #2 ... [18:02:01.675] Exporting 'a' (10.05 KiB) to cluster node #2 ... [18:02:01.687] Exporting 'a' (10.05 KiB) to cluster node #2 ... DONE [18:02:01.687] Exporting 1 global objects (10.05 KiB) to cluster node #2 ... DONE [18:02:01.688] MultisessionFuture started [18:02:01.688] - Launch lazy future ... done [18:02:01.688] run() for 'MultisessionFuture' ... done [18:02:01.688] result() for ClusterFuture ... [18:02:01.688] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.689] - Validating connection of MultisessionFuture [18:02:01.711] - received message: FutureResult [18:02:01.711] - Received FutureResult [18:02:01.711] - Erased future from FutureRegistry [18:02:01.711] result() for ClusterFuture ... [18:02:01.712] - result already collected: FutureResult [18:02:01.712] result() for ClusterFuture ... done [18:02:01.712] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.712] result() for ClusterFuture ... done [18:02:01.712] result() for ClusterFuture ... [18:02:01.712] - result already collected: FutureResult [18:02:01.712] result() for ClusterFuture ... done value(b) = 2 [18:02:01.713] result() for ClusterFuture ... [18:02:01.713] - result already collected: FutureResult [18:02:01.713] result() for ClusterFuture ... done [18:02:01.713] result() for ClusterFuture ... [18:02:01.713] - result already collected: FutureResult [18:02:01.714] result() for ClusterFuture ... done Warning: 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' [18:02:01.714] getGlobalsAndPackages() ... Warning: 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' [18:02:01.714] Searching for globals... Warning: 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' [18:02:01.715] [18:02:01.715] Searching for globals ... DONE [18:02:01.715] - globals: [0] [18:02:01.715] getGlobalsAndPackages() ... DONE [18:02:01.716] run() for 'Future' ... [18:02:01.716] - state: 'created' [18:02:01.716] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.729] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.730] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.730] - Field: 'node' [18:02:01.730] - Field: 'label' [18:02:01.730] - Field: 'local' [18:02:01.730] - Field: 'owner' [18:02:01.731] - Field: 'envir' [18:02:01.731] - Field: 'workers' [18:02:01.731] - Field: 'packages' [18:02:01.731] - Field: 'gc' [18:02:01.731] - Field: 'conditions' [18:02:01.732] - Field: 'persistent' [18:02:01.732] - Field: 'expr' [18:02:01.732] - Field: 'uuid' [18:02:01.732] - Field: 'seed' [18:02:01.732] - Field: 'version' [18:02:01.732] - Field: 'result' [18:02:01.733] - Field: 'asynchronous' [18:02:01.733] - Field: 'calls' [18:02:01.733] - Field: 'globals' [18:02:01.733] - Field: 'stdout' [18:02:01.733] - Field: 'earlySignal' [18:02:01.733] - Field: 'lazy' [18:02:01.734] - Field: 'state' [18:02:01.734] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.734] - Launch lazy future ... [18:02:01.734] Packages needed by the future expression (n = 0): [18:02:01.735] Packages needed by future strategies (n = 0): [18:02:01.735] { [18:02:01.735] { [18:02:01.735] { [18:02:01.735] ...future.startTime <- base::Sys.time() [18:02:01.735] { [18:02:01.735] { [18:02:01.735] { [18:02:01.735] { [18:02:01.735] base::local({ [18:02:01.735] has_future <- base::requireNamespace("future", [18:02:01.735] quietly = TRUE) [18:02:01.735] if (has_future) { [18:02:01.735] ns <- base::getNamespace("future") [18:02:01.735] version <- ns[[".package"]][["version"]] [18:02:01.735] if (is.null(version)) [18:02:01.735] version <- utils::packageVersion("future") [18:02:01.735] } [18:02:01.735] else { [18:02:01.735] version <- NULL [18:02:01.735] } [18:02:01.735] if (!has_future || version < "1.8.0") { [18:02:01.735] info <- base::c(r_version = base::gsub("R version ", [18:02:01.735] "", base::R.version$version.string), [18:02:01.735] platform = base::sprintf("%s (%s-bit)", [18:02:01.735] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:01.735] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.735] "release", "version")], collapse = " "), [18:02:01.735] hostname = base::Sys.info()[["nodename"]]) [18:02:01.735] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.735] info) [18:02:01.735] info <- base::paste(info, collapse = "; ") [18:02:01.735] if (!has_future) { [18:02:01.735] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.735] info) [18:02:01.735] } [18:02:01.735] else { [18:02:01.735] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.735] info, version) [18:02:01.735] } [18:02:01.735] base::stop(msg) [18:02:01.735] } [18:02:01.735] }) [18:02:01.735] } [18:02:01.735] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.735] base::options(mc.cores = 1L) [18:02:01.735] } [18:02:01.735] options(future.plan = NULL) [18:02:01.735] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.735] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.735] } [18:02:01.735] ...future.workdir <- getwd() [18:02:01.735] } [18:02:01.735] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.735] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.735] } [18:02:01.735] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.735] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.735] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.735] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.735] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.735] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.735] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.735] base::names(...future.oldOptions)) [18:02:01.735] } [18:02:01.735] if (FALSE) { [18:02:01.735] } [18:02:01.735] else { [18:02:01.735] if (TRUE) { [18:02:01.735] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.735] open = "w") [18:02:01.735] } [18:02:01.735] else { [18:02:01.735] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.735] windows = "NUL", "/dev/null"), open = "w") [18:02:01.735] } [18:02:01.735] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.735] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.735] base::sink(type = "output", split = FALSE) [18:02:01.735] base::close(...future.stdout) [18:02:01.735] }, add = TRUE) [18:02:01.735] } [18:02:01.735] ...future.frame <- base::sys.nframe() [18:02:01.735] ...future.conditions <- base::list() [18:02:01.735] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.735] if (FALSE) { [18:02:01.735] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.735] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.735] } [18:02:01.735] ...future.result <- base::tryCatch({ [18:02:01.735] base::withCallingHandlers({ [18:02:01.735] ...future.value <- base::withVisible(base::local({ [18:02:01.735] ...future.makeSendCondition <- local({ [18:02:01.735] sendCondition <- NULL [18:02:01.735] function(frame = 1L) { [18:02:01.735] if (is.function(sendCondition)) [18:02:01.735] return(sendCondition) [18:02:01.735] ns <- getNamespace("parallel") [18:02:01.735] if (exists("sendData", mode = "function", [18:02:01.735] envir = ns)) { [18:02:01.735] parallel_sendData <- get("sendData", mode = "function", [18:02:01.735] envir = ns) [18:02:01.735] envir <- sys.frame(frame) [18:02:01.735] master <- NULL [18:02:01.735] while (!identical(envir, .GlobalEnv) && [18:02:01.735] !identical(envir, emptyenv())) { [18:02:01.735] if (exists("master", mode = "list", envir = envir, [18:02:01.735] inherits = FALSE)) { [18:02:01.735] master <- get("master", mode = "list", [18:02:01.735] envir = envir, inherits = FALSE) [18:02:01.735] if (inherits(master, c("SOCKnode", [18:02:01.735] "SOCK0node"))) { [18:02:01.735] sendCondition <<- function(cond) { [18:02:01.735] data <- list(type = "VALUE", value = cond, [18:02:01.735] success = TRUE) [18:02:01.735] parallel_sendData(master, data) [18:02:01.735] } [18:02:01.735] return(sendCondition) [18:02:01.735] } [18:02:01.735] } [18:02:01.735] frame <- frame + 1L [18:02:01.735] envir <- sys.frame(frame) [18:02:01.735] } [18:02:01.735] } [18:02:01.735] sendCondition <<- function(cond) NULL [18:02:01.735] } [18:02:01.735] }) [18:02:01.735] withCallingHandlers({ [18:02:01.735] 1 [18:02:01.735] }, immediateCondition = function(cond) { [18:02:01.735] sendCondition <- ...future.makeSendCondition() [18:02:01.735] sendCondition(cond) [18:02:01.735] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.735] { [18:02:01.735] inherits <- base::inherits [18:02:01.735] invokeRestart <- base::invokeRestart [18:02:01.735] is.null <- base::is.null [18:02:01.735] muffled <- FALSE [18:02:01.735] if (inherits(cond, "message")) { [18:02:01.735] muffled <- grepl(pattern, "muffleMessage") [18:02:01.735] if (muffled) [18:02:01.735] invokeRestart("muffleMessage") [18:02:01.735] } [18:02:01.735] else if (inherits(cond, "warning")) { [18:02:01.735] muffled <- grepl(pattern, "muffleWarning") [18:02:01.735] if (muffled) [18:02:01.735] invokeRestart("muffleWarning") [18:02:01.735] } [18:02:01.735] else if (inherits(cond, "condition")) { [18:02:01.735] if (!is.null(pattern)) { [18:02:01.735] computeRestarts <- base::computeRestarts [18:02:01.735] grepl <- base::grepl [18:02:01.735] restarts <- computeRestarts(cond) [18:02:01.735] for (restart in restarts) { [18:02:01.735] name <- restart$name [18:02:01.735] if (is.null(name)) [18:02:01.735] next [18:02:01.735] if (!grepl(pattern, name)) [18:02:01.735] next [18:02:01.735] invokeRestart(restart) [18:02:01.735] muffled <- TRUE [18:02:01.735] break [18:02:01.735] } [18:02:01.735] } [18:02:01.735] } [18:02:01.735] invisible(muffled) [18:02:01.735] } [18:02:01.735] muffleCondition(cond) [18:02:01.735] }) [18:02:01.735] })) [18:02:01.735] future::FutureResult(value = ...future.value$value, [18:02:01.735] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.735] ...future.rng), globalenv = if (FALSE) [18:02:01.735] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.735] ...future.globalenv.names)) [18:02:01.735] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.735] }, condition = base::local({ [18:02:01.735] c <- base::c [18:02:01.735] inherits <- base::inherits [18:02:01.735] invokeRestart <- base::invokeRestart [18:02:01.735] length <- base::length [18:02:01.735] list <- base::list [18:02:01.735] seq.int <- base::seq.int [18:02:01.735] signalCondition <- base::signalCondition [18:02:01.735] sys.calls <- base::sys.calls [18:02:01.735] `[[` <- base::`[[` [18:02:01.735] `+` <- base::`+` [18:02:01.735] `<<-` <- base::`<<-` [18:02:01.735] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.735] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.735] 3L)] [18:02:01.735] } [18:02:01.735] function(cond) { [18:02:01.735] is_error <- inherits(cond, "error") [18:02:01.735] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.735] NULL) [18:02:01.735] if (is_error) { [18:02:01.735] sessionInformation <- function() { [18:02:01.735] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.735] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.735] search = base::search(), system = base::Sys.info()) [18:02:01.735] } [18:02:01.735] ...future.conditions[[length(...future.conditions) + [18:02:01.735] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.735] cond$call), session = sessionInformation(), [18:02:01.735] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.735] signalCondition(cond) [18:02:01.735] } [18:02:01.735] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.735] "immediateCondition"))) { [18:02:01.735] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.735] ...future.conditions[[length(...future.conditions) + [18:02:01.735] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.735] if (TRUE && !signal) { [18:02:01.735] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.735] { [18:02:01.735] inherits <- base::inherits [18:02:01.735] invokeRestart <- base::invokeRestart [18:02:01.735] is.null <- base::is.null [18:02:01.735] muffled <- FALSE [18:02:01.735] if (inherits(cond, "message")) { [18:02:01.735] muffled <- grepl(pattern, "muffleMessage") [18:02:01.735] if (muffled) [18:02:01.735] invokeRestart("muffleMessage") [18:02:01.735] } [18:02:01.735] else if (inherits(cond, "warning")) { [18:02:01.735] muffled <- grepl(pattern, "muffleWarning") [18:02:01.735] if (muffled) [18:02:01.735] invokeRestart("muffleWarning") [18:02:01.735] } [18:02:01.735] else if (inherits(cond, "condition")) { [18:02:01.735] if (!is.null(pattern)) { [18:02:01.735] computeRestarts <- base::computeRestarts [18:02:01.735] grepl <- base::grepl [18:02:01.735] restarts <- computeRestarts(cond) [18:02:01.735] for (restart in restarts) { [18:02:01.735] name <- restart$name [18:02:01.735] if (is.null(name)) [18:02:01.735] next [18:02:01.735] if (!grepl(pattern, name)) [18:02:01.735] next [18:02:01.735] invokeRestart(restart) [18:02:01.735] muffled <- TRUE [18:02:01.735] break [18:02:01.735] } [18:02:01.735] } [18:02:01.735] } [18:02:01.735] invisible(muffled) [18:02:01.735] } [18:02:01.735] muffleCondition(cond, pattern = "^muffle") [18:02:01.735] } [18:02:01.735] } [18:02:01.735] else { [18:02:01.735] if (TRUE) { [18:02:01.735] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.735] { [18:02:01.735] inherits <- base::inherits [18:02:01.735] invokeRestart <- base::invokeRestart [18:02:01.735] is.null <- base::is.null [18:02:01.735] muffled <- FALSE [18:02:01.735] if (inherits(cond, "message")) { [18:02:01.735] muffled <- grepl(pattern, "muffleMessage") [18:02:01.735] if (muffled) [18:02:01.735] invokeRestart("muffleMessage") [18:02:01.735] } [18:02:01.735] else if (inherits(cond, "warning")) { [18:02:01.735] muffled <- grepl(pattern, "muffleWarning") [18:02:01.735] if (muffled) [18:02:01.735] invokeRestart("muffleWarning") [18:02:01.735] } [18:02:01.735] else if (inherits(cond, "condition")) { [18:02:01.735] if (!is.null(pattern)) { [18:02:01.735] computeRestarts <- base::computeRestarts [18:02:01.735] grepl <- base::grepl [18:02:01.735] restarts <- computeRestarts(cond) [18:02:01.735] for (restart in restarts) { [18:02:01.735] name <- restart$name [18:02:01.735] if (is.null(name)) [18:02:01.735] next [18:02:01.735] if (!grepl(pattern, name)) [18:02:01.735] next [18:02:01.735] invokeRestart(restart) [18:02:01.735] muffled <- TRUE [18:02:01.735] break [18:02:01.735] } [18:02:01.735] } [18:02:01.735] } [18:02:01.735] invisible(muffled) [18:02:01.735] } [18:02:01.735] muffleCondition(cond, pattern = "^muffle") [18:02:01.735] } [18:02:01.735] } [18:02:01.735] } [18:02:01.735] })) [18:02:01.735] }, error = function(ex) { [18:02:01.735] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.735] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.735] ...future.rng), started = ...future.startTime, [18:02:01.735] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.735] version = "1.8"), class = "FutureResult") [18:02:01.735] }, finally = { [18:02:01.735] if (!identical(...future.workdir, getwd())) [18:02:01.735] setwd(...future.workdir) [18:02:01.735] { [18:02:01.735] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.735] ...future.oldOptions$nwarnings <- NULL [18:02:01.735] } [18:02:01.735] base::options(...future.oldOptions) [18:02:01.735] if (.Platform$OS.type == "windows") { [18:02:01.735] old_names <- names(...future.oldEnvVars) [18:02:01.735] envs <- base::Sys.getenv() [18:02:01.735] names <- names(envs) [18:02:01.735] common <- intersect(names, old_names) [18:02:01.735] added <- setdiff(names, old_names) [18:02:01.735] removed <- setdiff(old_names, names) [18:02:01.735] changed <- common[...future.oldEnvVars[common] != [18:02:01.735] envs[common]] [18:02:01.735] NAMES <- toupper(changed) [18:02:01.735] args <- list() [18:02:01.735] for (kk in seq_along(NAMES)) { [18:02:01.735] name <- changed[[kk]] [18:02:01.735] NAME <- NAMES[[kk]] [18:02:01.735] if (name != NAME && is.element(NAME, old_names)) [18:02:01.735] next [18:02:01.735] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.735] } [18:02:01.735] NAMES <- toupper(added) [18:02:01.735] for (kk in seq_along(NAMES)) { [18:02:01.735] name <- added[[kk]] [18:02:01.735] NAME <- NAMES[[kk]] [18:02:01.735] if (name != NAME && is.element(NAME, old_names)) [18:02:01.735] next [18:02:01.735] args[[name]] <- "" [18:02:01.735] } [18:02:01.735] NAMES <- toupper(removed) [18:02:01.735] for (kk in seq_along(NAMES)) { [18:02:01.735] name <- removed[[kk]] [18:02:01.735] NAME <- NAMES[[kk]] [18:02:01.735] if (name != NAME && is.element(NAME, old_names)) [18:02:01.735] next [18:02:01.735] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.735] } [18:02:01.735] if (length(args) > 0) [18:02:01.735] base::do.call(base::Sys.setenv, args = args) [18:02:01.735] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.735] } [18:02:01.735] else { [18:02:01.735] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.735] } [18:02:01.735] { [18:02:01.735] if (base::length(...future.futureOptionsAdded) > [18:02:01.735] 0L) { [18:02:01.735] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.735] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.735] base::options(opts) [18:02:01.735] } [18:02:01.735] { [18:02:01.735] { [18:02:01.735] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.735] NULL [18:02:01.735] } [18:02:01.735] options(future.plan = NULL) [18:02:01.735] if (is.na(NA_character_)) [18:02:01.735] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.735] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.735] future::plan(list(function (..., workers = availableCores(), [18:02:01.735] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.735] envir = parent.frame()) [18:02:01.735] { [18:02:01.735] if (is.function(workers)) [18:02:01.735] workers <- workers() [18:02:01.735] workers <- structure(as.integer(workers), [18:02:01.735] class = class(workers)) [18:02:01.735] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.735] workers >= 1) [18:02:01.735] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.735] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.735] } [18:02:01.735] future <- MultisessionFuture(..., workers = workers, [18:02:01.735] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.735] envir = envir) [18:02:01.735] if (!future$lazy) [18:02:01.735] future <- run(future) [18:02:01.735] invisible(future) [18:02:01.735] }), .cleanup = FALSE, .init = FALSE) [18:02:01.735] } [18:02:01.735] } [18:02:01.735] } [18:02:01.735] }) [18:02:01.735] if (TRUE) { [18:02:01.735] base::sink(type = "output", split = FALSE) [18:02:01.735] if (TRUE) { [18:02:01.735] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.735] } [18:02:01.735] else { [18:02:01.735] ...future.result["stdout"] <- base::list(NULL) [18:02:01.735] } [18:02:01.735] base::close(...future.stdout) [18:02:01.735] ...future.stdout <- NULL [18:02:01.735] } [18:02:01.735] ...future.result$conditions <- ...future.conditions [18:02:01.735] ...future.result$finished <- base::Sys.time() [18:02:01.735] ...future.result [18:02:01.735] } [18:02:01.741] MultisessionFuture started [18:02:01.741] - Launch lazy future ... done [18:02:01.741] run() for 'MultisessionFuture' ... done Warning: 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' [18:02:01.741] getGlobalsAndPackages() ... Warning: 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' [18:02:01.742] Searching for globals... Warning: 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' [18:02:01.743] - globals found: [3] '+', 'value', 'a' [18:02:01.743] Searching for globals ... DONE [18:02:01.743] Resolving globals: TRUE [18:02:01.744] Resolving any globals that are futures ... [18:02:01.744] - globals: [3] '+', 'value', 'a' [18:02:01.744] Resolving any globals that are futures ... DONE [18:02:01.744] Resolving futures part of globals (recursively) ... [18:02:01.745] resolve() on list ... [18:02:01.745] recursive: 99 [18:02:01.745] length: 1 [18:02:01.745] elements: 'a' [18:02:01.757] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.757] - Validating connection of MultisessionFuture [18:02:01.758] - received message: FutureResult [18:02:01.758] - Received FutureResult [18:02:01.758] - Erased future from FutureRegistry [18:02:01.758] result() for ClusterFuture ... [18:02:01.758] - result already collected: FutureResult [18:02:01.759] result() for ClusterFuture ... done [18:02:01.759] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.759] Future #1 [18:02:01.759] result() for ClusterFuture ... [18:02:01.759] - result already collected: FutureResult [18:02:01.759] result() for ClusterFuture ... done [18:02:01.760] result() for ClusterFuture ... [18:02:01.760] - result already collected: FutureResult [18:02:01.760] result() for ClusterFuture ... done [18:02:01.760] A MultisessionFuture was resolved [18:02:01.760] length: 0 (resolved future 1) [18:02:01.760] resolve() on list ... DONE [18:02:01.761] - globals: [1] 'a' [18:02:01.761] Resolving futures part of globals (recursively) ... DONE [18:02:01.762] The total size of the 1 globals is 10.05 KiB (10296 bytes) [18:02:01.762] 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') [18:02:01.763] - globals: [1] 'a' [18:02:01.763] - packages: [1] 'future' [18:02:01.763] getGlobalsAndPackages() ... DONE [18:02:01.763] run() for 'Future' ... [18:02:01.764] - state: 'created' [18:02:01.764] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.777] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.778] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.778] - Field: 'node' [18:02:01.778] - Field: 'label' [18:02:01.778] - Field: 'local' [18:02:01.778] - Field: 'owner' [18:02:01.778] - Field: 'envir' [18:02:01.779] - Field: 'workers' [18:02:01.779] - Field: 'packages' [18:02:01.779] - Field: 'gc' [18:02:01.779] - Field: 'conditions' [18:02:01.779] - Field: 'persistent' [18:02:01.780] - Field: 'expr' [18:02:01.780] - Field: 'uuid' [18:02:01.780] - Field: 'seed' [18:02:01.780] - Field: 'version' [18:02:01.780] - Field: 'result' [18:02:01.780] - Field: 'asynchronous' [18:02:01.781] - Field: 'calls' [18:02:01.781] - Field: 'globals' [18:02:01.781] - Field: 'stdout' [18:02:01.781] - Field: 'earlySignal' [18:02:01.781] - Field: 'lazy' [18:02:01.782] - Field: 'state' [18:02:01.782] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.782] - Launch lazy future ... [18:02:01.782] Packages needed by the future expression (n = 1): 'future' [18:02:01.782] Packages needed by future strategies (n = 0): [18:02:01.783] { [18:02:01.783] { [18:02:01.783] { [18:02:01.783] ...future.startTime <- base::Sys.time() [18:02:01.783] { [18:02:01.783] { [18:02:01.783] { [18:02:01.783] { [18:02:01.783] { [18:02:01.783] base::local({ [18:02:01.783] has_future <- base::requireNamespace("future", [18:02:01.783] quietly = TRUE) [18:02:01.783] if (has_future) { [18:02:01.783] ns <- base::getNamespace("future") [18:02:01.783] version <- ns[[".package"]][["version"]] [18:02:01.783] if (is.null(version)) [18:02:01.783] version <- utils::packageVersion("future") [18:02:01.783] } [18:02:01.783] else { [18:02:01.783] version <- NULL [18:02:01.783] } [18:02:01.783] if (!has_future || version < "1.8.0") { [18:02:01.783] info <- base::c(r_version = base::gsub("R version ", [18:02:01.783] "", base::R.version$version.string), [18:02:01.783] platform = base::sprintf("%s (%s-bit)", [18:02:01.783] base::R.version$platform, 8 * [18:02:01.783] base::.Machine$sizeof.pointer), [18:02:01.783] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.783] "release", "version")], collapse = " "), [18:02:01.783] hostname = base::Sys.info()[["nodename"]]) [18:02:01.783] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.783] info) [18:02:01.783] info <- base::paste(info, collapse = "; ") [18:02:01.783] if (!has_future) { [18:02:01.783] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.783] info) [18:02:01.783] } [18:02:01.783] else { [18:02:01.783] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.783] info, version) [18:02:01.783] } [18:02:01.783] base::stop(msg) [18:02:01.783] } [18:02:01.783] }) [18:02:01.783] } [18:02:01.783] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.783] base::options(mc.cores = 1L) [18:02:01.783] } [18:02:01.783] base::local({ [18:02:01.783] for (pkg in "future") { [18:02:01.783] base::loadNamespace(pkg) [18:02:01.783] base::library(pkg, character.only = TRUE) [18:02:01.783] } [18:02:01.783] }) [18:02:01.783] } [18:02:01.783] options(future.plan = NULL) [18:02:01.783] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.783] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.783] } [18:02:01.783] ...future.workdir <- getwd() [18:02:01.783] } [18:02:01.783] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.783] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.783] } [18:02:01.783] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.783] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.783] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.783] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.783] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.783] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.783] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.783] base::names(...future.oldOptions)) [18:02:01.783] } [18:02:01.783] if (FALSE) { [18:02:01.783] } [18:02:01.783] else { [18:02:01.783] if (TRUE) { [18:02:01.783] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.783] open = "w") [18:02:01.783] } [18:02:01.783] else { [18:02:01.783] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.783] windows = "NUL", "/dev/null"), open = "w") [18:02:01.783] } [18:02:01.783] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.783] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.783] base::sink(type = "output", split = FALSE) [18:02:01.783] base::close(...future.stdout) [18:02:01.783] }, add = TRUE) [18:02:01.783] } [18:02:01.783] ...future.frame <- base::sys.nframe() [18:02:01.783] ...future.conditions <- base::list() [18:02:01.783] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.783] if (FALSE) { [18:02:01.783] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.783] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.783] } [18:02:01.783] ...future.result <- base::tryCatch({ [18:02:01.783] base::withCallingHandlers({ [18:02:01.783] ...future.value <- base::withVisible(base::local({ [18:02:01.783] ...future.makeSendCondition <- local({ [18:02:01.783] sendCondition <- NULL [18:02:01.783] function(frame = 1L) { [18:02:01.783] if (is.function(sendCondition)) [18:02:01.783] return(sendCondition) [18:02:01.783] ns <- getNamespace("parallel") [18:02:01.783] if (exists("sendData", mode = "function", [18:02:01.783] envir = ns)) { [18:02:01.783] parallel_sendData <- get("sendData", mode = "function", [18:02:01.783] envir = ns) [18:02:01.783] envir <- sys.frame(frame) [18:02:01.783] master <- NULL [18:02:01.783] while (!identical(envir, .GlobalEnv) && [18:02:01.783] !identical(envir, emptyenv())) { [18:02:01.783] if (exists("master", mode = "list", envir = envir, [18:02:01.783] inherits = FALSE)) { [18:02:01.783] master <- get("master", mode = "list", [18:02:01.783] envir = envir, inherits = FALSE) [18:02:01.783] if (inherits(master, c("SOCKnode", [18:02:01.783] "SOCK0node"))) { [18:02:01.783] sendCondition <<- function(cond) { [18:02:01.783] data <- list(type = "VALUE", value = cond, [18:02:01.783] success = TRUE) [18:02:01.783] parallel_sendData(master, data) [18:02:01.783] } [18:02:01.783] return(sendCondition) [18:02:01.783] } [18:02:01.783] } [18:02:01.783] frame <- frame + 1L [18:02:01.783] envir <- sys.frame(frame) [18:02:01.783] } [18:02:01.783] } [18:02:01.783] sendCondition <<- function(cond) NULL [18:02:01.783] } [18:02:01.783] }) [18:02:01.783] withCallingHandlers({ [18:02:01.783] value(a) + 1 [18:02:01.783] }, immediateCondition = function(cond) { [18:02:01.783] sendCondition <- ...future.makeSendCondition() [18:02:01.783] sendCondition(cond) [18:02:01.783] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.783] { [18:02:01.783] inherits <- base::inherits [18:02:01.783] invokeRestart <- base::invokeRestart [18:02:01.783] is.null <- base::is.null [18:02:01.783] muffled <- FALSE [18:02:01.783] if (inherits(cond, "message")) { [18:02:01.783] muffled <- grepl(pattern, "muffleMessage") [18:02:01.783] if (muffled) [18:02:01.783] invokeRestart("muffleMessage") [18:02:01.783] } [18:02:01.783] else if (inherits(cond, "warning")) { [18:02:01.783] muffled <- grepl(pattern, "muffleWarning") [18:02:01.783] if (muffled) [18:02:01.783] invokeRestart("muffleWarning") [18:02:01.783] } [18:02:01.783] else if (inherits(cond, "condition")) { [18:02:01.783] if (!is.null(pattern)) { [18:02:01.783] computeRestarts <- base::computeRestarts [18:02:01.783] grepl <- base::grepl [18:02:01.783] restarts <- computeRestarts(cond) [18:02:01.783] for (restart in restarts) { [18:02:01.783] name <- restart$name [18:02:01.783] if (is.null(name)) [18:02:01.783] next [18:02:01.783] if (!grepl(pattern, name)) [18:02:01.783] next [18:02:01.783] invokeRestart(restart) [18:02:01.783] muffled <- TRUE [18:02:01.783] break [18:02:01.783] } [18:02:01.783] } [18:02:01.783] } [18:02:01.783] invisible(muffled) [18:02:01.783] } [18:02:01.783] muffleCondition(cond) [18:02:01.783] }) [18:02:01.783] })) [18:02:01.783] future::FutureResult(value = ...future.value$value, [18:02:01.783] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.783] ...future.rng), globalenv = if (FALSE) [18:02:01.783] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.783] ...future.globalenv.names)) [18:02:01.783] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.783] }, condition = base::local({ [18:02:01.783] c <- base::c [18:02:01.783] inherits <- base::inherits [18:02:01.783] invokeRestart <- base::invokeRestart [18:02:01.783] length <- base::length [18:02:01.783] list <- base::list [18:02:01.783] seq.int <- base::seq.int [18:02:01.783] signalCondition <- base::signalCondition [18:02:01.783] sys.calls <- base::sys.calls [18:02:01.783] `[[` <- base::`[[` [18:02:01.783] `+` <- base::`+` [18:02:01.783] `<<-` <- base::`<<-` [18:02:01.783] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.783] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.783] 3L)] [18:02:01.783] } [18:02:01.783] function(cond) { [18:02:01.783] is_error <- inherits(cond, "error") [18:02:01.783] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.783] NULL) [18:02:01.783] if (is_error) { [18:02:01.783] sessionInformation <- function() { [18:02:01.783] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.783] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.783] search = base::search(), system = base::Sys.info()) [18:02:01.783] } [18:02:01.783] ...future.conditions[[length(...future.conditions) + [18:02:01.783] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.783] cond$call), session = sessionInformation(), [18:02:01.783] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.783] signalCondition(cond) [18:02:01.783] } [18:02:01.783] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.783] "immediateCondition"))) { [18:02:01.783] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.783] ...future.conditions[[length(...future.conditions) + [18:02:01.783] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.783] if (TRUE && !signal) { [18:02:01.783] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.783] { [18:02:01.783] inherits <- base::inherits [18:02:01.783] invokeRestart <- base::invokeRestart [18:02:01.783] is.null <- base::is.null [18:02:01.783] muffled <- FALSE [18:02:01.783] if (inherits(cond, "message")) { [18:02:01.783] muffled <- grepl(pattern, "muffleMessage") [18:02:01.783] if (muffled) [18:02:01.783] invokeRestart("muffleMessage") [18:02:01.783] } [18:02:01.783] else if (inherits(cond, "warning")) { [18:02:01.783] muffled <- grepl(pattern, "muffleWarning") [18:02:01.783] if (muffled) [18:02:01.783] invokeRestart("muffleWarning") [18:02:01.783] } [18:02:01.783] else if (inherits(cond, "condition")) { [18:02:01.783] if (!is.null(pattern)) { [18:02:01.783] computeRestarts <- base::computeRestarts [18:02:01.783] grepl <- base::grepl [18:02:01.783] restarts <- computeRestarts(cond) [18:02:01.783] for (restart in restarts) { [18:02:01.783] name <- restart$name [18:02:01.783] if (is.null(name)) [18:02:01.783] next [18:02:01.783] if (!grepl(pattern, name)) [18:02:01.783] next [18:02:01.783] invokeRestart(restart) [18:02:01.783] muffled <- TRUE [18:02:01.783] break [18:02:01.783] } [18:02:01.783] } [18:02:01.783] } [18:02:01.783] invisible(muffled) [18:02:01.783] } [18:02:01.783] muffleCondition(cond, pattern = "^muffle") [18:02:01.783] } [18:02:01.783] } [18:02:01.783] else { [18:02:01.783] if (TRUE) { [18:02:01.783] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.783] { [18:02:01.783] inherits <- base::inherits [18:02:01.783] invokeRestart <- base::invokeRestart [18:02:01.783] is.null <- base::is.null [18:02:01.783] muffled <- FALSE [18:02:01.783] if (inherits(cond, "message")) { [18:02:01.783] muffled <- grepl(pattern, "muffleMessage") [18:02:01.783] if (muffled) [18:02:01.783] invokeRestart("muffleMessage") [18:02:01.783] } [18:02:01.783] else if (inherits(cond, "warning")) { [18:02:01.783] muffled <- grepl(pattern, "muffleWarning") [18:02:01.783] if (muffled) [18:02:01.783] invokeRestart("muffleWarning") [18:02:01.783] } [18:02:01.783] else if (inherits(cond, "condition")) { [18:02:01.783] if (!is.null(pattern)) { [18:02:01.783] computeRestarts <- base::computeRestarts [18:02:01.783] grepl <- base::grepl [18:02:01.783] restarts <- computeRestarts(cond) [18:02:01.783] for (restart in restarts) { [18:02:01.783] name <- restart$name [18:02:01.783] if (is.null(name)) [18:02:01.783] next [18:02:01.783] if (!grepl(pattern, name)) [18:02:01.783] next [18:02:01.783] invokeRestart(restart) [18:02:01.783] muffled <- TRUE [18:02:01.783] break [18:02:01.783] } [18:02:01.783] } [18:02:01.783] } [18:02:01.783] invisible(muffled) [18:02:01.783] } [18:02:01.783] muffleCondition(cond, pattern = "^muffle") [18:02:01.783] } [18:02:01.783] } [18:02:01.783] } [18:02:01.783] })) [18:02:01.783] }, error = function(ex) { [18:02:01.783] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.783] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.783] ...future.rng), started = ...future.startTime, [18:02:01.783] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.783] version = "1.8"), class = "FutureResult") [18:02:01.783] }, finally = { [18:02:01.783] if (!identical(...future.workdir, getwd())) [18:02:01.783] setwd(...future.workdir) [18:02:01.783] { [18:02:01.783] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.783] ...future.oldOptions$nwarnings <- NULL [18:02:01.783] } [18:02:01.783] base::options(...future.oldOptions) [18:02:01.783] if (.Platform$OS.type == "windows") { [18:02:01.783] old_names <- names(...future.oldEnvVars) [18:02:01.783] envs <- base::Sys.getenv() [18:02:01.783] names <- names(envs) [18:02:01.783] common <- intersect(names, old_names) [18:02:01.783] added <- setdiff(names, old_names) [18:02:01.783] removed <- setdiff(old_names, names) [18:02:01.783] changed <- common[...future.oldEnvVars[common] != [18:02:01.783] envs[common]] [18:02:01.783] NAMES <- toupper(changed) [18:02:01.783] args <- list() [18:02:01.783] for (kk in seq_along(NAMES)) { [18:02:01.783] name <- changed[[kk]] [18:02:01.783] NAME <- NAMES[[kk]] [18:02:01.783] if (name != NAME && is.element(NAME, old_names)) [18:02:01.783] next [18:02:01.783] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.783] } [18:02:01.783] NAMES <- toupper(added) [18:02:01.783] for (kk in seq_along(NAMES)) { [18:02:01.783] name <- added[[kk]] [18:02:01.783] NAME <- NAMES[[kk]] [18:02:01.783] if (name != NAME && is.element(NAME, old_names)) [18:02:01.783] next [18:02:01.783] args[[name]] <- "" [18:02:01.783] } [18:02:01.783] NAMES <- toupper(removed) [18:02:01.783] for (kk in seq_along(NAMES)) { [18:02:01.783] name <- removed[[kk]] [18:02:01.783] NAME <- NAMES[[kk]] [18:02:01.783] if (name != NAME && is.element(NAME, old_names)) [18:02:01.783] next [18:02:01.783] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.783] } [18:02:01.783] if (length(args) > 0) [18:02:01.783] base::do.call(base::Sys.setenv, args = args) [18:02:01.783] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.783] } [18:02:01.783] else { [18:02:01.783] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.783] } [18:02:01.783] { [18:02:01.783] if (base::length(...future.futureOptionsAdded) > [18:02:01.783] 0L) { [18:02:01.783] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.783] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.783] base::options(opts) [18:02:01.783] } [18:02:01.783] { [18:02:01.783] { [18:02:01.783] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.783] NULL [18:02:01.783] } [18:02:01.783] options(future.plan = NULL) [18:02:01.783] if (is.na(NA_character_)) [18:02:01.783] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.783] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.783] future::plan(list(function (..., workers = availableCores(), [18:02:01.783] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.783] envir = parent.frame()) [18:02:01.783] { [18:02:01.783] if (is.function(workers)) [18:02:01.783] workers <- workers() [18:02:01.783] workers <- structure(as.integer(workers), [18:02:01.783] class = class(workers)) [18:02:01.783] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.783] workers >= 1) [18:02:01.783] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.783] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.783] } [18:02:01.783] future <- MultisessionFuture(..., workers = workers, [18:02:01.783] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.783] envir = envir) [18:02:01.783] if (!future$lazy) [18:02:01.783] future <- run(future) [18:02:01.783] invisible(future) [18:02:01.783] }), .cleanup = FALSE, .init = FALSE) [18:02:01.783] } [18:02:01.783] } [18:02:01.783] } [18:02:01.783] }) [18:02:01.783] if (TRUE) { [18:02:01.783] base::sink(type = "output", split = FALSE) [18:02:01.783] if (TRUE) { [18:02:01.783] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.783] } [18:02:01.783] else { [18:02:01.783] ...future.result["stdout"] <- base::list(NULL) [18:02:01.783] } [18:02:01.783] base::close(...future.stdout) [18:02:01.783] ...future.stdout <- NULL [18:02:01.783] } [18:02:01.783] ...future.result$conditions <- ...future.conditions [18:02:01.783] ...future.result$finished <- base::Sys.time() [18:02:01.783] ...future.result [18:02:01.783] } [18:02:01.788] Exporting 1 global objects (10.05 KiB) to cluster node #2 ... [18:02:01.790] Exporting 'a' (10.05 KiB) to cluster node #2 ... [18:02:01.801] Exporting 'a' (10.05 KiB) to cluster node #2 ... DONE [18:02:01.801] Exporting 1 global objects (10.05 KiB) to cluster node #2 ... DONE [18:02:01.802] MultisessionFuture started [18:02:01.802] - Launch lazy future ... done [18:02:01.802] run() for 'MultisessionFuture' ... done [18:02:01.803] result() for ClusterFuture ... [18:02:01.803] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.803] - Validating connection of MultisessionFuture [18:02:01.818] - received message: FutureResult [18:02:01.818] - Received FutureResult [18:02:01.819] - Erased future from FutureRegistry [18:02:01.819] result() for ClusterFuture ... [18:02:01.819] - result already collected: FutureResult [18:02:01.819] result() for ClusterFuture ... done [18:02:01.819] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.819] result() for ClusterFuture ... done [18:02:01.820] result() for ClusterFuture ... [18:02:01.820] - result already collected: FutureResult [18:02:01.820] result() for ClusterFuture ... done value(b) = 2 [18:02:01.820] result() for ClusterFuture ... [18:02:01.820] - result already collected: FutureResult [18:02:01.820] result() for ClusterFuture ... done [18:02:01.821] result() for ClusterFuture ... [18:02:01.821] - result already collected: FutureResult [18:02:01.821] result() for ClusterFuture ... done Warning: 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' [18:02:01.821] getGlobalsAndPackages() ... Warning: 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' [18:02:01.822] Searching for globals... Warning: 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' [18:02:01.822] [18:02:01.822] Searching for globals ... DONE [18:02:01.823] - globals: [0] [18:02:01.823] getGlobalsAndPackages() ... DONE Warning: 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' [18:02:01.823] getGlobalsAndPackages() ... Warning: 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' [18:02:01.823] Searching for globals... Warning: 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' [18:02:01.825] - globals found: [3] '+', 'value', 'a' [18:02:01.825] Searching for globals ... DONE [18:02:01.825] Resolving globals: TRUE [18:02:01.825] Resolving any globals that are futures ... [18:02:01.825] - globals: [3] '+', 'value', 'a' [18:02:01.826] Resolving any globals that are futures ... DONE [18:02:01.826] Resolving futures part of globals (recursively) ... [18:02:01.826] resolve() on list ... [18:02:01.826] recursive: 99 [18:02:01.827] length: 1 [18:02:01.827] elements: 'a' [18:02:01.827] run() for 'Future' ... [18:02:01.827] - state: 'created' [18:02:01.827] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.841] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.841] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.842] - Field: 'node' [18:02:01.842] - Field: 'label' [18:02:01.842] - Field: 'local' [18:02:01.842] - Field: 'owner' [18:02:01.842] - Field: 'envir' [18:02:01.843] - Field: 'workers' [18:02:01.843] - Field: 'packages' [18:02:01.843] - Field: 'gc' [18:02:01.843] - Field: 'conditions' [18:02:01.843] - Field: 'persistent' [18:02:01.843] - Field: 'expr' [18:02:01.844] - Field: 'uuid' [18:02:01.844] - Field: 'seed' [18:02:01.844] - Field: 'version' [18:02:01.844] - Field: 'result' [18:02:01.844] - Field: 'asynchronous' [18:02:01.845] - Field: 'calls' [18:02:01.845] - Field: 'globals' [18:02:01.845] - Field: 'stdout' [18:02:01.845] - Field: 'earlySignal' [18:02:01.845] - Field: 'lazy' [18:02:01.846] - Field: 'state' [18:02:01.846] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.846] - Launch lazy future ... [18:02:01.846] Packages needed by the future expression (n = 0): [18:02:01.846] Packages needed by future strategies (n = 0): [18:02:01.847] { [18:02:01.847] { [18:02:01.847] { [18:02:01.847] ...future.startTime <- base::Sys.time() [18:02:01.847] { [18:02:01.847] { [18:02:01.847] { [18:02:01.847] { [18:02:01.847] base::local({ [18:02:01.847] has_future <- base::requireNamespace("future", [18:02:01.847] quietly = TRUE) [18:02:01.847] if (has_future) { [18:02:01.847] ns <- base::getNamespace("future") [18:02:01.847] version <- ns[[".package"]][["version"]] [18:02:01.847] if (is.null(version)) [18:02:01.847] version <- utils::packageVersion("future") [18:02:01.847] } [18:02:01.847] else { [18:02:01.847] version <- NULL [18:02:01.847] } [18:02:01.847] if (!has_future || version < "1.8.0") { [18:02:01.847] info <- base::c(r_version = base::gsub("R version ", [18:02:01.847] "", base::R.version$version.string), [18:02:01.847] platform = base::sprintf("%s (%s-bit)", [18:02:01.847] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:01.847] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.847] "release", "version")], collapse = " "), [18:02:01.847] hostname = base::Sys.info()[["nodename"]]) [18:02:01.847] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.847] info) [18:02:01.847] info <- base::paste(info, collapse = "; ") [18:02:01.847] if (!has_future) { [18:02:01.847] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.847] info) [18:02:01.847] } [18:02:01.847] else { [18:02:01.847] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.847] info, version) [18:02:01.847] } [18:02:01.847] base::stop(msg) [18:02:01.847] } [18:02:01.847] }) [18:02:01.847] } [18:02:01.847] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.847] base::options(mc.cores = 1L) [18:02:01.847] } [18:02:01.847] options(future.plan = NULL) [18:02:01.847] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.847] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.847] } [18:02:01.847] ...future.workdir <- getwd() [18:02:01.847] } [18:02:01.847] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.847] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.847] } [18:02:01.847] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.847] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.847] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.847] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.847] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.847] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.847] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.847] base::names(...future.oldOptions)) [18:02:01.847] } [18:02:01.847] if (FALSE) { [18:02:01.847] } [18:02:01.847] else { [18:02:01.847] if (TRUE) { [18:02:01.847] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.847] open = "w") [18:02:01.847] } [18:02:01.847] else { [18:02:01.847] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.847] windows = "NUL", "/dev/null"), open = "w") [18:02:01.847] } [18:02:01.847] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.847] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.847] base::sink(type = "output", split = FALSE) [18:02:01.847] base::close(...future.stdout) [18:02:01.847] }, add = TRUE) [18:02:01.847] } [18:02:01.847] ...future.frame <- base::sys.nframe() [18:02:01.847] ...future.conditions <- base::list() [18:02:01.847] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.847] if (FALSE) { [18:02:01.847] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.847] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.847] } [18:02:01.847] ...future.result <- base::tryCatch({ [18:02:01.847] base::withCallingHandlers({ [18:02:01.847] ...future.value <- base::withVisible(base::local({ [18:02:01.847] ...future.makeSendCondition <- local({ [18:02:01.847] sendCondition <- NULL [18:02:01.847] function(frame = 1L) { [18:02:01.847] if (is.function(sendCondition)) [18:02:01.847] return(sendCondition) [18:02:01.847] ns <- getNamespace("parallel") [18:02:01.847] if (exists("sendData", mode = "function", [18:02:01.847] envir = ns)) { [18:02:01.847] parallel_sendData <- get("sendData", mode = "function", [18:02:01.847] envir = ns) [18:02:01.847] envir <- sys.frame(frame) [18:02:01.847] master <- NULL [18:02:01.847] while (!identical(envir, .GlobalEnv) && [18:02:01.847] !identical(envir, emptyenv())) { [18:02:01.847] if (exists("master", mode = "list", envir = envir, [18:02:01.847] inherits = FALSE)) { [18:02:01.847] master <- get("master", mode = "list", [18:02:01.847] envir = envir, inherits = FALSE) [18:02:01.847] if (inherits(master, c("SOCKnode", [18:02:01.847] "SOCK0node"))) { [18:02:01.847] sendCondition <<- function(cond) { [18:02:01.847] data <- list(type = "VALUE", value = cond, [18:02:01.847] success = TRUE) [18:02:01.847] parallel_sendData(master, data) [18:02:01.847] } [18:02:01.847] return(sendCondition) [18:02:01.847] } [18:02:01.847] } [18:02:01.847] frame <- frame + 1L [18:02:01.847] envir <- sys.frame(frame) [18:02:01.847] } [18:02:01.847] } [18:02:01.847] sendCondition <<- function(cond) NULL [18:02:01.847] } [18:02:01.847] }) [18:02:01.847] withCallingHandlers({ [18:02:01.847] 1 [18:02:01.847] }, immediateCondition = function(cond) { [18:02:01.847] sendCondition <- ...future.makeSendCondition() [18:02:01.847] sendCondition(cond) [18:02:01.847] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.847] { [18:02:01.847] inherits <- base::inherits [18:02:01.847] invokeRestart <- base::invokeRestart [18:02:01.847] is.null <- base::is.null [18:02:01.847] muffled <- FALSE [18:02:01.847] if (inherits(cond, "message")) { [18:02:01.847] muffled <- grepl(pattern, "muffleMessage") [18:02:01.847] if (muffled) [18:02:01.847] invokeRestart("muffleMessage") [18:02:01.847] } [18:02:01.847] else if (inherits(cond, "warning")) { [18:02:01.847] muffled <- grepl(pattern, "muffleWarning") [18:02:01.847] if (muffled) [18:02:01.847] invokeRestart("muffleWarning") [18:02:01.847] } [18:02:01.847] else if (inherits(cond, "condition")) { [18:02:01.847] if (!is.null(pattern)) { [18:02:01.847] computeRestarts <- base::computeRestarts [18:02:01.847] grepl <- base::grepl [18:02:01.847] restarts <- computeRestarts(cond) [18:02:01.847] for (restart in restarts) { [18:02:01.847] name <- restart$name [18:02:01.847] if (is.null(name)) [18:02:01.847] next [18:02:01.847] if (!grepl(pattern, name)) [18:02:01.847] next [18:02:01.847] invokeRestart(restart) [18:02:01.847] muffled <- TRUE [18:02:01.847] break [18:02:01.847] } [18:02:01.847] } [18:02:01.847] } [18:02:01.847] invisible(muffled) [18:02:01.847] } [18:02:01.847] muffleCondition(cond) [18:02:01.847] }) [18:02:01.847] })) [18:02:01.847] future::FutureResult(value = ...future.value$value, [18:02:01.847] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.847] ...future.rng), globalenv = if (FALSE) [18:02:01.847] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.847] ...future.globalenv.names)) [18:02:01.847] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.847] }, condition = base::local({ [18:02:01.847] c <- base::c [18:02:01.847] inherits <- base::inherits [18:02:01.847] invokeRestart <- base::invokeRestart [18:02:01.847] length <- base::length [18:02:01.847] list <- base::list [18:02:01.847] seq.int <- base::seq.int [18:02:01.847] signalCondition <- base::signalCondition [18:02:01.847] sys.calls <- base::sys.calls [18:02:01.847] `[[` <- base::`[[` [18:02:01.847] `+` <- base::`+` [18:02:01.847] `<<-` <- base::`<<-` [18:02:01.847] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.847] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.847] 3L)] [18:02:01.847] } [18:02:01.847] function(cond) { [18:02:01.847] is_error <- inherits(cond, "error") [18:02:01.847] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.847] NULL) [18:02:01.847] if (is_error) { [18:02:01.847] sessionInformation <- function() { [18:02:01.847] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.847] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.847] search = base::search(), system = base::Sys.info()) [18:02:01.847] } [18:02:01.847] ...future.conditions[[length(...future.conditions) + [18:02:01.847] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.847] cond$call), session = sessionInformation(), [18:02:01.847] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.847] signalCondition(cond) [18:02:01.847] } [18:02:01.847] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.847] "immediateCondition"))) { [18:02:01.847] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.847] ...future.conditions[[length(...future.conditions) + [18:02:01.847] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.847] if (TRUE && !signal) { [18:02:01.847] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.847] { [18:02:01.847] inherits <- base::inherits [18:02:01.847] invokeRestart <- base::invokeRestart [18:02:01.847] is.null <- base::is.null [18:02:01.847] muffled <- FALSE [18:02:01.847] if (inherits(cond, "message")) { [18:02:01.847] muffled <- grepl(pattern, "muffleMessage") [18:02:01.847] if (muffled) [18:02:01.847] invokeRestart("muffleMessage") [18:02:01.847] } [18:02:01.847] else if (inherits(cond, "warning")) { [18:02:01.847] muffled <- grepl(pattern, "muffleWarning") [18:02:01.847] if (muffled) [18:02:01.847] invokeRestart("muffleWarning") [18:02:01.847] } [18:02:01.847] else if (inherits(cond, "condition")) { [18:02:01.847] if (!is.null(pattern)) { [18:02:01.847] computeRestarts <- base::computeRestarts [18:02:01.847] grepl <- base::grepl [18:02:01.847] restarts <- computeRestarts(cond) [18:02:01.847] for (restart in restarts) { [18:02:01.847] name <- restart$name [18:02:01.847] if (is.null(name)) [18:02:01.847] next [18:02:01.847] if (!grepl(pattern, name)) [18:02:01.847] next [18:02:01.847] invokeRestart(restart) [18:02:01.847] muffled <- TRUE [18:02:01.847] break [18:02:01.847] } [18:02:01.847] } [18:02:01.847] } [18:02:01.847] invisible(muffled) [18:02:01.847] } [18:02:01.847] muffleCondition(cond, pattern = "^muffle") [18:02:01.847] } [18:02:01.847] } [18:02:01.847] else { [18:02:01.847] if (TRUE) { [18:02:01.847] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.847] { [18:02:01.847] inherits <- base::inherits [18:02:01.847] invokeRestart <- base::invokeRestart [18:02:01.847] is.null <- base::is.null [18:02:01.847] muffled <- FALSE [18:02:01.847] if (inherits(cond, "message")) { [18:02:01.847] muffled <- grepl(pattern, "muffleMessage") [18:02:01.847] if (muffled) [18:02:01.847] invokeRestart("muffleMessage") [18:02:01.847] } [18:02:01.847] else if (inherits(cond, "warning")) { [18:02:01.847] muffled <- grepl(pattern, "muffleWarning") [18:02:01.847] if (muffled) [18:02:01.847] invokeRestart("muffleWarning") [18:02:01.847] } [18:02:01.847] else if (inherits(cond, "condition")) { [18:02:01.847] if (!is.null(pattern)) { [18:02:01.847] computeRestarts <- base::computeRestarts [18:02:01.847] grepl <- base::grepl [18:02:01.847] restarts <- computeRestarts(cond) [18:02:01.847] for (restart in restarts) { [18:02:01.847] name <- restart$name [18:02:01.847] if (is.null(name)) [18:02:01.847] next [18:02:01.847] if (!grepl(pattern, name)) [18:02:01.847] next [18:02:01.847] invokeRestart(restart) [18:02:01.847] muffled <- TRUE [18:02:01.847] break [18:02:01.847] } [18:02:01.847] } [18:02:01.847] } [18:02:01.847] invisible(muffled) [18:02:01.847] } [18:02:01.847] muffleCondition(cond, pattern = "^muffle") [18:02:01.847] } [18:02:01.847] } [18:02:01.847] } [18:02:01.847] })) [18:02:01.847] }, error = function(ex) { [18:02:01.847] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.847] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.847] ...future.rng), started = ...future.startTime, [18:02:01.847] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.847] version = "1.8"), class = "FutureResult") [18:02:01.847] }, finally = { [18:02:01.847] if (!identical(...future.workdir, getwd())) [18:02:01.847] setwd(...future.workdir) [18:02:01.847] { [18:02:01.847] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.847] ...future.oldOptions$nwarnings <- NULL [18:02:01.847] } [18:02:01.847] base::options(...future.oldOptions) [18:02:01.847] if (.Platform$OS.type == "windows") { [18:02:01.847] old_names <- names(...future.oldEnvVars) [18:02:01.847] envs <- base::Sys.getenv() [18:02:01.847] names <- names(envs) [18:02:01.847] common <- intersect(names, old_names) [18:02:01.847] added <- setdiff(names, old_names) [18:02:01.847] removed <- setdiff(old_names, names) [18:02:01.847] changed <- common[...future.oldEnvVars[common] != [18:02:01.847] envs[common]] [18:02:01.847] NAMES <- toupper(changed) [18:02:01.847] args <- list() [18:02:01.847] for (kk in seq_along(NAMES)) { [18:02:01.847] name <- changed[[kk]] [18:02:01.847] NAME <- NAMES[[kk]] [18:02:01.847] if (name != NAME && is.element(NAME, old_names)) [18:02:01.847] next [18:02:01.847] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.847] } [18:02:01.847] NAMES <- toupper(added) [18:02:01.847] for (kk in seq_along(NAMES)) { [18:02:01.847] name <- added[[kk]] [18:02:01.847] NAME <- NAMES[[kk]] [18:02:01.847] if (name != NAME && is.element(NAME, old_names)) [18:02:01.847] next [18:02:01.847] args[[name]] <- "" [18:02:01.847] } [18:02:01.847] NAMES <- toupper(removed) [18:02:01.847] for (kk in seq_along(NAMES)) { [18:02:01.847] name <- removed[[kk]] [18:02:01.847] NAME <- NAMES[[kk]] [18:02:01.847] if (name != NAME && is.element(NAME, old_names)) [18:02:01.847] next [18:02:01.847] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.847] } [18:02:01.847] if (length(args) > 0) [18:02:01.847] base::do.call(base::Sys.setenv, args = args) [18:02:01.847] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.847] } [18:02:01.847] else { [18:02:01.847] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.847] } [18:02:01.847] { [18:02:01.847] if (base::length(...future.futureOptionsAdded) > [18:02:01.847] 0L) { [18:02:01.847] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.847] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.847] base::options(opts) [18:02:01.847] } [18:02:01.847] { [18:02:01.847] { [18:02:01.847] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.847] NULL [18:02:01.847] } [18:02:01.847] options(future.plan = NULL) [18:02:01.847] if (is.na(NA_character_)) [18:02:01.847] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.847] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.847] future::plan(list(function (..., workers = availableCores(), [18:02:01.847] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.847] envir = parent.frame()) [18:02:01.847] { [18:02:01.847] if (is.function(workers)) [18:02:01.847] workers <- workers() [18:02:01.847] workers <- structure(as.integer(workers), [18:02:01.847] class = class(workers)) [18:02:01.847] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.847] workers >= 1) [18:02:01.847] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.847] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.847] } [18:02:01.847] future <- MultisessionFuture(..., workers = workers, [18:02:01.847] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.847] envir = envir) [18:02:01.847] if (!future$lazy) [18:02:01.847] future <- run(future) [18:02:01.847] invisible(future) [18:02:01.847] }), .cleanup = FALSE, .init = FALSE) [18:02:01.847] } [18:02:01.847] } [18:02:01.847] } [18:02:01.847] }) [18:02:01.847] if (TRUE) { [18:02:01.847] base::sink(type = "output", split = FALSE) [18:02:01.847] if (TRUE) { [18:02:01.847] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.847] } [18:02:01.847] else { [18:02:01.847] ...future.result["stdout"] <- base::list(NULL) [18:02:01.847] } [18:02:01.847] base::close(...future.stdout) [18:02:01.847] ...future.stdout <- NULL [18:02:01.847] } [18:02:01.847] ...future.result$conditions <- ...future.conditions [18:02:01.847] ...future.result$finished <- base::Sys.time() [18:02:01.847] ...future.result [18:02:01.847] } [18:02:01.853] MultisessionFuture started [18:02:01.853] - Launch lazy future ... done [18:02:01.853] run() for 'MultisessionFuture' ... done [18:02:01.870] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.870] - Validating connection of MultisessionFuture [18:02:01.870] - received message: FutureResult [18:02:01.870] - Received FutureResult [18:02:01.870] - Erased future from FutureRegistry [18:02:01.871] result() for ClusterFuture ... [18:02:01.871] - result already collected: FutureResult [18:02:01.871] result() for ClusterFuture ... done [18:02:01.871] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.871] Future #1 [18:02:01.871] result() for ClusterFuture ... [18:02:01.872] - result already collected: FutureResult [18:02:01.872] result() for ClusterFuture ... done [18:02:01.872] result() for ClusterFuture ... [18:02:01.872] - result already collected: FutureResult [18:02:01.872] result() for ClusterFuture ... done [18:02:01.872] A MultisessionFuture was resolved [18:02:01.873] length: 0 (resolved future 1) [18:02:01.873] resolve() on list ... DONE [18:02:01.873] - globals: [1] 'a' [18:02:01.875] Resolving futures part of globals (recursively) ... DONE [18:02:01.876] The total size of the 1 globals is 10.22 KiB (10464 bytes) [18:02:01.877] 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') [18:02:01.877] - globals: [1] 'a' [18:02:01.877] - packages: [1] 'future' [18:02:01.877] getGlobalsAndPackages() ... DONE [18:02:01.878] run() for 'Future' ... [18:02:01.878] - state: 'created' [18:02:01.878] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.892] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.892] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.892] - Field: 'node' [18:02:01.892] - Field: 'label' [18:02:01.892] - Field: 'local' [18:02:01.893] - Field: 'owner' [18:02:01.893] - Field: 'envir' [18:02:01.893] - Field: 'workers' [18:02:01.893] - Field: 'packages' [18:02:01.893] - Field: 'gc' [18:02:01.893] - Field: 'conditions' [18:02:01.894] - Field: 'persistent' [18:02:01.894] - Field: 'expr' [18:02:01.894] - Field: 'uuid' [18:02:01.894] - Field: 'seed' [18:02:01.894] - Field: 'version' [18:02:01.894] - Field: 'result' [18:02:01.895] - Field: 'asynchronous' [18:02:01.895] - Field: 'calls' [18:02:01.895] - Field: 'globals' [18:02:01.895] - Field: 'stdout' [18:02:01.895] - Field: 'earlySignal' [18:02:01.896] - Field: 'lazy' [18:02:01.896] - Field: 'state' [18:02:01.896] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.896] - Launch lazy future ... [18:02:01.896] Packages needed by the future expression (n = 1): 'future' [18:02:01.897] Packages needed by future strategies (n = 0): [18:02:01.897] { [18:02:01.897] { [18:02:01.897] { [18:02:01.897] ...future.startTime <- base::Sys.time() [18:02:01.897] { [18:02:01.897] { [18:02:01.897] { [18:02:01.897] { [18:02:01.897] { [18:02:01.897] base::local({ [18:02:01.897] has_future <- base::requireNamespace("future", [18:02:01.897] quietly = TRUE) [18:02:01.897] if (has_future) { [18:02:01.897] ns <- base::getNamespace("future") [18:02:01.897] version <- ns[[".package"]][["version"]] [18:02:01.897] if (is.null(version)) [18:02:01.897] version <- utils::packageVersion("future") [18:02:01.897] } [18:02:01.897] else { [18:02:01.897] version <- NULL [18:02:01.897] } [18:02:01.897] if (!has_future || version < "1.8.0") { [18:02:01.897] info <- base::c(r_version = base::gsub("R version ", [18:02:01.897] "", base::R.version$version.string), [18:02:01.897] platform = base::sprintf("%s (%s-bit)", [18:02:01.897] base::R.version$platform, 8 * [18:02:01.897] base::.Machine$sizeof.pointer), [18:02:01.897] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.897] "release", "version")], collapse = " "), [18:02:01.897] hostname = base::Sys.info()[["nodename"]]) [18:02:01.897] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.897] info) [18:02:01.897] info <- base::paste(info, collapse = "; ") [18:02:01.897] if (!has_future) { [18:02:01.897] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.897] info) [18:02:01.897] } [18:02:01.897] else { [18:02:01.897] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.897] info, version) [18:02:01.897] } [18:02:01.897] base::stop(msg) [18:02:01.897] } [18:02:01.897] }) [18:02:01.897] } [18:02:01.897] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.897] base::options(mc.cores = 1L) [18:02:01.897] } [18:02:01.897] base::local({ [18:02:01.897] for (pkg in "future") { [18:02:01.897] base::loadNamespace(pkg) [18:02:01.897] base::library(pkg, character.only = TRUE) [18:02:01.897] } [18:02:01.897] }) [18:02:01.897] } [18:02:01.897] options(future.plan = NULL) [18:02:01.897] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.897] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.897] } [18:02:01.897] ...future.workdir <- getwd() [18:02:01.897] } [18:02:01.897] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.897] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.897] } [18:02:01.897] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.897] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.897] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.897] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.897] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.897] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.897] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.897] base::names(...future.oldOptions)) [18:02:01.897] } [18:02:01.897] if (FALSE) { [18:02:01.897] } [18:02:01.897] else { [18:02:01.897] if (TRUE) { [18:02:01.897] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.897] open = "w") [18:02:01.897] } [18:02:01.897] else { [18:02:01.897] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.897] windows = "NUL", "/dev/null"), open = "w") [18:02:01.897] } [18:02:01.897] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.897] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.897] base::sink(type = "output", split = FALSE) [18:02:01.897] base::close(...future.stdout) [18:02:01.897] }, add = TRUE) [18:02:01.897] } [18:02:01.897] ...future.frame <- base::sys.nframe() [18:02:01.897] ...future.conditions <- base::list() [18:02:01.897] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.897] if (FALSE) { [18:02:01.897] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.897] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.897] } [18:02:01.897] ...future.result <- base::tryCatch({ [18:02:01.897] base::withCallingHandlers({ [18:02:01.897] ...future.value <- base::withVisible(base::local({ [18:02:01.897] ...future.makeSendCondition <- local({ [18:02:01.897] sendCondition <- NULL [18:02:01.897] function(frame = 1L) { [18:02:01.897] if (is.function(sendCondition)) [18:02:01.897] return(sendCondition) [18:02:01.897] ns <- getNamespace("parallel") [18:02:01.897] if (exists("sendData", mode = "function", [18:02:01.897] envir = ns)) { [18:02:01.897] parallel_sendData <- get("sendData", mode = "function", [18:02:01.897] envir = ns) [18:02:01.897] envir <- sys.frame(frame) [18:02:01.897] master <- NULL [18:02:01.897] while (!identical(envir, .GlobalEnv) && [18:02:01.897] !identical(envir, emptyenv())) { [18:02:01.897] if (exists("master", mode = "list", envir = envir, [18:02:01.897] inherits = FALSE)) { [18:02:01.897] master <- get("master", mode = "list", [18:02:01.897] envir = envir, inherits = FALSE) [18:02:01.897] if (inherits(master, c("SOCKnode", [18:02:01.897] "SOCK0node"))) { [18:02:01.897] sendCondition <<- function(cond) { [18:02:01.897] data <- list(type = "VALUE", value = cond, [18:02:01.897] success = TRUE) [18:02:01.897] parallel_sendData(master, data) [18:02:01.897] } [18:02:01.897] return(sendCondition) [18:02:01.897] } [18:02:01.897] } [18:02:01.897] frame <- frame + 1L [18:02:01.897] envir <- sys.frame(frame) [18:02:01.897] } [18:02:01.897] } [18:02:01.897] sendCondition <<- function(cond) NULL [18:02:01.897] } [18:02:01.897] }) [18:02:01.897] withCallingHandlers({ [18:02:01.897] value(a) + 1 [18:02:01.897] }, immediateCondition = function(cond) { [18:02:01.897] sendCondition <- ...future.makeSendCondition() [18:02:01.897] sendCondition(cond) [18:02:01.897] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.897] { [18:02:01.897] inherits <- base::inherits [18:02:01.897] invokeRestart <- base::invokeRestart [18:02:01.897] is.null <- base::is.null [18:02:01.897] muffled <- FALSE [18:02:01.897] if (inherits(cond, "message")) { [18:02:01.897] muffled <- grepl(pattern, "muffleMessage") [18:02:01.897] if (muffled) [18:02:01.897] invokeRestart("muffleMessage") [18:02:01.897] } [18:02:01.897] else if (inherits(cond, "warning")) { [18:02:01.897] muffled <- grepl(pattern, "muffleWarning") [18:02:01.897] if (muffled) [18:02:01.897] invokeRestart("muffleWarning") [18:02:01.897] } [18:02:01.897] else if (inherits(cond, "condition")) { [18:02:01.897] if (!is.null(pattern)) { [18:02:01.897] computeRestarts <- base::computeRestarts [18:02:01.897] grepl <- base::grepl [18:02:01.897] restarts <- computeRestarts(cond) [18:02:01.897] for (restart in restarts) { [18:02:01.897] name <- restart$name [18:02:01.897] if (is.null(name)) [18:02:01.897] next [18:02:01.897] if (!grepl(pattern, name)) [18:02:01.897] next [18:02:01.897] invokeRestart(restart) [18:02:01.897] muffled <- TRUE [18:02:01.897] break [18:02:01.897] } [18:02:01.897] } [18:02:01.897] } [18:02:01.897] invisible(muffled) [18:02:01.897] } [18:02:01.897] muffleCondition(cond) [18:02:01.897] }) [18:02:01.897] })) [18:02:01.897] future::FutureResult(value = ...future.value$value, [18:02:01.897] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.897] ...future.rng), globalenv = if (FALSE) [18:02:01.897] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.897] ...future.globalenv.names)) [18:02:01.897] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.897] }, condition = base::local({ [18:02:01.897] c <- base::c [18:02:01.897] inherits <- base::inherits [18:02:01.897] invokeRestart <- base::invokeRestart [18:02:01.897] length <- base::length [18:02:01.897] list <- base::list [18:02:01.897] seq.int <- base::seq.int [18:02:01.897] signalCondition <- base::signalCondition [18:02:01.897] sys.calls <- base::sys.calls [18:02:01.897] `[[` <- base::`[[` [18:02:01.897] `+` <- base::`+` [18:02:01.897] `<<-` <- base::`<<-` [18:02:01.897] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.897] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.897] 3L)] [18:02:01.897] } [18:02:01.897] function(cond) { [18:02:01.897] is_error <- inherits(cond, "error") [18:02:01.897] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.897] NULL) [18:02:01.897] if (is_error) { [18:02:01.897] sessionInformation <- function() { [18:02:01.897] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.897] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.897] search = base::search(), system = base::Sys.info()) [18:02:01.897] } [18:02:01.897] ...future.conditions[[length(...future.conditions) + [18:02:01.897] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.897] cond$call), session = sessionInformation(), [18:02:01.897] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.897] signalCondition(cond) [18:02:01.897] } [18:02:01.897] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.897] "immediateCondition"))) { [18:02:01.897] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.897] ...future.conditions[[length(...future.conditions) + [18:02:01.897] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.897] if (TRUE && !signal) { [18:02:01.897] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.897] { [18:02:01.897] inherits <- base::inherits [18:02:01.897] invokeRestart <- base::invokeRestart [18:02:01.897] is.null <- base::is.null [18:02:01.897] muffled <- FALSE [18:02:01.897] if (inherits(cond, "message")) { [18:02:01.897] muffled <- grepl(pattern, "muffleMessage") [18:02:01.897] if (muffled) [18:02:01.897] invokeRestart("muffleMessage") [18:02:01.897] } [18:02:01.897] else if (inherits(cond, "warning")) { [18:02:01.897] muffled <- grepl(pattern, "muffleWarning") [18:02:01.897] if (muffled) [18:02:01.897] invokeRestart("muffleWarning") [18:02:01.897] } [18:02:01.897] else if (inherits(cond, "condition")) { [18:02:01.897] if (!is.null(pattern)) { [18:02:01.897] computeRestarts <- base::computeRestarts [18:02:01.897] grepl <- base::grepl [18:02:01.897] restarts <- computeRestarts(cond) [18:02:01.897] for (restart in restarts) { [18:02:01.897] name <- restart$name [18:02:01.897] if (is.null(name)) [18:02:01.897] next [18:02:01.897] if (!grepl(pattern, name)) [18:02:01.897] next [18:02:01.897] invokeRestart(restart) [18:02:01.897] muffled <- TRUE [18:02:01.897] break [18:02:01.897] } [18:02:01.897] } [18:02:01.897] } [18:02:01.897] invisible(muffled) [18:02:01.897] } [18:02:01.897] muffleCondition(cond, pattern = "^muffle") [18:02:01.897] } [18:02:01.897] } [18:02:01.897] else { [18:02:01.897] if (TRUE) { [18:02:01.897] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.897] { [18:02:01.897] inherits <- base::inherits [18:02:01.897] invokeRestart <- base::invokeRestart [18:02:01.897] is.null <- base::is.null [18:02:01.897] muffled <- FALSE [18:02:01.897] if (inherits(cond, "message")) { [18:02:01.897] muffled <- grepl(pattern, "muffleMessage") [18:02:01.897] if (muffled) [18:02:01.897] invokeRestart("muffleMessage") [18:02:01.897] } [18:02:01.897] else if (inherits(cond, "warning")) { [18:02:01.897] muffled <- grepl(pattern, "muffleWarning") [18:02:01.897] if (muffled) [18:02:01.897] invokeRestart("muffleWarning") [18:02:01.897] } [18:02:01.897] else if (inherits(cond, "condition")) { [18:02:01.897] if (!is.null(pattern)) { [18:02:01.897] computeRestarts <- base::computeRestarts [18:02:01.897] grepl <- base::grepl [18:02:01.897] restarts <- computeRestarts(cond) [18:02:01.897] for (restart in restarts) { [18:02:01.897] name <- restart$name [18:02:01.897] if (is.null(name)) [18:02:01.897] next [18:02:01.897] if (!grepl(pattern, name)) [18:02:01.897] next [18:02:01.897] invokeRestart(restart) [18:02:01.897] muffled <- TRUE [18:02:01.897] break [18:02:01.897] } [18:02:01.897] } [18:02:01.897] } [18:02:01.897] invisible(muffled) [18:02:01.897] } [18:02:01.897] muffleCondition(cond, pattern = "^muffle") [18:02:01.897] } [18:02:01.897] } [18:02:01.897] } [18:02:01.897] })) [18:02:01.897] }, error = function(ex) { [18:02:01.897] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.897] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.897] ...future.rng), started = ...future.startTime, [18:02:01.897] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.897] version = "1.8"), class = "FutureResult") [18:02:01.897] }, finally = { [18:02:01.897] if (!identical(...future.workdir, getwd())) [18:02:01.897] setwd(...future.workdir) [18:02:01.897] { [18:02:01.897] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.897] ...future.oldOptions$nwarnings <- NULL [18:02:01.897] } [18:02:01.897] base::options(...future.oldOptions) [18:02:01.897] if (.Platform$OS.type == "windows") { [18:02:01.897] old_names <- names(...future.oldEnvVars) [18:02:01.897] envs <- base::Sys.getenv() [18:02:01.897] names <- names(envs) [18:02:01.897] common <- intersect(names, old_names) [18:02:01.897] added <- setdiff(names, old_names) [18:02:01.897] removed <- setdiff(old_names, names) [18:02:01.897] changed <- common[...future.oldEnvVars[common] != [18:02:01.897] envs[common]] [18:02:01.897] NAMES <- toupper(changed) [18:02:01.897] args <- list() [18:02:01.897] for (kk in seq_along(NAMES)) { [18:02:01.897] name <- changed[[kk]] [18:02:01.897] NAME <- NAMES[[kk]] [18:02:01.897] if (name != NAME && is.element(NAME, old_names)) [18:02:01.897] next [18:02:01.897] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.897] } [18:02:01.897] NAMES <- toupper(added) [18:02:01.897] for (kk in seq_along(NAMES)) { [18:02:01.897] name <- added[[kk]] [18:02:01.897] NAME <- NAMES[[kk]] [18:02:01.897] if (name != NAME && is.element(NAME, old_names)) [18:02:01.897] next [18:02:01.897] args[[name]] <- "" [18:02:01.897] } [18:02:01.897] NAMES <- toupper(removed) [18:02:01.897] for (kk in seq_along(NAMES)) { [18:02:01.897] name <- removed[[kk]] [18:02:01.897] NAME <- NAMES[[kk]] [18:02:01.897] if (name != NAME && is.element(NAME, old_names)) [18:02:01.897] next [18:02:01.897] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.897] } [18:02:01.897] if (length(args) > 0) [18:02:01.897] base::do.call(base::Sys.setenv, args = args) [18:02:01.897] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.897] } [18:02:01.897] else { [18:02:01.897] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.897] } [18:02:01.897] { [18:02:01.897] if (base::length(...future.futureOptionsAdded) > [18:02:01.897] 0L) { [18:02:01.897] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.897] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.897] base::options(opts) [18:02:01.897] } [18:02:01.897] { [18:02:01.897] { [18:02:01.897] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.897] NULL [18:02:01.897] } [18:02:01.897] options(future.plan = NULL) [18:02:01.897] if (is.na(NA_character_)) [18:02:01.897] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.897] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.897] future::plan(list(function (..., workers = availableCores(), [18:02:01.897] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.897] envir = parent.frame()) [18:02:01.897] { [18:02:01.897] if (is.function(workers)) [18:02:01.897] workers <- workers() [18:02:01.897] workers <- structure(as.integer(workers), [18:02:01.897] class = class(workers)) [18:02:01.897] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.897] workers >= 1) [18:02:01.897] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.897] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.897] } [18:02:01.897] future <- MultisessionFuture(..., workers = workers, [18:02:01.897] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.897] envir = envir) [18:02:01.897] if (!future$lazy) [18:02:01.897] future <- run(future) [18:02:01.897] invisible(future) [18:02:01.897] }), .cleanup = FALSE, .init = FALSE) [18:02:01.897] } [18:02:01.897] } [18:02:01.897] } [18:02:01.897] }) [18:02:01.897] if (TRUE) { [18:02:01.897] base::sink(type = "output", split = FALSE) [18:02:01.897] if (TRUE) { [18:02:01.897] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.897] } [18:02:01.897] else { [18:02:01.897] ...future.result["stdout"] <- base::list(NULL) [18:02:01.897] } [18:02:01.897] base::close(...future.stdout) [18:02:01.897] ...future.stdout <- NULL [18:02:01.897] } [18:02:01.897] ...future.result$conditions <- ...future.conditions [18:02:01.897] ...future.result$finished <- base::Sys.time() [18:02:01.897] ...future.result [18:02:01.897] } [18:02:01.902] Exporting 1 global objects (10.22 KiB) to cluster node #2 ... [18:02:01.904] Exporting 'a' (10.22 KiB) to cluster node #2 ... [18:02:01.916] Exporting 'a' (10.22 KiB) to cluster node #2 ... DONE [18:02:01.916] Exporting 1 global objects (10.22 KiB) to cluster node #2 ... DONE [18:02:01.917] MultisessionFuture started [18:02:01.917] - Launch lazy future ... done [18:02:01.917] run() for 'MultisessionFuture' ... done [18:02:01.918] result() for ClusterFuture ... [18:02:01.918] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.918] - Validating connection of MultisessionFuture [18:02:01.936] - received message: FutureResult [18:02:01.936] - Received FutureResult [18:02:01.936] - Erased future from FutureRegistry [18:02:01.937] result() for ClusterFuture ... [18:02:01.937] - result already collected: FutureResult [18:02:01.937] result() for ClusterFuture ... done [18:02:01.937] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.937] result() for ClusterFuture ... done [18:02:01.937] result() for ClusterFuture ... [18:02:01.937] - result already collected: FutureResult [18:02:01.938] result() for ClusterFuture ... done value(b) = 2 [18:02:01.938] result() for ClusterFuture ... [18:02:01.938] - result already collected: FutureResult [18:02:01.938] result() for ClusterFuture ... done [18:02:01.938] result() for ClusterFuture ... [18:02:01.939] - result already collected: FutureResult [18:02:01.939] result() for ClusterFuture ... done Warning: 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' [18:02:01.939] getGlobalsAndPackages() ... Warning: 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' [18:02:01.939] Searching for globals... Warning: 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' [18:02:01.940] [18:02:01.940] Searching for globals ... DONE [18:02:01.940] - globals: [0] [18:02:01.940] getGlobalsAndPackages() ... DONE Warning: 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' [18:02:01.941] getGlobalsAndPackages() ... Warning: 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' [18:02:01.941] Searching for globals... Warning: 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' [18:02:01.942] - globals found: [3] '+', 'value', 'a' [18:02:01.943] Searching for globals ... DONE [18:02:01.943] Resolving globals: TRUE [18:02:01.943] Resolving any globals that are futures ... [18:02:01.943] - globals: [3] '+', 'value', 'a' [18:02:01.943] Resolving any globals that are futures ... DONE [18:02:01.944] Resolving futures part of globals (recursively) ... [18:02:01.944] resolve() on list ... [18:02:01.944] recursive: 99 [18:02:01.944] length: 1 [18:02:01.944] elements: 'a' [18:02:01.945] run() for 'Future' ... [18:02:01.945] - state: 'created' [18:02:01.945] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:01.959] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:01.959] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:01.960] - Field: 'node' [18:02:01.960] - Field: 'label' [18:02:01.960] - Field: 'local' [18:02:01.960] - Field: 'owner' [18:02:01.960] - Field: 'envir' [18:02:01.961] - Field: 'workers' [18:02:01.961] - Field: 'packages' [18:02:01.961] - Field: 'gc' [18:02:01.961] - Field: 'conditions' [18:02:01.961] - Field: 'persistent' [18:02:01.961] - Field: 'expr' [18:02:01.962] - Field: 'uuid' [18:02:01.962] - Field: 'seed' [18:02:01.962] - Field: 'version' [18:02:01.962] - Field: 'result' [18:02:01.962] - Field: 'asynchronous' [18:02:01.963] - Field: 'calls' [18:02:01.963] - Field: 'globals' [18:02:01.963] - Field: 'stdout' [18:02:01.963] - Field: 'earlySignal' [18:02:01.963] - Field: 'lazy' [18:02:01.963] - Field: 'state' [18:02:01.964] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:01.964] - Launch lazy future ... [18:02:01.964] Packages needed by the future expression (n = 0): [18:02:01.964] Packages needed by future strategies (n = 0): [18:02:01.965] { [18:02:01.965] { [18:02:01.965] { [18:02:01.965] ...future.startTime <- base::Sys.time() [18:02:01.965] { [18:02:01.965] { [18:02:01.965] { [18:02:01.965] { [18:02:01.965] base::local({ [18:02:01.965] has_future <- base::requireNamespace("future", [18:02:01.965] quietly = TRUE) [18:02:01.965] if (has_future) { [18:02:01.965] ns <- base::getNamespace("future") [18:02:01.965] version <- ns[[".package"]][["version"]] [18:02:01.965] if (is.null(version)) [18:02:01.965] version <- utils::packageVersion("future") [18:02:01.965] } [18:02:01.965] else { [18:02:01.965] version <- NULL [18:02:01.965] } [18:02:01.965] if (!has_future || version < "1.8.0") { [18:02:01.965] info <- base::c(r_version = base::gsub("R version ", [18:02:01.965] "", base::R.version$version.string), [18:02:01.965] platform = base::sprintf("%s (%s-bit)", [18:02:01.965] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:01.965] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:01.965] "release", "version")], collapse = " "), [18:02:01.965] hostname = base::Sys.info()[["nodename"]]) [18:02:01.965] info <- base::sprintf("%s: %s", base::names(info), [18:02:01.965] info) [18:02:01.965] info <- base::paste(info, collapse = "; ") [18:02:01.965] if (!has_future) { [18:02:01.965] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:01.965] info) [18:02:01.965] } [18:02:01.965] else { [18:02:01.965] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:01.965] info, version) [18:02:01.965] } [18:02:01.965] base::stop(msg) [18:02:01.965] } [18:02:01.965] }) [18:02:01.965] } [18:02:01.965] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:01.965] base::options(mc.cores = 1L) [18:02:01.965] } [18:02:01.965] options(future.plan = NULL) [18:02:01.965] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.965] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:01.965] } [18:02:01.965] ...future.workdir <- getwd() [18:02:01.965] } [18:02:01.965] ...future.oldOptions <- base::as.list(base::.Options) [18:02:01.965] ...future.oldEnvVars <- base::Sys.getenv() [18:02:01.965] } [18:02:01.965] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:01.965] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:01.965] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:01.965] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:01.965] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:01.965] future.stdout.windows.reencode = NULL, width = 80L) [18:02:01.965] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:01.965] base::names(...future.oldOptions)) [18:02:01.965] } [18:02:01.965] if (FALSE) { [18:02:01.965] } [18:02:01.965] else { [18:02:01.965] if (TRUE) { [18:02:01.965] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:01.965] open = "w") [18:02:01.965] } [18:02:01.965] else { [18:02:01.965] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:01.965] windows = "NUL", "/dev/null"), open = "w") [18:02:01.965] } [18:02:01.965] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:01.965] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:01.965] base::sink(type = "output", split = FALSE) [18:02:01.965] base::close(...future.stdout) [18:02:01.965] }, add = TRUE) [18:02:01.965] } [18:02:01.965] ...future.frame <- base::sys.nframe() [18:02:01.965] ...future.conditions <- base::list() [18:02:01.965] ...future.rng <- base::globalenv()$.Random.seed [18:02:01.965] if (FALSE) { [18:02:01.965] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:01.965] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:01.965] } [18:02:01.965] ...future.result <- base::tryCatch({ [18:02:01.965] base::withCallingHandlers({ [18:02:01.965] ...future.value <- base::withVisible(base::local({ [18:02:01.965] ...future.makeSendCondition <- local({ [18:02:01.965] sendCondition <- NULL [18:02:01.965] function(frame = 1L) { [18:02:01.965] if (is.function(sendCondition)) [18:02:01.965] return(sendCondition) [18:02:01.965] ns <- getNamespace("parallel") [18:02:01.965] if (exists("sendData", mode = "function", [18:02:01.965] envir = ns)) { [18:02:01.965] parallel_sendData <- get("sendData", mode = "function", [18:02:01.965] envir = ns) [18:02:01.965] envir <- sys.frame(frame) [18:02:01.965] master <- NULL [18:02:01.965] while (!identical(envir, .GlobalEnv) && [18:02:01.965] !identical(envir, emptyenv())) { [18:02:01.965] if (exists("master", mode = "list", envir = envir, [18:02:01.965] inherits = FALSE)) { [18:02:01.965] master <- get("master", mode = "list", [18:02:01.965] envir = envir, inherits = FALSE) [18:02:01.965] if (inherits(master, c("SOCKnode", [18:02:01.965] "SOCK0node"))) { [18:02:01.965] sendCondition <<- function(cond) { [18:02:01.965] data <- list(type = "VALUE", value = cond, [18:02:01.965] success = TRUE) [18:02:01.965] parallel_sendData(master, data) [18:02:01.965] } [18:02:01.965] return(sendCondition) [18:02:01.965] } [18:02:01.965] } [18:02:01.965] frame <- frame + 1L [18:02:01.965] envir <- sys.frame(frame) [18:02:01.965] } [18:02:01.965] } [18:02:01.965] sendCondition <<- function(cond) NULL [18:02:01.965] } [18:02:01.965] }) [18:02:01.965] withCallingHandlers({ [18:02:01.965] 1 [18:02:01.965] }, immediateCondition = function(cond) { [18:02:01.965] sendCondition <- ...future.makeSendCondition() [18:02:01.965] sendCondition(cond) [18:02:01.965] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.965] { [18:02:01.965] inherits <- base::inherits [18:02:01.965] invokeRestart <- base::invokeRestart [18:02:01.965] is.null <- base::is.null [18:02:01.965] muffled <- FALSE [18:02:01.965] if (inherits(cond, "message")) { [18:02:01.965] muffled <- grepl(pattern, "muffleMessage") [18:02:01.965] if (muffled) [18:02:01.965] invokeRestart("muffleMessage") [18:02:01.965] } [18:02:01.965] else if (inherits(cond, "warning")) { [18:02:01.965] muffled <- grepl(pattern, "muffleWarning") [18:02:01.965] if (muffled) [18:02:01.965] invokeRestart("muffleWarning") [18:02:01.965] } [18:02:01.965] else if (inherits(cond, "condition")) { [18:02:01.965] if (!is.null(pattern)) { [18:02:01.965] computeRestarts <- base::computeRestarts [18:02:01.965] grepl <- base::grepl [18:02:01.965] restarts <- computeRestarts(cond) [18:02:01.965] for (restart in restarts) { [18:02:01.965] name <- restart$name [18:02:01.965] if (is.null(name)) [18:02:01.965] next [18:02:01.965] if (!grepl(pattern, name)) [18:02:01.965] next [18:02:01.965] invokeRestart(restart) [18:02:01.965] muffled <- TRUE [18:02:01.965] break [18:02:01.965] } [18:02:01.965] } [18:02:01.965] } [18:02:01.965] invisible(muffled) [18:02:01.965] } [18:02:01.965] muffleCondition(cond) [18:02:01.965] }) [18:02:01.965] })) [18:02:01.965] future::FutureResult(value = ...future.value$value, [18:02:01.965] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.965] ...future.rng), globalenv = if (FALSE) [18:02:01.965] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:01.965] ...future.globalenv.names)) [18:02:01.965] else NULL, started = ...future.startTime, version = "1.8") [18:02:01.965] }, condition = base::local({ [18:02:01.965] c <- base::c [18:02:01.965] inherits <- base::inherits [18:02:01.965] invokeRestart <- base::invokeRestart [18:02:01.965] length <- base::length [18:02:01.965] list <- base::list [18:02:01.965] seq.int <- base::seq.int [18:02:01.965] signalCondition <- base::signalCondition [18:02:01.965] sys.calls <- base::sys.calls [18:02:01.965] `[[` <- base::`[[` [18:02:01.965] `+` <- base::`+` [18:02:01.965] `<<-` <- base::`<<-` [18:02:01.965] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:01.965] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:01.965] 3L)] [18:02:01.965] } [18:02:01.965] function(cond) { [18:02:01.965] is_error <- inherits(cond, "error") [18:02:01.965] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:01.965] NULL) [18:02:01.965] if (is_error) { [18:02:01.965] sessionInformation <- function() { [18:02:01.965] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:01.965] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:01.965] search = base::search(), system = base::Sys.info()) [18:02:01.965] } [18:02:01.965] ...future.conditions[[length(...future.conditions) + [18:02:01.965] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:01.965] cond$call), session = sessionInformation(), [18:02:01.965] timestamp = base::Sys.time(), signaled = 0L) [18:02:01.965] signalCondition(cond) [18:02:01.965] } [18:02:01.965] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:01.965] "immediateCondition"))) { [18:02:01.965] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:01.965] ...future.conditions[[length(...future.conditions) + [18:02:01.965] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:01.965] if (TRUE && !signal) { [18:02:01.965] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.965] { [18:02:01.965] inherits <- base::inherits [18:02:01.965] invokeRestart <- base::invokeRestart [18:02:01.965] is.null <- base::is.null [18:02:01.965] muffled <- FALSE [18:02:01.965] if (inherits(cond, "message")) { [18:02:01.965] muffled <- grepl(pattern, "muffleMessage") [18:02:01.965] if (muffled) [18:02:01.965] invokeRestart("muffleMessage") [18:02:01.965] } [18:02:01.965] else if (inherits(cond, "warning")) { [18:02:01.965] muffled <- grepl(pattern, "muffleWarning") [18:02:01.965] if (muffled) [18:02:01.965] invokeRestart("muffleWarning") [18:02:01.965] } [18:02:01.965] else if (inherits(cond, "condition")) { [18:02:01.965] if (!is.null(pattern)) { [18:02:01.965] computeRestarts <- base::computeRestarts [18:02:01.965] grepl <- base::grepl [18:02:01.965] restarts <- computeRestarts(cond) [18:02:01.965] for (restart in restarts) { [18:02:01.965] name <- restart$name [18:02:01.965] if (is.null(name)) [18:02:01.965] next [18:02:01.965] if (!grepl(pattern, name)) [18:02:01.965] next [18:02:01.965] invokeRestart(restart) [18:02:01.965] muffled <- TRUE [18:02:01.965] break [18:02:01.965] } [18:02:01.965] } [18:02:01.965] } [18:02:01.965] invisible(muffled) [18:02:01.965] } [18:02:01.965] muffleCondition(cond, pattern = "^muffle") [18:02:01.965] } [18:02:01.965] } [18:02:01.965] else { [18:02:01.965] if (TRUE) { [18:02:01.965] muffleCondition <- function (cond, pattern = "^muffle") [18:02:01.965] { [18:02:01.965] inherits <- base::inherits [18:02:01.965] invokeRestart <- base::invokeRestart [18:02:01.965] is.null <- base::is.null [18:02:01.965] muffled <- FALSE [18:02:01.965] if (inherits(cond, "message")) { [18:02:01.965] muffled <- grepl(pattern, "muffleMessage") [18:02:01.965] if (muffled) [18:02:01.965] invokeRestart("muffleMessage") [18:02:01.965] } [18:02:01.965] else if (inherits(cond, "warning")) { [18:02:01.965] muffled <- grepl(pattern, "muffleWarning") [18:02:01.965] if (muffled) [18:02:01.965] invokeRestart("muffleWarning") [18:02:01.965] } [18:02:01.965] else if (inherits(cond, "condition")) { [18:02:01.965] if (!is.null(pattern)) { [18:02:01.965] computeRestarts <- base::computeRestarts [18:02:01.965] grepl <- base::grepl [18:02:01.965] restarts <- computeRestarts(cond) [18:02:01.965] for (restart in restarts) { [18:02:01.965] name <- restart$name [18:02:01.965] if (is.null(name)) [18:02:01.965] next [18:02:01.965] if (!grepl(pattern, name)) [18:02:01.965] next [18:02:01.965] invokeRestart(restart) [18:02:01.965] muffled <- TRUE [18:02:01.965] break [18:02:01.965] } [18:02:01.965] } [18:02:01.965] } [18:02:01.965] invisible(muffled) [18:02:01.965] } [18:02:01.965] muffleCondition(cond, pattern = "^muffle") [18:02:01.965] } [18:02:01.965] } [18:02:01.965] } [18:02:01.965] })) [18:02:01.965] }, error = function(ex) { [18:02:01.965] base::structure(base::list(value = NULL, visible = NULL, [18:02:01.965] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:01.965] ...future.rng), started = ...future.startTime, [18:02:01.965] finished = Sys.time(), session_uuid = NA_character_, [18:02:01.965] version = "1.8"), class = "FutureResult") [18:02:01.965] }, finally = { [18:02:01.965] if (!identical(...future.workdir, getwd())) [18:02:01.965] setwd(...future.workdir) [18:02:01.965] { [18:02:01.965] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:01.965] ...future.oldOptions$nwarnings <- NULL [18:02:01.965] } [18:02:01.965] base::options(...future.oldOptions) [18:02:01.965] if (.Platform$OS.type == "windows") { [18:02:01.965] old_names <- names(...future.oldEnvVars) [18:02:01.965] envs <- base::Sys.getenv() [18:02:01.965] names <- names(envs) [18:02:01.965] common <- intersect(names, old_names) [18:02:01.965] added <- setdiff(names, old_names) [18:02:01.965] removed <- setdiff(old_names, names) [18:02:01.965] changed <- common[...future.oldEnvVars[common] != [18:02:01.965] envs[common]] [18:02:01.965] NAMES <- toupper(changed) [18:02:01.965] args <- list() [18:02:01.965] for (kk in seq_along(NAMES)) { [18:02:01.965] name <- changed[[kk]] [18:02:01.965] NAME <- NAMES[[kk]] [18:02:01.965] if (name != NAME && is.element(NAME, old_names)) [18:02:01.965] next [18:02:01.965] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.965] } [18:02:01.965] NAMES <- toupper(added) [18:02:01.965] for (kk in seq_along(NAMES)) { [18:02:01.965] name <- added[[kk]] [18:02:01.965] NAME <- NAMES[[kk]] [18:02:01.965] if (name != NAME && is.element(NAME, old_names)) [18:02:01.965] next [18:02:01.965] args[[name]] <- "" [18:02:01.965] } [18:02:01.965] NAMES <- toupper(removed) [18:02:01.965] for (kk in seq_along(NAMES)) { [18:02:01.965] name <- removed[[kk]] [18:02:01.965] NAME <- NAMES[[kk]] [18:02:01.965] if (name != NAME && is.element(NAME, old_names)) [18:02:01.965] next [18:02:01.965] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:01.965] } [18:02:01.965] if (length(args) > 0) [18:02:01.965] base::do.call(base::Sys.setenv, args = args) [18:02:01.965] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:01.965] } [18:02:01.965] else { [18:02:01.965] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:01.965] } [18:02:01.965] { [18:02:01.965] if (base::length(...future.futureOptionsAdded) > [18:02:01.965] 0L) { [18:02:01.965] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:01.965] base::names(opts) <- ...future.futureOptionsAdded [18:02:01.965] base::options(opts) [18:02:01.965] } [18:02:01.965] { [18:02:01.965] { [18:02:01.965] base::options(mc.cores = ...future.mc.cores.old) [18:02:01.965] NULL [18:02:01.965] } [18:02:01.965] options(future.plan = NULL) [18:02:01.965] if (is.na(NA_character_)) [18:02:01.965] Sys.unsetenv("R_FUTURE_PLAN") [18:02:01.965] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:01.965] future::plan(list(function (..., workers = availableCores(), [18:02:01.965] lazy = FALSE, rscript_libs = .libPaths(), [18:02:01.965] envir = parent.frame()) [18:02:01.965] { [18:02:01.965] if (is.function(workers)) [18:02:01.965] workers <- workers() [18:02:01.965] workers <- structure(as.integer(workers), [18:02:01.965] class = class(workers)) [18:02:01.965] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:01.965] workers >= 1) [18:02:01.965] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:01.965] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:01.965] } [18:02:01.965] future <- MultisessionFuture(..., workers = workers, [18:02:01.965] lazy = lazy, rscript_libs = rscript_libs, [18:02:01.965] envir = envir) [18:02:01.965] if (!future$lazy) [18:02:01.965] future <- run(future) [18:02:01.965] invisible(future) [18:02:01.965] }), .cleanup = FALSE, .init = FALSE) [18:02:01.965] } [18:02:01.965] } [18:02:01.965] } [18:02:01.965] }) [18:02:01.965] if (TRUE) { [18:02:01.965] base::sink(type = "output", split = FALSE) [18:02:01.965] if (TRUE) { [18:02:01.965] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:01.965] } [18:02:01.965] else { [18:02:01.965] ...future.result["stdout"] <- base::list(NULL) [18:02:01.965] } [18:02:01.965] base::close(...future.stdout) [18:02:01.965] ...future.stdout <- NULL [18:02:01.965] } [18:02:01.965] ...future.result$conditions <- ...future.conditions [18:02:01.965] ...future.result$finished <- base::Sys.time() [18:02:01.965] ...future.result [18:02:01.965] } [18:02:01.970] MultisessionFuture started [18:02:01.971] - Launch lazy future ... done [18:02:01.971] run() for 'MultisessionFuture' ... done [18:02:01.986] receiveMessageFromWorker() for ClusterFuture ... [18:02:01.986] - Validating connection of MultisessionFuture [18:02:01.987] - received message: FutureResult [18:02:01.987] - Received FutureResult [18:02:01.987] - Erased future from FutureRegistry [18:02:01.987] result() for ClusterFuture ... [18:02:01.987] - result already collected: FutureResult [18:02:01.987] result() for ClusterFuture ... done [18:02:01.988] receiveMessageFromWorker() for ClusterFuture ... done [18:02:01.988] Future #1 [18:02:01.988] result() for ClusterFuture ... [18:02:01.988] - result already collected: FutureResult [18:02:01.988] result() for ClusterFuture ... done [18:02:01.988] result() for ClusterFuture ... [18:02:01.989] - result already collected: FutureResult [18:02:01.989] result() for ClusterFuture ... done [18:02:01.989] A MultisessionFuture was resolved [18:02:01.989] length: 0 (resolved future 1) [18:02:01.989] resolve() on list ... DONE [18:02:01.989] - globals: [1] 'a' [18:02:01.990] Resolving futures part of globals (recursively) ... DONE [18:02:01.991] The total size of the 1 globals is 10.22 KiB (10464 bytes) [18:02:01.991] 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') [18:02:01.991] - globals: [1] 'a' [18:02:01.992] - packages: [1] 'future' [18:02:01.992] getGlobalsAndPackages() ... DONE [18:02:01.992] run() for 'Future' ... [18:02:01.992] - state: 'created' [18:02:01.993] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.006] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.006] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.006] - Field: 'node' [18:02:02.007] - Field: 'label' [18:02:02.007] - Field: 'local' [18:02:02.007] - Field: 'owner' [18:02:02.007] - Field: 'envir' [18:02:02.007] - Field: 'workers' [18:02:02.008] - Field: 'packages' [18:02:02.008] - Field: 'gc' [18:02:02.008] - Field: 'conditions' [18:02:02.008] - Field: 'persistent' [18:02:02.008] - Field: 'expr' [18:02:02.008] - Field: 'uuid' [18:02:02.009] - Field: 'seed' [18:02:02.009] - Field: 'version' [18:02:02.009] - Field: 'result' [18:02:02.009] - Field: 'asynchronous' [18:02:02.009] - Field: 'calls' [18:02:02.010] - Field: 'globals' [18:02:02.010] - Field: 'stdout' [18:02:02.010] - Field: 'earlySignal' [18:02:02.010] - Field: 'lazy' [18:02:02.010] - Field: 'state' [18:02:02.010] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.011] - Launch lazy future ... [18:02:02.011] Packages needed by the future expression (n = 1): 'future' [18:02:02.011] Packages needed by future strategies (n = 0): [18:02:02.012] { [18:02:02.012] { [18:02:02.012] { [18:02:02.012] ...future.startTime <- base::Sys.time() [18:02:02.012] { [18:02:02.012] { [18:02:02.012] { [18:02:02.012] { [18:02:02.012] { [18:02:02.012] base::local({ [18:02:02.012] has_future <- base::requireNamespace("future", [18:02:02.012] quietly = TRUE) [18:02:02.012] if (has_future) { [18:02:02.012] ns <- base::getNamespace("future") [18:02:02.012] version <- ns[[".package"]][["version"]] [18:02:02.012] if (is.null(version)) [18:02:02.012] version <- utils::packageVersion("future") [18:02:02.012] } [18:02:02.012] else { [18:02:02.012] version <- NULL [18:02:02.012] } [18:02:02.012] if (!has_future || version < "1.8.0") { [18:02:02.012] info <- base::c(r_version = base::gsub("R version ", [18:02:02.012] "", base::R.version$version.string), [18:02:02.012] platform = base::sprintf("%s (%s-bit)", [18:02:02.012] base::R.version$platform, 8 * [18:02:02.012] base::.Machine$sizeof.pointer), [18:02:02.012] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.012] "release", "version")], collapse = " "), [18:02:02.012] hostname = base::Sys.info()[["nodename"]]) [18:02:02.012] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.012] info) [18:02:02.012] info <- base::paste(info, collapse = "; ") [18:02:02.012] if (!has_future) { [18:02:02.012] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.012] info) [18:02:02.012] } [18:02:02.012] else { [18:02:02.012] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.012] info, version) [18:02:02.012] } [18:02:02.012] base::stop(msg) [18:02:02.012] } [18:02:02.012] }) [18:02:02.012] } [18:02:02.012] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.012] base::options(mc.cores = 1L) [18:02:02.012] } [18:02:02.012] base::local({ [18:02:02.012] for (pkg in "future") { [18:02:02.012] base::loadNamespace(pkg) [18:02:02.012] base::library(pkg, character.only = TRUE) [18:02:02.012] } [18:02:02.012] }) [18:02:02.012] } [18:02:02.012] options(future.plan = NULL) [18:02:02.012] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.012] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.012] } [18:02:02.012] ...future.workdir <- getwd() [18:02:02.012] } [18:02:02.012] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.012] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.012] } [18:02:02.012] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.012] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:02.012] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.012] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.012] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.012] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.012] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.012] base::names(...future.oldOptions)) [18:02:02.012] } [18:02:02.012] if (FALSE) { [18:02:02.012] } [18:02:02.012] else { [18:02:02.012] if (TRUE) { [18:02:02.012] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.012] open = "w") [18:02:02.012] } [18:02:02.012] else { [18:02:02.012] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.012] windows = "NUL", "/dev/null"), open = "w") [18:02:02.012] } [18:02:02.012] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.012] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.012] base::sink(type = "output", split = FALSE) [18:02:02.012] base::close(...future.stdout) [18:02:02.012] }, add = TRUE) [18:02:02.012] } [18:02:02.012] ...future.frame <- base::sys.nframe() [18:02:02.012] ...future.conditions <- base::list() [18:02:02.012] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.012] if (FALSE) { [18:02:02.012] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.012] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.012] } [18:02:02.012] ...future.result <- base::tryCatch({ [18:02:02.012] base::withCallingHandlers({ [18:02:02.012] ...future.value <- base::withVisible(base::local({ [18:02:02.012] ...future.makeSendCondition <- local({ [18:02:02.012] sendCondition <- NULL [18:02:02.012] function(frame = 1L) { [18:02:02.012] if (is.function(sendCondition)) [18:02:02.012] return(sendCondition) [18:02:02.012] ns <- getNamespace("parallel") [18:02:02.012] if (exists("sendData", mode = "function", [18:02:02.012] envir = ns)) { [18:02:02.012] parallel_sendData <- get("sendData", mode = "function", [18:02:02.012] envir = ns) [18:02:02.012] envir <- sys.frame(frame) [18:02:02.012] master <- NULL [18:02:02.012] while (!identical(envir, .GlobalEnv) && [18:02:02.012] !identical(envir, emptyenv())) { [18:02:02.012] if (exists("master", mode = "list", envir = envir, [18:02:02.012] inherits = FALSE)) { [18:02:02.012] master <- get("master", mode = "list", [18:02:02.012] envir = envir, inherits = FALSE) [18:02:02.012] if (inherits(master, c("SOCKnode", [18:02:02.012] "SOCK0node"))) { [18:02:02.012] sendCondition <<- function(cond) { [18:02:02.012] data <- list(type = "VALUE", value = cond, [18:02:02.012] success = TRUE) [18:02:02.012] parallel_sendData(master, data) [18:02:02.012] } [18:02:02.012] return(sendCondition) [18:02:02.012] } [18:02:02.012] } [18:02:02.012] frame <- frame + 1L [18:02:02.012] envir <- sys.frame(frame) [18:02:02.012] } [18:02:02.012] } [18:02:02.012] sendCondition <<- function(cond) NULL [18:02:02.012] } [18:02:02.012] }) [18:02:02.012] withCallingHandlers({ [18:02:02.012] value(a) + 1 [18:02:02.012] }, immediateCondition = function(cond) { [18:02:02.012] sendCondition <- ...future.makeSendCondition() [18:02:02.012] sendCondition(cond) [18:02:02.012] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.012] { [18:02:02.012] inherits <- base::inherits [18:02:02.012] invokeRestart <- base::invokeRestart [18:02:02.012] is.null <- base::is.null [18:02:02.012] muffled <- FALSE [18:02:02.012] if (inherits(cond, "message")) { [18:02:02.012] muffled <- grepl(pattern, "muffleMessage") [18:02:02.012] if (muffled) [18:02:02.012] invokeRestart("muffleMessage") [18:02:02.012] } [18:02:02.012] else if (inherits(cond, "warning")) { [18:02:02.012] muffled <- grepl(pattern, "muffleWarning") [18:02:02.012] if (muffled) [18:02:02.012] invokeRestart("muffleWarning") [18:02:02.012] } [18:02:02.012] else if (inherits(cond, "condition")) { [18:02:02.012] if (!is.null(pattern)) { [18:02:02.012] computeRestarts <- base::computeRestarts [18:02:02.012] grepl <- base::grepl [18:02:02.012] restarts <- computeRestarts(cond) [18:02:02.012] for (restart in restarts) { [18:02:02.012] name <- restart$name [18:02:02.012] if (is.null(name)) [18:02:02.012] next [18:02:02.012] if (!grepl(pattern, name)) [18:02:02.012] next [18:02:02.012] invokeRestart(restart) [18:02:02.012] muffled <- TRUE [18:02:02.012] break [18:02:02.012] } [18:02:02.012] } [18:02:02.012] } [18:02:02.012] invisible(muffled) [18:02:02.012] } [18:02:02.012] muffleCondition(cond) [18:02:02.012] }) [18:02:02.012] })) [18:02:02.012] future::FutureResult(value = ...future.value$value, [18:02:02.012] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.012] ...future.rng), globalenv = if (FALSE) [18:02:02.012] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.012] ...future.globalenv.names)) [18:02:02.012] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.012] }, condition = base::local({ [18:02:02.012] c <- base::c [18:02:02.012] inherits <- base::inherits [18:02:02.012] invokeRestart <- base::invokeRestart [18:02:02.012] length <- base::length [18:02:02.012] list <- base::list [18:02:02.012] seq.int <- base::seq.int [18:02:02.012] signalCondition <- base::signalCondition [18:02:02.012] sys.calls <- base::sys.calls [18:02:02.012] `[[` <- base::`[[` [18:02:02.012] `+` <- base::`+` [18:02:02.012] `<<-` <- base::`<<-` [18:02:02.012] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.012] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.012] 3L)] [18:02:02.012] } [18:02:02.012] function(cond) { [18:02:02.012] is_error <- inherits(cond, "error") [18:02:02.012] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.012] NULL) [18:02:02.012] if (is_error) { [18:02:02.012] sessionInformation <- function() { [18:02:02.012] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.012] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.012] search = base::search(), system = base::Sys.info()) [18:02:02.012] } [18:02:02.012] ...future.conditions[[length(...future.conditions) + [18:02:02.012] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.012] cond$call), session = sessionInformation(), [18:02:02.012] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.012] signalCondition(cond) [18:02:02.012] } [18:02:02.012] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.012] "immediateCondition"))) { [18:02:02.012] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.012] ...future.conditions[[length(...future.conditions) + [18:02:02.012] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.012] if (TRUE && !signal) { [18:02:02.012] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.012] { [18:02:02.012] inherits <- base::inherits [18:02:02.012] invokeRestart <- base::invokeRestart [18:02:02.012] is.null <- base::is.null [18:02:02.012] muffled <- FALSE [18:02:02.012] if (inherits(cond, "message")) { [18:02:02.012] muffled <- grepl(pattern, "muffleMessage") [18:02:02.012] if (muffled) [18:02:02.012] invokeRestart("muffleMessage") [18:02:02.012] } [18:02:02.012] else if (inherits(cond, "warning")) { [18:02:02.012] muffled <- grepl(pattern, "muffleWarning") [18:02:02.012] if (muffled) [18:02:02.012] invokeRestart("muffleWarning") [18:02:02.012] } [18:02:02.012] else if (inherits(cond, "condition")) { [18:02:02.012] if (!is.null(pattern)) { [18:02:02.012] computeRestarts <- base::computeRestarts [18:02:02.012] grepl <- base::grepl [18:02:02.012] restarts <- computeRestarts(cond) [18:02:02.012] for (restart in restarts) { [18:02:02.012] name <- restart$name [18:02:02.012] if (is.null(name)) [18:02:02.012] next [18:02:02.012] if (!grepl(pattern, name)) [18:02:02.012] next [18:02:02.012] invokeRestart(restart) [18:02:02.012] muffled <- TRUE [18:02:02.012] break [18:02:02.012] } [18:02:02.012] } [18:02:02.012] } [18:02:02.012] invisible(muffled) [18:02:02.012] } [18:02:02.012] muffleCondition(cond, pattern = "^muffle") [18:02:02.012] } [18:02:02.012] } [18:02:02.012] else { [18:02:02.012] if (TRUE) { [18:02:02.012] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.012] { [18:02:02.012] inherits <- base::inherits [18:02:02.012] invokeRestart <- base::invokeRestart [18:02:02.012] is.null <- base::is.null [18:02:02.012] muffled <- FALSE [18:02:02.012] if (inherits(cond, "message")) { [18:02:02.012] muffled <- grepl(pattern, "muffleMessage") [18:02:02.012] if (muffled) [18:02:02.012] invokeRestart("muffleMessage") [18:02:02.012] } [18:02:02.012] else if (inherits(cond, "warning")) { [18:02:02.012] muffled <- grepl(pattern, "muffleWarning") [18:02:02.012] if (muffled) [18:02:02.012] invokeRestart("muffleWarning") [18:02:02.012] } [18:02:02.012] else if (inherits(cond, "condition")) { [18:02:02.012] if (!is.null(pattern)) { [18:02:02.012] computeRestarts <- base::computeRestarts [18:02:02.012] grepl <- base::grepl [18:02:02.012] restarts <- computeRestarts(cond) [18:02:02.012] for (restart in restarts) { [18:02:02.012] name <- restart$name [18:02:02.012] if (is.null(name)) [18:02:02.012] next [18:02:02.012] if (!grepl(pattern, name)) [18:02:02.012] next [18:02:02.012] invokeRestart(restart) [18:02:02.012] muffled <- TRUE [18:02:02.012] break [18:02:02.012] } [18:02:02.012] } [18:02:02.012] } [18:02:02.012] invisible(muffled) [18:02:02.012] } [18:02:02.012] muffleCondition(cond, pattern = "^muffle") [18:02:02.012] } [18:02:02.012] } [18:02:02.012] } [18:02:02.012] })) [18:02:02.012] }, error = function(ex) { [18:02:02.012] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.012] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.012] ...future.rng), started = ...future.startTime, [18:02:02.012] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.012] version = "1.8"), class = "FutureResult") [18:02:02.012] }, finally = { [18:02:02.012] if (!identical(...future.workdir, getwd())) [18:02:02.012] setwd(...future.workdir) [18:02:02.012] { [18:02:02.012] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.012] ...future.oldOptions$nwarnings <- NULL [18:02:02.012] } [18:02:02.012] base::options(...future.oldOptions) [18:02:02.012] if (.Platform$OS.type == "windows") { [18:02:02.012] old_names <- names(...future.oldEnvVars) [18:02:02.012] envs <- base::Sys.getenv() [18:02:02.012] names <- names(envs) [18:02:02.012] common <- intersect(names, old_names) [18:02:02.012] added <- setdiff(names, old_names) [18:02:02.012] removed <- setdiff(old_names, names) [18:02:02.012] changed <- common[...future.oldEnvVars[common] != [18:02:02.012] envs[common]] [18:02:02.012] NAMES <- toupper(changed) [18:02:02.012] args <- list() [18:02:02.012] for (kk in seq_along(NAMES)) { [18:02:02.012] name <- changed[[kk]] [18:02:02.012] NAME <- NAMES[[kk]] [18:02:02.012] if (name != NAME && is.element(NAME, old_names)) [18:02:02.012] next [18:02:02.012] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.012] } [18:02:02.012] NAMES <- toupper(added) [18:02:02.012] for (kk in seq_along(NAMES)) { [18:02:02.012] name <- added[[kk]] [18:02:02.012] NAME <- NAMES[[kk]] [18:02:02.012] if (name != NAME && is.element(NAME, old_names)) [18:02:02.012] next [18:02:02.012] args[[name]] <- "" [18:02:02.012] } [18:02:02.012] NAMES <- toupper(removed) [18:02:02.012] for (kk in seq_along(NAMES)) { [18:02:02.012] name <- removed[[kk]] [18:02:02.012] NAME <- NAMES[[kk]] [18:02:02.012] if (name != NAME && is.element(NAME, old_names)) [18:02:02.012] next [18:02:02.012] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.012] } [18:02:02.012] if (length(args) > 0) [18:02:02.012] base::do.call(base::Sys.setenv, args = args) [18:02:02.012] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.012] } [18:02:02.012] else { [18:02:02.012] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.012] } [18:02:02.012] { [18:02:02.012] if (base::length(...future.futureOptionsAdded) > [18:02:02.012] 0L) { [18:02:02.012] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.012] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.012] base::options(opts) [18:02:02.012] } [18:02:02.012] { [18:02:02.012] { [18:02:02.012] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.012] NULL [18:02:02.012] } [18:02:02.012] options(future.plan = NULL) [18:02:02.012] if (is.na(NA_character_)) [18:02:02.012] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.012] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.012] future::plan(list(function (..., workers = availableCores(), [18:02:02.012] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.012] envir = parent.frame()) [18:02:02.012] { [18:02:02.012] if (is.function(workers)) [18:02:02.012] workers <- workers() [18:02:02.012] workers <- structure(as.integer(workers), [18:02:02.012] class = class(workers)) [18:02:02.012] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.012] workers >= 1) [18:02:02.012] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.012] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.012] } [18:02:02.012] future <- MultisessionFuture(..., workers = workers, [18:02:02.012] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.012] envir = envir) [18:02:02.012] if (!future$lazy) [18:02:02.012] future <- run(future) [18:02:02.012] invisible(future) [18:02:02.012] }), .cleanup = FALSE, .init = FALSE) [18:02:02.012] } [18:02:02.012] } [18:02:02.012] } [18:02:02.012] }) [18:02:02.012] if (TRUE) { [18:02:02.012] base::sink(type = "output", split = FALSE) [18:02:02.012] if (TRUE) { [18:02:02.012] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.012] } [18:02:02.012] else { [18:02:02.012] ...future.result["stdout"] <- base::list(NULL) [18:02:02.012] } [18:02:02.012] base::close(...future.stdout) [18:02:02.012] ...future.stdout <- NULL [18:02:02.012] } [18:02:02.012] ...future.result$conditions <- ...future.conditions [18:02:02.012] ...future.result$finished <- base::Sys.time() [18:02:02.012] ...future.result [18:02:02.012] } [18:02:02.017] Exporting 1 global objects (10.22 KiB) to cluster node #2 ... [18:02:02.018] Exporting 'a' (10.22 KiB) to cluster node #2 ... [18:02:02.030] Exporting 'a' (10.22 KiB) to cluster node #2 ... DONE [18:02:02.030] Exporting 1 global objects (10.22 KiB) to cluster node #2 ... DONE [18:02:02.030] MultisessionFuture started [18:02:02.031] - Launch lazy future ... done [18:02:02.031] run() for 'MultisessionFuture' ... done [18:02:02.031] result() for ClusterFuture ... [18:02:02.031] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.031] - Validating connection of MultisessionFuture [18:02:02.048] - received message: FutureResult [18:02:02.048] - Received FutureResult [18:02:02.048] - Erased future from FutureRegistry [18:02:02.048] result() for ClusterFuture ... [18:02:02.048] - result already collected: FutureResult [18:02:02.049] result() for ClusterFuture ... done [18:02:02.049] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.049] result() for ClusterFuture ... done [18:02:02.049] result() for ClusterFuture ... [18:02:02.049] - result already collected: FutureResult [18:02:02.049] result() for ClusterFuture ... done value(b) = 2 [18:02:02.050] result() for ClusterFuture ... [18:02:02.050] - result already collected: FutureResult [18:02:02.050] result() for ClusterFuture ... done [18:02:02.050] result() for ClusterFuture ... [18:02:02.050] - result already collected: FutureResult [18:02:02.050] result() for ClusterFuture ... done Warning: 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' [18:02:02.051] getGlobalsAndPackages() ... Warning: 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' [18:02:02.051] Searching for globals... Warning: 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' [18:02:02.052] - globals found: [2] '{', 'pkg' [18:02:02.052] Searching for globals ... DONE [18:02:02.053] Resolving globals: TRUE [18:02:02.053] Resolving any globals that are futures ... [18:02:02.053] - globals: [2] '{', 'pkg' [18:02:02.053] Resolving any globals that are futures ... DONE [18:02:02.053] Resolving futures part of globals (recursively) ... [18:02:02.054] resolve() on list ... [18:02:02.054] recursive: 99 [18:02:02.054] length: 1 [18:02:02.054] elements: 'pkg' [18:02:02.054] length: 0 (resolved future 1) [18:02:02.055] resolve() on list ... DONE [18:02:02.055] - globals: [1] 'pkg' [18:02:02.055] Resolving futures part of globals (recursively) ... DONE [18:02:02.055] The total size of the 1 globals is 112 bytes (112 bytes) [18:02:02.056] 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') [18:02:02.056] - globals: [1] 'pkg' [18:02:02.056] [18:02:02.056] getGlobalsAndPackages() ... DONE [18:02:02.056] Packages needed by the future expression (n = 0): [18:02:02.057] Packages needed by future strategies (n = 0): [18:02:02.057] { [18:02:02.057] { [18:02:02.057] { [18:02:02.057] ...future.startTime <- base::Sys.time() [18:02:02.057] { [18:02:02.057] { [18:02:02.057] { [18:02:02.057] base::local({ [18:02:02.057] has_future <- base::requireNamespace("future", [18:02:02.057] quietly = TRUE) [18:02:02.057] if (has_future) { [18:02:02.057] ns <- base::getNamespace("future") [18:02:02.057] version <- ns[[".package"]][["version"]] [18:02:02.057] if (is.null(version)) [18:02:02.057] version <- utils::packageVersion("future") [18:02:02.057] } [18:02:02.057] else { [18:02:02.057] version <- NULL [18:02:02.057] } [18:02:02.057] if (!has_future || version < "1.8.0") { [18:02:02.057] info <- base::c(r_version = base::gsub("R version ", [18:02:02.057] "", base::R.version$version.string), [18:02:02.057] platform = base::sprintf("%s (%s-bit)", [18:02:02.057] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.057] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.057] "release", "version")], collapse = " "), [18:02:02.057] hostname = base::Sys.info()[["nodename"]]) [18:02:02.057] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.057] info) [18:02:02.057] info <- base::paste(info, collapse = "; ") [18:02:02.057] if (!has_future) { [18:02:02.057] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.057] info) [18:02:02.057] } [18:02:02.057] else { [18:02:02.057] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.057] info, version) [18:02:02.057] } [18:02:02.057] base::stop(msg) [18:02:02.057] } [18:02:02.057] }) [18:02:02.057] } [18:02:02.057] options(future.plan = NULL) [18:02:02.057] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.057] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.057] } [18:02:02.057] ...future.workdir <- getwd() [18:02:02.057] } [18:02:02.057] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.057] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.057] } [18:02:02.057] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.057] future.globals.maxSize = NULL, future.globals.method = "conservative", [18:02:02.057] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.057] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.057] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.057] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.057] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.057] base::names(...future.oldOptions)) [18:02:02.057] } [18:02:02.057] if (FALSE) { [18:02:02.057] } [18:02:02.057] else { [18:02:02.057] if (TRUE) { [18:02:02.057] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.057] open = "w") [18:02:02.057] } [18:02:02.057] else { [18:02:02.057] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.057] windows = "NUL", "/dev/null"), open = "w") [18:02:02.057] } [18:02:02.057] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.057] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.057] base::sink(type = "output", split = FALSE) [18:02:02.057] base::close(...future.stdout) [18:02:02.057] }, add = TRUE) [18:02:02.057] } [18:02:02.057] ...future.frame <- base::sys.nframe() [18:02:02.057] ...future.conditions <- base::list() [18:02:02.057] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.057] if (FALSE) { [18:02:02.057] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.057] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.057] } [18:02:02.057] ...future.result <- base::tryCatch({ [18:02:02.057] base::withCallingHandlers({ [18:02:02.057] ...future.value <- base::withVisible(base::local({ [18:02:02.057] pkg [18:02:02.057] })) [18:02:02.057] future::FutureResult(value = ...future.value$value, [18:02:02.057] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.057] ...future.rng), globalenv = if (FALSE) [18:02:02.057] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.057] ...future.globalenv.names)) [18:02:02.057] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.057] }, condition = base::local({ [18:02:02.057] c <- base::c [18:02:02.057] inherits <- base::inherits [18:02:02.057] invokeRestart <- base::invokeRestart [18:02:02.057] length <- base::length [18:02:02.057] list <- base::list [18:02:02.057] seq.int <- base::seq.int [18:02:02.057] signalCondition <- base::signalCondition [18:02:02.057] sys.calls <- base::sys.calls [18:02:02.057] `[[` <- base::`[[` [18:02:02.057] `+` <- base::`+` [18:02:02.057] `<<-` <- base::`<<-` [18:02:02.057] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.057] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.057] 3L)] [18:02:02.057] } [18:02:02.057] function(cond) { [18:02:02.057] is_error <- inherits(cond, "error") [18:02:02.057] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.057] NULL) [18:02:02.057] if (is_error) { [18:02:02.057] sessionInformation <- function() { [18:02:02.057] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.057] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.057] search = base::search(), system = base::Sys.info()) [18:02:02.057] } [18:02:02.057] ...future.conditions[[length(...future.conditions) + [18:02:02.057] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.057] cond$call), session = sessionInformation(), [18:02:02.057] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.057] signalCondition(cond) [18:02:02.057] } [18:02:02.057] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.057] "immediateCondition"))) { [18:02:02.057] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.057] ...future.conditions[[length(...future.conditions) + [18:02:02.057] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.057] if (TRUE && !signal) { [18:02:02.057] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.057] { [18:02:02.057] inherits <- base::inherits [18:02:02.057] invokeRestart <- base::invokeRestart [18:02:02.057] is.null <- base::is.null [18:02:02.057] muffled <- FALSE [18:02:02.057] if (inherits(cond, "message")) { [18:02:02.057] muffled <- grepl(pattern, "muffleMessage") [18:02:02.057] if (muffled) [18:02:02.057] invokeRestart("muffleMessage") [18:02:02.057] } [18:02:02.057] else if (inherits(cond, "warning")) { [18:02:02.057] muffled <- grepl(pattern, "muffleWarning") [18:02:02.057] if (muffled) [18:02:02.057] invokeRestart("muffleWarning") [18:02:02.057] } [18:02:02.057] else if (inherits(cond, "condition")) { [18:02:02.057] if (!is.null(pattern)) { [18:02:02.057] computeRestarts <- base::computeRestarts [18:02:02.057] grepl <- base::grepl [18:02:02.057] restarts <- computeRestarts(cond) [18:02:02.057] for (restart in restarts) { [18:02:02.057] name <- restart$name [18:02:02.057] if (is.null(name)) [18:02:02.057] next [18:02:02.057] if (!grepl(pattern, name)) [18:02:02.057] next [18:02:02.057] invokeRestart(restart) [18:02:02.057] muffled <- TRUE [18:02:02.057] break [18:02:02.057] } [18:02:02.057] } [18:02:02.057] } [18:02:02.057] invisible(muffled) [18:02:02.057] } [18:02:02.057] muffleCondition(cond, pattern = "^muffle") [18:02:02.057] } [18:02:02.057] } [18:02:02.057] else { [18:02:02.057] if (TRUE) { [18:02:02.057] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.057] { [18:02:02.057] inherits <- base::inherits [18:02:02.057] invokeRestart <- base::invokeRestart [18:02:02.057] is.null <- base::is.null [18:02:02.057] muffled <- FALSE [18:02:02.057] if (inherits(cond, "message")) { [18:02:02.057] muffled <- grepl(pattern, "muffleMessage") [18:02:02.057] if (muffled) [18:02:02.057] invokeRestart("muffleMessage") [18:02:02.057] } [18:02:02.057] else if (inherits(cond, "warning")) { [18:02:02.057] muffled <- grepl(pattern, "muffleWarning") [18:02:02.057] if (muffled) [18:02:02.057] invokeRestart("muffleWarning") [18:02:02.057] } [18:02:02.057] else if (inherits(cond, "condition")) { [18:02:02.057] if (!is.null(pattern)) { [18:02:02.057] computeRestarts <- base::computeRestarts [18:02:02.057] grepl <- base::grepl [18:02:02.057] restarts <- computeRestarts(cond) [18:02:02.057] for (restart in restarts) { [18:02:02.057] name <- restart$name [18:02:02.057] if (is.null(name)) [18:02:02.057] next [18:02:02.057] if (!grepl(pattern, name)) [18:02:02.057] next [18:02:02.057] invokeRestart(restart) [18:02:02.057] muffled <- TRUE [18:02:02.057] break [18:02:02.057] } [18:02:02.057] } [18:02:02.057] } [18:02:02.057] invisible(muffled) [18:02:02.057] } [18:02:02.057] muffleCondition(cond, pattern = "^muffle") [18:02:02.057] } [18:02:02.057] } [18:02:02.057] } [18:02:02.057] })) [18:02:02.057] }, error = function(ex) { [18:02:02.057] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.057] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.057] ...future.rng), started = ...future.startTime, [18:02:02.057] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.057] version = "1.8"), class = "FutureResult") [18:02:02.057] }, finally = { [18:02:02.057] if (!identical(...future.workdir, getwd())) [18:02:02.057] setwd(...future.workdir) [18:02:02.057] { [18:02:02.057] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.057] ...future.oldOptions$nwarnings <- NULL [18:02:02.057] } [18:02:02.057] base::options(...future.oldOptions) [18:02:02.057] if (.Platform$OS.type == "windows") { [18:02:02.057] old_names <- names(...future.oldEnvVars) [18:02:02.057] envs <- base::Sys.getenv() [18:02:02.057] names <- names(envs) [18:02:02.057] common <- intersect(names, old_names) [18:02:02.057] added <- setdiff(names, old_names) [18:02:02.057] removed <- setdiff(old_names, names) [18:02:02.057] changed <- common[...future.oldEnvVars[common] != [18:02:02.057] envs[common]] [18:02:02.057] NAMES <- toupper(changed) [18:02:02.057] args <- list() [18:02:02.057] for (kk in seq_along(NAMES)) { [18:02:02.057] name <- changed[[kk]] [18:02:02.057] NAME <- NAMES[[kk]] [18:02:02.057] if (name != NAME && is.element(NAME, old_names)) [18:02:02.057] next [18:02:02.057] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.057] } [18:02:02.057] NAMES <- toupper(added) [18:02:02.057] for (kk in seq_along(NAMES)) { [18:02:02.057] name <- added[[kk]] [18:02:02.057] NAME <- NAMES[[kk]] [18:02:02.057] if (name != NAME && is.element(NAME, old_names)) [18:02:02.057] next [18:02:02.057] args[[name]] <- "" [18:02:02.057] } [18:02:02.057] NAMES <- toupper(removed) [18:02:02.057] for (kk in seq_along(NAMES)) { [18:02:02.057] name <- removed[[kk]] [18:02:02.057] NAME <- NAMES[[kk]] [18:02:02.057] if (name != NAME && is.element(NAME, old_names)) [18:02:02.057] next [18:02:02.057] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.057] } [18:02:02.057] if (length(args) > 0) [18:02:02.057] base::do.call(base::Sys.setenv, args = args) [18:02:02.057] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.057] } [18:02:02.057] else { [18:02:02.057] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.057] } [18:02:02.057] { [18:02:02.057] if (base::length(...future.futureOptionsAdded) > [18:02:02.057] 0L) { [18:02:02.057] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.057] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.057] base::options(opts) [18:02:02.057] } [18:02:02.057] { [18:02:02.057] { [18:02:02.057] NULL [18:02:02.057] RNGkind("Mersenne-Twister") [18:02:02.057] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:02.057] inherits = FALSE) [18:02:02.057] } [18:02:02.057] options(future.plan = NULL) [18:02:02.057] if (is.na(NA_character_)) [18:02:02.057] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.057] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.057] future::plan(list(function (..., workers = availableCores(), [18:02:02.057] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.057] envir = parent.frame()) [18:02:02.057] { [18:02:02.057] if (is.function(workers)) [18:02:02.057] workers <- workers() [18:02:02.057] workers <- structure(as.integer(workers), [18:02:02.057] class = class(workers)) [18:02:02.057] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.057] workers >= 1) [18:02:02.057] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.057] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.057] } [18:02:02.057] future <- MultisessionFuture(..., workers = workers, [18:02:02.057] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.057] envir = envir) [18:02:02.057] if (!future$lazy) [18:02:02.057] future <- run(future) [18:02:02.057] invisible(future) [18:02:02.057] }), .cleanup = FALSE, .init = FALSE) [18:02:02.057] } [18:02:02.057] } [18:02:02.057] } [18:02:02.057] }) [18:02:02.057] if (TRUE) { [18:02:02.057] base::sink(type = "output", split = FALSE) [18:02:02.057] if (TRUE) { [18:02:02.057] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.057] } [18:02:02.057] else { [18:02:02.057] ...future.result["stdout"] <- base::list(NULL) [18:02:02.057] } [18:02:02.057] base::close(...future.stdout) [18:02:02.057] ...future.stdout <- NULL [18:02:02.057] } [18:02:02.057] ...future.result$conditions <- ...future.conditions [18:02:02.057] ...future.result$finished <- base::Sys.time() [18:02:02.057] ...future.result [18:02:02.057] } [18:02:02.061] assign_globals() ... [18:02:02.061] List of 1 [18:02:02.061] $ pkg: chr "foo" [18:02:02.061] - attr(*, "where")=List of 1 [18:02:02.061] ..$ pkg: [18:02:02.061] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:02.061] - attr(*, "resolved")= logi TRUE [18:02:02.061] - attr(*, "total_size")= num 112 [18:02:02.064] - copied 'pkg' to environment [18:02:02.064] assign_globals() ... done [18:02:02.065] plan(): Setting new future strategy stack: [18:02:02.065] List of future strategies: [18:02:02.065] 1. sequential: [18:02:02.065] - args: function (..., envir = parent.frame()) [18:02:02.065] - tweaked: FALSE [18:02:02.065] - call: NULL [18:02:02.065] plan(): nbrOfWorkers() = 1 [18:02:02.066] plan(): Setting new future strategy stack: [18:02:02.067] List of future strategies: [18:02:02.067] 1. multisession: [18:02:02.067] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [18:02:02.067] - tweaked: FALSE [18:02:02.067] - call: plan(strategy) [18:02:02.069] plan(): nbrOfWorkers() = 2 [18:02:02.069] SequentialFuture started (and completed) value(f) = 'foo' Method for identifying globals: 'conservative' ... DONE Method for identifying globals: 'ordered' ... Warning: 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' [18:02:02.070] getGlobalsAndPackages() ... Warning: 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' [18:02:02.071] Searching for globals... Warning: 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' [18:02:02.073] - globals found: [4] '{', '<-', 'a', '*' [18:02:02.073] Searching for globals ... DONE [18:02:02.073] Resolving globals: TRUE [18:02:02.073] Resolving any globals that are futures ... [18:02:02.073] - globals: [4] '{', '<-', 'a', '*' [18:02:02.074] Resolving any globals that are futures ... DONE [18:02:02.074] Resolving futures part of globals (recursively) ... [18:02:02.074] resolve() on list ... [18:02:02.075] recursive: 99 [18:02:02.075] length: 1 [18:02:02.075] elements: 'a' [18:02:02.075] length: 0 (resolved future 1) [18:02:02.075] resolve() on list ... DONE [18:02:02.075] - globals: [1] 'a' [18:02:02.076] Resolving futures part of globals (recursively) ... DONE [18:02:02.076] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:02.076] 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') [18:02:02.076] - globals: [1] 'a' [18:02:02.077] [18:02:02.077] getGlobalsAndPackages() ... DONE [18:02:02.077] run() for 'Future' ... [18:02:02.077] - state: 'created' [18:02:02.078] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.091] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.091] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.091] - Field: 'node' [18:02:02.091] - Field: 'label' [18:02:02.092] - Field: 'local' [18:02:02.092] - Field: 'owner' [18:02:02.092] - Field: 'envir' [18:02:02.092] - Field: 'workers' [18:02:02.092] - Field: 'packages' [18:02:02.093] - Field: 'gc' [18:02:02.093] - Field: 'conditions' [18:02:02.093] - Field: 'persistent' [18:02:02.093] - Field: 'expr' [18:02:02.093] - Field: 'uuid' [18:02:02.093] - Field: 'seed' [18:02:02.094] - Field: 'version' [18:02:02.094] - Field: 'result' [18:02:02.094] - Field: 'asynchronous' [18:02:02.094] - Field: 'calls' [18:02:02.094] - Field: 'globals' [18:02:02.095] - Field: 'stdout' [18:02:02.095] - Field: 'earlySignal' [18:02:02.095] - Field: 'lazy' [18:02:02.095] - Field: 'state' [18:02:02.095] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.095] - Launch lazy future ... [18:02:02.096] Packages needed by the future expression (n = 0): [18:02:02.096] Packages needed by future strategies (n = 0): [18:02:02.096] { [18:02:02.096] { [18:02:02.096] { [18:02:02.096] ...future.startTime <- base::Sys.time() [18:02:02.096] { [18:02:02.096] { [18:02:02.096] { [18:02:02.096] { [18:02:02.096] base::local({ [18:02:02.096] has_future <- base::requireNamespace("future", [18:02:02.096] quietly = TRUE) [18:02:02.096] if (has_future) { [18:02:02.096] ns <- base::getNamespace("future") [18:02:02.096] version <- ns[[".package"]][["version"]] [18:02:02.096] if (is.null(version)) [18:02:02.096] version <- utils::packageVersion("future") [18:02:02.096] } [18:02:02.096] else { [18:02:02.096] version <- NULL [18:02:02.096] } [18:02:02.096] if (!has_future || version < "1.8.0") { [18:02:02.096] info <- base::c(r_version = base::gsub("R version ", [18:02:02.096] "", base::R.version$version.string), [18:02:02.096] platform = base::sprintf("%s (%s-bit)", [18:02:02.096] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.096] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.096] "release", "version")], collapse = " "), [18:02:02.096] hostname = base::Sys.info()[["nodename"]]) [18:02:02.096] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.096] info) [18:02:02.096] info <- base::paste(info, collapse = "; ") [18:02:02.096] if (!has_future) { [18:02:02.096] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.096] info) [18:02:02.096] } [18:02:02.096] else { [18:02:02.096] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.096] info, version) [18:02:02.096] } [18:02:02.096] base::stop(msg) [18:02:02.096] } [18:02:02.096] }) [18:02:02.096] } [18:02:02.096] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.096] base::options(mc.cores = 1L) [18:02:02.096] } [18:02:02.096] options(future.plan = NULL) [18:02:02.096] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.096] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.096] } [18:02:02.096] ...future.workdir <- getwd() [18:02:02.096] } [18:02:02.096] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.096] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.096] } [18:02:02.096] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.096] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.096] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.096] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.096] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.096] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.096] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.096] base::names(...future.oldOptions)) [18:02:02.096] } [18:02:02.096] if (FALSE) { [18:02:02.096] } [18:02:02.096] else { [18:02:02.096] if (TRUE) { [18:02:02.096] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.096] open = "w") [18:02:02.096] } [18:02:02.096] else { [18:02:02.096] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.096] windows = "NUL", "/dev/null"), open = "w") [18:02:02.096] } [18:02:02.096] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.096] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.096] base::sink(type = "output", split = FALSE) [18:02:02.096] base::close(...future.stdout) [18:02:02.096] }, add = TRUE) [18:02:02.096] } [18:02:02.096] ...future.frame <- base::sys.nframe() [18:02:02.096] ...future.conditions <- base::list() [18:02:02.096] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.096] if (FALSE) { [18:02:02.096] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.096] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.096] } [18:02:02.096] ...future.result <- base::tryCatch({ [18:02:02.096] base::withCallingHandlers({ [18:02:02.096] ...future.value <- base::withVisible(base::local({ [18:02:02.096] ...future.makeSendCondition <- local({ [18:02:02.096] sendCondition <- NULL [18:02:02.096] function(frame = 1L) { [18:02:02.096] if (is.function(sendCondition)) [18:02:02.096] return(sendCondition) [18:02:02.096] ns <- getNamespace("parallel") [18:02:02.096] if (exists("sendData", mode = "function", [18:02:02.096] envir = ns)) { [18:02:02.096] parallel_sendData <- get("sendData", mode = "function", [18:02:02.096] envir = ns) [18:02:02.096] envir <- sys.frame(frame) [18:02:02.096] master <- NULL [18:02:02.096] while (!identical(envir, .GlobalEnv) && [18:02:02.096] !identical(envir, emptyenv())) { [18:02:02.096] if (exists("master", mode = "list", envir = envir, [18:02:02.096] inherits = FALSE)) { [18:02:02.096] master <- get("master", mode = "list", [18:02:02.096] envir = envir, inherits = FALSE) [18:02:02.096] if (inherits(master, c("SOCKnode", [18:02:02.096] "SOCK0node"))) { [18:02:02.096] sendCondition <<- function(cond) { [18:02:02.096] data <- list(type = "VALUE", value = cond, [18:02:02.096] success = TRUE) [18:02:02.096] parallel_sendData(master, data) [18:02:02.096] } [18:02:02.096] return(sendCondition) [18:02:02.096] } [18:02:02.096] } [18:02:02.096] frame <- frame + 1L [18:02:02.096] envir <- sys.frame(frame) [18:02:02.096] } [18:02:02.096] } [18:02:02.096] sendCondition <<- function(cond) NULL [18:02:02.096] } [18:02:02.096] }) [18:02:02.096] withCallingHandlers({ [18:02:02.096] { [18:02:02.096] b <- a [18:02:02.096] a <- 2 [18:02:02.096] a * b [18:02:02.096] } [18:02:02.096] }, immediateCondition = function(cond) { [18:02:02.096] sendCondition <- ...future.makeSendCondition() [18:02:02.096] sendCondition(cond) [18:02:02.096] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.096] { [18:02:02.096] inherits <- base::inherits [18:02:02.096] invokeRestart <- base::invokeRestart [18:02:02.096] is.null <- base::is.null [18:02:02.096] muffled <- FALSE [18:02:02.096] if (inherits(cond, "message")) { [18:02:02.096] muffled <- grepl(pattern, "muffleMessage") [18:02:02.096] if (muffled) [18:02:02.096] invokeRestart("muffleMessage") [18:02:02.096] } [18:02:02.096] else if (inherits(cond, "warning")) { [18:02:02.096] muffled <- grepl(pattern, "muffleWarning") [18:02:02.096] if (muffled) [18:02:02.096] invokeRestart("muffleWarning") [18:02:02.096] } [18:02:02.096] else if (inherits(cond, "condition")) { [18:02:02.096] if (!is.null(pattern)) { [18:02:02.096] computeRestarts <- base::computeRestarts [18:02:02.096] grepl <- base::grepl [18:02:02.096] restarts <- computeRestarts(cond) [18:02:02.096] for (restart in restarts) { [18:02:02.096] name <- restart$name [18:02:02.096] if (is.null(name)) [18:02:02.096] next [18:02:02.096] if (!grepl(pattern, name)) [18:02:02.096] next [18:02:02.096] invokeRestart(restart) [18:02:02.096] muffled <- TRUE [18:02:02.096] break [18:02:02.096] } [18:02:02.096] } [18:02:02.096] } [18:02:02.096] invisible(muffled) [18:02:02.096] } [18:02:02.096] muffleCondition(cond) [18:02:02.096] }) [18:02:02.096] })) [18:02:02.096] future::FutureResult(value = ...future.value$value, [18:02:02.096] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.096] ...future.rng), globalenv = if (FALSE) [18:02:02.096] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.096] ...future.globalenv.names)) [18:02:02.096] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.096] }, condition = base::local({ [18:02:02.096] c <- base::c [18:02:02.096] inherits <- base::inherits [18:02:02.096] invokeRestart <- base::invokeRestart [18:02:02.096] length <- base::length [18:02:02.096] list <- base::list [18:02:02.096] seq.int <- base::seq.int [18:02:02.096] signalCondition <- base::signalCondition [18:02:02.096] sys.calls <- base::sys.calls [18:02:02.096] `[[` <- base::`[[` [18:02:02.096] `+` <- base::`+` [18:02:02.096] `<<-` <- base::`<<-` [18:02:02.096] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.096] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.096] 3L)] [18:02:02.096] } [18:02:02.096] function(cond) { [18:02:02.096] is_error <- inherits(cond, "error") [18:02:02.096] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.096] NULL) [18:02:02.096] if (is_error) { [18:02:02.096] sessionInformation <- function() { [18:02:02.096] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.096] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.096] search = base::search(), system = base::Sys.info()) [18:02:02.096] } [18:02:02.096] ...future.conditions[[length(...future.conditions) + [18:02:02.096] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.096] cond$call), session = sessionInformation(), [18:02:02.096] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.096] signalCondition(cond) [18:02:02.096] } [18:02:02.096] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.096] "immediateCondition"))) { [18:02:02.096] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.096] ...future.conditions[[length(...future.conditions) + [18:02:02.096] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.096] if (TRUE && !signal) { [18:02:02.096] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.096] { [18:02:02.096] inherits <- base::inherits [18:02:02.096] invokeRestart <- base::invokeRestart [18:02:02.096] is.null <- base::is.null [18:02:02.096] muffled <- FALSE [18:02:02.096] if (inherits(cond, "message")) { [18:02:02.096] muffled <- grepl(pattern, "muffleMessage") [18:02:02.096] if (muffled) [18:02:02.096] invokeRestart("muffleMessage") [18:02:02.096] } [18:02:02.096] else if (inherits(cond, "warning")) { [18:02:02.096] muffled <- grepl(pattern, "muffleWarning") [18:02:02.096] if (muffled) [18:02:02.096] invokeRestart("muffleWarning") [18:02:02.096] } [18:02:02.096] else if (inherits(cond, "condition")) { [18:02:02.096] if (!is.null(pattern)) { [18:02:02.096] computeRestarts <- base::computeRestarts [18:02:02.096] grepl <- base::grepl [18:02:02.096] restarts <- computeRestarts(cond) [18:02:02.096] for (restart in restarts) { [18:02:02.096] name <- restart$name [18:02:02.096] if (is.null(name)) [18:02:02.096] next [18:02:02.096] if (!grepl(pattern, name)) [18:02:02.096] next [18:02:02.096] invokeRestart(restart) [18:02:02.096] muffled <- TRUE [18:02:02.096] break [18:02:02.096] } [18:02:02.096] } [18:02:02.096] } [18:02:02.096] invisible(muffled) [18:02:02.096] } [18:02:02.096] muffleCondition(cond, pattern = "^muffle") [18:02:02.096] } [18:02:02.096] } [18:02:02.096] else { [18:02:02.096] if (TRUE) { [18:02:02.096] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.096] { [18:02:02.096] inherits <- base::inherits [18:02:02.096] invokeRestart <- base::invokeRestart [18:02:02.096] is.null <- base::is.null [18:02:02.096] muffled <- FALSE [18:02:02.096] if (inherits(cond, "message")) { [18:02:02.096] muffled <- grepl(pattern, "muffleMessage") [18:02:02.096] if (muffled) [18:02:02.096] invokeRestart("muffleMessage") [18:02:02.096] } [18:02:02.096] else if (inherits(cond, "warning")) { [18:02:02.096] muffled <- grepl(pattern, "muffleWarning") [18:02:02.096] if (muffled) [18:02:02.096] invokeRestart("muffleWarning") [18:02:02.096] } [18:02:02.096] else if (inherits(cond, "condition")) { [18:02:02.096] if (!is.null(pattern)) { [18:02:02.096] computeRestarts <- base::computeRestarts [18:02:02.096] grepl <- base::grepl [18:02:02.096] restarts <- computeRestarts(cond) [18:02:02.096] for (restart in restarts) { [18:02:02.096] name <- restart$name [18:02:02.096] if (is.null(name)) [18:02:02.096] next [18:02:02.096] if (!grepl(pattern, name)) [18:02:02.096] next [18:02:02.096] invokeRestart(restart) [18:02:02.096] muffled <- TRUE [18:02:02.096] break [18:02:02.096] } [18:02:02.096] } [18:02:02.096] } [18:02:02.096] invisible(muffled) [18:02:02.096] } [18:02:02.096] muffleCondition(cond, pattern = "^muffle") [18:02:02.096] } [18:02:02.096] } [18:02:02.096] } [18:02:02.096] })) [18:02:02.096] }, error = function(ex) { [18:02:02.096] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.096] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.096] ...future.rng), started = ...future.startTime, [18:02:02.096] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.096] version = "1.8"), class = "FutureResult") [18:02:02.096] }, finally = { [18:02:02.096] if (!identical(...future.workdir, getwd())) [18:02:02.096] setwd(...future.workdir) [18:02:02.096] { [18:02:02.096] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.096] ...future.oldOptions$nwarnings <- NULL [18:02:02.096] } [18:02:02.096] base::options(...future.oldOptions) [18:02:02.096] if (.Platform$OS.type == "windows") { [18:02:02.096] old_names <- names(...future.oldEnvVars) [18:02:02.096] envs <- base::Sys.getenv() [18:02:02.096] names <- names(envs) [18:02:02.096] common <- intersect(names, old_names) [18:02:02.096] added <- setdiff(names, old_names) [18:02:02.096] removed <- setdiff(old_names, names) [18:02:02.096] changed <- common[...future.oldEnvVars[common] != [18:02:02.096] envs[common]] [18:02:02.096] NAMES <- toupper(changed) [18:02:02.096] args <- list() [18:02:02.096] for (kk in seq_along(NAMES)) { [18:02:02.096] name <- changed[[kk]] [18:02:02.096] NAME <- NAMES[[kk]] [18:02:02.096] if (name != NAME && is.element(NAME, old_names)) [18:02:02.096] next [18:02:02.096] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.096] } [18:02:02.096] NAMES <- toupper(added) [18:02:02.096] for (kk in seq_along(NAMES)) { [18:02:02.096] name <- added[[kk]] [18:02:02.096] NAME <- NAMES[[kk]] [18:02:02.096] if (name != NAME && is.element(NAME, old_names)) [18:02:02.096] next [18:02:02.096] args[[name]] <- "" [18:02:02.096] } [18:02:02.096] NAMES <- toupper(removed) [18:02:02.096] for (kk in seq_along(NAMES)) { [18:02:02.096] name <- removed[[kk]] [18:02:02.096] NAME <- NAMES[[kk]] [18:02:02.096] if (name != NAME && is.element(NAME, old_names)) [18:02:02.096] next [18:02:02.096] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.096] } [18:02:02.096] if (length(args) > 0) [18:02:02.096] base::do.call(base::Sys.setenv, args = args) [18:02:02.096] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.096] } [18:02:02.096] else { [18:02:02.096] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.096] } [18:02:02.096] { [18:02:02.096] if (base::length(...future.futureOptionsAdded) > [18:02:02.096] 0L) { [18:02:02.096] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.096] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.096] base::options(opts) [18:02:02.096] } [18:02:02.096] { [18:02:02.096] { [18:02:02.096] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.096] NULL [18:02:02.096] } [18:02:02.096] options(future.plan = NULL) [18:02:02.096] if (is.na(NA_character_)) [18:02:02.096] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.096] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.096] future::plan(list(function (..., workers = availableCores(), [18:02:02.096] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.096] envir = parent.frame()) [18:02:02.096] { [18:02:02.096] if (is.function(workers)) [18:02:02.096] workers <- workers() [18:02:02.096] workers <- structure(as.integer(workers), [18:02:02.096] class = class(workers)) [18:02:02.096] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.096] workers >= 1) [18:02:02.096] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.096] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.096] } [18:02:02.096] future <- MultisessionFuture(..., workers = workers, [18:02:02.096] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.096] envir = envir) [18:02:02.096] if (!future$lazy) [18:02:02.096] future <- run(future) [18:02:02.096] invisible(future) [18:02:02.096] }), .cleanup = FALSE, .init = FALSE) [18:02:02.096] } [18:02:02.096] } [18:02:02.096] } [18:02:02.096] }) [18:02:02.096] if (TRUE) { [18:02:02.096] base::sink(type = "output", split = FALSE) [18:02:02.096] if (TRUE) { [18:02:02.096] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.096] } [18:02:02.096] else { [18:02:02.096] ...future.result["stdout"] <- base::list(NULL) [18:02:02.096] } [18:02:02.096] base::close(...future.stdout) [18:02:02.096] ...future.stdout <- NULL [18:02:02.096] } [18:02:02.096] ...future.result$conditions <- ...future.conditions [18:02:02.096] ...future.result$finished <- base::Sys.time() [18:02:02.096] ...future.result [18:02:02.096] } [18:02:02.102] Exporting 1 global objects (56 bytes) to cluster node #2 ... [18:02:02.102] Exporting 'a' (56 bytes) to cluster node #2 ... [18:02:02.102] Exporting 'a' (56 bytes) to cluster node #2 ... DONE [18:02:02.103] Exporting 1 global objects (56 bytes) to cluster node #2 ... DONE [18:02:02.103] MultisessionFuture started [18:02:02.103] - Launch lazy future ... done [18:02:02.104] run() for 'MultisessionFuture' ... done [18:02:02.104] result() for ClusterFuture ... [18:02:02.104] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.104] - Validating connection of MultisessionFuture [18:02:02.120] - received message: FutureResult [18:02:02.120] - Received FutureResult [18:02:02.120] - Erased future from FutureRegistry [18:02:02.120] result() for ClusterFuture ... [18:02:02.121] - result already collected: FutureResult [18:02:02.121] result() for ClusterFuture ... done [18:02:02.121] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.121] result() for ClusterFuture ... done [18:02:02.121] result() for ClusterFuture ... [18:02:02.121] - result already collected: FutureResult [18:02:02.122] result() for ClusterFuture ... done y = 6 Warning: 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' [18:02:02.122] getGlobalsAndPackages() ... Warning: 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' [18:02:02.123] Searching for globals... Warning: 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' [18:02:02.127] - globals found: [4] '{', '<-', 'a', '*' [18:02:02.127] Searching for globals ... DONE [18:02:02.127] Resolving globals: TRUE [18:02:02.127] Resolving any globals that are futures ... [18:02:02.127] - globals: [4] '{', '<-', 'a', '*' [18:02:02.128] Resolving any globals that are futures ... DONE [18:02:02.128] Resolving futures part of globals (recursively) ... [18:02:02.128] resolve() on list ... [18:02:02.129] recursive: 99 [18:02:02.129] length: 1 [18:02:02.129] elements: 'a' [18:02:02.129] length: 0 (resolved future 1) [18:02:02.129] resolve() on list ... DONE [18:02:02.129] - globals: [1] 'a' [18:02:02.130] Resolving futures part of globals (recursively) ... DONE [18:02:02.130] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:02.130] 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') [18:02:02.130] - globals: [1] 'a' [18:02:02.131] [18:02:02.131] getGlobalsAndPackages() ... DONE [18:02:02.131] run() for 'Future' ... [18:02:02.131] - state: 'created' [18:02:02.132] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.145] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.145] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.146] - Field: 'node' [18:02:02.146] - Field: 'label' [18:02:02.146] - Field: 'local' [18:02:02.146] - Field: 'owner' [18:02:02.146] - Field: 'envir' [18:02:02.147] - Field: 'workers' [18:02:02.147] - Field: 'packages' [18:02:02.147] - Field: 'gc' [18:02:02.147] - Field: 'conditions' [18:02:02.147] - Field: 'persistent' [18:02:02.147] - Field: 'expr' [18:02:02.148] - Field: 'uuid' [18:02:02.148] - Field: 'seed' [18:02:02.148] - Field: 'version' [18:02:02.148] - Field: 'result' [18:02:02.148] - Field: 'asynchronous' [18:02:02.148] - Field: 'calls' [18:02:02.149] - Field: 'globals' [18:02:02.149] - Field: 'stdout' [18:02:02.149] - Field: 'earlySignal' [18:02:02.149] - Field: 'lazy' [18:02:02.149] - Field: 'state' [18:02:02.150] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.150] - Launch lazy future ... [18:02:02.150] Packages needed by the future expression (n = 0): [18:02:02.150] Packages needed by future strategies (n = 0): [18:02:02.151] { [18:02:02.151] { [18:02:02.151] { [18:02:02.151] ...future.startTime <- base::Sys.time() [18:02:02.151] { [18:02:02.151] { [18:02:02.151] { [18:02:02.151] { [18:02:02.151] base::local({ [18:02:02.151] has_future <- base::requireNamespace("future", [18:02:02.151] quietly = TRUE) [18:02:02.151] if (has_future) { [18:02:02.151] ns <- base::getNamespace("future") [18:02:02.151] version <- ns[[".package"]][["version"]] [18:02:02.151] if (is.null(version)) [18:02:02.151] version <- utils::packageVersion("future") [18:02:02.151] } [18:02:02.151] else { [18:02:02.151] version <- NULL [18:02:02.151] } [18:02:02.151] if (!has_future || version < "1.8.0") { [18:02:02.151] info <- base::c(r_version = base::gsub("R version ", [18:02:02.151] "", base::R.version$version.string), [18:02:02.151] platform = base::sprintf("%s (%s-bit)", [18:02:02.151] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.151] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.151] "release", "version")], collapse = " "), [18:02:02.151] hostname = base::Sys.info()[["nodename"]]) [18:02:02.151] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.151] info) [18:02:02.151] info <- base::paste(info, collapse = "; ") [18:02:02.151] if (!has_future) { [18:02:02.151] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.151] info) [18:02:02.151] } [18:02:02.151] else { [18:02:02.151] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.151] info, version) [18:02:02.151] } [18:02:02.151] base::stop(msg) [18:02:02.151] } [18:02:02.151] }) [18:02:02.151] } [18:02:02.151] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.151] base::options(mc.cores = 1L) [18:02:02.151] } [18:02:02.151] options(future.plan = NULL) [18:02:02.151] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.151] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.151] } [18:02:02.151] ...future.workdir <- getwd() [18:02:02.151] } [18:02:02.151] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.151] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.151] } [18:02:02.151] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.151] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.151] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.151] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.151] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.151] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.151] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.151] base::names(...future.oldOptions)) [18:02:02.151] } [18:02:02.151] if (FALSE) { [18:02:02.151] } [18:02:02.151] else { [18:02:02.151] if (TRUE) { [18:02:02.151] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.151] open = "w") [18:02:02.151] } [18:02:02.151] else { [18:02:02.151] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.151] windows = "NUL", "/dev/null"), open = "w") [18:02:02.151] } [18:02:02.151] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.151] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.151] base::sink(type = "output", split = FALSE) [18:02:02.151] base::close(...future.stdout) [18:02:02.151] }, add = TRUE) [18:02:02.151] } [18:02:02.151] ...future.frame <- base::sys.nframe() [18:02:02.151] ...future.conditions <- base::list() [18:02:02.151] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.151] if (FALSE) { [18:02:02.151] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.151] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.151] } [18:02:02.151] ...future.result <- base::tryCatch({ [18:02:02.151] base::withCallingHandlers({ [18:02:02.151] ...future.value <- base::withVisible(base::local({ [18:02:02.151] ...future.makeSendCondition <- local({ [18:02:02.151] sendCondition <- NULL [18:02:02.151] function(frame = 1L) { [18:02:02.151] if (is.function(sendCondition)) [18:02:02.151] return(sendCondition) [18:02:02.151] ns <- getNamespace("parallel") [18:02:02.151] if (exists("sendData", mode = "function", [18:02:02.151] envir = ns)) { [18:02:02.151] parallel_sendData <- get("sendData", mode = "function", [18:02:02.151] envir = ns) [18:02:02.151] envir <- sys.frame(frame) [18:02:02.151] master <- NULL [18:02:02.151] while (!identical(envir, .GlobalEnv) && [18:02:02.151] !identical(envir, emptyenv())) { [18:02:02.151] if (exists("master", mode = "list", envir = envir, [18:02:02.151] inherits = FALSE)) { [18:02:02.151] master <- get("master", mode = "list", [18:02:02.151] envir = envir, inherits = FALSE) [18:02:02.151] if (inherits(master, c("SOCKnode", [18:02:02.151] "SOCK0node"))) { [18:02:02.151] sendCondition <<- function(cond) { [18:02:02.151] data <- list(type = "VALUE", value = cond, [18:02:02.151] success = TRUE) [18:02:02.151] parallel_sendData(master, data) [18:02:02.151] } [18:02:02.151] return(sendCondition) [18:02:02.151] } [18:02:02.151] } [18:02:02.151] frame <- frame + 1L [18:02:02.151] envir <- sys.frame(frame) [18:02:02.151] } [18:02:02.151] } [18:02:02.151] sendCondition <<- function(cond) NULL [18:02:02.151] } [18:02:02.151] }) [18:02:02.151] withCallingHandlers({ [18:02:02.151] { [18:02:02.151] b <- a [18:02:02.151] a <- 2 [18:02:02.151] a * b [18:02:02.151] } [18:02:02.151] }, immediateCondition = function(cond) { [18:02:02.151] sendCondition <- ...future.makeSendCondition() [18:02:02.151] sendCondition(cond) [18:02:02.151] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.151] { [18:02:02.151] inherits <- base::inherits [18:02:02.151] invokeRestart <- base::invokeRestart [18:02:02.151] is.null <- base::is.null [18:02:02.151] muffled <- FALSE [18:02:02.151] if (inherits(cond, "message")) { [18:02:02.151] muffled <- grepl(pattern, "muffleMessage") [18:02:02.151] if (muffled) [18:02:02.151] invokeRestart("muffleMessage") [18:02:02.151] } [18:02:02.151] else if (inherits(cond, "warning")) { [18:02:02.151] muffled <- grepl(pattern, "muffleWarning") [18:02:02.151] if (muffled) [18:02:02.151] invokeRestart("muffleWarning") [18:02:02.151] } [18:02:02.151] else if (inherits(cond, "condition")) { [18:02:02.151] if (!is.null(pattern)) { [18:02:02.151] computeRestarts <- base::computeRestarts [18:02:02.151] grepl <- base::grepl [18:02:02.151] restarts <- computeRestarts(cond) [18:02:02.151] for (restart in restarts) { [18:02:02.151] name <- restart$name [18:02:02.151] if (is.null(name)) [18:02:02.151] next [18:02:02.151] if (!grepl(pattern, name)) [18:02:02.151] next [18:02:02.151] invokeRestart(restart) [18:02:02.151] muffled <- TRUE [18:02:02.151] break [18:02:02.151] } [18:02:02.151] } [18:02:02.151] } [18:02:02.151] invisible(muffled) [18:02:02.151] } [18:02:02.151] muffleCondition(cond) [18:02:02.151] }) [18:02:02.151] })) [18:02:02.151] future::FutureResult(value = ...future.value$value, [18:02:02.151] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.151] ...future.rng), globalenv = if (FALSE) [18:02:02.151] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.151] ...future.globalenv.names)) [18:02:02.151] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.151] }, condition = base::local({ [18:02:02.151] c <- base::c [18:02:02.151] inherits <- base::inherits [18:02:02.151] invokeRestart <- base::invokeRestart [18:02:02.151] length <- base::length [18:02:02.151] list <- base::list [18:02:02.151] seq.int <- base::seq.int [18:02:02.151] signalCondition <- base::signalCondition [18:02:02.151] sys.calls <- base::sys.calls [18:02:02.151] `[[` <- base::`[[` [18:02:02.151] `+` <- base::`+` [18:02:02.151] `<<-` <- base::`<<-` [18:02:02.151] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.151] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.151] 3L)] [18:02:02.151] } [18:02:02.151] function(cond) { [18:02:02.151] is_error <- inherits(cond, "error") [18:02:02.151] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.151] NULL) [18:02:02.151] if (is_error) { [18:02:02.151] sessionInformation <- function() { [18:02:02.151] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.151] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.151] search = base::search(), system = base::Sys.info()) [18:02:02.151] } [18:02:02.151] ...future.conditions[[length(...future.conditions) + [18:02:02.151] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.151] cond$call), session = sessionInformation(), [18:02:02.151] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.151] signalCondition(cond) [18:02:02.151] } [18:02:02.151] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.151] "immediateCondition"))) { [18:02:02.151] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.151] ...future.conditions[[length(...future.conditions) + [18:02:02.151] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.151] if (TRUE && !signal) { [18:02:02.151] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.151] { [18:02:02.151] inherits <- base::inherits [18:02:02.151] invokeRestart <- base::invokeRestart [18:02:02.151] is.null <- base::is.null [18:02:02.151] muffled <- FALSE [18:02:02.151] if (inherits(cond, "message")) { [18:02:02.151] muffled <- grepl(pattern, "muffleMessage") [18:02:02.151] if (muffled) [18:02:02.151] invokeRestart("muffleMessage") [18:02:02.151] } [18:02:02.151] else if (inherits(cond, "warning")) { [18:02:02.151] muffled <- grepl(pattern, "muffleWarning") [18:02:02.151] if (muffled) [18:02:02.151] invokeRestart("muffleWarning") [18:02:02.151] } [18:02:02.151] else if (inherits(cond, "condition")) { [18:02:02.151] if (!is.null(pattern)) { [18:02:02.151] computeRestarts <- base::computeRestarts [18:02:02.151] grepl <- base::grepl [18:02:02.151] restarts <- computeRestarts(cond) [18:02:02.151] for (restart in restarts) { [18:02:02.151] name <- restart$name [18:02:02.151] if (is.null(name)) [18:02:02.151] next [18:02:02.151] if (!grepl(pattern, name)) [18:02:02.151] next [18:02:02.151] invokeRestart(restart) [18:02:02.151] muffled <- TRUE [18:02:02.151] break [18:02:02.151] } [18:02:02.151] } [18:02:02.151] } [18:02:02.151] invisible(muffled) [18:02:02.151] } [18:02:02.151] muffleCondition(cond, pattern = "^muffle") [18:02:02.151] } [18:02:02.151] } [18:02:02.151] else { [18:02:02.151] if (TRUE) { [18:02:02.151] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.151] { [18:02:02.151] inherits <- base::inherits [18:02:02.151] invokeRestart <- base::invokeRestart [18:02:02.151] is.null <- base::is.null [18:02:02.151] muffled <- FALSE [18:02:02.151] if (inherits(cond, "message")) { [18:02:02.151] muffled <- grepl(pattern, "muffleMessage") [18:02:02.151] if (muffled) [18:02:02.151] invokeRestart("muffleMessage") [18:02:02.151] } [18:02:02.151] else if (inherits(cond, "warning")) { [18:02:02.151] muffled <- grepl(pattern, "muffleWarning") [18:02:02.151] if (muffled) [18:02:02.151] invokeRestart("muffleWarning") [18:02:02.151] } [18:02:02.151] else if (inherits(cond, "condition")) { [18:02:02.151] if (!is.null(pattern)) { [18:02:02.151] computeRestarts <- base::computeRestarts [18:02:02.151] grepl <- base::grepl [18:02:02.151] restarts <- computeRestarts(cond) [18:02:02.151] for (restart in restarts) { [18:02:02.151] name <- restart$name [18:02:02.151] if (is.null(name)) [18:02:02.151] next [18:02:02.151] if (!grepl(pattern, name)) [18:02:02.151] next [18:02:02.151] invokeRestart(restart) [18:02:02.151] muffled <- TRUE [18:02:02.151] break [18:02:02.151] } [18:02:02.151] } [18:02:02.151] } [18:02:02.151] invisible(muffled) [18:02:02.151] } [18:02:02.151] muffleCondition(cond, pattern = "^muffle") [18:02:02.151] } [18:02:02.151] } [18:02:02.151] } [18:02:02.151] })) [18:02:02.151] }, error = function(ex) { [18:02:02.151] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.151] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.151] ...future.rng), started = ...future.startTime, [18:02:02.151] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.151] version = "1.8"), class = "FutureResult") [18:02:02.151] }, finally = { [18:02:02.151] if (!identical(...future.workdir, getwd())) [18:02:02.151] setwd(...future.workdir) [18:02:02.151] { [18:02:02.151] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.151] ...future.oldOptions$nwarnings <- NULL [18:02:02.151] } [18:02:02.151] base::options(...future.oldOptions) [18:02:02.151] if (.Platform$OS.type == "windows") { [18:02:02.151] old_names <- names(...future.oldEnvVars) [18:02:02.151] envs <- base::Sys.getenv() [18:02:02.151] names <- names(envs) [18:02:02.151] common <- intersect(names, old_names) [18:02:02.151] added <- setdiff(names, old_names) [18:02:02.151] removed <- setdiff(old_names, names) [18:02:02.151] changed <- common[...future.oldEnvVars[common] != [18:02:02.151] envs[common]] [18:02:02.151] NAMES <- toupper(changed) [18:02:02.151] args <- list() [18:02:02.151] for (kk in seq_along(NAMES)) { [18:02:02.151] name <- changed[[kk]] [18:02:02.151] NAME <- NAMES[[kk]] [18:02:02.151] if (name != NAME && is.element(NAME, old_names)) [18:02:02.151] next [18:02:02.151] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.151] } [18:02:02.151] NAMES <- toupper(added) [18:02:02.151] for (kk in seq_along(NAMES)) { [18:02:02.151] name <- added[[kk]] [18:02:02.151] NAME <- NAMES[[kk]] [18:02:02.151] if (name != NAME && is.element(NAME, old_names)) [18:02:02.151] next [18:02:02.151] args[[name]] <- "" [18:02:02.151] } [18:02:02.151] NAMES <- toupper(removed) [18:02:02.151] for (kk in seq_along(NAMES)) { [18:02:02.151] name <- removed[[kk]] [18:02:02.151] NAME <- NAMES[[kk]] [18:02:02.151] if (name != NAME && is.element(NAME, old_names)) [18:02:02.151] next [18:02:02.151] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.151] } [18:02:02.151] if (length(args) > 0) [18:02:02.151] base::do.call(base::Sys.setenv, args = args) [18:02:02.151] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.151] } [18:02:02.151] else { [18:02:02.151] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.151] } [18:02:02.151] { [18:02:02.151] if (base::length(...future.futureOptionsAdded) > [18:02:02.151] 0L) { [18:02:02.151] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.151] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.151] base::options(opts) [18:02:02.151] } [18:02:02.151] { [18:02:02.151] { [18:02:02.151] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.151] NULL [18:02:02.151] } [18:02:02.151] options(future.plan = NULL) [18:02:02.151] if (is.na(NA_character_)) [18:02:02.151] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.151] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.151] future::plan(list(function (..., workers = availableCores(), [18:02:02.151] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.151] envir = parent.frame()) [18:02:02.151] { [18:02:02.151] if (is.function(workers)) [18:02:02.151] workers <- workers() [18:02:02.151] workers <- structure(as.integer(workers), [18:02:02.151] class = class(workers)) [18:02:02.151] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.151] workers >= 1) [18:02:02.151] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.151] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.151] } [18:02:02.151] future <- MultisessionFuture(..., workers = workers, [18:02:02.151] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.151] envir = envir) [18:02:02.151] if (!future$lazy) [18:02:02.151] future <- run(future) [18:02:02.151] invisible(future) [18:02:02.151] }), .cleanup = FALSE, .init = FALSE) [18:02:02.151] } [18:02:02.151] } [18:02:02.151] } [18:02:02.151] }) [18:02:02.151] if (TRUE) { [18:02:02.151] base::sink(type = "output", split = FALSE) [18:02:02.151] if (TRUE) { [18:02:02.151] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.151] } [18:02:02.151] else { [18:02:02.151] ...future.result["stdout"] <- base::list(NULL) [18:02:02.151] } [18:02:02.151] base::close(...future.stdout) [18:02:02.151] ...future.stdout <- NULL [18:02:02.151] } [18:02:02.151] ...future.result$conditions <- ...future.conditions [18:02:02.151] ...future.result$finished <- base::Sys.time() [18:02:02.151] ...future.result [18:02:02.151] } [18:02:02.156] Exporting 1 global objects (56 bytes) to cluster node #2 ... [18:02:02.156] Exporting 'a' (56 bytes) to cluster node #2 ... [18:02:02.157] Exporting 'a' (56 bytes) to cluster node #2 ... DONE [18:02:02.157] Exporting 1 global objects (56 bytes) to cluster node #2 ... DONE [18:02:02.158] MultisessionFuture started [18:02:02.158] - Launch lazy future ... done [18:02:02.158] run() for 'MultisessionFuture' ... done [18:02:02.158] result() for ClusterFuture ... [18:02:02.158] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.158] - Validating connection of MultisessionFuture [18:02:02.174] - received message: FutureResult [18:02:02.174] - Received FutureResult [18:02:02.174] - Erased future from FutureRegistry [18:02:02.175] result() for ClusterFuture ... [18:02:02.175] - result already collected: FutureResult [18:02:02.175] result() for ClusterFuture ... done [18:02:02.175] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.175] result() for ClusterFuture ... done [18:02:02.175] result() for ClusterFuture ... [18:02:02.176] - result already collected: FutureResult [18:02:02.176] result() for ClusterFuture ... done y = 6 Warning: 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' [18:02:02.176] getGlobalsAndPackages() ... Warning: 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' [18:02:02.177] Searching for globals... Warning: 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' [18:02:02.179] - globals found: [5] '{', '<-', '*', 'a', 'ii' [18:02:02.179] Searching for globals ... DONE [18:02:02.179] Resolving globals: TRUE [18:02:02.180] Resolving any globals that are futures ... [18:02:02.180] - globals: [5] '{', '<-', '*', 'a', 'ii' [18:02:02.180] Resolving any globals that are futures ... DONE [18:02:02.180] Resolving futures part of globals (recursively) ... [18:02:02.181] resolve() on list ... [18:02:02.181] recursive: 99 [18:02:02.181] length: 2 [18:02:02.181] elements: 'a', 'ii' [18:02:02.181] length: 1 (resolved future 1) [18:02:02.182] length: 0 (resolved future 2) [18:02:02.182] resolve() on list ... DONE [18:02:02.182] - globals: [2] 'a', 'ii' [18:02:02.182] Resolving futures part of globals (recursively) ... DONE [18:02:02.182] The total size of the 2 globals is 112 bytes (112 bytes) [18:02:02.183] 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') [18:02:02.183] - globals: [2] 'a', 'ii' [18:02:02.183] [18:02:02.183] getGlobalsAndPackages() ... DONE [18:02:02.184] run() for 'Future' ... [18:02:02.184] - state: 'created' [18:02:02.184] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.198] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.199] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.199] - Field: 'node' [18:02:02.199] - Field: 'label' [18:02:02.199] - Field: 'local' [18:02:02.199] - Field: 'owner' [18:02:02.199] - Field: 'envir' [18:02:02.200] - Field: 'workers' [18:02:02.200] - Field: 'packages' [18:02:02.200] - Field: 'gc' [18:02:02.200] - Field: 'conditions' [18:02:02.200] - Field: 'persistent' [18:02:02.201] - Field: 'expr' [18:02:02.201] - Field: 'uuid' [18:02:02.201] - Field: 'seed' [18:02:02.201] - Field: 'version' [18:02:02.201] - Field: 'result' [18:02:02.201] - Field: 'asynchronous' [18:02:02.202] - Field: 'calls' [18:02:02.202] - Field: 'globals' [18:02:02.202] - Field: 'stdout' [18:02:02.202] - Field: 'earlySignal' [18:02:02.202] - Field: 'lazy' [18:02:02.203] - Field: 'state' [18:02:02.203] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.203] - Launch lazy future ... [18:02:02.203] Packages needed by the future expression (n = 0): [18:02:02.203] Packages needed by future strategies (n = 0): [18:02:02.204] { [18:02:02.204] { [18:02:02.204] { [18:02:02.204] ...future.startTime <- base::Sys.time() [18:02:02.204] { [18:02:02.204] { [18:02:02.204] { [18:02:02.204] { [18:02:02.204] base::local({ [18:02:02.204] has_future <- base::requireNamespace("future", [18:02:02.204] quietly = TRUE) [18:02:02.204] if (has_future) { [18:02:02.204] ns <- base::getNamespace("future") [18:02:02.204] version <- ns[[".package"]][["version"]] [18:02:02.204] if (is.null(version)) [18:02:02.204] version <- utils::packageVersion("future") [18:02:02.204] } [18:02:02.204] else { [18:02:02.204] version <- NULL [18:02:02.204] } [18:02:02.204] if (!has_future || version < "1.8.0") { [18:02:02.204] info <- base::c(r_version = base::gsub("R version ", [18:02:02.204] "", base::R.version$version.string), [18:02:02.204] platform = base::sprintf("%s (%s-bit)", [18:02:02.204] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.204] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.204] "release", "version")], collapse = " "), [18:02:02.204] hostname = base::Sys.info()[["nodename"]]) [18:02:02.204] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.204] info) [18:02:02.204] info <- base::paste(info, collapse = "; ") [18:02:02.204] if (!has_future) { [18:02:02.204] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.204] info) [18:02:02.204] } [18:02:02.204] else { [18:02:02.204] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.204] info, version) [18:02:02.204] } [18:02:02.204] base::stop(msg) [18:02:02.204] } [18:02:02.204] }) [18:02:02.204] } [18:02:02.204] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.204] base::options(mc.cores = 1L) [18:02:02.204] } [18:02:02.204] options(future.plan = NULL) [18:02:02.204] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.204] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.204] } [18:02:02.204] ...future.workdir <- getwd() [18:02:02.204] } [18:02:02.204] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.204] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.204] } [18:02:02.204] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.204] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.204] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.204] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.204] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.204] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.204] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.204] base::names(...future.oldOptions)) [18:02:02.204] } [18:02:02.204] if (FALSE) { [18:02:02.204] } [18:02:02.204] else { [18:02:02.204] if (TRUE) { [18:02:02.204] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.204] open = "w") [18:02:02.204] } [18:02:02.204] else { [18:02:02.204] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.204] windows = "NUL", "/dev/null"), open = "w") [18:02:02.204] } [18:02:02.204] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.204] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.204] base::sink(type = "output", split = FALSE) [18:02:02.204] base::close(...future.stdout) [18:02:02.204] }, add = TRUE) [18:02:02.204] } [18:02:02.204] ...future.frame <- base::sys.nframe() [18:02:02.204] ...future.conditions <- base::list() [18:02:02.204] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.204] if (FALSE) { [18:02:02.204] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.204] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.204] } [18:02:02.204] ...future.result <- base::tryCatch({ [18:02:02.204] base::withCallingHandlers({ [18:02:02.204] ...future.value <- base::withVisible(base::local({ [18:02:02.204] ...future.makeSendCondition <- local({ [18:02:02.204] sendCondition <- NULL [18:02:02.204] function(frame = 1L) { [18:02:02.204] if (is.function(sendCondition)) [18:02:02.204] return(sendCondition) [18:02:02.204] ns <- getNamespace("parallel") [18:02:02.204] if (exists("sendData", mode = "function", [18:02:02.204] envir = ns)) { [18:02:02.204] parallel_sendData <- get("sendData", mode = "function", [18:02:02.204] envir = ns) [18:02:02.204] envir <- sys.frame(frame) [18:02:02.204] master <- NULL [18:02:02.204] while (!identical(envir, .GlobalEnv) && [18:02:02.204] !identical(envir, emptyenv())) { [18:02:02.204] if (exists("master", mode = "list", envir = envir, [18:02:02.204] inherits = FALSE)) { [18:02:02.204] master <- get("master", mode = "list", [18:02:02.204] envir = envir, inherits = FALSE) [18:02:02.204] if (inherits(master, c("SOCKnode", [18:02:02.204] "SOCK0node"))) { [18:02:02.204] sendCondition <<- function(cond) { [18:02:02.204] data <- list(type = "VALUE", value = cond, [18:02:02.204] success = TRUE) [18:02:02.204] parallel_sendData(master, data) [18:02:02.204] } [18:02:02.204] return(sendCondition) [18:02:02.204] } [18:02:02.204] } [18:02:02.204] frame <- frame + 1L [18:02:02.204] envir <- sys.frame(frame) [18:02:02.204] } [18:02:02.204] } [18:02:02.204] sendCondition <<- function(cond) NULL [18:02:02.204] } [18:02:02.204] }) [18:02:02.204] withCallingHandlers({ [18:02:02.204] { [18:02:02.204] b <- a * ii [18:02:02.204] a <- 0 [18:02:02.204] b [18:02:02.204] } [18:02:02.204] }, immediateCondition = function(cond) { [18:02:02.204] sendCondition <- ...future.makeSendCondition() [18:02:02.204] sendCondition(cond) [18:02:02.204] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.204] { [18:02:02.204] inherits <- base::inherits [18:02:02.204] invokeRestart <- base::invokeRestart [18:02:02.204] is.null <- base::is.null [18:02:02.204] muffled <- FALSE [18:02:02.204] if (inherits(cond, "message")) { [18:02:02.204] muffled <- grepl(pattern, "muffleMessage") [18:02:02.204] if (muffled) [18:02:02.204] invokeRestart("muffleMessage") [18:02:02.204] } [18:02:02.204] else if (inherits(cond, "warning")) { [18:02:02.204] muffled <- grepl(pattern, "muffleWarning") [18:02:02.204] if (muffled) [18:02:02.204] invokeRestart("muffleWarning") [18:02:02.204] } [18:02:02.204] else if (inherits(cond, "condition")) { [18:02:02.204] if (!is.null(pattern)) { [18:02:02.204] computeRestarts <- base::computeRestarts [18:02:02.204] grepl <- base::grepl [18:02:02.204] restarts <- computeRestarts(cond) [18:02:02.204] for (restart in restarts) { [18:02:02.204] name <- restart$name [18:02:02.204] if (is.null(name)) [18:02:02.204] next [18:02:02.204] if (!grepl(pattern, name)) [18:02:02.204] next [18:02:02.204] invokeRestart(restart) [18:02:02.204] muffled <- TRUE [18:02:02.204] break [18:02:02.204] } [18:02:02.204] } [18:02:02.204] } [18:02:02.204] invisible(muffled) [18:02:02.204] } [18:02:02.204] muffleCondition(cond) [18:02:02.204] }) [18:02:02.204] })) [18:02:02.204] future::FutureResult(value = ...future.value$value, [18:02:02.204] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.204] ...future.rng), globalenv = if (FALSE) [18:02:02.204] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.204] ...future.globalenv.names)) [18:02:02.204] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.204] }, condition = base::local({ [18:02:02.204] c <- base::c [18:02:02.204] inherits <- base::inherits [18:02:02.204] invokeRestart <- base::invokeRestart [18:02:02.204] length <- base::length [18:02:02.204] list <- base::list [18:02:02.204] seq.int <- base::seq.int [18:02:02.204] signalCondition <- base::signalCondition [18:02:02.204] sys.calls <- base::sys.calls [18:02:02.204] `[[` <- base::`[[` [18:02:02.204] `+` <- base::`+` [18:02:02.204] `<<-` <- base::`<<-` [18:02:02.204] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.204] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.204] 3L)] [18:02:02.204] } [18:02:02.204] function(cond) { [18:02:02.204] is_error <- inherits(cond, "error") [18:02:02.204] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.204] NULL) [18:02:02.204] if (is_error) { [18:02:02.204] sessionInformation <- function() { [18:02:02.204] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.204] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.204] search = base::search(), system = base::Sys.info()) [18:02:02.204] } [18:02:02.204] ...future.conditions[[length(...future.conditions) + [18:02:02.204] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.204] cond$call), session = sessionInformation(), [18:02:02.204] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.204] signalCondition(cond) [18:02:02.204] } [18:02:02.204] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.204] "immediateCondition"))) { [18:02:02.204] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.204] ...future.conditions[[length(...future.conditions) + [18:02:02.204] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.204] if (TRUE && !signal) { [18:02:02.204] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.204] { [18:02:02.204] inherits <- base::inherits [18:02:02.204] invokeRestart <- base::invokeRestart [18:02:02.204] is.null <- base::is.null [18:02:02.204] muffled <- FALSE [18:02:02.204] if (inherits(cond, "message")) { [18:02:02.204] muffled <- grepl(pattern, "muffleMessage") [18:02:02.204] if (muffled) [18:02:02.204] invokeRestart("muffleMessage") [18:02:02.204] } [18:02:02.204] else if (inherits(cond, "warning")) { [18:02:02.204] muffled <- grepl(pattern, "muffleWarning") [18:02:02.204] if (muffled) [18:02:02.204] invokeRestart("muffleWarning") [18:02:02.204] } [18:02:02.204] else if (inherits(cond, "condition")) { [18:02:02.204] if (!is.null(pattern)) { [18:02:02.204] computeRestarts <- base::computeRestarts [18:02:02.204] grepl <- base::grepl [18:02:02.204] restarts <- computeRestarts(cond) [18:02:02.204] for (restart in restarts) { [18:02:02.204] name <- restart$name [18:02:02.204] if (is.null(name)) [18:02:02.204] next [18:02:02.204] if (!grepl(pattern, name)) [18:02:02.204] next [18:02:02.204] invokeRestart(restart) [18:02:02.204] muffled <- TRUE [18:02:02.204] break [18:02:02.204] } [18:02:02.204] } [18:02:02.204] } [18:02:02.204] invisible(muffled) [18:02:02.204] } [18:02:02.204] muffleCondition(cond, pattern = "^muffle") [18:02:02.204] } [18:02:02.204] } [18:02:02.204] else { [18:02:02.204] if (TRUE) { [18:02:02.204] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.204] { [18:02:02.204] inherits <- base::inherits [18:02:02.204] invokeRestart <- base::invokeRestart [18:02:02.204] is.null <- base::is.null [18:02:02.204] muffled <- FALSE [18:02:02.204] if (inherits(cond, "message")) { [18:02:02.204] muffled <- grepl(pattern, "muffleMessage") [18:02:02.204] if (muffled) [18:02:02.204] invokeRestart("muffleMessage") [18:02:02.204] } [18:02:02.204] else if (inherits(cond, "warning")) { [18:02:02.204] muffled <- grepl(pattern, "muffleWarning") [18:02:02.204] if (muffled) [18:02:02.204] invokeRestart("muffleWarning") [18:02:02.204] } [18:02:02.204] else if (inherits(cond, "condition")) { [18:02:02.204] if (!is.null(pattern)) { [18:02:02.204] computeRestarts <- base::computeRestarts [18:02:02.204] grepl <- base::grepl [18:02:02.204] restarts <- computeRestarts(cond) [18:02:02.204] for (restart in restarts) { [18:02:02.204] name <- restart$name [18:02:02.204] if (is.null(name)) [18:02:02.204] next [18:02:02.204] if (!grepl(pattern, name)) [18:02:02.204] next [18:02:02.204] invokeRestart(restart) [18:02:02.204] muffled <- TRUE [18:02:02.204] break [18:02:02.204] } [18:02:02.204] } [18:02:02.204] } [18:02:02.204] invisible(muffled) [18:02:02.204] } [18:02:02.204] muffleCondition(cond, pattern = "^muffle") [18:02:02.204] } [18:02:02.204] } [18:02:02.204] } [18:02:02.204] })) [18:02:02.204] }, error = function(ex) { [18:02:02.204] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.204] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.204] ...future.rng), started = ...future.startTime, [18:02:02.204] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.204] version = "1.8"), class = "FutureResult") [18:02:02.204] }, finally = { [18:02:02.204] if (!identical(...future.workdir, getwd())) [18:02:02.204] setwd(...future.workdir) [18:02:02.204] { [18:02:02.204] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.204] ...future.oldOptions$nwarnings <- NULL [18:02:02.204] } [18:02:02.204] base::options(...future.oldOptions) [18:02:02.204] if (.Platform$OS.type == "windows") { [18:02:02.204] old_names <- names(...future.oldEnvVars) [18:02:02.204] envs <- base::Sys.getenv() [18:02:02.204] names <- names(envs) [18:02:02.204] common <- intersect(names, old_names) [18:02:02.204] added <- setdiff(names, old_names) [18:02:02.204] removed <- setdiff(old_names, names) [18:02:02.204] changed <- common[...future.oldEnvVars[common] != [18:02:02.204] envs[common]] [18:02:02.204] NAMES <- toupper(changed) [18:02:02.204] args <- list() [18:02:02.204] for (kk in seq_along(NAMES)) { [18:02:02.204] name <- changed[[kk]] [18:02:02.204] NAME <- NAMES[[kk]] [18:02:02.204] if (name != NAME && is.element(NAME, old_names)) [18:02:02.204] next [18:02:02.204] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.204] } [18:02:02.204] NAMES <- toupper(added) [18:02:02.204] for (kk in seq_along(NAMES)) { [18:02:02.204] name <- added[[kk]] [18:02:02.204] NAME <- NAMES[[kk]] [18:02:02.204] if (name != NAME && is.element(NAME, old_names)) [18:02:02.204] next [18:02:02.204] args[[name]] <- "" [18:02:02.204] } [18:02:02.204] NAMES <- toupper(removed) [18:02:02.204] for (kk in seq_along(NAMES)) { [18:02:02.204] name <- removed[[kk]] [18:02:02.204] NAME <- NAMES[[kk]] [18:02:02.204] if (name != NAME && is.element(NAME, old_names)) [18:02:02.204] next [18:02:02.204] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.204] } [18:02:02.204] if (length(args) > 0) [18:02:02.204] base::do.call(base::Sys.setenv, args = args) [18:02:02.204] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.204] } [18:02:02.204] else { [18:02:02.204] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.204] } [18:02:02.204] { [18:02:02.204] if (base::length(...future.futureOptionsAdded) > [18:02:02.204] 0L) { [18:02:02.204] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.204] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.204] base::options(opts) [18:02:02.204] } [18:02:02.204] { [18:02:02.204] { [18:02:02.204] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.204] NULL [18:02:02.204] } [18:02:02.204] options(future.plan = NULL) [18:02:02.204] if (is.na(NA_character_)) [18:02:02.204] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.204] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.204] future::plan(list(function (..., workers = availableCores(), [18:02:02.204] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.204] envir = parent.frame()) [18:02:02.204] { [18:02:02.204] if (is.function(workers)) [18:02:02.204] workers <- workers() [18:02:02.204] workers <- structure(as.integer(workers), [18:02:02.204] class = class(workers)) [18:02:02.204] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.204] workers >= 1) [18:02:02.204] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.204] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.204] } [18:02:02.204] future <- MultisessionFuture(..., workers = workers, [18:02:02.204] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.204] envir = envir) [18:02:02.204] if (!future$lazy) [18:02:02.204] future <- run(future) [18:02:02.204] invisible(future) [18:02:02.204] }), .cleanup = FALSE, .init = FALSE) [18:02:02.204] } [18:02:02.204] } [18:02:02.204] } [18:02:02.204] }) [18:02:02.204] if (TRUE) { [18:02:02.204] base::sink(type = "output", split = FALSE) [18:02:02.204] if (TRUE) { [18:02:02.204] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.204] } [18:02:02.204] else { [18:02:02.204] ...future.result["stdout"] <- base::list(NULL) [18:02:02.204] } [18:02:02.204] base::close(...future.stdout) [18:02:02.204] ...future.stdout <- NULL [18:02:02.204] } [18:02:02.204] ...future.result$conditions <- ...future.conditions [18:02:02.204] ...future.result$finished <- base::Sys.time() [18:02:02.204] ...future.result [18:02:02.204] } [18:02:02.209] Exporting 2 global objects (112 bytes) to cluster node #2 ... [18:02:02.209] Exporting 'a' (56 bytes) to cluster node #2 ... [18:02:02.210] Exporting 'a' (56 bytes) to cluster node #2 ... DONE [18:02:02.210] Exporting 'ii' (56 bytes) to cluster node #2 ... [18:02:02.211] Exporting 'ii' (56 bytes) to cluster node #2 ... DONE [18:02:02.211] Exporting 2 global objects (112 bytes) to cluster node #2 ... DONE [18:02:02.211] MultisessionFuture started [18:02:02.212] - Launch lazy future ... done [18:02:02.212] run() for 'MultisessionFuture' ... done Warning: 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' [18:02:02.212] getGlobalsAndPackages() ... Warning: 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' [18:02:02.213] Searching for globals... Warning: 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' [18:02:02.215] - globals found: [5] '{', '<-', '*', 'a', 'ii' [18:02:02.215] Searching for globals ... DONE [18:02:02.216] Resolving globals: TRUE [18:02:02.216] Resolving any globals that are futures ... [18:02:02.216] - globals: [5] '{', '<-', '*', 'a', 'ii' [18:02:02.216] Resolving any globals that are futures ... DONE [18:02:02.216] Resolving futures part of globals (recursively) ... [18:02:02.217] resolve() on list ... [18:02:02.217] recursive: 99 [18:02:02.217] length: 2 [18:02:02.217] elements: 'a', 'ii' [18:02:02.217] length: 1 (resolved future 1) [18:02:02.218] length: 0 (resolved future 2) [18:02:02.218] resolve() on list ... DONE [18:02:02.218] - globals: [2] 'a', 'ii' [18:02:02.218] Resolving futures part of globals (recursively) ... DONE [18:02:02.218] The total size of the 2 globals is 112 bytes (112 bytes) [18:02:02.219] 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') [18:02:02.219] - globals: [2] 'a', 'ii' [18:02:02.219] [18:02:02.219] getGlobalsAndPackages() ... DONE [18:02:02.220] run() for 'Future' ... [18:02:02.220] - state: 'created' [18:02:02.220] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.233] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.234] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.234] - Field: 'node' [18:02:02.234] - Field: 'label' [18:02:02.234] - Field: 'local' [18:02:02.234] - Field: 'owner' [18:02:02.235] - Field: 'envir' [18:02:02.235] - Field: 'workers' [18:02:02.235] - Field: 'packages' [18:02:02.235] - Field: 'gc' [18:02:02.235] - Field: 'conditions' [18:02:02.236] - Field: 'persistent' [18:02:02.236] - Field: 'expr' [18:02:02.236] - Field: 'uuid' [18:02:02.236] - Field: 'seed' [18:02:02.236] - Field: 'version' [18:02:02.236] - Field: 'result' [18:02:02.237] - Field: 'asynchronous' [18:02:02.237] - Field: 'calls' [18:02:02.237] - Field: 'globals' [18:02:02.237] - Field: 'stdout' [18:02:02.237] - Field: 'earlySignal' [18:02:02.237] - Field: 'lazy' [18:02:02.238] - Field: 'state' [18:02:02.238] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.238] - Launch lazy future ... [18:02:02.238] Packages needed by the future expression (n = 0): [18:02:02.239] Packages needed by future strategies (n = 0): [18:02:02.239] { [18:02:02.239] { [18:02:02.239] { [18:02:02.239] ...future.startTime <- base::Sys.time() [18:02:02.239] { [18:02:02.239] { [18:02:02.239] { [18:02:02.239] { [18:02:02.239] base::local({ [18:02:02.239] has_future <- base::requireNamespace("future", [18:02:02.239] quietly = TRUE) [18:02:02.239] if (has_future) { [18:02:02.239] ns <- base::getNamespace("future") [18:02:02.239] version <- ns[[".package"]][["version"]] [18:02:02.239] if (is.null(version)) [18:02:02.239] version <- utils::packageVersion("future") [18:02:02.239] } [18:02:02.239] else { [18:02:02.239] version <- NULL [18:02:02.239] } [18:02:02.239] if (!has_future || version < "1.8.0") { [18:02:02.239] info <- base::c(r_version = base::gsub("R version ", [18:02:02.239] "", base::R.version$version.string), [18:02:02.239] platform = base::sprintf("%s (%s-bit)", [18:02:02.239] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.239] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.239] "release", "version")], collapse = " "), [18:02:02.239] hostname = base::Sys.info()[["nodename"]]) [18:02:02.239] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.239] info) [18:02:02.239] info <- base::paste(info, collapse = "; ") [18:02:02.239] if (!has_future) { [18:02:02.239] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.239] info) [18:02:02.239] } [18:02:02.239] else { [18:02:02.239] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.239] info, version) [18:02:02.239] } [18:02:02.239] base::stop(msg) [18:02:02.239] } [18:02:02.239] }) [18:02:02.239] } [18:02:02.239] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.239] base::options(mc.cores = 1L) [18:02:02.239] } [18:02:02.239] options(future.plan = NULL) [18:02:02.239] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.239] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.239] } [18:02:02.239] ...future.workdir <- getwd() [18:02:02.239] } [18:02:02.239] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.239] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.239] } [18:02:02.239] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.239] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.239] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.239] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.239] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.239] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.239] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.239] base::names(...future.oldOptions)) [18:02:02.239] } [18:02:02.239] if (FALSE) { [18:02:02.239] } [18:02:02.239] else { [18:02:02.239] if (TRUE) { [18:02:02.239] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.239] open = "w") [18:02:02.239] } [18:02:02.239] else { [18:02:02.239] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.239] windows = "NUL", "/dev/null"), open = "w") [18:02:02.239] } [18:02:02.239] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.239] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.239] base::sink(type = "output", split = FALSE) [18:02:02.239] base::close(...future.stdout) [18:02:02.239] }, add = TRUE) [18:02:02.239] } [18:02:02.239] ...future.frame <- base::sys.nframe() [18:02:02.239] ...future.conditions <- base::list() [18:02:02.239] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.239] if (FALSE) { [18:02:02.239] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.239] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.239] } [18:02:02.239] ...future.result <- base::tryCatch({ [18:02:02.239] base::withCallingHandlers({ [18:02:02.239] ...future.value <- base::withVisible(base::local({ [18:02:02.239] ...future.makeSendCondition <- local({ [18:02:02.239] sendCondition <- NULL [18:02:02.239] function(frame = 1L) { [18:02:02.239] if (is.function(sendCondition)) [18:02:02.239] return(sendCondition) [18:02:02.239] ns <- getNamespace("parallel") [18:02:02.239] if (exists("sendData", mode = "function", [18:02:02.239] envir = ns)) { [18:02:02.239] parallel_sendData <- get("sendData", mode = "function", [18:02:02.239] envir = ns) [18:02:02.239] envir <- sys.frame(frame) [18:02:02.239] master <- NULL [18:02:02.239] while (!identical(envir, .GlobalEnv) && [18:02:02.239] !identical(envir, emptyenv())) { [18:02:02.239] if (exists("master", mode = "list", envir = envir, [18:02:02.239] inherits = FALSE)) { [18:02:02.239] master <- get("master", mode = "list", [18:02:02.239] envir = envir, inherits = FALSE) [18:02:02.239] if (inherits(master, c("SOCKnode", [18:02:02.239] "SOCK0node"))) { [18:02:02.239] sendCondition <<- function(cond) { [18:02:02.239] data <- list(type = "VALUE", value = cond, [18:02:02.239] success = TRUE) [18:02:02.239] parallel_sendData(master, data) [18:02:02.239] } [18:02:02.239] return(sendCondition) [18:02:02.239] } [18:02:02.239] } [18:02:02.239] frame <- frame + 1L [18:02:02.239] envir <- sys.frame(frame) [18:02:02.239] } [18:02:02.239] } [18:02:02.239] sendCondition <<- function(cond) NULL [18:02:02.239] } [18:02:02.239] }) [18:02:02.239] withCallingHandlers({ [18:02:02.239] { [18:02:02.239] b <- a * ii [18:02:02.239] a <- 0 [18:02:02.239] b [18:02:02.239] } [18:02:02.239] }, immediateCondition = function(cond) { [18:02:02.239] sendCondition <- ...future.makeSendCondition() [18:02:02.239] sendCondition(cond) [18:02:02.239] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.239] { [18:02:02.239] inherits <- base::inherits [18:02:02.239] invokeRestart <- base::invokeRestart [18:02:02.239] is.null <- base::is.null [18:02:02.239] muffled <- FALSE [18:02:02.239] if (inherits(cond, "message")) { [18:02:02.239] muffled <- grepl(pattern, "muffleMessage") [18:02:02.239] if (muffled) [18:02:02.239] invokeRestart("muffleMessage") [18:02:02.239] } [18:02:02.239] else if (inherits(cond, "warning")) { [18:02:02.239] muffled <- grepl(pattern, "muffleWarning") [18:02:02.239] if (muffled) [18:02:02.239] invokeRestart("muffleWarning") [18:02:02.239] } [18:02:02.239] else if (inherits(cond, "condition")) { [18:02:02.239] if (!is.null(pattern)) { [18:02:02.239] computeRestarts <- base::computeRestarts [18:02:02.239] grepl <- base::grepl [18:02:02.239] restarts <- computeRestarts(cond) [18:02:02.239] for (restart in restarts) { [18:02:02.239] name <- restart$name [18:02:02.239] if (is.null(name)) [18:02:02.239] next [18:02:02.239] if (!grepl(pattern, name)) [18:02:02.239] next [18:02:02.239] invokeRestart(restart) [18:02:02.239] muffled <- TRUE [18:02:02.239] break [18:02:02.239] } [18:02:02.239] } [18:02:02.239] } [18:02:02.239] invisible(muffled) [18:02:02.239] } [18:02:02.239] muffleCondition(cond) [18:02:02.239] }) [18:02:02.239] })) [18:02:02.239] future::FutureResult(value = ...future.value$value, [18:02:02.239] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.239] ...future.rng), globalenv = if (FALSE) [18:02:02.239] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.239] ...future.globalenv.names)) [18:02:02.239] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.239] }, condition = base::local({ [18:02:02.239] c <- base::c [18:02:02.239] inherits <- base::inherits [18:02:02.239] invokeRestart <- base::invokeRestart [18:02:02.239] length <- base::length [18:02:02.239] list <- base::list [18:02:02.239] seq.int <- base::seq.int [18:02:02.239] signalCondition <- base::signalCondition [18:02:02.239] sys.calls <- base::sys.calls [18:02:02.239] `[[` <- base::`[[` [18:02:02.239] `+` <- base::`+` [18:02:02.239] `<<-` <- base::`<<-` [18:02:02.239] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.239] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.239] 3L)] [18:02:02.239] } [18:02:02.239] function(cond) { [18:02:02.239] is_error <- inherits(cond, "error") [18:02:02.239] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.239] NULL) [18:02:02.239] if (is_error) { [18:02:02.239] sessionInformation <- function() { [18:02:02.239] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.239] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.239] search = base::search(), system = base::Sys.info()) [18:02:02.239] } [18:02:02.239] ...future.conditions[[length(...future.conditions) + [18:02:02.239] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.239] cond$call), session = sessionInformation(), [18:02:02.239] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.239] signalCondition(cond) [18:02:02.239] } [18:02:02.239] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.239] "immediateCondition"))) { [18:02:02.239] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.239] ...future.conditions[[length(...future.conditions) + [18:02:02.239] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.239] if (TRUE && !signal) { [18:02:02.239] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.239] { [18:02:02.239] inherits <- base::inherits [18:02:02.239] invokeRestart <- base::invokeRestart [18:02:02.239] is.null <- base::is.null [18:02:02.239] muffled <- FALSE [18:02:02.239] if (inherits(cond, "message")) { [18:02:02.239] muffled <- grepl(pattern, "muffleMessage") [18:02:02.239] if (muffled) [18:02:02.239] invokeRestart("muffleMessage") [18:02:02.239] } [18:02:02.239] else if (inherits(cond, "warning")) { [18:02:02.239] muffled <- grepl(pattern, "muffleWarning") [18:02:02.239] if (muffled) [18:02:02.239] invokeRestart("muffleWarning") [18:02:02.239] } [18:02:02.239] else if (inherits(cond, "condition")) { [18:02:02.239] if (!is.null(pattern)) { [18:02:02.239] computeRestarts <- base::computeRestarts [18:02:02.239] grepl <- base::grepl [18:02:02.239] restarts <- computeRestarts(cond) [18:02:02.239] for (restart in restarts) { [18:02:02.239] name <- restart$name [18:02:02.239] if (is.null(name)) [18:02:02.239] next [18:02:02.239] if (!grepl(pattern, name)) [18:02:02.239] next [18:02:02.239] invokeRestart(restart) [18:02:02.239] muffled <- TRUE [18:02:02.239] break [18:02:02.239] } [18:02:02.239] } [18:02:02.239] } [18:02:02.239] invisible(muffled) [18:02:02.239] } [18:02:02.239] muffleCondition(cond, pattern = "^muffle") [18:02:02.239] } [18:02:02.239] } [18:02:02.239] else { [18:02:02.239] if (TRUE) { [18:02:02.239] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.239] { [18:02:02.239] inherits <- base::inherits [18:02:02.239] invokeRestart <- base::invokeRestart [18:02:02.239] is.null <- base::is.null [18:02:02.239] muffled <- FALSE [18:02:02.239] if (inherits(cond, "message")) { [18:02:02.239] muffled <- grepl(pattern, "muffleMessage") [18:02:02.239] if (muffled) [18:02:02.239] invokeRestart("muffleMessage") [18:02:02.239] } [18:02:02.239] else if (inherits(cond, "warning")) { [18:02:02.239] muffled <- grepl(pattern, "muffleWarning") [18:02:02.239] if (muffled) [18:02:02.239] invokeRestart("muffleWarning") [18:02:02.239] } [18:02:02.239] else if (inherits(cond, "condition")) { [18:02:02.239] if (!is.null(pattern)) { [18:02:02.239] computeRestarts <- base::computeRestarts [18:02:02.239] grepl <- base::grepl [18:02:02.239] restarts <- computeRestarts(cond) [18:02:02.239] for (restart in restarts) { [18:02:02.239] name <- restart$name [18:02:02.239] if (is.null(name)) [18:02:02.239] next [18:02:02.239] if (!grepl(pattern, name)) [18:02:02.239] next [18:02:02.239] invokeRestart(restart) [18:02:02.239] muffled <- TRUE [18:02:02.239] break [18:02:02.239] } [18:02:02.239] } [18:02:02.239] } [18:02:02.239] invisible(muffled) [18:02:02.239] } [18:02:02.239] muffleCondition(cond, pattern = "^muffle") [18:02:02.239] } [18:02:02.239] } [18:02:02.239] } [18:02:02.239] })) [18:02:02.239] }, error = function(ex) { [18:02:02.239] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.239] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.239] ...future.rng), started = ...future.startTime, [18:02:02.239] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.239] version = "1.8"), class = "FutureResult") [18:02:02.239] }, finally = { [18:02:02.239] if (!identical(...future.workdir, getwd())) [18:02:02.239] setwd(...future.workdir) [18:02:02.239] { [18:02:02.239] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.239] ...future.oldOptions$nwarnings <- NULL [18:02:02.239] } [18:02:02.239] base::options(...future.oldOptions) [18:02:02.239] if (.Platform$OS.type == "windows") { [18:02:02.239] old_names <- names(...future.oldEnvVars) [18:02:02.239] envs <- base::Sys.getenv() [18:02:02.239] names <- names(envs) [18:02:02.239] common <- intersect(names, old_names) [18:02:02.239] added <- setdiff(names, old_names) [18:02:02.239] removed <- setdiff(old_names, names) [18:02:02.239] changed <- common[...future.oldEnvVars[common] != [18:02:02.239] envs[common]] [18:02:02.239] NAMES <- toupper(changed) [18:02:02.239] args <- list() [18:02:02.239] for (kk in seq_along(NAMES)) { [18:02:02.239] name <- changed[[kk]] [18:02:02.239] NAME <- NAMES[[kk]] [18:02:02.239] if (name != NAME && is.element(NAME, old_names)) [18:02:02.239] next [18:02:02.239] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.239] } [18:02:02.239] NAMES <- toupper(added) [18:02:02.239] for (kk in seq_along(NAMES)) { [18:02:02.239] name <- added[[kk]] [18:02:02.239] NAME <- NAMES[[kk]] [18:02:02.239] if (name != NAME && is.element(NAME, old_names)) [18:02:02.239] next [18:02:02.239] args[[name]] <- "" [18:02:02.239] } [18:02:02.239] NAMES <- toupper(removed) [18:02:02.239] for (kk in seq_along(NAMES)) { [18:02:02.239] name <- removed[[kk]] [18:02:02.239] NAME <- NAMES[[kk]] [18:02:02.239] if (name != NAME && is.element(NAME, old_names)) [18:02:02.239] next [18:02:02.239] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.239] } [18:02:02.239] if (length(args) > 0) [18:02:02.239] base::do.call(base::Sys.setenv, args = args) [18:02:02.239] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.239] } [18:02:02.239] else { [18:02:02.239] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.239] } [18:02:02.239] { [18:02:02.239] if (base::length(...future.futureOptionsAdded) > [18:02:02.239] 0L) { [18:02:02.239] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.239] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.239] base::options(opts) [18:02:02.239] } [18:02:02.239] { [18:02:02.239] { [18:02:02.239] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.239] NULL [18:02:02.239] } [18:02:02.239] options(future.plan = NULL) [18:02:02.239] if (is.na(NA_character_)) [18:02:02.239] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.239] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.239] future::plan(list(function (..., workers = availableCores(), [18:02:02.239] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.239] envir = parent.frame()) [18:02:02.239] { [18:02:02.239] if (is.function(workers)) [18:02:02.239] workers <- workers() [18:02:02.239] workers <- structure(as.integer(workers), [18:02:02.239] class = class(workers)) [18:02:02.239] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.239] workers >= 1) [18:02:02.239] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.239] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.239] } [18:02:02.239] future <- MultisessionFuture(..., workers = workers, [18:02:02.239] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.239] envir = envir) [18:02:02.239] if (!future$lazy) [18:02:02.239] future <- run(future) [18:02:02.239] invisible(future) [18:02:02.239] }), .cleanup = FALSE, .init = FALSE) [18:02:02.239] } [18:02:02.239] } [18:02:02.239] } [18:02:02.239] }) [18:02:02.239] if (TRUE) { [18:02:02.239] base::sink(type = "output", split = FALSE) [18:02:02.239] if (TRUE) { [18:02:02.239] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.239] } [18:02:02.239] else { [18:02:02.239] ...future.result["stdout"] <- base::list(NULL) [18:02:02.239] } [18:02:02.239] base::close(...future.stdout) [18:02:02.239] ...future.stdout <- NULL [18:02:02.239] } [18:02:02.239] ...future.result$conditions <- ...future.conditions [18:02:02.239] ...future.result$finished <- base::Sys.time() [18:02:02.239] ...future.result [18:02:02.239] } [18:02:02.244] Poll #1 (0): usedNodes() = 2, workers = 2 [18:02:02.257] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.257] - Validating connection of MultisessionFuture [18:02:02.258] - received message: FutureResult [18:02:02.258] - Received FutureResult [18:02:02.258] - Erased future from FutureRegistry [18:02:02.259] result() for ClusterFuture ... [18:02:02.259] - result already collected: FutureResult [18:02:02.259] result() for ClusterFuture ... done [18:02:02.259] signalConditions() ... [18:02:02.259] - include = 'immediateCondition' [18:02:02.259] - exclude = [18:02:02.259] - resignal = FALSE [18:02:02.260] - Number of conditions: 1 [18:02:02.260] signalConditions() ... done [18:02:02.260] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.260] result() for ClusterFuture ... [18:02:02.260] - result already collected: FutureResult [18:02:02.260] result() for ClusterFuture ... done [18:02:02.261] result() for ClusterFuture ... [18:02:02.261] - result already collected: FutureResult [18:02:02.261] result() for ClusterFuture ... done [18:02:02.261] signalConditions() ... [18:02:02.261] - include = 'immediateCondition' [18:02:02.261] - exclude = [18:02:02.262] - resignal = FALSE [18:02:02.262] - Number of conditions: 1 [18:02:02.262] signalConditions() ... done [18:02:02.263] Exporting 2 global objects (112 bytes) to cluster node #1 ... [18:02:02.263] Exporting 'a' (56 bytes) to cluster node #1 ... [18:02:02.263] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [18:02:02.264] Exporting 'ii' (56 bytes) to cluster node #1 ... [18:02:02.264] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [18:02:02.264] Exporting 2 global objects (112 bytes) to cluster node #1 ... DONE [18:02:02.265] MultisessionFuture started [18:02:02.265] - Launch lazy future ... done [18:02:02.265] run() for 'MultisessionFuture' ... done Warning: 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' [18:02:02.266] getGlobalsAndPackages() ... Warning: 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' [18:02:02.266] Searching for globals... Warning: 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' [18:02:02.269] - globals found: [5] '{', '<-', '*', 'a', 'ii' [18:02:02.269] Searching for globals ... DONE [18:02:02.269] Resolving globals: TRUE [18:02:02.269] Resolving any globals that are futures ... [18:02:02.269] - globals: [5] '{', '<-', '*', 'a', 'ii' [18:02:02.269] Resolving any globals that are futures ... DONE [18:02:02.270] Resolving futures part of globals (recursively) ... [18:02:02.270] resolve() on list ... [18:02:02.270] recursive: 99 [18:02:02.271] length: 2 [18:02:02.271] elements: 'a', 'ii' [18:02:02.271] length: 1 (resolved future 1) [18:02:02.271] length: 0 (resolved future 2) [18:02:02.271] resolve() on list ... DONE [18:02:02.271] - globals: [2] 'a', 'ii' [18:02:02.272] Resolving futures part of globals (recursively) ... DONE [18:02:02.272] The total size of the 2 globals is 112 bytes (112 bytes) [18:02:02.272] 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') [18:02:02.273] - globals: [2] 'a', 'ii' [18:02:02.273] [18:02:02.273] getGlobalsAndPackages() ... DONE [18:02:02.273] run() for 'Future' ... [18:02:02.274] - state: 'created' [18:02:02.274] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.288] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.288] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.288] - Field: 'node' [18:02:02.288] - Field: 'label' [18:02:02.289] - Field: 'local' [18:02:02.289] - Field: 'owner' [18:02:02.289] - Field: 'envir' [18:02:02.289] - Field: 'workers' [18:02:02.289] - Field: 'packages' [18:02:02.289] - Field: 'gc' [18:02:02.290] - Field: 'conditions' [18:02:02.290] - Field: 'persistent' [18:02:02.290] - Field: 'expr' [18:02:02.290] - Field: 'uuid' [18:02:02.290] - Field: 'seed' [18:02:02.290] - Field: 'version' [18:02:02.291] - Field: 'result' [18:02:02.291] - Field: 'asynchronous' [18:02:02.291] - Field: 'calls' [18:02:02.291] - Field: 'globals' [18:02:02.291] - Field: 'stdout' [18:02:02.292] - Field: 'earlySignal' [18:02:02.292] - Field: 'lazy' [18:02:02.292] - Field: 'state' [18:02:02.292] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.292] - Launch lazy future ... [18:02:02.293] Packages needed by the future expression (n = 0): [18:02:02.293] Packages needed by future strategies (n = 0): [18:02:02.293] { [18:02:02.293] { [18:02:02.293] { [18:02:02.293] ...future.startTime <- base::Sys.time() [18:02:02.293] { [18:02:02.293] { [18:02:02.293] { [18:02:02.293] { [18:02:02.293] base::local({ [18:02:02.293] has_future <- base::requireNamespace("future", [18:02:02.293] quietly = TRUE) [18:02:02.293] if (has_future) { [18:02:02.293] ns <- base::getNamespace("future") [18:02:02.293] version <- ns[[".package"]][["version"]] [18:02:02.293] if (is.null(version)) [18:02:02.293] version <- utils::packageVersion("future") [18:02:02.293] } [18:02:02.293] else { [18:02:02.293] version <- NULL [18:02:02.293] } [18:02:02.293] if (!has_future || version < "1.8.0") { [18:02:02.293] info <- base::c(r_version = base::gsub("R version ", [18:02:02.293] "", base::R.version$version.string), [18:02:02.293] platform = base::sprintf("%s (%s-bit)", [18:02:02.293] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.293] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.293] "release", "version")], collapse = " "), [18:02:02.293] hostname = base::Sys.info()[["nodename"]]) [18:02:02.293] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.293] info) [18:02:02.293] info <- base::paste(info, collapse = "; ") [18:02:02.293] if (!has_future) { [18:02:02.293] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.293] info) [18:02:02.293] } [18:02:02.293] else { [18:02:02.293] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.293] info, version) [18:02:02.293] } [18:02:02.293] base::stop(msg) [18:02:02.293] } [18:02:02.293] }) [18:02:02.293] } [18:02:02.293] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.293] base::options(mc.cores = 1L) [18:02:02.293] } [18:02:02.293] options(future.plan = NULL) [18:02:02.293] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.293] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.293] } [18:02:02.293] ...future.workdir <- getwd() [18:02:02.293] } [18:02:02.293] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.293] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.293] } [18:02:02.293] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.293] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.293] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.293] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.293] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.293] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.293] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.293] base::names(...future.oldOptions)) [18:02:02.293] } [18:02:02.293] if (FALSE) { [18:02:02.293] } [18:02:02.293] else { [18:02:02.293] if (TRUE) { [18:02:02.293] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.293] open = "w") [18:02:02.293] } [18:02:02.293] else { [18:02:02.293] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.293] windows = "NUL", "/dev/null"), open = "w") [18:02:02.293] } [18:02:02.293] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.293] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.293] base::sink(type = "output", split = FALSE) [18:02:02.293] base::close(...future.stdout) [18:02:02.293] }, add = TRUE) [18:02:02.293] } [18:02:02.293] ...future.frame <- base::sys.nframe() [18:02:02.293] ...future.conditions <- base::list() [18:02:02.293] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.293] if (FALSE) { [18:02:02.293] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.293] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.293] } [18:02:02.293] ...future.result <- base::tryCatch({ [18:02:02.293] base::withCallingHandlers({ [18:02:02.293] ...future.value <- base::withVisible(base::local({ [18:02:02.293] ...future.makeSendCondition <- local({ [18:02:02.293] sendCondition <- NULL [18:02:02.293] function(frame = 1L) { [18:02:02.293] if (is.function(sendCondition)) [18:02:02.293] return(sendCondition) [18:02:02.293] ns <- getNamespace("parallel") [18:02:02.293] if (exists("sendData", mode = "function", [18:02:02.293] envir = ns)) { [18:02:02.293] parallel_sendData <- get("sendData", mode = "function", [18:02:02.293] envir = ns) [18:02:02.293] envir <- sys.frame(frame) [18:02:02.293] master <- NULL [18:02:02.293] while (!identical(envir, .GlobalEnv) && [18:02:02.293] !identical(envir, emptyenv())) { [18:02:02.293] if (exists("master", mode = "list", envir = envir, [18:02:02.293] inherits = FALSE)) { [18:02:02.293] master <- get("master", mode = "list", [18:02:02.293] envir = envir, inherits = FALSE) [18:02:02.293] if (inherits(master, c("SOCKnode", [18:02:02.293] "SOCK0node"))) { [18:02:02.293] sendCondition <<- function(cond) { [18:02:02.293] data <- list(type = "VALUE", value = cond, [18:02:02.293] success = TRUE) [18:02:02.293] parallel_sendData(master, data) [18:02:02.293] } [18:02:02.293] return(sendCondition) [18:02:02.293] } [18:02:02.293] } [18:02:02.293] frame <- frame + 1L [18:02:02.293] envir <- sys.frame(frame) [18:02:02.293] } [18:02:02.293] } [18:02:02.293] sendCondition <<- function(cond) NULL [18:02:02.293] } [18:02:02.293] }) [18:02:02.293] withCallingHandlers({ [18:02:02.293] { [18:02:02.293] b <- a * ii [18:02:02.293] a <- 0 [18:02:02.293] b [18:02:02.293] } [18:02:02.293] }, immediateCondition = function(cond) { [18:02:02.293] sendCondition <- ...future.makeSendCondition() [18:02:02.293] sendCondition(cond) [18:02:02.293] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.293] { [18:02:02.293] inherits <- base::inherits [18:02:02.293] invokeRestart <- base::invokeRestart [18:02:02.293] is.null <- base::is.null [18:02:02.293] muffled <- FALSE [18:02:02.293] if (inherits(cond, "message")) { [18:02:02.293] muffled <- grepl(pattern, "muffleMessage") [18:02:02.293] if (muffled) [18:02:02.293] invokeRestart("muffleMessage") [18:02:02.293] } [18:02:02.293] else if (inherits(cond, "warning")) { [18:02:02.293] muffled <- grepl(pattern, "muffleWarning") [18:02:02.293] if (muffled) [18:02:02.293] invokeRestart("muffleWarning") [18:02:02.293] } [18:02:02.293] else if (inherits(cond, "condition")) { [18:02:02.293] if (!is.null(pattern)) { [18:02:02.293] computeRestarts <- base::computeRestarts [18:02:02.293] grepl <- base::grepl [18:02:02.293] restarts <- computeRestarts(cond) [18:02:02.293] for (restart in restarts) { [18:02:02.293] name <- restart$name [18:02:02.293] if (is.null(name)) [18:02:02.293] next [18:02:02.293] if (!grepl(pattern, name)) [18:02:02.293] next [18:02:02.293] invokeRestart(restart) [18:02:02.293] muffled <- TRUE [18:02:02.293] break [18:02:02.293] } [18:02:02.293] } [18:02:02.293] } [18:02:02.293] invisible(muffled) [18:02:02.293] } [18:02:02.293] muffleCondition(cond) [18:02:02.293] }) [18:02:02.293] })) [18:02:02.293] future::FutureResult(value = ...future.value$value, [18:02:02.293] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.293] ...future.rng), globalenv = if (FALSE) [18:02:02.293] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.293] ...future.globalenv.names)) [18:02:02.293] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.293] }, condition = base::local({ [18:02:02.293] c <- base::c [18:02:02.293] inherits <- base::inherits [18:02:02.293] invokeRestart <- base::invokeRestart [18:02:02.293] length <- base::length [18:02:02.293] list <- base::list [18:02:02.293] seq.int <- base::seq.int [18:02:02.293] signalCondition <- base::signalCondition [18:02:02.293] sys.calls <- base::sys.calls [18:02:02.293] `[[` <- base::`[[` [18:02:02.293] `+` <- base::`+` [18:02:02.293] `<<-` <- base::`<<-` [18:02:02.293] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.293] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.293] 3L)] [18:02:02.293] } [18:02:02.293] function(cond) { [18:02:02.293] is_error <- inherits(cond, "error") [18:02:02.293] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.293] NULL) [18:02:02.293] if (is_error) { [18:02:02.293] sessionInformation <- function() { [18:02:02.293] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.293] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.293] search = base::search(), system = base::Sys.info()) [18:02:02.293] } [18:02:02.293] ...future.conditions[[length(...future.conditions) + [18:02:02.293] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.293] cond$call), session = sessionInformation(), [18:02:02.293] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.293] signalCondition(cond) [18:02:02.293] } [18:02:02.293] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.293] "immediateCondition"))) { [18:02:02.293] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.293] ...future.conditions[[length(...future.conditions) + [18:02:02.293] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.293] if (TRUE && !signal) { [18:02:02.293] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.293] { [18:02:02.293] inherits <- base::inherits [18:02:02.293] invokeRestart <- base::invokeRestart [18:02:02.293] is.null <- base::is.null [18:02:02.293] muffled <- FALSE [18:02:02.293] if (inherits(cond, "message")) { [18:02:02.293] muffled <- grepl(pattern, "muffleMessage") [18:02:02.293] if (muffled) [18:02:02.293] invokeRestart("muffleMessage") [18:02:02.293] } [18:02:02.293] else if (inherits(cond, "warning")) { [18:02:02.293] muffled <- grepl(pattern, "muffleWarning") [18:02:02.293] if (muffled) [18:02:02.293] invokeRestart("muffleWarning") [18:02:02.293] } [18:02:02.293] else if (inherits(cond, "condition")) { [18:02:02.293] if (!is.null(pattern)) { [18:02:02.293] computeRestarts <- base::computeRestarts [18:02:02.293] grepl <- base::grepl [18:02:02.293] restarts <- computeRestarts(cond) [18:02:02.293] for (restart in restarts) { [18:02:02.293] name <- restart$name [18:02:02.293] if (is.null(name)) [18:02:02.293] next [18:02:02.293] if (!grepl(pattern, name)) [18:02:02.293] next [18:02:02.293] invokeRestart(restart) [18:02:02.293] muffled <- TRUE [18:02:02.293] break [18:02:02.293] } [18:02:02.293] } [18:02:02.293] } [18:02:02.293] invisible(muffled) [18:02:02.293] } [18:02:02.293] muffleCondition(cond, pattern = "^muffle") [18:02:02.293] } [18:02:02.293] } [18:02:02.293] else { [18:02:02.293] if (TRUE) { [18:02:02.293] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.293] { [18:02:02.293] inherits <- base::inherits [18:02:02.293] invokeRestart <- base::invokeRestart [18:02:02.293] is.null <- base::is.null [18:02:02.293] muffled <- FALSE [18:02:02.293] if (inherits(cond, "message")) { [18:02:02.293] muffled <- grepl(pattern, "muffleMessage") [18:02:02.293] if (muffled) [18:02:02.293] invokeRestart("muffleMessage") [18:02:02.293] } [18:02:02.293] else if (inherits(cond, "warning")) { [18:02:02.293] muffled <- grepl(pattern, "muffleWarning") [18:02:02.293] if (muffled) [18:02:02.293] invokeRestart("muffleWarning") [18:02:02.293] } [18:02:02.293] else if (inherits(cond, "condition")) { [18:02:02.293] if (!is.null(pattern)) { [18:02:02.293] computeRestarts <- base::computeRestarts [18:02:02.293] grepl <- base::grepl [18:02:02.293] restarts <- computeRestarts(cond) [18:02:02.293] for (restart in restarts) { [18:02:02.293] name <- restart$name [18:02:02.293] if (is.null(name)) [18:02:02.293] next [18:02:02.293] if (!grepl(pattern, name)) [18:02:02.293] next [18:02:02.293] invokeRestart(restart) [18:02:02.293] muffled <- TRUE [18:02:02.293] break [18:02:02.293] } [18:02:02.293] } [18:02:02.293] } [18:02:02.293] invisible(muffled) [18:02:02.293] } [18:02:02.293] muffleCondition(cond, pattern = "^muffle") [18:02:02.293] } [18:02:02.293] } [18:02:02.293] } [18:02:02.293] })) [18:02:02.293] }, error = function(ex) { [18:02:02.293] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.293] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.293] ...future.rng), started = ...future.startTime, [18:02:02.293] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.293] version = "1.8"), class = "FutureResult") [18:02:02.293] }, finally = { [18:02:02.293] if (!identical(...future.workdir, getwd())) [18:02:02.293] setwd(...future.workdir) [18:02:02.293] { [18:02:02.293] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.293] ...future.oldOptions$nwarnings <- NULL [18:02:02.293] } [18:02:02.293] base::options(...future.oldOptions) [18:02:02.293] if (.Platform$OS.type == "windows") { [18:02:02.293] old_names <- names(...future.oldEnvVars) [18:02:02.293] envs <- base::Sys.getenv() [18:02:02.293] names <- names(envs) [18:02:02.293] common <- intersect(names, old_names) [18:02:02.293] added <- setdiff(names, old_names) [18:02:02.293] removed <- setdiff(old_names, names) [18:02:02.293] changed <- common[...future.oldEnvVars[common] != [18:02:02.293] envs[common]] [18:02:02.293] NAMES <- toupper(changed) [18:02:02.293] args <- list() [18:02:02.293] for (kk in seq_along(NAMES)) { [18:02:02.293] name <- changed[[kk]] [18:02:02.293] NAME <- NAMES[[kk]] [18:02:02.293] if (name != NAME && is.element(NAME, old_names)) [18:02:02.293] next [18:02:02.293] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.293] } [18:02:02.293] NAMES <- toupper(added) [18:02:02.293] for (kk in seq_along(NAMES)) { [18:02:02.293] name <- added[[kk]] [18:02:02.293] NAME <- NAMES[[kk]] [18:02:02.293] if (name != NAME && is.element(NAME, old_names)) [18:02:02.293] next [18:02:02.293] args[[name]] <- "" [18:02:02.293] } [18:02:02.293] NAMES <- toupper(removed) [18:02:02.293] for (kk in seq_along(NAMES)) { [18:02:02.293] name <- removed[[kk]] [18:02:02.293] NAME <- NAMES[[kk]] [18:02:02.293] if (name != NAME && is.element(NAME, old_names)) [18:02:02.293] next [18:02:02.293] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.293] } [18:02:02.293] if (length(args) > 0) [18:02:02.293] base::do.call(base::Sys.setenv, args = args) [18:02:02.293] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.293] } [18:02:02.293] else { [18:02:02.293] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.293] } [18:02:02.293] { [18:02:02.293] if (base::length(...future.futureOptionsAdded) > [18:02:02.293] 0L) { [18:02:02.293] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.293] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.293] base::options(opts) [18:02:02.293] } [18:02:02.293] { [18:02:02.293] { [18:02:02.293] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.293] NULL [18:02:02.293] } [18:02:02.293] options(future.plan = NULL) [18:02:02.293] if (is.na(NA_character_)) [18:02:02.293] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.293] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.293] future::plan(list(function (..., workers = availableCores(), [18:02:02.293] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.293] envir = parent.frame()) [18:02:02.293] { [18:02:02.293] if (is.function(workers)) [18:02:02.293] workers <- workers() [18:02:02.293] workers <- structure(as.integer(workers), [18:02:02.293] class = class(workers)) [18:02:02.293] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.293] workers >= 1) [18:02:02.293] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.293] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.293] } [18:02:02.293] future <- MultisessionFuture(..., workers = workers, [18:02:02.293] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.293] envir = envir) [18:02:02.293] if (!future$lazy) [18:02:02.293] future <- run(future) [18:02:02.293] invisible(future) [18:02:02.293] }), .cleanup = FALSE, .init = FALSE) [18:02:02.293] } [18:02:02.293] } [18:02:02.293] } [18:02:02.293] }) [18:02:02.293] if (TRUE) { [18:02:02.293] base::sink(type = "output", split = FALSE) [18:02:02.293] if (TRUE) { [18:02:02.293] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.293] } [18:02:02.293] else { [18:02:02.293] ...future.result["stdout"] <- base::list(NULL) [18:02:02.293] } [18:02:02.293] base::close(...future.stdout) [18:02:02.293] ...future.stdout <- NULL [18:02:02.293] } [18:02:02.293] ...future.result$conditions <- ...future.conditions [18:02:02.293] ...future.result$finished <- base::Sys.time() [18:02:02.293] ...future.result [18:02:02.293] } [18:02:02.299] Poll #1 (0): usedNodes() = 2, workers = 2 [18:02:02.320] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.320] - Validating connection of MultisessionFuture [18:02:02.320] - received message: FutureResult [18:02:02.320] - Received FutureResult [18:02:02.321] - Erased future from FutureRegistry [18:02:02.321] result() for ClusterFuture ... [18:02:02.321] - result already collected: FutureResult [18:02:02.321] result() for ClusterFuture ... done [18:02:02.321] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.322] result() for ClusterFuture ... [18:02:02.322] - result already collected: FutureResult [18:02:02.322] result() for ClusterFuture ... done [18:02:02.322] result() for ClusterFuture ... [18:02:02.322] - result already collected: FutureResult [18:02:02.322] result() for ClusterFuture ... done [18:02:02.323] Exporting 2 global objects (112 bytes) to cluster node #2 ... [18:02:02.323] Exporting 'a' (56 bytes) to cluster node #2 ... [18:02:02.324] Exporting 'a' (56 bytes) to cluster node #2 ... DONE [18:02:02.324] Exporting 'ii' (56 bytes) to cluster node #2 ... [18:02:02.324] Exporting 'ii' (56 bytes) to cluster node #2 ... DONE [18:02:02.324] Exporting 2 global objects (112 bytes) to cluster node #2 ... DONE [18:02:02.325] MultisessionFuture started [18:02:02.325] - Launch lazy future ... done [18:02:02.326] run() for 'MultisessionFuture' ... done [18:02:02.326] result() for ClusterFuture ... [18:02:02.326] - result already collected: FutureResult [18:02:02.326] result() for ClusterFuture ... done [18:02:02.326] result() for ClusterFuture ... [18:02:02.326] - result already collected: FutureResult [18:02:02.327] result() for ClusterFuture ... done [18:02:02.327] result() for ClusterFuture ... [18:02:02.327] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.327] - Validating connection of MultisessionFuture [18:02:02.327] - received message: FutureResult [18:02:02.328] - Received FutureResult [18:02:02.328] - Erased future from FutureRegistry [18:02:02.328] result() for ClusterFuture ... [18:02:02.328] - result already collected: FutureResult [18:02:02.328] result() for ClusterFuture ... done [18:02:02.329] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.329] result() for ClusterFuture ... done [18:02:02.329] result() for ClusterFuture ... [18:02:02.329] - result already collected: FutureResult [18:02:02.329] result() for ClusterFuture ... done [18:02:02.329] result() for ClusterFuture ... [18:02:02.330] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.330] - Validating connection of MultisessionFuture [18:02:02.342] - received message: FutureResult [18:02:02.342] - Received FutureResult [18:02:02.342] - Erased future from FutureRegistry [18:02:02.342] result() for ClusterFuture ... [18:02:02.342] - result already collected: FutureResult [18:02:02.342] result() for ClusterFuture ... done [18:02:02.343] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.343] result() for ClusterFuture ... done [18:02:02.343] result() for ClusterFuture ... [18:02:02.343] - result already collected: FutureResult [18:02:02.343] result() for ClusterFuture ... done [1] 1 2 3 Warning: 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' [18:02:02.344] getGlobalsAndPackages() ... Warning: 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' [18:02:02.344] Searching for globals... Warning: 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' [18:02:02.349] - globals found: [5] '{', '<-', '*', 'a', 'ii' [18:02:02.349] Searching for globals ... DONE [18:02:02.349] Resolving globals: TRUE [18:02:02.350] Resolving any globals that are futures ... [18:02:02.350] - globals: [5] '{', '<-', '*', 'a', 'ii' [18:02:02.350] Resolving any globals that are futures ... DONE [18:02:02.350] Resolving futures part of globals (recursively) ... [18:02:02.351] resolve() on list ... [18:02:02.351] recursive: 99 [18:02:02.351] length: 2 [18:02:02.351] elements: 'a', 'ii' [18:02:02.351] length: 1 (resolved future 1) [18:02:02.352] length: 0 (resolved future 2) [18:02:02.352] resolve() on list ... DONE [18:02:02.352] - globals: [2] 'a', 'ii' [18:02:02.352] Resolving futures part of globals (recursively) ... DONE [18:02:02.352] The total size of the 2 globals is 112 bytes (112 bytes) [18:02:02.353] 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') [18:02:02.353] - globals: [2] 'a', 'ii' [18:02:02.353] [18:02:02.353] getGlobalsAndPackages() ... DONE Warning: 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' [18:02:02.354] getGlobalsAndPackages() ... Warning: 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' [18:02:02.354] Searching for globals... Warning: 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' [18:02:02.357] - globals found: [5] '{', '<-', '*', 'a', 'ii' [18:02:02.357] Searching for globals ... DONE [18:02:02.357] Resolving globals: TRUE [18:02:02.357] Resolving any globals that are futures ... [18:02:02.358] - globals: [5] '{', '<-', '*', 'a', 'ii' [18:02:02.358] Resolving any globals that are futures ... DONE [18:02:02.358] Resolving futures part of globals (recursively) ... [18:02:02.359] resolve() on list ... [18:02:02.359] recursive: 99 [18:02:02.359] length: 2 [18:02:02.359] elements: 'a', 'ii' [18:02:02.359] length: 1 (resolved future 1) [18:02:02.359] length: 0 (resolved future 2) [18:02:02.360] resolve() on list ... DONE [18:02:02.360] - globals: [2] 'a', 'ii' [18:02:02.360] Resolving futures part of globals (recursively) ... DONE [18:02:02.360] The total size of the 2 globals is 112 bytes (112 bytes) [18:02:02.361] 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') [18:02:02.361] - globals: [2] 'a', 'ii' [18:02:02.361] [18:02:02.361] getGlobalsAndPackages() ... DONE Warning: 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' [18:02:02.362] getGlobalsAndPackages() ... Warning: 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' [18:02:02.362] Searching for globals... Warning: 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' [18:02:02.365] - globals found: [5] '{', '<-', '*', 'a', 'ii' [18:02:02.365] Searching for globals ... DONE [18:02:02.365] Resolving globals: TRUE [18:02:02.365] Resolving any globals that are futures ... [18:02:02.365] - globals: [5] '{', '<-', '*', 'a', 'ii' [18:02:02.365] Resolving any globals that are futures ... DONE [18:02:02.366] Resolving futures part of globals (recursively) ... [18:02:02.366] resolve() on list ... [18:02:02.366] recursive: 99 [18:02:02.367] length: 2 [18:02:02.367] elements: 'a', 'ii' [18:02:02.367] length: 1 (resolved future 1) [18:02:02.367] length: 0 (resolved future 2) [18:02:02.367] resolve() on list ... DONE [18:02:02.368] - globals: [2] 'a', 'ii' [18:02:02.368] Resolving futures part of globals (recursively) ... DONE [18:02:02.368] The total size of the 2 globals is 112 bytes (112 bytes) [18:02:02.368] 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') [18:02:02.369] - globals: [2] 'a', 'ii' [18:02:02.369] [18:02:02.369] getGlobalsAndPackages() ... DONE [18:02:02.369] run() for 'Future' ... [18:02:02.370] - state: 'created' [18:02:02.370] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.384] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.384] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.384] - Field: 'node' [18:02:02.384] - Field: 'label' [18:02:02.384] - Field: 'local' [18:02:02.385] - Field: 'owner' [18:02:02.385] - Field: 'envir' [18:02:02.385] - Field: 'workers' [18:02:02.385] - Field: 'packages' [18:02:02.385] - Field: 'gc' [18:02:02.385] - Field: 'conditions' [18:02:02.386] - Field: 'persistent' [18:02:02.386] - Field: 'expr' [18:02:02.386] - Field: 'uuid' [18:02:02.386] - Field: 'seed' [18:02:02.386] - Field: 'version' [18:02:02.387] - Field: 'result' [18:02:02.387] - Field: 'asynchronous' [18:02:02.387] - Field: 'calls' [18:02:02.387] - Field: 'globals' [18:02:02.387] - Field: 'stdout' [18:02:02.387] - Field: 'earlySignal' [18:02:02.388] - Field: 'lazy' [18:02:02.388] - Field: 'state' [18:02:02.388] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.388] - Launch lazy future ... [18:02:02.389] Packages needed by the future expression (n = 0): [18:02:02.389] Packages needed by future strategies (n = 0): [18:02:02.389] { [18:02:02.389] { [18:02:02.389] { [18:02:02.389] ...future.startTime <- base::Sys.time() [18:02:02.389] { [18:02:02.389] { [18:02:02.389] { [18:02:02.389] { [18:02:02.389] base::local({ [18:02:02.389] has_future <- base::requireNamespace("future", [18:02:02.389] quietly = TRUE) [18:02:02.389] if (has_future) { [18:02:02.389] ns <- base::getNamespace("future") [18:02:02.389] version <- ns[[".package"]][["version"]] [18:02:02.389] if (is.null(version)) [18:02:02.389] version <- utils::packageVersion("future") [18:02:02.389] } [18:02:02.389] else { [18:02:02.389] version <- NULL [18:02:02.389] } [18:02:02.389] if (!has_future || version < "1.8.0") { [18:02:02.389] info <- base::c(r_version = base::gsub("R version ", [18:02:02.389] "", base::R.version$version.string), [18:02:02.389] platform = base::sprintf("%s (%s-bit)", [18:02:02.389] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.389] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.389] "release", "version")], collapse = " "), [18:02:02.389] hostname = base::Sys.info()[["nodename"]]) [18:02:02.389] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.389] info) [18:02:02.389] info <- base::paste(info, collapse = "; ") [18:02:02.389] if (!has_future) { [18:02:02.389] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.389] info) [18:02:02.389] } [18:02:02.389] else { [18:02:02.389] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.389] info, version) [18:02:02.389] } [18:02:02.389] base::stop(msg) [18:02:02.389] } [18:02:02.389] }) [18:02:02.389] } [18:02:02.389] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.389] base::options(mc.cores = 1L) [18:02:02.389] } [18:02:02.389] options(future.plan = NULL) [18:02:02.389] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.389] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.389] } [18:02:02.389] ...future.workdir <- getwd() [18:02:02.389] } [18:02:02.389] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.389] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.389] } [18:02:02.389] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.389] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.389] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.389] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.389] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.389] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.389] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.389] base::names(...future.oldOptions)) [18:02:02.389] } [18:02:02.389] if (FALSE) { [18:02:02.389] } [18:02:02.389] else { [18:02:02.389] if (TRUE) { [18:02:02.389] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.389] open = "w") [18:02:02.389] } [18:02:02.389] else { [18:02:02.389] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.389] windows = "NUL", "/dev/null"), open = "w") [18:02:02.389] } [18:02:02.389] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.389] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.389] base::sink(type = "output", split = FALSE) [18:02:02.389] base::close(...future.stdout) [18:02:02.389] }, add = TRUE) [18:02:02.389] } [18:02:02.389] ...future.frame <- base::sys.nframe() [18:02:02.389] ...future.conditions <- base::list() [18:02:02.389] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.389] if (FALSE) { [18:02:02.389] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.389] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.389] } [18:02:02.389] ...future.result <- base::tryCatch({ [18:02:02.389] base::withCallingHandlers({ [18:02:02.389] ...future.value <- base::withVisible(base::local({ [18:02:02.389] ...future.makeSendCondition <- local({ [18:02:02.389] sendCondition <- NULL [18:02:02.389] function(frame = 1L) { [18:02:02.389] if (is.function(sendCondition)) [18:02:02.389] return(sendCondition) [18:02:02.389] ns <- getNamespace("parallel") [18:02:02.389] if (exists("sendData", mode = "function", [18:02:02.389] envir = ns)) { [18:02:02.389] parallel_sendData <- get("sendData", mode = "function", [18:02:02.389] envir = ns) [18:02:02.389] envir <- sys.frame(frame) [18:02:02.389] master <- NULL [18:02:02.389] while (!identical(envir, .GlobalEnv) && [18:02:02.389] !identical(envir, emptyenv())) { [18:02:02.389] if (exists("master", mode = "list", envir = envir, [18:02:02.389] inherits = FALSE)) { [18:02:02.389] master <- get("master", mode = "list", [18:02:02.389] envir = envir, inherits = FALSE) [18:02:02.389] if (inherits(master, c("SOCKnode", [18:02:02.389] "SOCK0node"))) { [18:02:02.389] sendCondition <<- function(cond) { [18:02:02.389] data <- list(type = "VALUE", value = cond, [18:02:02.389] success = TRUE) [18:02:02.389] parallel_sendData(master, data) [18:02:02.389] } [18:02:02.389] return(sendCondition) [18:02:02.389] } [18:02:02.389] } [18:02:02.389] frame <- frame + 1L [18:02:02.389] envir <- sys.frame(frame) [18:02:02.389] } [18:02:02.389] } [18:02:02.389] sendCondition <<- function(cond) NULL [18:02:02.389] } [18:02:02.389] }) [18:02:02.389] withCallingHandlers({ [18:02:02.389] { [18:02:02.389] b <- a * ii [18:02:02.389] a <- 0 [18:02:02.389] b [18:02:02.389] } [18:02:02.389] }, immediateCondition = function(cond) { [18:02:02.389] sendCondition <- ...future.makeSendCondition() [18:02:02.389] sendCondition(cond) [18:02:02.389] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.389] { [18:02:02.389] inherits <- base::inherits [18:02:02.389] invokeRestart <- base::invokeRestart [18:02:02.389] is.null <- base::is.null [18:02:02.389] muffled <- FALSE [18:02:02.389] if (inherits(cond, "message")) { [18:02:02.389] muffled <- grepl(pattern, "muffleMessage") [18:02:02.389] if (muffled) [18:02:02.389] invokeRestart("muffleMessage") [18:02:02.389] } [18:02:02.389] else if (inherits(cond, "warning")) { [18:02:02.389] muffled <- grepl(pattern, "muffleWarning") [18:02:02.389] if (muffled) [18:02:02.389] invokeRestart("muffleWarning") [18:02:02.389] } [18:02:02.389] else if (inherits(cond, "condition")) { [18:02:02.389] if (!is.null(pattern)) { [18:02:02.389] computeRestarts <- base::computeRestarts [18:02:02.389] grepl <- base::grepl [18:02:02.389] restarts <- computeRestarts(cond) [18:02:02.389] for (restart in restarts) { [18:02:02.389] name <- restart$name [18:02:02.389] if (is.null(name)) [18:02:02.389] next [18:02:02.389] if (!grepl(pattern, name)) [18:02:02.389] next [18:02:02.389] invokeRestart(restart) [18:02:02.389] muffled <- TRUE [18:02:02.389] break [18:02:02.389] } [18:02:02.389] } [18:02:02.389] } [18:02:02.389] invisible(muffled) [18:02:02.389] } [18:02:02.389] muffleCondition(cond) [18:02:02.389] }) [18:02:02.389] })) [18:02:02.389] future::FutureResult(value = ...future.value$value, [18:02:02.389] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.389] ...future.rng), globalenv = if (FALSE) [18:02:02.389] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.389] ...future.globalenv.names)) [18:02:02.389] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.389] }, condition = base::local({ [18:02:02.389] c <- base::c [18:02:02.389] inherits <- base::inherits [18:02:02.389] invokeRestart <- base::invokeRestart [18:02:02.389] length <- base::length [18:02:02.389] list <- base::list [18:02:02.389] seq.int <- base::seq.int [18:02:02.389] signalCondition <- base::signalCondition [18:02:02.389] sys.calls <- base::sys.calls [18:02:02.389] `[[` <- base::`[[` [18:02:02.389] `+` <- base::`+` [18:02:02.389] `<<-` <- base::`<<-` [18:02:02.389] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.389] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.389] 3L)] [18:02:02.389] } [18:02:02.389] function(cond) { [18:02:02.389] is_error <- inherits(cond, "error") [18:02:02.389] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.389] NULL) [18:02:02.389] if (is_error) { [18:02:02.389] sessionInformation <- function() { [18:02:02.389] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.389] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.389] search = base::search(), system = base::Sys.info()) [18:02:02.389] } [18:02:02.389] ...future.conditions[[length(...future.conditions) + [18:02:02.389] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.389] cond$call), session = sessionInformation(), [18:02:02.389] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.389] signalCondition(cond) [18:02:02.389] } [18:02:02.389] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.389] "immediateCondition"))) { [18:02:02.389] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.389] ...future.conditions[[length(...future.conditions) + [18:02:02.389] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.389] if (TRUE && !signal) { [18:02:02.389] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.389] { [18:02:02.389] inherits <- base::inherits [18:02:02.389] invokeRestart <- base::invokeRestart [18:02:02.389] is.null <- base::is.null [18:02:02.389] muffled <- FALSE [18:02:02.389] if (inherits(cond, "message")) { [18:02:02.389] muffled <- grepl(pattern, "muffleMessage") [18:02:02.389] if (muffled) [18:02:02.389] invokeRestart("muffleMessage") [18:02:02.389] } [18:02:02.389] else if (inherits(cond, "warning")) { [18:02:02.389] muffled <- grepl(pattern, "muffleWarning") [18:02:02.389] if (muffled) [18:02:02.389] invokeRestart("muffleWarning") [18:02:02.389] } [18:02:02.389] else if (inherits(cond, "condition")) { [18:02:02.389] if (!is.null(pattern)) { [18:02:02.389] computeRestarts <- base::computeRestarts [18:02:02.389] grepl <- base::grepl [18:02:02.389] restarts <- computeRestarts(cond) [18:02:02.389] for (restart in restarts) { [18:02:02.389] name <- restart$name [18:02:02.389] if (is.null(name)) [18:02:02.389] next [18:02:02.389] if (!grepl(pattern, name)) [18:02:02.389] next [18:02:02.389] invokeRestart(restart) [18:02:02.389] muffled <- TRUE [18:02:02.389] break [18:02:02.389] } [18:02:02.389] } [18:02:02.389] } [18:02:02.389] invisible(muffled) [18:02:02.389] } [18:02:02.389] muffleCondition(cond, pattern = "^muffle") [18:02:02.389] } [18:02:02.389] } [18:02:02.389] else { [18:02:02.389] if (TRUE) { [18:02:02.389] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.389] { [18:02:02.389] inherits <- base::inherits [18:02:02.389] invokeRestart <- base::invokeRestart [18:02:02.389] is.null <- base::is.null [18:02:02.389] muffled <- FALSE [18:02:02.389] if (inherits(cond, "message")) { [18:02:02.389] muffled <- grepl(pattern, "muffleMessage") [18:02:02.389] if (muffled) [18:02:02.389] invokeRestart("muffleMessage") [18:02:02.389] } [18:02:02.389] else if (inherits(cond, "warning")) { [18:02:02.389] muffled <- grepl(pattern, "muffleWarning") [18:02:02.389] if (muffled) [18:02:02.389] invokeRestart("muffleWarning") [18:02:02.389] } [18:02:02.389] else if (inherits(cond, "condition")) { [18:02:02.389] if (!is.null(pattern)) { [18:02:02.389] computeRestarts <- base::computeRestarts [18:02:02.389] grepl <- base::grepl [18:02:02.389] restarts <- computeRestarts(cond) [18:02:02.389] for (restart in restarts) { [18:02:02.389] name <- restart$name [18:02:02.389] if (is.null(name)) [18:02:02.389] next [18:02:02.389] if (!grepl(pattern, name)) [18:02:02.389] next [18:02:02.389] invokeRestart(restart) [18:02:02.389] muffled <- TRUE [18:02:02.389] break [18:02:02.389] } [18:02:02.389] } [18:02:02.389] } [18:02:02.389] invisible(muffled) [18:02:02.389] } [18:02:02.389] muffleCondition(cond, pattern = "^muffle") [18:02:02.389] } [18:02:02.389] } [18:02:02.389] } [18:02:02.389] })) [18:02:02.389] }, error = function(ex) { [18:02:02.389] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.389] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.389] ...future.rng), started = ...future.startTime, [18:02:02.389] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.389] version = "1.8"), class = "FutureResult") [18:02:02.389] }, finally = { [18:02:02.389] if (!identical(...future.workdir, getwd())) [18:02:02.389] setwd(...future.workdir) [18:02:02.389] { [18:02:02.389] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.389] ...future.oldOptions$nwarnings <- NULL [18:02:02.389] } [18:02:02.389] base::options(...future.oldOptions) [18:02:02.389] if (.Platform$OS.type == "windows") { [18:02:02.389] old_names <- names(...future.oldEnvVars) [18:02:02.389] envs <- base::Sys.getenv() [18:02:02.389] names <- names(envs) [18:02:02.389] common <- intersect(names, old_names) [18:02:02.389] added <- setdiff(names, old_names) [18:02:02.389] removed <- setdiff(old_names, names) [18:02:02.389] changed <- common[...future.oldEnvVars[common] != [18:02:02.389] envs[common]] [18:02:02.389] NAMES <- toupper(changed) [18:02:02.389] args <- list() [18:02:02.389] for (kk in seq_along(NAMES)) { [18:02:02.389] name <- changed[[kk]] [18:02:02.389] NAME <- NAMES[[kk]] [18:02:02.389] if (name != NAME && is.element(NAME, old_names)) [18:02:02.389] next [18:02:02.389] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.389] } [18:02:02.389] NAMES <- toupper(added) [18:02:02.389] for (kk in seq_along(NAMES)) { [18:02:02.389] name <- added[[kk]] [18:02:02.389] NAME <- NAMES[[kk]] [18:02:02.389] if (name != NAME && is.element(NAME, old_names)) [18:02:02.389] next [18:02:02.389] args[[name]] <- "" [18:02:02.389] } [18:02:02.389] NAMES <- toupper(removed) [18:02:02.389] for (kk in seq_along(NAMES)) { [18:02:02.389] name <- removed[[kk]] [18:02:02.389] NAME <- NAMES[[kk]] [18:02:02.389] if (name != NAME && is.element(NAME, old_names)) [18:02:02.389] next [18:02:02.389] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.389] } [18:02:02.389] if (length(args) > 0) [18:02:02.389] base::do.call(base::Sys.setenv, args = args) [18:02:02.389] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.389] } [18:02:02.389] else { [18:02:02.389] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.389] } [18:02:02.389] { [18:02:02.389] if (base::length(...future.futureOptionsAdded) > [18:02:02.389] 0L) { [18:02:02.389] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.389] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.389] base::options(opts) [18:02:02.389] } [18:02:02.389] { [18:02:02.389] { [18:02:02.389] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.389] NULL [18:02:02.389] } [18:02:02.389] options(future.plan = NULL) [18:02:02.389] if (is.na(NA_character_)) [18:02:02.389] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.389] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.389] future::plan(list(function (..., workers = availableCores(), [18:02:02.389] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.389] envir = parent.frame()) [18:02:02.389] { [18:02:02.389] if (is.function(workers)) [18:02:02.389] workers <- workers() [18:02:02.389] workers <- structure(as.integer(workers), [18:02:02.389] class = class(workers)) [18:02:02.389] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.389] workers >= 1) [18:02:02.389] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.389] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.389] } [18:02:02.389] future <- MultisessionFuture(..., workers = workers, [18:02:02.389] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.389] envir = envir) [18:02:02.389] if (!future$lazy) [18:02:02.389] future <- run(future) [18:02:02.389] invisible(future) [18:02:02.389] }), .cleanup = FALSE, .init = FALSE) [18:02:02.389] } [18:02:02.389] } [18:02:02.389] } [18:02:02.389] }) [18:02:02.389] if (TRUE) { [18:02:02.389] base::sink(type = "output", split = FALSE) [18:02:02.389] if (TRUE) { [18:02:02.389] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.389] } [18:02:02.389] else { [18:02:02.389] ...future.result["stdout"] <- base::list(NULL) [18:02:02.389] } [18:02:02.389] base::close(...future.stdout) [18:02:02.389] ...future.stdout <- NULL [18:02:02.389] } [18:02:02.389] ...future.result$conditions <- ...future.conditions [18:02:02.389] ...future.result$finished <- base::Sys.time() [18:02:02.389] ...future.result [18:02:02.389] } [18:02:02.395] Exporting 2 global objects (112 bytes) to cluster node #1 ... [18:02:02.395] Exporting 'a' (56 bytes) to cluster node #1 ... [18:02:02.395] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [18:02:02.395] Exporting 'ii' (56 bytes) to cluster node #1 ... [18:02:02.396] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [18:02:02.396] Exporting 2 global objects (112 bytes) to cluster node #1 ... DONE [18:02:02.397] MultisessionFuture started [18:02:02.397] - Launch lazy future ... done [18:02:02.397] run() for 'MultisessionFuture' ... done [18:02:02.397] result() for ClusterFuture ... [18:02:02.397] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.398] - Validating connection of MultisessionFuture [18:02:02.415] - received message: FutureResult [18:02:02.415] - Received FutureResult [18:02:02.415] - Erased future from FutureRegistry [18:02:02.415] result() for ClusterFuture ... [18:02:02.415] - result already collected: FutureResult [18:02:02.416] result() for ClusterFuture ... done [18:02:02.416] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.416] result() for ClusterFuture ... done [18:02:02.416] result() for ClusterFuture ... [18:02:02.416] - result already collected: FutureResult [18:02:02.416] result() for ClusterFuture ... done [18:02:02.417] run() for 'Future' ... [18:02:02.417] - state: 'created' [18:02:02.417] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.431] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.432] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.432] - Field: 'node' [18:02:02.432] - Field: 'label' [18:02:02.432] - Field: 'local' [18:02:02.432] - Field: 'owner' [18:02:02.432] - Field: 'envir' [18:02:02.433] - Field: 'workers' [18:02:02.433] - Field: 'packages' [18:02:02.433] - Field: 'gc' [18:02:02.433] - Field: 'conditions' [18:02:02.433] - Field: 'persistent' [18:02:02.434] - Field: 'expr' [18:02:02.434] - Field: 'uuid' [18:02:02.434] - Field: 'seed' [18:02:02.434] - Field: 'version' [18:02:02.434] - Field: 'result' [18:02:02.434] - Field: 'asynchronous' [18:02:02.435] - Field: 'calls' [18:02:02.435] - Field: 'globals' [18:02:02.435] - Field: 'stdout' [18:02:02.435] - Field: 'earlySignal' [18:02:02.435] - Field: 'lazy' [18:02:02.436] - Field: 'state' [18:02:02.436] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.436] - Launch lazy future ... [18:02:02.436] Packages needed by the future expression (n = 0): [18:02:02.436] Packages needed by future strategies (n = 0): [18:02:02.437] { [18:02:02.437] { [18:02:02.437] { [18:02:02.437] ...future.startTime <- base::Sys.time() [18:02:02.437] { [18:02:02.437] { [18:02:02.437] { [18:02:02.437] { [18:02:02.437] base::local({ [18:02:02.437] has_future <- base::requireNamespace("future", [18:02:02.437] quietly = TRUE) [18:02:02.437] if (has_future) { [18:02:02.437] ns <- base::getNamespace("future") [18:02:02.437] version <- ns[[".package"]][["version"]] [18:02:02.437] if (is.null(version)) [18:02:02.437] version <- utils::packageVersion("future") [18:02:02.437] } [18:02:02.437] else { [18:02:02.437] version <- NULL [18:02:02.437] } [18:02:02.437] if (!has_future || version < "1.8.0") { [18:02:02.437] info <- base::c(r_version = base::gsub("R version ", [18:02:02.437] "", base::R.version$version.string), [18:02:02.437] platform = base::sprintf("%s (%s-bit)", [18:02:02.437] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.437] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.437] "release", "version")], collapse = " "), [18:02:02.437] hostname = base::Sys.info()[["nodename"]]) [18:02:02.437] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.437] info) [18:02:02.437] info <- base::paste(info, collapse = "; ") [18:02:02.437] if (!has_future) { [18:02:02.437] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.437] info) [18:02:02.437] } [18:02:02.437] else { [18:02:02.437] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.437] info, version) [18:02:02.437] } [18:02:02.437] base::stop(msg) [18:02:02.437] } [18:02:02.437] }) [18:02:02.437] } [18:02:02.437] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.437] base::options(mc.cores = 1L) [18:02:02.437] } [18:02:02.437] options(future.plan = NULL) [18:02:02.437] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.437] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.437] } [18:02:02.437] ...future.workdir <- getwd() [18:02:02.437] } [18:02:02.437] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.437] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.437] } [18:02:02.437] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.437] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.437] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.437] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.437] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.437] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.437] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.437] base::names(...future.oldOptions)) [18:02:02.437] } [18:02:02.437] if (FALSE) { [18:02:02.437] } [18:02:02.437] else { [18:02:02.437] if (TRUE) { [18:02:02.437] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.437] open = "w") [18:02:02.437] } [18:02:02.437] else { [18:02:02.437] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.437] windows = "NUL", "/dev/null"), open = "w") [18:02:02.437] } [18:02:02.437] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.437] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.437] base::sink(type = "output", split = FALSE) [18:02:02.437] base::close(...future.stdout) [18:02:02.437] }, add = TRUE) [18:02:02.437] } [18:02:02.437] ...future.frame <- base::sys.nframe() [18:02:02.437] ...future.conditions <- base::list() [18:02:02.437] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.437] if (FALSE) { [18:02:02.437] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.437] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.437] } [18:02:02.437] ...future.result <- base::tryCatch({ [18:02:02.437] base::withCallingHandlers({ [18:02:02.437] ...future.value <- base::withVisible(base::local({ [18:02:02.437] ...future.makeSendCondition <- local({ [18:02:02.437] sendCondition <- NULL [18:02:02.437] function(frame = 1L) { [18:02:02.437] if (is.function(sendCondition)) [18:02:02.437] return(sendCondition) [18:02:02.437] ns <- getNamespace("parallel") [18:02:02.437] if (exists("sendData", mode = "function", [18:02:02.437] envir = ns)) { [18:02:02.437] parallel_sendData <- get("sendData", mode = "function", [18:02:02.437] envir = ns) [18:02:02.437] envir <- sys.frame(frame) [18:02:02.437] master <- NULL [18:02:02.437] while (!identical(envir, .GlobalEnv) && [18:02:02.437] !identical(envir, emptyenv())) { [18:02:02.437] if (exists("master", mode = "list", envir = envir, [18:02:02.437] inherits = FALSE)) { [18:02:02.437] master <- get("master", mode = "list", [18:02:02.437] envir = envir, inherits = FALSE) [18:02:02.437] if (inherits(master, c("SOCKnode", [18:02:02.437] "SOCK0node"))) { [18:02:02.437] sendCondition <<- function(cond) { [18:02:02.437] data <- list(type = "VALUE", value = cond, [18:02:02.437] success = TRUE) [18:02:02.437] parallel_sendData(master, data) [18:02:02.437] } [18:02:02.437] return(sendCondition) [18:02:02.437] } [18:02:02.437] } [18:02:02.437] frame <- frame + 1L [18:02:02.437] envir <- sys.frame(frame) [18:02:02.437] } [18:02:02.437] } [18:02:02.437] sendCondition <<- function(cond) NULL [18:02:02.437] } [18:02:02.437] }) [18:02:02.437] withCallingHandlers({ [18:02:02.437] { [18:02:02.437] b <- a * ii [18:02:02.437] a <- 0 [18:02:02.437] b [18:02:02.437] } [18:02:02.437] }, immediateCondition = function(cond) { [18:02:02.437] sendCondition <- ...future.makeSendCondition() [18:02:02.437] sendCondition(cond) [18:02:02.437] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.437] { [18:02:02.437] inherits <- base::inherits [18:02:02.437] invokeRestart <- base::invokeRestart [18:02:02.437] is.null <- base::is.null [18:02:02.437] muffled <- FALSE [18:02:02.437] if (inherits(cond, "message")) { [18:02:02.437] muffled <- grepl(pattern, "muffleMessage") [18:02:02.437] if (muffled) [18:02:02.437] invokeRestart("muffleMessage") [18:02:02.437] } [18:02:02.437] else if (inherits(cond, "warning")) { [18:02:02.437] muffled <- grepl(pattern, "muffleWarning") [18:02:02.437] if (muffled) [18:02:02.437] invokeRestart("muffleWarning") [18:02:02.437] } [18:02:02.437] else if (inherits(cond, "condition")) { [18:02:02.437] if (!is.null(pattern)) { [18:02:02.437] computeRestarts <- base::computeRestarts [18:02:02.437] grepl <- base::grepl [18:02:02.437] restarts <- computeRestarts(cond) [18:02:02.437] for (restart in restarts) { [18:02:02.437] name <- restart$name [18:02:02.437] if (is.null(name)) [18:02:02.437] next [18:02:02.437] if (!grepl(pattern, name)) [18:02:02.437] next [18:02:02.437] invokeRestart(restart) [18:02:02.437] muffled <- TRUE [18:02:02.437] break [18:02:02.437] } [18:02:02.437] } [18:02:02.437] } [18:02:02.437] invisible(muffled) [18:02:02.437] } [18:02:02.437] muffleCondition(cond) [18:02:02.437] }) [18:02:02.437] })) [18:02:02.437] future::FutureResult(value = ...future.value$value, [18:02:02.437] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.437] ...future.rng), globalenv = if (FALSE) [18:02:02.437] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.437] ...future.globalenv.names)) [18:02:02.437] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.437] }, condition = base::local({ [18:02:02.437] c <- base::c [18:02:02.437] inherits <- base::inherits [18:02:02.437] invokeRestart <- base::invokeRestart [18:02:02.437] length <- base::length [18:02:02.437] list <- base::list [18:02:02.437] seq.int <- base::seq.int [18:02:02.437] signalCondition <- base::signalCondition [18:02:02.437] sys.calls <- base::sys.calls [18:02:02.437] `[[` <- base::`[[` [18:02:02.437] `+` <- base::`+` [18:02:02.437] `<<-` <- base::`<<-` [18:02:02.437] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.437] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.437] 3L)] [18:02:02.437] } [18:02:02.437] function(cond) { [18:02:02.437] is_error <- inherits(cond, "error") [18:02:02.437] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.437] NULL) [18:02:02.437] if (is_error) { [18:02:02.437] sessionInformation <- function() { [18:02:02.437] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.437] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.437] search = base::search(), system = base::Sys.info()) [18:02:02.437] } [18:02:02.437] ...future.conditions[[length(...future.conditions) + [18:02:02.437] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.437] cond$call), session = sessionInformation(), [18:02:02.437] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.437] signalCondition(cond) [18:02:02.437] } [18:02:02.437] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.437] "immediateCondition"))) { [18:02:02.437] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.437] ...future.conditions[[length(...future.conditions) + [18:02:02.437] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.437] if (TRUE && !signal) { [18:02:02.437] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.437] { [18:02:02.437] inherits <- base::inherits [18:02:02.437] invokeRestart <- base::invokeRestart [18:02:02.437] is.null <- base::is.null [18:02:02.437] muffled <- FALSE [18:02:02.437] if (inherits(cond, "message")) { [18:02:02.437] muffled <- grepl(pattern, "muffleMessage") [18:02:02.437] if (muffled) [18:02:02.437] invokeRestart("muffleMessage") [18:02:02.437] } [18:02:02.437] else if (inherits(cond, "warning")) { [18:02:02.437] muffled <- grepl(pattern, "muffleWarning") [18:02:02.437] if (muffled) [18:02:02.437] invokeRestart("muffleWarning") [18:02:02.437] } [18:02:02.437] else if (inherits(cond, "condition")) { [18:02:02.437] if (!is.null(pattern)) { [18:02:02.437] computeRestarts <- base::computeRestarts [18:02:02.437] grepl <- base::grepl [18:02:02.437] restarts <- computeRestarts(cond) [18:02:02.437] for (restart in restarts) { [18:02:02.437] name <- restart$name [18:02:02.437] if (is.null(name)) [18:02:02.437] next [18:02:02.437] if (!grepl(pattern, name)) [18:02:02.437] next [18:02:02.437] invokeRestart(restart) [18:02:02.437] muffled <- TRUE [18:02:02.437] break [18:02:02.437] } [18:02:02.437] } [18:02:02.437] } [18:02:02.437] invisible(muffled) [18:02:02.437] } [18:02:02.437] muffleCondition(cond, pattern = "^muffle") [18:02:02.437] } [18:02:02.437] } [18:02:02.437] else { [18:02:02.437] if (TRUE) { [18:02:02.437] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.437] { [18:02:02.437] inherits <- base::inherits [18:02:02.437] invokeRestart <- base::invokeRestart [18:02:02.437] is.null <- base::is.null [18:02:02.437] muffled <- FALSE [18:02:02.437] if (inherits(cond, "message")) { [18:02:02.437] muffled <- grepl(pattern, "muffleMessage") [18:02:02.437] if (muffled) [18:02:02.437] invokeRestart("muffleMessage") [18:02:02.437] } [18:02:02.437] else if (inherits(cond, "warning")) { [18:02:02.437] muffled <- grepl(pattern, "muffleWarning") [18:02:02.437] if (muffled) [18:02:02.437] invokeRestart("muffleWarning") [18:02:02.437] } [18:02:02.437] else if (inherits(cond, "condition")) { [18:02:02.437] if (!is.null(pattern)) { [18:02:02.437] computeRestarts <- base::computeRestarts [18:02:02.437] grepl <- base::grepl [18:02:02.437] restarts <- computeRestarts(cond) [18:02:02.437] for (restart in restarts) { [18:02:02.437] name <- restart$name [18:02:02.437] if (is.null(name)) [18:02:02.437] next [18:02:02.437] if (!grepl(pattern, name)) [18:02:02.437] next [18:02:02.437] invokeRestart(restart) [18:02:02.437] muffled <- TRUE [18:02:02.437] break [18:02:02.437] } [18:02:02.437] } [18:02:02.437] } [18:02:02.437] invisible(muffled) [18:02:02.437] } [18:02:02.437] muffleCondition(cond, pattern = "^muffle") [18:02:02.437] } [18:02:02.437] } [18:02:02.437] } [18:02:02.437] })) [18:02:02.437] }, error = function(ex) { [18:02:02.437] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.437] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.437] ...future.rng), started = ...future.startTime, [18:02:02.437] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.437] version = "1.8"), class = "FutureResult") [18:02:02.437] }, finally = { [18:02:02.437] if (!identical(...future.workdir, getwd())) [18:02:02.437] setwd(...future.workdir) [18:02:02.437] { [18:02:02.437] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.437] ...future.oldOptions$nwarnings <- NULL [18:02:02.437] } [18:02:02.437] base::options(...future.oldOptions) [18:02:02.437] if (.Platform$OS.type == "windows") { [18:02:02.437] old_names <- names(...future.oldEnvVars) [18:02:02.437] envs <- base::Sys.getenv() [18:02:02.437] names <- names(envs) [18:02:02.437] common <- intersect(names, old_names) [18:02:02.437] added <- setdiff(names, old_names) [18:02:02.437] removed <- setdiff(old_names, names) [18:02:02.437] changed <- common[...future.oldEnvVars[common] != [18:02:02.437] envs[common]] [18:02:02.437] NAMES <- toupper(changed) [18:02:02.437] args <- list() [18:02:02.437] for (kk in seq_along(NAMES)) { [18:02:02.437] name <- changed[[kk]] [18:02:02.437] NAME <- NAMES[[kk]] [18:02:02.437] if (name != NAME && is.element(NAME, old_names)) [18:02:02.437] next [18:02:02.437] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.437] } [18:02:02.437] NAMES <- toupper(added) [18:02:02.437] for (kk in seq_along(NAMES)) { [18:02:02.437] name <- added[[kk]] [18:02:02.437] NAME <- NAMES[[kk]] [18:02:02.437] if (name != NAME && is.element(NAME, old_names)) [18:02:02.437] next [18:02:02.437] args[[name]] <- "" [18:02:02.437] } [18:02:02.437] NAMES <- toupper(removed) [18:02:02.437] for (kk in seq_along(NAMES)) { [18:02:02.437] name <- removed[[kk]] [18:02:02.437] NAME <- NAMES[[kk]] [18:02:02.437] if (name != NAME && is.element(NAME, old_names)) [18:02:02.437] next [18:02:02.437] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.437] } [18:02:02.437] if (length(args) > 0) [18:02:02.437] base::do.call(base::Sys.setenv, args = args) [18:02:02.437] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.437] } [18:02:02.437] else { [18:02:02.437] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.437] } [18:02:02.437] { [18:02:02.437] if (base::length(...future.futureOptionsAdded) > [18:02:02.437] 0L) { [18:02:02.437] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.437] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.437] base::options(opts) [18:02:02.437] } [18:02:02.437] { [18:02:02.437] { [18:02:02.437] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.437] NULL [18:02:02.437] } [18:02:02.437] options(future.plan = NULL) [18:02:02.437] if (is.na(NA_character_)) [18:02:02.437] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.437] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.437] future::plan(list(function (..., workers = availableCores(), [18:02:02.437] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.437] envir = parent.frame()) [18:02:02.437] { [18:02:02.437] if (is.function(workers)) [18:02:02.437] workers <- workers() [18:02:02.437] workers <- structure(as.integer(workers), [18:02:02.437] class = class(workers)) [18:02:02.437] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.437] workers >= 1) [18:02:02.437] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.437] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.437] } [18:02:02.437] future <- MultisessionFuture(..., workers = workers, [18:02:02.437] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.437] envir = envir) [18:02:02.437] if (!future$lazy) [18:02:02.437] future <- run(future) [18:02:02.437] invisible(future) [18:02:02.437] }), .cleanup = FALSE, .init = FALSE) [18:02:02.437] } [18:02:02.437] } [18:02:02.437] } [18:02:02.437] }) [18:02:02.437] if (TRUE) { [18:02:02.437] base::sink(type = "output", split = FALSE) [18:02:02.437] if (TRUE) { [18:02:02.437] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.437] } [18:02:02.437] else { [18:02:02.437] ...future.result["stdout"] <- base::list(NULL) [18:02:02.437] } [18:02:02.437] base::close(...future.stdout) [18:02:02.437] ...future.stdout <- NULL [18:02:02.437] } [18:02:02.437] ...future.result$conditions <- ...future.conditions [18:02:02.437] ...future.result$finished <- base::Sys.time() [18:02:02.437] ...future.result [18:02:02.437] } [18:02:02.442] Exporting 2 global objects (112 bytes) to cluster node #1 ... [18:02:02.442] Exporting 'a' (56 bytes) to cluster node #1 ... [18:02:02.443] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [18:02:02.443] Exporting 'ii' (56 bytes) to cluster node #1 ... [18:02:02.443] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [18:02:02.444] Exporting 2 global objects (112 bytes) to cluster node #1 ... DONE [18:02:02.444] MultisessionFuture started [18:02:02.444] - Launch lazy future ... done [18:02:02.445] run() for 'MultisessionFuture' ... done [18:02:02.445] result() for ClusterFuture ... [18:02:02.445] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.445] - Validating connection of MultisessionFuture [18:02:02.460] - received message: FutureResult [18:02:02.461] - Received FutureResult [18:02:02.461] - Erased future from FutureRegistry [18:02:02.461] result() for ClusterFuture ... [18:02:02.461] - result already collected: FutureResult [18:02:02.461] result() for ClusterFuture ... done [18:02:02.462] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.462] result() for ClusterFuture ... done [18:02:02.462] result() for ClusterFuture ... [18:02:02.462] - result already collected: FutureResult [18:02:02.462] result() for ClusterFuture ... done [18:02:02.462] run() for 'Future' ... [18:02:02.463] - state: 'created' [18:02:02.463] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.476] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.477] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.477] - Field: 'node' [18:02:02.477] - Field: 'label' [18:02:02.477] - Field: 'local' [18:02:02.477] - Field: 'owner' [18:02:02.477] - Field: 'envir' [18:02:02.478] - Field: 'workers' [18:02:02.478] - Field: 'packages' [18:02:02.478] - Field: 'gc' [18:02:02.478] - Field: 'conditions' [18:02:02.478] - Field: 'persistent' [18:02:02.479] - Field: 'expr' [18:02:02.479] - Field: 'uuid' [18:02:02.479] - Field: 'seed' [18:02:02.479] - Field: 'version' [18:02:02.479] - Field: 'result' [18:02:02.479] - Field: 'asynchronous' [18:02:02.480] - Field: 'calls' [18:02:02.480] - Field: 'globals' [18:02:02.480] - Field: 'stdout' [18:02:02.480] - Field: 'earlySignal' [18:02:02.480] - Field: 'lazy' [18:02:02.480] - Field: 'state' [18:02:02.481] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.481] - Launch lazy future ... [18:02:02.481] Packages needed by the future expression (n = 0): [18:02:02.481] Packages needed by future strategies (n = 0): [18:02:02.482] { [18:02:02.482] { [18:02:02.482] { [18:02:02.482] ...future.startTime <- base::Sys.time() [18:02:02.482] { [18:02:02.482] { [18:02:02.482] { [18:02:02.482] { [18:02:02.482] base::local({ [18:02:02.482] has_future <- base::requireNamespace("future", [18:02:02.482] quietly = TRUE) [18:02:02.482] if (has_future) { [18:02:02.482] ns <- base::getNamespace("future") [18:02:02.482] version <- ns[[".package"]][["version"]] [18:02:02.482] if (is.null(version)) [18:02:02.482] version <- utils::packageVersion("future") [18:02:02.482] } [18:02:02.482] else { [18:02:02.482] version <- NULL [18:02:02.482] } [18:02:02.482] if (!has_future || version < "1.8.0") { [18:02:02.482] info <- base::c(r_version = base::gsub("R version ", [18:02:02.482] "", base::R.version$version.string), [18:02:02.482] platform = base::sprintf("%s (%s-bit)", [18:02:02.482] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.482] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.482] "release", "version")], collapse = " "), [18:02:02.482] hostname = base::Sys.info()[["nodename"]]) [18:02:02.482] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.482] info) [18:02:02.482] info <- base::paste(info, collapse = "; ") [18:02:02.482] if (!has_future) { [18:02:02.482] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.482] info) [18:02:02.482] } [18:02:02.482] else { [18:02:02.482] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.482] info, version) [18:02:02.482] } [18:02:02.482] base::stop(msg) [18:02:02.482] } [18:02:02.482] }) [18:02:02.482] } [18:02:02.482] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.482] base::options(mc.cores = 1L) [18:02:02.482] } [18:02:02.482] options(future.plan = NULL) [18:02:02.482] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.482] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.482] } [18:02:02.482] ...future.workdir <- getwd() [18:02:02.482] } [18:02:02.482] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.482] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.482] } [18:02:02.482] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.482] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.482] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.482] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.482] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.482] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.482] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.482] base::names(...future.oldOptions)) [18:02:02.482] } [18:02:02.482] if (FALSE) { [18:02:02.482] } [18:02:02.482] else { [18:02:02.482] if (TRUE) { [18:02:02.482] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.482] open = "w") [18:02:02.482] } [18:02:02.482] else { [18:02:02.482] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.482] windows = "NUL", "/dev/null"), open = "w") [18:02:02.482] } [18:02:02.482] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.482] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.482] base::sink(type = "output", split = FALSE) [18:02:02.482] base::close(...future.stdout) [18:02:02.482] }, add = TRUE) [18:02:02.482] } [18:02:02.482] ...future.frame <- base::sys.nframe() [18:02:02.482] ...future.conditions <- base::list() [18:02:02.482] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.482] if (FALSE) { [18:02:02.482] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.482] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.482] } [18:02:02.482] ...future.result <- base::tryCatch({ [18:02:02.482] base::withCallingHandlers({ [18:02:02.482] ...future.value <- base::withVisible(base::local({ [18:02:02.482] ...future.makeSendCondition <- local({ [18:02:02.482] sendCondition <- NULL [18:02:02.482] function(frame = 1L) { [18:02:02.482] if (is.function(sendCondition)) [18:02:02.482] return(sendCondition) [18:02:02.482] ns <- getNamespace("parallel") [18:02:02.482] if (exists("sendData", mode = "function", [18:02:02.482] envir = ns)) { [18:02:02.482] parallel_sendData <- get("sendData", mode = "function", [18:02:02.482] envir = ns) [18:02:02.482] envir <- sys.frame(frame) [18:02:02.482] master <- NULL [18:02:02.482] while (!identical(envir, .GlobalEnv) && [18:02:02.482] !identical(envir, emptyenv())) { [18:02:02.482] if (exists("master", mode = "list", envir = envir, [18:02:02.482] inherits = FALSE)) { [18:02:02.482] master <- get("master", mode = "list", [18:02:02.482] envir = envir, inherits = FALSE) [18:02:02.482] if (inherits(master, c("SOCKnode", [18:02:02.482] "SOCK0node"))) { [18:02:02.482] sendCondition <<- function(cond) { [18:02:02.482] data <- list(type = "VALUE", value = cond, [18:02:02.482] success = TRUE) [18:02:02.482] parallel_sendData(master, data) [18:02:02.482] } [18:02:02.482] return(sendCondition) [18:02:02.482] } [18:02:02.482] } [18:02:02.482] frame <- frame + 1L [18:02:02.482] envir <- sys.frame(frame) [18:02:02.482] } [18:02:02.482] } [18:02:02.482] sendCondition <<- function(cond) NULL [18:02:02.482] } [18:02:02.482] }) [18:02:02.482] withCallingHandlers({ [18:02:02.482] { [18:02:02.482] b <- a * ii [18:02:02.482] a <- 0 [18:02:02.482] b [18:02:02.482] } [18:02:02.482] }, immediateCondition = function(cond) { [18:02:02.482] sendCondition <- ...future.makeSendCondition() [18:02:02.482] sendCondition(cond) [18:02:02.482] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.482] { [18:02:02.482] inherits <- base::inherits [18:02:02.482] invokeRestart <- base::invokeRestart [18:02:02.482] is.null <- base::is.null [18:02:02.482] muffled <- FALSE [18:02:02.482] if (inherits(cond, "message")) { [18:02:02.482] muffled <- grepl(pattern, "muffleMessage") [18:02:02.482] if (muffled) [18:02:02.482] invokeRestart("muffleMessage") [18:02:02.482] } [18:02:02.482] else if (inherits(cond, "warning")) { [18:02:02.482] muffled <- grepl(pattern, "muffleWarning") [18:02:02.482] if (muffled) [18:02:02.482] invokeRestart("muffleWarning") [18:02:02.482] } [18:02:02.482] else if (inherits(cond, "condition")) { [18:02:02.482] if (!is.null(pattern)) { [18:02:02.482] computeRestarts <- base::computeRestarts [18:02:02.482] grepl <- base::grepl [18:02:02.482] restarts <- computeRestarts(cond) [18:02:02.482] for (restart in restarts) { [18:02:02.482] name <- restart$name [18:02:02.482] if (is.null(name)) [18:02:02.482] next [18:02:02.482] if (!grepl(pattern, name)) [18:02:02.482] next [18:02:02.482] invokeRestart(restart) [18:02:02.482] muffled <- TRUE [18:02:02.482] break [18:02:02.482] } [18:02:02.482] } [18:02:02.482] } [18:02:02.482] invisible(muffled) [18:02:02.482] } [18:02:02.482] muffleCondition(cond) [18:02:02.482] }) [18:02:02.482] })) [18:02:02.482] future::FutureResult(value = ...future.value$value, [18:02:02.482] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.482] ...future.rng), globalenv = if (FALSE) [18:02:02.482] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.482] ...future.globalenv.names)) [18:02:02.482] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.482] }, condition = base::local({ [18:02:02.482] c <- base::c [18:02:02.482] inherits <- base::inherits [18:02:02.482] invokeRestart <- base::invokeRestart [18:02:02.482] length <- base::length [18:02:02.482] list <- base::list [18:02:02.482] seq.int <- base::seq.int [18:02:02.482] signalCondition <- base::signalCondition [18:02:02.482] sys.calls <- base::sys.calls [18:02:02.482] `[[` <- base::`[[` [18:02:02.482] `+` <- base::`+` [18:02:02.482] `<<-` <- base::`<<-` [18:02:02.482] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.482] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.482] 3L)] [18:02:02.482] } [18:02:02.482] function(cond) { [18:02:02.482] is_error <- inherits(cond, "error") [18:02:02.482] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.482] NULL) [18:02:02.482] if (is_error) { [18:02:02.482] sessionInformation <- function() { [18:02:02.482] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.482] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.482] search = base::search(), system = base::Sys.info()) [18:02:02.482] } [18:02:02.482] ...future.conditions[[length(...future.conditions) + [18:02:02.482] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.482] cond$call), session = sessionInformation(), [18:02:02.482] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.482] signalCondition(cond) [18:02:02.482] } [18:02:02.482] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.482] "immediateCondition"))) { [18:02:02.482] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.482] ...future.conditions[[length(...future.conditions) + [18:02:02.482] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.482] if (TRUE && !signal) { [18:02:02.482] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.482] { [18:02:02.482] inherits <- base::inherits [18:02:02.482] invokeRestart <- base::invokeRestart [18:02:02.482] is.null <- base::is.null [18:02:02.482] muffled <- FALSE [18:02:02.482] if (inherits(cond, "message")) { [18:02:02.482] muffled <- grepl(pattern, "muffleMessage") [18:02:02.482] if (muffled) [18:02:02.482] invokeRestart("muffleMessage") [18:02:02.482] } [18:02:02.482] else if (inherits(cond, "warning")) { [18:02:02.482] muffled <- grepl(pattern, "muffleWarning") [18:02:02.482] if (muffled) [18:02:02.482] invokeRestart("muffleWarning") [18:02:02.482] } [18:02:02.482] else if (inherits(cond, "condition")) { [18:02:02.482] if (!is.null(pattern)) { [18:02:02.482] computeRestarts <- base::computeRestarts [18:02:02.482] grepl <- base::grepl [18:02:02.482] restarts <- computeRestarts(cond) [18:02:02.482] for (restart in restarts) { [18:02:02.482] name <- restart$name [18:02:02.482] if (is.null(name)) [18:02:02.482] next [18:02:02.482] if (!grepl(pattern, name)) [18:02:02.482] next [18:02:02.482] invokeRestart(restart) [18:02:02.482] muffled <- TRUE [18:02:02.482] break [18:02:02.482] } [18:02:02.482] } [18:02:02.482] } [18:02:02.482] invisible(muffled) [18:02:02.482] } [18:02:02.482] muffleCondition(cond, pattern = "^muffle") [18:02:02.482] } [18:02:02.482] } [18:02:02.482] else { [18:02:02.482] if (TRUE) { [18:02:02.482] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.482] { [18:02:02.482] inherits <- base::inherits [18:02:02.482] invokeRestart <- base::invokeRestart [18:02:02.482] is.null <- base::is.null [18:02:02.482] muffled <- FALSE [18:02:02.482] if (inherits(cond, "message")) { [18:02:02.482] muffled <- grepl(pattern, "muffleMessage") [18:02:02.482] if (muffled) [18:02:02.482] invokeRestart("muffleMessage") [18:02:02.482] } [18:02:02.482] else if (inherits(cond, "warning")) { [18:02:02.482] muffled <- grepl(pattern, "muffleWarning") [18:02:02.482] if (muffled) [18:02:02.482] invokeRestart("muffleWarning") [18:02:02.482] } [18:02:02.482] else if (inherits(cond, "condition")) { [18:02:02.482] if (!is.null(pattern)) { [18:02:02.482] computeRestarts <- base::computeRestarts [18:02:02.482] grepl <- base::grepl [18:02:02.482] restarts <- computeRestarts(cond) [18:02:02.482] for (restart in restarts) { [18:02:02.482] name <- restart$name [18:02:02.482] if (is.null(name)) [18:02:02.482] next [18:02:02.482] if (!grepl(pattern, name)) [18:02:02.482] next [18:02:02.482] invokeRestart(restart) [18:02:02.482] muffled <- TRUE [18:02:02.482] break [18:02:02.482] } [18:02:02.482] } [18:02:02.482] } [18:02:02.482] invisible(muffled) [18:02:02.482] } [18:02:02.482] muffleCondition(cond, pattern = "^muffle") [18:02:02.482] } [18:02:02.482] } [18:02:02.482] } [18:02:02.482] })) [18:02:02.482] }, error = function(ex) { [18:02:02.482] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.482] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.482] ...future.rng), started = ...future.startTime, [18:02:02.482] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.482] version = "1.8"), class = "FutureResult") [18:02:02.482] }, finally = { [18:02:02.482] if (!identical(...future.workdir, getwd())) [18:02:02.482] setwd(...future.workdir) [18:02:02.482] { [18:02:02.482] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.482] ...future.oldOptions$nwarnings <- NULL [18:02:02.482] } [18:02:02.482] base::options(...future.oldOptions) [18:02:02.482] if (.Platform$OS.type == "windows") { [18:02:02.482] old_names <- names(...future.oldEnvVars) [18:02:02.482] envs <- base::Sys.getenv() [18:02:02.482] names <- names(envs) [18:02:02.482] common <- intersect(names, old_names) [18:02:02.482] added <- setdiff(names, old_names) [18:02:02.482] removed <- setdiff(old_names, names) [18:02:02.482] changed <- common[...future.oldEnvVars[common] != [18:02:02.482] envs[common]] [18:02:02.482] NAMES <- toupper(changed) [18:02:02.482] args <- list() [18:02:02.482] for (kk in seq_along(NAMES)) { [18:02:02.482] name <- changed[[kk]] [18:02:02.482] NAME <- NAMES[[kk]] [18:02:02.482] if (name != NAME && is.element(NAME, old_names)) [18:02:02.482] next [18:02:02.482] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.482] } [18:02:02.482] NAMES <- toupper(added) [18:02:02.482] for (kk in seq_along(NAMES)) { [18:02:02.482] name <- added[[kk]] [18:02:02.482] NAME <- NAMES[[kk]] [18:02:02.482] if (name != NAME && is.element(NAME, old_names)) [18:02:02.482] next [18:02:02.482] args[[name]] <- "" [18:02:02.482] } [18:02:02.482] NAMES <- toupper(removed) [18:02:02.482] for (kk in seq_along(NAMES)) { [18:02:02.482] name <- removed[[kk]] [18:02:02.482] NAME <- NAMES[[kk]] [18:02:02.482] if (name != NAME && is.element(NAME, old_names)) [18:02:02.482] next [18:02:02.482] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.482] } [18:02:02.482] if (length(args) > 0) [18:02:02.482] base::do.call(base::Sys.setenv, args = args) [18:02:02.482] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.482] } [18:02:02.482] else { [18:02:02.482] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.482] } [18:02:02.482] { [18:02:02.482] if (base::length(...future.futureOptionsAdded) > [18:02:02.482] 0L) { [18:02:02.482] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.482] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.482] base::options(opts) [18:02:02.482] } [18:02:02.482] { [18:02:02.482] { [18:02:02.482] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.482] NULL [18:02:02.482] } [18:02:02.482] options(future.plan = NULL) [18:02:02.482] if (is.na(NA_character_)) [18:02:02.482] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.482] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.482] future::plan(list(function (..., workers = availableCores(), [18:02:02.482] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.482] envir = parent.frame()) [18:02:02.482] { [18:02:02.482] if (is.function(workers)) [18:02:02.482] workers <- workers() [18:02:02.482] workers <- structure(as.integer(workers), [18:02:02.482] class = class(workers)) [18:02:02.482] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.482] workers >= 1) [18:02:02.482] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.482] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.482] } [18:02:02.482] future <- MultisessionFuture(..., workers = workers, [18:02:02.482] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.482] envir = envir) [18:02:02.482] if (!future$lazy) [18:02:02.482] future <- run(future) [18:02:02.482] invisible(future) [18:02:02.482] }), .cleanup = FALSE, .init = FALSE) [18:02:02.482] } [18:02:02.482] } [18:02:02.482] } [18:02:02.482] }) [18:02:02.482] if (TRUE) { [18:02:02.482] base::sink(type = "output", split = FALSE) [18:02:02.482] if (TRUE) { [18:02:02.482] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.482] } [18:02:02.482] else { [18:02:02.482] ...future.result["stdout"] <- base::list(NULL) [18:02:02.482] } [18:02:02.482] base::close(...future.stdout) [18:02:02.482] ...future.stdout <- NULL [18:02:02.482] } [18:02:02.482] ...future.result$conditions <- ...future.conditions [18:02:02.482] ...future.result$finished <- base::Sys.time() [18:02:02.482] ...future.result [18:02:02.482] } [18:02:02.487] Exporting 2 global objects (112 bytes) to cluster node #1 ... [18:02:02.487] Exporting 'a' (56 bytes) to cluster node #1 ... [18:02:02.488] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [18:02:02.488] Exporting 'ii' (56 bytes) to cluster node #1 ... [18:02:02.488] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [18:02:02.489] Exporting 2 global objects (112 bytes) to cluster node #1 ... DONE [18:02:02.489] MultisessionFuture started [18:02:02.489] - Launch lazy future ... done [18:02:02.489] run() for 'MultisessionFuture' ... done [18:02:02.490] result() for ClusterFuture ... [18:02:02.490] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.490] - Validating connection of MultisessionFuture [18:02:02.506] - received message: FutureResult [18:02:02.507] - Received FutureResult [18:02:02.507] - Erased future from FutureRegistry [18:02:02.507] result() for ClusterFuture ... [18:02:02.507] - result already collected: FutureResult [18:02:02.507] result() for ClusterFuture ... done [18:02:02.508] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.508] result() for ClusterFuture ... done [18:02:02.508] result() for ClusterFuture ... [18:02:02.508] - result already collected: FutureResult [18:02:02.508] result() for ClusterFuture ... done [1] 1 2 3 Warning: 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' [18:02:02.509] getGlobalsAndPackages() ... Warning: 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' [18:02:02.509] Searching for globals... Warning: 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' [18:02:02.510] [18:02:02.510] Searching for globals ... DONE [18:02:02.510] - globals: [0] [18:02:02.510] getGlobalsAndPackages() ... DONE [18:02:02.510] run() for 'Future' ... [18:02:02.511] - state: 'created' [18:02:02.511] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.525] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.525] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.525] - Field: 'node' [18:02:02.525] - Field: 'label' [18:02:02.525] - Field: 'local' [18:02:02.526] - Field: 'owner' [18:02:02.526] - Field: 'envir' [18:02:02.526] - Field: 'workers' [18:02:02.526] - Field: 'packages' [18:02:02.526] - Field: 'gc' [18:02:02.526] - Field: 'conditions' [18:02:02.527] - Field: 'persistent' [18:02:02.527] - Field: 'expr' [18:02:02.527] - Field: 'uuid' [18:02:02.527] - Field: 'seed' [18:02:02.527] - Field: 'version' [18:02:02.528] - Field: 'result' [18:02:02.528] - Field: 'asynchronous' [18:02:02.528] - Field: 'calls' [18:02:02.528] - Field: 'globals' [18:02:02.528] - Field: 'stdout' [18:02:02.528] - Field: 'earlySignal' [18:02:02.529] - Field: 'lazy' [18:02:02.529] - Field: 'state' [18:02:02.529] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.529] - Launch lazy future ... [18:02:02.529] Packages needed by the future expression (n = 0): [18:02:02.530] Packages needed by future strategies (n = 0): [18:02:02.530] { [18:02:02.530] { [18:02:02.530] { [18:02:02.530] ...future.startTime <- base::Sys.time() [18:02:02.530] { [18:02:02.530] { [18:02:02.530] { [18:02:02.530] { [18:02:02.530] base::local({ [18:02:02.530] has_future <- base::requireNamespace("future", [18:02:02.530] quietly = TRUE) [18:02:02.530] if (has_future) { [18:02:02.530] ns <- base::getNamespace("future") [18:02:02.530] version <- ns[[".package"]][["version"]] [18:02:02.530] if (is.null(version)) [18:02:02.530] version <- utils::packageVersion("future") [18:02:02.530] } [18:02:02.530] else { [18:02:02.530] version <- NULL [18:02:02.530] } [18:02:02.530] if (!has_future || version < "1.8.0") { [18:02:02.530] info <- base::c(r_version = base::gsub("R version ", [18:02:02.530] "", base::R.version$version.string), [18:02:02.530] platform = base::sprintf("%s (%s-bit)", [18:02:02.530] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.530] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.530] "release", "version")], collapse = " "), [18:02:02.530] hostname = base::Sys.info()[["nodename"]]) [18:02:02.530] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.530] info) [18:02:02.530] info <- base::paste(info, collapse = "; ") [18:02:02.530] if (!has_future) { [18:02:02.530] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.530] info) [18:02:02.530] } [18:02:02.530] else { [18:02:02.530] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.530] info, version) [18:02:02.530] } [18:02:02.530] base::stop(msg) [18:02:02.530] } [18:02:02.530] }) [18:02:02.530] } [18:02:02.530] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.530] base::options(mc.cores = 1L) [18:02:02.530] } [18:02:02.530] options(future.plan = NULL) [18:02:02.530] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.530] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.530] } [18:02:02.530] ...future.workdir <- getwd() [18:02:02.530] } [18:02:02.530] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.530] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.530] } [18:02:02.530] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.530] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.530] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.530] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.530] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.530] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.530] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.530] base::names(...future.oldOptions)) [18:02:02.530] } [18:02:02.530] if (FALSE) { [18:02:02.530] } [18:02:02.530] else { [18:02:02.530] if (TRUE) { [18:02:02.530] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.530] open = "w") [18:02:02.530] } [18:02:02.530] else { [18:02:02.530] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.530] windows = "NUL", "/dev/null"), open = "w") [18:02:02.530] } [18:02:02.530] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.530] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.530] base::sink(type = "output", split = FALSE) [18:02:02.530] base::close(...future.stdout) [18:02:02.530] }, add = TRUE) [18:02:02.530] } [18:02:02.530] ...future.frame <- base::sys.nframe() [18:02:02.530] ...future.conditions <- base::list() [18:02:02.530] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.530] if (FALSE) { [18:02:02.530] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.530] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.530] } [18:02:02.530] ...future.result <- base::tryCatch({ [18:02:02.530] base::withCallingHandlers({ [18:02:02.530] ...future.value <- base::withVisible(base::local({ [18:02:02.530] ...future.makeSendCondition <- local({ [18:02:02.530] sendCondition <- NULL [18:02:02.530] function(frame = 1L) { [18:02:02.530] if (is.function(sendCondition)) [18:02:02.530] return(sendCondition) [18:02:02.530] ns <- getNamespace("parallel") [18:02:02.530] if (exists("sendData", mode = "function", [18:02:02.530] envir = ns)) { [18:02:02.530] parallel_sendData <- get("sendData", mode = "function", [18:02:02.530] envir = ns) [18:02:02.530] envir <- sys.frame(frame) [18:02:02.530] master <- NULL [18:02:02.530] while (!identical(envir, .GlobalEnv) && [18:02:02.530] !identical(envir, emptyenv())) { [18:02:02.530] if (exists("master", mode = "list", envir = envir, [18:02:02.530] inherits = FALSE)) { [18:02:02.530] master <- get("master", mode = "list", [18:02:02.530] envir = envir, inherits = FALSE) [18:02:02.530] if (inherits(master, c("SOCKnode", [18:02:02.530] "SOCK0node"))) { [18:02:02.530] sendCondition <<- function(cond) { [18:02:02.530] data <- list(type = "VALUE", value = cond, [18:02:02.530] success = TRUE) [18:02:02.530] parallel_sendData(master, data) [18:02:02.530] } [18:02:02.530] return(sendCondition) [18:02:02.530] } [18:02:02.530] } [18:02:02.530] frame <- frame + 1L [18:02:02.530] envir <- sys.frame(frame) [18:02:02.530] } [18:02:02.530] } [18:02:02.530] sendCondition <<- function(cond) NULL [18:02:02.530] } [18:02:02.530] }) [18:02:02.530] withCallingHandlers({ [18:02:02.530] 1 [18:02:02.530] }, immediateCondition = function(cond) { [18:02:02.530] sendCondition <- ...future.makeSendCondition() [18:02:02.530] sendCondition(cond) [18:02:02.530] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.530] { [18:02:02.530] inherits <- base::inherits [18:02:02.530] invokeRestart <- base::invokeRestart [18:02:02.530] is.null <- base::is.null [18:02:02.530] muffled <- FALSE [18:02:02.530] if (inherits(cond, "message")) { [18:02:02.530] muffled <- grepl(pattern, "muffleMessage") [18:02:02.530] if (muffled) [18:02:02.530] invokeRestart("muffleMessage") [18:02:02.530] } [18:02:02.530] else if (inherits(cond, "warning")) { [18:02:02.530] muffled <- grepl(pattern, "muffleWarning") [18:02:02.530] if (muffled) [18:02:02.530] invokeRestart("muffleWarning") [18:02:02.530] } [18:02:02.530] else if (inherits(cond, "condition")) { [18:02:02.530] if (!is.null(pattern)) { [18:02:02.530] computeRestarts <- base::computeRestarts [18:02:02.530] grepl <- base::grepl [18:02:02.530] restarts <- computeRestarts(cond) [18:02:02.530] for (restart in restarts) { [18:02:02.530] name <- restart$name [18:02:02.530] if (is.null(name)) [18:02:02.530] next [18:02:02.530] if (!grepl(pattern, name)) [18:02:02.530] next [18:02:02.530] invokeRestart(restart) [18:02:02.530] muffled <- TRUE [18:02:02.530] break [18:02:02.530] } [18:02:02.530] } [18:02:02.530] } [18:02:02.530] invisible(muffled) [18:02:02.530] } [18:02:02.530] muffleCondition(cond) [18:02:02.530] }) [18:02:02.530] })) [18:02:02.530] future::FutureResult(value = ...future.value$value, [18:02:02.530] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.530] ...future.rng), globalenv = if (FALSE) [18:02:02.530] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.530] ...future.globalenv.names)) [18:02:02.530] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.530] }, condition = base::local({ [18:02:02.530] c <- base::c [18:02:02.530] inherits <- base::inherits [18:02:02.530] invokeRestart <- base::invokeRestart [18:02:02.530] length <- base::length [18:02:02.530] list <- base::list [18:02:02.530] seq.int <- base::seq.int [18:02:02.530] signalCondition <- base::signalCondition [18:02:02.530] sys.calls <- base::sys.calls [18:02:02.530] `[[` <- base::`[[` [18:02:02.530] `+` <- base::`+` [18:02:02.530] `<<-` <- base::`<<-` [18:02:02.530] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.530] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.530] 3L)] [18:02:02.530] } [18:02:02.530] function(cond) { [18:02:02.530] is_error <- inherits(cond, "error") [18:02:02.530] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.530] NULL) [18:02:02.530] if (is_error) { [18:02:02.530] sessionInformation <- function() { [18:02:02.530] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.530] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.530] search = base::search(), system = base::Sys.info()) [18:02:02.530] } [18:02:02.530] ...future.conditions[[length(...future.conditions) + [18:02:02.530] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.530] cond$call), session = sessionInformation(), [18:02:02.530] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.530] signalCondition(cond) [18:02:02.530] } [18:02:02.530] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.530] "immediateCondition"))) { [18:02:02.530] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.530] ...future.conditions[[length(...future.conditions) + [18:02:02.530] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.530] if (TRUE && !signal) { [18:02:02.530] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.530] { [18:02:02.530] inherits <- base::inherits [18:02:02.530] invokeRestart <- base::invokeRestart [18:02:02.530] is.null <- base::is.null [18:02:02.530] muffled <- FALSE [18:02:02.530] if (inherits(cond, "message")) { [18:02:02.530] muffled <- grepl(pattern, "muffleMessage") [18:02:02.530] if (muffled) [18:02:02.530] invokeRestart("muffleMessage") [18:02:02.530] } [18:02:02.530] else if (inherits(cond, "warning")) { [18:02:02.530] muffled <- grepl(pattern, "muffleWarning") [18:02:02.530] if (muffled) [18:02:02.530] invokeRestart("muffleWarning") [18:02:02.530] } [18:02:02.530] else if (inherits(cond, "condition")) { [18:02:02.530] if (!is.null(pattern)) { [18:02:02.530] computeRestarts <- base::computeRestarts [18:02:02.530] grepl <- base::grepl [18:02:02.530] restarts <- computeRestarts(cond) [18:02:02.530] for (restart in restarts) { [18:02:02.530] name <- restart$name [18:02:02.530] if (is.null(name)) [18:02:02.530] next [18:02:02.530] if (!grepl(pattern, name)) [18:02:02.530] next [18:02:02.530] invokeRestart(restart) [18:02:02.530] muffled <- TRUE [18:02:02.530] break [18:02:02.530] } [18:02:02.530] } [18:02:02.530] } [18:02:02.530] invisible(muffled) [18:02:02.530] } [18:02:02.530] muffleCondition(cond, pattern = "^muffle") [18:02:02.530] } [18:02:02.530] } [18:02:02.530] else { [18:02:02.530] if (TRUE) { [18:02:02.530] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.530] { [18:02:02.530] inherits <- base::inherits [18:02:02.530] invokeRestart <- base::invokeRestart [18:02:02.530] is.null <- base::is.null [18:02:02.530] muffled <- FALSE [18:02:02.530] if (inherits(cond, "message")) { [18:02:02.530] muffled <- grepl(pattern, "muffleMessage") [18:02:02.530] if (muffled) [18:02:02.530] invokeRestart("muffleMessage") [18:02:02.530] } [18:02:02.530] else if (inherits(cond, "warning")) { [18:02:02.530] muffled <- grepl(pattern, "muffleWarning") [18:02:02.530] if (muffled) [18:02:02.530] invokeRestart("muffleWarning") [18:02:02.530] } [18:02:02.530] else if (inherits(cond, "condition")) { [18:02:02.530] if (!is.null(pattern)) { [18:02:02.530] computeRestarts <- base::computeRestarts [18:02:02.530] grepl <- base::grepl [18:02:02.530] restarts <- computeRestarts(cond) [18:02:02.530] for (restart in restarts) { [18:02:02.530] name <- restart$name [18:02:02.530] if (is.null(name)) [18:02:02.530] next [18:02:02.530] if (!grepl(pattern, name)) [18:02:02.530] next [18:02:02.530] invokeRestart(restart) [18:02:02.530] muffled <- TRUE [18:02:02.530] break [18:02:02.530] } [18:02:02.530] } [18:02:02.530] } [18:02:02.530] invisible(muffled) [18:02:02.530] } [18:02:02.530] muffleCondition(cond, pattern = "^muffle") [18:02:02.530] } [18:02:02.530] } [18:02:02.530] } [18:02:02.530] })) [18:02:02.530] }, error = function(ex) { [18:02:02.530] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.530] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.530] ...future.rng), started = ...future.startTime, [18:02:02.530] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.530] version = "1.8"), class = "FutureResult") [18:02:02.530] }, finally = { [18:02:02.530] if (!identical(...future.workdir, getwd())) [18:02:02.530] setwd(...future.workdir) [18:02:02.530] { [18:02:02.530] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.530] ...future.oldOptions$nwarnings <- NULL [18:02:02.530] } [18:02:02.530] base::options(...future.oldOptions) [18:02:02.530] if (.Platform$OS.type == "windows") { [18:02:02.530] old_names <- names(...future.oldEnvVars) [18:02:02.530] envs <- base::Sys.getenv() [18:02:02.530] names <- names(envs) [18:02:02.530] common <- intersect(names, old_names) [18:02:02.530] added <- setdiff(names, old_names) [18:02:02.530] removed <- setdiff(old_names, names) [18:02:02.530] changed <- common[...future.oldEnvVars[common] != [18:02:02.530] envs[common]] [18:02:02.530] NAMES <- toupper(changed) [18:02:02.530] args <- list() [18:02:02.530] for (kk in seq_along(NAMES)) { [18:02:02.530] name <- changed[[kk]] [18:02:02.530] NAME <- NAMES[[kk]] [18:02:02.530] if (name != NAME && is.element(NAME, old_names)) [18:02:02.530] next [18:02:02.530] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.530] } [18:02:02.530] NAMES <- toupper(added) [18:02:02.530] for (kk in seq_along(NAMES)) { [18:02:02.530] name <- added[[kk]] [18:02:02.530] NAME <- NAMES[[kk]] [18:02:02.530] if (name != NAME && is.element(NAME, old_names)) [18:02:02.530] next [18:02:02.530] args[[name]] <- "" [18:02:02.530] } [18:02:02.530] NAMES <- toupper(removed) [18:02:02.530] for (kk in seq_along(NAMES)) { [18:02:02.530] name <- removed[[kk]] [18:02:02.530] NAME <- NAMES[[kk]] [18:02:02.530] if (name != NAME && is.element(NAME, old_names)) [18:02:02.530] next [18:02:02.530] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.530] } [18:02:02.530] if (length(args) > 0) [18:02:02.530] base::do.call(base::Sys.setenv, args = args) [18:02:02.530] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.530] } [18:02:02.530] else { [18:02:02.530] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.530] } [18:02:02.530] { [18:02:02.530] if (base::length(...future.futureOptionsAdded) > [18:02:02.530] 0L) { [18:02:02.530] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.530] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.530] base::options(opts) [18:02:02.530] } [18:02:02.530] { [18:02:02.530] { [18:02:02.530] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.530] NULL [18:02:02.530] } [18:02:02.530] options(future.plan = NULL) [18:02:02.530] if (is.na(NA_character_)) [18:02:02.530] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.530] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.530] future::plan(list(function (..., workers = availableCores(), [18:02:02.530] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.530] envir = parent.frame()) [18:02:02.530] { [18:02:02.530] if (is.function(workers)) [18:02:02.530] workers <- workers() [18:02:02.530] workers <- structure(as.integer(workers), [18:02:02.530] class = class(workers)) [18:02:02.530] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.530] workers >= 1) [18:02:02.530] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.530] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.530] } [18:02:02.530] future <- MultisessionFuture(..., workers = workers, [18:02:02.530] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.530] envir = envir) [18:02:02.530] if (!future$lazy) [18:02:02.530] future <- run(future) [18:02:02.530] invisible(future) [18:02:02.530] }), .cleanup = FALSE, .init = FALSE) [18:02:02.530] } [18:02:02.530] } [18:02:02.530] } [18:02:02.530] }) [18:02:02.530] if (TRUE) { [18:02:02.530] base::sink(type = "output", split = FALSE) [18:02:02.530] if (TRUE) { [18:02:02.530] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.530] } [18:02:02.530] else { [18:02:02.530] ...future.result["stdout"] <- base::list(NULL) [18:02:02.530] } [18:02:02.530] base::close(...future.stdout) [18:02:02.530] ...future.stdout <- NULL [18:02:02.530] } [18:02:02.530] ...future.result$conditions <- ...future.conditions [18:02:02.530] ...future.result$finished <- base::Sys.time() [18:02:02.530] ...future.result [18:02:02.530] } [18:02:02.536] MultisessionFuture started [18:02:02.536] - Launch lazy future ... done [18:02:02.536] run() for 'MultisessionFuture' ... done Warning: 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' [18:02:02.537] getGlobalsAndPackages() ... Warning: 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' [18:02:02.537] Searching for globals... Warning: 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' [18:02:02.538] - globals found: [3] '+', 'value', 'a' [18:02:02.538] Searching for globals ... DONE [18:02:02.538] Resolving globals: TRUE [18:02:02.539] Resolving any globals that are futures ... [18:02:02.539] - globals: [3] '+', 'value', 'a' [18:02:02.539] Resolving any globals that are futures ... DONE [18:02:02.539] Resolving futures part of globals (recursively) ... [18:02:02.540] resolve() on list ... [18:02:02.540] recursive: 99 [18:02:02.540] length: 1 [18:02:02.540] elements: 'a' [18:02:02.552] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.552] - Validating connection of MultisessionFuture [18:02:02.552] - received message: FutureResult [18:02:02.553] - Received FutureResult [18:02:02.553] - Erased future from FutureRegistry [18:02:02.553] result() for ClusterFuture ... [18:02:02.553] - result already collected: FutureResult [18:02:02.553] result() for ClusterFuture ... done [18:02:02.553] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.553] Future #1 [18:02:02.554] result() for ClusterFuture ... [18:02:02.554] - result already collected: FutureResult [18:02:02.554] result() for ClusterFuture ... done [18:02:02.554] result() for ClusterFuture ... [18:02:02.554] - result already collected: FutureResult [18:02:02.554] result() for ClusterFuture ... done [18:02:02.555] A MultisessionFuture was resolved [18:02:02.555] length: 0 (resolved future 1) [18:02:02.555] resolve() on list ... DONE [18:02:02.555] - globals: [1] 'a' [18:02:02.555] Resolving futures part of globals (recursively) ... DONE [18:02:02.558] The total size of the 1 globals is 1.58 MiB (1661272 bytes) [18:02:02.558] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.58 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.58 MiB of class 'environment') [18:02:02.559] - globals: [1] 'a' [18:02:02.559] - packages: [1] 'future' [18:02:02.559] getGlobalsAndPackages() ... DONE [18:02:02.559] run() for 'Future' ... [18:02:02.560] - state: 'created' [18:02:02.560] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.573] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.574] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.574] - Field: 'node' [18:02:02.574] - Field: 'label' [18:02:02.574] - Field: 'local' [18:02:02.574] - Field: 'owner' [18:02:02.575] - Field: 'envir' [18:02:02.575] - Field: 'workers' [18:02:02.575] - Field: 'packages' [18:02:02.575] - Field: 'gc' [18:02:02.575] - Field: 'conditions' [18:02:02.575] - Field: 'persistent' [18:02:02.576] - Field: 'expr' [18:02:02.576] - Field: 'uuid' [18:02:02.576] - Field: 'seed' [18:02:02.576] - Field: 'version' [18:02:02.576] - Field: 'result' [18:02:02.576] - Field: 'asynchronous' [18:02:02.577] - Field: 'calls' [18:02:02.577] - Field: 'globals' [18:02:02.577] - Field: 'stdout' [18:02:02.577] - Field: 'earlySignal' [18:02:02.577] - Field: 'lazy' [18:02:02.578] - Field: 'state' [18:02:02.578] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.578] - Launch lazy future ... [18:02:02.578] Packages needed by the future expression (n = 1): 'future' [18:02:02.578] Packages needed by future strategies (n = 0): [18:02:02.579] { [18:02:02.579] { [18:02:02.579] { [18:02:02.579] ...future.startTime <- base::Sys.time() [18:02:02.579] { [18:02:02.579] { [18:02:02.579] { [18:02:02.579] { [18:02:02.579] { [18:02:02.579] base::local({ [18:02:02.579] has_future <- base::requireNamespace("future", [18:02:02.579] quietly = TRUE) [18:02:02.579] if (has_future) { [18:02:02.579] ns <- base::getNamespace("future") [18:02:02.579] version <- ns[[".package"]][["version"]] [18:02:02.579] if (is.null(version)) [18:02:02.579] version <- utils::packageVersion("future") [18:02:02.579] } [18:02:02.579] else { [18:02:02.579] version <- NULL [18:02:02.579] } [18:02:02.579] if (!has_future || version < "1.8.0") { [18:02:02.579] info <- base::c(r_version = base::gsub("R version ", [18:02:02.579] "", base::R.version$version.string), [18:02:02.579] platform = base::sprintf("%s (%s-bit)", [18:02:02.579] base::R.version$platform, 8 * [18:02:02.579] base::.Machine$sizeof.pointer), [18:02:02.579] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.579] "release", "version")], collapse = " "), [18:02:02.579] hostname = base::Sys.info()[["nodename"]]) [18:02:02.579] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.579] info) [18:02:02.579] info <- base::paste(info, collapse = "; ") [18:02:02.579] if (!has_future) { [18:02:02.579] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.579] info) [18:02:02.579] } [18:02:02.579] else { [18:02:02.579] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.579] info, version) [18:02:02.579] } [18:02:02.579] base::stop(msg) [18:02:02.579] } [18:02:02.579] }) [18:02:02.579] } [18:02:02.579] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.579] base::options(mc.cores = 1L) [18:02:02.579] } [18:02:02.579] base::local({ [18:02:02.579] for (pkg in "future") { [18:02:02.579] base::loadNamespace(pkg) [18:02:02.579] base::library(pkg, character.only = TRUE) [18:02:02.579] } [18:02:02.579] }) [18:02:02.579] } [18:02:02.579] options(future.plan = NULL) [18:02:02.579] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.579] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.579] } [18:02:02.579] ...future.workdir <- getwd() [18:02:02.579] } [18:02:02.579] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.579] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.579] } [18:02:02.579] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.579] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.579] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.579] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.579] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.579] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.579] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.579] base::names(...future.oldOptions)) [18:02:02.579] } [18:02:02.579] if (FALSE) { [18:02:02.579] } [18:02:02.579] else { [18:02:02.579] if (TRUE) { [18:02:02.579] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.579] open = "w") [18:02:02.579] } [18:02:02.579] else { [18:02:02.579] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.579] windows = "NUL", "/dev/null"), open = "w") [18:02:02.579] } [18:02:02.579] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.579] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.579] base::sink(type = "output", split = FALSE) [18:02:02.579] base::close(...future.stdout) [18:02:02.579] }, add = TRUE) [18:02:02.579] } [18:02:02.579] ...future.frame <- base::sys.nframe() [18:02:02.579] ...future.conditions <- base::list() [18:02:02.579] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.579] if (FALSE) { [18:02:02.579] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.579] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.579] } [18:02:02.579] ...future.result <- base::tryCatch({ [18:02:02.579] base::withCallingHandlers({ [18:02:02.579] ...future.value <- base::withVisible(base::local({ [18:02:02.579] ...future.makeSendCondition <- local({ [18:02:02.579] sendCondition <- NULL [18:02:02.579] function(frame = 1L) { [18:02:02.579] if (is.function(sendCondition)) [18:02:02.579] return(sendCondition) [18:02:02.579] ns <- getNamespace("parallel") [18:02:02.579] if (exists("sendData", mode = "function", [18:02:02.579] envir = ns)) { [18:02:02.579] parallel_sendData <- get("sendData", mode = "function", [18:02:02.579] envir = ns) [18:02:02.579] envir <- sys.frame(frame) [18:02:02.579] master <- NULL [18:02:02.579] while (!identical(envir, .GlobalEnv) && [18:02:02.579] !identical(envir, emptyenv())) { [18:02:02.579] if (exists("master", mode = "list", envir = envir, [18:02:02.579] inherits = FALSE)) { [18:02:02.579] master <- get("master", mode = "list", [18:02:02.579] envir = envir, inherits = FALSE) [18:02:02.579] if (inherits(master, c("SOCKnode", [18:02:02.579] "SOCK0node"))) { [18:02:02.579] sendCondition <<- function(cond) { [18:02:02.579] data <- list(type = "VALUE", value = cond, [18:02:02.579] success = TRUE) [18:02:02.579] parallel_sendData(master, data) [18:02:02.579] } [18:02:02.579] return(sendCondition) [18:02:02.579] } [18:02:02.579] } [18:02:02.579] frame <- frame + 1L [18:02:02.579] envir <- sys.frame(frame) [18:02:02.579] } [18:02:02.579] } [18:02:02.579] sendCondition <<- function(cond) NULL [18:02:02.579] } [18:02:02.579] }) [18:02:02.579] withCallingHandlers({ [18:02:02.579] value(a) + 1 [18:02:02.579] }, immediateCondition = function(cond) { [18:02:02.579] sendCondition <- ...future.makeSendCondition() [18:02:02.579] sendCondition(cond) [18:02:02.579] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.579] { [18:02:02.579] inherits <- base::inherits [18:02:02.579] invokeRestart <- base::invokeRestart [18:02:02.579] is.null <- base::is.null [18:02:02.579] muffled <- FALSE [18:02:02.579] if (inherits(cond, "message")) { [18:02:02.579] muffled <- grepl(pattern, "muffleMessage") [18:02:02.579] if (muffled) [18:02:02.579] invokeRestart("muffleMessage") [18:02:02.579] } [18:02:02.579] else if (inherits(cond, "warning")) { [18:02:02.579] muffled <- grepl(pattern, "muffleWarning") [18:02:02.579] if (muffled) [18:02:02.579] invokeRestart("muffleWarning") [18:02:02.579] } [18:02:02.579] else if (inherits(cond, "condition")) { [18:02:02.579] if (!is.null(pattern)) { [18:02:02.579] computeRestarts <- base::computeRestarts [18:02:02.579] grepl <- base::grepl [18:02:02.579] restarts <- computeRestarts(cond) [18:02:02.579] for (restart in restarts) { [18:02:02.579] name <- restart$name [18:02:02.579] if (is.null(name)) [18:02:02.579] next [18:02:02.579] if (!grepl(pattern, name)) [18:02:02.579] next [18:02:02.579] invokeRestart(restart) [18:02:02.579] muffled <- TRUE [18:02:02.579] break [18:02:02.579] } [18:02:02.579] } [18:02:02.579] } [18:02:02.579] invisible(muffled) [18:02:02.579] } [18:02:02.579] muffleCondition(cond) [18:02:02.579] }) [18:02:02.579] })) [18:02:02.579] future::FutureResult(value = ...future.value$value, [18:02:02.579] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.579] ...future.rng), globalenv = if (FALSE) [18:02:02.579] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.579] ...future.globalenv.names)) [18:02:02.579] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.579] }, condition = base::local({ [18:02:02.579] c <- base::c [18:02:02.579] inherits <- base::inherits [18:02:02.579] invokeRestart <- base::invokeRestart [18:02:02.579] length <- base::length [18:02:02.579] list <- base::list [18:02:02.579] seq.int <- base::seq.int [18:02:02.579] signalCondition <- base::signalCondition [18:02:02.579] sys.calls <- base::sys.calls [18:02:02.579] `[[` <- base::`[[` [18:02:02.579] `+` <- base::`+` [18:02:02.579] `<<-` <- base::`<<-` [18:02:02.579] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.579] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.579] 3L)] [18:02:02.579] } [18:02:02.579] function(cond) { [18:02:02.579] is_error <- inherits(cond, "error") [18:02:02.579] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.579] NULL) [18:02:02.579] if (is_error) { [18:02:02.579] sessionInformation <- function() { [18:02:02.579] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.579] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.579] search = base::search(), system = base::Sys.info()) [18:02:02.579] } [18:02:02.579] ...future.conditions[[length(...future.conditions) + [18:02:02.579] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.579] cond$call), session = sessionInformation(), [18:02:02.579] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.579] signalCondition(cond) [18:02:02.579] } [18:02:02.579] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.579] "immediateCondition"))) { [18:02:02.579] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.579] ...future.conditions[[length(...future.conditions) + [18:02:02.579] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.579] if (TRUE && !signal) { [18:02:02.579] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.579] { [18:02:02.579] inherits <- base::inherits [18:02:02.579] invokeRestart <- base::invokeRestart [18:02:02.579] is.null <- base::is.null [18:02:02.579] muffled <- FALSE [18:02:02.579] if (inherits(cond, "message")) { [18:02:02.579] muffled <- grepl(pattern, "muffleMessage") [18:02:02.579] if (muffled) [18:02:02.579] invokeRestart("muffleMessage") [18:02:02.579] } [18:02:02.579] else if (inherits(cond, "warning")) { [18:02:02.579] muffled <- grepl(pattern, "muffleWarning") [18:02:02.579] if (muffled) [18:02:02.579] invokeRestart("muffleWarning") [18:02:02.579] } [18:02:02.579] else if (inherits(cond, "condition")) { [18:02:02.579] if (!is.null(pattern)) { [18:02:02.579] computeRestarts <- base::computeRestarts [18:02:02.579] grepl <- base::grepl [18:02:02.579] restarts <- computeRestarts(cond) [18:02:02.579] for (restart in restarts) { [18:02:02.579] name <- restart$name [18:02:02.579] if (is.null(name)) [18:02:02.579] next [18:02:02.579] if (!grepl(pattern, name)) [18:02:02.579] next [18:02:02.579] invokeRestart(restart) [18:02:02.579] muffled <- TRUE [18:02:02.579] break [18:02:02.579] } [18:02:02.579] } [18:02:02.579] } [18:02:02.579] invisible(muffled) [18:02:02.579] } [18:02:02.579] muffleCondition(cond, pattern = "^muffle") [18:02:02.579] } [18:02:02.579] } [18:02:02.579] else { [18:02:02.579] if (TRUE) { [18:02:02.579] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.579] { [18:02:02.579] inherits <- base::inherits [18:02:02.579] invokeRestart <- base::invokeRestart [18:02:02.579] is.null <- base::is.null [18:02:02.579] muffled <- FALSE [18:02:02.579] if (inherits(cond, "message")) { [18:02:02.579] muffled <- grepl(pattern, "muffleMessage") [18:02:02.579] if (muffled) [18:02:02.579] invokeRestart("muffleMessage") [18:02:02.579] } [18:02:02.579] else if (inherits(cond, "warning")) { [18:02:02.579] muffled <- grepl(pattern, "muffleWarning") [18:02:02.579] if (muffled) [18:02:02.579] invokeRestart("muffleWarning") [18:02:02.579] } [18:02:02.579] else if (inherits(cond, "condition")) { [18:02:02.579] if (!is.null(pattern)) { [18:02:02.579] computeRestarts <- base::computeRestarts [18:02:02.579] grepl <- base::grepl [18:02:02.579] restarts <- computeRestarts(cond) [18:02:02.579] for (restart in restarts) { [18:02:02.579] name <- restart$name [18:02:02.579] if (is.null(name)) [18:02:02.579] next [18:02:02.579] if (!grepl(pattern, name)) [18:02:02.579] next [18:02:02.579] invokeRestart(restart) [18:02:02.579] muffled <- TRUE [18:02:02.579] break [18:02:02.579] } [18:02:02.579] } [18:02:02.579] } [18:02:02.579] invisible(muffled) [18:02:02.579] } [18:02:02.579] muffleCondition(cond, pattern = "^muffle") [18:02:02.579] } [18:02:02.579] } [18:02:02.579] } [18:02:02.579] })) [18:02:02.579] }, error = function(ex) { [18:02:02.579] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.579] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.579] ...future.rng), started = ...future.startTime, [18:02:02.579] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.579] version = "1.8"), class = "FutureResult") [18:02:02.579] }, finally = { [18:02:02.579] if (!identical(...future.workdir, getwd())) [18:02:02.579] setwd(...future.workdir) [18:02:02.579] { [18:02:02.579] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.579] ...future.oldOptions$nwarnings <- NULL [18:02:02.579] } [18:02:02.579] base::options(...future.oldOptions) [18:02:02.579] if (.Platform$OS.type == "windows") { [18:02:02.579] old_names <- names(...future.oldEnvVars) [18:02:02.579] envs <- base::Sys.getenv() [18:02:02.579] names <- names(envs) [18:02:02.579] common <- intersect(names, old_names) [18:02:02.579] added <- setdiff(names, old_names) [18:02:02.579] removed <- setdiff(old_names, names) [18:02:02.579] changed <- common[...future.oldEnvVars[common] != [18:02:02.579] envs[common]] [18:02:02.579] NAMES <- toupper(changed) [18:02:02.579] args <- list() [18:02:02.579] for (kk in seq_along(NAMES)) { [18:02:02.579] name <- changed[[kk]] [18:02:02.579] NAME <- NAMES[[kk]] [18:02:02.579] if (name != NAME && is.element(NAME, old_names)) [18:02:02.579] next [18:02:02.579] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.579] } [18:02:02.579] NAMES <- toupper(added) [18:02:02.579] for (kk in seq_along(NAMES)) { [18:02:02.579] name <- added[[kk]] [18:02:02.579] NAME <- NAMES[[kk]] [18:02:02.579] if (name != NAME && is.element(NAME, old_names)) [18:02:02.579] next [18:02:02.579] args[[name]] <- "" [18:02:02.579] } [18:02:02.579] NAMES <- toupper(removed) [18:02:02.579] for (kk in seq_along(NAMES)) { [18:02:02.579] name <- removed[[kk]] [18:02:02.579] NAME <- NAMES[[kk]] [18:02:02.579] if (name != NAME && is.element(NAME, old_names)) [18:02:02.579] next [18:02:02.579] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.579] } [18:02:02.579] if (length(args) > 0) [18:02:02.579] base::do.call(base::Sys.setenv, args = args) [18:02:02.579] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.579] } [18:02:02.579] else { [18:02:02.579] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.579] } [18:02:02.579] { [18:02:02.579] if (base::length(...future.futureOptionsAdded) > [18:02:02.579] 0L) { [18:02:02.579] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.579] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.579] base::options(opts) [18:02:02.579] } [18:02:02.579] { [18:02:02.579] { [18:02:02.579] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.579] NULL [18:02:02.579] } [18:02:02.579] options(future.plan = NULL) [18:02:02.579] if (is.na(NA_character_)) [18:02:02.579] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.579] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.579] future::plan(list(function (..., workers = availableCores(), [18:02:02.579] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.579] envir = parent.frame()) [18:02:02.579] { [18:02:02.579] if (is.function(workers)) [18:02:02.579] workers <- workers() [18:02:02.579] workers <- structure(as.integer(workers), [18:02:02.579] class = class(workers)) [18:02:02.579] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.579] workers >= 1) [18:02:02.579] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.579] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.579] } [18:02:02.579] future <- MultisessionFuture(..., workers = workers, [18:02:02.579] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.579] envir = envir) [18:02:02.579] if (!future$lazy) [18:02:02.579] future <- run(future) [18:02:02.579] invisible(future) [18:02:02.579] }), .cleanup = FALSE, .init = FALSE) [18:02:02.579] } [18:02:02.579] } [18:02:02.579] } [18:02:02.579] }) [18:02:02.579] if (TRUE) { [18:02:02.579] base::sink(type = "output", split = FALSE) [18:02:02.579] if (TRUE) { [18:02:02.579] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.579] } [18:02:02.579] else { [18:02:02.579] ...future.result["stdout"] <- base::list(NULL) [18:02:02.579] } [18:02:02.579] base::close(...future.stdout) [18:02:02.579] ...future.stdout <- NULL [18:02:02.579] } [18:02:02.579] ...future.result$conditions <- ...future.conditions [18:02:02.579] ...future.result$finished <- base::Sys.time() [18:02:02.579] ...future.result [18:02:02.579] } [18:02:02.586] Exporting 1 global objects (1.58 MiB) to cluster node #1 ... [18:02:02.589] Exporting 'a' (1.58 MiB) to cluster node #1 ... [18:02:02.600] Exporting 'a' (1.58 MiB) to cluster node #1 ... DONE [18:02:02.600] Exporting 1 global objects (1.58 MiB) to cluster node #1 ... DONE [18:02:02.601] MultisessionFuture started [18:02:02.601] - Launch lazy future ... done [18:02:02.601] run() for 'MultisessionFuture' ... done [18:02:02.602] result() for ClusterFuture ... [18:02:02.602] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.602] - Validating connection of MultisessionFuture [18:02:02.626] - received message: FutureResult [18:02:02.626] - Received FutureResult [18:02:02.626] - Erased future from FutureRegistry [18:02:02.626] result() for ClusterFuture ... [18:02:02.626] - result already collected: FutureResult [18:02:02.626] result() for ClusterFuture ... done [18:02:02.627] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.627] result() for ClusterFuture ... done [18:02:02.627] result() for ClusterFuture ... [18:02:02.627] - result already collected: FutureResult [18:02:02.627] result() for ClusterFuture ... done value(b) = 2 [18:02:02.628] result() for ClusterFuture ... [18:02:02.628] - result already collected: FutureResult [18:02:02.628] result() for ClusterFuture ... done [18:02:02.628] result() for ClusterFuture ... [18:02:02.628] - result already collected: FutureResult [18:02:02.628] result() for ClusterFuture ... done Warning: 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' [18:02:02.629] getGlobalsAndPackages() ... Warning: 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' [18:02:02.629] Searching for globals... Warning: 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' [18:02:02.629] [18:02:02.630] Searching for globals ... DONE [18:02:02.630] - globals: [0] [18:02:02.630] getGlobalsAndPackages() ... DONE [18:02:02.630] run() for 'Future' ... [18:02:02.630] - state: 'created' [18:02:02.631] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.644] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.645] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.645] - Field: 'node' [18:02:02.645] - Field: 'label' [18:02:02.645] - Field: 'local' [18:02:02.645] - Field: 'owner' [18:02:02.645] - Field: 'envir' [18:02:02.646] - Field: 'workers' [18:02:02.646] - Field: 'packages' [18:02:02.646] - Field: 'gc' [18:02:02.646] - Field: 'conditions' [18:02:02.646] - Field: 'persistent' [18:02:02.647] - Field: 'expr' [18:02:02.647] - Field: 'uuid' [18:02:02.647] - Field: 'seed' [18:02:02.647] - Field: 'version' [18:02:02.647] - Field: 'result' [18:02:02.647] - Field: 'asynchronous' [18:02:02.648] - Field: 'calls' [18:02:02.648] - Field: 'globals' [18:02:02.648] - Field: 'stdout' [18:02:02.648] - Field: 'earlySignal' [18:02:02.648] - Field: 'lazy' [18:02:02.648] - Field: 'state' [18:02:02.649] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.649] - Launch lazy future ... [18:02:02.649] Packages needed by the future expression (n = 0): [18:02:02.649] Packages needed by future strategies (n = 0): [18:02:02.650] { [18:02:02.650] { [18:02:02.650] { [18:02:02.650] ...future.startTime <- base::Sys.time() [18:02:02.650] { [18:02:02.650] { [18:02:02.650] { [18:02:02.650] { [18:02:02.650] base::local({ [18:02:02.650] has_future <- base::requireNamespace("future", [18:02:02.650] quietly = TRUE) [18:02:02.650] if (has_future) { [18:02:02.650] ns <- base::getNamespace("future") [18:02:02.650] version <- ns[[".package"]][["version"]] [18:02:02.650] if (is.null(version)) [18:02:02.650] version <- utils::packageVersion("future") [18:02:02.650] } [18:02:02.650] else { [18:02:02.650] version <- NULL [18:02:02.650] } [18:02:02.650] if (!has_future || version < "1.8.0") { [18:02:02.650] info <- base::c(r_version = base::gsub("R version ", [18:02:02.650] "", base::R.version$version.string), [18:02:02.650] platform = base::sprintf("%s (%s-bit)", [18:02:02.650] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.650] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.650] "release", "version")], collapse = " "), [18:02:02.650] hostname = base::Sys.info()[["nodename"]]) [18:02:02.650] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.650] info) [18:02:02.650] info <- base::paste(info, collapse = "; ") [18:02:02.650] if (!has_future) { [18:02:02.650] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.650] info) [18:02:02.650] } [18:02:02.650] else { [18:02:02.650] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.650] info, version) [18:02:02.650] } [18:02:02.650] base::stop(msg) [18:02:02.650] } [18:02:02.650] }) [18:02:02.650] } [18:02:02.650] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.650] base::options(mc.cores = 1L) [18:02:02.650] } [18:02:02.650] options(future.plan = NULL) [18:02:02.650] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.650] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.650] } [18:02:02.650] ...future.workdir <- getwd() [18:02:02.650] } [18:02:02.650] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.650] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.650] } [18:02:02.650] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.650] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.650] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.650] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.650] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.650] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.650] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.650] base::names(...future.oldOptions)) [18:02:02.650] } [18:02:02.650] if (FALSE) { [18:02:02.650] } [18:02:02.650] else { [18:02:02.650] if (TRUE) { [18:02:02.650] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.650] open = "w") [18:02:02.650] } [18:02:02.650] else { [18:02:02.650] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.650] windows = "NUL", "/dev/null"), open = "w") [18:02:02.650] } [18:02:02.650] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.650] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.650] base::sink(type = "output", split = FALSE) [18:02:02.650] base::close(...future.stdout) [18:02:02.650] }, add = TRUE) [18:02:02.650] } [18:02:02.650] ...future.frame <- base::sys.nframe() [18:02:02.650] ...future.conditions <- base::list() [18:02:02.650] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.650] if (FALSE) { [18:02:02.650] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.650] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.650] } [18:02:02.650] ...future.result <- base::tryCatch({ [18:02:02.650] base::withCallingHandlers({ [18:02:02.650] ...future.value <- base::withVisible(base::local({ [18:02:02.650] ...future.makeSendCondition <- local({ [18:02:02.650] sendCondition <- NULL [18:02:02.650] function(frame = 1L) { [18:02:02.650] if (is.function(sendCondition)) [18:02:02.650] return(sendCondition) [18:02:02.650] ns <- getNamespace("parallel") [18:02:02.650] if (exists("sendData", mode = "function", [18:02:02.650] envir = ns)) { [18:02:02.650] parallel_sendData <- get("sendData", mode = "function", [18:02:02.650] envir = ns) [18:02:02.650] envir <- sys.frame(frame) [18:02:02.650] master <- NULL [18:02:02.650] while (!identical(envir, .GlobalEnv) && [18:02:02.650] !identical(envir, emptyenv())) { [18:02:02.650] if (exists("master", mode = "list", envir = envir, [18:02:02.650] inherits = FALSE)) { [18:02:02.650] master <- get("master", mode = "list", [18:02:02.650] envir = envir, inherits = FALSE) [18:02:02.650] if (inherits(master, c("SOCKnode", [18:02:02.650] "SOCK0node"))) { [18:02:02.650] sendCondition <<- function(cond) { [18:02:02.650] data <- list(type = "VALUE", value = cond, [18:02:02.650] success = TRUE) [18:02:02.650] parallel_sendData(master, data) [18:02:02.650] } [18:02:02.650] return(sendCondition) [18:02:02.650] } [18:02:02.650] } [18:02:02.650] frame <- frame + 1L [18:02:02.650] envir <- sys.frame(frame) [18:02:02.650] } [18:02:02.650] } [18:02:02.650] sendCondition <<- function(cond) NULL [18:02:02.650] } [18:02:02.650] }) [18:02:02.650] withCallingHandlers({ [18:02:02.650] 1 [18:02:02.650] }, immediateCondition = function(cond) { [18:02:02.650] sendCondition <- ...future.makeSendCondition() [18:02:02.650] sendCondition(cond) [18:02:02.650] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.650] { [18:02:02.650] inherits <- base::inherits [18:02:02.650] invokeRestart <- base::invokeRestart [18:02:02.650] is.null <- base::is.null [18:02:02.650] muffled <- FALSE [18:02:02.650] if (inherits(cond, "message")) { [18:02:02.650] muffled <- grepl(pattern, "muffleMessage") [18:02:02.650] if (muffled) [18:02:02.650] invokeRestart("muffleMessage") [18:02:02.650] } [18:02:02.650] else if (inherits(cond, "warning")) { [18:02:02.650] muffled <- grepl(pattern, "muffleWarning") [18:02:02.650] if (muffled) [18:02:02.650] invokeRestart("muffleWarning") [18:02:02.650] } [18:02:02.650] else if (inherits(cond, "condition")) { [18:02:02.650] if (!is.null(pattern)) { [18:02:02.650] computeRestarts <- base::computeRestarts [18:02:02.650] grepl <- base::grepl [18:02:02.650] restarts <- computeRestarts(cond) [18:02:02.650] for (restart in restarts) { [18:02:02.650] name <- restart$name [18:02:02.650] if (is.null(name)) [18:02:02.650] next [18:02:02.650] if (!grepl(pattern, name)) [18:02:02.650] next [18:02:02.650] invokeRestart(restart) [18:02:02.650] muffled <- TRUE [18:02:02.650] break [18:02:02.650] } [18:02:02.650] } [18:02:02.650] } [18:02:02.650] invisible(muffled) [18:02:02.650] } [18:02:02.650] muffleCondition(cond) [18:02:02.650] }) [18:02:02.650] })) [18:02:02.650] future::FutureResult(value = ...future.value$value, [18:02:02.650] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.650] ...future.rng), globalenv = if (FALSE) [18:02:02.650] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.650] ...future.globalenv.names)) [18:02:02.650] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.650] }, condition = base::local({ [18:02:02.650] c <- base::c [18:02:02.650] inherits <- base::inherits [18:02:02.650] invokeRestart <- base::invokeRestart [18:02:02.650] length <- base::length [18:02:02.650] list <- base::list [18:02:02.650] seq.int <- base::seq.int [18:02:02.650] signalCondition <- base::signalCondition [18:02:02.650] sys.calls <- base::sys.calls [18:02:02.650] `[[` <- base::`[[` [18:02:02.650] `+` <- base::`+` [18:02:02.650] `<<-` <- base::`<<-` [18:02:02.650] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.650] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.650] 3L)] [18:02:02.650] } [18:02:02.650] function(cond) { [18:02:02.650] is_error <- inherits(cond, "error") [18:02:02.650] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.650] NULL) [18:02:02.650] if (is_error) { [18:02:02.650] sessionInformation <- function() { [18:02:02.650] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.650] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.650] search = base::search(), system = base::Sys.info()) [18:02:02.650] } [18:02:02.650] ...future.conditions[[length(...future.conditions) + [18:02:02.650] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.650] cond$call), session = sessionInformation(), [18:02:02.650] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.650] signalCondition(cond) [18:02:02.650] } [18:02:02.650] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.650] "immediateCondition"))) { [18:02:02.650] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.650] ...future.conditions[[length(...future.conditions) + [18:02:02.650] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.650] if (TRUE && !signal) { [18:02:02.650] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.650] { [18:02:02.650] inherits <- base::inherits [18:02:02.650] invokeRestart <- base::invokeRestart [18:02:02.650] is.null <- base::is.null [18:02:02.650] muffled <- FALSE [18:02:02.650] if (inherits(cond, "message")) { [18:02:02.650] muffled <- grepl(pattern, "muffleMessage") [18:02:02.650] if (muffled) [18:02:02.650] invokeRestart("muffleMessage") [18:02:02.650] } [18:02:02.650] else if (inherits(cond, "warning")) { [18:02:02.650] muffled <- grepl(pattern, "muffleWarning") [18:02:02.650] if (muffled) [18:02:02.650] invokeRestart("muffleWarning") [18:02:02.650] } [18:02:02.650] else if (inherits(cond, "condition")) { [18:02:02.650] if (!is.null(pattern)) { [18:02:02.650] computeRestarts <- base::computeRestarts [18:02:02.650] grepl <- base::grepl [18:02:02.650] restarts <- computeRestarts(cond) [18:02:02.650] for (restart in restarts) { [18:02:02.650] name <- restart$name [18:02:02.650] if (is.null(name)) [18:02:02.650] next [18:02:02.650] if (!grepl(pattern, name)) [18:02:02.650] next [18:02:02.650] invokeRestart(restart) [18:02:02.650] muffled <- TRUE [18:02:02.650] break [18:02:02.650] } [18:02:02.650] } [18:02:02.650] } [18:02:02.650] invisible(muffled) [18:02:02.650] } [18:02:02.650] muffleCondition(cond, pattern = "^muffle") [18:02:02.650] } [18:02:02.650] } [18:02:02.650] else { [18:02:02.650] if (TRUE) { [18:02:02.650] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.650] { [18:02:02.650] inherits <- base::inherits [18:02:02.650] invokeRestart <- base::invokeRestart [18:02:02.650] is.null <- base::is.null [18:02:02.650] muffled <- FALSE [18:02:02.650] if (inherits(cond, "message")) { [18:02:02.650] muffled <- grepl(pattern, "muffleMessage") [18:02:02.650] if (muffled) [18:02:02.650] invokeRestart("muffleMessage") [18:02:02.650] } [18:02:02.650] else if (inherits(cond, "warning")) { [18:02:02.650] muffled <- grepl(pattern, "muffleWarning") [18:02:02.650] if (muffled) [18:02:02.650] invokeRestart("muffleWarning") [18:02:02.650] } [18:02:02.650] else if (inherits(cond, "condition")) { [18:02:02.650] if (!is.null(pattern)) { [18:02:02.650] computeRestarts <- base::computeRestarts [18:02:02.650] grepl <- base::grepl [18:02:02.650] restarts <- computeRestarts(cond) [18:02:02.650] for (restart in restarts) { [18:02:02.650] name <- restart$name [18:02:02.650] if (is.null(name)) [18:02:02.650] next [18:02:02.650] if (!grepl(pattern, name)) [18:02:02.650] next [18:02:02.650] invokeRestart(restart) [18:02:02.650] muffled <- TRUE [18:02:02.650] break [18:02:02.650] } [18:02:02.650] } [18:02:02.650] } [18:02:02.650] invisible(muffled) [18:02:02.650] } [18:02:02.650] muffleCondition(cond, pattern = "^muffle") [18:02:02.650] } [18:02:02.650] } [18:02:02.650] } [18:02:02.650] })) [18:02:02.650] }, error = function(ex) { [18:02:02.650] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.650] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.650] ...future.rng), started = ...future.startTime, [18:02:02.650] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.650] version = "1.8"), class = "FutureResult") [18:02:02.650] }, finally = { [18:02:02.650] if (!identical(...future.workdir, getwd())) [18:02:02.650] setwd(...future.workdir) [18:02:02.650] { [18:02:02.650] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.650] ...future.oldOptions$nwarnings <- NULL [18:02:02.650] } [18:02:02.650] base::options(...future.oldOptions) [18:02:02.650] if (.Platform$OS.type == "windows") { [18:02:02.650] old_names <- names(...future.oldEnvVars) [18:02:02.650] envs <- base::Sys.getenv() [18:02:02.650] names <- names(envs) [18:02:02.650] common <- intersect(names, old_names) [18:02:02.650] added <- setdiff(names, old_names) [18:02:02.650] removed <- setdiff(old_names, names) [18:02:02.650] changed <- common[...future.oldEnvVars[common] != [18:02:02.650] envs[common]] [18:02:02.650] NAMES <- toupper(changed) [18:02:02.650] args <- list() [18:02:02.650] for (kk in seq_along(NAMES)) { [18:02:02.650] name <- changed[[kk]] [18:02:02.650] NAME <- NAMES[[kk]] [18:02:02.650] if (name != NAME && is.element(NAME, old_names)) [18:02:02.650] next [18:02:02.650] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.650] } [18:02:02.650] NAMES <- toupper(added) [18:02:02.650] for (kk in seq_along(NAMES)) { [18:02:02.650] name <- added[[kk]] [18:02:02.650] NAME <- NAMES[[kk]] [18:02:02.650] if (name != NAME && is.element(NAME, old_names)) [18:02:02.650] next [18:02:02.650] args[[name]] <- "" [18:02:02.650] } [18:02:02.650] NAMES <- toupper(removed) [18:02:02.650] for (kk in seq_along(NAMES)) { [18:02:02.650] name <- removed[[kk]] [18:02:02.650] NAME <- NAMES[[kk]] [18:02:02.650] if (name != NAME && is.element(NAME, old_names)) [18:02:02.650] next [18:02:02.650] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.650] } [18:02:02.650] if (length(args) > 0) [18:02:02.650] base::do.call(base::Sys.setenv, args = args) [18:02:02.650] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.650] } [18:02:02.650] else { [18:02:02.650] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.650] } [18:02:02.650] { [18:02:02.650] if (base::length(...future.futureOptionsAdded) > [18:02:02.650] 0L) { [18:02:02.650] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.650] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.650] base::options(opts) [18:02:02.650] } [18:02:02.650] { [18:02:02.650] { [18:02:02.650] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.650] NULL [18:02:02.650] } [18:02:02.650] options(future.plan = NULL) [18:02:02.650] if (is.na(NA_character_)) [18:02:02.650] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.650] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.650] future::plan(list(function (..., workers = availableCores(), [18:02:02.650] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.650] envir = parent.frame()) [18:02:02.650] { [18:02:02.650] if (is.function(workers)) [18:02:02.650] workers <- workers() [18:02:02.650] workers <- structure(as.integer(workers), [18:02:02.650] class = class(workers)) [18:02:02.650] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.650] workers >= 1) [18:02:02.650] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.650] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.650] } [18:02:02.650] future <- MultisessionFuture(..., workers = workers, [18:02:02.650] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.650] envir = envir) [18:02:02.650] if (!future$lazy) [18:02:02.650] future <- run(future) [18:02:02.650] invisible(future) [18:02:02.650] }), .cleanup = FALSE, .init = FALSE) [18:02:02.650] } [18:02:02.650] } [18:02:02.650] } [18:02:02.650] }) [18:02:02.650] if (TRUE) { [18:02:02.650] base::sink(type = "output", split = FALSE) [18:02:02.650] if (TRUE) { [18:02:02.650] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.650] } [18:02:02.650] else { [18:02:02.650] ...future.result["stdout"] <- base::list(NULL) [18:02:02.650] } [18:02:02.650] base::close(...future.stdout) [18:02:02.650] ...future.stdout <- NULL [18:02:02.650] } [18:02:02.650] ...future.result$conditions <- ...future.conditions [18:02:02.650] ...future.result$finished <- base::Sys.time() [18:02:02.650] ...future.result [18:02:02.650] } [18:02:02.655] MultisessionFuture started [18:02:02.656] - Launch lazy future ... done [18:02:02.656] run() for 'MultisessionFuture' ... done Warning: 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' [18:02:02.656] getGlobalsAndPackages() ... Warning: 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' [18:02:02.657] Searching for globals... Warning: 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' [18:02:02.658] - globals found: [3] '+', 'value', 'a' [18:02:02.658] Searching for globals ... DONE [18:02:02.658] Resolving globals: TRUE [18:02:02.658] Resolving any globals that are futures ... [18:02:02.658] - globals: [3] '+', 'value', 'a' [18:02:02.658] Resolving any globals that are futures ... DONE [18:02:02.659] Resolving futures part of globals (recursively) ... [18:02:02.659] resolve() on list ... [18:02:02.659] recursive: 99 [18:02:02.660] length: 1 [18:02:02.660] elements: 'a' [18:02:02.673] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.673] - Validating connection of MultisessionFuture [18:02:02.674] - received message: FutureResult [18:02:02.674] - Received FutureResult [18:02:02.674] - Erased future from FutureRegistry [18:02:02.674] result() for ClusterFuture ... [18:02:02.674] - result already collected: FutureResult [18:02:02.674] result() for ClusterFuture ... done [18:02:02.675] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.675] Future #1 [18:02:02.675] result() for ClusterFuture ... [18:02:02.675] - result already collected: FutureResult [18:02:02.675] result() for ClusterFuture ... done [18:02:02.675] result() for ClusterFuture ... [18:02:02.676] - result already collected: FutureResult [18:02:02.676] result() for ClusterFuture ... done [18:02:02.676] A MultisessionFuture was resolved [18:02:02.676] length: 0 (resolved future 1) [18:02:02.676] resolve() on list ... DONE [18:02:02.676] - globals: [1] 'a' [18:02:02.677] Resolving futures part of globals (recursively) ... DONE [18:02:02.679] The total size of the 1 globals is 1.58 MiB (1661272 bytes) [18:02:02.680] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.58 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.58 MiB of class 'environment') [18:02:02.680] - globals: [1] 'a' [18:02:02.680] - packages: [1] 'future' [18:02:02.680] getGlobalsAndPackages() ... DONE [18:02:02.681] run() for 'Future' ... [18:02:02.681] - state: 'created' [18:02:02.681] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.695] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.695] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.695] - Field: 'node' [18:02:02.695] - Field: 'label' [18:02:02.696] - Field: 'local' [18:02:02.696] - Field: 'owner' [18:02:02.696] - Field: 'envir' [18:02:02.696] - Field: 'workers' [18:02:02.696] - Field: 'packages' [18:02:02.697] - Field: 'gc' [18:02:02.697] - Field: 'conditions' [18:02:02.697] - Field: 'persistent' [18:02:02.697] - Field: 'expr' [18:02:02.697] - Field: 'uuid' [18:02:02.697] - Field: 'seed' [18:02:02.698] - Field: 'version' [18:02:02.698] - Field: 'result' [18:02:02.698] - Field: 'asynchronous' [18:02:02.698] - Field: 'calls' [18:02:02.698] - Field: 'globals' [18:02:02.698] - Field: 'stdout' [18:02:02.699] - Field: 'earlySignal' [18:02:02.699] - Field: 'lazy' [18:02:02.699] - Field: 'state' [18:02:02.699] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.699] - Launch lazy future ... [18:02:02.700] Packages needed by the future expression (n = 1): 'future' [18:02:02.700] Packages needed by future strategies (n = 0): [18:02:02.701] { [18:02:02.701] { [18:02:02.701] { [18:02:02.701] ...future.startTime <- base::Sys.time() [18:02:02.701] { [18:02:02.701] { [18:02:02.701] { [18:02:02.701] { [18:02:02.701] { [18:02:02.701] base::local({ [18:02:02.701] has_future <- base::requireNamespace("future", [18:02:02.701] quietly = TRUE) [18:02:02.701] if (has_future) { [18:02:02.701] ns <- base::getNamespace("future") [18:02:02.701] version <- ns[[".package"]][["version"]] [18:02:02.701] if (is.null(version)) [18:02:02.701] version <- utils::packageVersion("future") [18:02:02.701] } [18:02:02.701] else { [18:02:02.701] version <- NULL [18:02:02.701] } [18:02:02.701] if (!has_future || version < "1.8.0") { [18:02:02.701] info <- base::c(r_version = base::gsub("R version ", [18:02:02.701] "", base::R.version$version.string), [18:02:02.701] platform = base::sprintf("%s (%s-bit)", [18:02:02.701] base::R.version$platform, 8 * [18:02:02.701] base::.Machine$sizeof.pointer), [18:02:02.701] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.701] "release", "version")], collapse = " "), [18:02:02.701] hostname = base::Sys.info()[["nodename"]]) [18:02:02.701] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.701] info) [18:02:02.701] info <- base::paste(info, collapse = "; ") [18:02:02.701] if (!has_future) { [18:02:02.701] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.701] info) [18:02:02.701] } [18:02:02.701] else { [18:02:02.701] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.701] info, version) [18:02:02.701] } [18:02:02.701] base::stop(msg) [18:02:02.701] } [18:02:02.701] }) [18:02:02.701] } [18:02:02.701] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.701] base::options(mc.cores = 1L) [18:02:02.701] } [18:02:02.701] base::local({ [18:02:02.701] for (pkg in "future") { [18:02:02.701] base::loadNamespace(pkg) [18:02:02.701] base::library(pkg, character.only = TRUE) [18:02:02.701] } [18:02:02.701] }) [18:02:02.701] } [18:02:02.701] options(future.plan = NULL) [18:02:02.701] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.701] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.701] } [18:02:02.701] ...future.workdir <- getwd() [18:02:02.701] } [18:02:02.701] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.701] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.701] } [18:02:02.701] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.701] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.701] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.701] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.701] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.701] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.701] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.701] base::names(...future.oldOptions)) [18:02:02.701] } [18:02:02.701] if (FALSE) { [18:02:02.701] } [18:02:02.701] else { [18:02:02.701] if (TRUE) { [18:02:02.701] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.701] open = "w") [18:02:02.701] } [18:02:02.701] else { [18:02:02.701] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.701] windows = "NUL", "/dev/null"), open = "w") [18:02:02.701] } [18:02:02.701] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.701] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.701] base::sink(type = "output", split = FALSE) [18:02:02.701] base::close(...future.stdout) [18:02:02.701] }, add = TRUE) [18:02:02.701] } [18:02:02.701] ...future.frame <- base::sys.nframe() [18:02:02.701] ...future.conditions <- base::list() [18:02:02.701] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.701] if (FALSE) { [18:02:02.701] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.701] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.701] } [18:02:02.701] ...future.result <- base::tryCatch({ [18:02:02.701] base::withCallingHandlers({ [18:02:02.701] ...future.value <- base::withVisible(base::local({ [18:02:02.701] ...future.makeSendCondition <- local({ [18:02:02.701] sendCondition <- NULL [18:02:02.701] function(frame = 1L) { [18:02:02.701] if (is.function(sendCondition)) [18:02:02.701] return(sendCondition) [18:02:02.701] ns <- getNamespace("parallel") [18:02:02.701] if (exists("sendData", mode = "function", [18:02:02.701] envir = ns)) { [18:02:02.701] parallel_sendData <- get("sendData", mode = "function", [18:02:02.701] envir = ns) [18:02:02.701] envir <- sys.frame(frame) [18:02:02.701] master <- NULL [18:02:02.701] while (!identical(envir, .GlobalEnv) && [18:02:02.701] !identical(envir, emptyenv())) { [18:02:02.701] if (exists("master", mode = "list", envir = envir, [18:02:02.701] inherits = FALSE)) { [18:02:02.701] master <- get("master", mode = "list", [18:02:02.701] envir = envir, inherits = FALSE) [18:02:02.701] if (inherits(master, c("SOCKnode", [18:02:02.701] "SOCK0node"))) { [18:02:02.701] sendCondition <<- function(cond) { [18:02:02.701] data <- list(type = "VALUE", value = cond, [18:02:02.701] success = TRUE) [18:02:02.701] parallel_sendData(master, data) [18:02:02.701] } [18:02:02.701] return(sendCondition) [18:02:02.701] } [18:02:02.701] } [18:02:02.701] frame <- frame + 1L [18:02:02.701] envir <- sys.frame(frame) [18:02:02.701] } [18:02:02.701] } [18:02:02.701] sendCondition <<- function(cond) NULL [18:02:02.701] } [18:02:02.701] }) [18:02:02.701] withCallingHandlers({ [18:02:02.701] value(a) + 1 [18:02:02.701] }, immediateCondition = function(cond) { [18:02:02.701] sendCondition <- ...future.makeSendCondition() [18:02:02.701] sendCondition(cond) [18:02:02.701] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.701] { [18:02:02.701] inherits <- base::inherits [18:02:02.701] invokeRestart <- base::invokeRestart [18:02:02.701] is.null <- base::is.null [18:02:02.701] muffled <- FALSE [18:02:02.701] if (inherits(cond, "message")) { [18:02:02.701] muffled <- grepl(pattern, "muffleMessage") [18:02:02.701] if (muffled) [18:02:02.701] invokeRestart("muffleMessage") [18:02:02.701] } [18:02:02.701] else if (inherits(cond, "warning")) { [18:02:02.701] muffled <- grepl(pattern, "muffleWarning") [18:02:02.701] if (muffled) [18:02:02.701] invokeRestart("muffleWarning") [18:02:02.701] } [18:02:02.701] else if (inherits(cond, "condition")) { [18:02:02.701] if (!is.null(pattern)) { [18:02:02.701] computeRestarts <- base::computeRestarts [18:02:02.701] grepl <- base::grepl [18:02:02.701] restarts <- computeRestarts(cond) [18:02:02.701] for (restart in restarts) { [18:02:02.701] name <- restart$name [18:02:02.701] if (is.null(name)) [18:02:02.701] next [18:02:02.701] if (!grepl(pattern, name)) [18:02:02.701] next [18:02:02.701] invokeRestart(restart) [18:02:02.701] muffled <- TRUE [18:02:02.701] break [18:02:02.701] } [18:02:02.701] } [18:02:02.701] } [18:02:02.701] invisible(muffled) [18:02:02.701] } [18:02:02.701] muffleCondition(cond) [18:02:02.701] }) [18:02:02.701] })) [18:02:02.701] future::FutureResult(value = ...future.value$value, [18:02:02.701] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.701] ...future.rng), globalenv = if (FALSE) [18:02:02.701] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.701] ...future.globalenv.names)) [18:02:02.701] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.701] }, condition = base::local({ [18:02:02.701] c <- base::c [18:02:02.701] inherits <- base::inherits [18:02:02.701] invokeRestart <- base::invokeRestart [18:02:02.701] length <- base::length [18:02:02.701] list <- base::list [18:02:02.701] seq.int <- base::seq.int [18:02:02.701] signalCondition <- base::signalCondition [18:02:02.701] sys.calls <- base::sys.calls [18:02:02.701] `[[` <- base::`[[` [18:02:02.701] `+` <- base::`+` [18:02:02.701] `<<-` <- base::`<<-` [18:02:02.701] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.701] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.701] 3L)] [18:02:02.701] } [18:02:02.701] function(cond) { [18:02:02.701] is_error <- inherits(cond, "error") [18:02:02.701] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.701] NULL) [18:02:02.701] if (is_error) { [18:02:02.701] sessionInformation <- function() { [18:02:02.701] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.701] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.701] search = base::search(), system = base::Sys.info()) [18:02:02.701] } [18:02:02.701] ...future.conditions[[length(...future.conditions) + [18:02:02.701] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.701] cond$call), session = sessionInformation(), [18:02:02.701] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.701] signalCondition(cond) [18:02:02.701] } [18:02:02.701] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.701] "immediateCondition"))) { [18:02:02.701] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.701] ...future.conditions[[length(...future.conditions) + [18:02:02.701] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.701] if (TRUE && !signal) { [18:02:02.701] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.701] { [18:02:02.701] inherits <- base::inherits [18:02:02.701] invokeRestart <- base::invokeRestart [18:02:02.701] is.null <- base::is.null [18:02:02.701] muffled <- FALSE [18:02:02.701] if (inherits(cond, "message")) { [18:02:02.701] muffled <- grepl(pattern, "muffleMessage") [18:02:02.701] if (muffled) [18:02:02.701] invokeRestart("muffleMessage") [18:02:02.701] } [18:02:02.701] else if (inherits(cond, "warning")) { [18:02:02.701] muffled <- grepl(pattern, "muffleWarning") [18:02:02.701] if (muffled) [18:02:02.701] invokeRestart("muffleWarning") [18:02:02.701] } [18:02:02.701] else if (inherits(cond, "condition")) { [18:02:02.701] if (!is.null(pattern)) { [18:02:02.701] computeRestarts <- base::computeRestarts [18:02:02.701] grepl <- base::grepl [18:02:02.701] restarts <- computeRestarts(cond) [18:02:02.701] for (restart in restarts) { [18:02:02.701] name <- restart$name [18:02:02.701] if (is.null(name)) [18:02:02.701] next [18:02:02.701] if (!grepl(pattern, name)) [18:02:02.701] next [18:02:02.701] invokeRestart(restart) [18:02:02.701] muffled <- TRUE [18:02:02.701] break [18:02:02.701] } [18:02:02.701] } [18:02:02.701] } [18:02:02.701] invisible(muffled) [18:02:02.701] } [18:02:02.701] muffleCondition(cond, pattern = "^muffle") [18:02:02.701] } [18:02:02.701] } [18:02:02.701] else { [18:02:02.701] if (TRUE) { [18:02:02.701] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.701] { [18:02:02.701] inherits <- base::inherits [18:02:02.701] invokeRestart <- base::invokeRestart [18:02:02.701] is.null <- base::is.null [18:02:02.701] muffled <- FALSE [18:02:02.701] if (inherits(cond, "message")) { [18:02:02.701] muffled <- grepl(pattern, "muffleMessage") [18:02:02.701] if (muffled) [18:02:02.701] invokeRestart("muffleMessage") [18:02:02.701] } [18:02:02.701] else if (inherits(cond, "warning")) { [18:02:02.701] muffled <- grepl(pattern, "muffleWarning") [18:02:02.701] if (muffled) [18:02:02.701] invokeRestart("muffleWarning") [18:02:02.701] } [18:02:02.701] else if (inherits(cond, "condition")) { [18:02:02.701] if (!is.null(pattern)) { [18:02:02.701] computeRestarts <- base::computeRestarts [18:02:02.701] grepl <- base::grepl [18:02:02.701] restarts <- computeRestarts(cond) [18:02:02.701] for (restart in restarts) { [18:02:02.701] name <- restart$name [18:02:02.701] if (is.null(name)) [18:02:02.701] next [18:02:02.701] if (!grepl(pattern, name)) [18:02:02.701] next [18:02:02.701] invokeRestart(restart) [18:02:02.701] muffled <- TRUE [18:02:02.701] break [18:02:02.701] } [18:02:02.701] } [18:02:02.701] } [18:02:02.701] invisible(muffled) [18:02:02.701] } [18:02:02.701] muffleCondition(cond, pattern = "^muffle") [18:02:02.701] } [18:02:02.701] } [18:02:02.701] } [18:02:02.701] })) [18:02:02.701] }, error = function(ex) { [18:02:02.701] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.701] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.701] ...future.rng), started = ...future.startTime, [18:02:02.701] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.701] version = "1.8"), class = "FutureResult") [18:02:02.701] }, finally = { [18:02:02.701] if (!identical(...future.workdir, getwd())) [18:02:02.701] setwd(...future.workdir) [18:02:02.701] { [18:02:02.701] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.701] ...future.oldOptions$nwarnings <- NULL [18:02:02.701] } [18:02:02.701] base::options(...future.oldOptions) [18:02:02.701] if (.Platform$OS.type == "windows") { [18:02:02.701] old_names <- names(...future.oldEnvVars) [18:02:02.701] envs <- base::Sys.getenv() [18:02:02.701] names <- names(envs) [18:02:02.701] common <- intersect(names, old_names) [18:02:02.701] added <- setdiff(names, old_names) [18:02:02.701] removed <- setdiff(old_names, names) [18:02:02.701] changed <- common[...future.oldEnvVars[common] != [18:02:02.701] envs[common]] [18:02:02.701] NAMES <- toupper(changed) [18:02:02.701] args <- list() [18:02:02.701] for (kk in seq_along(NAMES)) { [18:02:02.701] name <- changed[[kk]] [18:02:02.701] NAME <- NAMES[[kk]] [18:02:02.701] if (name != NAME && is.element(NAME, old_names)) [18:02:02.701] next [18:02:02.701] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.701] } [18:02:02.701] NAMES <- toupper(added) [18:02:02.701] for (kk in seq_along(NAMES)) { [18:02:02.701] name <- added[[kk]] [18:02:02.701] NAME <- NAMES[[kk]] [18:02:02.701] if (name != NAME && is.element(NAME, old_names)) [18:02:02.701] next [18:02:02.701] args[[name]] <- "" [18:02:02.701] } [18:02:02.701] NAMES <- toupper(removed) [18:02:02.701] for (kk in seq_along(NAMES)) { [18:02:02.701] name <- removed[[kk]] [18:02:02.701] NAME <- NAMES[[kk]] [18:02:02.701] if (name != NAME && is.element(NAME, old_names)) [18:02:02.701] next [18:02:02.701] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.701] } [18:02:02.701] if (length(args) > 0) [18:02:02.701] base::do.call(base::Sys.setenv, args = args) [18:02:02.701] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.701] } [18:02:02.701] else { [18:02:02.701] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.701] } [18:02:02.701] { [18:02:02.701] if (base::length(...future.futureOptionsAdded) > [18:02:02.701] 0L) { [18:02:02.701] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.701] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.701] base::options(opts) [18:02:02.701] } [18:02:02.701] { [18:02:02.701] { [18:02:02.701] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.701] NULL [18:02:02.701] } [18:02:02.701] options(future.plan = NULL) [18:02:02.701] if (is.na(NA_character_)) [18:02:02.701] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.701] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.701] future::plan(list(function (..., workers = availableCores(), [18:02:02.701] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.701] envir = parent.frame()) [18:02:02.701] { [18:02:02.701] if (is.function(workers)) [18:02:02.701] workers <- workers() [18:02:02.701] workers <- structure(as.integer(workers), [18:02:02.701] class = class(workers)) [18:02:02.701] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.701] workers >= 1) [18:02:02.701] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.701] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.701] } [18:02:02.701] future <- MultisessionFuture(..., workers = workers, [18:02:02.701] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.701] envir = envir) [18:02:02.701] if (!future$lazy) [18:02:02.701] future <- run(future) [18:02:02.701] invisible(future) [18:02:02.701] }), .cleanup = FALSE, .init = FALSE) [18:02:02.701] } [18:02:02.701] } [18:02:02.701] } [18:02:02.701] }) [18:02:02.701] if (TRUE) { [18:02:02.701] base::sink(type = "output", split = FALSE) [18:02:02.701] if (TRUE) { [18:02:02.701] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.701] } [18:02:02.701] else { [18:02:02.701] ...future.result["stdout"] <- base::list(NULL) [18:02:02.701] } [18:02:02.701] base::close(...future.stdout) [18:02:02.701] ...future.stdout <- NULL [18:02:02.701] } [18:02:02.701] ...future.result$conditions <- ...future.conditions [18:02:02.701] ...future.result$finished <- base::Sys.time() [18:02:02.701] ...future.result [18:02:02.701] } [18:02:02.706] Exporting 1 global objects (1.58 MiB) to cluster node #1 ... [18:02:02.708] Exporting 'a' (1.58 MiB) to cluster node #1 ... [18:02:02.719] Exporting 'a' (1.58 MiB) to cluster node #1 ... DONE [18:02:02.719] Exporting 1 global objects (1.58 MiB) to cluster node #1 ... DONE [18:02:02.720] MultisessionFuture started [18:02:02.720] - Launch lazy future ... done [18:02:02.720] run() for 'MultisessionFuture' ... done [18:02:02.721] result() for ClusterFuture ... [18:02:02.721] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.721] - Validating connection of MultisessionFuture [18:02:02.738] - received message: FutureResult [18:02:02.739] - Received FutureResult [18:02:02.739] - Erased future from FutureRegistry [18:02:02.739] result() for ClusterFuture ... [18:02:02.739] - result already collected: FutureResult [18:02:02.739] result() for ClusterFuture ... done [18:02:02.739] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.740] result() for ClusterFuture ... done [18:02:02.740] result() for ClusterFuture ... [18:02:02.740] - result already collected: FutureResult [18:02:02.740] result() for ClusterFuture ... done value(b) = 2 [18:02:02.740] result() for ClusterFuture ... [18:02:02.740] - result already collected: FutureResult [18:02:02.741] result() for ClusterFuture ... done [18:02:02.741] result() for ClusterFuture ... [18:02:02.741] - result already collected: FutureResult [18:02:02.741] result() for ClusterFuture ... done Warning: 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' [18:02:02.741] getGlobalsAndPackages() ... Warning: 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' [18:02:02.742] Searching for globals... Warning: 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' [18:02:02.742] [18:02:02.743] Searching for globals ... DONE [18:02:02.743] - globals: [0] [18:02:02.743] getGlobalsAndPackages() ... DONE Warning: 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' [18:02:02.743] getGlobalsAndPackages() ... Warning: 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' [18:02:02.744] Searching for globals... Warning: 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' [18:02:02.745] - globals found: [3] '+', 'value', 'a' [18:02:02.745] Searching for globals ... DONE [18:02:02.745] Resolving globals: TRUE [18:02:02.745] Resolving any globals that are futures ... [18:02:02.745] - globals: [3] '+', 'value', 'a' [18:02:02.745] Resolving any globals that are futures ... DONE [18:02:02.746] Resolving futures part of globals (recursively) ... [18:02:02.746] resolve() on list ... [18:02:02.746] recursive: 99 [18:02:02.747] length: 1 [18:02:02.747] elements: 'a' [18:02:02.747] run() for 'Future' ... [18:02:02.747] - state: 'created' [18:02:02.747] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.761] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.761] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.761] - Field: 'node' [18:02:02.761] - Field: 'label' [18:02:02.762] - Field: 'local' [18:02:02.762] - Field: 'owner' [18:02:02.762] - Field: 'envir' [18:02:02.762] - Field: 'workers' [18:02:02.762] - Field: 'packages' [18:02:02.763] - Field: 'gc' [18:02:02.763] - Field: 'conditions' [18:02:02.763] - Field: 'persistent' [18:02:02.763] - Field: 'expr' [18:02:02.763] - Field: 'uuid' [18:02:02.763] - Field: 'seed' [18:02:02.764] - Field: 'version' [18:02:02.764] - Field: 'result' [18:02:02.764] - Field: 'asynchronous' [18:02:02.764] - Field: 'calls' [18:02:02.764] - Field: 'globals' [18:02:02.765] - Field: 'stdout' [18:02:02.765] - Field: 'earlySignal' [18:02:02.765] - Field: 'lazy' [18:02:02.765] - Field: 'state' [18:02:02.765] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.765] - Launch lazy future ... [18:02:02.766] Packages needed by the future expression (n = 0): [18:02:02.766] Packages needed by future strategies (n = 0): [18:02:02.766] { [18:02:02.766] { [18:02:02.766] { [18:02:02.766] ...future.startTime <- base::Sys.time() [18:02:02.766] { [18:02:02.766] { [18:02:02.766] { [18:02:02.766] { [18:02:02.766] base::local({ [18:02:02.766] has_future <- base::requireNamespace("future", [18:02:02.766] quietly = TRUE) [18:02:02.766] if (has_future) { [18:02:02.766] ns <- base::getNamespace("future") [18:02:02.766] version <- ns[[".package"]][["version"]] [18:02:02.766] if (is.null(version)) [18:02:02.766] version <- utils::packageVersion("future") [18:02:02.766] } [18:02:02.766] else { [18:02:02.766] version <- NULL [18:02:02.766] } [18:02:02.766] if (!has_future || version < "1.8.0") { [18:02:02.766] info <- base::c(r_version = base::gsub("R version ", [18:02:02.766] "", base::R.version$version.string), [18:02:02.766] platform = base::sprintf("%s (%s-bit)", [18:02:02.766] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.766] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.766] "release", "version")], collapse = " "), [18:02:02.766] hostname = base::Sys.info()[["nodename"]]) [18:02:02.766] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.766] info) [18:02:02.766] info <- base::paste(info, collapse = "; ") [18:02:02.766] if (!has_future) { [18:02:02.766] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.766] info) [18:02:02.766] } [18:02:02.766] else { [18:02:02.766] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.766] info, version) [18:02:02.766] } [18:02:02.766] base::stop(msg) [18:02:02.766] } [18:02:02.766] }) [18:02:02.766] } [18:02:02.766] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.766] base::options(mc.cores = 1L) [18:02:02.766] } [18:02:02.766] options(future.plan = NULL) [18:02:02.766] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.766] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.766] } [18:02:02.766] ...future.workdir <- getwd() [18:02:02.766] } [18:02:02.766] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.766] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.766] } [18:02:02.766] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.766] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.766] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.766] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.766] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.766] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.766] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.766] base::names(...future.oldOptions)) [18:02:02.766] } [18:02:02.766] if (FALSE) { [18:02:02.766] } [18:02:02.766] else { [18:02:02.766] if (TRUE) { [18:02:02.766] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.766] open = "w") [18:02:02.766] } [18:02:02.766] else { [18:02:02.766] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.766] windows = "NUL", "/dev/null"), open = "w") [18:02:02.766] } [18:02:02.766] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.766] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.766] base::sink(type = "output", split = FALSE) [18:02:02.766] base::close(...future.stdout) [18:02:02.766] }, add = TRUE) [18:02:02.766] } [18:02:02.766] ...future.frame <- base::sys.nframe() [18:02:02.766] ...future.conditions <- base::list() [18:02:02.766] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.766] if (FALSE) { [18:02:02.766] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.766] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.766] } [18:02:02.766] ...future.result <- base::tryCatch({ [18:02:02.766] base::withCallingHandlers({ [18:02:02.766] ...future.value <- base::withVisible(base::local({ [18:02:02.766] ...future.makeSendCondition <- local({ [18:02:02.766] sendCondition <- NULL [18:02:02.766] function(frame = 1L) { [18:02:02.766] if (is.function(sendCondition)) [18:02:02.766] return(sendCondition) [18:02:02.766] ns <- getNamespace("parallel") [18:02:02.766] if (exists("sendData", mode = "function", [18:02:02.766] envir = ns)) { [18:02:02.766] parallel_sendData <- get("sendData", mode = "function", [18:02:02.766] envir = ns) [18:02:02.766] envir <- sys.frame(frame) [18:02:02.766] master <- NULL [18:02:02.766] while (!identical(envir, .GlobalEnv) && [18:02:02.766] !identical(envir, emptyenv())) { [18:02:02.766] if (exists("master", mode = "list", envir = envir, [18:02:02.766] inherits = FALSE)) { [18:02:02.766] master <- get("master", mode = "list", [18:02:02.766] envir = envir, inherits = FALSE) [18:02:02.766] if (inherits(master, c("SOCKnode", [18:02:02.766] "SOCK0node"))) { [18:02:02.766] sendCondition <<- function(cond) { [18:02:02.766] data <- list(type = "VALUE", value = cond, [18:02:02.766] success = TRUE) [18:02:02.766] parallel_sendData(master, data) [18:02:02.766] } [18:02:02.766] return(sendCondition) [18:02:02.766] } [18:02:02.766] } [18:02:02.766] frame <- frame + 1L [18:02:02.766] envir <- sys.frame(frame) [18:02:02.766] } [18:02:02.766] } [18:02:02.766] sendCondition <<- function(cond) NULL [18:02:02.766] } [18:02:02.766] }) [18:02:02.766] withCallingHandlers({ [18:02:02.766] 1 [18:02:02.766] }, immediateCondition = function(cond) { [18:02:02.766] sendCondition <- ...future.makeSendCondition() [18:02:02.766] sendCondition(cond) [18:02:02.766] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.766] { [18:02:02.766] inherits <- base::inherits [18:02:02.766] invokeRestart <- base::invokeRestart [18:02:02.766] is.null <- base::is.null [18:02:02.766] muffled <- FALSE [18:02:02.766] if (inherits(cond, "message")) { [18:02:02.766] muffled <- grepl(pattern, "muffleMessage") [18:02:02.766] if (muffled) [18:02:02.766] invokeRestart("muffleMessage") [18:02:02.766] } [18:02:02.766] else if (inherits(cond, "warning")) { [18:02:02.766] muffled <- grepl(pattern, "muffleWarning") [18:02:02.766] if (muffled) [18:02:02.766] invokeRestart("muffleWarning") [18:02:02.766] } [18:02:02.766] else if (inherits(cond, "condition")) { [18:02:02.766] if (!is.null(pattern)) { [18:02:02.766] computeRestarts <- base::computeRestarts [18:02:02.766] grepl <- base::grepl [18:02:02.766] restarts <- computeRestarts(cond) [18:02:02.766] for (restart in restarts) { [18:02:02.766] name <- restart$name [18:02:02.766] if (is.null(name)) [18:02:02.766] next [18:02:02.766] if (!grepl(pattern, name)) [18:02:02.766] next [18:02:02.766] invokeRestart(restart) [18:02:02.766] muffled <- TRUE [18:02:02.766] break [18:02:02.766] } [18:02:02.766] } [18:02:02.766] } [18:02:02.766] invisible(muffled) [18:02:02.766] } [18:02:02.766] muffleCondition(cond) [18:02:02.766] }) [18:02:02.766] })) [18:02:02.766] future::FutureResult(value = ...future.value$value, [18:02:02.766] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.766] ...future.rng), globalenv = if (FALSE) [18:02:02.766] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.766] ...future.globalenv.names)) [18:02:02.766] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.766] }, condition = base::local({ [18:02:02.766] c <- base::c [18:02:02.766] inherits <- base::inherits [18:02:02.766] invokeRestart <- base::invokeRestart [18:02:02.766] length <- base::length [18:02:02.766] list <- base::list [18:02:02.766] seq.int <- base::seq.int [18:02:02.766] signalCondition <- base::signalCondition [18:02:02.766] sys.calls <- base::sys.calls [18:02:02.766] `[[` <- base::`[[` [18:02:02.766] `+` <- base::`+` [18:02:02.766] `<<-` <- base::`<<-` [18:02:02.766] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.766] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.766] 3L)] [18:02:02.766] } [18:02:02.766] function(cond) { [18:02:02.766] is_error <- inherits(cond, "error") [18:02:02.766] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.766] NULL) [18:02:02.766] if (is_error) { [18:02:02.766] sessionInformation <- function() { [18:02:02.766] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.766] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.766] search = base::search(), system = base::Sys.info()) [18:02:02.766] } [18:02:02.766] ...future.conditions[[length(...future.conditions) + [18:02:02.766] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.766] cond$call), session = sessionInformation(), [18:02:02.766] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.766] signalCondition(cond) [18:02:02.766] } [18:02:02.766] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.766] "immediateCondition"))) { [18:02:02.766] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.766] ...future.conditions[[length(...future.conditions) + [18:02:02.766] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.766] if (TRUE && !signal) { [18:02:02.766] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.766] { [18:02:02.766] inherits <- base::inherits [18:02:02.766] invokeRestart <- base::invokeRestart [18:02:02.766] is.null <- base::is.null [18:02:02.766] muffled <- FALSE [18:02:02.766] if (inherits(cond, "message")) { [18:02:02.766] muffled <- grepl(pattern, "muffleMessage") [18:02:02.766] if (muffled) [18:02:02.766] invokeRestart("muffleMessage") [18:02:02.766] } [18:02:02.766] else if (inherits(cond, "warning")) { [18:02:02.766] muffled <- grepl(pattern, "muffleWarning") [18:02:02.766] if (muffled) [18:02:02.766] invokeRestart("muffleWarning") [18:02:02.766] } [18:02:02.766] else if (inherits(cond, "condition")) { [18:02:02.766] if (!is.null(pattern)) { [18:02:02.766] computeRestarts <- base::computeRestarts [18:02:02.766] grepl <- base::grepl [18:02:02.766] restarts <- computeRestarts(cond) [18:02:02.766] for (restart in restarts) { [18:02:02.766] name <- restart$name [18:02:02.766] if (is.null(name)) [18:02:02.766] next [18:02:02.766] if (!grepl(pattern, name)) [18:02:02.766] next [18:02:02.766] invokeRestart(restart) [18:02:02.766] muffled <- TRUE [18:02:02.766] break [18:02:02.766] } [18:02:02.766] } [18:02:02.766] } [18:02:02.766] invisible(muffled) [18:02:02.766] } [18:02:02.766] muffleCondition(cond, pattern = "^muffle") [18:02:02.766] } [18:02:02.766] } [18:02:02.766] else { [18:02:02.766] if (TRUE) { [18:02:02.766] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.766] { [18:02:02.766] inherits <- base::inherits [18:02:02.766] invokeRestart <- base::invokeRestart [18:02:02.766] is.null <- base::is.null [18:02:02.766] muffled <- FALSE [18:02:02.766] if (inherits(cond, "message")) { [18:02:02.766] muffled <- grepl(pattern, "muffleMessage") [18:02:02.766] if (muffled) [18:02:02.766] invokeRestart("muffleMessage") [18:02:02.766] } [18:02:02.766] else if (inherits(cond, "warning")) { [18:02:02.766] muffled <- grepl(pattern, "muffleWarning") [18:02:02.766] if (muffled) [18:02:02.766] invokeRestart("muffleWarning") [18:02:02.766] } [18:02:02.766] else if (inherits(cond, "condition")) { [18:02:02.766] if (!is.null(pattern)) { [18:02:02.766] computeRestarts <- base::computeRestarts [18:02:02.766] grepl <- base::grepl [18:02:02.766] restarts <- computeRestarts(cond) [18:02:02.766] for (restart in restarts) { [18:02:02.766] name <- restart$name [18:02:02.766] if (is.null(name)) [18:02:02.766] next [18:02:02.766] if (!grepl(pattern, name)) [18:02:02.766] next [18:02:02.766] invokeRestart(restart) [18:02:02.766] muffled <- TRUE [18:02:02.766] break [18:02:02.766] } [18:02:02.766] } [18:02:02.766] } [18:02:02.766] invisible(muffled) [18:02:02.766] } [18:02:02.766] muffleCondition(cond, pattern = "^muffle") [18:02:02.766] } [18:02:02.766] } [18:02:02.766] } [18:02:02.766] })) [18:02:02.766] }, error = function(ex) { [18:02:02.766] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.766] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.766] ...future.rng), started = ...future.startTime, [18:02:02.766] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.766] version = "1.8"), class = "FutureResult") [18:02:02.766] }, finally = { [18:02:02.766] if (!identical(...future.workdir, getwd())) [18:02:02.766] setwd(...future.workdir) [18:02:02.766] { [18:02:02.766] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.766] ...future.oldOptions$nwarnings <- NULL [18:02:02.766] } [18:02:02.766] base::options(...future.oldOptions) [18:02:02.766] if (.Platform$OS.type == "windows") { [18:02:02.766] old_names <- names(...future.oldEnvVars) [18:02:02.766] envs <- base::Sys.getenv() [18:02:02.766] names <- names(envs) [18:02:02.766] common <- intersect(names, old_names) [18:02:02.766] added <- setdiff(names, old_names) [18:02:02.766] removed <- setdiff(old_names, names) [18:02:02.766] changed <- common[...future.oldEnvVars[common] != [18:02:02.766] envs[common]] [18:02:02.766] NAMES <- toupper(changed) [18:02:02.766] args <- list() [18:02:02.766] for (kk in seq_along(NAMES)) { [18:02:02.766] name <- changed[[kk]] [18:02:02.766] NAME <- NAMES[[kk]] [18:02:02.766] if (name != NAME && is.element(NAME, old_names)) [18:02:02.766] next [18:02:02.766] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.766] } [18:02:02.766] NAMES <- toupper(added) [18:02:02.766] for (kk in seq_along(NAMES)) { [18:02:02.766] name <- added[[kk]] [18:02:02.766] NAME <- NAMES[[kk]] [18:02:02.766] if (name != NAME && is.element(NAME, old_names)) [18:02:02.766] next [18:02:02.766] args[[name]] <- "" [18:02:02.766] } [18:02:02.766] NAMES <- toupper(removed) [18:02:02.766] for (kk in seq_along(NAMES)) { [18:02:02.766] name <- removed[[kk]] [18:02:02.766] NAME <- NAMES[[kk]] [18:02:02.766] if (name != NAME && is.element(NAME, old_names)) [18:02:02.766] next [18:02:02.766] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.766] } [18:02:02.766] if (length(args) > 0) [18:02:02.766] base::do.call(base::Sys.setenv, args = args) [18:02:02.766] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.766] } [18:02:02.766] else { [18:02:02.766] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.766] } [18:02:02.766] { [18:02:02.766] if (base::length(...future.futureOptionsAdded) > [18:02:02.766] 0L) { [18:02:02.766] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.766] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.766] base::options(opts) [18:02:02.766] } [18:02:02.766] { [18:02:02.766] { [18:02:02.766] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.766] NULL [18:02:02.766] } [18:02:02.766] options(future.plan = NULL) [18:02:02.766] if (is.na(NA_character_)) [18:02:02.766] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.766] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.766] future::plan(list(function (..., workers = availableCores(), [18:02:02.766] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.766] envir = parent.frame()) [18:02:02.766] { [18:02:02.766] if (is.function(workers)) [18:02:02.766] workers <- workers() [18:02:02.766] workers <- structure(as.integer(workers), [18:02:02.766] class = class(workers)) [18:02:02.766] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.766] workers >= 1) [18:02:02.766] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.766] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.766] } [18:02:02.766] future <- MultisessionFuture(..., workers = workers, [18:02:02.766] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.766] envir = envir) [18:02:02.766] if (!future$lazy) [18:02:02.766] future <- run(future) [18:02:02.766] invisible(future) [18:02:02.766] }), .cleanup = FALSE, .init = FALSE) [18:02:02.766] } [18:02:02.766] } [18:02:02.766] } [18:02:02.766] }) [18:02:02.766] if (TRUE) { [18:02:02.766] base::sink(type = "output", split = FALSE) [18:02:02.766] if (TRUE) { [18:02:02.766] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.766] } [18:02:02.766] else { [18:02:02.766] ...future.result["stdout"] <- base::list(NULL) [18:02:02.766] } [18:02:02.766] base::close(...future.stdout) [18:02:02.766] ...future.stdout <- NULL [18:02:02.766] } [18:02:02.766] ...future.result$conditions <- ...future.conditions [18:02:02.766] ...future.result$finished <- base::Sys.time() [18:02:02.766] ...future.result [18:02:02.766] } [18:02:02.772] MultisessionFuture started [18:02:02.772] - Launch lazy future ... done [18:02:02.773] run() for 'MultisessionFuture' ... done [18:02:02.788] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.789] - Validating connection of MultisessionFuture [18:02:02.789] - received message: FutureResult [18:02:02.789] - Received FutureResult [18:02:02.789] - Erased future from FutureRegistry [18:02:02.789] result() for ClusterFuture ... [18:02:02.790] - result already collected: FutureResult [18:02:02.790] result() for ClusterFuture ... done [18:02:02.790] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.790] Future #1 [18:02:02.790] result() for ClusterFuture ... [18:02:02.790] - result already collected: FutureResult [18:02:02.791] result() for ClusterFuture ... done [18:02:02.791] result() for ClusterFuture ... [18:02:02.791] - result already collected: FutureResult [18:02:02.791] result() for ClusterFuture ... done [18:02:02.791] A MultisessionFuture was resolved [18:02:02.791] length: 0 (resolved future 1) [18:02:02.792] resolve() on list ... DONE [18:02:02.792] - globals: [1] 'a' [18:02:02.792] Resolving futures part of globals (recursively) ... DONE [18:02:02.795] The total size of the 1 globals is 1.58 MiB (1661440 bytes) [18:02:02.795] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.58 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.58 MiB of class 'environment') [18:02:02.795] - globals: [1] 'a' [18:02:02.795] - packages: [1] 'future' [18:02:02.796] getGlobalsAndPackages() ... DONE [18:02:02.796] run() for 'Future' ... [18:02:02.796] - state: 'created' [18:02:02.796] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.810] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.810] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.810] - Field: 'node' [18:02:02.810] - Field: 'label' [18:02:02.811] - Field: 'local' [18:02:02.811] - Field: 'owner' [18:02:02.811] - Field: 'envir' [18:02:02.811] - Field: 'workers' [18:02:02.811] - Field: 'packages' [18:02:02.812] - Field: 'gc' [18:02:02.812] - Field: 'conditions' [18:02:02.812] - Field: 'persistent' [18:02:02.812] - Field: 'expr' [18:02:02.812] - Field: 'uuid' [18:02:02.812] - Field: 'seed' [18:02:02.813] - Field: 'version' [18:02:02.813] - Field: 'result' [18:02:02.813] - Field: 'asynchronous' [18:02:02.813] - Field: 'calls' [18:02:02.813] - Field: 'globals' [18:02:02.813] - Field: 'stdout' [18:02:02.814] - Field: 'earlySignal' [18:02:02.814] - Field: 'lazy' [18:02:02.814] - Field: 'state' [18:02:02.814] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.814] - Launch lazy future ... [18:02:02.815] Packages needed by the future expression (n = 1): 'future' [18:02:02.815] Packages needed by future strategies (n = 0): [18:02:02.816] { [18:02:02.816] { [18:02:02.816] { [18:02:02.816] ...future.startTime <- base::Sys.time() [18:02:02.816] { [18:02:02.816] { [18:02:02.816] { [18:02:02.816] { [18:02:02.816] { [18:02:02.816] base::local({ [18:02:02.816] has_future <- base::requireNamespace("future", [18:02:02.816] quietly = TRUE) [18:02:02.816] if (has_future) { [18:02:02.816] ns <- base::getNamespace("future") [18:02:02.816] version <- ns[[".package"]][["version"]] [18:02:02.816] if (is.null(version)) [18:02:02.816] version <- utils::packageVersion("future") [18:02:02.816] } [18:02:02.816] else { [18:02:02.816] version <- NULL [18:02:02.816] } [18:02:02.816] if (!has_future || version < "1.8.0") { [18:02:02.816] info <- base::c(r_version = base::gsub("R version ", [18:02:02.816] "", base::R.version$version.string), [18:02:02.816] platform = base::sprintf("%s (%s-bit)", [18:02:02.816] base::R.version$platform, 8 * [18:02:02.816] base::.Machine$sizeof.pointer), [18:02:02.816] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.816] "release", "version")], collapse = " "), [18:02:02.816] hostname = base::Sys.info()[["nodename"]]) [18:02:02.816] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.816] info) [18:02:02.816] info <- base::paste(info, collapse = "; ") [18:02:02.816] if (!has_future) { [18:02:02.816] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.816] info) [18:02:02.816] } [18:02:02.816] else { [18:02:02.816] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.816] info, version) [18:02:02.816] } [18:02:02.816] base::stop(msg) [18:02:02.816] } [18:02:02.816] }) [18:02:02.816] } [18:02:02.816] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.816] base::options(mc.cores = 1L) [18:02:02.816] } [18:02:02.816] base::local({ [18:02:02.816] for (pkg in "future") { [18:02:02.816] base::loadNamespace(pkg) [18:02:02.816] base::library(pkg, character.only = TRUE) [18:02:02.816] } [18:02:02.816] }) [18:02:02.816] } [18:02:02.816] options(future.plan = NULL) [18:02:02.816] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.816] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.816] } [18:02:02.816] ...future.workdir <- getwd() [18:02:02.816] } [18:02:02.816] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.816] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.816] } [18:02:02.816] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.816] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.816] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.816] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.816] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.816] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.816] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.816] base::names(...future.oldOptions)) [18:02:02.816] } [18:02:02.816] if (FALSE) { [18:02:02.816] } [18:02:02.816] else { [18:02:02.816] if (TRUE) { [18:02:02.816] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.816] open = "w") [18:02:02.816] } [18:02:02.816] else { [18:02:02.816] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.816] windows = "NUL", "/dev/null"), open = "w") [18:02:02.816] } [18:02:02.816] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.816] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.816] base::sink(type = "output", split = FALSE) [18:02:02.816] base::close(...future.stdout) [18:02:02.816] }, add = TRUE) [18:02:02.816] } [18:02:02.816] ...future.frame <- base::sys.nframe() [18:02:02.816] ...future.conditions <- base::list() [18:02:02.816] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.816] if (FALSE) { [18:02:02.816] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.816] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.816] } [18:02:02.816] ...future.result <- base::tryCatch({ [18:02:02.816] base::withCallingHandlers({ [18:02:02.816] ...future.value <- base::withVisible(base::local({ [18:02:02.816] ...future.makeSendCondition <- local({ [18:02:02.816] sendCondition <- NULL [18:02:02.816] function(frame = 1L) { [18:02:02.816] if (is.function(sendCondition)) [18:02:02.816] return(sendCondition) [18:02:02.816] ns <- getNamespace("parallel") [18:02:02.816] if (exists("sendData", mode = "function", [18:02:02.816] envir = ns)) { [18:02:02.816] parallel_sendData <- get("sendData", mode = "function", [18:02:02.816] envir = ns) [18:02:02.816] envir <- sys.frame(frame) [18:02:02.816] master <- NULL [18:02:02.816] while (!identical(envir, .GlobalEnv) && [18:02:02.816] !identical(envir, emptyenv())) { [18:02:02.816] if (exists("master", mode = "list", envir = envir, [18:02:02.816] inherits = FALSE)) { [18:02:02.816] master <- get("master", mode = "list", [18:02:02.816] envir = envir, inherits = FALSE) [18:02:02.816] if (inherits(master, c("SOCKnode", [18:02:02.816] "SOCK0node"))) { [18:02:02.816] sendCondition <<- function(cond) { [18:02:02.816] data <- list(type = "VALUE", value = cond, [18:02:02.816] success = TRUE) [18:02:02.816] parallel_sendData(master, data) [18:02:02.816] } [18:02:02.816] return(sendCondition) [18:02:02.816] } [18:02:02.816] } [18:02:02.816] frame <- frame + 1L [18:02:02.816] envir <- sys.frame(frame) [18:02:02.816] } [18:02:02.816] } [18:02:02.816] sendCondition <<- function(cond) NULL [18:02:02.816] } [18:02:02.816] }) [18:02:02.816] withCallingHandlers({ [18:02:02.816] value(a) + 1 [18:02:02.816] }, immediateCondition = function(cond) { [18:02:02.816] sendCondition <- ...future.makeSendCondition() [18:02:02.816] sendCondition(cond) [18:02:02.816] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.816] { [18:02:02.816] inherits <- base::inherits [18:02:02.816] invokeRestart <- base::invokeRestart [18:02:02.816] is.null <- base::is.null [18:02:02.816] muffled <- FALSE [18:02:02.816] if (inherits(cond, "message")) { [18:02:02.816] muffled <- grepl(pattern, "muffleMessage") [18:02:02.816] if (muffled) [18:02:02.816] invokeRestart("muffleMessage") [18:02:02.816] } [18:02:02.816] else if (inherits(cond, "warning")) { [18:02:02.816] muffled <- grepl(pattern, "muffleWarning") [18:02:02.816] if (muffled) [18:02:02.816] invokeRestart("muffleWarning") [18:02:02.816] } [18:02:02.816] else if (inherits(cond, "condition")) { [18:02:02.816] if (!is.null(pattern)) { [18:02:02.816] computeRestarts <- base::computeRestarts [18:02:02.816] grepl <- base::grepl [18:02:02.816] restarts <- computeRestarts(cond) [18:02:02.816] for (restart in restarts) { [18:02:02.816] name <- restart$name [18:02:02.816] if (is.null(name)) [18:02:02.816] next [18:02:02.816] if (!grepl(pattern, name)) [18:02:02.816] next [18:02:02.816] invokeRestart(restart) [18:02:02.816] muffled <- TRUE [18:02:02.816] break [18:02:02.816] } [18:02:02.816] } [18:02:02.816] } [18:02:02.816] invisible(muffled) [18:02:02.816] } [18:02:02.816] muffleCondition(cond) [18:02:02.816] }) [18:02:02.816] })) [18:02:02.816] future::FutureResult(value = ...future.value$value, [18:02:02.816] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.816] ...future.rng), globalenv = if (FALSE) [18:02:02.816] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.816] ...future.globalenv.names)) [18:02:02.816] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.816] }, condition = base::local({ [18:02:02.816] c <- base::c [18:02:02.816] inherits <- base::inherits [18:02:02.816] invokeRestart <- base::invokeRestart [18:02:02.816] length <- base::length [18:02:02.816] list <- base::list [18:02:02.816] seq.int <- base::seq.int [18:02:02.816] signalCondition <- base::signalCondition [18:02:02.816] sys.calls <- base::sys.calls [18:02:02.816] `[[` <- base::`[[` [18:02:02.816] `+` <- base::`+` [18:02:02.816] `<<-` <- base::`<<-` [18:02:02.816] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.816] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.816] 3L)] [18:02:02.816] } [18:02:02.816] function(cond) { [18:02:02.816] is_error <- inherits(cond, "error") [18:02:02.816] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.816] NULL) [18:02:02.816] if (is_error) { [18:02:02.816] sessionInformation <- function() { [18:02:02.816] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.816] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.816] search = base::search(), system = base::Sys.info()) [18:02:02.816] } [18:02:02.816] ...future.conditions[[length(...future.conditions) + [18:02:02.816] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.816] cond$call), session = sessionInformation(), [18:02:02.816] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.816] signalCondition(cond) [18:02:02.816] } [18:02:02.816] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.816] "immediateCondition"))) { [18:02:02.816] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.816] ...future.conditions[[length(...future.conditions) + [18:02:02.816] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.816] if (TRUE && !signal) { [18:02:02.816] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.816] { [18:02:02.816] inherits <- base::inherits [18:02:02.816] invokeRestart <- base::invokeRestart [18:02:02.816] is.null <- base::is.null [18:02:02.816] muffled <- FALSE [18:02:02.816] if (inherits(cond, "message")) { [18:02:02.816] muffled <- grepl(pattern, "muffleMessage") [18:02:02.816] if (muffled) [18:02:02.816] invokeRestart("muffleMessage") [18:02:02.816] } [18:02:02.816] else if (inherits(cond, "warning")) { [18:02:02.816] muffled <- grepl(pattern, "muffleWarning") [18:02:02.816] if (muffled) [18:02:02.816] invokeRestart("muffleWarning") [18:02:02.816] } [18:02:02.816] else if (inherits(cond, "condition")) { [18:02:02.816] if (!is.null(pattern)) { [18:02:02.816] computeRestarts <- base::computeRestarts [18:02:02.816] grepl <- base::grepl [18:02:02.816] restarts <- computeRestarts(cond) [18:02:02.816] for (restart in restarts) { [18:02:02.816] name <- restart$name [18:02:02.816] if (is.null(name)) [18:02:02.816] next [18:02:02.816] if (!grepl(pattern, name)) [18:02:02.816] next [18:02:02.816] invokeRestart(restart) [18:02:02.816] muffled <- TRUE [18:02:02.816] break [18:02:02.816] } [18:02:02.816] } [18:02:02.816] } [18:02:02.816] invisible(muffled) [18:02:02.816] } [18:02:02.816] muffleCondition(cond, pattern = "^muffle") [18:02:02.816] } [18:02:02.816] } [18:02:02.816] else { [18:02:02.816] if (TRUE) { [18:02:02.816] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.816] { [18:02:02.816] inherits <- base::inherits [18:02:02.816] invokeRestart <- base::invokeRestart [18:02:02.816] is.null <- base::is.null [18:02:02.816] muffled <- FALSE [18:02:02.816] if (inherits(cond, "message")) { [18:02:02.816] muffled <- grepl(pattern, "muffleMessage") [18:02:02.816] if (muffled) [18:02:02.816] invokeRestart("muffleMessage") [18:02:02.816] } [18:02:02.816] else if (inherits(cond, "warning")) { [18:02:02.816] muffled <- grepl(pattern, "muffleWarning") [18:02:02.816] if (muffled) [18:02:02.816] invokeRestart("muffleWarning") [18:02:02.816] } [18:02:02.816] else if (inherits(cond, "condition")) { [18:02:02.816] if (!is.null(pattern)) { [18:02:02.816] computeRestarts <- base::computeRestarts [18:02:02.816] grepl <- base::grepl [18:02:02.816] restarts <- computeRestarts(cond) [18:02:02.816] for (restart in restarts) { [18:02:02.816] name <- restart$name [18:02:02.816] if (is.null(name)) [18:02:02.816] next [18:02:02.816] if (!grepl(pattern, name)) [18:02:02.816] next [18:02:02.816] invokeRestart(restart) [18:02:02.816] muffled <- TRUE [18:02:02.816] break [18:02:02.816] } [18:02:02.816] } [18:02:02.816] } [18:02:02.816] invisible(muffled) [18:02:02.816] } [18:02:02.816] muffleCondition(cond, pattern = "^muffle") [18:02:02.816] } [18:02:02.816] } [18:02:02.816] } [18:02:02.816] })) [18:02:02.816] }, error = function(ex) { [18:02:02.816] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.816] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.816] ...future.rng), started = ...future.startTime, [18:02:02.816] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.816] version = "1.8"), class = "FutureResult") [18:02:02.816] }, finally = { [18:02:02.816] if (!identical(...future.workdir, getwd())) [18:02:02.816] setwd(...future.workdir) [18:02:02.816] { [18:02:02.816] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.816] ...future.oldOptions$nwarnings <- NULL [18:02:02.816] } [18:02:02.816] base::options(...future.oldOptions) [18:02:02.816] if (.Platform$OS.type == "windows") { [18:02:02.816] old_names <- names(...future.oldEnvVars) [18:02:02.816] envs <- base::Sys.getenv() [18:02:02.816] names <- names(envs) [18:02:02.816] common <- intersect(names, old_names) [18:02:02.816] added <- setdiff(names, old_names) [18:02:02.816] removed <- setdiff(old_names, names) [18:02:02.816] changed <- common[...future.oldEnvVars[common] != [18:02:02.816] envs[common]] [18:02:02.816] NAMES <- toupper(changed) [18:02:02.816] args <- list() [18:02:02.816] for (kk in seq_along(NAMES)) { [18:02:02.816] name <- changed[[kk]] [18:02:02.816] NAME <- NAMES[[kk]] [18:02:02.816] if (name != NAME && is.element(NAME, old_names)) [18:02:02.816] next [18:02:02.816] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.816] } [18:02:02.816] NAMES <- toupper(added) [18:02:02.816] for (kk in seq_along(NAMES)) { [18:02:02.816] name <- added[[kk]] [18:02:02.816] NAME <- NAMES[[kk]] [18:02:02.816] if (name != NAME && is.element(NAME, old_names)) [18:02:02.816] next [18:02:02.816] args[[name]] <- "" [18:02:02.816] } [18:02:02.816] NAMES <- toupper(removed) [18:02:02.816] for (kk in seq_along(NAMES)) { [18:02:02.816] name <- removed[[kk]] [18:02:02.816] NAME <- NAMES[[kk]] [18:02:02.816] if (name != NAME && is.element(NAME, old_names)) [18:02:02.816] next [18:02:02.816] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.816] } [18:02:02.816] if (length(args) > 0) [18:02:02.816] base::do.call(base::Sys.setenv, args = args) [18:02:02.816] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.816] } [18:02:02.816] else { [18:02:02.816] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.816] } [18:02:02.816] { [18:02:02.816] if (base::length(...future.futureOptionsAdded) > [18:02:02.816] 0L) { [18:02:02.816] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.816] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.816] base::options(opts) [18:02:02.816] } [18:02:02.816] { [18:02:02.816] { [18:02:02.816] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.816] NULL [18:02:02.816] } [18:02:02.816] options(future.plan = NULL) [18:02:02.816] if (is.na(NA_character_)) [18:02:02.816] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.816] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.816] future::plan(list(function (..., workers = availableCores(), [18:02:02.816] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.816] envir = parent.frame()) [18:02:02.816] { [18:02:02.816] if (is.function(workers)) [18:02:02.816] workers <- workers() [18:02:02.816] workers <- structure(as.integer(workers), [18:02:02.816] class = class(workers)) [18:02:02.816] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.816] workers >= 1) [18:02:02.816] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.816] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.816] } [18:02:02.816] future <- MultisessionFuture(..., workers = workers, [18:02:02.816] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.816] envir = envir) [18:02:02.816] if (!future$lazy) [18:02:02.816] future <- run(future) [18:02:02.816] invisible(future) [18:02:02.816] }), .cleanup = FALSE, .init = FALSE) [18:02:02.816] } [18:02:02.816] } [18:02:02.816] } [18:02:02.816] }) [18:02:02.816] if (TRUE) { [18:02:02.816] base::sink(type = "output", split = FALSE) [18:02:02.816] if (TRUE) { [18:02:02.816] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.816] } [18:02:02.816] else { [18:02:02.816] ...future.result["stdout"] <- base::list(NULL) [18:02:02.816] } [18:02:02.816] base::close(...future.stdout) [18:02:02.816] ...future.stdout <- NULL [18:02:02.816] } [18:02:02.816] ...future.result$conditions <- ...future.conditions [18:02:02.816] ...future.result$finished <- base::Sys.time() [18:02:02.816] ...future.result [18:02:02.816] } [18:02:02.821] Exporting 1 global objects (1.58 MiB) to cluster node #1 ... [18:02:02.824] Exporting 'a' (1.58 MiB) to cluster node #1 ... [18:02:02.834] Exporting 'a' (1.58 MiB) to cluster node #1 ... DONE [18:02:02.835] Exporting 1 global objects (1.58 MiB) to cluster node #1 ... DONE [18:02:02.835] MultisessionFuture started [18:02:02.836] - Launch lazy future ... done [18:02:02.836] run() for 'MultisessionFuture' ... done [18:02:02.836] result() for ClusterFuture ... [18:02:02.836] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.836] - Validating connection of MultisessionFuture [18:02:02.854] - received message: FutureResult [18:02:02.856] - Received FutureResult [18:02:02.856] - Erased future from FutureRegistry [18:02:02.857] result() for ClusterFuture ... [18:02:02.857] - result already collected: FutureResult [18:02:02.857] result() for ClusterFuture ... done [18:02:02.857] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.857] result() for ClusterFuture ... done [18:02:02.857] result() for ClusterFuture ... [18:02:02.858] - result already collected: FutureResult [18:02:02.858] result() for ClusterFuture ... done value(b) = 2 [18:02:02.858] result() for ClusterFuture ... [18:02:02.858] - result already collected: FutureResult [18:02:02.858] result() for ClusterFuture ... done [18:02:02.859] result() for ClusterFuture ... [18:02:02.859] - result already collected: FutureResult [18:02:02.859] result() for ClusterFuture ... done Warning: 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' [18:02:02.859] getGlobalsAndPackages() ... Warning: 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' [18:02:02.859] Searching for globals... Warning: 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' [18:02:02.860] [18:02:02.860] Searching for globals ... DONE [18:02:02.860] - globals: [0] [18:02:02.861] getGlobalsAndPackages() ... DONE Warning: 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' [18:02:02.861] getGlobalsAndPackages() ... Warning: 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' [18:02:02.861] Searching for globals... Warning: 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' [18:02:02.862] - globals found: [3] '+', 'value', 'a' [18:02:02.862] Searching for globals ... DONE [18:02:02.863] Resolving globals: TRUE [18:02:02.863] Resolving any globals that are futures ... [18:02:02.863] - globals: [3] '+', 'value', 'a' [18:02:02.863] Resolving any globals that are futures ... DONE [18:02:02.864] Resolving futures part of globals (recursively) ... [18:02:02.864] resolve() on list ... [18:02:02.864] recursive: 99 [18:02:02.864] length: 1 [18:02:02.864] elements: 'a' [18:02:02.865] run() for 'Future' ... [18:02:02.865] - state: 'created' [18:02:02.865] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.879] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.879] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.879] - Field: 'node' [18:02:02.879] - Field: 'label' [18:02:02.880] - Field: 'local' [18:02:02.880] - Field: 'owner' [18:02:02.880] - Field: 'envir' [18:02:02.880] - Field: 'workers' [18:02:02.880] - Field: 'packages' [18:02:02.880] - Field: 'gc' [18:02:02.881] - Field: 'conditions' [18:02:02.881] - Field: 'persistent' [18:02:02.881] - Field: 'expr' [18:02:02.881] - Field: 'uuid' [18:02:02.881] - Field: 'seed' [18:02:02.881] - Field: 'version' [18:02:02.882] - Field: 'result' [18:02:02.882] - Field: 'asynchronous' [18:02:02.882] - Field: 'calls' [18:02:02.882] - Field: 'globals' [18:02:02.882] - Field: 'stdout' [18:02:02.883] - Field: 'earlySignal' [18:02:02.883] - Field: 'lazy' [18:02:02.883] - Field: 'state' [18:02:02.883] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.883] - Launch lazy future ... [18:02:02.884] Packages needed by the future expression (n = 0): [18:02:02.884] Packages needed by future strategies (n = 0): [18:02:02.884] { [18:02:02.884] { [18:02:02.884] { [18:02:02.884] ...future.startTime <- base::Sys.time() [18:02:02.884] { [18:02:02.884] { [18:02:02.884] { [18:02:02.884] { [18:02:02.884] base::local({ [18:02:02.884] has_future <- base::requireNamespace("future", [18:02:02.884] quietly = TRUE) [18:02:02.884] if (has_future) { [18:02:02.884] ns <- base::getNamespace("future") [18:02:02.884] version <- ns[[".package"]][["version"]] [18:02:02.884] if (is.null(version)) [18:02:02.884] version <- utils::packageVersion("future") [18:02:02.884] } [18:02:02.884] else { [18:02:02.884] version <- NULL [18:02:02.884] } [18:02:02.884] if (!has_future || version < "1.8.0") { [18:02:02.884] info <- base::c(r_version = base::gsub("R version ", [18:02:02.884] "", base::R.version$version.string), [18:02:02.884] platform = base::sprintf("%s (%s-bit)", [18:02:02.884] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.884] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.884] "release", "version")], collapse = " "), [18:02:02.884] hostname = base::Sys.info()[["nodename"]]) [18:02:02.884] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.884] info) [18:02:02.884] info <- base::paste(info, collapse = "; ") [18:02:02.884] if (!has_future) { [18:02:02.884] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.884] info) [18:02:02.884] } [18:02:02.884] else { [18:02:02.884] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.884] info, version) [18:02:02.884] } [18:02:02.884] base::stop(msg) [18:02:02.884] } [18:02:02.884] }) [18:02:02.884] } [18:02:02.884] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.884] base::options(mc.cores = 1L) [18:02:02.884] } [18:02:02.884] options(future.plan = NULL) [18:02:02.884] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.884] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.884] } [18:02:02.884] ...future.workdir <- getwd() [18:02:02.884] } [18:02:02.884] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.884] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.884] } [18:02:02.884] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.884] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.884] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.884] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.884] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.884] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.884] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.884] base::names(...future.oldOptions)) [18:02:02.884] } [18:02:02.884] if (FALSE) { [18:02:02.884] } [18:02:02.884] else { [18:02:02.884] if (TRUE) { [18:02:02.884] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.884] open = "w") [18:02:02.884] } [18:02:02.884] else { [18:02:02.884] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.884] windows = "NUL", "/dev/null"), open = "w") [18:02:02.884] } [18:02:02.884] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.884] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.884] base::sink(type = "output", split = FALSE) [18:02:02.884] base::close(...future.stdout) [18:02:02.884] }, add = TRUE) [18:02:02.884] } [18:02:02.884] ...future.frame <- base::sys.nframe() [18:02:02.884] ...future.conditions <- base::list() [18:02:02.884] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.884] if (FALSE) { [18:02:02.884] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.884] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.884] } [18:02:02.884] ...future.result <- base::tryCatch({ [18:02:02.884] base::withCallingHandlers({ [18:02:02.884] ...future.value <- base::withVisible(base::local({ [18:02:02.884] ...future.makeSendCondition <- local({ [18:02:02.884] sendCondition <- NULL [18:02:02.884] function(frame = 1L) { [18:02:02.884] if (is.function(sendCondition)) [18:02:02.884] return(sendCondition) [18:02:02.884] ns <- getNamespace("parallel") [18:02:02.884] if (exists("sendData", mode = "function", [18:02:02.884] envir = ns)) { [18:02:02.884] parallel_sendData <- get("sendData", mode = "function", [18:02:02.884] envir = ns) [18:02:02.884] envir <- sys.frame(frame) [18:02:02.884] master <- NULL [18:02:02.884] while (!identical(envir, .GlobalEnv) && [18:02:02.884] !identical(envir, emptyenv())) { [18:02:02.884] if (exists("master", mode = "list", envir = envir, [18:02:02.884] inherits = FALSE)) { [18:02:02.884] master <- get("master", mode = "list", [18:02:02.884] envir = envir, inherits = FALSE) [18:02:02.884] if (inherits(master, c("SOCKnode", [18:02:02.884] "SOCK0node"))) { [18:02:02.884] sendCondition <<- function(cond) { [18:02:02.884] data <- list(type = "VALUE", value = cond, [18:02:02.884] success = TRUE) [18:02:02.884] parallel_sendData(master, data) [18:02:02.884] } [18:02:02.884] return(sendCondition) [18:02:02.884] } [18:02:02.884] } [18:02:02.884] frame <- frame + 1L [18:02:02.884] envir <- sys.frame(frame) [18:02:02.884] } [18:02:02.884] } [18:02:02.884] sendCondition <<- function(cond) NULL [18:02:02.884] } [18:02:02.884] }) [18:02:02.884] withCallingHandlers({ [18:02:02.884] 1 [18:02:02.884] }, immediateCondition = function(cond) { [18:02:02.884] sendCondition <- ...future.makeSendCondition() [18:02:02.884] sendCondition(cond) [18:02:02.884] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.884] { [18:02:02.884] inherits <- base::inherits [18:02:02.884] invokeRestart <- base::invokeRestart [18:02:02.884] is.null <- base::is.null [18:02:02.884] muffled <- FALSE [18:02:02.884] if (inherits(cond, "message")) { [18:02:02.884] muffled <- grepl(pattern, "muffleMessage") [18:02:02.884] if (muffled) [18:02:02.884] invokeRestart("muffleMessage") [18:02:02.884] } [18:02:02.884] else if (inherits(cond, "warning")) { [18:02:02.884] muffled <- grepl(pattern, "muffleWarning") [18:02:02.884] if (muffled) [18:02:02.884] invokeRestart("muffleWarning") [18:02:02.884] } [18:02:02.884] else if (inherits(cond, "condition")) { [18:02:02.884] if (!is.null(pattern)) { [18:02:02.884] computeRestarts <- base::computeRestarts [18:02:02.884] grepl <- base::grepl [18:02:02.884] restarts <- computeRestarts(cond) [18:02:02.884] for (restart in restarts) { [18:02:02.884] name <- restart$name [18:02:02.884] if (is.null(name)) [18:02:02.884] next [18:02:02.884] if (!grepl(pattern, name)) [18:02:02.884] next [18:02:02.884] invokeRestart(restart) [18:02:02.884] muffled <- TRUE [18:02:02.884] break [18:02:02.884] } [18:02:02.884] } [18:02:02.884] } [18:02:02.884] invisible(muffled) [18:02:02.884] } [18:02:02.884] muffleCondition(cond) [18:02:02.884] }) [18:02:02.884] })) [18:02:02.884] future::FutureResult(value = ...future.value$value, [18:02:02.884] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.884] ...future.rng), globalenv = if (FALSE) [18:02:02.884] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.884] ...future.globalenv.names)) [18:02:02.884] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.884] }, condition = base::local({ [18:02:02.884] c <- base::c [18:02:02.884] inherits <- base::inherits [18:02:02.884] invokeRestart <- base::invokeRestart [18:02:02.884] length <- base::length [18:02:02.884] list <- base::list [18:02:02.884] seq.int <- base::seq.int [18:02:02.884] signalCondition <- base::signalCondition [18:02:02.884] sys.calls <- base::sys.calls [18:02:02.884] `[[` <- base::`[[` [18:02:02.884] `+` <- base::`+` [18:02:02.884] `<<-` <- base::`<<-` [18:02:02.884] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.884] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.884] 3L)] [18:02:02.884] } [18:02:02.884] function(cond) { [18:02:02.884] is_error <- inherits(cond, "error") [18:02:02.884] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.884] NULL) [18:02:02.884] if (is_error) { [18:02:02.884] sessionInformation <- function() { [18:02:02.884] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.884] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.884] search = base::search(), system = base::Sys.info()) [18:02:02.884] } [18:02:02.884] ...future.conditions[[length(...future.conditions) + [18:02:02.884] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.884] cond$call), session = sessionInformation(), [18:02:02.884] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.884] signalCondition(cond) [18:02:02.884] } [18:02:02.884] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.884] "immediateCondition"))) { [18:02:02.884] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.884] ...future.conditions[[length(...future.conditions) + [18:02:02.884] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.884] if (TRUE && !signal) { [18:02:02.884] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.884] { [18:02:02.884] inherits <- base::inherits [18:02:02.884] invokeRestart <- base::invokeRestart [18:02:02.884] is.null <- base::is.null [18:02:02.884] muffled <- FALSE [18:02:02.884] if (inherits(cond, "message")) { [18:02:02.884] muffled <- grepl(pattern, "muffleMessage") [18:02:02.884] if (muffled) [18:02:02.884] invokeRestart("muffleMessage") [18:02:02.884] } [18:02:02.884] else if (inherits(cond, "warning")) { [18:02:02.884] muffled <- grepl(pattern, "muffleWarning") [18:02:02.884] if (muffled) [18:02:02.884] invokeRestart("muffleWarning") [18:02:02.884] } [18:02:02.884] else if (inherits(cond, "condition")) { [18:02:02.884] if (!is.null(pattern)) { [18:02:02.884] computeRestarts <- base::computeRestarts [18:02:02.884] grepl <- base::grepl [18:02:02.884] restarts <- computeRestarts(cond) [18:02:02.884] for (restart in restarts) { [18:02:02.884] name <- restart$name [18:02:02.884] if (is.null(name)) [18:02:02.884] next [18:02:02.884] if (!grepl(pattern, name)) [18:02:02.884] next [18:02:02.884] invokeRestart(restart) [18:02:02.884] muffled <- TRUE [18:02:02.884] break [18:02:02.884] } [18:02:02.884] } [18:02:02.884] } [18:02:02.884] invisible(muffled) [18:02:02.884] } [18:02:02.884] muffleCondition(cond, pattern = "^muffle") [18:02:02.884] } [18:02:02.884] } [18:02:02.884] else { [18:02:02.884] if (TRUE) { [18:02:02.884] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.884] { [18:02:02.884] inherits <- base::inherits [18:02:02.884] invokeRestart <- base::invokeRestart [18:02:02.884] is.null <- base::is.null [18:02:02.884] muffled <- FALSE [18:02:02.884] if (inherits(cond, "message")) { [18:02:02.884] muffled <- grepl(pattern, "muffleMessage") [18:02:02.884] if (muffled) [18:02:02.884] invokeRestart("muffleMessage") [18:02:02.884] } [18:02:02.884] else if (inherits(cond, "warning")) { [18:02:02.884] muffled <- grepl(pattern, "muffleWarning") [18:02:02.884] if (muffled) [18:02:02.884] invokeRestart("muffleWarning") [18:02:02.884] } [18:02:02.884] else if (inherits(cond, "condition")) { [18:02:02.884] if (!is.null(pattern)) { [18:02:02.884] computeRestarts <- base::computeRestarts [18:02:02.884] grepl <- base::grepl [18:02:02.884] restarts <- computeRestarts(cond) [18:02:02.884] for (restart in restarts) { [18:02:02.884] name <- restart$name [18:02:02.884] if (is.null(name)) [18:02:02.884] next [18:02:02.884] if (!grepl(pattern, name)) [18:02:02.884] next [18:02:02.884] invokeRestart(restart) [18:02:02.884] muffled <- TRUE [18:02:02.884] break [18:02:02.884] } [18:02:02.884] } [18:02:02.884] } [18:02:02.884] invisible(muffled) [18:02:02.884] } [18:02:02.884] muffleCondition(cond, pattern = "^muffle") [18:02:02.884] } [18:02:02.884] } [18:02:02.884] } [18:02:02.884] })) [18:02:02.884] }, error = function(ex) { [18:02:02.884] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.884] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.884] ...future.rng), started = ...future.startTime, [18:02:02.884] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.884] version = "1.8"), class = "FutureResult") [18:02:02.884] }, finally = { [18:02:02.884] if (!identical(...future.workdir, getwd())) [18:02:02.884] setwd(...future.workdir) [18:02:02.884] { [18:02:02.884] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.884] ...future.oldOptions$nwarnings <- NULL [18:02:02.884] } [18:02:02.884] base::options(...future.oldOptions) [18:02:02.884] if (.Platform$OS.type == "windows") { [18:02:02.884] old_names <- names(...future.oldEnvVars) [18:02:02.884] envs <- base::Sys.getenv() [18:02:02.884] names <- names(envs) [18:02:02.884] common <- intersect(names, old_names) [18:02:02.884] added <- setdiff(names, old_names) [18:02:02.884] removed <- setdiff(old_names, names) [18:02:02.884] changed <- common[...future.oldEnvVars[common] != [18:02:02.884] envs[common]] [18:02:02.884] NAMES <- toupper(changed) [18:02:02.884] args <- list() [18:02:02.884] for (kk in seq_along(NAMES)) { [18:02:02.884] name <- changed[[kk]] [18:02:02.884] NAME <- NAMES[[kk]] [18:02:02.884] if (name != NAME && is.element(NAME, old_names)) [18:02:02.884] next [18:02:02.884] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.884] } [18:02:02.884] NAMES <- toupper(added) [18:02:02.884] for (kk in seq_along(NAMES)) { [18:02:02.884] name <- added[[kk]] [18:02:02.884] NAME <- NAMES[[kk]] [18:02:02.884] if (name != NAME && is.element(NAME, old_names)) [18:02:02.884] next [18:02:02.884] args[[name]] <- "" [18:02:02.884] } [18:02:02.884] NAMES <- toupper(removed) [18:02:02.884] for (kk in seq_along(NAMES)) { [18:02:02.884] name <- removed[[kk]] [18:02:02.884] NAME <- NAMES[[kk]] [18:02:02.884] if (name != NAME && is.element(NAME, old_names)) [18:02:02.884] next [18:02:02.884] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.884] } [18:02:02.884] if (length(args) > 0) [18:02:02.884] base::do.call(base::Sys.setenv, args = args) [18:02:02.884] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.884] } [18:02:02.884] else { [18:02:02.884] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.884] } [18:02:02.884] { [18:02:02.884] if (base::length(...future.futureOptionsAdded) > [18:02:02.884] 0L) { [18:02:02.884] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.884] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.884] base::options(opts) [18:02:02.884] } [18:02:02.884] { [18:02:02.884] { [18:02:02.884] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.884] NULL [18:02:02.884] } [18:02:02.884] options(future.plan = NULL) [18:02:02.884] if (is.na(NA_character_)) [18:02:02.884] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.884] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.884] future::plan(list(function (..., workers = availableCores(), [18:02:02.884] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.884] envir = parent.frame()) [18:02:02.884] { [18:02:02.884] if (is.function(workers)) [18:02:02.884] workers <- workers() [18:02:02.884] workers <- structure(as.integer(workers), [18:02:02.884] class = class(workers)) [18:02:02.884] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.884] workers >= 1) [18:02:02.884] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.884] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.884] } [18:02:02.884] future <- MultisessionFuture(..., workers = workers, [18:02:02.884] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.884] envir = envir) [18:02:02.884] if (!future$lazy) [18:02:02.884] future <- run(future) [18:02:02.884] invisible(future) [18:02:02.884] }), .cleanup = FALSE, .init = FALSE) [18:02:02.884] } [18:02:02.884] } [18:02:02.884] } [18:02:02.884] }) [18:02:02.884] if (TRUE) { [18:02:02.884] base::sink(type = "output", split = FALSE) [18:02:02.884] if (TRUE) { [18:02:02.884] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.884] } [18:02:02.884] else { [18:02:02.884] ...future.result["stdout"] <- base::list(NULL) [18:02:02.884] } [18:02:02.884] base::close(...future.stdout) [18:02:02.884] ...future.stdout <- NULL [18:02:02.884] } [18:02:02.884] ...future.result$conditions <- ...future.conditions [18:02:02.884] ...future.result$finished <- base::Sys.time() [18:02:02.884] ...future.result [18:02:02.884] } [18:02:02.890] MultisessionFuture started [18:02:02.890] - Launch lazy future ... done [18:02:02.890] run() for 'MultisessionFuture' ... done [18:02:02.907] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.908] - Validating connection of MultisessionFuture [18:02:02.908] - received message: FutureResult [18:02:02.908] - Received FutureResult [18:02:02.908] - Erased future from FutureRegistry [18:02:02.909] result() for ClusterFuture ... [18:02:02.909] - result already collected: FutureResult [18:02:02.909] result() for ClusterFuture ... done [18:02:02.909] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.909] Future #1 [18:02:02.909] result() for ClusterFuture ... [18:02:02.910] - result already collected: FutureResult [18:02:02.910] result() for ClusterFuture ... done [18:02:02.910] result() for ClusterFuture ... [18:02:02.910] - result already collected: FutureResult [18:02:02.910] result() for ClusterFuture ... done [18:02:02.910] A MultisessionFuture was resolved [18:02:02.911] length: 0 (resolved future 1) [18:02:02.911] resolve() on list ... DONE [18:02:02.911] - globals: [1] 'a' [18:02:02.911] Resolving futures part of globals (recursively) ... DONE [18:02:02.914] The total size of the 1 globals is 1.58 MiB (1661440 bytes) [18:02:02.914] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.58 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.58 MiB of class 'environment') [18:02:02.915] - globals: [1] 'a' [18:02:02.915] - packages: [1] 'future' [18:02:02.915] getGlobalsAndPackages() ... DONE [18:02:02.915] run() for 'Future' ... [18:02:02.916] - state: 'created' [18:02:02.916] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:02.932] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:02.932] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:02.932] - Field: 'node' [18:02:02.932] - Field: 'label' [18:02:02.933] - Field: 'local' [18:02:02.933] - Field: 'owner' [18:02:02.933] - Field: 'envir' [18:02:02.933] - Field: 'workers' [18:02:02.933] - Field: 'packages' [18:02:02.934] - Field: 'gc' [18:02:02.934] - Field: 'conditions' [18:02:02.934] - Field: 'persistent' [18:02:02.934] - Field: 'expr' [18:02:02.934] - Field: 'uuid' [18:02:02.934] - Field: 'seed' [18:02:02.935] - Field: 'version' [18:02:02.935] - Field: 'result' [18:02:02.935] - Field: 'asynchronous' [18:02:02.935] - Field: 'calls' [18:02:02.935] - Field: 'globals' [18:02:02.936] - Field: 'stdout' [18:02:02.936] - Field: 'earlySignal' [18:02:02.936] - Field: 'lazy' [18:02:02.936] - Field: 'state' [18:02:02.936] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:02.937] - Launch lazy future ... [18:02:02.937] Packages needed by the future expression (n = 1): 'future' [18:02:02.937] Packages needed by future strategies (n = 0): [18:02:02.938] { [18:02:02.938] { [18:02:02.938] { [18:02:02.938] ...future.startTime <- base::Sys.time() [18:02:02.938] { [18:02:02.938] { [18:02:02.938] { [18:02:02.938] { [18:02:02.938] { [18:02:02.938] base::local({ [18:02:02.938] has_future <- base::requireNamespace("future", [18:02:02.938] quietly = TRUE) [18:02:02.938] if (has_future) { [18:02:02.938] ns <- base::getNamespace("future") [18:02:02.938] version <- ns[[".package"]][["version"]] [18:02:02.938] if (is.null(version)) [18:02:02.938] version <- utils::packageVersion("future") [18:02:02.938] } [18:02:02.938] else { [18:02:02.938] version <- NULL [18:02:02.938] } [18:02:02.938] if (!has_future || version < "1.8.0") { [18:02:02.938] info <- base::c(r_version = base::gsub("R version ", [18:02:02.938] "", base::R.version$version.string), [18:02:02.938] platform = base::sprintf("%s (%s-bit)", [18:02:02.938] base::R.version$platform, 8 * [18:02:02.938] base::.Machine$sizeof.pointer), [18:02:02.938] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.938] "release", "version")], collapse = " "), [18:02:02.938] hostname = base::Sys.info()[["nodename"]]) [18:02:02.938] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.938] info) [18:02:02.938] info <- base::paste(info, collapse = "; ") [18:02:02.938] if (!has_future) { [18:02:02.938] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.938] info) [18:02:02.938] } [18:02:02.938] else { [18:02:02.938] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.938] info, version) [18:02:02.938] } [18:02:02.938] base::stop(msg) [18:02:02.938] } [18:02:02.938] }) [18:02:02.938] } [18:02:02.938] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:02.938] base::options(mc.cores = 1L) [18:02:02.938] } [18:02:02.938] base::local({ [18:02:02.938] for (pkg in "future") { [18:02:02.938] base::loadNamespace(pkg) [18:02:02.938] base::library(pkg, character.only = TRUE) [18:02:02.938] } [18:02:02.938] }) [18:02:02.938] } [18:02:02.938] options(future.plan = NULL) [18:02:02.938] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.938] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.938] } [18:02:02.938] ...future.workdir <- getwd() [18:02:02.938] } [18:02:02.938] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.938] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.938] } [18:02:02.938] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.938] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.938] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.938] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.938] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.938] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.938] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.938] base::names(...future.oldOptions)) [18:02:02.938] } [18:02:02.938] if (FALSE) { [18:02:02.938] } [18:02:02.938] else { [18:02:02.938] if (TRUE) { [18:02:02.938] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.938] open = "w") [18:02:02.938] } [18:02:02.938] else { [18:02:02.938] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.938] windows = "NUL", "/dev/null"), open = "w") [18:02:02.938] } [18:02:02.938] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.938] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.938] base::sink(type = "output", split = FALSE) [18:02:02.938] base::close(...future.stdout) [18:02:02.938] }, add = TRUE) [18:02:02.938] } [18:02:02.938] ...future.frame <- base::sys.nframe() [18:02:02.938] ...future.conditions <- base::list() [18:02:02.938] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.938] if (FALSE) { [18:02:02.938] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.938] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.938] } [18:02:02.938] ...future.result <- base::tryCatch({ [18:02:02.938] base::withCallingHandlers({ [18:02:02.938] ...future.value <- base::withVisible(base::local({ [18:02:02.938] ...future.makeSendCondition <- local({ [18:02:02.938] sendCondition <- NULL [18:02:02.938] function(frame = 1L) { [18:02:02.938] if (is.function(sendCondition)) [18:02:02.938] return(sendCondition) [18:02:02.938] ns <- getNamespace("parallel") [18:02:02.938] if (exists("sendData", mode = "function", [18:02:02.938] envir = ns)) { [18:02:02.938] parallel_sendData <- get("sendData", mode = "function", [18:02:02.938] envir = ns) [18:02:02.938] envir <- sys.frame(frame) [18:02:02.938] master <- NULL [18:02:02.938] while (!identical(envir, .GlobalEnv) && [18:02:02.938] !identical(envir, emptyenv())) { [18:02:02.938] if (exists("master", mode = "list", envir = envir, [18:02:02.938] inherits = FALSE)) { [18:02:02.938] master <- get("master", mode = "list", [18:02:02.938] envir = envir, inherits = FALSE) [18:02:02.938] if (inherits(master, c("SOCKnode", [18:02:02.938] "SOCK0node"))) { [18:02:02.938] sendCondition <<- function(cond) { [18:02:02.938] data <- list(type = "VALUE", value = cond, [18:02:02.938] success = TRUE) [18:02:02.938] parallel_sendData(master, data) [18:02:02.938] } [18:02:02.938] return(sendCondition) [18:02:02.938] } [18:02:02.938] } [18:02:02.938] frame <- frame + 1L [18:02:02.938] envir <- sys.frame(frame) [18:02:02.938] } [18:02:02.938] } [18:02:02.938] sendCondition <<- function(cond) NULL [18:02:02.938] } [18:02:02.938] }) [18:02:02.938] withCallingHandlers({ [18:02:02.938] value(a) + 1 [18:02:02.938] }, immediateCondition = function(cond) { [18:02:02.938] sendCondition <- ...future.makeSendCondition() [18:02:02.938] sendCondition(cond) [18:02:02.938] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.938] { [18:02:02.938] inherits <- base::inherits [18:02:02.938] invokeRestart <- base::invokeRestart [18:02:02.938] is.null <- base::is.null [18:02:02.938] muffled <- FALSE [18:02:02.938] if (inherits(cond, "message")) { [18:02:02.938] muffled <- grepl(pattern, "muffleMessage") [18:02:02.938] if (muffled) [18:02:02.938] invokeRestart("muffleMessage") [18:02:02.938] } [18:02:02.938] else if (inherits(cond, "warning")) { [18:02:02.938] muffled <- grepl(pattern, "muffleWarning") [18:02:02.938] if (muffled) [18:02:02.938] invokeRestart("muffleWarning") [18:02:02.938] } [18:02:02.938] else if (inherits(cond, "condition")) { [18:02:02.938] if (!is.null(pattern)) { [18:02:02.938] computeRestarts <- base::computeRestarts [18:02:02.938] grepl <- base::grepl [18:02:02.938] restarts <- computeRestarts(cond) [18:02:02.938] for (restart in restarts) { [18:02:02.938] name <- restart$name [18:02:02.938] if (is.null(name)) [18:02:02.938] next [18:02:02.938] if (!grepl(pattern, name)) [18:02:02.938] next [18:02:02.938] invokeRestart(restart) [18:02:02.938] muffled <- TRUE [18:02:02.938] break [18:02:02.938] } [18:02:02.938] } [18:02:02.938] } [18:02:02.938] invisible(muffled) [18:02:02.938] } [18:02:02.938] muffleCondition(cond) [18:02:02.938] }) [18:02:02.938] })) [18:02:02.938] future::FutureResult(value = ...future.value$value, [18:02:02.938] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.938] ...future.rng), globalenv = if (FALSE) [18:02:02.938] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.938] ...future.globalenv.names)) [18:02:02.938] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.938] }, condition = base::local({ [18:02:02.938] c <- base::c [18:02:02.938] inherits <- base::inherits [18:02:02.938] invokeRestart <- base::invokeRestart [18:02:02.938] length <- base::length [18:02:02.938] list <- base::list [18:02:02.938] seq.int <- base::seq.int [18:02:02.938] signalCondition <- base::signalCondition [18:02:02.938] sys.calls <- base::sys.calls [18:02:02.938] `[[` <- base::`[[` [18:02:02.938] `+` <- base::`+` [18:02:02.938] `<<-` <- base::`<<-` [18:02:02.938] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.938] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.938] 3L)] [18:02:02.938] } [18:02:02.938] function(cond) { [18:02:02.938] is_error <- inherits(cond, "error") [18:02:02.938] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.938] NULL) [18:02:02.938] if (is_error) { [18:02:02.938] sessionInformation <- function() { [18:02:02.938] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.938] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.938] search = base::search(), system = base::Sys.info()) [18:02:02.938] } [18:02:02.938] ...future.conditions[[length(...future.conditions) + [18:02:02.938] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.938] cond$call), session = sessionInformation(), [18:02:02.938] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.938] signalCondition(cond) [18:02:02.938] } [18:02:02.938] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.938] "immediateCondition"))) { [18:02:02.938] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.938] ...future.conditions[[length(...future.conditions) + [18:02:02.938] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.938] if (TRUE && !signal) { [18:02:02.938] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.938] { [18:02:02.938] inherits <- base::inherits [18:02:02.938] invokeRestart <- base::invokeRestart [18:02:02.938] is.null <- base::is.null [18:02:02.938] muffled <- FALSE [18:02:02.938] if (inherits(cond, "message")) { [18:02:02.938] muffled <- grepl(pattern, "muffleMessage") [18:02:02.938] if (muffled) [18:02:02.938] invokeRestart("muffleMessage") [18:02:02.938] } [18:02:02.938] else if (inherits(cond, "warning")) { [18:02:02.938] muffled <- grepl(pattern, "muffleWarning") [18:02:02.938] if (muffled) [18:02:02.938] invokeRestart("muffleWarning") [18:02:02.938] } [18:02:02.938] else if (inherits(cond, "condition")) { [18:02:02.938] if (!is.null(pattern)) { [18:02:02.938] computeRestarts <- base::computeRestarts [18:02:02.938] grepl <- base::grepl [18:02:02.938] restarts <- computeRestarts(cond) [18:02:02.938] for (restart in restarts) { [18:02:02.938] name <- restart$name [18:02:02.938] if (is.null(name)) [18:02:02.938] next [18:02:02.938] if (!grepl(pattern, name)) [18:02:02.938] next [18:02:02.938] invokeRestart(restart) [18:02:02.938] muffled <- TRUE [18:02:02.938] break [18:02:02.938] } [18:02:02.938] } [18:02:02.938] } [18:02:02.938] invisible(muffled) [18:02:02.938] } [18:02:02.938] muffleCondition(cond, pattern = "^muffle") [18:02:02.938] } [18:02:02.938] } [18:02:02.938] else { [18:02:02.938] if (TRUE) { [18:02:02.938] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.938] { [18:02:02.938] inherits <- base::inherits [18:02:02.938] invokeRestart <- base::invokeRestart [18:02:02.938] is.null <- base::is.null [18:02:02.938] muffled <- FALSE [18:02:02.938] if (inherits(cond, "message")) { [18:02:02.938] muffled <- grepl(pattern, "muffleMessage") [18:02:02.938] if (muffled) [18:02:02.938] invokeRestart("muffleMessage") [18:02:02.938] } [18:02:02.938] else if (inherits(cond, "warning")) { [18:02:02.938] muffled <- grepl(pattern, "muffleWarning") [18:02:02.938] if (muffled) [18:02:02.938] invokeRestart("muffleWarning") [18:02:02.938] } [18:02:02.938] else if (inherits(cond, "condition")) { [18:02:02.938] if (!is.null(pattern)) { [18:02:02.938] computeRestarts <- base::computeRestarts [18:02:02.938] grepl <- base::grepl [18:02:02.938] restarts <- computeRestarts(cond) [18:02:02.938] for (restart in restarts) { [18:02:02.938] name <- restart$name [18:02:02.938] if (is.null(name)) [18:02:02.938] next [18:02:02.938] if (!grepl(pattern, name)) [18:02:02.938] next [18:02:02.938] invokeRestart(restart) [18:02:02.938] muffled <- TRUE [18:02:02.938] break [18:02:02.938] } [18:02:02.938] } [18:02:02.938] } [18:02:02.938] invisible(muffled) [18:02:02.938] } [18:02:02.938] muffleCondition(cond, pattern = "^muffle") [18:02:02.938] } [18:02:02.938] } [18:02:02.938] } [18:02:02.938] })) [18:02:02.938] }, error = function(ex) { [18:02:02.938] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.938] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.938] ...future.rng), started = ...future.startTime, [18:02:02.938] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.938] version = "1.8"), class = "FutureResult") [18:02:02.938] }, finally = { [18:02:02.938] if (!identical(...future.workdir, getwd())) [18:02:02.938] setwd(...future.workdir) [18:02:02.938] { [18:02:02.938] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.938] ...future.oldOptions$nwarnings <- NULL [18:02:02.938] } [18:02:02.938] base::options(...future.oldOptions) [18:02:02.938] if (.Platform$OS.type == "windows") { [18:02:02.938] old_names <- names(...future.oldEnvVars) [18:02:02.938] envs <- base::Sys.getenv() [18:02:02.938] names <- names(envs) [18:02:02.938] common <- intersect(names, old_names) [18:02:02.938] added <- setdiff(names, old_names) [18:02:02.938] removed <- setdiff(old_names, names) [18:02:02.938] changed <- common[...future.oldEnvVars[common] != [18:02:02.938] envs[common]] [18:02:02.938] NAMES <- toupper(changed) [18:02:02.938] args <- list() [18:02:02.938] for (kk in seq_along(NAMES)) { [18:02:02.938] name <- changed[[kk]] [18:02:02.938] NAME <- NAMES[[kk]] [18:02:02.938] if (name != NAME && is.element(NAME, old_names)) [18:02:02.938] next [18:02:02.938] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.938] } [18:02:02.938] NAMES <- toupper(added) [18:02:02.938] for (kk in seq_along(NAMES)) { [18:02:02.938] name <- added[[kk]] [18:02:02.938] NAME <- NAMES[[kk]] [18:02:02.938] if (name != NAME && is.element(NAME, old_names)) [18:02:02.938] next [18:02:02.938] args[[name]] <- "" [18:02:02.938] } [18:02:02.938] NAMES <- toupper(removed) [18:02:02.938] for (kk in seq_along(NAMES)) { [18:02:02.938] name <- removed[[kk]] [18:02:02.938] NAME <- NAMES[[kk]] [18:02:02.938] if (name != NAME && is.element(NAME, old_names)) [18:02:02.938] next [18:02:02.938] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.938] } [18:02:02.938] if (length(args) > 0) [18:02:02.938] base::do.call(base::Sys.setenv, args = args) [18:02:02.938] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.938] } [18:02:02.938] else { [18:02:02.938] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.938] } [18:02:02.938] { [18:02:02.938] if (base::length(...future.futureOptionsAdded) > [18:02:02.938] 0L) { [18:02:02.938] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.938] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.938] base::options(opts) [18:02:02.938] } [18:02:02.938] { [18:02:02.938] { [18:02:02.938] base::options(mc.cores = ...future.mc.cores.old) [18:02:02.938] NULL [18:02:02.938] } [18:02:02.938] options(future.plan = NULL) [18:02:02.938] if (is.na(NA_character_)) [18:02:02.938] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.938] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.938] future::plan(list(function (..., workers = availableCores(), [18:02:02.938] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.938] envir = parent.frame()) [18:02:02.938] { [18:02:02.938] if (is.function(workers)) [18:02:02.938] workers <- workers() [18:02:02.938] workers <- structure(as.integer(workers), [18:02:02.938] class = class(workers)) [18:02:02.938] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.938] workers >= 1) [18:02:02.938] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.938] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.938] } [18:02:02.938] future <- MultisessionFuture(..., workers = workers, [18:02:02.938] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.938] envir = envir) [18:02:02.938] if (!future$lazy) [18:02:02.938] future <- run(future) [18:02:02.938] invisible(future) [18:02:02.938] }), .cleanup = FALSE, .init = FALSE) [18:02:02.938] } [18:02:02.938] } [18:02:02.938] } [18:02:02.938] }) [18:02:02.938] if (TRUE) { [18:02:02.938] base::sink(type = "output", split = FALSE) [18:02:02.938] if (TRUE) { [18:02:02.938] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.938] } [18:02:02.938] else { [18:02:02.938] ...future.result["stdout"] <- base::list(NULL) [18:02:02.938] } [18:02:02.938] base::close(...future.stdout) [18:02:02.938] ...future.stdout <- NULL [18:02:02.938] } [18:02:02.938] ...future.result$conditions <- ...future.conditions [18:02:02.938] ...future.result$finished <- base::Sys.time() [18:02:02.938] ...future.result [18:02:02.938] } [18:02:02.943] Exporting 1 global objects (1.58 MiB) to cluster node #1 ... [18:02:02.946] Exporting 'a' (1.58 MiB) to cluster node #1 ... [18:02:02.956] Exporting 'a' (1.58 MiB) to cluster node #1 ... DONE [18:02:02.957] Exporting 1 global objects (1.58 MiB) to cluster node #1 ... DONE [18:02:02.957] MultisessionFuture started [18:02:02.957] - Launch lazy future ... done [18:02:02.958] run() for 'MultisessionFuture' ... done [18:02:02.958] result() for ClusterFuture ... [18:02:02.958] receiveMessageFromWorker() for ClusterFuture ... [18:02:02.958] - Validating connection of MultisessionFuture [18:02:02.975] - received message: FutureResult [18:02:02.976] - Received FutureResult [18:02:02.976] - Erased future from FutureRegistry [18:02:02.976] result() for ClusterFuture ... [18:02:02.976] - result already collected: FutureResult [18:02:02.976] result() for ClusterFuture ... done [18:02:02.977] receiveMessageFromWorker() for ClusterFuture ... done [18:02:02.977] result() for ClusterFuture ... done [18:02:02.977] result() for ClusterFuture ... [18:02:02.977] - result already collected: FutureResult [18:02:02.977] result() for ClusterFuture ... done value(b) = 2 [18:02:02.977] result() for ClusterFuture ... [18:02:02.978] - result already collected: FutureResult [18:02:02.978] result() for ClusterFuture ... done [18:02:02.978] result() for ClusterFuture ... [18:02:02.978] - result already collected: FutureResult [18:02:02.978] result() for ClusterFuture ... done Warning: 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' [18:02:02.979] getGlobalsAndPackages() ... Warning: 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' [18:02:02.979] Searching for globals... Warning: 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' [18:02:02.980] - globals found: [2] '{', 'pkg' [18:02:02.980] Searching for globals ... DONE [18:02:02.980] Resolving globals: TRUE [18:02:02.980] Resolving any globals that are futures ... [18:02:02.981] - globals: [2] '{', 'pkg' [18:02:02.981] Resolving any globals that are futures ... DONE [18:02:02.981] Resolving futures part of globals (recursively) ... [18:02:02.982] resolve() on list ... [18:02:02.982] recursive: 99 [18:02:02.982] length: 1 [18:02:02.982] elements: 'pkg' [18:02:02.982] length: 0 (resolved future 1) [18:02:02.982] resolve() on list ... DONE [18:02:02.983] - globals: [1] 'pkg' [18:02:02.983] Resolving futures part of globals (recursively) ... DONE [18:02:02.983] The total size of the 1 globals is 112 bytes (112 bytes) [18:02:02.983] 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') [18:02:02.984] - globals: [1] 'pkg' [18:02:02.984] [18:02:02.984] getGlobalsAndPackages() ... DONE [18:02:02.984] Packages needed by the future expression (n = 0): [18:02:02.984] Packages needed by future strategies (n = 0): [18:02:02.985] { [18:02:02.985] { [18:02:02.985] { [18:02:02.985] ...future.startTime <- base::Sys.time() [18:02:02.985] { [18:02:02.985] { [18:02:02.985] { [18:02:02.985] base::local({ [18:02:02.985] has_future <- base::requireNamespace("future", [18:02:02.985] quietly = TRUE) [18:02:02.985] if (has_future) { [18:02:02.985] ns <- base::getNamespace("future") [18:02:02.985] version <- ns[[".package"]][["version"]] [18:02:02.985] if (is.null(version)) [18:02:02.985] version <- utils::packageVersion("future") [18:02:02.985] } [18:02:02.985] else { [18:02:02.985] version <- NULL [18:02:02.985] } [18:02:02.985] if (!has_future || version < "1.8.0") { [18:02:02.985] info <- base::c(r_version = base::gsub("R version ", [18:02:02.985] "", base::R.version$version.string), [18:02:02.985] platform = base::sprintf("%s (%s-bit)", [18:02:02.985] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:02.985] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:02.985] "release", "version")], collapse = " "), [18:02:02.985] hostname = base::Sys.info()[["nodename"]]) [18:02:02.985] info <- base::sprintf("%s: %s", base::names(info), [18:02:02.985] info) [18:02:02.985] info <- base::paste(info, collapse = "; ") [18:02:02.985] if (!has_future) { [18:02:02.985] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:02.985] info) [18:02:02.985] } [18:02:02.985] else { [18:02:02.985] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:02.985] info, version) [18:02:02.985] } [18:02:02.985] base::stop(msg) [18:02:02.985] } [18:02:02.985] }) [18:02:02.985] } [18:02:02.985] options(future.plan = NULL) [18:02:02.985] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.985] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:02.985] } [18:02:02.985] ...future.workdir <- getwd() [18:02:02.985] } [18:02:02.985] ...future.oldOptions <- base::as.list(base::.Options) [18:02:02.985] ...future.oldEnvVars <- base::Sys.getenv() [18:02:02.985] } [18:02:02.985] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:02.985] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:02.985] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:02.985] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:02.985] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:02.985] future.stdout.windows.reencode = NULL, width = 80L) [18:02:02.985] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:02.985] base::names(...future.oldOptions)) [18:02:02.985] } [18:02:02.985] if (FALSE) { [18:02:02.985] } [18:02:02.985] else { [18:02:02.985] if (TRUE) { [18:02:02.985] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:02.985] open = "w") [18:02:02.985] } [18:02:02.985] else { [18:02:02.985] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:02.985] windows = "NUL", "/dev/null"), open = "w") [18:02:02.985] } [18:02:02.985] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:02.985] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:02.985] base::sink(type = "output", split = FALSE) [18:02:02.985] base::close(...future.stdout) [18:02:02.985] }, add = TRUE) [18:02:02.985] } [18:02:02.985] ...future.frame <- base::sys.nframe() [18:02:02.985] ...future.conditions <- base::list() [18:02:02.985] ...future.rng <- base::globalenv()$.Random.seed [18:02:02.985] if (FALSE) { [18:02:02.985] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:02.985] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:02.985] } [18:02:02.985] ...future.result <- base::tryCatch({ [18:02:02.985] base::withCallingHandlers({ [18:02:02.985] ...future.value <- base::withVisible(base::local({ [18:02:02.985] pkg [18:02:02.985] })) [18:02:02.985] future::FutureResult(value = ...future.value$value, [18:02:02.985] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.985] ...future.rng), globalenv = if (FALSE) [18:02:02.985] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:02.985] ...future.globalenv.names)) [18:02:02.985] else NULL, started = ...future.startTime, version = "1.8") [18:02:02.985] }, condition = base::local({ [18:02:02.985] c <- base::c [18:02:02.985] inherits <- base::inherits [18:02:02.985] invokeRestart <- base::invokeRestart [18:02:02.985] length <- base::length [18:02:02.985] list <- base::list [18:02:02.985] seq.int <- base::seq.int [18:02:02.985] signalCondition <- base::signalCondition [18:02:02.985] sys.calls <- base::sys.calls [18:02:02.985] `[[` <- base::`[[` [18:02:02.985] `+` <- base::`+` [18:02:02.985] `<<-` <- base::`<<-` [18:02:02.985] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:02.985] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:02.985] 3L)] [18:02:02.985] } [18:02:02.985] function(cond) { [18:02:02.985] is_error <- inherits(cond, "error") [18:02:02.985] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:02.985] NULL) [18:02:02.985] if (is_error) { [18:02:02.985] sessionInformation <- function() { [18:02:02.985] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:02.985] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:02.985] search = base::search(), system = base::Sys.info()) [18:02:02.985] } [18:02:02.985] ...future.conditions[[length(...future.conditions) + [18:02:02.985] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:02.985] cond$call), session = sessionInformation(), [18:02:02.985] timestamp = base::Sys.time(), signaled = 0L) [18:02:02.985] signalCondition(cond) [18:02:02.985] } [18:02:02.985] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:02.985] "immediateCondition"))) { [18:02:02.985] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:02.985] ...future.conditions[[length(...future.conditions) + [18:02:02.985] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:02.985] if (TRUE && !signal) { [18:02:02.985] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.985] { [18:02:02.985] inherits <- base::inherits [18:02:02.985] invokeRestart <- base::invokeRestart [18:02:02.985] is.null <- base::is.null [18:02:02.985] muffled <- FALSE [18:02:02.985] if (inherits(cond, "message")) { [18:02:02.985] muffled <- grepl(pattern, "muffleMessage") [18:02:02.985] if (muffled) [18:02:02.985] invokeRestart("muffleMessage") [18:02:02.985] } [18:02:02.985] else if (inherits(cond, "warning")) { [18:02:02.985] muffled <- grepl(pattern, "muffleWarning") [18:02:02.985] if (muffled) [18:02:02.985] invokeRestart("muffleWarning") [18:02:02.985] } [18:02:02.985] else if (inherits(cond, "condition")) { [18:02:02.985] if (!is.null(pattern)) { [18:02:02.985] computeRestarts <- base::computeRestarts [18:02:02.985] grepl <- base::grepl [18:02:02.985] restarts <- computeRestarts(cond) [18:02:02.985] for (restart in restarts) { [18:02:02.985] name <- restart$name [18:02:02.985] if (is.null(name)) [18:02:02.985] next [18:02:02.985] if (!grepl(pattern, name)) [18:02:02.985] next [18:02:02.985] invokeRestart(restart) [18:02:02.985] muffled <- TRUE [18:02:02.985] break [18:02:02.985] } [18:02:02.985] } [18:02:02.985] } [18:02:02.985] invisible(muffled) [18:02:02.985] } [18:02:02.985] muffleCondition(cond, pattern = "^muffle") [18:02:02.985] } [18:02:02.985] } [18:02:02.985] else { [18:02:02.985] if (TRUE) { [18:02:02.985] muffleCondition <- function (cond, pattern = "^muffle") [18:02:02.985] { [18:02:02.985] inherits <- base::inherits [18:02:02.985] invokeRestart <- base::invokeRestart [18:02:02.985] is.null <- base::is.null [18:02:02.985] muffled <- FALSE [18:02:02.985] if (inherits(cond, "message")) { [18:02:02.985] muffled <- grepl(pattern, "muffleMessage") [18:02:02.985] if (muffled) [18:02:02.985] invokeRestart("muffleMessage") [18:02:02.985] } [18:02:02.985] else if (inherits(cond, "warning")) { [18:02:02.985] muffled <- grepl(pattern, "muffleWarning") [18:02:02.985] if (muffled) [18:02:02.985] invokeRestart("muffleWarning") [18:02:02.985] } [18:02:02.985] else if (inherits(cond, "condition")) { [18:02:02.985] if (!is.null(pattern)) { [18:02:02.985] computeRestarts <- base::computeRestarts [18:02:02.985] grepl <- base::grepl [18:02:02.985] restarts <- computeRestarts(cond) [18:02:02.985] for (restart in restarts) { [18:02:02.985] name <- restart$name [18:02:02.985] if (is.null(name)) [18:02:02.985] next [18:02:02.985] if (!grepl(pattern, name)) [18:02:02.985] next [18:02:02.985] invokeRestart(restart) [18:02:02.985] muffled <- TRUE [18:02:02.985] break [18:02:02.985] } [18:02:02.985] } [18:02:02.985] } [18:02:02.985] invisible(muffled) [18:02:02.985] } [18:02:02.985] muffleCondition(cond, pattern = "^muffle") [18:02:02.985] } [18:02:02.985] } [18:02:02.985] } [18:02:02.985] })) [18:02:02.985] }, error = function(ex) { [18:02:02.985] base::structure(base::list(value = NULL, visible = NULL, [18:02:02.985] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:02.985] ...future.rng), started = ...future.startTime, [18:02:02.985] finished = Sys.time(), session_uuid = NA_character_, [18:02:02.985] version = "1.8"), class = "FutureResult") [18:02:02.985] }, finally = { [18:02:02.985] if (!identical(...future.workdir, getwd())) [18:02:02.985] setwd(...future.workdir) [18:02:02.985] { [18:02:02.985] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:02.985] ...future.oldOptions$nwarnings <- NULL [18:02:02.985] } [18:02:02.985] base::options(...future.oldOptions) [18:02:02.985] if (.Platform$OS.type == "windows") { [18:02:02.985] old_names <- names(...future.oldEnvVars) [18:02:02.985] envs <- base::Sys.getenv() [18:02:02.985] names <- names(envs) [18:02:02.985] common <- intersect(names, old_names) [18:02:02.985] added <- setdiff(names, old_names) [18:02:02.985] removed <- setdiff(old_names, names) [18:02:02.985] changed <- common[...future.oldEnvVars[common] != [18:02:02.985] envs[common]] [18:02:02.985] NAMES <- toupper(changed) [18:02:02.985] args <- list() [18:02:02.985] for (kk in seq_along(NAMES)) { [18:02:02.985] name <- changed[[kk]] [18:02:02.985] NAME <- NAMES[[kk]] [18:02:02.985] if (name != NAME && is.element(NAME, old_names)) [18:02:02.985] next [18:02:02.985] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.985] } [18:02:02.985] NAMES <- toupper(added) [18:02:02.985] for (kk in seq_along(NAMES)) { [18:02:02.985] name <- added[[kk]] [18:02:02.985] NAME <- NAMES[[kk]] [18:02:02.985] if (name != NAME && is.element(NAME, old_names)) [18:02:02.985] next [18:02:02.985] args[[name]] <- "" [18:02:02.985] } [18:02:02.985] NAMES <- toupper(removed) [18:02:02.985] for (kk in seq_along(NAMES)) { [18:02:02.985] name <- removed[[kk]] [18:02:02.985] NAME <- NAMES[[kk]] [18:02:02.985] if (name != NAME && is.element(NAME, old_names)) [18:02:02.985] next [18:02:02.985] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:02.985] } [18:02:02.985] if (length(args) > 0) [18:02:02.985] base::do.call(base::Sys.setenv, args = args) [18:02:02.985] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:02.985] } [18:02:02.985] else { [18:02:02.985] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:02.985] } [18:02:02.985] { [18:02:02.985] if (base::length(...future.futureOptionsAdded) > [18:02:02.985] 0L) { [18:02:02.985] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:02.985] base::names(opts) <- ...future.futureOptionsAdded [18:02:02.985] base::options(opts) [18:02:02.985] } [18:02:02.985] { [18:02:02.985] { [18:02:02.985] NULL [18:02:02.985] RNGkind("Mersenne-Twister") [18:02:02.985] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:02.985] inherits = FALSE) [18:02:02.985] } [18:02:02.985] options(future.plan = NULL) [18:02:02.985] if (is.na(NA_character_)) [18:02:02.985] Sys.unsetenv("R_FUTURE_PLAN") [18:02:02.985] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:02.985] future::plan(list(function (..., workers = availableCores(), [18:02:02.985] lazy = FALSE, rscript_libs = .libPaths(), [18:02:02.985] envir = parent.frame()) [18:02:02.985] { [18:02:02.985] if (is.function(workers)) [18:02:02.985] workers <- workers() [18:02:02.985] workers <- structure(as.integer(workers), [18:02:02.985] class = class(workers)) [18:02:02.985] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:02.985] workers >= 1) [18:02:02.985] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:02.985] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:02.985] } [18:02:02.985] future <- MultisessionFuture(..., workers = workers, [18:02:02.985] lazy = lazy, rscript_libs = rscript_libs, [18:02:02.985] envir = envir) [18:02:02.985] if (!future$lazy) [18:02:02.985] future <- run(future) [18:02:02.985] invisible(future) [18:02:02.985] }), .cleanup = FALSE, .init = FALSE) [18:02:02.985] } [18:02:02.985] } [18:02:02.985] } [18:02:02.985] }) [18:02:02.985] if (TRUE) { [18:02:02.985] base::sink(type = "output", split = FALSE) [18:02:02.985] if (TRUE) { [18:02:02.985] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:02.985] } [18:02:02.985] else { [18:02:02.985] ...future.result["stdout"] <- base::list(NULL) [18:02:02.985] } [18:02:02.985] base::close(...future.stdout) [18:02:02.985] ...future.stdout <- NULL [18:02:02.985] } [18:02:02.985] ...future.result$conditions <- ...future.conditions [18:02:02.985] ...future.result$finished <- base::Sys.time() [18:02:02.985] ...future.result [18:02:02.985] } [18:02:02.989] assign_globals() ... [18:02:02.989] List of 1 [18:02:02.989] $ pkg: chr "foo" [18:02:02.989] - attr(*, "where")=List of 1 [18:02:02.989] ..$ pkg: [18:02:02.989] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:02.989] - attr(*, "resolved")= logi TRUE [18:02:02.989] - attr(*, "total_size")= num 112 [18:02:02.992] - copied 'pkg' to environment [18:02:02.992] assign_globals() ... done [18:02:02.992] plan(): Setting new future strategy stack: [18:02:02.992] List of future strategies: [18:02:02.992] 1. sequential: [18:02:02.992] - args: function (..., envir = parent.frame()) [18:02:02.992] - tweaked: FALSE [18:02:02.992] - call: NULL [18:02:02.993] plan(): nbrOfWorkers() = 1 [18:02:02.994] plan(): Setting new future strategy stack: [18:02:02.994] List of future strategies: [18:02:02.994] 1. multisession: [18:02:02.994] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [18:02:02.994] - tweaked: FALSE [18:02:02.994] - call: plan(strategy) [18:02:02.997] plan(): nbrOfWorkers() = 2 [18:02:02.997] SequentialFuture started (and completed) value(f) = 'foo' Method for identifying globals: 'ordered' ... DONE Warning: 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' [18:02:02.998] getGlobalsAndPackages() ... Warning: 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' [18:02:02.998] Searching for globals... Warning: 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' [18:02:03.000] - globals found: [3] '{', '<-', '+' [18:02:03.000] Searching for globals ... DONE [18:02:03.001] Resolving globals: TRUE [18:02:03.001] Resolving any globals that are futures ... [18:02:03.001] - globals: [3] '{', '<-', '+' [18:02:03.001] Resolving any globals that are futures ... DONE [18:02:03.002] [18:02:03.002] [18:02:03.002] getGlobalsAndPackages() ... DONE [18:02:03.002] run() for 'Future' ... [18:02:03.002] - state: 'created' [18:02:03.003] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:03.016] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:03.016] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:03.016] - Field: 'node' [18:02:03.017] - Field: 'label' [18:02:03.017] - Field: 'local' [18:02:03.017] - Field: 'owner' [18:02:03.017] - Field: 'envir' [18:02:03.017] - Field: 'workers' [18:02:03.018] - Field: 'packages' [18:02:03.018] - Field: 'gc' [18:02:03.018] - Field: 'conditions' [18:02:03.018] - Field: 'persistent' [18:02:03.018] - Field: 'expr' [18:02:03.019] - Field: 'uuid' [18:02:03.019] - Field: 'seed' [18:02:03.019] - Field: 'version' [18:02:03.019] - Field: 'result' [18:02:03.019] - Field: 'asynchronous' [18:02:03.019] - Field: 'calls' [18:02:03.020] - Field: 'globals' [18:02:03.020] - Field: 'stdout' [18:02:03.020] - Field: 'earlySignal' [18:02:03.020] - Field: 'lazy' [18:02:03.020] - Field: 'state' [18:02:03.021] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:03.021] - Launch lazy future ... [18:02:03.021] Packages needed by the future expression (n = 0): [18:02:03.021] Packages needed by future strategies (n = 0): [18:02:03.022] { [18:02:03.022] { [18:02:03.022] { [18:02:03.022] ...future.startTime <- base::Sys.time() [18:02:03.022] { [18:02:03.022] { [18:02:03.022] { [18:02:03.022] { [18:02:03.022] base::local({ [18:02:03.022] has_future <- base::requireNamespace("future", [18:02:03.022] quietly = TRUE) [18:02:03.022] if (has_future) { [18:02:03.022] ns <- base::getNamespace("future") [18:02:03.022] version <- ns[[".package"]][["version"]] [18:02:03.022] if (is.null(version)) [18:02:03.022] version <- utils::packageVersion("future") [18:02:03.022] } [18:02:03.022] else { [18:02:03.022] version <- NULL [18:02:03.022] } [18:02:03.022] if (!has_future || version < "1.8.0") { [18:02:03.022] info <- base::c(r_version = base::gsub("R version ", [18:02:03.022] "", base::R.version$version.string), [18:02:03.022] platform = base::sprintf("%s (%s-bit)", [18:02:03.022] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:03.022] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:03.022] "release", "version")], collapse = " "), [18:02:03.022] hostname = base::Sys.info()[["nodename"]]) [18:02:03.022] info <- base::sprintf("%s: %s", base::names(info), [18:02:03.022] info) [18:02:03.022] info <- base::paste(info, collapse = "; ") [18:02:03.022] if (!has_future) { [18:02:03.022] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:03.022] info) [18:02:03.022] } [18:02:03.022] else { [18:02:03.022] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:03.022] info, version) [18:02:03.022] } [18:02:03.022] base::stop(msg) [18:02:03.022] } [18:02:03.022] }) [18:02:03.022] } [18:02:03.022] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:03.022] base::options(mc.cores = 1L) [18:02:03.022] } [18:02:03.022] options(future.plan = NULL) [18:02:03.022] Sys.unsetenv("R_FUTURE_PLAN") [18:02:03.022] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:03.022] } [18:02:03.022] ...future.workdir <- getwd() [18:02:03.022] } [18:02:03.022] ...future.oldOptions <- base::as.list(base::.Options) [18:02:03.022] ...future.oldEnvVars <- base::Sys.getenv() [18:02:03.022] } [18:02:03.022] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:03.022] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:03.022] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:03.022] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:03.022] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:03.022] future.stdout.windows.reencode = NULL, width = 80L) [18:02:03.022] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:03.022] base::names(...future.oldOptions)) [18:02:03.022] } [18:02:03.022] if (FALSE) { [18:02:03.022] } [18:02:03.022] else { [18:02:03.022] if (TRUE) { [18:02:03.022] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:03.022] open = "w") [18:02:03.022] } [18:02:03.022] else { [18:02:03.022] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:03.022] windows = "NUL", "/dev/null"), open = "w") [18:02:03.022] } [18:02:03.022] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:03.022] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:03.022] base::sink(type = "output", split = FALSE) [18:02:03.022] base::close(...future.stdout) [18:02:03.022] }, add = TRUE) [18:02:03.022] } [18:02:03.022] ...future.frame <- base::sys.nframe() [18:02:03.022] ...future.conditions <- base::list() [18:02:03.022] ...future.rng <- base::globalenv()$.Random.seed [18:02:03.022] if (FALSE) { [18:02:03.022] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:03.022] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:03.022] } [18:02:03.022] ...future.result <- base::tryCatch({ [18:02:03.022] base::withCallingHandlers({ [18:02:03.022] ...future.value <- base::withVisible(base::local({ [18:02:03.022] ...future.makeSendCondition <- local({ [18:02:03.022] sendCondition <- NULL [18:02:03.022] function(frame = 1L) { [18:02:03.022] if (is.function(sendCondition)) [18:02:03.022] return(sendCondition) [18:02:03.022] ns <- getNamespace("parallel") [18:02:03.022] if (exists("sendData", mode = "function", [18:02:03.022] envir = ns)) { [18:02:03.022] parallel_sendData <- get("sendData", mode = "function", [18:02:03.022] envir = ns) [18:02:03.022] envir <- sys.frame(frame) [18:02:03.022] master <- NULL [18:02:03.022] while (!identical(envir, .GlobalEnv) && [18:02:03.022] !identical(envir, emptyenv())) { [18:02:03.022] if (exists("master", mode = "list", envir = envir, [18:02:03.022] inherits = FALSE)) { [18:02:03.022] master <- get("master", mode = "list", [18:02:03.022] envir = envir, inherits = FALSE) [18:02:03.022] if (inherits(master, c("SOCKnode", [18:02:03.022] "SOCK0node"))) { [18:02:03.022] sendCondition <<- function(cond) { [18:02:03.022] data <- list(type = "VALUE", value = cond, [18:02:03.022] success = TRUE) [18:02:03.022] parallel_sendData(master, data) [18:02:03.022] } [18:02:03.022] return(sendCondition) [18:02:03.022] } [18:02:03.022] } [18:02:03.022] frame <- frame + 1L [18:02:03.022] envir <- sys.frame(frame) [18:02:03.022] } [18:02:03.022] } [18:02:03.022] sendCondition <<- function(cond) NULL [18:02:03.022] } [18:02:03.022] }) [18:02:03.022] withCallingHandlers({ [18:02:03.022] { [18:02:03.022] x <- 0 [18:02:03.022] x <- x + 1 [18:02:03.022] x [18:02:03.022] } [18:02:03.022] }, immediateCondition = function(cond) { [18:02:03.022] sendCondition <- ...future.makeSendCondition() [18:02:03.022] sendCondition(cond) [18:02:03.022] muffleCondition <- function (cond, pattern = "^muffle") [18:02:03.022] { [18:02:03.022] inherits <- base::inherits [18:02:03.022] invokeRestart <- base::invokeRestart [18:02:03.022] is.null <- base::is.null [18:02:03.022] muffled <- FALSE [18:02:03.022] if (inherits(cond, "message")) { [18:02:03.022] muffled <- grepl(pattern, "muffleMessage") [18:02:03.022] if (muffled) [18:02:03.022] invokeRestart("muffleMessage") [18:02:03.022] } [18:02:03.022] else if (inherits(cond, "warning")) { [18:02:03.022] muffled <- grepl(pattern, "muffleWarning") [18:02:03.022] if (muffled) [18:02:03.022] invokeRestart("muffleWarning") [18:02:03.022] } [18:02:03.022] else if (inherits(cond, "condition")) { [18:02:03.022] if (!is.null(pattern)) { [18:02:03.022] computeRestarts <- base::computeRestarts [18:02:03.022] grepl <- base::grepl [18:02:03.022] restarts <- computeRestarts(cond) [18:02:03.022] for (restart in restarts) { [18:02:03.022] name <- restart$name [18:02:03.022] if (is.null(name)) [18:02:03.022] next [18:02:03.022] if (!grepl(pattern, name)) [18:02:03.022] next [18:02:03.022] invokeRestart(restart) [18:02:03.022] muffled <- TRUE [18:02:03.022] break [18:02:03.022] } [18:02:03.022] } [18:02:03.022] } [18:02:03.022] invisible(muffled) [18:02:03.022] } [18:02:03.022] muffleCondition(cond) [18:02:03.022] }) [18:02:03.022] })) [18:02:03.022] future::FutureResult(value = ...future.value$value, [18:02:03.022] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:03.022] ...future.rng), globalenv = if (FALSE) [18:02:03.022] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:03.022] ...future.globalenv.names)) [18:02:03.022] else NULL, started = ...future.startTime, version = "1.8") [18:02:03.022] }, condition = base::local({ [18:02:03.022] c <- base::c [18:02:03.022] inherits <- base::inherits [18:02:03.022] invokeRestart <- base::invokeRestart [18:02:03.022] length <- base::length [18:02:03.022] list <- base::list [18:02:03.022] seq.int <- base::seq.int [18:02:03.022] signalCondition <- base::signalCondition [18:02:03.022] sys.calls <- base::sys.calls [18:02:03.022] `[[` <- base::`[[` [18:02:03.022] `+` <- base::`+` [18:02:03.022] `<<-` <- base::`<<-` [18:02:03.022] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:03.022] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:03.022] 3L)] [18:02:03.022] } [18:02:03.022] function(cond) { [18:02:03.022] is_error <- inherits(cond, "error") [18:02:03.022] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:03.022] NULL) [18:02:03.022] if (is_error) { [18:02:03.022] sessionInformation <- function() { [18:02:03.022] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:03.022] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:03.022] search = base::search(), system = base::Sys.info()) [18:02:03.022] } [18:02:03.022] ...future.conditions[[length(...future.conditions) + [18:02:03.022] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:03.022] cond$call), session = sessionInformation(), [18:02:03.022] timestamp = base::Sys.time(), signaled = 0L) [18:02:03.022] signalCondition(cond) [18:02:03.022] } [18:02:03.022] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:03.022] "immediateCondition"))) { [18:02:03.022] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:03.022] ...future.conditions[[length(...future.conditions) + [18:02:03.022] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:03.022] if (TRUE && !signal) { [18:02:03.022] muffleCondition <- function (cond, pattern = "^muffle") [18:02:03.022] { [18:02:03.022] inherits <- base::inherits [18:02:03.022] invokeRestart <- base::invokeRestart [18:02:03.022] is.null <- base::is.null [18:02:03.022] muffled <- FALSE [18:02:03.022] if (inherits(cond, "message")) { [18:02:03.022] muffled <- grepl(pattern, "muffleMessage") [18:02:03.022] if (muffled) [18:02:03.022] invokeRestart("muffleMessage") [18:02:03.022] } [18:02:03.022] else if (inherits(cond, "warning")) { [18:02:03.022] muffled <- grepl(pattern, "muffleWarning") [18:02:03.022] if (muffled) [18:02:03.022] invokeRestart("muffleWarning") [18:02:03.022] } [18:02:03.022] else if (inherits(cond, "condition")) { [18:02:03.022] if (!is.null(pattern)) { [18:02:03.022] computeRestarts <- base::computeRestarts [18:02:03.022] grepl <- base::grepl [18:02:03.022] restarts <- computeRestarts(cond) [18:02:03.022] for (restart in restarts) { [18:02:03.022] name <- restart$name [18:02:03.022] if (is.null(name)) [18:02:03.022] next [18:02:03.022] if (!grepl(pattern, name)) [18:02:03.022] next [18:02:03.022] invokeRestart(restart) [18:02:03.022] muffled <- TRUE [18:02:03.022] break [18:02:03.022] } [18:02:03.022] } [18:02:03.022] } [18:02:03.022] invisible(muffled) [18:02:03.022] } [18:02:03.022] muffleCondition(cond, pattern = "^muffle") [18:02:03.022] } [18:02:03.022] } [18:02:03.022] else { [18:02:03.022] if (TRUE) { [18:02:03.022] muffleCondition <- function (cond, pattern = "^muffle") [18:02:03.022] { [18:02:03.022] inherits <- base::inherits [18:02:03.022] invokeRestart <- base::invokeRestart [18:02:03.022] is.null <- base::is.null [18:02:03.022] muffled <- FALSE [18:02:03.022] if (inherits(cond, "message")) { [18:02:03.022] muffled <- grepl(pattern, "muffleMessage") [18:02:03.022] if (muffled) [18:02:03.022] invokeRestart("muffleMessage") [18:02:03.022] } [18:02:03.022] else if (inherits(cond, "warning")) { [18:02:03.022] muffled <- grepl(pattern, "muffleWarning") [18:02:03.022] if (muffled) [18:02:03.022] invokeRestart("muffleWarning") [18:02:03.022] } [18:02:03.022] else if (inherits(cond, "condition")) { [18:02:03.022] if (!is.null(pattern)) { [18:02:03.022] computeRestarts <- base::computeRestarts [18:02:03.022] grepl <- base::grepl [18:02:03.022] restarts <- computeRestarts(cond) [18:02:03.022] for (restart in restarts) { [18:02:03.022] name <- restart$name [18:02:03.022] if (is.null(name)) [18:02:03.022] next [18:02:03.022] if (!grepl(pattern, name)) [18:02:03.022] next [18:02:03.022] invokeRestart(restart) [18:02:03.022] muffled <- TRUE [18:02:03.022] break [18:02:03.022] } [18:02:03.022] } [18:02:03.022] } [18:02:03.022] invisible(muffled) [18:02:03.022] } [18:02:03.022] muffleCondition(cond, pattern = "^muffle") [18:02:03.022] } [18:02:03.022] } [18:02:03.022] } [18:02:03.022] })) [18:02:03.022] }, error = function(ex) { [18:02:03.022] base::structure(base::list(value = NULL, visible = NULL, [18:02:03.022] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:03.022] ...future.rng), started = ...future.startTime, [18:02:03.022] finished = Sys.time(), session_uuid = NA_character_, [18:02:03.022] version = "1.8"), class = "FutureResult") [18:02:03.022] }, finally = { [18:02:03.022] if (!identical(...future.workdir, getwd())) [18:02:03.022] setwd(...future.workdir) [18:02:03.022] { [18:02:03.022] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:03.022] ...future.oldOptions$nwarnings <- NULL [18:02:03.022] } [18:02:03.022] base::options(...future.oldOptions) [18:02:03.022] if (.Platform$OS.type == "windows") { [18:02:03.022] old_names <- names(...future.oldEnvVars) [18:02:03.022] envs <- base::Sys.getenv() [18:02:03.022] names <- names(envs) [18:02:03.022] common <- intersect(names, old_names) [18:02:03.022] added <- setdiff(names, old_names) [18:02:03.022] removed <- setdiff(old_names, names) [18:02:03.022] changed <- common[...future.oldEnvVars[common] != [18:02:03.022] envs[common]] [18:02:03.022] NAMES <- toupper(changed) [18:02:03.022] args <- list() [18:02:03.022] for (kk in seq_along(NAMES)) { [18:02:03.022] name <- changed[[kk]] [18:02:03.022] NAME <- NAMES[[kk]] [18:02:03.022] if (name != NAME && is.element(NAME, old_names)) [18:02:03.022] next [18:02:03.022] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:03.022] } [18:02:03.022] NAMES <- toupper(added) [18:02:03.022] for (kk in seq_along(NAMES)) { [18:02:03.022] name <- added[[kk]] [18:02:03.022] NAME <- NAMES[[kk]] [18:02:03.022] if (name != NAME && is.element(NAME, old_names)) [18:02:03.022] next [18:02:03.022] args[[name]] <- "" [18:02:03.022] } [18:02:03.022] NAMES <- toupper(removed) [18:02:03.022] for (kk in seq_along(NAMES)) { [18:02:03.022] name <- removed[[kk]] [18:02:03.022] NAME <- NAMES[[kk]] [18:02:03.022] if (name != NAME && is.element(NAME, old_names)) [18:02:03.022] next [18:02:03.022] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:03.022] } [18:02:03.022] if (length(args) > 0) [18:02:03.022] base::do.call(base::Sys.setenv, args = args) [18:02:03.022] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:03.022] } [18:02:03.022] else { [18:02:03.022] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:03.022] } [18:02:03.022] { [18:02:03.022] if (base::length(...future.futureOptionsAdded) > [18:02:03.022] 0L) { [18:02:03.022] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:03.022] base::names(opts) <- ...future.futureOptionsAdded [18:02:03.022] base::options(opts) [18:02:03.022] } [18:02:03.022] { [18:02:03.022] { [18:02:03.022] base::options(mc.cores = ...future.mc.cores.old) [18:02:03.022] NULL [18:02:03.022] } [18:02:03.022] options(future.plan = NULL) [18:02:03.022] if (is.na(NA_character_)) [18:02:03.022] Sys.unsetenv("R_FUTURE_PLAN") [18:02:03.022] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:03.022] future::plan(list(function (..., workers = availableCores(), [18:02:03.022] lazy = FALSE, rscript_libs = .libPaths(), [18:02:03.022] envir = parent.frame()) [18:02:03.022] { [18:02:03.022] if (is.function(workers)) [18:02:03.022] workers <- workers() [18:02:03.022] workers <- structure(as.integer(workers), [18:02:03.022] class = class(workers)) [18:02:03.022] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:03.022] workers >= 1) [18:02:03.022] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:03.022] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:03.022] } [18:02:03.022] future <- MultisessionFuture(..., workers = workers, [18:02:03.022] lazy = lazy, rscript_libs = rscript_libs, [18:02:03.022] envir = envir) [18:02:03.022] if (!future$lazy) [18:02:03.022] future <- run(future) [18:02:03.022] invisible(future) [18:02:03.022] }), .cleanup = FALSE, .init = FALSE) [18:02:03.022] } [18:02:03.022] } [18:02:03.022] } [18:02:03.022] }) [18:02:03.022] if (TRUE) { [18:02:03.022] base::sink(type = "output", split = FALSE) [18:02:03.022] if (TRUE) { [18:02:03.022] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:03.022] } [18:02:03.022] else { [18:02:03.022] ...future.result["stdout"] <- base::list(NULL) [18:02:03.022] } [18:02:03.022] base::close(...future.stdout) [18:02:03.022] ...future.stdout <- NULL [18:02:03.022] } [18:02:03.022] ...future.result$conditions <- ...future.conditions [18:02:03.022] ...future.result$finished <- base::Sys.time() [18:02:03.022] ...future.result [18:02:03.022] } [18:02:03.028] MultisessionFuture started [18:02:03.028] - Launch lazy future ... done [18:02:03.028] run() for 'MultisessionFuture' ... done [18:02:03.028] result() for ClusterFuture ... [18:02:03.028] receiveMessageFromWorker() for ClusterFuture ... [18:02:03.029] - Validating connection of MultisessionFuture [18:02:03.045] - received message: FutureResult [18:02:03.045] - Received FutureResult [18:02:03.046] - Erased future from FutureRegistry [18:02:03.046] result() for ClusterFuture ... [18:02:03.046] - result already collected: FutureResult [18:02:03.046] result() for ClusterFuture ... done [18:02:03.046] receiveMessageFromWorker() for ClusterFuture ... done [18:02:03.046] result() for ClusterFuture ... done [18:02:03.047] result() for ClusterFuture ... [18:02:03.047] - result already collected: FutureResult [18:02:03.047] result() for ClusterFuture ... done value(f) = '1' Warning: 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' [18:02:03.047] getGlobalsAndPackages() ... Warning: 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' [18:02:03.048] Searching for globals... Warning: 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' [18:02:03.050] - globals found: [4] '{', '<-', 'x', '+' [18:02:03.050] Searching for globals ... DONE [18:02:03.050] Resolving globals: TRUE [18:02:03.050] Resolving any globals that are futures ... [18:02:03.050] - globals: [4] '{', '<-', 'x', '+' [18:02:03.050] Resolving any globals that are futures ... DONE [18:02:03.051] Resolving futures part of globals (recursively) ... [18:02:03.051] resolve() on list ... [18:02:03.051] recursive: 99 [18:02:03.052] length: 1 [18:02:03.052] elements: 'x' [18:02:03.052] length: 0 (resolved future 1) [18:02:03.052] resolve() on list ... DONE [18:02:03.052] - globals: [1] 'x' [18:02:03.052] Resolving futures part of globals (recursively) ... DONE [18:02:03.053] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:03.053] 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') [18:02:03.053] - globals: [1] 'x' [18:02:03.053] [18:02:03.054] getGlobalsAndPackages() ... DONE [18:02:03.054] run() for 'Future' ... [18:02:03.054] - state: 'created' [18:02:03.054] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:03.068] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:03.068] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:03.068] - Field: 'node' [18:02:03.068] - Field: 'label' [18:02:03.069] - Field: 'local' [18:02:03.069] - Field: 'owner' [18:02:03.069] - Field: 'envir' [18:02:03.069] - Field: 'workers' [18:02:03.069] - Field: 'packages' [18:02:03.070] - Field: 'gc' [18:02:03.070] - Field: 'conditions' [18:02:03.070] - Field: 'persistent' [18:02:03.070] - Field: 'expr' [18:02:03.070] - Field: 'uuid' [18:02:03.071] - Field: 'seed' [18:02:03.071] - Field: 'version' [18:02:03.071] - Field: 'result' [18:02:03.071] - Field: 'asynchronous' [18:02:03.071] - Field: 'calls' [18:02:03.071] - Field: 'globals' [18:02:03.072] - Field: 'stdout' [18:02:03.072] - Field: 'earlySignal' [18:02:03.072] - Field: 'lazy' [18:02:03.072] - Field: 'state' [18:02:03.072] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:03.073] - Launch lazy future ... [18:02:03.073] Packages needed by the future expression (n = 0): [18:02:03.073] Packages needed by future strategies (n = 0): [18:02:03.074] { [18:02:03.074] { [18:02:03.074] { [18:02:03.074] ...future.startTime <- base::Sys.time() [18:02:03.074] { [18:02:03.074] { [18:02:03.074] { [18:02:03.074] { [18:02:03.074] base::local({ [18:02:03.074] has_future <- base::requireNamespace("future", [18:02:03.074] quietly = TRUE) [18:02:03.074] if (has_future) { [18:02:03.074] ns <- base::getNamespace("future") [18:02:03.074] version <- ns[[".package"]][["version"]] [18:02:03.074] if (is.null(version)) [18:02:03.074] version <- utils::packageVersion("future") [18:02:03.074] } [18:02:03.074] else { [18:02:03.074] version <- NULL [18:02:03.074] } [18:02:03.074] if (!has_future || version < "1.8.0") { [18:02:03.074] info <- base::c(r_version = base::gsub("R version ", [18:02:03.074] "", base::R.version$version.string), [18:02:03.074] platform = base::sprintf("%s (%s-bit)", [18:02:03.074] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:03.074] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:03.074] "release", "version")], collapse = " "), [18:02:03.074] hostname = base::Sys.info()[["nodename"]]) [18:02:03.074] info <- base::sprintf("%s: %s", base::names(info), [18:02:03.074] info) [18:02:03.074] info <- base::paste(info, collapse = "; ") [18:02:03.074] if (!has_future) { [18:02:03.074] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:03.074] info) [18:02:03.074] } [18:02:03.074] else { [18:02:03.074] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:03.074] info, version) [18:02:03.074] } [18:02:03.074] base::stop(msg) [18:02:03.074] } [18:02:03.074] }) [18:02:03.074] } [18:02:03.074] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:03.074] base::options(mc.cores = 1L) [18:02:03.074] } [18:02:03.074] options(future.plan = NULL) [18:02:03.074] Sys.unsetenv("R_FUTURE_PLAN") [18:02:03.074] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:03.074] } [18:02:03.074] ...future.workdir <- getwd() [18:02:03.074] } [18:02:03.074] ...future.oldOptions <- base::as.list(base::.Options) [18:02:03.074] ...future.oldEnvVars <- base::Sys.getenv() [18:02:03.074] } [18:02:03.074] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:03.074] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:03.074] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:03.074] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:03.074] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:03.074] future.stdout.windows.reencode = NULL, width = 80L) [18:02:03.074] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:03.074] base::names(...future.oldOptions)) [18:02:03.074] } [18:02:03.074] if (FALSE) { [18:02:03.074] } [18:02:03.074] else { [18:02:03.074] if (TRUE) { [18:02:03.074] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:03.074] open = "w") [18:02:03.074] } [18:02:03.074] else { [18:02:03.074] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:03.074] windows = "NUL", "/dev/null"), open = "w") [18:02:03.074] } [18:02:03.074] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:03.074] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:03.074] base::sink(type = "output", split = FALSE) [18:02:03.074] base::close(...future.stdout) [18:02:03.074] }, add = TRUE) [18:02:03.074] } [18:02:03.074] ...future.frame <- base::sys.nframe() [18:02:03.074] ...future.conditions <- base::list() [18:02:03.074] ...future.rng <- base::globalenv()$.Random.seed [18:02:03.074] if (FALSE) { [18:02:03.074] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:03.074] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:03.074] } [18:02:03.074] ...future.result <- base::tryCatch({ [18:02:03.074] base::withCallingHandlers({ [18:02:03.074] ...future.value <- base::withVisible(base::local({ [18:02:03.074] ...future.makeSendCondition <- local({ [18:02:03.074] sendCondition <- NULL [18:02:03.074] function(frame = 1L) { [18:02:03.074] if (is.function(sendCondition)) [18:02:03.074] return(sendCondition) [18:02:03.074] ns <- getNamespace("parallel") [18:02:03.074] if (exists("sendData", mode = "function", [18:02:03.074] envir = ns)) { [18:02:03.074] parallel_sendData <- get("sendData", mode = "function", [18:02:03.074] envir = ns) [18:02:03.074] envir <- sys.frame(frame) [18:02:03.074] master <- NULL [18:02:03.074] while (!identical(envir, .GlobalEnv) && [18:02:03.074] !identical(envir, emptyenv())) { [18:02:03.074] if (exists("master", mode = "list", envir = envir, [18:02:03.074] inherits = FALSE)) { [18:02:03.074] master <- get("master", mode = "list", [18:02:03.074] envir = envir, inherits = FALSE) [18:02:03.074] if (inherits(master, c("SOCKnode", [18:02:03.074] "SOCK0node"))) { [18:02:03.074] sendCondition <<- function(cond) { [18:02:03.074] data <- list(type = "VALUE", value = cond, [18:02:03.074] success = TRUE) [18:02:03.074] parallel_sendData(master, data) [18:02:03.074] } [18:02:03.074] return(sendCondition) [18:02:03.074] } [18:02:03.074] } [18:02:03.074] frame <- frame + 1L [18:02:03.074] envir <- sys.frame(frame) [18:02:03.074] } [18:02:03.074] } [18:02:03.074] sendCondition <<- function(cond) NULL [18:02:03.074] } [18:02:03.074] }) [18:02:03.074] withCallingHandlers({ [18:02:03.074] { [18:02:03.074] x <- x + 1 [18:02:03.074] x [18:02:03.074] } [18:02:03.074] }, immediateCondition = function(cond) { [18:02:03.074] sendCondition <- ...future.makeSendCondition() [18:02:03.074] sendCondition(cond) [18:02:03.074] muffleCondition <- function (cond, pattern = "^muffle") [18:02:03.074] { [18:02:03.074] inherits <- base::inherits [18:02:03.074] invokeRestart <- base::invokeRestart [18:02:03.074] is.null <- base::is.null [18:02:03.074] muffled <- FALSE [18:02:03.074] if (inherits(cond, "message")) { [18:02:03.074] muffled <- grepl(pattern, "muffleMessage") [18:02:03.074] if (muffled) [18:02:03.074] invokeRestart("muffleMessage") [18:02:03.074] } [18:02:03.074] else if (inherits(cond, "warning")) { [18:02:03.074] muffled <- grepl(pattern, "muffleWarning") [18:02:03.074] if (muffled) [18:02:03.074] invokeRestart("muffleWarning") [18:02:03.074] } [18:02:03.074] else if (inherits(cond, "condition")) { [18:02:03.074] if (!is.null(pattern)) { [18:02:03.074] computeRestarts <- base::computeRestarts [18:02:03.074] grepl <- base::grepl [18:02:03.074] restarts <- computeRestarts(cond) [18:02:03.074] for (restart in restarts) { [18:02:03.074] name <- restart$name [18:02:03.074] if (is.null(name)) [18:02:03.074] next [18:02:03.074] if (!grepl(pattern, name)) [18:02:03.074] next [18:02:03.074] invokeRestart(restart) [18:02:03.074] muffled <- TRUE [18:02:03.074] break [18:02:03.074] } [18:02:03.074] } [18:02:03.074] } [18:02:03.074] invisible(muffled) [18:02:03.074] } [18:02:03.074] muffleCondition(cond) [18:02:03.074] }) [18:02:03.074] })) [18:02:03.074] future::FutureResult(value = ...future.value$value, [18:02:03.074] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:03.074] ...future.rng), globalenv = if (FALSE) [18:02:03.074] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:03.074] ...future.globalenv.names)) [18:02:03.074] else NULL, started = ...future.startTime, version = "1.8") [18:02:03.074] }, condition = base::local({ [18:02:03.074] c <- base::c [18:02:03.074] inherits <- base::inherits [18:02:03.074] invokeRestart <- base::invokeRestart [18:02:03.074] length <- base::length [18:02:03.074] list <- base::list [18:02:03.074] seq.int <- base::seq.int [18:02:03.074] signalCondition <- base::signalCondition [18:02:03.074] sys.calls <- base::sys.calls [18:02:03.074] `[[` <- base::`[[` [18:02:03.074] `+` <- base::`+` [18:02:03.074] `<<-` <- base::`<<-` [18:02:03.074] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:03.074] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:03.074] 3L)] [18:02:03.074] } [18:02:03.074] function(cond) { [18:02:03.074] is_error <- inherits(cond, "error") [18:02:03.074] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:03.074] NULL) [18:02:03.074] if (is_error) { [18:02:03.074] sessionInformation <- function() { [18:02:03.074] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:03.074] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:03.074] search = base::search(), system = base::Sys.info()) [18:02:03.074] } [18:02:03.074] ...future.conditions[[length(...future.conditions) + [18:02:03.074] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:03.074] cond$call), session = sessionInformation(), [18:02:03.074] timestamp = base::Sys.time(), signaled = 0L) [18:02:03.074] signalCondition(cond) [18:02:03.074] } [18:02:03.074] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:03.074] "immediateCondition"))) { [18:02:03.074] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:03.074] ...future.conditions[[length(...future.conditions) + [18:02:03.074] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:03.074] if (TRUE && !signal) { [18:02:03.074] muffleCondition <- function (cond, pattern = "^muffle") [18:02:03.074] { [18:02:03.074] inherits <- base::inherits [18:02:03.074] invokeRestart <- base::invokeRestart [18:02:03.074] is.null <- base::is.null [18:02:03.074] muffled <- FALSE [18:02:03.074] if (inherits(cond, "message")) { [18:02:03.074] muffled <- grepl(pattern, "muffleMessage") [18:02:03.074] if (muffled) [18:02:03.074] invokeRestart("muffleMessage") [18:02:03.074] } [18:02:03.074] else if (inherits(cond, "warning")) { [18:02:03.074] muffled <- grepl(pattern, "muffleWarning") [18:02:03.074] if (muffled) [18:02:03.074] invokeRestart("muffleWarning") [18:02:03.074] } [18:02:03.074] else if (inherits(cond, "condition")) { [18:02:03.074] if (!is.null(pattern)) { [18:02:03.074] computeRestarts <- base::computeRestarts [18:02:03.074] grepl <- base::grepl [18:02:03.074] restarts <- computeRestarts(cond) [18:02:03.074] for (restart in restarts) { [18:02:03.074] name <- restart$name [18:02:03.074] if (is.null(name)) [18:02:03.074] next [18:02:03.074] if (!grepl(pattern, name)) [18:02:03.074] next [18:02:03.074] invokeRestart(restart) [18:02:03.074] muffled <- TRUE [18:02:03.074] break [18:02:03.074] } [18:02:03.074] } [18:02:03.074] } [18:02:03.074] invisible(muffled) [18:02:03.074] } [18:02:03.074] muffleCondition(cond, pattern = "^muffle") [18:02:03.074] } [18:02:03.074] } [18:02:03.074] else { [18:02:03.074] if (TRUE) { [18:02:03.074] muffleCondition <- function (cond, pattern = "^muffle") [18:02:03.074] { [18:02:03.074] inherits <- base::inherits [18:02:03.074] invokeRestart <- base::invokeRestart [18:02:03.074] is.null <- base::is.null [18:02:03.074] muffled <- FALSE [18:02:03.074] if (inherits(cond, "message")) { [18:02:03.074] muffled <- grepl(pattern, "muffleMessage") [18:02:03.074] if (muffled) [18:02:03.074] invokeRestart("muffleMessage") [18:02:03.074] } [18:02:03.074] else if (inherits(cond, "warning")) { [18:02:03.074] muffled <- grepl(pattern, "muffleWarning") [18:02:03.074] if (muffled) [18:02:03.074] invokeRestart("muffleWarning") [18:02:03.074] } [18:02:03.074] else if (inherits(cond, "condition")) { [18:02:03.074] if (!is.null(pattern)) { [18:02:03.074] computeRestarts <- base::computeRestarts [18:02:03.074] grepl <- base::grepl [18:02:03.074] restarts <- computeRestarts(cond) [18:02:03.074] for (restart in restarts) { [18:02:03.074] name <- restart$name [18:02:03.074] if (is.null(name)) [18:02:03.074] next [18:02:03.074] if (!grepl(pattern, name)) [18:02:03.074] next [18:02:03.074] invokeRestart(restart) [18:02:03.074] muffled <- TRUE [18:02:03.074] break [18:02:03.074] } [18:02:03.074] } [18:02:03.074] } [18:02:03.074] invisible(muffled) [18:02:03.074] } [18:02:03.074] muffleCondition(cond, pattern = "^muffle") [18:02:03.074] } [18:02:03.074] } [18:02:03.074] } [18:02:03.074] })) [18:02:03.074] }, error = function(ex) { [18:02:03.074] base::structure(base::list(value = NULL, visible = NULL, [18:02:03.074] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:03.074] ...future.rng), started = ...future.startTime, [18:02:03.074] finished = Sys.time(), session_uuid = NA_character_, [18:02:03.074] version = "1.8"), class = "FutureResult") [18:02:03.074] }, finally = { [18:02:03.074] if (!identical(...future.workdir, getwd())) [18:02:03.074] setwd(...future.workdir) [18:02:03.074] { [18:02:03.074] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:03.074] ...future.oldOptions$nwarnings <- NULL [18:02:03.074] } [18:02:03.074] base::options(...future.oldOptions) [18:02:03.074] if (.Platform$OS.type == "windows") { [18:02:03.074] old_names <- names(...future.oldEnvVars) [18:02:03.074] envs <- base::Sys.getenv() [18:02:03.074] names <- names(envs) [18:02:03.074] common <- intersect(names, old_names) [18:02:03.074] added <- setdiff(names, old_names) [18:02:03.074] removed <- setdiff(old_names, names) [18:02:03.074] changed <- common[...future.oldEnvVars[common] != [18:02:03.074] envs[common]] [18:02:03.074] NAMES <- toupper(changed) [18:02:03.074] args <- list() [18:02:03.074] for (kk in seq_along(NAMES)) { [18:02:03.074] name <- changed[[kk]] [18:02:03.074] NAME <- NAMES[[kk]] [18:02:03.074] if (name != NAME && is.element(NAME, old_names)) [18:02:03.074] next [18:02:03.074] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:03.074] } [18:02:03.074] NAMES <- toupper(added) [18:02:03.074] for (kk in seq_along(NAMES)) { [18:02:03.074] name <- added[[kk]] [18:02:03.074] NAME <- NAMES[[kk]] [18:02:03.074] if (name != NAME && is.element(NAME, old_names)) [18:02:03.074] next [18:02:03.074] args[[name]] <- "" [18:02:03.074] } [18:02:03.074] NAMES <- toupper(removed) [18:02:03.074] for (kk in seq_along(NAMES)) { [18:02:03.074] name <- removed[[kk]] [18:02:03.074] NAME <- NAMES[[kk]] [18:02:03.074] if (name != NAME && is.element(NAME, old_names)) [18:02:03.074] next [18:02:03.074] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:03.074] } [18:02:03.074] if (length(args) > 0) [18:02:03.074] base::do.call(base::Sys.setenv, args = args) [18:02:03.074] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:03.074] } [18:02:03.074] else { [18:02:03.074] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:03.074] } [18:02:03.074] { [18:02:03.074] if (base::length(...future.futureOptionsAdded) > [18:02:03.074] 0L) { [18:02:03.074] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:03.074] base::names(opts) <- ...future.futureOptionsAdded [18:02:03.074] base::options(opts) [18:02:03.074] } [18:02:03.074] { [18:02:03.074] { [18:02:03.074] base::options(mc.cores = ...future.mc.cores.old) [18:02:03.074] NULL [18:02:03.074] } [18:02:03.074] options(future.plan = NULL) [18:02:03.074] if (is.na(NA_character_)) [18:02:03.074] Sys.unsetenv("R_FUTURE_PLAN") [18:02:03.074] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:03.074] future::plan(list(function (..., workers = availableCores(), [18:02:03.074] lazy = FALSE, rscript_libs = .libPaths(), [18:02:03.074] envir = parent.frame()) [18:02:03.074] { [18:02:03.074] if (is.function(workers)) [18:02:03.074] workers <- workers() [18:02:03.074] workers <- structure(as.integer(workers), [18:02:03.074] class = class(workers)) [18:02:03.074] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:03.074] workers >= 1) [18:02:03.074] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:03.074] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:03.074] } [18:02:03.074] future <- MultisessionFuture(..., workers = workers, [18:02:03.074] lazy = lazy, rscript_libs = rscript_libs, [18:02:03.074] envir = envir) [18:02:03.074] if (!future$lazy) [18:02:03.074] future <- run(future) [18:02:03.074] invisible(future) [18:02:03.074] }), .cleanup = FALSE, .init = FALSE) [18:02:03.074] } [18:02:03.074] } [18:02:03.074] } [18:02:03.074] }) [18:02:03.074] if (TRUE) { [18:02:03.074] base::sink(type = "output", split = FALSE) [18:02:03.074] if (TRUE) { [18:02:03.074] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:03.074] } [18:02:03.074] else { [18:02:03.074] ...future.result["stdout"] <- base::list(NULL) [18:02:03.074] } [18:02:03.074] base::close(...future.stdout) [18:02:03.074] ...future.stdout <- NULL [18:02:03.074] } [18:02:03.074] ...future.result$conditions <- ...future.conditions [18:02:03.074] ...future.result$finished <- base::Sys.time() [18:02:03.074] ...future.result [18:02:03.074] } [18:02:03.081] Exporting 1 global objects (56 bytes) to cluster node #1 ... [18:02:03.082] Exporting 'x' (56 bytes) to cluster node #1 ... [18:02:03.082] Exporting 'x' (56 bytes) to cluster node #1 ... DONE [18:02:03.082] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [18:02:03.083] MultisessionFuture started [18:02:03.083] - Launch lazy future ... done [18:02:03.083] run() for 'MultisessionFuture' ... done [18:02:03.083] result() for ClusterFuture ... [18:02:03.084] receiveMessageFromWorker() for ClusterFuture ... [18:02:03.084] - Validating connection of MultisessionFuture [18:02:03.100] - received message: FutureResult [18:02:03.101] - Received FutureResult [18:02:03.101] - Erased future from FutureRegistry [18:02:03.101] result() for ClusterFuture ... [18:02:03.101] - result already collected: FutureResult [18:02:03.101] result() for ClusterFuture ... done [18:02:03.101] receiveMessageFromWorker() for ClusterFuture ... done [18:02:03.102] result() for ClusterFuture ... done [18:02:03.102] result() for ClusterFuture ... [18:02:03.102] - result already collected: FutureResult [18:02:03.102] result() for ClusterFuture ... done value(f) = '2' Warning: 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' [18:02:03.103] getGlobalsAndPackages() ... Warning: 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' [18:02:03.103] Searching for globals... Warning: 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' [18:02:03.105] - globals found: [3] '{', '<-', 'x' [18:02:03.105] Searching for globals ... DONE [18:02:03.105] Resolving globals: TRUE [18:02:03.105] Resolving any globals that are futures ... [18:02:03.106] - globals: [3] '{', '<-', 'x' [18:02:03.106] Resolving any globals that are futures ... DONE [18:02:03.106] Resolving futures part of globals (recursively) ... [18:02:03.107] resolve() on list ... [18:02:03.107] recursive: 99 [18:02:03.107] length: 1 [18:02:03.107] elements: 'x' [18:02:03.107] length: 0 (resolved future 1) [18:02:03.107] resolve() on list ... DONE [18:02:03.108] - globals: [1] 'x' [18:02:03.108] Resolving futures part of globals (recursively) ... DONE [18:02:03.108] The total size of the 1 globals is 1.01 KiB (1032 bytes) [18:02:03.108] 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') [18:02:03.109] - globals: [1] 'x' [18:02:03.109] [18:02:03.109] getGlobalsAndPackages() ... DONE [18:02:03.109] run() for 'Future' ... [18:02:03.109] - state: 'created' [18:02:03.110] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:03.123] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:03.124] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:03.124] - Field: 'node' [18:02:03.124] - Field: 'label' [18:02:03.124] - Field: 'local' [18:02:03.124] - Field: 'owner' [18:02:03.125] - Field: 'envir' [18:02:03.125] - Field: 'workers' [18:02:03.125] - Field: 'packages' [18:02:03.125] - Field: 'gc' [18:02:03.125] - Field: 'conditions' [18:02:03.125] - Field: 'persistent' [18:02:03.126] - Field: 'expr' [18:02:03.126] - Field: 'uuid' [18:02:03.126] - Field: 'seed' [18:02:03.126] - Field: 'version' [18:02:03.126] - Field: 'result' [18:02:03.126] - Field: 'asynchronous' [18:02:03.127] - Field: 'calls' [18:02:03.127] - Field: 'globals' [18:02:03.127] - Field: 'stdout' [18:02:03.127] - Field: 'earlySignal' [18:02:03.127] - Field: 'lazy' [18:02:03.128] - Field: 'state' [18:02:03.128] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:03.128] - Launch lazy future ... [18:02:03.128] Packages needed by the future expression (n = 0): [18:02:03.128] Packages needed by future strategies (n = 0): [18:02:03.129] { [18:02:03.129] { [18:02:03.129] { [18:02:03.129] ...future.startTime <- base::Sys.time() [18:02:03.129] { [18:02:03.129] { [18:02:03.129] { [18:02:03.129] { [18:02:03.129] base::local({ [18:02:03.129] has_future <- base::requireNamespace("future", [18:02:03.129] quietly = TRUE) [18:02:03.129] if (has_future) { [18:02:03.129] ns <- base::getNamespace("future") [18:02:03.129] version <- ns[[".package"]][["version"]] [18:02:03.129] if (is.null(version)) [18:02:03.129] version <- utils::packageVersion("future") [18:02:03.129] } [18:02:03.129] else { [18:02:03.129] version <- NULL [18:02:03.129] } [18:02:03.129] if (!has_future || version < "1.8.0") { [18:02:03.129] info <- base::c(r_version = base::gsub("R version ", [18:02:03.129] "", base::R.version$version.string), [18:02:03.129] platform = base::sprintf("%s (%s-bit)", [18:02:03.129] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:03.129] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:03.129] "release", "version")], collapse = " "), [18:02:03.129] hostname = base::Sys.info()[["nodename"]]) [18:02:03.129] info <- base::sprintf("%s: %s", base::names(info), [18:02:03.129] info) [18:02:03.129] info <- base::paste(info, collapse = "; ") [18:02:03.129] if (!has_future) { [18:02:03.129] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:03.129] info) [18:02:03.129] } [18:02:03.129] else { [18:02:03.129] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:03.129] info, version) [18:02:03.129] } [18:02:03.129] base::stop(msg) [18:02:03.129] } [18:02:03.129] }) [18:02:03.129] } [18:02:03.129] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:03.129] base::options(mc.cores = 1L) [18:02:03.129] } [18:02:03.129] options(future.plan = NULL) [18:02:03.129] Sys.unsetenv("R_FUTURE_PLAN") [18:02:03.129] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:03.129] } [18:02:03.129] ...future.workdir <- getwd() [18:02:03.129] } [18:02:03.129] ...future.oldOptions <- base::as.list(base::.Options) [18:02:03.129] ...future.oldEnvVars <- base::Sys.getenv() [18:02:03.129] } [18:02:03.129] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:02:03.129] future.globals.maxSize = NULL, future.globals.method = "ordered", [18:02:03.129] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:02:03.129] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:02:03.129] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:03.129] future.stdout.windows.reencode = NULL, width = 80L) [18:02:03.129] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:03.129] base::names(...future.oldOptions)) [18:02:03.129] } [18:02:03.129] if (FALSE) { [18:02:03.129] } [18:02:03.129] else { [18:02:03.129] if (TRUE) { [18:02:03.129] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:03.129] open = "w") [18:02:03.129] } [18:02:03.129] else { [18:02:03.129] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:03.129] windows = "NUL", "/dev/null"), open = "w") [18:02:03.129] } [18:02:03.129] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:03.129] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:03.129] base::sink(type = "output", split = FALSE) [18:02:03.129] base::close(...future.stdout) [18:02:03.129] }, add = TRUE) [18:02:03.129] } [18:02:03.129] ...future.frame <- base::sys.nframe() [18:02:03.129] ...future.conditions <- base::list() [18:02:03.129] ...future.rng <- base::globalenv()$.Random.seed [18:02:03.129] if (FALSE) { [18:02:03.129] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:03.129] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:03.129] } [18:02:03.129] ...future.result <- base::tryCatch({ [18:02:03.129] base::withCallingHandlers({ [18:02:03.129] ...future.value <- base::withVisible(base::local({ [18:02:03.129] ...future.makeSendCondition <- local({ [18:02:03.129] sendCondition <- NULL [18:02:03.129] function(frame = 1L) { [18:02:03.129] if (is.function(sendCondition)) [18:02:03.129] return(sendCondition) [18:02:03.129] ns <- getNamespace("parallel") [18:02:03.129] if (exists("sendData", mode = "function", [18:02:03.129] envir = ns)) { [18:02:03.129] parallel_sendData <- get("sendData", mode = "function", [18:02:03.129] envir = ns) [18:02:03.129] envir <- sys.frame(frame) [18:02:03.129] master <- NULL [18:02:03.129] while (!identical(envir, .GlobalEnv) && [18:02:03.129] !identical(envir, emptyenv())) { [18:02:03.129] if (exists("master", mode = "list", envir = envir, [18:02:03.129] inherits = FALSE)) { [18:02:03.129] master <- get("master", mode = "list", [18:02:03.129] envir = envir, inherits = FALSE) [18:02:03.129] if (inherits(master, c("SOCKnode", [18:02:03.129] "SOCK0node"))) { [18:02:03.129] sendCondition <<- function(cond) { [18:02:03.129] data <- list(type = "VALUE", value = cond, [18:02:03.129] success = TRUE) [18:02:03.129] parallel_sendData(master, data) [18:02:03.129] } [18:02:03.129] return(sendCondition) [18:02:03.129] } [18:02:03.129] } [18:02:03.129] frame <- frame + 1L [18:02:03.129] envir <- sys.frame(frame) [18:02:03.129] } [18:02:03.129] } [18:02:03.129] sendCondition <<- function(cond) NULL [18:02:03.129] } [18:02:03.129] }) [18:02:03.129] withCallingHandlers({ [18:02:03.129] { [18:02:03.129] x <- x() [18:02:03.129] x [18:02:03.129] } [18:02:03.129] }, immediateCondition = function(cond) { [18:02:03.129] sendCondition <- ...future.makeSendCondition() [18:02:03.129] sendCondition(cond) [18:02:03.129] muffleCondition <- function (cond, pattern = "^muffle") [18:02:03.129] { [18:02:03.129] inherits <- base::inherits [18:02:03.129] invokeRestart <- base::invokeRestart [18:02:03.129] is.null <- base::is.null [18:02:03.129] muffled <- FALSE [18:02:03.129] if (inherits(cond, "message")) { [18:02:03.129] muffled <- grepl(pattern, "muffleMessage") [18:02:03.129] if (muffled) [18:02:03.129] invokeRestart("muffleMessage") [18:02:03.129] } [18:02:03.129] else if (inherits(cond, "warning")) { [18:02:03.129] muffled <- grepl(pattern, "muffleWarning") [18:02:03.129] if (muffled) [18:02:03.129] invokeRestart("muffleWarning") [18:02:03.129] } [18:02:03.129] else if (inherits(cond, "condition")) { [18:02:03.129] if (!is.null(pattern)) { [18:02:03.129] computeRestarts <- base::computeRestarts [18:02:03.129] grepl <- base::grepl [18:02:03.129] restarts <- computeRestarts(cond) [18:02:03.129] for (restart in restarts) { [18:02:03.129] name <- restart$name [18:02:03.129] if (is.null(name)) [18:02:03.129] next [18:02:03.129] if (!grepl(pattern, name)) [18:02:03.129] next [18:02:03.129] invokeRestart(restart) [18:02:03.129] muffled <- TRUE [18:02:03.129] break [18:02:03.129] } [18:02:03.129] } [18:02:03.129] } [18:02:03.129] invisible(muffled) [18:02:03.129] } [18:02:03.129] muffleCondition(cond) [18:02:03.129] }) [18:02:03.129] })) [18:02:03.129] future::FutureResult(value = ...future.value$value, [18:02:03.129] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:03.129] ...future.rng), globalenv = if (FALSE) [18:02:03.129] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:03.129] ...future.globalenv.names)) [18:02:03.129] else NULL, started = ...future.startTime, version = "1.8") [18:02:03.129] }, condition = base::local({ [18:02:03.129] c <- base::c [18:02:03.129] inherits <- base::inherits [18:02:03.129] invokeRestart <- base::invokeRestart [18:02:03.129] length <- base::length [18:02:03.129] list <- base::list [18:02:03.129] seq.int <- base::seq.int [18:02:03.129] signalCondition <- base::signalCondition [18:02:03.129] sys.calls <- base::sys.calls [18:02:03.129] `[[` <- base::`[[` [18:02:03.129] `+` <- base::`+` [18:02:03.129] `<<-` <- base::`<<-` [18:02:03.129] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:03.129] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:03.129] 3L)] [18:02:03.129] } [18:02:03.129] function(cond) { [18:02:03.129] is_error <- inherits(cond, "error") [18:02:03.129] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:03.129] NULL) [18:02:03.129] if (is_error) { [18:02:03.129] sessionInformation <- function() { [18:02:03.129] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:03.129] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:03.129] search = base::search(), system = base::Sys.info()) [18:02:03.129] } [18:02:03.129] ...future.conditions[[length(...future.conditions) + [18:02:03.129] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:03.129] cond$call), session = sessionInformation(), [18:02:03.129] timestamp = base::Sys.time(), signaled = 0L) [18:02:03.129] signalCondition(cond) [18:02:03.129] } [18:02:03.129] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:03.129] "immediateCondition"))) { [18:02:03.129] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:03.129] ...future.conditions[[length(...future.conditions) + [18:02:03.129] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:03.129] if (TRUE && !signal) { [18:02:03.129] muffleCondition <- function (cond, pattern = "^muffle") [18:02:03.129] { [18:02:03.129] inherits <- base::inherits [18:02:03.129] invokeRestart <- base::invokeRestart [18:02:03.129] is.null <- base::is.null [18:02:03.129] muffled <- FALSE [18:02:03.129] if (inherits(cond, "message")) { [18:02:03.129] muffled <- grepl(pattern, "muffleMessage") [18:02:03.129] if (muffled) [18:02:03.129] invokeRestart("muffleMessage") [18:02:03.129] } [18:02:03.129] else if (inherits(cond, "warning")) { [18:02:03.129] muffled <- grepl(pattern, "muffleWarning") [18:02:03.129] if (muffled) [18:02:03.129] invokeRestart("muffleWarning") [18:02:03.129] } [18:02:03.129] else if (inherits(cond, "condition")) { [18:02:03.129] if (!is.null(pattern)) { [18:02:03.129] computeRestarts <- base::computeRestarts [18:02:03.129] grepl <- base::grepl [18:02:03.129] restarts <- computeRestarts(cond) [18:02:03.129] for (restart in restarts) { [18:02:03.129] name <- restart$name [18:02:03.129] if (is.null(name)) [18:02:03.129] next [18:02:03.129] if (!grepl(pattern, name)) [18:02:03.129] next [18:02:03.129] invokeRestart(restart) [18:02:03.129] muffled <- TRUE [18:02:03.129] break [18:02:03.129] } [18:02:03.129] } [18:02:03.129] } [18:02:03.129] invisible(muffled) [18:02:03.129] } [18:02:03.129] muffleCondition(cond, pattern = "^muffle") [18:02:03.129] } [18:02:03.129] } [18:02:03.129] else { [18:02:03.129] if (TRUE) { [18:02:03.129] muffleCondition <- function (cond, pattern = "^muffle") [18:02:03.129] { [18:02:03.129] inherits <- base::inherits [18:02:03.129] invokeRestart <- base::invokeRestart [18:02:03.129] is.null <- base::is.null [18:02:03.129] muffled <- FALSE [18:02:03.129] if (inherits(cond, "message")) { [18:02:03.129] muffled <- grepl(pattern, "muffleMessage") [18:02:03.129] if (muffled) [18:02:03.129] invokeRestart("muffleMessage") [18:02:03.129] } [18:02:03.129] else if (inherits(cond, "warning")) { [18:02:03.129] muffled <- grepl(pattern, "muffleWarning") [18:02:03.129] if (muffled) [18:02:03.129] invokeRestart("muffleWarning") [18:02:03.129] } [18:02:03.129] else if (inherits(cond, "condition")) { [18:02:03.129] if (!is.null(pattern)) { [18:02:03.129] computeRestarts <- base::computeRestarts [18:02:03.129] grepl <- base::grepl [18:02:03.129] restarts <- computeRestarts(cond) [18:02:03.129] for (restart in restarts) { [18:02:03.129] name <- restart$name [18:02:03.129] if (is.null(name)) [18:02:03.129] next [18:02:03.129] if (!grepl(pattern, name)) [18:02:03.129] next [18:02:03.129] invokeRestart(restart) [18:02:03.129] muffled <- TRUE [18:02:03.129] break [18:02:03.129] } [18:02:03.129] } [18:02:03.129] } [18:02:03.129] invisible(muffled) [18:02:03.129] } [18:02:03.129] muffleCondition(cond, pattern = "^muffle") [18:02:03.129] } [18:02:03.129] } [18:02:03.129] } [18:02:03.129] })) [18:02:03.129] }, error = function(ex) { [18:02:03.129] base::structure(base::list(value = NULL, visible = NULL, [18:02:03.129] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:03.129] ...future.rng), started = ...future.startTime, [18:02:03.129] finished = Sys.time(), session_uuid = NA_character_, [18:02:03.129] version = "1.8"), class = "FutureResult") [18:02:03.129] }, finally = { [18:02:03.129] if (!identical(...future.workdir, getwd())) [18:02:03.129] setwd(...future.workdir) [18:02:03.129] { [18:02:03.129] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:03.129] ...future.oldOptions$nwarnings <- NULL [18:02:03.129] } [18:02:03.129] base::options(...future.oldOptions) [18:02:03.129] if (.Platform$OS.type == "windows") { [18:02:03.129] old_names <- names(...future.oldEnvVars) [18:02:03.129] envs <- base::Sys.getenv() [18:02:03.129] names <- names(envs) [18:02:03.129] common <- intersect(names, old_names) [18:02:03.129] added <- setdiff(names, old_names) [18:02:03.129] removed <- setdiff(old_names, names) [18:02:03.129] changed <- common[...future.oldEnvVars[common] != [18:02:03.129] envs[common]] [18:02:03.129] NAMES <- toupper(changed) [18:02:03.129] args <- list() [18:02:03.129] for (kk in seq_along(NAMES)) { [18:02:03.129] name <- changed[[kk]] [18:02:03.129] NAME <- NAMES[[kk]] [18:02:03.129] if (name != NAME && is.element(NAME, old_names)) [18:02:03.129] next [18:02:03.129] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:03.129] } [18:02:03.129] NAMES <- toupper(added) [18:02:03.129] for (kk in seq_along(NAMES)) { [18:02:03.129] name <- added[[kk]] [18:02:03.129] NAME <- NAMES[[kk]] [18:02:03.129] if (name != NAME && is.element(NAME, old_names)) [18:02:03.129] next [18:02:03.129] args[[name]] <- "" [18:02:03.129] } [18:02:03.129] NAMES <- toupper(removed) [18:02:03.129] for (kk in seq_along(NAMES)) { [18:02:03.129] name <- removed[[kk]] [18:02:03.129] NAME <- NAMES[[kk]] [18:02:03.129] if (name != NAME && is.element(NAME, old_names)) [18:02:03.129] next [18:02:03.129] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:03.129] } [18:02:03.129] if (length(args) > 0) [18:02:03.129] base::do.call(base::Sys.setenv, args = args) [18:02:03.129] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:03.129] } [18:02:03.129] else { [18:02:03.129] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:03.129] } [18:02:03.129] { [18:02:03.129] if (base::length(...future.futureOptionsAdded) > [18:02:03.129] 0L) { [18:02:03.129] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:03.129] base::names(opts) <- ...future.futureOptionsAdded [18:02:03.129] base::options(opts) [18:02:03.129] } [18:02:03.129] { [18:02:03.129] { [18:02:03.129] base::options(mc.cores = ...future.mc.cores.old) [18:02:03.129] NULL [18:02:03.129] } [18:02:03.129] options(future.plan = NULL) [18:02:03.129] if (is.na(NA_character_)) [18:02:03.129] Sys.unsetenv("R_FUTURE_PLAN") [18:02:03.129] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:03.129] future::plan(list(function (..., workers = availableCores(), [18:02:03.129] lazy = FALSE, rscript_libs = .libPaths(), [18:02:03.129] envir = parent.frame()) [18:02:03.129] { [18:02:03.129] if (is.function(workers)) [18:02:03.129] workers <- workers() [18:02:03.129] workers <- structure(as.integer(workers), [18:02:03.129] class = class(workers)) [18:02:03.129] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:03.129] workers >= 1) [18:02:03.129] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:03.129] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:03.129] } [18:02:03.129] future <- MultisessionFuture(..., workers = workers, [18:02:03.129] lazy = lazy, rscript_libs = rscript_libs, [18:02:03.129] envir = envir) [18:02:03.129] if (!future$lazy) [18:02:03.129] future <- run(future) [18:02:03.129] invisible(future) [18:02:03.129] }), .cleanup = FALSE, .init = FALSE) [18:02:03.129] } [18:02:03.129] } [18:02:03.129] } [18:02:03.129] }) [18:02:03.129] if (TRUE) { [18:02:03.129] base::sink(type = "output", split = FALSE) [18:02:03.129] if (TRUE) { [18:02:03.129] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:03.129] } [18:02:03.129] else { [18:02:03.129] ...future.result["stdout"] <- base::list(NULL) [18:02:03.129] } [18:02:03.129] base::close(...future.stdout) [18:02:03.129] ...future.stdout <- NULL [18:02:03.129] } [18:02:03.129] ...future.result$conditions <- ...future.conditions [18:02:03.129] ...future.result$finished <- base::Sys.time() [18:02:03.129] ...future.result [18:02:03.129] } [18:02:03.134] Exporting 1 global objects (1.01 KiB) to cluster node #1 ... [18:02:03.134] Exporting 'x' (1.01 KiB) to cluster node #1 ... [18:02:03.135] Exporting 'x' (1.01 KiB) to cluster node #1 ... DONE [18:02:03.135] Exporting 1 global objects (1.01 KiB) to cluster node #1 ... DONE [18:02:03.136] MultisessionFuture started [18:02:03.136] - Launch lazy future ... done [18:02:03.136] run() for 'MultisessionFuture' ... done [18:02:03.136] result() for ClusterFuture ... [18:02:03.136] receiveMessageFromWorker() for ClusterFuture ... [18:02:03.137] - Validating connection of MultisessionFuture [18:02:03.153] - received message: FutureResult [18:02:03.154] - Received FutureResult [18:02:03.154] - Erased future from FutureRegistry [18:02:03.154] result() for ClusterFuture ... [18:02:03.154] - result already collected: FutureResult [18:02:03.154] result() for ClusterFuture ... done [18:02:03.154] receiveMessageFromWorker() for ClusterFuture ... done [18:02:03.155] result() for ClusterFuture ... done [18:02:03.155] result() for ClusterFuture ... [18:02:03.155] - result already collected: FutureResult [18:02:03.155] 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") [18:02:03.156] plan(): Setting new future strategy stack: [18:02:03.156] List of future strategies: [18:02:03.156] 1. FutureStrategy: [18:02:03.156] - args: function (..., envir = parent.frame()) [18:02:03.156] - tweaked: FALSE [18:02:03.156] - call: future::plan(oplan) [18:02:03.157] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=201] '!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', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RETICULATE_AUTOCONFIGURE', 'RTOOLS43_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_RTOOLS43_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_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_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_SUBDIRS_STRICT_', '_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_INSTALL_TIME_PATCHES_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', '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.67 0.20 4.20