R Under development (unstable) (2023-12-20 r85713 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") [01:27:33.704] plan(): Setting new future strategy stack: [01:27:33.706] List of future strategies: [01:27:33.706] 1. sequential: [01:27:33.706] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.706] - tweaked: FALSE [01:27:33.706] - call: future::plan("sequential") [01:27:33.726] plan(): nbrOfWorkers() = 1 > > message("*** futureAssign() ...") *** futureAssign() ... > > message("*** futureAssign() - sequential w/ lazy evaluation ...") *** futureAssign() - sequential w/ lazy evaluation ... > > delayedAssign("a", { + cat("Delayed assignment evaluated\n") + 1 + }) > > futureAssign("b", { + cat("Future assignment evaluated\n") + 2 + }, lazy = TRUE) [01:27:33.735] getGlobalsAndPackages() ... [01:27:33.736] Searching for globals... [01:27:33.745] - globals found: [2] '{', 'cat' [01:27:33.746] Searching for globals ... DONE [01:27:33.746] Resolving globals: FALSE [01:27:33.747] [01:27:33.747] [01:27:33.747] getGlobalsAndPackages() ... DONE > > ## Because "lazy future" is used, the expression/value > ## for 'b' will not be resolved at the point. For other > ## types of futures, it may already have been resolved > cat(sprintf("b = %s\n", b)) [01:27:33.749] run() for 'Future' ... [01:27:33.749] - state: 'created' [01:27:33.749] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:33.750] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:33.750] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:33.750] - Field: 'label' [01:27:33.751] - Field: 'local' [01:27:33.751] - Field: 'owner' [01:27:33.751] - Field: 'envir' [01:27:33.751] - Field: 'packages' [01:27:33.752] - Field: 'gc' [01:27:33.752] - Field: 'conditions' [01:27:33.752] - Field: 'expr' [01:27:33.752] - Field: 'uuid' [01:27:33.753] - Field: 'seed' [01:27:33.753] - Field: 'version' [01:27:33.753] - Field: 'result' [01:27:33.753] - Field: 'asynchronous' [01:27:33.753] - Field: 'calls' [01:27:33.754] - Field: 'globals' [01:27:33.754] - Field: 'stdout' [01:27:33.754] - Field: 'earlySignal' [01:27:33.754] - Field: 'lazy' [01:27:33.754] - Field: 'state' [01:27:33.755] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:33.755] - Launch lazy future ... [01:27:33.756] Packages needed by the future expression (n = 0): [01:27:33.756] Packages needed by future strategies (n = 0): [01:27:33.758] { [01:27:33.758] { [01:27:33.758] { [01:27:33.758] ...future.startTime <- base::Sys.time() [01:27:33.758] { [01:27:33.758] { [01:27:33.758] { [01:27:33.758] base::local({ [01:27:33.758] has_future <- base::requireNamespace("future", [01:27:33.758] quietly = TRUE) [01:27:33.758] if (has_future) { [01:27:33.758] ns <- base::getNamespace("future") [01:27:33.758] version <- ns[[".package"]][["version"]] [01:27:33.758] if (is.null(version)) [01:27:33.758] version <- utils::packageVersion("future") [01:27:33.758] } [01:27:33.758] else { [01:27:33.758] version <- NULL [01:27:33.758] } [01:27:33.758] if (!has_future || version < "1.8.0") { [01:27:33.758] info <- base::c(r_version = base::gsub("R version ", [01:27:33.758] "", base::R.version$version.string), [01:27:33.758] platform = base::sprintf("%s (%s-bit)", [01:27:33.758] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:33.758] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:33.758] "release", "version")], collapse = " "), [01:27:33.758] hostname = base::Sys.info()[["nodename"]]) [01:27:33.758] info <- base::sprintf("%s: %s", base::names(info), [01:27:33.758] info) [01:27:33.758] info <- base::paste(info, collapse = "; ") [01:27:33.758] if (!has_future) { [01:27:33.758] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:33.758] info) [01:27:33.758] } [01:27:33.758] else { [01:27:33.758] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:33.758] info, version) [01:27:33.758] } [01:27:33.758] base::stop(msg) [01:27:33.758] } [01:27:33.758] }) [01:27:33.758] } [01:27:33.758] options(future.plan = NULL) [01:27:33.758] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.758] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:33.758] } [01:27:33.758] ...future.workdir <- getwd() [01:27:33.758] } [01:27:33.758] ...future.oldOptions <- base::as.list(base::.Options) [01:27:33.758] ...future.oldEnvVars <- base::Sys.getenv() [01:27:33.758] } [01:27:33.758] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:33.758] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:33.758] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:33.758] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:33.758] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:33.758] future.stdout.windows.reencode = NULL, width = 80L) [01:27:33.758] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:33.758] base::names(...future.oldOptions)) [01:27:33.758] } [01:27:33.758] if (FALSE) { [01:27:33.758] } [01:27:33.758] else { [01:27:33.758] if (TRUE) { [01:27:33.758] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:33.758] open = "w") [01:27:33.758] } [01:27:33.758] else { [01:27:33.758] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:33.758] windows = "NUL", "/dev/null"), open = "w") [01:27:33.758] } [01:27:33.758] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:33.758] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:33.758] base::sink(type = "output", split = FALSE) [01:27:33.758] base::close(...future.stdout) [01:27:33.758] }, add = TRUE) [01:27:33.758] } [01:27:33.758] ...future.frame <- base::sys.nframe() [01:27:33.758] ...future.conditions <- base::list() [01:27:33.758] ...future.rng <- base::globalenv()$.Random.seed [01:27:33.758] if (FALSE) { [01:27:33.758] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:33.758] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:33.758] } [01:27:33.758] ...future.result <- base::tryCatch({ [01:27:33.758] base::withCallingHandlers({ [01:27:33.758] ...future.value <- base::withVisible(base::local({ [01:27:33.758] cat("Future assignment evaluated\n") [01:27:33.758] 2 [01:27:33.758] })) [01:27:33.758] future::FutureResult(value = ...future.value$value, [01:27:33.758] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.758] ...future.rng), globalenv = if (FALSE) [01:27:33.758] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:33.758] ...future.globalenv.names)) [01:27:33.758] else NULL, started = ...future.startTime, version = "1.8") [01:27:33.758] }, condition = base::local({ [01:27:33.758] c <- base::c [01:27:33.758] inherits <- base::inherits [01:27:33.758] invokeRestart <- base::invokeRestart [01:27:33.758] length <- base::length [01:27:33.758] list <- base::list [01:27:33.758] seq.int <- base::seq.int [01:27:33.758] signalCondition <- base::signalCondition [01:27:33.758] sys.calls <- base::sys.calls [01:27:33.758] `[[` <- base::`[[` [01:27:33.758] `+` <- base::`+` [01:27:33.758] `<<-` <- base::`<<-` [01:27:33.758] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:33.758] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:33.758] 3L)] [01:27:33.758] } [01:27:33.758] function(cond) { [01:27:33.758] is_error <- inherits(cond, "error") [01:27:33.758] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:33.758] NULL) [01:27:33.758] if (is_error) { [01:27:33.758] sessionInformation <- function() { [01:27:33.758] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:33.758] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:33.758] search = base::search(), system = base::Sys.info()) [01:27:33.758] } [01:27:33.758] ...future.conditions[[length(...future.conditions) + [01:27:33.758] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:33.758] cond$call), session = sessionInformation(), [01:27:33.758] timestamp = base::Sys.time(), signaled = 0L) [01:27:33.758] signalCondition(cond) [01:27:33.758] } [01:27:33.758] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:33.758] "immediateCondition"))) { [01:27:33.758] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:33.758] ...future.conditions[[length(...future.conditions) + [01:27:33.758] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:33.758] if (TRUE && !signal) { [01:27:33.758] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.758] { [01:27:33.758] inherits <- base::inherits [01:27:33.758] invokeRestart <- base::invokeRestart [01:27:33.758] is.null <- base::is.null [01:27:33.758] muffled <- FALSE [01:27:33.758] if (inherits(cond, "message")) { [01:27:33.758] muffled <- grepl(pattern, "muffleMessage") [01:27:33.758] if (muffled) [01:27:33.758] invokeRestart("muffleMessage") [01:27:33.758] } [01:27:33.758] else if (inherits(cond, "warning")) { [01:27:33.758] muffled <- grepl(pattern, "muffleWarning") [01:27:33.758] if (muffled) [01:27:33.758] invokeRestart("muffleWarning") [01:27:33.758] } [01:27:33.758] else if (inherits(cond, "condition")) { [01:27:33.758] if (!is.null(pattern)) { [01:27:33.758] computeRestarts <- base::computeRestarts [01:27:33.758] grepl <- base::grepl [01:27:33.758] restarts <- computeRestarts(cond) [01:27:33.758] for (restart in restarts) { [01:27:33.758] name <- restart$name [01:27:33.758] if (is.null(name)) [01:27:33.758] next [01:27:33.758] if (!grepl(pattern, name)) [01:27:33.758] next [01:27:33.758] invokeRestart(restart) [01:27:33.758] muffled <- TRUE [01:27:33.758] break [01:27:33.758] } [01:27:33.758] } [01:27:33.758] } [01:27:33.758] invisible(muffled) [01:27:33.758] } [01:27:33.758] muffleCondition(cond, pattern = "^muffle") [01:27:33.758] } [01:27:33.758] } [01:27:33.758] else { [01:27:33.758] if (TRUE) { [01:27:33.758] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.758] { [01:27:33.758] inherits <- base::inherits [01:27:33.758] invokeRestart <- base::invokeRestart [01:27:33.758] is.null <- base::is.null [01:27:33.758] muffled <- FALSE [01:27:33.758] if (inherits(cond, "message")) { [01:27:33.758] muffled <- grepl(pattern, "muffleMessage") [01:27:33.758] if (muffled) [01:27:33.758] invokeRestart("muffleMessage") [01:27:33.758] } [01:27:33.758] else if (inherits(cond, "warning")) { [01:27:33.758] muffled <- grepl(pattern, "muffleWarning") [01:27:33.758] if (muffled) [01:27:33.758] invokeRestart("muffleWarning") [01:27:33.758] } [01:27:33.758] else if (inherits(cond, "condition")) { [01:27:33.758] if (!is.null(pattern)) { [01:27:33.758] computeRestarts <- base::computeRestarts [01:27:33.758] grepl <- base::grepl [01:27:33.758] restarts <- computeRestarts(cond) [01:27:33.758] for (restart in restarts) { [01:27:33.758] name <- restart$name [01:27:33.758] if (is.null(name)) [01:27:33.758] next [01:27:33.758] if (!grepl(pattern, name)) [01:27:33.758] next [01:27:33.758] invokeRestart(restart) [01:27:33.758] muffled <- TRUE [01:27:33.758] break [01:27:33.758] } [01:27:33.758] } [01:27:33.758] } [01:27:33.758] invisible(muffled) [01:27:33.758] } [01:27:33.758] muffleCondition(cond, pattern = "^muffle") [01:27:33.758] } [01:27:33.758] } [01:27:33.758] } [01:27:33.758] })) [01:27:33.758] }, error = function(ex) { [01:27:33.758] base::structure(base::list(value = NULL, visible = NULL, [01:27:33.758] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.758] ...future.rng), started = ...future.startTime, [01:27:33.758] finished = Sys.time(), session_uuid = NA_character_, [01:27:33.758] version = "1.8"), class = "FutureResult") [01:27:33.758] }, finally = { [01:27:33.758] if (!identical(...future.workdir, getwd())) [01:27:33.758] setwd(...future.workdir) [01:27:33.758] { [01:27:33.758] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:33.758] ...future.oldOptions$nwarnings <- NULL [01:27:33.758] } [01:27:33.758] base::options(...future.oldOptions) [01:27:33.758] if (.Platform$OS.type == "windows") { [01:27:33.758] old_names <- names(...future.oldEnvVars) [01:27:33.758] envs <- base::Sys.getenv() [01:27:33.758] names <- names(envs) [01:27:33.758] common <- intersect(names, old_names) [01:27:33.758] added <- setdiff(names, old_names) [01:27:33.758] removed <- setdiff(old_names, names) [01:27:33.758] changed <- common[...future.oldEnvVars[common] != [01:27:33.758] envs[common]] [01:27:33.758] NAMES <- toupper(changed) [01:27:33.758] args <- list() [01:27:33.758] for (kk in seq_along(NAMES)) { [01:27:33.758] name <- changed[[kk]] [01:27:33.758] NAME <- NAMES[[kk]] [01:27:33.758] if (name != NAME && is.element(NAME, old_names)) [01:27:33.758] next [01:27:33.758] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.758] } [01:27:33.758] NAMES <- toupper(added) [01:27:33.758] for (kk in seq_along(NAMES)) { [01:27:33.758] name <- added[[kk]] [01:27:33.758] NAME <- NAMES[[kk]] [01:27:33.758] if (name != NAME && is.element(NAME, old_names)) [01:27:33.758] next [01:27:33.758] args[[name]] <- "" [01:27:33.758] } [01:27:33.758] NAMES <- toupper(removed) [01:27:33.758] for (kk in seq_along(NAMES)) { [01:27:33.758] name <- removed[[kk]] [01:27:33.758] NAME <- NAMES[[kk]] [01:27:33.758] if (name != NAME && is.element(NAME, old_names)) [01:27:33.758] next [01:27:33.758] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.758] } [01:27:33.758] if (length(args) > 0) [01:27:33.758] base::do.call(base::Sys.setenv, args = args) [01:27:33.758] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:33.758] } [01:27:33.758] else { [01:27:33.758] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:33.758] } [01:27:33.758] { [01:27:33.758] if (base::length(...future.futureOptionsAdded) > [01:27:33.758] 0L) { [01:27:33.758] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:33.758] base::names(opts) <- ...future.futureOptionsAdded [01:27:33.758] base::options(opts) [01:27:33.758] } [01:27:33.758] { [01:27:33.758] { [01:27:33.758] NULL [01:27:33.758] RNGkind("Mersenne-Twister") [01:27:33.758] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:33.758] inherits = FALSE) [01:27:33.758] } [01:27:33.758] options(future.plan = NULL) [01:27:33.758] if (is.na(NA_character_)) [01:27:33.758] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.758] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:33.758] future::plan(list(function (..., envir = parent.frame()) [01:27:33.758] { [01:27:33.758] future <- SequentialFuture(..., envir = envir) [01:27:33.758] if (!future$lazy) [01:27:33.758] future <- run(future) [01:27:33.758] invisible(future) [01:27:33.758] }), .cleanup = FALSE, .init = FALSE) [01:27:33.758] } [01:27:33.758] } [01:27:33.758] } [01:27:33.758] }) [01:27:33.758] if (TRUE) { [01:27:33.758] base::sink(type = "output", split = FALSE) [01:27:33.758] if (TRUE) { [01:27:33.758] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:33.758] } [01:27:33.758] else { [01:27:33.758] ...future.result["stdout"] <- base::list(NULL) [01:27:33.758] } [01:27:33.758] base::close(...future.stdout) [01:27:33.758] ...future.stdout <- NULL [01:27:33.758] } [01:27:33.758] ...future.result$conditions <- ...future.conditions [01:27:33.758] ...future.result$finished <- base::Sys.time() [01:27:33.758] ...future.result [01:27:33.758] } [01:27:33.763] plan(): Setting new future strategy stack: [01:27:33.763] List of future strategies: [01:27:33.763] 1. sequential: [01:27:33.763] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.763] - tweaked: FALSE [01:27:33.763] - call: NULL [01:27:33.764] plan(): nbrOfWorkers() = 1 [01:27:33.766] plan(): Setting new future strategy stack: [01:27:33.766] List of future strategies: [01:27:33.766] 1. sequential: [01:27:33.766] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.766] - tweaked: FALSE [01:27:33.766] - call: future::plan("sequential") [01:27:33.767] plan(): nbrOfWorkers() = 1 [01:27:33.767] SequentialFuture started (and completed) [01:27:33.768] - Launch lazy future ... done [01:27:33.768] run() for 'SequentialFuture' ... done Future assignment evaluated b = 2 > > ## The expression/value of 'a' is resolved at this point, > ## because a delayed assignment (promise) was used. > cat(sprintf("a = %s\n", a)) Delayed assignment evaluated a = 1 > > stopifnot(identical(a, 1)) > stopifnot(identical(b, 2)) > > message("*** futureAssign() - sequential w/ lazy evaluation ... DONE") *** futureAssign() - sequential w/ lazy evaluation ... DONE > > > message("*** futureAssign() - lazy = TRUE / FALSE ...") *** futureAssign() - lazy = TRUE / FALSE ... > > 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) + + for (strategy in supportedStrategies(cores)) { + message(sprintf("*** futureAssign() with %s futures ...", sQuote(strategy))) + plan(strategy) + + ## Potential task name clashes + u <- new.env() + v <- new.env() + futureAssign("a", { 2 }, assign.env = u) + futureAssign("a", { 4 }, assign.env = v) + + cat(sprintf("u$a = %s\n", u$a)) + cat(sprintf("v$a = %s\n", v$a)) + + stopifnot(identical(u$a, 2)) + stopifnot(identical(v$a, 4)) + + + ## Global variables + a <- 1 + futureAssign("b", { 2 * a }) + a <- 2 + stopifnot(b == 2) + + ## Explicit lazy evaluation + for (lazy in c(FALSE, TRUE)) { + a <- 1 + f <- futureAssign("b", { 2 * a }, lazy = lazy) + a <- 2 + stopifnot(b == 2) + stopifnot(f$lazy == lazy || (strategy %in% c("multisession", "multicore") && cores == 1L)) + + ## Set 'lazy' via disposable option + options(future.disposable = list(lazy = lazy)) + a <- 1 + f <- futureAssign("b", { 2 * a }) + a <- 2 + stopifnot(b == 2) + stopifnot(f$lazy == lazy || (strategy %in% c("multisession", "multicore") && cores == 1L)) + } + + message(sprintf("*** futureAssign() with %s futures ... DONE", sQuote(strategy))) + } # for (strategy in ...) + + message(sprintf("Testing with %d cores ... DONE", cores)) + } ## for (cores ...) Testing with 1 cores ... *** futureAssign() with 'sequential' futures ... [01:27:33.815] plan(): Setting new future strategy stack: [01:27:33.815] List of future strategies: [01:27:33.815] 1. sequential: [01:27:33.815] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.815] - tweaked: FALSE [01:27:33.815] - call: plan(strategy) [01:27:33.832] plan(): nbrOfWorkers() = 1 [01:27:33.833] getGlobalsAndPackages() ... [01:27:33.833] Searching for globals... [01:27:33.834] - globals found: [1] '{' [01:27:33.834] Searching for globals ... DONE [01:27:33.834] Resolving globals: FALSE [01:27:33.836] [01:27:33.836] [01:27:33.836] getGlobalsAndPackages() ... DONE [01:27:33.837] run() for 'Future' ... [01:27:33.837] - state: 'created' [01:27:33.837] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:33.838] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:33.838] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:33.838] - Field: 'label' [01:27:33.839] - Field: 'local' [01:27:33.839] - Field: 'owner' [01:27:33.839] - Field: 'envir' [01:27:33.839] - Field: 'packages' [01:27:33.839] - Field: 'gc' [01:27:33.840] - Field: 'conditions' [01:27:33.840] - Field: 'expr' [01:27:33.840] - Field: 'uuid' [01:27:33.840] - Field: 'seed' [01:27:33.841] - Field: 'version' [01:27:33.841] - Field: 'result' [01:27:33.841] - Field: 'asynchronous' [01:27:33.841] - Field: 'calls' [01:27:33.841] - Field: 'globals' [01:27:33.842] - Field: 'stdout' [01:27:33.842] - Field: 'earlySignal' [01:27:33.842] - Field: 'lazy' [01:27:33.842] - Field: 'state' [01:27:33.842] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:33.843] - Launch lazy future ... [01:27:33.843] Packages needed by the future expression (n = 0): [01:27:33.843] Packages needed by future strategies (n = 0): [01:27:33.844] { [01:27:33.844] { [01:27:33.844] { [01:27:33.844] ...future.startTime <- base::Sys.time() [01:27:33.844] { [01:27:33.844] { [01:27:33.844] { [01:27:33.844] base::local({ [01:27:33.844] has_future <- base::requireNamespace("future", [01:27:33.844] quietly = TRUE) [01:27:33.844] if (has_future) { [01:27:33.844] ns <- base::getNamespace("future") [01:27:33.844] version <- ns[[".package"]][["version"]] [01:27:33.844] if (is.null(version)) [01:27:33.844] version <- utils::packageVersion("future") [01:27:33.844] } [01:27:33.844] else { [01:27:33.844] version <- NULL [01:27:33.844] } [01:27:33.844] if (!has_future || version < "1.8.0") { [01:27:33.844] info <- base::c(r_version = base::gsub("R version ", [01:27:33.844] "", base::R.version$version.string), [01:27:33.844] platform = base::sprintf("%s (%s-bit)", [01:27:33.844] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:33.844] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:33.844] "release", "version")], collapse = " "), [01:27:33.844] hostname = base::Sys.info()[["nodename"]]) [01:27:33.844] info <- base::sprintf("%s: %s", base::names(info), [01:27:33.844] info) [01:27:33.844] info <- base::paste(info, collapse = "; ") [01:27:33.844] if (!has_future) { [01:27:33.844] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:33.844] info) [01:27:33.844] } [01:27:33.844] else { [01:27:33.844] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:33.844] info, version) [01:27:33.844] } [01:27:33.844] base::stop(msg) [01:27:33.844] } [01:27:33.844] }) [01:27:33.844] } [01:27:33.844] options(future.plan = NULL) [01:27:33.844] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.844] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:33.844] } [01:27:33.844] ...future.workdir <- getwd() [01:27:33.844] } [01:27:33.844] ...future.oldOptions <- base::as.list(base::.Options) [01:27:33.844] ...future.oldEnvVars <- base::Sys.getenv() [01:27:33.844] } [01:27:33.844] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:33.844] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:33.844] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:33.844] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:33.844] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:33.844] future.stdout.windows.reencode = NULL, width = 80L) [01:27:33.844] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:33.844] base::names(...future.oldOptions)) [01:27:33.844] } [01:27:33.844] if (FALSE) { [01:27:33.844] } [01:27:33.844] else { [01:27:33.844] if (TRUE) { [01:27:33.844] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:33.844] open = "w") [01:27:33.844] } [01:27:33.844] else { [01:27:33.844] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:33.844] windows = "NUL", "/dev/null"), open = "w") [01:27:33.844] } [01:27:33.844] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:33.844] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:33.844] base::sink(type = "output", split = FALSE) [01:27:33.844] base::close(...future.stdout) [01:27:33.844] }, add = TRUE) [01:27:33.844] } [01:27:33.844] ...future.frame <- base::sys.nframe() [01:27:33.844] ...future.conditions <- base::list() [01:27:33.844] ...future.rng <- base::globalenv()$.Random.seed [01:27:33.844] if (FALSE) { [01:27:33.844] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:33.844] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:33.844] } [01:27:33.844] ...future.result <- base::tryCatch({ [01:27:33.844] base::withCallingHandlers({ [01:27:33.844] ...future.value <- base::withVisible(base::local({ [01:27:33.844] 2 [01:27:33.844] })) [01:27:33.844] future::FutureResult(value = ...future.value$value, [01:27:33.844] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.844] ...future.rng), globalenv = if (FALSE) [01:27:33.844] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:33.844] ...future.globalenv.names)) [01:27:33.844] else NULL, started = ...future.startTime, version = "1.8") [01:27:33.844] }, condition = base::local({ [01:27:33.844] c <- base::c [01:27:33.844] inherits <- base::inherits [01:27:33.844] invokeRestart <- base::invokeRestart [01:27:33.844] length <- base::length [01:27:33.844] list <- base::list [01:27:33.844] seq.int <- base::seq.int [01:27:33.844] signalCondition <- base::signalCondition [01:27:33.844] sys.calls <- base::sys.calls [01:27:33.844] `[[` <- base::`[[` [01:27:33.844] `+` <- base::`+` [01:27:33.844] `<<-` <- base::`<<-` [01:27:33.844] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:33.844] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:33.844] 3L)] [01:27:33.844] } [01:27:33.844] function(cond) { [01:27:33.844] is_error <- inherits(cond, "error") [01:27:33.844] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:33.844] NULL) [01:27:33.844] if (is_error) { [01:27:33.844] sessionInformation <- function() { [01:27:33.844] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:33.844] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:33.844] search = base::search(), system = base::Sys.info()) [01:27:33.844] } [01:27:33.844] ...future.conditions[[length(...future.conditions) + [01:27:33.844] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:33.844] cond$call), session = sessionInformation(), [01:27:33.844] timestamp = base::Sys.time(), signaled = 0L) [01:27:33.844] signalCondition(cond) [01:27:33.844] } [01:27:33.844] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:33.844] "immediateCondition"))) { [01:27:33.844] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:33.844] ...future.conditions[[length(...future.conditions) + [01:27:33.844] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:33.844] if (TRUE && !signal) { [01:27:33.844] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.844] { [01:27:33.844] inherits <- base::inherits [01:27:33.844] invokeRestart <- base::invokeRestart [01:27:33.844] is.null <- base::is.null [01:27:33.844] muffled <- FALSE [01:27:33.844] if (inherits(cond, "message")) { [01:27:33.844] muffled <- grepl(pattern, "muffleMessage") [01:27:33.844] if (muffled) [01:27:33.844] invokeRestart("muffleMessage") [01:27:33.844] } [01:27:33.844] else if (inherits(cond, "warning")) { [01:27:33.844] muffled <- grepl(pattern, "muffleWarning") [01:27:33.844] if (muffled) [01:27:33.844] invokeRestart("muffleWarning") [01:27:33.844] } [01:27:33.844] else if (inherits(cond, "condition")) { [01:27:33.844] if (!is.null(pattern)) { [01:27:33.844] computeRestarts <- base::computeRestarts [01:27:33.844] grepl <- base::grepl [01:27:33.844] restarts <- computeRestarts(cond) [01:27:33.844] for (restart in restarts) { [01:27:33.844] name <- restart$name [01:27:33.844] if (is.null(name)) [01:27:33.844] next [01:27:33.844] if (!grepl(pattern, name)) [01:27:33.844] next [01:27:33.844] invokeRestart(restart) [01:27:33.844] muffled <- TRUE [01:27:33.844] break [01:27:33.844] } [01:27:33.844] } [01:27:33.844] } [01:27:33.844] invisible(muffled) [01:27:33.844] } [01:27:33.844] muffleCondition(cond, pattern = "^muffle") [01:27:33.844] } [01:27:33.844] } [01:27:33.844] else { [01:27:33.844] if (TRUE) { [01:27:33.844] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.844] { [01:27:33.844] inherits <- base::inherits [01:27:33.844] invokeRestart <- base::invokeRestart [01:27:33.844] is.null <- base::is.null [01:27:33.844] muffled <- FALSE [01:27:33.844] if (inherits(cond, "message")) { [01:27:33.844] muffled <- grepl(pattern, "muffleMessage") [01:27:33.844] if (muffled) [01:27:33.844] invokeRestart("muffleMessage") [01:27:33.844] } [01:27:33.844] else if (inherits(cond, "warning")) { [01:27:33.844] muffled <- grepl(pattern, "muffleWarning") [01:27:33.844] if (muffled) [01:27:33.844] invokeRestart("muffleWarning") [01:27:33.844] } [01:27:33.844] else if (inherits(cond, "condition")) { [01:27:33.844] if (!is.null(pattern)) { [01:27:33.844] computeRestarts <- base::computeRestarts [01:27:33.844] grepl <- base::grepl [01:27:33.844] restarts <- computeRestarts(cond) [01:27:33.844] for (restart in restarts) { [01:27:33.844] name <- restart$name [01:27:33.844] if (is.null(name)) [01:27:33.844] next [01:27:33.844] if (!grepl(pattern, name)) [01:27:33.844] next [01:27:33.844] invokeRestart(restart) [01:27:33.844] muffled <- TRUE [01:27:33.844] break [01:27:33.844] } [01:27:33.844] } [01:27:33.844] } [01:27:33.844] invisible(muffled) [01:27:33.844] } [01:27:33.844] muffleCondition(cond, pattern = "^muffle") [01:27:33.844] } [01:27:33.844] } [01:27:33.844] } [01:27:33.844] })) [01:27:33.844] }, error = function(ex) { [01:27:33.844] base::structure(base::list(value = NULL, visible = NULL, [01:27:33.844] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.844] ...future.rng), started = ...future.startTime, [01:27:33.844] finished = Sys.time(), session_uuid = NA_character_, [01:27:33.844] version = "1.8"), class = "FutureResult") [01:27:33.844] }, finally = { [01:27:33.844] if (!identical(...future.workdir, getwd())) [01:27:33.844] setwd(...future.workdir) [01:27:33.844] { [01:27:33.844] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:33.844] ...future.oldOptions$nwarnings <- NULL [01:27:33.844] } [01:27:33.844] base::options(...future.oldOptions) [01:27:33.844] if (.Platform$OS.type == "windows") { [01:27:33.844] old_names <- names(...future.oldEnvVars) [01:27:33.844] envs <- base::Sys.getenv() [01:27:33.844] names <- names(envs) [01:27:33.844] common <- intersect(names, old_names) [01:27:33.844] added <- setdiff(names, old_names) [01:27:33.844] removed <- setdiff(old_names, names) [01:27:33.844] changed <- common[...future.oldEnvVars[common] != [01:27:33.844] envs[common]] [01:27:33.844] NAMES <- toupper(changed) [01:27:33.844] args <- list() [01:27:33.844] for (kk in seq_along(NAMES)) { [01:27:33.844] name <- changed[[kk]] [01:27:33.844] NAME <- NAMES[[kk]] [01:27:33.844] if (name != NAME && is.element(NAME, old_names)) [01:27:33.844] next [01:27:33.844] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.844] } [01:27:33.844] NAMES <- toupper(added) [01:27:33.844] for (kk in seq_along(NAMES)) { [01:27:33.844] name <- added[[kk]] [01:27:33.844] NAME <- NAMES[[kk]] [01:27:33.844] if (name != NAME && is.element(NAME, old_names)) [01:27:33.844] next [01:27:33.844] args[[name]] <- "" [01:27:33.844] } [01:27:33.844] NAMES <- toupper(removed) [01:27:33.844] for (kk in seq_along(NAMES)) { [01:27:33.844] name <- removed[[kk]] [01:27:33.844] NAME <- NAMES[[kk]] [01:27:33.844] if (name != NAME && is.element(NAME, old_names)) [01:27:33.844] next [01:27:33.844] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.844] } [01:27:33.844] if (length(args) > 0) [01:27:33.844] base::do.call(base::Sys.setenv, args = args) [01:27:33.844] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:33.844] } [01:27:33.844] else { [01:27:33.844] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:33.844] } [01:27:33.844] { [01:27:33.844] if (base::length(...future.futureOptionsAdded) > [01:27:33.844] 0L) { [01:27:33.844] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:33.844] base::names(opts) <- ...future.futureOptionsAdded [01:27:33.844] base::options(opts) [01:27:33.844] } [01:27:33.844] { [01:27:33.844] { [01:27:33.844] NULL [01:27:33.844] RNGkind("Mersenne-Twister") [01:27:33.844] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:33.844] inherits = FALSE) [01:27:33.844] } [01:27:33.844] options(future.plan = NULL) [01:27:33.844] if (is.na(NA_character_)) [01:27:33.844] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.844] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:33.844] future::plan(list(function (..., envir = parent.frame()) [01:27:33.844] { [01:27:33.844] future <- SequentialFuture(..., envir = envir) [01:27:33.844] if (!future$lazy) [01:27:33.844] future <- run(future) [01:27:33.844] invisible(future) [01:27:33.844] }), .cleanup = FALSE, .init = FALSE) [01:27:33.844] } [01:27:33.844] } [01:27:33.844] } [01:27:33.844] }) [01:27:33.844] if (TRUE) { [01:27:33.844] base::sink(type = "output", split = FALSE) [01:27:33.844] if (TRUE) { [01:27:33.844] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:33.844] } [01:27:33.844] else { [01:27:33.844] ...future.result["stdout"] <- base::list(NULL) [01:27:33.844] } [01:27:33.844] base::close(...future.stdout) [01:27:33.844] ...future.stdout <- NULL [01:27:33.844] } [01:27:33.844] ...future.result$conditions <- ...future.conditions [01:27:33.844] ...future.result$finished <- base::Sys.time() [01:27:33.844] ...future.result [01:27:33.844] } [01:27:33.848] plan(): Setting new future strategy stack: [01:27:33.848] List of future strategies: [01:27:33.848] 1. sequential: [01:27:33.848] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.848] - tweaked: FALSE [01:27:33.848] - call: NULL [01:27:33.849] plan(): nbrOfWorkers() = 1 [01:27:33.851] plan(): Setting new future strategy stack: [01:27:33.851] List of future strategies: [01:27:33.851] 1. sequential: [01:27:33.851] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.851] - tweaked: FALSE [01:27:33.851] - call: plan(strategy) [01:27:33.852] plan(): nbrOfWorkers() = 1 [01:27:33.852] SequentialFuture started (and completed) [01:27:33.853] - Launch lazy future ... done [01:27:33.853] run() for 'SequentialFuture' ... done [01:27:33.853] getGlobalsAndPackages() ... [01:27:33.853] Searching for globals... [01:27:33.854] - globals found: [1] '{' [01:27:33.855] Searching for globals ... DONE [01:27:33.855] Resolving globals: FALSE [01:27:33.855] [01:27:33.855] [01:27:33.856] getGlobalsAndPackages() ... DONE [01:27:33.856] run() for 'Future' ... [01:27:33.856] - state: 'created' [01:27:33.856] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:33.857] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:33.857] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:33.857] - Field: 'label' [01:27:33.858] - Field: 'local' [01:27:33.858] - Field: 'owner' [01:27:33.858] - Field: 'envir' [01:27:33.858] - Field: 'packages' [01:27:33.858] - Field: 'gc' [01:27:33.859] - Field: 'conditions' [01:27:33.859] - Field: 'expr' [01:27:33.859] - Field: 'uuid' [01:27:33.859] - Field: 'seed' [01:27:33.860] - Field: 'version' [01:27:33.860] - Field: 'result' [01:27:33.860] - Field: 'asynchronous' [01:27:33.860] - Field: 'calls' [01:27:33.860] - Field: 'globals' [01:27:33.861] - Field: 'stdout' [01:27:33.861] - Field: 'earlySignal' [01:27:33.861] - Field: 'lazy' [01:27:33.861] - Field: 'state' [01:27:33.862] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:33.862] - Launch lazy future ... [01:27:33.862] Packages needed by the future expression (n = 0): [01:27:33.862] Packages needed by future strategies (n = 0): [01:27:33.863] { [01:27:33.863] { [01:27:33.863] { [01:27:33.863] ...future.startTime <- base::Sys.time() [01:27:33.863] { [01:27:33.863] { [01:27:33.863] { [01:27:33.863] base::local({ [01:27:33.863] has_future <- base::requireNamespace("future", [01:27:33.863] quietly = TRUE) [01:27:33.863] if (has_future) { [01:27:33.863] ns <- base::getNamespace("future") [01:27:33.863] version <- ns[[".package"]][["version"]] [01:27:33.863] if (is.null(version)) [01:27:33.863] version <- utils::packageVersion("future") [01:27:33.863] } [01:27:33.863] else { [01:27:33.863] version <- NULL [01:27:33.863] } [01:27:33.863] if (!has_future || version < "1.8.0") { [01:27:33.863] info <- base::c(r_version = base::gsub("R version ", [01:27:33.863] "", base::R.version$version.string), [01:27:33.863] platform = base::sprintf("%s (%s-bit)", [01:27:33.863] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:33.863] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:33.863] "release", "version")], collapse = " "), [01:27:33.863] hostname = base::Sys.info()[["nodename"]]) [01:27:33.863] info <- base::sprintf("%s: %s", base::names(info), [01:27:33.863] info) [01:27:33.863] info <- base::paste(info, collapse = "; ") [01:27:33.863] if (!has_future) { [01:27:33.863] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:33.863] info) [01:27:33.863] } [01:27:33.863] else { [01:27:33.863] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:33.863] info, version) [01:27:33.863] } [01:27:33.863] base::stop(msg) [01:27:33.863] } [01:27:33.863] }) [01:27:33.863] } [01:27:33.863] options(future.plan = NULL) [01:27:33.863] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.863] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:33.863] } [01:27:33.863] ...future.workdir <- getwd() [01:27:33.863] } [01:27:33.863] ...future.oldOptions <- base::as.list(base::.Options) [01:27:33.863] ...future.oldEnvVars <- base::Sys.getenv() [01:27:33.863] } [01:27:33.863] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:33.863] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:33.863] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:33.863] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:33.863] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:33.863] future.stdout.windows.reencode = NULL, width = 80L) [01:27:33.863] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:33.863] base::names(...future.oldOptions)) [01:27:33.863] } [01:27:33.863] if (FALSE) { [01:27:33.863] } [01:27:33.863] else { [01:27:33.863] if (TRUE) { [01:27:33.863] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:33.863] open = "w") [01:27:33.863] } [01:27:33.863] else { [01:27:33.863] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:33.863] windows = "NUL", "/dev/null"), open = "w") [01:27:33.863] } [01:27:33.863] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:33.863] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:33.863] base::sink(type = "output", split = FALSE) [01:27:33.863] base::close(...future.stdout) [01:27:33.863] }, add = TRUE) [01:27:33.863] } [01:27:33.863] ...future.frame <- base::sys.nframe() [01:27:33.863] ...future.conditions <- base::list() [01:27:33.863] ...future.rng <- base::globalenv()$.Random.seed [01:27:33.863] if (FALSE) { [01:27:33.863] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:33.863] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:33.863] } [01:27:33.863] ...future.result <- base::tryCatch({ [01:27:33.863] base::withCallingHandlers({ [01:27:33.863] ...future.value <- base::withVisible(base::local({ [01:27:33.863] 4 [01:27:33.863] })) [01:27:33.863] future::FutureResult(value = ...future.value$value, [01:27:33.863] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.863] ...future.rng), globalenv = if (FALSE) [01:27:33.863] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:33.863] ...future.globalenv.names)) [01:27:33.863] else NULL, started = ...future.startTime, version = "1.8") [01:27:33.863] }, condition = base::local({ [01:27:33.863] c <- base::c [01:27:33.863] inherits <- base::inherits [01:27:33.863] invokeRestart <- base::invokeRestart [01:27:33.863] length <- base::length [01:27:33.863] list <- base::list [01:27:33.863] seq.int <- base::seq.int [01:27:33.863] signalCondition <- base::signalCondition [01:27:33.863] sys.calls <- base::sys.calls [01:27:33.863] `[[` <- base::`[[` [01:27:33.863] `+` <- base::`+` [01:27:33.863] `<<-` <- base::`<<-` [01:27:33.863] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:33.863] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:33.863] 3L)] [01:27:33.863] } [01:27:33.863] function(cond) { [01:27:33.863] is_error <- inherits(cond, "error") [01:27:33.863] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:33.863] NULL) [01:27:33.863] if (is_error) { [01:27:33.863] sessionInformation <- function() { [01:27:33.863] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:33.863] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:33.863] search = base::search(), system = base::Sys.info()) [01:27:33.863] } [01:27:33.863] ...future.conditions[[length(...future.conditions) + [01:27:33.863] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:33.863] cond$call), session = sessionInformation(), [01:27:33.863] timestamp = base::Sys.time(), signaled = 0L) [01:27:33.863] signalCondition(cond) [01:27:33.863] } [01:27:33.863] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:33.863] "immediateCondition"))) { [01:27:33.863] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:33.863] ...future.conditions[[length(...future.conditions) + [01:27:33.863] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:33.863] if (TRUE && !signal) { [01:27:33.863] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.863] { [01:27:33.863] inherits <- base::inherits [01:27:33.863] invokeRestart <- base::invokeRestart [01:27:33.863] is.null <- base::is.null [01:27:33.863] muffled <- FALSE [01:27:33.863] if (inherits(cond, "message")) { [01:27:33.863] muffled <- grepl(pattern, "muffleMessage") [01:27:33.863] if (muffled) [01:27:33.863] invokeRestart("muffleMessage") [01:27:33.863] } [01:27:33.863] else if (inherits(cond, "warning")) { [01:27:33.863] muffled <- grepl(pattern, "muffleWarning") [01:27:33.863] if (muffled) [01:27:33.863] invokeRestart("muffleWarning") [01:27:33.863] } [01:27:33.863] else if (inherits(cond, "condition")) { [01:27:33.863] if (!is.null(pattern)) { [01:27:33.863] computeRestarts <- base::computeRestarts [01:27:33.863] grepl <- base::grepl [01:27:33.863] restarts <- computeRestarts(cond) [01:27:33.863] for (restart in restarts) { [01:27:33.863] name <- restart$name [01:27:33.863] if (is.null(name)) [01:27:33.863] next [01:27:33.863] if (!grepl(pattern, name)) [01:27:33.863] next [01:27:33.863] invokeRestart(restart) [01:27:33.863] muffled <- TRUE [01:27:33.863] break [01:27:33.863] } [01:27:33.863] } [01:27:33.863] } [01:27:33.863] invisible(muffled) [01:27:33.863] } [01:27:33.863] muffleCondition(cond, pattern = "^muffle") [01:27:33.863] } [01:27:33.863] } [01:27:33.863] else { [01:27:33.863] if (TRUE) { [01:27:33.863] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.863] { [01:27:33.863] inherits <- base::inherits [01:27:33.863] invokeRestart <- base::invokeRestart [01:27:33.863] is.null <- base::is.null [01:27:33.863] muffled <- FALSE [01:27:33.863] if (inherits(cond, "message")) { [01:27:33.863] muffled <- grepl(pattern, "muffleMessage") [01:27:33.863] if (muffled) [01:27:33.863] invokeRestart("muffleMessage") [01:27:33.863] } [01:27:33.863] else if (inherits(cond, "warning")) { [01:27:33.863] muffled <- grepl(pattern, "muffleWarning") [01:27:33.863] if (muffled) [01:27:33.863] invokeRestart("muffleWarning") [01:27:33.863] } [01:27:33.863] else if (inherits(cond, "condition")) { [01:27:33.863] if (!is.null(pattern)) { [01:27:33.863] computeRestarts <- base::computeRestarts [01:27:33.863] grepl <- base::grepl [01:27:33.863] restarts <- computeRestarts(cond) [01:27:33.863] for (restart in restarts) { [01:27:33.863] name <- restart$name [01:27:33.863] if (is.null(name)) [01:27:33.863] next [01:27:33.863] if (!grepl(pattern, name)) [01:27:33.863] next [01:27:33.863] invokeRestart(restart) [01:27:33.863] muffled <- TRUE [01:27:33.863] break [01:27:33.863] } [01:27:33.863] } [01:27:33.863] } [01:27:33.863] invisible(muffled) [01:27:33.863] } [01:27:33.863] muffleCondition(cond, pattern = "^muffle") [01:27:33.863] } [01:27:33.863] } [01:27:33.863] } [01:27:33.863] })) [01:27:33.863] }, error = function(ex) { [01:27:33.863] base::structure(base::list(value = NULL, visible = NULL, [01:27:33.863] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.863] ...future.rng), started = ...future.startTime, [01:27:33.863] finished = Sys.time(), session_uuid = NA_character_, [01:27:33.863] version = "1.8"), class = "FutureResult") [01:27:33.863] }, finally = { [01:27:33.863] if (!identical(...future.workdir, getwd())) [01:27:33.863] setwd(...future.workdir) [01:27:33.863] { [01:27:33.863] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:33.863] ...future.oldOptions$nwarnings <- NULL [01:27:33.863] } [01:27:33.863] base::options(...future.oldOptions) [01:27:33.863] if (.Platform$OS.type == "windows") { [01:27:33.863] old_names <- names(...future.oldEnvVars) [01:27:33.863] envs <- base::Sys.getenv() [01:27:33.863] names <- names(envs) [01:27:33.863] common <- intersect(names, old_names) [01:27:33.863] added <- setdiff(names, old_names) [01:27:33.863] removed <- setdiff(old_names, names) [01:27:33.863] changed <- common[...future.oldEnvVars[common] != [01:27:33.863] envs[common]] [01:27:33.863] NAMES <- toupper(changed) [01:27:33.863] args <- list() [01:27:33.863] for (kk in seq_along(NAMES)) { [01:27:33.863] name <- changed[[kk]] [01:27:33.863] NAME <- NAMES[[kk]] [01:27:33.863] if (name != NAME && is.element(NAME, old_names)) [01:27:33.863] next [01:27:33.863] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.863] } [01:27:33.863] NAMES <- toupper(added) [01:27:33.863] for (kk in seq_along(NAMES)) { [01:27:33.863] name <- added[[kk]] [01:27:33.863] NAME <- NAMES[[kk]] [01:27:33.863] if (name != NAME && is.element(NAME, old_names)) [01:27:33.863] next [01:27:33.863] args[[name]] <- "" [01:27:33.863] } [01:27:33.863] NAMES <- toupper(removed) [01:27:33.863] for (kk in seq_along(NAMES)) { [01:27:33.863] name <- removed[[kk]] [01:27:33.863] NAME <- NAMES[[kk]] [01:27:33.863] if (name != NAME && is.element(NAME, old_names)) [01:27:33.863] next [01:27:33.863] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.863] } [01:27:33.863] if (length(args) > 0) [01:27:33.863] base::do.call(base::Sys.setenv, args = args) [01:27:33.863] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:33.863] } [01:27:33.863] else { [01:27:33.863] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:33.863] } [01:27:33.863] { [01:27:33.863] if (base::length(...future.futureOptionsAdded) > [01:27:33.863] 0L) { [01:27:33.863] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:33.863] base::names(opts) <- ...future.futureOptionsAdded [01:27:33.863] base::options(opts) [01:27:33.863] } [01:27:33.863] { [01:27:33.863] { [01:27:33.863] NULL [01:27:33.863] RNGkind("Mersenne-Twister") [01:27:33.863] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:33.863] inherits = FALSE) [01:27:33.863] } [01:27:33.863] options(future.plan = NULL) [01:27:33.863] if (is.na(NA_character_)) [01:27:33.863] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.863] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:33.863] future::plan(list(function (..., envir = parent.frame()) [01:27:33.863] { [01:27:33.863] future <- SequentialFuture(..., envir = envir) [01:27:33.863] if (!future$lazy) [01:27:33.863] future <- run(future) [01:27:33.863] invisible(future) [01:27:33.863] }), .cleanup = FALSE, .init = FALSE) [01:27:33.863] } [01:27:33.863] } [01:27:33.863] } [01:27:33.863] }) [01:27:33.863] if (TRUE) { [01:27:33.863] base::sink(type = "output", split = FALSE) [01:27:33.863] if (TRUE) { [01:27:33.863] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:33.863] } [01:27:33.863] else { [01:27:33.863] ...future.result["stdout"] <- base::list(NULL) [01:27:33.863] } [01:27:33.863] base::close(...future.stdout) [01:27:33.863] ...future.stdout <- NULL [01:27:33.863] } [01:27:33.863] ...future.result$conditions <- ...future.conditions [01:27:33.863] ...future.result$finished <- base::Sys.time() [01:27:33.863] ...future.result [01:27:33.863] } [01:27:33.867] plan(): Setting new future strategy stack: [01:27:33.868] List of future strategies: [01:27:33.868] 1. sequential: [01:27:33.868] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.868] - tweaked: FALSE [01:27:33.868] - call: NULL [01:27:33.868] plan(): nbrOfWorkers() = 1 [01:27:33.870] plan(): Setting new future strategy stack: [01:27:33.870] List of future strategies: [01:27:33.870] 1. sequential: [01:27:33.870] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.870] - tweaked: FALSE [01:27:33.870] - call: plan(strategy) [01:27:33.871] plan(): nbrOfWorkers() = 1 [01:27:33.871] SequentialFuture started (and completed) [01:27:33.871] - Launch lazy future ... done [01:27:33.871] run() for 'SequentialFuture' ... done u$a = 2 v$a = 4 [01:27:33.872] getGlobalsAndPackages() ... [01:27:33.872] Searching for globals... [01:27:33.874] - globals found: [3] '{', '*', 'a' [01:27:33.874] Searching for globals ... DONE [01:27:33.874] Resolving globals: FALSE [01:27:33.875] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:33.876] The total size of the 1 globals exported for future expression ('{; 2 * a; }') 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') [01:27:33.876] - globals: [1] 'a' [01:27:33.876] [01:27:33.877] getGlobalsAndPackages() ... DONE [01:27:33.877] run() for 'Future' ... [01:27:33.877] - state: 'created' [01:27:33.878] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:33.878] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:33.878] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:33.878] - Field: 'label' [01:27:33.879] - Field: 'local' [01:27:33.879] - Field: 'owner' [01:27:33.879] - Field: 'envir' [01:27:33.879] - Field: 'packages' [01:27:33.880] - Field: 'gc' [01:27:33.880] - Field: 'conditions' [01:27:33.880] - Field: 'expr' [01:27:33.880] - Field: 'uuid' [01:27:33.880] - Field: 'seed' [01:27:33.881] - Field: 'version' [01:27:33.881] - Field: 'result' [01:27:33.881] - Field: 'asynchronous' [01:27:33.881] - Field: 'calls' [01:27:33.881] - Field: 'globals' [01:27:33.882] - Field: 'stdout' [01:27:33.882] - Field: 'earlySignal' [01:27:33.882] - Field: 'lazy' [01:27:33.882] - Field: 'state' [01:27:33.883] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:33.883] - Launch lazy future ... [01:27:33.883] Packages needed by the future expression (n = 0): [01:27:33.883] Packages needed by future strategies (n = 0): [01:27:33.884] { [01:27:33.884] { [01:27:33.884] { [01:27:33.884] ...future.startTime <- base::Sys.time() [01:27:33.884] { [01:27:33.884] { [01:27:33.884] { [01:27:33.884] base::local({ [01:27:33.884] has_future <- base::requireNamespace("future", [01:27:33.884] quietly = TRUE) [01:27:33.884] if (has_future) { [01:27:33.884] ns <- base::getNamespace("future") [01:27:33.884] version <- ns[[".package"]][["version"]] [01:27:33.884] if (is.null(version)) [01:27:33.884] version <- utils::packageVersion("future") [01:27:33.884] } [01:27:33.884] else { [01:27:33.884] version <- NULL [01:27:33.884] } [01:27:33.884] if (!has_future || version < "1.8.0") { [01:27:33.884] info <- base::c(r_version = base::gsub("R version ", [01:27:33.884] "", base::R.version$version.string), [01:27:33.884] platform = base::sprintf("%s (%s-bit)", [01:27:33.884] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:33.884] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:33.884] "release", "version")], collapse = " "), [01:27:33.884] hostname = base::Sys.info()[["nodename"]]) [01:27:33.884] info <- base::sprintf("%s: %s", base::names(info), [01:27:33.884] info) [01:27:33.884] info <- base::paste(info, collapse = "; ") [01:27:33.884] if (!has_future) { [01:27:33.884] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:33.884] info) [01:27:33.884] } [01:27:33.884] else { [01:27:33.884] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:33.884] info, version) [01:27:33.884] } [01:27:33.884] base::stop(msg) [01:27:33.884] } [01:27:33.884] }) [01:27:33.884] } [01:27:33.884] options(future.plan = NULL) [01:27:33.884] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.884] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:33.884] } [01:27:33.884] ...future.workdir <- getwd() [01:27:33.884] } [01:27:33.884] ...future.oldOptions <- base::as.list(base::.Options) [01:27:33.884] ...future.oldEnvVars <- base::Sys.getenv() [01:27:33.884] } [01:27:33.884] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:33.884] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:33.884] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:33.884] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:33.884] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:33.884] future.stdout.windows.reencode = NULL, width = 80L) [01:27:33.884] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:33.884] base::names(...future.oldOptions)) [01:27:33.884] } [01:27:33.884] if (FALSE) { [01:27:33.884] } [01:27:33.884] else { [01:27:33.884] if (TRUE) { [01:27:33.884] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:33.884] open = "w") [01:27:33.884] } [01:27:33.884] else { [01:27:33.884] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:33.884] windows = "NUL", "/dev/null"), open = "w") [01:27:33.884] } [01:27:33.884] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:33.884] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:33.884] base::sink(type = "output", split = FALSE) [01:27:33.884] base::close(...future.stdout) [01:27:33.884] }, add = TRUE) [01:27:33.884] } [01:27:33.884] ...future.frame <- base::sys.nframe() [01:27:33.884] ...future.conditions <- base::list() [01:27:33.884] ...future.rng <- base::globalenv()$.Random.seed [01:27:33.884] if (FALSE) { [01:27:33.884] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:33.884] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:33.884] } [01:27:33.884] ...future.result <- base::tryCatch({ [01:27:33.884] base::withCallingHandlers({ [01:27:33.884] ...future.value <- base::withVisible(base::local({ [01:27:33.884] 2 * a [01:27:33.884] })) [01:27:33.884] future::FutureResult(value = ...future.value$value, [01:27:33.884] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.884] ...future.rng), globalenv = if (FALSE) [01:27:33.884] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:33.884] ...future.globalenv.names)) [01:27:33.884] else NULL, started = ...future.startTime, version = "1.8") [01:27:33.884] }, condition = base::local({ [01:27:33.884] c <- base::c [01:27:33.884] inherits <- base::inherits [01:27:33.884] invokeRestart <- base::invokeRestart [01:27:33.884] length <- base::length [01:27:33.884] list <- base::list [01:27:33.884] seq.int <- base::seq.int [01:27:33.884] signalCondition <- base::signalCondition [01:27:33.884] sys.calls <- base::sys.calls [01:27:33.884] `[[` <- base::`[[` [01:27:33.884] `+` <- base::`+` [01:27:33.884] `<<-` <- base::`<<-` [01:27:33.884] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:33.884] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:33.884] 3L)] [01:27:33.884] } [01:27:33.884] function(cond) { [01:27:33.884] is_error <- inherits(cond, "error") [01:27:33.884] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:33.884] NULL) [01:27:33.884] if (is_error) { [01:27:33.884] sessionInformation <- function() { [01:27:33.884] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:33.884] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:33.884] search = base::search(), system = base::Sys.info()) [01:27:33.884] } [01:27:33.884] ...future.conditions[[length(...future.conditions) + [01:27:33.884] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:33.884] cond$call), session = sessionInformation(), [01:27:33.884] timestamp = base::Sys.time(), signaled = 0L) [01:27:33.884] signalCondition(cond) [01:27:33.884] } [01:27:33.884] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:33.884] "immediateCondition"))) { [01:27:33.884] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:33.884] ...future.conditions[[length(...future.conditions) + [01:27:33.884] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:33.884] if (TRUE && !signal) { [01:27:33.884] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.884] { [01:27:33.884] inherits <- base::inherits [01:27:33.884] invokeRestart <- base::invokeRestart [01:27:33.884] is.null <- base::is.null [01:27:33.884] muffled <- FALSE [01:27:33.884] if (inherits(cond, "message")) { [01:27:33.884] muffled <- grepl(pattern, "muffleMessage") [01:27:33.884] if (muffled) [01:27:33.884] invokeRestart("muffleMessage") [01:27:33.884] } [01:27:33.884] else if (inherits(cond, "warning")) { [01:27:33.884] muffled <- grepl(pattern, "muffleWarning") [01:27:33.884] if (muffled) [01:27:33.884] invokeRestart("muffleWarning") [01:27:33.884] } [01:27:33.884] else if (inherits(cond, "condition")) { [01:27:33.884] if (!is.null(pattern)) { [01:27:33.884] computeRestarts <- base::computeRestarts [01:27:33.884] grepl <- base::grepl [01:27:33.884] restarts <- computeRestarts(cond) [01:27:33.884] for (restart in restarts) { [01:27:33.884] name <- restart$name [01:27:33.884] if (is.null(name)) [01:27:33.884] next [01:27:33.884] if (!grepl(pattern, name)) [01:27:33.884] next [01:27:33.884] invokeRestart(restart) [01:27:33.884] muffled <- TRUE [01:27:33.884] break [01:27:33.884] } [01:27:33.884] } [01:27:33.884] } [01:27:33.884] invisible(muffled) [01:27:33.884] } [01:27:33.884] muffleCondition(cond, pattern = "^muffle") [01:27:33.884] } [01:27:33.884] } [01:27:33.884] else { [01:27:33.884] if (TRUE) { [01:27:33.884] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.884] { [01:27:33.884] inherits <- base::inherits [01:27:33.884] invokeRestart <- base::invokeRestart [01:27:33.884] is.null <- base::is.null [01:27:33.884] muffled <- FALSE [01:27:33.884] if (inherits(cond, "message")) { [01:27:33.884] muffled <- grepl(pattern, "muffleMessage") [01:27:33.884] if (muffled) [01:27:33.884] invokeRestart("muffleMessage") [01:27:33.884] } [01:27:33.884] else if (inherits(cond, "warning")) { [01:27:33.884] muffled <- grepl(pattern, "muffleWarning") [01:27:33.884] if (muffled) [01:27:33.884] invokeRestart("muffleWarning") [01:27:33.884] } [01:27:33.884] else if (inherits(cond, "condition")) { [01:27:33.884] if (!is.null(pattern)) { [01:27:33.884] computeRestarts <- base::computeRestarts [01:27:33.884] grepl <- base::grepl [01:27:33.884] restarts <- computeRestarts(cond) [01:27:33.884] for (restart in restarts) { [01:27:33.884] name <- restart$name [01:27:33.884] if (is.null(name)) [01:27:33.884] next [01:27:33.884] if (!grepl(pattern, name)) [01:27:33.884] next [01:27:33.884] invokeRestart(restart) [01:27:33.884] muffled <- TRUE [01:27:33.884] break [01:27:33.884] } [01:27:33.884] } [01:27:33.884] } [01:27:33.884] invisible(muffled) [01:27:33.884] } [01:27:33.884] muffleCondition(cond, pattern = "^muffle") [01:27:33.884] } [01:27:33.884] } [01:27:33.884] } [01:27:33.884] })) [01:27:33.884] }, error = function(ex) { [01:27:33.884] base::structure(base::list(value = NULL, visible = NULL, [01:27:33.884] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.884] ...future.rng), started = ...future.startTime, [01:27:33.884] finished = Sys.time(), session_uuid = NA_character_, [01:27:33.884] version = "1.8"), class = "FutureResult") [01:27:33.884] }, finally = { [01:27:33.884] if (!identical(...future.workdir, getwd())) [01:27:33.884] setwd(...future.workdir) [01:27:33.884] { [01:27:33.884] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:33.884] ...future.oldOptions$nwarnings <- NULL [01:27:33.884] } [01:27:33.884] base::options(...future.oldOptions) [01:27:33.884] if (.Platform$OS.type == "windows") { [01:27:33.884] old_names <- names(...future.oldEnvVars) [01:27:33.884] envs <- base::Sys.getenv() [01:27:33.884] names <- names(envs) [01:27:33.884] common <- intersect(names, old_names) [01:27:33.884] added <- setdiff(names, old_names) [01:27:33.884] removed <- setdiff(old_names, names) [01:27:33.884] changed <- common[...future.oldEnvVars[common] != [01:27:33.884] envs[common]] [01:27:33.884] NAMES <- toupper(changed) [01:27:33.884] args <- list() [01:27:33.884] for (kk in seq_along(NAMES)) { [01:27:33.884] name <- changed[[kk]] [01:27:33.884] NAME <- NAMES[[kk]] [01:27:33.884] if (name != NAME && is.element(NAME, old_names)) [01:27:33.884] next [01:27:33.884] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.884] } [01:27:33.884] NAMES <- toupper(added) [01:27:33.884] for (kk in seq_along(NAMES)) { [01:27:33.884] name <- added[[kk]] [01:27:33.884] NAME <- NAMES[[kk]] [01:27:33.884] if (name != NAME && is.element(NAME, old_names)) [01:27:33.884] next [01:27:33.884] args[[name]] <- "" [01:27:33.884] } [01:27:33.884] NAMES <- toupper(removed) [01:27:33.884] for (kk in seq_along(NAMES)) { [01:27:33.884] name <- removed[[kk]] [01:27:33.884] NAME <- NAMES[[kk]] [01:27:33.884] if (name != NAME && is.element(NAME, old_names)) [01:27:33.884] next [01:27:33.884] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.884] } [01:27:33.884] if (length(args) > 0) [01:27:33.884] base::do.call(base::Sys.setenv, args = args) [01:27:33.884] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:33.884] } [01:27:33.884] else { [01:27:33.884] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:33.884] } [01:27:33.884] { [01:27:33.884] if (base::length(...future.futureOptionsAdded) > [01:27:33.884] 0L) { [01:27:33.884] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:33.884] base::names(opts) <- ...future.futureOptionsAdded [01:27:33.884] base::options(opts) [01:27:33.884] } [01:27:33.884] { [01:27:33.884] { [01:27:33.884] NULL [01:27:33.884] RNGkind("Mersenne-Twister") [01:27:33.884] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:33.884] inherits = FALSE) [01:27:33.884] } [01:27:33.884] options(future.plan = NULL) [01:27:33.884] if (is.na(NA_character_)) [01:27:33.884] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.884] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:33.884] future::plan(list(function (..., envir = parent.frame()) [01:27:33.884] { [01:27:33.884] future <- SequentialFuture(..., envir = envir) [01:27:33.884] if (!future$lazy) [01:27:33.884] future <- run(future) [01:27:33.884] invisible(future) [01:27:33.884] }), .cleanup = FALSE, .init = FALSE) [01:27:33.884] } [01:27:33.884] } [01:27:33.884] } [01:27:33.884] }) [01:27:33.884] if (TRUE) { [01:27:33.884] base::sink(type = "output", split = FALSE) [01:27:33.884] if (TRUE) { [01:27:33.884] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:33.884] } [01:27:33.884] else { [01:27:33.884] ...future.result["stdout"] <- base::list(NULL) [01:27:33.884] } [01:27:33.884] base::close(...future.stdout) [01:27:33.884] ...future.stdout <- NULL [01:27:33.884] } [01:27:33.884] ...future.result$conditions <- ...future.conditions [01:27:33.884] ...future.result$finished <- base::Sys.time() [01:27:33.884] ...future.result [01:27:33.884] } [01:27:33.888] assign_globals() ... [01:27:33.888] List of 1 [01:27:33.888] $ a: num 1 [01:27:33.888] - attr(*, "where")=List of 1 [01:27:33.888] ..$ a: [01:27:33.888] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:27:33.888] - attr(*, "resolved")= logi FALSE [01:27:33.888] - attr(*, "total_size")= num 56 [01:27:33.888] - attr(*, "already-done")= logi TRUE [01:27:33.899] - copied 'a' to environment [01:27:33.899] assign_globals() ... done [01:27:33.900] plan(): Setting new future strategy stack: [01:27:33.900] List of future strategies: [01:27:33.900] 1. sequential: [01:27:33.900] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.900] - tweaked: FALSE [01:27:33.900] - call: NULL [01:27:33.901] plan(): nbrOfWorkers() = 1 [01:27:33.902] plan(): Setting new future strategy stack: [01:27:33.902] List of future strategies: [01:27:33.902] 1. sequential: [01:27:33.902] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.902] - tweaked: FALSE [01:27:33.902] - call: plan(strategy) [01:27:33.903] plan(): nbrOfWorkers() = 1 [01:27:33.903] SequentialFuture started (and completed) [01:27:33.903] - Launch lazy future ... done [01:27:33.904] run() for 'SequentialFuture' ... done [01:27:33.904] getGlobalsAndPackages() ... [01:27:33.904] Searching for globals... [01:27:33.906] - globals found: [3] '{', '*', 'a' [01:27:33.906] Searching for globals ... DONE [01:27:33.906] Resolving globals: FALSE [01:27:33.907] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:33.907] The total size of the 1 globals exported for future expression ('{; 2 * a; }') 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') [01:27:33.908] - globals: [1] 'a' [01:27:33.908] [01:27:33.908] getGlobalsAndPackages() ... DONE [01:27:33.908] run() for 'Future' ... [01:27:33.909] - state: 'created' [01:27:33.909] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:33.909] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:33.909] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:33.910] - Field: 'label' [01:27:33.910] - Field: 'local' [01:27:33.910] - Field: 'owner' [01:27:33.910] - Field: 'envir' [01:27:33.910] - Field: 'packages' [01:27:33.911] - Field: 'gc' [01:27:33.911] - Field: 'conditions' [01:27:33.911] - Field: 'expr' [01:27:33.911] - Field: 'uuid' [01:27:33.911] - Field: 'seed' [01:27:33.912] - Field: 'version' [01:27:33.912] - Field: 'result' [01:27:33.912] - Field: 'asynchronous' [01:27:33.912] - Field: 'calls' [01:27:33.913] - Field: 'globals' [01:27:33.913] - Field: 'stdout' [01:27:33.913] - Field: 'earlySignal' [01:27:33.913] - Field: 'lazy' [01:27:33.914] - Field: 'state' [01:27:33.914] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:33.914] - Launch lazy future ... [01:27:33.914] Packages needed by the future expression (n = 0): [01:27:33.915] Packages needed by future strategies (n = 0): [01:27:33.915] { [01:27:33.915] { [01:27:33.915] { [01:27:33.915] ...future.startTime <- base::Sys.time() [01:27:33.915] { [01:27:33.915] { [01:27:33.915] { [01:27:33.915] base::local({ [01:27:33.915] has_future <- base::requireNamespace("future", [01:27:33.915] quietly = TRUE) [01:27:33.915] if (has_future) { [01:27:33.915] ns <- base::getNamespace("future") [01:27:33.915] version <- ns[[".package"]][["version"]] [01:27:33.915] if (is.null(version)) [01:27:33.915] version <- utils::packageVersion("future") [01:27:33.915] } [01:27:33.915] else { [01:27:33.915] version <- NULL [01:27:33.915] } [01:27:33.915] if (!has_future || version < "1.8.0") { [01:27:33.915] info <- base::c(r_version = base::gsub("R version ", [01:27:33.915] "", base::R.version$version.string), [01:27:33.915] platform = base::sprintf("%s (%s-bit)", [01:27:33.915] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:33.915] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:33.915] "release", "version")], collapse = " "), [01:27:33.915] hostname = base::Sys.info()[["nodename"]]) [01:27:33.915] info <- base::sprintf("%s: %s", base::names(info), [01:27:33.915] info) [01:27:33.915] info <- base::paste(info, collapse = "; ") [01:27:33.915] if (!has_future) { [01:27:33.915] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:33.915] info) [01:27:33.915] } [01:27:33.915] else { [01:27:33.915] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:33.915] info, version) [01:27:33.915] } [01:27:33.915] base::stop(msg) [01:27:33.915] } [01:27:33.915] }) [01:27:33.915] } [01:27:33.915] options(future.plan = NULL) [01:27:33.915] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.915] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:33.915] } [01:27:33.915] ...future.workdir <- getwd() [01:27:33.915] } [01:27:33.915] ...future.oldOptions <- base::as.list(base::.Options) [01:27:33.915] ...future.oldEnvVars <- base::Sys.getenv() [01:27:33.915] } [01:27:33.915] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:33.915] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:33.915] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:33.915] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:33.915] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:33.915] future.stdout.windows.reencode = NULL, width = 80L) [01:27:33.915] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:33.915] base::names(...future.oldOptions)) [01:27:33.915] } [01:27:33.915] if (FALSE) { [01:27:33.915] } [01:27:33.915] else { [01:27:33.915] if (TRUE) { [01:27:33.915] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:33.915] open = "w") [01:27:33.915] } [01:27:33.915] else { [01:27:33.915] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:33.915] windows = "NUL", "/dev/null"), open = "w") [01:27:33.915] } [01:27:33.915] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:33.915] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:33.915] base::sink(type = "output", split = FALSE) [01:27:33.915] base::close(...future.stdout) [01:27:33.915] }, add = TRUE) [01:27:33.915] } [01:27:33.915] ...future.frame <- base::sys.nframe() [01:27:33.915] ...future.conditions <- base::list() [01:27:33.915] ...future.rng <- base::globalenv()$.Random.seed [01:27:33.915] if (FALSE) { [01:27:33.915] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:33.915] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:33.915] } [01:27:33.915] ...future.result <- base::tryCatch({ [01:27:33.915] base::withCallingHandlers({ [01:27:33.915] ...future.value <- base::withVisible(base::local({ [01:27:33.915] 2 * a [01:27:33.915] })) [01:27:33.915] future::FutureResult(value = ...future.value$value, [01:27:33.915] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.915] ...future.rng), globalenv = if (FALSE) [01:27:33.915] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:33.915] ...future.globalenv.names)) [01:27:33.915] else NULL, started = ...future.startTime, version = "1.8") [01:27:33.915] }, condition = base::local({ [01:27:33.915] c <- base::c [01:27:33.915] inherits <- base::inherits [01:27:33.915] invokeRestart <- base::invokeRestart [01:27:33.915] length <- base::length [01:27:33.915] list <- base::list [01:27:33.915] seq.int <- base::seq.int [01:27:33.915] signalCondition <- base::signalCondition [01:27:33.915] sys.calls <- base::sys.calls [01:27:33.915] `[[` <- base::`[[` [01:27:33.915] `+` <- base::`+` [01:27:33.915] `<<-` <- base::`<<-` [01:27:33.915] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:33.915] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:33.915] 3L)] [01:27:33.915] } [01:27:33.915] function(cond) { [01:27:33.915] is_error <- inherits(cond, "error") [01:27:33.915] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:33.915] NULL) [01:27:33.915] if (is_error) { [01:27:33.915] sessionInformation <- function() { [01:27:33.915] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:33.915] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:33.915] search = base::search(), system = base::Sys.info()) [01:27:33.915] } [01:27:33.915] ...future.conditions[[length(...future.conditions) + [01:27:33.915] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:33.915] cond$call), session = sessionInformation(), [01:27:33.915] timestamp = base::Sys.time(), signaled = 0L) [01:27:33.915] signalCondition(cond) [01:27:33.915] } [01:27:33.915] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:33.915] "immediateCondition"))) { [01:27:33.915] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:33.915] ...future.conditions[[length(...future.conditions) + [01:27:33.915] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:33.915] if (TRUE && !signal) { [01:27:33.915] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.915] { [01:27:33.915] inherits <- base::inherits [01:27:33.915] invokeRestart <- base::invokeRestart [01:27:33.915] is.null <- base::is.null [01:27:33.915] muffled <- FALSE [01:27:33.915] if (inherits(cond, "message")) { [01:27:33.915] muffled <- grepl(pattern, "muffleMessage") [01:27:33.915] if (muffled) [01:27:33.915] invokeRestart("muffleMessage") [01:27:33.915] } [01:27:33.915] else if (inherits(cond, "warning")) { [01:27:33.915] muffled <- grepl(pattern, "muffleWarning") [01:27:33.915] if (muffled) [01:27:33.915] invokeRestart("muffleWarning") [01:27:33.915] } [01:27:33.915] else if (inherits(cond, "condition")) { [01:27:33.915] if (!is.null(pattern)) { [01:27:33.915] computeRestarts <- base::computeRestarts [01:27:33.915] grepl <- base::grepl [01:27:33.915] restarts <- computeRestarts(cond) [01:27:33.915] for (restart in restarts) { [01:27:33.915] name <- restart$name [01:27:33.915] if (is.null(name)) [01:27:33.915] next [01:27:33.915] if (!grepl(pattern, name)) [01:27:33.915] next [01:27:33.915] invokeRestart(restart) [01:27:33.915] muffled <- TRUE [01:27:33.915] break [01:27:33.915] } [01:27:33.915] } [01:27:33.915] } [01:27:33.915] invisible(muffled) [01:27:33.915] } [01:27:33.915] muffleCondition(cond, pattern = "^muffle") [01:27:33.915] } [01:27:33.915] } [01:27:33.915] else { [01:27:33.915] if (TRUE) { [01:27:33.915] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.915] { [01:27:33.915] inherits <- base::inherits [01:27:33.915] invokeRestart <- base::invokeRestart [01:27:33.915] is.null <- base::is.null [01:27:33.915] muffled <- FALSE [01:27:33.915] if (inherits(cond, "message")) { [01:27:33.915] muffled <- grepl(pattern, "muffleMessage") [01:27:33.915] if (muffled) [01:27:33.915] invokeRestart("muffleMessage") [01:27:33.915] } [01:27:33.915] else if (inherits(cond, "warning")) { [01:27:33.915] muffled <- grepl(pattern, "muffleWarning") [01:27:33.915] if (muffled) [01:27:33.915] invokeRestart("muffleWarning") [01:27:33.915] } [01:27:33.915] else if (inherits(cond, "condition")) { [01:27:33.915] if (!is.null(pattern)) { [01:27:33.915] computeRestarts <- base::computeRestarts [01:27:33.915] grepl <- base::grepl [01:27:33.915] restarts <- computeRestarts(cond) [01:27:33.915] for (restart in restarts) { [01:27:33.915] name <- restart$name [01:27:33.915] if (is.null(name)) [01:27:33.915] next [01:27:33.915] if (!grepl(pattern, name)) [01:27:33.915] next [01:27:33.915] invokeRestart(restart) [01:27:33.915] muffled <- TRUE [01:27:33.915] break [01:27:33.915] } [01:27:33.915] } [01:27:33.915] } [01:27:33.915] invisible(muffled) [01:27:33.915] } [01:27:33.915] muffleCondition(cond, pattern = "^muffle") [01:27:33.915] } [01:27:33.915] } [01:27:33.915] } [01:27:33.915] })) [01:27:33.915] }, error = function(ex) { [01:27:33.915] base::structure(base::list(value = NULL, visible = NULL, [01:27:33.915] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.915] ...future.rng), started = ...future.startTime, [01:27:33.915] finished = Sys.time(), session_uuid = NA_character_, [01:27:33.915] version = "1.8"), class = "FutureResult") [01:27:33.915] }, finally = { [01:27:33.915] if (!identical(...future.workdir, getwd())) [01:27:33.915] setwd(...future.workdir) [01:27:33.915] { [01:27:33.915] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:33.915] ...future.oldOptions$nwarnings <- NULL [01:27:33.915] } [01:27:33.915] base::options(...future.oldOptions) [01:27:33.915] if (.Platform$OS.type == "windows") { [01:27:33.915] old_names <- names(...future.oldEnvVars) [01:27:33.915] envs <- base::Sys.getenv() [01:27:33.915] names <- names(envs) [01:27:33.915] common <- intersect(names, old_names) [01:27:33.915] added <- setdiff(names, old_names) [01:27:33.915] removed <- setdiff(old_names, names) [01:27:33.915] changed <- common[...future.oldEnvVars[common] != [01:27:33.915] envs[common]] [01:27:33.915] NAMES <- toupper(changed) [01:27:33.915] args <- list() [01:27:33.915] for (kk in seq_along(NAMES)) { [01:27:33.915] name <- changed[[kk]] [01:27:33.915] NAME <- NAMES[[kk]] [01:27:33.915] if (name != NAME && is.element(NAME, old_names)) [01:27:33.915] next [01:27:33.915] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.915] } [01:27:33.915] NAMES <- toupper(added) [01:27:33.915] for (kk in seq_along(NAMES)) { [01:27:33.915] name <- added[[kk]] [01:27:33.915] NAME <- NAMES[[kk]] [01:27:33.915] if (name != NAME && is.element(NAME, old_names)) [01:27:33.915] next [01:27:33.915] args[[name]] <- "" [01:27:33.915] } [01:27:33.915] NAMES <- toupper(removed) [01:27:33.915] for (kk in seq_along(NAMES)) { [01:27:33.915] name <- removed[[kk]] [01:27:33.915] NAME <- NAMES[[kk]] [01:27:33.915] if (name != NAME && is.element(NAME, old_names)) [01:27:33.915] next [01:27:33.915] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.915] } [01:27:33.915] if (length(args) > 0) [01:27:33.915] base::do.call(base::Sys.setenv, args = args) [01:27:33.915] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:33.915] } [01:27:33.915] else { [01:27:33.915] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:33.915] } [01:27:33.915] { [01:27:33.915] if (base::length(...future.futureOptionsAdded) > [01:27:33.915] 0L) { [01:27:33.915] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:33.915] base::names(opts) <- ...future.futureOptionsAdded [01:27:33.915] base::options(opts) [01:27:33.915] } [01:27:33.915] { [01:27:33.915] { [01:27:33.915] NULL [01:27:33.915] RNGkind("Mersenne-Twister") [01:27:33.915] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:33.915] inherits = FALSE) [01:27:33.915] } [01:27:33.915] options(future.plan = NULL) [01:27:33.915] if (is.na(NA_character_)) [01:27:33.915] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.915] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:33.915] future::plan(list(function (..., envir = parent.frame()) [01:27:33.915] { [01:27:33.915] future <- SequentialFuture(..., envir = envir) [01:27:33.915] if (!future$lazy) [01:27:33.915] future <- run(future) [01:27:33.915] invisible(future) [01:27:33.915] }), .cleanup = FALSE, .init = FALSE) [01:27:33.915] } [01:27:33.915] } [01:27:33.915] } [01:27:33.915] }) [01:27:33.915] if (TRUE) { [01:27:33.915] base::sink(type = "output", split = FALSE) [01:27:33.915] if (TRUE) { [01:27:33.915] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:33.915] } [01:27:33.915] else { [01:27:33.915] ...future.result["stdout"] <- base::list(NULL) [01:27:33.915] } [01:27:33.915] base::close(...future.stdout) [01:27:33.915] ...future.stdout <- NULL [01:27:33.915] } [01:27:33.915] ...future.result$conditions <- ...future.conditions [01:27:33.915] ...future.result$finished <- base::Sys.time() [01:27:33.915] ...future.result [01:27:33.915] } [01:27:33.919] assign_globals() ... [01:27:33.919] List of 1 [01:27:33.919] $ a: num 1 [01:27:33.919] - attr(*, "where")=List of 1 [01:27:33.919] ..$ a: [01:27:33.919] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:27:33.919] - attr(*, "resolved")= logi FALSE [01:27:33.919] - attr(*, "total_size")= num 56 [01:27:33.919] - attr(*, "already-done")= logi TRUE [01:27:33.923] - copied 'a' to environment [01:27:33.923] assign_globals() ... done [01:27:33.924] plan(): Setting new future strategy stack: [01:27:33.924] List of future strategies: [01:27:33.924] 1. sequential: [01:27:33.924] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.924] - tweaked: FALSE [01:27:33.924] - call: NULL [01:27:33.925] plan(): nbrOfWorkers() = 1 [01:27:33.926] plan(): Setting new future strategy stack: [01:27:33.926] List of future strategies: [01:27:33.926] 1. sequential: [01:27:33.926] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.926] - tweaked: FALSE [01:27:33.926] - call: plan(strategy) [01:27:33.927] plan(): nbrOfWorkers() = 1 [01:27:33.927] SequentialFuture started (and completed) [01:27:33.927] - Launch lazy future ... done [01:27:33.927] run() for 'SequentialFuture' ... done [01:27:33.928] getGlobalsAndPackages() ... [01:27:33.928] Searching for globals... [01:27:33.929] - globals found: [3] '{', '*', 'a' [01:27:33.930] Searching for globals ... DONE [01:27:33.930] Resolving globals: FALSE [01:27:33.930] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:33.931] The total size of the 1 globals exported for future expression ('{; 2 * a; }') 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') [01:27:33.931] - globals: [1] 'a' [01:27:33.931] [01:27:33.931] getGlobalsAndPackages() ... DONE [01:27:33.932] run() for 'Future' ... [01:27:33.932] - state: 'created' [01:27:33.932] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:33.933] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:33.933] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:33.933] - Field: 'label' [01:27:33.933] - Field: 'local' [01:27:33.933] - Field: 'owner' [01:27:33.934] - Field: 'envir' [01:27:33.934] - Field: 'packages' [01:27:33.934] - Field: 'gc' [01:27:33.934] - Field: 'conditions' [01:27:33.934] - Field: 'expr' [01:27:33.935] - Field: 'uuid' [01:27:33.935] - Field: 'seed' [01:27:33.935] - Field: 'version' [01:27:33.935] - Field: 'result' [01:27:33.935] - Field: 'asynchronous' [01:27:33.936] - Field: 'calls' [01:27:33.936] - Field: 'globals' [01:27:33.936] - Field: 'stdout' [01:27:33.936] - Field: 'earlySignal' [01:27:33.937] - Field: 'lazy' [01:27:33.939] - Field: 'state' [01:27:33.939] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:33.939] - Launch lazy future ... [01:27:33.939] Packages needed by the future expression (n = 0): [01:27:33.940] Packages needed by future strategies (n = 0): [01:27:33.940] { [01:27:33.940] { [01:27:33.940] { [01:27:33.940] ...future.startTime <- base::Sys.time() [01:27:33.940] { [01:27:33.940] { [01:27:33.940] { [01:27:33.940] base::local({ [01:27:33.940] has_future <- base::requireNamespace("future", [01:27:33.940] quietly = TRUE) [01:27:33.940] if (has_future) { [01:27:33.940] ns <- base::getNamespace("future") [01:27:33.940] version <- ns[[".package"]][["version"]] [01:27:33.940] if (is.null(version)) [01:27:33.940] version <- utils::packageVersion("future") [01:27:33.940] } [01:27:33.940] else { [01:27:33.940] version <- NULL [01:27:33.940] } [01:27:33.940] if (!has_future || version < "1.8.0") { [01:27:33.940] info <- base::c(r_version = base::gsub("R version ", [01:27:33.940] "", base::R.version$version.string), [01:27:33.940] platform = base::sprintf("%s (%s-bit)", [01:27:33.940] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:33.940] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:33.940] "release", "version")], collapse = " "), [01:27:33.940] hostname = base::Sys.info()[["nodename"]]) [01:27:33.940] info <- base::sprintf("%s: %s", base::names(info), [01:27:33.940] info) [01:27:33.940] info <- base::paste(info, collapse = "; ") [01:27:33.940] if (!has_future) { [01:27:33.940] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:33.940] info) [01:27:33.940] } [01:27:33.940] else { [01:27:33.940] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:33.940] info, version) [01:27:33.940] } [01:27:33.940] base::stop(msg) [01:27:33.940] } [01:27:33.940] }) [01:27:33.940] } [01:27:33.940] options(future.plan = NULL) [01:27:33.940] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.940] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:33.940] } [01:27:33.940] ...future.workdir <- getwd() [01:27:33.940] } [01:27:33.940] ...future.oldOptions <- base::as.list(base::.Options) [01:27:33.940] ...future.oldEnvVars <- base::Sys.getenv() [01:27:33.940] } [01:27:33.940] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:33.940] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:33.940] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:33.940] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:33.940] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:33.940] future.stdout.windows.reencode = NULL, width = 80L) [01:27:33.940] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:33.940] base::names(...future.oldOptions)) [01:27:33.940] } [01:27:33.940] if (FALSE) { [01:27:33.940] } [01:27:33.940] else { [01:27:33.940] if (TRUE) { [01:27:33.940] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:33.940] open = "w") [01:27:33.940] } [01:27:33.940] else { [01:27:33.940] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:33.940] windows = "NUL", "/dev/null"), open = "w") [01:27:33.940] } [01:27:33.940] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:33.940] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:33.940] base::sink(type = "output", split = FALSE) [01:27:33.940] base::close(...future.stdout) [01:27:33.940] }, add = TRUE) [01:27:33.940] } [01:27:33.940] ...future.frame <- base::sys.nframe() [01:27:33.940] ...future.conditions <- base::list() [01:27:33.940] ...future.rng <- base::globalenv()$.Random.seed [01:27:33.940] if (FALSE) { [01:27:33.940] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:33.940] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:33.940] } [01:27:33.940] ...future.result <- base::tryCatch({ [01:27:33.940] base::withCallingHandlers({ [01:27:33.940] ...future.value <- base::withVisible(base::local({ [01:27:33.940] 2 * a [01:27:33.940] })) [01:27:33.940] future::FutureResult(value = ...future.value$value, [01:27:33.940] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.940] ...future.rng), globalenv = if (FALSE) [01:27:33.940] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:33.940] ...future.globalenv.names)) [01:27:33.940] else NULL, started = ...future.startTime, version = "1.8") [01:27:33.940] }, condition = base::local({ [01:27:33.940] c <- base::c [01:27:33.940] inherits <- base::inherits [01:27:33.940] invokeRestart <- base::invokeRestart [01:27:33.940] length <- base::length [01:27:33.940] list <- base::list [01:27:33.940] seq.int <- base::seq.int [01:27:33.940] signalCondition <- base::signalCondition [01:27:33.940] sys.calls <- base::sys.calls [01:27:33.940] `[[` <- base::`[[` [01:27:33.940] `+` <- base::`+` [01:27:33.940] `<<-` <- base::`<<-` [01:27:33.940] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:33.940] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:33.940] 3L)] [01:27:33.940] } [01:27:33.940] function(cond) { [01:27:33.940] is_error <- inherits(cond, "error") [01:27:33.940] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:33.940] NULL) [01:27:33.940] if (is_error) { [01:27:33.940] sessionInformation <- function() { [01:27:33.940] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:33.940] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:33.940] search = base::search(), system = base::Sys.info()) [01:27:33.940] } [01:27:33.940] ...future.conditions[[length(...future.conditions) + [01:27:33.940] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:33.940] cond$call), session = sessionInformation(), [01:27:33.940] timestamp = base::Sys.time(), signaled = 0L) [01:27:33.940] signalCondition(cond) [01:27:33.940] } [01:27:33.940] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:33.940] "immediateCondition"))) { [01:27:33.940] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:33.940] ...future.conditions[[length(...future.conditions) + [01:27:33.940] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:33.940] if (TRUE && !signal) { [01:27:33.940] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.940] { [01:27:33.940] inherits <- base::inherits [01:27:33.940] invokeRestart <- base::invokeRestart [01:27:33.940] is.null <- base::is.null [01:27:33.940] muffled <- FALSE [01:27:33.940] if (inherits(cond, "message")) { [01:27:33.940] muffled <- grepl(pattern, "muffleMessage") [01:27:33.940] if (muffled) [01:27:33.940] invokeRestart("muffleMessage") [01:27:33.940] } [01:27:33.940] else if (inherits(cond, "warning")) { [01:27:33.940] muffled <- grepl(pattern, "muffleWarning") [01:27:33.940] if (muffled) [01:27:33.940] invokeRestart("muffleWarning") [01:27:33.940] } [01:27:33.940] else if (inherits(cond, "condition")) { [01:27:33.940] if (!is.null(pattern)) { [01:27:33.940] computeRestarts <- base::computeRestarts [01:27:33.940] grepl <- base::grepl [01:27:33.940] restarts <- computeRestarts(cond) [01:27:33.940] for (restart in restarts) { [01:27:33.940] name <- restart$name [01:27:33.940] if (is.null(name)) [01:27:33.940] next [01:27:33.940] if (!grepl(pattern, name)) [01:27:33.940] next [01:27:33.940] invokeRestart(restart) [01:27:33.940] muffled <- TRUE [01:27:33.940] break [01:27:33.940] } [01:27:33.940] } [01:27:33.940] } [01:27:33.940] invisible(muffled) [01:27:33.940] } [01:27:33.940] muffleCondition(cond, pattern = "^muffle") [01:27:33.940] } [01:27:33.940] } [01:27:33.940] else { [01:27:33.940] if (TRUE) { [01:27:33.940] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.940] { [01:27:33.940] inherits <- base::inherits [01:27:33.940] invokeRestart <- base::invokeRestart [01:27:33.940] is.null <- base::is.null [01:27:33.940] muffled <- FALSE [01:27:33.940] if (inherits(cond, "message")) { [01:27:33.940] muffled <- grepl(pattern, "muffleMessage") [01:27:33.940] if (muffled) [01:27:33.940] invokeRestart("muffleMessage") [01:27:33.940] } [01:27:33.940] else if (inherits(cond, "warning")) { [01:27:33.940] muffled <- grepl(pattern, "muffleWarning") [01:27:33.940] if (muffled) [01:27:33.940] invokeRestart("muffleWarning") [01:27:33.940] } [01:27:33.940] else if (inherits(cond, "condition")) { [01:27:33.940] if (!is.null(pattern)) { [01:27:33.940] computeRestarts <- base::computeRestarts [01:27:33.940] grepl <- base::grepl [01:27:33.940] restarts <- computeRestarts(cond) [01:27:33.940] for (restart in restarts) { [01:27:33.940] name <- restart$name [01:27:33.940] if (is.null(name)) [01:27:33.940] next [01:27:33.940] if (!grepl(pattern, name)) [01:27:33.940] next [01:27:33.940] invokeRestart(restart) [01:27:33.940] muffled <- TRUE [01:27:33.940] break [01:27:33.940] } [01:27:33.940] } [01:27:33.940] } [01:27:33.940] invisible(muffled) [01:27:33.940] } [01:27:33.940] muffleCondition(cond, pattern = "^muffle") [01:27:33.940] } [01:27:33.940] } [01:27:33.940] } [01:27:33.940] })) [01:27:33.940] }, error = function(ex) { [01:27:33.940] base::structure(base::list(value = NULL, visible = NULL, [01:27:33.940] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.940] ...future.rng), started = ...future.startTime, [01:27:33.940] finished = Sys.time(), session_uuid = NA_character_, [01:27:33.940] version = "1.8"), class = "FutureResult") [01:27:33.940] }, finally = { [01:27:33.940] if (!identical(...future.workdir, getwd())) [01:27:33.940] setwd(...future.workdir) [01:27:33.940] { [01:27:33.940] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:33.940] ...future.oldOptions$nwarnings <- NULL [01:27:33.940] } [01:27:33.940] base::options(...future.oldOptions) [01:27:33.940] if (.Platform$OS.type == "windows") { [01:27:33.940] old_names <- names(...future.oldEnvVars) [01:27:33.940] envs <- base::Sys.getenv() [01:27:33.940] names <- names(envs) [01:27:33.940] common <- intersect(names, old_names) [01:27:33.940] added <- setdiff(names, old_names) [01:27:33.940] removed <- setdiff(old_names, names) [01:27:33.940] changed <- common[...future.oldEnvVars[common] != [01:27:33.940] envs[common]] [01:27:33.940] NAMES <- toupper(changed) [01:27:33.940] args <- list() [01:27:33.940] for (kk in seq_along(NAMES)) { [01:27:33.940] name <- changed[[kk]] [01:27:33.940] NAME <- NAMES[[kk]] [01:27:33.940] if (name != NAME && is.element(NAME, old_names)) [01:27:33.940] next [01:27:33.940] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.940] } [01:27:33.940] NAMES <- toupper(added) [01:27:33.940] for (kk in seq_along(NAMES)) { [01:27:33.940] name <- added[[kk]] [01:27:33.940] NAME <- NAMES[[kk]] [01:27:33.940] if (name != NAME && is.element(NAME, old_names)) [01:27:33.940] next [01:27:33.940] args[[name]] <- "" [01:27:33.940] } [01:27:33.940] NAMES <- toupper(removed) [01:27:33.940] for (kk in seq_along(NAMES)) { [01:27:33.940] name <- removed[[kk]] [01:27:33.940] NAME <- NAMES[[kk]] [01:27:33.940] if (name != NAME && is.element(NAME, old_names)) [01:27:33.940] next [01:27:33.940] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.940] } [01:27:33.940] if (length(args) > 0) [01:27:33.940] base::do.call(base::Sys.setenv, args = args) [01:27:33.940] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:33.940] } [01:27:33.940] else { [01:27:33.940] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:33.940] } [01:27:33.940] { [01:27:33.940] if (base::length(...future.futureOptionsAdded) > [01:27:33.940] 0L) { [01:27:33.940] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:33.940] base::names(opts) <- ...future.futureOptionsAdded [01:27:33.940] base::options(opts) [01:27:33.940] } [01:27:33.940] { [01:27:33.940] { [01:27:33.940] NULL [01:27:33.940] RNGkind("Mersenne-Twister") [01:27:33.940] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:33.940] inherits = FALSE) [01:27:33.940] } [01:27:33.940] options(future.plan = NULL) [01:27:33.940] if (is.na(NA_character_)) [01:27:33.940] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.940] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:33.940] future::plan(list(function (..., envir = parent.frame()) [01:27:33.940] { [01:27:33.940] future <- SequentialFuture(..., envir = envir) [01:27:33.940] if (!future$lazy) [01:27:33.940] future <- run(future) [01:27:33.940] invisible(future) [01:27:33.940] }), .cleanup = FALSE, .init = FALSE) [01:27:33.940] } [01:27:33.940] } [01:27:33.940] } [01:27:33.940] }) [01:27:33.940] if (TRUE) { [01:27:33.940] base::sink(type = "output", split = FALSE) [01:27:33.940] if (TRUE) { [01:27:33.940] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:33.940] } [01:27:33.940] else { [01:27:33.940] ...future.result["stdout"] <- base::list(NULL) [01:27:33.940] } [01:27:33.940] base::close(...future.stdout) [01:27:33.940] ...future.stdout <- NULL [01:27:33.940] } [01:27:33.940] ...future.result$conditions <- ...future.conditions [01:27:33.940] ...future.result$finished <- base::Sys.time() [01:27:33.940] ...future.result [01:27:33.940] } [01:27:33.944] assign_globals() ... [01:27:33.944] List of 1 [01:27:33.944] $ a: num 1 [01:27:33.944] - attr(*, "where")=List of 1 [01:27:33.944] ..$ a: [01:27:33.944] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:27:33.944] - attr(*, "resolved")= logi FALSE [01:27:33.944] - attr(*, "total_size")= num 56 [01:27:33.944] - attr(*, "already-done")= logi TRUE [01:27:33.949] - copied 'a' to environment [01:27:33.949] assign_globals() ... done [01:27:33.950] plan(): Setting new future strategy stack: [01:27:33.950] List of future strategies: [01:27:33.950] 1. sequential: [01:27:33.950] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.950] - tweaked: FALSE [01:27:33.950] - call: NULL [01:27:33.951] plan(): nbrOfWorkers() = 1 [01:27:33.952] plan(): Setting new future strategy stack: [01:27:33.952] List of future strategies: [01:27:33.952] 1. sequential: [01:27:33.952] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.952] - tweaked: FALSE [01:27:33.952] - call: plan(strategy) [01:27:33.953] plan(): nbrOfWorkers() = 1 [01:27:33.953] SequentialFuture started (and completed) [01:27:33.953] - Launch lazy future ... done [01:27:33.954] run() for 'SequentialFuture' ... done [01:27:33.954] getGlobalsAndPackages() ... [01:27:33.954] Searching for globals... [01:27:33.956] - globals found: [3] '{', '*', 'a' [01:27:33.956] Searching for globals ... DONE [01:27:33.956] Resolving globals: FALSE [01:27:33.957] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:33.957] The total size of the 1 globals exported for future expression ('{; 2 * a; }') 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') [01:27:33.957] - globals: [1] 'a' [01:27:33.958] [01:27:33.958] getGlobalsAndPackages() ... DONE [01:27:33.958] run() for 'Future' ... [01:27:33.958] - state: 'created' [01:27:33.959] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:33.959] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:33.959] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:33.959] - Field: 'label' [01:27:33.960] - Field: 'local' [01:27:33.960] - Field: 'owner' [01:27:33.960] - Field: 'envir' [01:27:33.960] - Field: 'packages' [01:27:33.961] - Field: 'gc' [01:27:33.961] - Field: 'conditions' [01:27:33.961] - Field: 'expr' [01:27:33.961] - Field: 'uuid' [01:27:33.961] - Field: 'seed' [01:27:33.962] - Field: 'version' [01:27:33.962] - Field: 'result' [01:27:33.962] - Field: 'asynchronous' [01:27:33.962] - Field: 'calls' [01:27:33.962] - Field: 'globals' [01:27:33.963] - Field: 'stdout' [01:27:33.963] - Field: 'earlySignal' [01:27:33.963] - Field: 'lazy' [01:27:33.963] - Field: 'state' [01:27:33.963] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:33.964] - Launch lazy future ... [01:27:33.964] Packages needed by the future expression (n = 0): [01:27:33.964] Packages needed by future strategies (n = 0): [01:27:33.965] { [01:27:33.965] { [01:27:33.965] { [01:27:33.965] ...future.startTime <- base::Sys.time() [01:27:33.965] { [01:27:33.965] { [01:27:33.965] { [01:27:33.965] base::local({ [01:27:33.965] has_future <- base::requireNamespace("future", [01:27:33.965] quietly = TRUE) [01:27:33.965] if (has_future) { [01:27:33.965] ns <- base::getNamespace("future") [01:27:33.965] version <- ns[[".package"]][["version"]] [01:27:33.965] if (is.null(version)) [01:27:33.965] version <- utils::packageVersion("future") [01:27:33.965] } [01:27:33.965] else { [01:27:33.965] version <- NULL [01:27:33.965] } [01:27:33.965] if (!has_future || version < "1.8.0") { [01:27:33.965] info <- base::c(r_version = base::gsub("R version ", [01:27:33.965] "", base::R.version$version.string), [01:27:33.965] platform = base::sprintf("%s (%s-bit)", [01:27:33.965] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:33.965] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:33.965] "release", "version")], collapse = " "), [01:27:33.965] hostname = base::Sys.info()[["nodename"]]) [01:27:33.965] info <- base::sprintf("%s: %s", base::names(info), [01:27:33.965] info) [01:27:33.965] info <- base::paste(info, collapse = "; ") [01:27:33.965] if (!has_future) { [01:27:33.965] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:33.965] info) [01:27:33.965] } [01:27:33.965] else { [01:27:33.965] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:33.965] info, version) [01:27:33.965] } [01:27:33.965] base::stop(msg) [01:27:33.965] } [01:27:33.965] }) [01:27:33.965] } [01:27:33.965] options(future.plan = NULL) [01:27:33.965] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.965] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:33.965] } [01:27:33.965] ...future.workdir <- getwd() [01:27:33.965] } [01:27:33.965] ...future.oldOptions <- base::as.list(base::.Options) [01:27:33.965] ...future.oldEnvVars <- base::Sys.getenv() [01:27:33.965] } [01:27:33.965] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:33.965] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:33.965] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:33.965] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:33.965] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:33.965] future.stdout.windows.reencode = NULL, width = 80L) [01:27:33.965] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:33.965] base::names(...future.oldOptions)) [01:27:33.965] } [01:27:33.965] if (FALSE) { [01:27:33.965] } [01:27:33.965] else { [01:27:33.965] if (TRUE) { [01:27:33.965] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:33.965] open = "w") [01:27:33.965] } [01:27:33.965] else { [01:27:33.965] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:33.965] windows = "NUL", "/dev/null"), open = "w") [01:27:33.965] } [01:27:33.965] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:33.965] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:33.965] base::sink(type = "output", split = FALSE) [01:27:33.965] base::close(...future.stdout) [01:27:33.965] }, add = TRUE) [01:27:33.965] } [01:27:33.965] ...future.frame <- base::sys.nframe() [01:27:33.965] ...future.conditions <- base::list() [01:27:33.965] ...future.rng <- base::globalenv()$.Random.seed [01:27:33.965] if (FALSE) { [01:27:33.965] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:33.965] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:33.965] } [01:27:33.965] ...future.result <- base::tryCatch({ [01:27:33.965] base::withCallingHandlers({ [01:27:33.965] ...future.value <- base::withVisible(base::local({ [01:27:33.965] 2 * a [01:27:33.965] })) [01:27:33.965] future::FutureResult(value = ...future.value$value, [01:27:33.965] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.965] ...future.rng), globalenv = if (FALSE) [01:27:33.965] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:33.965] ...future.globalenv.names)) [01:27:33.965] else NULL, started = ...future.startTime, version = "1.8") [01:27:33.965] }, condition = base::local({ [01:27:33.965] c <- base::c [01:27:33.965] inherits <- base::inherits [01:27:33.965] invokeRestart <- base::invokeRestart [01:27:33.965] length <- base::length [01:27:33.965] list <- base::list [01:27:33.965] seq.int <- base::seq.int [01:27:33.965] signalCondition <- base::signalCondition [01:27:33.965] sys.calls <- base::sys.calls [01:27:33.965] `[[` <- base::`[[` [01:27:33.965] `+` <- base::`+` [01:27:33.965] `<<-` <- base::`<<-` [01:27:33.965] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:33.965] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:33.965] 3L)] [01:27:33.965] } [01:27:33.965] function(cond) { [01:27:33.965] is_error <- inherits(cond, "error") [01:27:33.965] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:33.965] NULL) [01:27:33.965] if (is_error) { [01:27:33.965] sessionInformation <- function() { [01:27:33.965] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:33.965] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:33.965] search = base::search(), system = base::Sys.info()) [01:27:33.965] } [01:27:33.965] ...future.conditions[[length(...future.conditions) + [01:27:33.965] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:33.965] cond$call), session = sessionInformation(), [01:27:33.965] timestamp = base::Sys.time(), signaled = 0L) [01:27:33.965] signalCondition(cond) [01:27:33.965] } [01:27:33.965] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:33.965] "immediateCondition"))) { [01:27:33.965] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:33.965] ...future.conditions[[length(...future.conditions) + [01:27:33.965] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:33.965] if (TRUE && !signal) { [01:27:33.965] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.965] { [01:27:33.965] inherits <- base::inherits [01:27:33.965] invokeRestart <- base::invokeRestart [01:27:33.965] is.null <- base::is.null [01:27:33.965] muffled <- FALSE [01:27:33.965] if (inherits(cond, "message")) { [01:27:33.965] muffled <- grepl(pattern, "muffleMessage") [01:27:33.965] if (muffled) [01:27:33.965] invokeRestart("muffleMessage") [01:27:33.965] } [01:27:33.965] else if (inherits(cond, "warning")) { [01:27:33.965] muffled <- grepl(pattern, "muffleWarning") [01:27:33.965] if (muffled) [01:27:33.965] invokeRestart("muffleWarning") [01:27:33.965] } [01:27:33.965] else if (inherits(cond, "condition")) { [01:27:33.965] if (!is.null(pattern)) { [01:27:33.965] computeRestarts <- base::computeRestarts [01:27:33.965] grepl <- base::grepl [01:27:33.965] restarts <- computeRestarts(cond) [01:27:33.965] for (restart in restarts) { [01:27:33.965] name <- restart$name [01:27:33.965] if (is.null(name)) [01:27:33.965] next [01:27:33.965] if (!grepl(pattern, name)) [01:27:33.965] next [01:27:33.965] invokeRestart(restart) [01:27:33.965] muffled <- TRUE [01:27:33.965] break [01:27:33.965] } [01:27:33.965] } [01:27:33.965] } [01:27:33.965] invisible(muffled) [01:27:33.965] } [01:27:33.965] muffleCondition(cond, pattern = "^muffle") [01:27:33.965] } [01:27:33.965] } [01:27:33.965] else { [01:27:33.965] if (TRUE) { [01:27:33.965] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.965] { [01:27:33.965] inherits <- base::inherits [01:27:33.965] invokeRestart <- base::invokeRestart [01:27:33.965] is.null <- base::is.null [01:27:33.965] muffled <- FALSE [01:27:33.965] if (inherits(cond, "message")) { [01:27:33.965] muffled <- grepl(pattern, "muffleMessage") [01:27:33.965] if (muffled) [01:27:33.965] invokeRestart("muffleMessage") [01:27:33.965] } [01:27:33.965] else if (inherits(cond, "warning")) { [01:27:33.965] muffled <- grepl(pattern, "muffleWarning") [01:27:33.965] if (muffled) [01:27:33.965] invokeRestart("muffleWarning") [01:27:33.965] } [01:27:33.965] else if (inherits(cond, "condition")) { [01:27:33.965] if (!is.null(pattern)) { [01:27:33.965] computeRestarts <- base::computeRestarts [01:27:33.965] grepl <- base::grepl [01:27:33.965] restarts <- computeRestarts(cond) [01:27:33.965] for (restart in restarts) { [01:27:33.965] name <- restart$name [01:27:33.965] if (is.null(name)) [01:27:33.965] next [01:27:33.965] if (!grepl(pattern, name)) [01:27:33.965] next [01:27:33.965] invokeRestart(restart) [01:27:33.965] muffled <- TRUE [01:27:33.965] break [01:27:33.965] } [01:27:33.965] } [01:27:33.965] } [01:27:33.965] invisible(muffled) [01:27:33.965] } [01:27:33.965] muffleCondition(cond, pattern = "^muffle") [01:27:33.965] } [01:27:33.965] } [01:27:33.965] } [01:27:33.965] })) [01:27:33.965] }, error = function(ex) { [01:27:33.965] base::structure(base::list(value = NULL, visible = NULL, [01:27:33.965] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.965] ...future.rng), started = ...future.startTime, [01:27:33.965] finished = Sys.time(), session_uuid = NA_character_, [01:27:33.965] version = "1.8"), class = "FutureResult") [01:27:33.965] }, finally = { [01:27:33.965] if (!identical(...future.workdir, getwd())) [01:27:33.965] setwd(...future.workdir) [01:27:33.965] { [01:27:33.965] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:33.965] ...future.oldOptions$nwarnings <- NULL [01:27:33.965] } [01:27:33.965] base::options(...future.oldOptions) [01:27:33.965] if (.Platform$OS.type == "windows") { [01:27:33.965] old_names <- names(...future.oldEnvVars) [01:27:33.965] envs <- base::Sys.getenv() [01:27:33.965] names <- names(envs) [01:27:33.965] common <- intersect(names, old_names) [01:27:33.965] added <- setdiff(names, old_names) [01:27:33.965] removed <- setdiff(old_names, names) [01:27:33.965] changed <- common[...future.oldEnvVars[common] != [01:27:33.965] envs[common]] [01:27:33.965] NAMES <- toupper(changed) [01:27:33.965] args <- list() [01:27:33.965] for (kk in seq_along(NAMES)) { [01:27:33.965] name <- changed[[kk]] [01:27:33.965] NAME <- NAMES[[kk]] [01:27:33.965] if (name != NAME && is.element(NAME, old_names)) [01:27:33.965] next [01:27:33.965] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.965] } [01:27:33.965] NAMES <- toupper(added) [01:27:33.965] for (kk in seq_along(NAMES)) { [01:27:33.965] name <- added[[kk]] [01:27:33.965] NAME <- NAMES[[kk]] [01:27:33.965] if (name != NAME && is.element(NAME, old_names)) [01:27:33.965] next [01:27:33.965] args[[name]] <- "" [01:27:33.965] } [01:27:33.965] NAMES <- toupper(removed) [01:27:33.965] for (kk in seq_along(NAMES)) { [01:27:33.965] name <- removed[[kk]] [01:27:33.965] NAME <- NAMES[[kk]] [01:27:33.965] if (name != NAME && is.element(NAME, old_names)) [01:27:33.965] next [01:27:33.965] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.965] } [01:27:33.965] if (length(args) > 0) [01:27:33.965] base::do.call(base::Sys.setenv, args = args) [01:27:33.965] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:33.965] } [01:27:33.965] else { [01:27:33.965] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:33.965] } [01:27:33.965] { [01:27:33.965] if (base::length(...future.futureOptionsAdded) > [01:27:33.965] 0L) { [01:27:33.965] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:33.965] base::names(opts) <- ...future.futureOptionsAdded [01:27:33.965] base::options(opts) [01:27:33.965] } [01:27:33.965] { [01:27:33.965] { [01:27:33.965] NULL [01:27:33.965] RNGkind("Mersenne-Twister") [01:27:33.965] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:33.965] inherits = FALSE) [01:27:33.965] } [01:27:33.965] options(future.plan = NULL) [01:27:33.965] if (is.na(NA_character_)) [01:27:33.965] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.965] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:33.965] future::plan(list(function (..., envir = parent.frame()) [01:27:33.965] { [01:27:33.965] future <- SequentialFuture(..., envir = envir) [01:27:33.965] if (!future$lazy) [01:27:33.965] future <- run(future) [01:27:33.965] invisible(future) [01:27:33.965] }), .cleanup = FALSE, .init = FALSE) [01:27:33.965] } [01:27:33.965] } [01:27:33.965] } [01:27:33.965] }) [01:27:33.965] if (TRUE) { [01:27:33.965] base::sink(type = "output", split = FALSE) [01:27:33.965] if (TRUE) { [01:27:33.965] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:33.965] } [01:27:33.965] else { [01:27:33.965] ...future.result["stdout"] <- base::list(NULL) [01:27:33.965] } [01:27:33.965] base::close(...future.stdout) [01:27:33.965] ...future.stdout <- NULL [01:27:33.965] } [01:27:33.965] ...future.result$conditions <- ...future.conditions [01:27:33.965] ...future.result$finished <- base::Sys.time() [01:27:33.965] ...future.result [01:27:33.965] } [01:27:33.968] assign_globals() ... [01:27:33.969] List of 1 [01:27:33.969] $ a: num 1 [01:27:33.969] - attr(*, "where")=List of 1 [01:27:33.969] ..$ a: [01:27:33.969] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:27:33.969] - attr(*, "resolved")= logi FALSE [01:27:33.969] - attr(*, "total_size")= num 56 [01:27:33.969] - attr(*, "already-done")= logi TRUE [01:27:33.972] - copied 'a' to environment [01:27:33.972] assign_globals() ... done [01:27:33.973] plan(): Setting new future strategy stack: [01:27:33.973] List of future strategies: [01:27:33.973] 1. sequential: [01:27:33.973] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.973] - tweaked: FALSE [01:27:33.973] - call: NULL [01:27:33.973] plan(): nbrOfWorkers() = 1 [01:27:33.975] plan(): Setting new future strategy stack: [01:27:33.975] List of future strategies: [01:27:33.975] 1. sequential: [01:27:33.975] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.975] - tweaked: FALSE [01:27:33.975] - call: plan(strategy) [01:27:33.975] plan(): nbrOfWorkers() = 1 [01:27:33.976] SequentialFuture started (and completed) [01:27:33.976] - Launch lazy future ... done [01:27:33.976] run() for 'SequentialFuture' ... done [01:27:33.976] getGlobalsAndPackages() ... [01:27:33.977] Searching for globals... [01:27:33.978] - globals found: [3] '{', '*', 'a' [01:27:33.978] Searching for globals ... DONE [01:27:33.978] Resolving globals: FALSE [01:27:33.979] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:33.979] The total size of the 1 globals exported for future expression ('{; 2 * a; }') 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') [01:27:33.979] - globals: [1] 'a' [01:27:33.980] [01:27:33.980] getGlobalsAndPackages() ... DONE [01:27:33.980] run() for 'Future' ... [01:27:33.980] - state: 'created' [01:27:33.981] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:33.982] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:33.983] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:33.983] - Field: 'label' [01:27:33.983] - Field: 'local' [01:27:33.983] - Field: 'owner' [01:27:33.983] - Field: 'envir' [01:27:33.983] - Field: 'packages' [01:27:33.984] - Field: 'gc' [01:27:33.984] - Field: 'conditions' [01:27:33.984] - Field: 'expr' [01:27:33.984] - Field: 'uuid' [01:27:33.984] - Field: 'seed' [01:27:33.985] - Field: 'version' [01:27:33.985] - Field: 'result' [01:27:33.985] - Field: 'asynchronous' [01:27:33.985] - Field: 'calls' [01:27:33.985] - Field: 'globals' [01:27:33.986] - Field: 'stdout' [01:27:33.986] - Field: 'earlySignal' [01:27:33.986] - Field: 'lazy' [01:27:33.986] - Field: 'state' [01:27:33.986] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:33.987] - Launch lazy future ... [01:27:33.987] Packages needed by the future expression (n = 0): [01:27:33.987] Packages needed by future strategies (n = 0): [01:27:33.988] { [01:27:33.988] { [01:27:33.988] { [01:27:33.988] ...future.startTime <- base::Sys.time() [01:27:33.988] { [01:27:33.988] { [01:27:33.988] { [01:27:33.988] base::local({ [01:27:33.988] has_future <- base::requireNamespace("future", [01:27:33.988] quietly = TRUE) [01:27:33.988] if (has_future) { [01:27:33.988] ns <- base::getNamespace("future") [01:27:33.988] version <- ns[[".package"]][["version"]] [01:27:33.988] if (is.null(version)) [01:27:33.988] version <- utils::packageVersion("future") [01:27:33.988] } [01:27:33.988] else { [01:27:33.988] version <- NULL [01:27:33.988] } [01:27:33.988] if (!has_future || version < "1.8.0") { [01:27:33.988] info <- base::c(r_version = base::gsub("R version ", [01:27:33.988] "", base::R.version$version.string), [01:27:33.988] platform = base::sprintf("%s (%s-bit)", [01:27:33.988] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:33.988] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:33.988] "release", "version")], collapse = " "), [01:27:33.988] hostname = base::Sys.info()[["nodename"]]) [01:27:33.988] info <- base::sprintf("%s: %s", base::names(info), [01:27:33.988] info) [01:27:33.988] info <- base::paste(info, collapse = "; ") [01:27:33.988] if (!has_future) { [01:27:33.988] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:33.988] info) [01:27:33.988] } [01:27:33.988] else { [01:27:33.988] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:33.988] info, version) [01:27:33.988] } [01:27:33.988] base::stop(msg) [01:27:33.988] } [01:27:33.988] }) [01:27:33.988] } [01:27:33.988] options(future.plan = NULL) [01:27:33.988] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.988] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:33.988] } [01:27:33.988] ...future.workdir <- getwd() [01:27:33.988] } [01:27:33.988] ...future.oldOptions <- base::as.list(base::.Options) [01:27:33.988] ...future.oldEnvVars <- base::Sys.getenv() [01:27:33.988] } [01:27:33.988] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:33.988] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:33.988] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:33.988] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:33.988] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:33.988] future.stdout.windows.reencode = NULL, width = 80L) [01:27:33.988] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:33.988] base::names(...future.oldOptions)) [01:27:33.988] } [01:27:33.988] if (FALSE) { [01:27:33.988] } [01:27:33.988] else { [01:27:33.988] if (TRUE) { [01:27:33.988] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:33.988] open = "w") [01:27:33.988] } [01:27:33.988] else { [01:27:33.988] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:33.988] windows = "NUL", "/dev/null"), open = "w") [01:27:33.988] } [01:27:33.988] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:33.988] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:33.988] base::sink(type = "output", split = FALSE) [01:27:33.988] base::close(...future.stdout) [01:27:33.988] }, add = TRUE) [01:27:33.988] } [01:27:33.988] ...future.frame <- base::sys.nframe() [01:27:33.988] ...future.conditions <- base::list() [01:27:33.988] ...future.rng <- base::globalenv()$.Random.seed [01:27:33.988] if (FALSE) { [01:27:33.988] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:33.988] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:33.988] } [01:27:33.988] ...future.result <- base::tryCatch({ [01:27:33.988] base::withCallingHandlers({ [01:27:33.988] ...future.value <- base::withVisible(base::local({ [01:27:33.988] 2 * a [01:27:33.988] })) [01:27:33.988] future::FutureResult(value = ...future.value$value, [01:27:33.988] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.988] ...future.rng), globalenv = if (FALSE) [01:27:33.988] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:33.988] ...future.globalenv.names)) [01:27:33.988] else NULL, started = ...future.startTime, version = "1.8") [01:27:33.988] }, condition = base::local({ [01:27:33.988] c <- base::c [01:27:33.988] inherits <- base::inherits [01:27:33.988] invokeRestart <- base::invokeRestart [01:27:33.988] length <- base::length [01:27:33.988] list <- base::list [01:27:33.988] seq.int <- base::seq.int [01:27:33.988] signalCondition <- base::signalCondition [01:27:33.988] sys.calls <- base::sys.calls [01:27:33.988] `[[` <- base::`[[` [01:27:33.988] `+` <- base::`+` [01:27:33.988] `<<-` <- base::`<<-` [01:27:33.988] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:33.988] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:33.988] 3L)] [01:27:33.988] } [01:27:33.988] function(cond) { [01:27:33.988] is_error <- inherits(cond, "error") [01:27:33.988] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:33.988] NULL) [01:27:33.988] if (is_error) { [01:27:33.988] sessionInformation <- function() { [01:27:33.988] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:33.988] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:33.988] search = base::search(), system = base::Sys.info()) [01:27:33.988] } [01:27:33.988] ...future.conditions[[length(...future.conditions) + [01:27:33.988] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:33.988] cond$call), session = sessionInformation(), [01:27:33.988] timestamp = base::Sys.time(), signaled = 0L) [01:27:33.988] signalCondition(cond) [01:27:33.988] } [01:27:33.988] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:33.988] "immediateCondition"))) { [01:27:33.988] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:33.988] ...future.conditions[[length(...future.conditions) + [01:27:33.988] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:33.988] if (TRUE && !signal) { [01:27:33.988] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.988] { [01:27:33.988] inherits <- base::inherits [01:27:33.988] invokeRestart <- base::invokeRestart [01:27:33.988] is.null <- base::is.null [01:27:33.988] muffled <- FALSE [01:27:33.988] if (inherits(cond, "message")) { [01:27:33.988] muffled <- grepl(pattern, "muffleMessage") [01:27:33.988] if (muffled) [01:27:33.988] invokeRestart("muffleMessage") [01:27:33.988] } [01:27:33.988] else if (inherits(cond, "warning")) { [01:27:33.988] muffled <- grepl(pattern, "muffleWarning") [01:27:33.988] if (muffled) [01:27:33.988] invokeRestart("muffleWarning") [01:27:33.988] } [01:27:33.988] else if (inherits(cond, "condition")) { [01:27:33.988] if (!is.null(pattern)) { [01:27:33.988] computeRestarts <- base::computeRestarts [01:27:33.988] grepl <- base::grepl [01:27:33.988] restarts <- computeRestarts(cond) [01:27:33.988] for (restart in restarts) { [01:27:33.988] name <- restart$name [01:27:33.988] if (is.null(name)) [01:27:33.988] next [01:27:33.988] if (!grepl(pattern, name)) [01:27:33.988] next [01:27:33.988] invokeRestart(restart) [01:27:33.988] muffled <- TRUE [01:27:33.988] break [01:27:33.988] } [01:27:33.988] } [01:27:33.988] } [01:27:33.988] invisible(muffled) [01:27:33.988] } [01:27:33.988] muffleCondition(cond, pattern = "^muffle") [01:27:33.988] } [01:27:33.988] } [01:27:33.988] else { [01:27:33.988] if (TRUE) { [01:27:33.988] muffleCondition <- function (cond, pattern = "^muffle") [01:27:33.988] { [01:27:33.988] inherits <- base::inherits [01:27:33.988] invokeRestart <- base::invokeRestart [01:27:33.988] is.null <- base::is.null [01:27:33.988] muffled <- FALSE [01:27:33.988] if (inherits(cond, "message")) { [01:27:33.988] muffled <- grepl(pattern, "muffleMessage") [01:27:33.988] if (muffled) [01:27:33.988] invokeRestart("muffleMessage") [01:27:33.988] } [01:27:33.988] else if (inherits(cond, "warning")) { [01:27:33.988] muffled <- grepl(pattern, "muffleWarning") [01:27:33.988] if (muffled) [01:27:33.988] invokeRestart("muffleWarning") [01:27:33.988] } [01:27:33.988] else if (inherits(cond, "condition")) { [01:27:33.988] if (!is.null(pattern)) { [01:27:33.988] computeRestarts <- base::computeRestarts [01:27:33.988] grepl <- base::grepl [01:27:33.988] restarts <- computeRestarts(cond) [01:27:33.988] for (restart in restarts) { [01:27:33.988] name <- restart$name [01:27:33.988] if (is.null(name)) [01:27:33.988] next [01:27:33.988] if (!grepl(pattern, name)) [01:27:33.988] next [01:27:33.988] invokeRestart(restart) [01:27:33.988] muffled <- TRUE [01:27:33.988] break [01:27:33.988] } [01:27:33.988] } [01:27:33.988] } [01:27:33.988] invisible(muffled) [01:27:33.988] } [01:27:33.988] muffleCondition(cond, pattern = "^muffle") [01:27:33.988] } [01:27:33.988] } [01:27:33.988] } [01:27:33.988] })) [01:27:33.988] }, error = function(ex) { [01:27:33.988] base::structure(base::list(value = NULL, visible = NULL, [01:27:33.988] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:33.988] ...future.rng), started = ...future.startTime, [01:27:33.988] finished = Sys.time(), session_uuid = NA_character_, [01:27:33.988] version = "1.8"), class = "FutureResult") [01:27:33.988] }, finally = { [01:27:33.988] if (!identical(...future.workdir, getwd())) [01:27:33.988] setwd(...future.workdir) [01:27:33.988] { [01:27:33.988] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:33.988] ...future.oldOptions$nwarnings <- NULL [01:27:33.988] } [01:27:33.988] base::options(...future.oldOptions) [01:27:33.988] if (.Platform$OS.type == "windows") { [01:27:33.988] old_names <- names(...future.oldEnvVars) [01:27:33.988] envs <- base::Sys.getenv() [01:27:33.988] names <- names(envs) [01:27:33.988] common <- intersect(names, old_names) [01:27:33.988] added <- setdiff(names, old_names) [01:27:33.988] removed <- setdiff(old_names, names) [01:27:33.988] changed <- common[...future.oldEnvVars[common] != [01:27:33.988] envs[common]] [01:27:33.988] NAMES <- toupper(changed) [01:27:33.988] args <- list() [01:27:33.988] for (kk in seq_along(NAMES)) { [01:27:33.988] name <- changed[[kk]] [01:27:33.988] NAME <- NAMES[[kk]] [01:27:33.988] if (name != NAME && is.element(NAME, old_names)) [01:27:33.988] next [01:27:33.988] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.988] } [01:27:33.988] NAMES <- toupper(added) [01:27:33.988] for (kk in seq_along(NAMES)) { [01:27:33.988] name <- added[[kk]] [01:27:33.988] NAME <- NAMES[[kk]] [01:27:33.988] if (name != NAME && is.element(NAME, old_names)) [01:27:33.988] next [01:27:33.988] args[[name]] <- "" [01:27:33.988] } [01:27:33.988] NAMES <- toupper(removed) [01:27:33.988] for (kk in seq_along(NAMES)) { [01:27:33.988] name <- removed[[kk]] [01:27:33.988] NAME <- NAMES[[kk]] [01:27:33.988] if (name != NAME && is.element(NAME, old_names)) [01:27:33.988] next [01:27:33.988] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:33.988] } [01:27:33.988] if (length(args) > 0) [01:27:33.988] base::do.call(base::Sys.setenv, args = args) [01:27:33.988] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:33.988] } [01:27:33.988] else { [01:27:33.988] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:33.988] } [01:27:33.988] { [01:27:33.988] if (base::length(...future.futureOptionsAdded) > [01:27:33.988] 0L) { [01:27:33.988] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:33.988] base::names(opts) <- ...future.futureOptionsAdded [01:27:33.988] base::options(opts) [01:27:33.988] } [01:27:33.988] { [01:27:33.988] { [01:27:33.988] NULL [01:27:33.988] RNGkind("Mersenne-Twister") [01:27:33.988] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:33.988] inherits = FALSE) [01:27:33.988] } [01:27:33.988] options(future.plan = NULL) [01:27:33.988] if (is.na(NA_character_)) [01:27:33.988] Sys.unsetenv("R_FUTURE_PLAN") [01:27:33.988] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:33.988] future::plan(list(function (..., envir = parent.frame()) [01:27:33.988] { [01:27:33.988] future <- SequentialFuture(..., envir = envir) [01:27:33.988] if (!future$lazy) [01:27:33.988] future <- run(future) [01:27:33.988] invisible(future) [01:27:33.988] }), .cleanup = FALSE, .init = FALSE) [01:27:33.988] } [01:27:33.988] } [01:27:33.988] } [01:27:33.988] }) [01:27:33.988] if (TRUE) { [01:27:33.988] base::sink(type = "output", split = FALSE) [01:27:33.988] if (TRUE) { [01:27:33.988] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:33.988] } [01:27:33.988] else { [01:27:33.988] ...future.result["stdout"] <- base::list(NULL) [01:27:33.988] } [01:27:33.988] base::close(...future.stdout) [01:27:33.988] ...future.stdout <- NULL [01:27:33.988] } [01:27:33.988] ...future.result$conditions <- ...future.conditions [01:27:33.988] ...future.result$finished <- base::Sys.time() [01:27:33.988] ...future.result [01:27:33.988] } [01:27:33.991] assign_globals() ... [01:27:33.991] List of 1 [01:27:33.991] $ a: num 1 [01:27:33.991] - attr(*, "where")=List of 1 [01:27:33.991] ..$ a: [01:27:33.991] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:27:33.991] - attr(*, "resolved")= logi FALSE [01:27:33.991] - attr(*, "total_size")= num 56 [01:27:33.991] - attr(*, "already-done")= logi TRUE [01:27:33.995] - copied 'a' to environment [01:27:33.995] assign_globals() ... done [01:27:33.995] plan(): Setting new future strategy stack: [01:27:33.995] List of future strategies: [01:27:33.995] 1. sequential: [01:27:33.995] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.995] - tweaked: FALSE [01:27:33.995] - call: NULL [01:27:33.996] plan(): nbrOfWorkers() = 1 [01:27:33.997] plan(): Setting new future strategy stack: [01:27:33.997] List of future strategies: [01:27:33.997] 1. sequential: [01:27:33.997] - args: function (..., envir = parent.frame(), workers = "") [01:27:33.997] - tweaked: FALSE [01:27:33.997] - call: plan(strategy) [01:27:33.998] plan(): nbrOfWorkers() = 1 [01:27:33.998] SequentialFuture started (and completed) [01:27:33.998] - Launch lazy future ... done [01:27:33.999] run() for 'SequentialFuture' ... done *** futureAssign() with 'sequential' futures ... DONE Testing with 1 cores ... DONE Testing with 2 cores ... *** futureAssign() with 'multisession' futures ... [01:27:34.005] plan(): Setting new future strategy stack: [01:27:34.006] List of future strategies: [01:27:34.006] 1. multisession: [01:27:34.006] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [01:27:34.006] - tweaked: FALSE [01:27:34.006] - call: plan(strategy) [01:27:34.006] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [01:27:34.006] multisession: [01:27:34.006] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [01:27:34.006] - tweaked: FALSE [01:27:34.006] - call: plan(strategy) [01:27:34.011] getGlobalsAndPackages() ... [01:27:34.012] Not searching for globals [01:27:34.012] - globals: [0] [01:27:34.012] getGlobalsAndPackages() ... DONE [01:27:34.013] [local output] makeClusterPSOCK() ... [01:27:34.106] [local output] Workers: [n = 2] 'localhost', 'localhost' [01:27:34.113] [local output] Base port: 30686 [01:27:34.113] [local output] Getting setup options for 2 cluster nodes ... [01:27:34.113] [local output] - Node 1 of 2 ... [01:27:34.114] [local output] localMachine=TRUE => revtunnel=FALSE [01:27:34.116] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpcXIuwI/worker.rank=1.parallelly.parent=10344.28685c6c5b3c.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/RtmpcXIuwI/worker.rank=1.parallelly.parent=10344.28685c6c5b3c.pid\")"' [01:27:34.445] - Possible to infer worker's PID: TRUE [01:27:34.446] [local output] Rscript port: 30686 [01:27:34.447] [local output] - Node 2 of 2 ... [01:27:34.447] [local output] localMachine=TRUE => revtunnel=FALSE [01:27:34.449] [local output] Rscript port: 30686 [01:27:34.449] [local output] Getting setup options for 2 cluster nodes ... done [01:27:34.450] [local output] - Parallel setup requested for some PSOCK nodes [01:27:34.451] [local output] Setting up PSOCK nodes in parallel [01:27:34.451] List of 36 [01:27:34.451] $ worker : chr "localhost" [01:27:34.451] ..- attr(*, "localhost")= logi TRUE [01:27:34.451] $ master : chr "localhost" [01:27:34.451] $ port : int 30686 [01:27:34.451] $ connectTimeout : num 120 [01:27:34.451] $ timeout : num 120 [01:27:34.451] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [01:27:34.451] $ homogeneous : logi TRUE [01:27:34.451] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=futureAssign.R:10344:CRANWIN3:CR"| __truncated__ [01:27:34.451] $ rscript_envs : NULL [01:27:34.451] $ rscript_libs : chr [1:2] "D:/temp/RtmpCIb4qz/RLIBS_32fc52ae7b47" "D:/RCompile/recent/R/library" [01:27:34.451] $ rscript_startup : NULL [01:27:34.451] $ rscript_sh : chr "cmd" [01:27:34.451] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [01:27:34.451] $ methods : logi TRUE [01:27:34.451] $ socketOptions : chr "no-delay" [01:27:34.451] $ useXDR : logi FALSE [01:27:34.451] $ outfile : chr "/dev/null" [01:27:34.451] $ renice : int NA [01:27:34.451] $ rshcmd : NULL [01:27:34.451] $ user : chr(0) [01:27:34.451] $ revtunnel : logi FALSE [01:27:34.451] $ rshlogfile : NULL [01:27:34.451] $ rshopts : chr(0) [01:27:34.451] $ rank : int 1 [01:27:34.451] $ manual : logi FALSE [01:27:34.451] $ dryrun : logi FALSE [01:27:34.451] $ quiet : logi FALSE [01:27:34.451] $ setup_strategy : chr "parallel" [01:27:34.451] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [01:27:34.451] $ pidfile : chr "D:/temp/RtmpcXIuwI/worker.rank=1.parallelly.parent=10344.28685c6c5b3c.pid" [01:27:34.451] $ rshcmd_label : NULL [01:27:34.451] $ rsh_call : NULL [01:27:34.451] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [01:27:34.451] $ localMachine : logi TRUE [01:27:34.451] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [01:27:34.451] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [01:27:34.451] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [01:27:34.451] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [01:27:34.451] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [01:27:34.451] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [01:27:34.451] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [01:27:34.451] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [01:27:34.451] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [01:27:34.451] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [01:27:34.451] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [01:27:34.451] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [01:27:34.451] "parallel"), action = c("launch", "options"), verbose = FALSE) [01:27:34.451] $ arguments :List of 28 [01:27:34.451] ..$ worker : chr "localhost" [01:27:34.451] ..$ master : NULL [01:27:34.451] ..$ port : int 30686 [01:27:34.451] ..$ connectTimeout : num 120 [01:27:34.451] ..$ timeout : num 120 [01:27:34.451] ..$ rscript : NULL [01:27:34.451] ..$ homogeneous : NULL [01:27:34.451] ..$ rscript_args : NULL [01:27:34.451] ..$ rscript_envs : NULL [01:27:34.451] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpCIb4qz/RLIBS_32fc52ae7b47" "D:/RCompile/recent/R/library" [01:27:34.451] ..$ rscript_startup : NULL [01:27:34.451] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [01:27:34.451] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [01:27:34.451] ..$ methods : logi TRUE [01:27:34.451] ..$ socketOptions : chr "no-delay" [01:27:34.451] ..$ useXDR : logi FALSE [01:27:34.451] ..$ outfile : chr "/dev/null" [01:27:34.451] ..$ renice : int NA [01:27:34.451] ..$ rshcmd : NULL [01:27:34.451] ..$ user : NULL [01:27:34.451] ..$ revtunnel : logi NA [01:27:34.451] ..$ rshlogfile : NULL [01:27:34.451] ..$ rshopts : NULL [01:27:34.451] ..$ rank : int 1 [01:27:34.451] ..$ manual : logi FALSE [01:27:34.451] ..$ dryrun : logi FALSE [01:27:34.451] ..$ quiet : logi FALSE [01:27:34.451] ..$ setup_strategy : chr "parallel" [01:27:34.451] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [01:27:34.475] [local output] System call to launch all workers: [01:27:34.476] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=futureAssign.R:10344:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpcXIuwI/worker.rank=1.parallelly.parent=10344.28685c6c5b3c.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/RtmpCIb4qz/RLIBS_32fc52ae7b47\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=30686 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [01:27:34.476] [local output] Starting PSOCK main server [01:27:34.482] [local output] Workers launched [01:27:34.483] [local output] Waiting for workers to connect back [01:27:34.484] - [local output] 0 workers out of 2 ready [01:27:34.658] - [local output] 0 workers out of 2 ready [01:27:34.658] - [local output] 1 workers out of 2 ready [01:27:34.680] - [local output] 1 workers out of 2 ready [01:27:34.681] - [local output] 2 workers out of 2 ready [01:27:34.681] [local output] Launching of workers completed [01:27:34.681] [local output] Collecting session information from workers [01:27:34.682] [local output] - Worker #1 of 2 [01:27:34.683] [local output] - Worker #2 of 2 [01:27:34.683] [local output] makeClusterPSOCK() ... done [01:27:34.697] Packages needed by the future expression (n = 0): [01:27:34.697] Packages needed by future strategies (n = 0): [01:27:34.698] { [01:27:34.698] { [01:27:34.698] { [01:27:34.698] ...future.startTime <- base::Sys.time() [01:27:34.698] { [01:27:34.698] { [01:27:34.698] { [01:27:34.698] { [01:27:34.698] base::local({ [01:27:34.698] has_future <- base::requireNamespace("future", [01:27:34.698] quietly = TRUE) [01:27:34.698] if (has_future) { [01:27:34.698] ns <- base::getNamespace("future") [01:27:34.698] version <- ns[[".package"]][["version"]] [01:27:34.698] if (is.null(version)) [01:27:34.698] version <- utils::packageVersion("future") [01:27:34.698] } [01:27:34.698] else { [01:27:34.698] version <- NULL [01:27:34.698] } [01:27:34.698] if (!has_future || version < "1.8.0") { [01:27:34.698] info <- base::c(r_version = base::gsub("R version ", [01:27:34.698] "", base::R.version$version.string), [01:27:34.698] platform = base::sprintf("%s (%s-bit)", [01:27:34.698] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:34.698] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:34.698] "release", "version")], collapse = " "), [01:27:34.698] hostname = base::Sys.info()[["nodename"]]) [01:27:34.698] info <- base::sprintf("%s: %s", base::names(info), [01:27:34.698] info) [01:27:34.698] info <- base::paste(info, collapse = "; ") [01:27:34.698] if (!has_future) { [01:27:34.698] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:34.698] info) [01:27:34.698] } [01:27:34.698] else { [01:27:34.698] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:34.698] info, version) [01:27:34.698] } [01:27:34.698] base::stop(msg) [01:27:34.698] } [01:27:34.698] }) [01:27:34.698] } [01:27:34.698] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:34.698] base::options(mc.cores = 1L) [01:27:34.698] } [01:27:34.698] options(future.plan = NULL) [01:27:34.698] Sys.unsetenv("R_FUTURE_PLAN") [01:27:34.698] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:34.698] } [01:27:34.698] ...future.workdir <- getwd() [01:27:34.698] } [01:27:34.698] ...future.oldOptions <- base::as.list(base::.Options) [01:27:34.698] ...future.oldEnvVars <- base::Sys.getenv() [01:27:34.698] } [01:27:34.698] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:34.698] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:34.698] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:34.698] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:34.698] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:34.698] future.stdout.windows.reencode = NULL, width = 80L) [01:27:34.698] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:34.698] base::names(...future.oldOptions)) [01:27:34.698] } [01:27:34.698] if (FALSE) { [01:27:34.698] } [01:27:34.698] else { [01:27:34.698] if (TRUE) { [01:27:34.698] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:34.698] open = "w") [01:27:34.698] } [01:27:34.698] else { [01:27:34.698] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:34.698] windows = "NUL", "/dev/null"), open = "w") [01:27:34.698] } [01:27:34.698] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:34.698] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:34.698] base::sink(type = "output", split = FALSE) [01:27:34.698] base::close(...future.stdout) [01:27:34.698] }, add = TRUE) [01:27:34.698] } [01:27:34.698] ...future.frame <- base::sys.nframe() [01:27:34.698] ...future.conditions <- base::list() [01:27:34.698] ...future.rng <- base::globalenv()$.Random.seed [01:27:34.698] if (FALSE) { [01:27:34.698] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:34.698] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:34.698] } [01:27:34.698] ...future.result <- base::tryCatch({ [01:27:34.698] base::withCallingHandlers({ [01:27:34.698] ...future.value <- base::withVisible(base::local({ [01:27:34.698] ...future.makeSendCondition <- base::local({ [01:27:34.698] sendCondition <- NULL [01:27:34.698] function(frame = 1L) { [01:27:34.698] if (is.function(sendCondition)) [01:27:34.698] return(sendCondition) [01:27:34.698] ns <- getNamespace("parallel") [01:27:34.698] if (exists("sendData", mode = "function", [01:27:34.698] envir = ns)) { [01:27:34.698] parallel_sendData <- get("sendData", mode = "function", [01:27:34.698] envir = ns) [01:27:34.698] envir <- sys.frame(frame) [01:27:34.698] master <- NULL [01:27:34.698] while (!identical(envir, .GlobalEnv) && [01:27:34.698] !identical(envir, emptyenv())) { [01:27:34.698] if (exists("master", mode = "list", envir = envir, [01:27:34.698] inherits = FALSE)) { [01:27:34.698] master <- get("master", mode = "list", [01:27:34.698] envir = envir, inherits = FALSE) [01:27:34.698] if (inherits(master, c("SOCKnode", [01:27:34.698] "SOCK0node"))) { [01:27:34.698] sendCondition <<- function(cond) { [01:27:34.698] data <- list(type = "VALUE", value = cond, [01:27:34.698] success = TRUE) [01:27:34.698] parallel_sendData(master, data) [01:27:34.698] } [01:27:34.698] return(sendCondition) [01:27:34.698] } [01:27:34.698] } [01:27:34.698] frame <- frame + 1L [01:27:34.698] envir <- sys.frame(frame) [01:27:34.698] } [01:27:34.698] } [01:27:34.698] sendCondition <<- function(cond) NULL [01:27:34.698] } [01:27:34.698] }) [01:27:34.698] withCallingHandlers({ [01:27:34.698] NA [01:27:34.698] }, immediateCondition = function(cond) { [01:27:34.698] sendCondition <- ...future.makeSendCondition() [01:27:34.698] sendCondition(cond) [01:27:34.698] muffleCondition <- function (cond, pattern = "^muffle") [01:27:34.698] { [01:27:34.698] inherits <- base::inherits [01:27:34.698] invokeRestart <- base::invokeRestart [01:27:34.698] is.null <- base::is.null [01:27:34.698] muffled <- FALSE [01:27:34.698] if (inherits(cond, "message")) { [01:27:34.698] muffled <- grepl(pattern, "muffleMessage") [01:27:34.698] if (muffled) [01:27:34.698] invokeRestart("muffleMessage") [01:27:34.698] } [01:27:34.698] else if (inherits(cond, "warning")) { [01:27:34.698] muffled <- grepl(pattern, "muffleWarning") [01:27:34.698] if (muffled) [01:27:34.698] invokeRestart("muffleWarning") [01:27:34.698] } [01:27:34.698] else if (inherits(cond, "condition")) { [01:27:34.698] if (!is.null(pattern)) { [01:27:34.698] computeRestarts <- base::computeRestarts [01:27:34.698] grepl <- base::grepl [01:27:34.698] restarts <- computeRestarts(cond) [01:27:34.698] for (restart in restarts) { [01:27:34.698] name <- restart$name [01:27:34.698] if (is.null(name)) [01:27:34.698] next [01:27:34.698] if (!grepl(pattern, name)) [01:27:34.698] next [01:27:34.698] invokeRestart(restart) [01:27:34.698] muffled <- TRUE [01:27:34.698] break [01:27:34.698] } [01:27:34.698] } [01:27:34.698] } [01:27:34.698] invisible(muffled) [01:27:34.698] } [01:27:34.698] muffleCondition(cond) [01:27:34.698] }) [01:27:34.698] })) [01:27:34.698] future::FutureResult(value = ...future.value$value, [01:27:34.698] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:34.698] ...future.rng), globalenv = if (FALSE) [01:27:34.698] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:34.698] ...future.globalenv.names)) [01:27:34.698] else NULL, started = ...future.startTime, version = "1.8") [01:27:34.698] }, condition = base::local({ [01:27:34.698] c <- base::c [01:27:34.698] inherits <- base::inherits [01:27:34.698] invokeRestart <- base::invokeRestart [01:27:34.698] length <- base::length [01:27:34.698] list <- base::list [01:27:34.698] seq.int <- base::seq.int [01:27:34.698] signalCondition <- base::signalCondition [01:27:34.698] sys.calls <- base::sys.calls [01:27:34.698] `[[` <- base::`[[` [01:27:34.698] `+` <- base::`+` [01:27:34.698] `<<-` <- base::`<<-` [01:27:34.698] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:34.698] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:34.698] 3L)] [01:27:34.698] } [01:27:34.698] function(cond) { [01:27:34.698] is_error <- inherits(cond, "error") [01:27:34.698] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:34.698] NULL) [01:27:34.698] if (is_error) { [01:27:34.698] sessionInformation <- function() { [01:27:34.698] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:34.698] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:34.698] search = base::search(), system = base::Sys.info()) [01:27:34.698] } [01:27:34.698] ...future.conditions[[length(...future.conditions) + [01:27:34.698] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:34.698] cond$call), session = sessionInformation(), [01:27:34.698] timestamp = base::Sys.time(), signaled = 0L) [01:27:34.698] signalCondition(cond) [01:27:34.698] } [01:27:34.698] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:34.698] "immediateCondition"))) { [01:27:34.698] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:34.698] ...future.conditions[[length(...future.conditions) + [01:27:34.698] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:34.698] if (TRUE && !signal) { [01:27:34.698] muffleCondition <- function (cond, pattern = "^muffle") [01:27:34.698] { [01:27:34.698] inherits <- base::inherits [01:27:34.698] invokeRestart <- base::invokeRestart [01:27:34.698] is.null <- base::is.null [01:27:34.698] muffled <- FALSE [01:27:34.698] if (inherits(cond, "message")) { [01:27:34.698] muffled <- grepl(pattern, "muffleMessage") [01:27:34.698] if (muffled) [01:27:34.698] invokeRestart("muffleMessage") [01:27:34.698] } [01:27:34.698] else if (inherits(cond, "warning")) { [01:27:34.698] muffled <- grepl(pattern, "muffleWarning") [01:27:34.698] if (muffled) [01:27:34.698] invokeRestart("muffleWarning") [01:27:34.698] } [01:27:34.698] else if (inherits(cond, "condition")) { [01:27:34.698] if (!is.null(pattern)) { [01:27:34.698] computeRestarts <- base::computeRestarts [01:27:34.698] grepl <- base::grepl [01:27:34.698] restarts <- computeRestarts(cond) [01:27:34.698] for (restart in restarts) { [01:27:34.698] name <- restart$name [01:27:34.698] if (is.null(name)) [01:27:34.698] next [01:27:34.698] if (!grepl(pattern, name)) [01:27:34.698] next [01:27:34.698] invokeRestart(restart) [01:27:34.698] muffled <- TRUE [01:27:34.698] break [01:27:34.698] } [01:27:34.698] } [01:27:34.698] } [01:27:34.698] invisible(muffled) [01:27:34.698] } [01:27:34.698] muffleCondition(cond, pattern = "^muffle") [01:27:34.698] } [01:27:34.698] } [01:27:34.698] else { [01:27:34.698] if (TRUE) { [01:27:34.698] muffleCondition <- function (cond, pattern = "^muffle") [01:27:34.698] { [01:27:34.698] inherits <- base::inherits [01:27:34.698] invokeRestart <- base::invokeRestart [01:27:34.698] is.null <- base::is.null [01:27:34.698] muffled <- FALSE [01:27:34.698] if (inherits(cond, "message")) { [01:27:34.698] muffled <- grepl(pattern, "muffleMessage") [01:27:34.698] if (muffled) [01:27:34.698] invokeRestart("muffleMessage") [01:27:34.698] } [01:27:34.698] else if (inherits(cond, "warning")) { [01:27:34.698] muffled <- grepl(pattern, "muffleWarning") [01:27:34.698] if (muffled) [01:27:34.698] invokeRestart("muffleWarning") [01:27:34.698] } [01:27:34.698] else if (inherits(cond, "condition")) { [01:27:34.698] if (!is.null(pattern)) { [01:27:34.698] computeRestarts <- base::computeRestarts [01:27:34.698] grepl <- base::grepl [01:27:34.698] restarts <- computeRestarts(cond) [01:27:34.698] for (restart in restarts) { [01:27:34.698] name <- restart$name [01:27:34.698] if (is.null(name)) [01:27:34.698] next [01:27:34.698] if (!grepl(pattern, name)) [01:27:34.698] next [01:27:34.698] invokeRestart(restart) [01:27:34.698] muffled <- TRUE [01:27:34.698] break [01:27:34.698] } [01:27:34.698] } [01:27:34.698] } [01:27:34.698] invisible(muffled) [01:27:34.698] } [01:27:34.698] muffleCondition(cond, pattern = "^muffle") [01:27:34.698] } [01:27:34.698] } [01:27:34.698] } [01:27:34.698] })) [01:27:34.698] }, error = function(ex) { [01:27:34.698] base::structure(base::list(value = NULL, visible = NULL, [01:27:34.698] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:34.698] ...future.rng), started = ...future.startTime, [01:27:34.698] finished = Sys.time(), session_uuid = NA_character_, [01:27:34.698] version = "1.8"), class = "FutureResult") [01:27:34.698] }, finally = { [01:27:34.698] if (!identical(...future.workdir, getwd())) [01:27:34.698] setwd(...future.workdir) [01:27:34.698] { [01:27:34.698] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:34.698] ...future.oldOptions$nwarnings <- NULL [01:27:34.698] } [01:27:34.698] base::options(...future.oldOptions) [01:27:34.698] if (.Platform$OS.type == "windows") { [01:27:34.698] old_names <- names(...future.oldEnvVars) [01:27:34.698] envs <- base::Sys.getenv() [01:27:34.698] names <- names(envs) [01:27:34.698] common <- intersect(names, old_names) [01:27:34.698] added <- setdiff(names, old_names) [01:27:34.698] removed <- setdiff(old_names, names) [01:27:34.698] changed <- common[...future.oldEnvVars[common] != [01:27:34.698] envs[common]] [01:27:34.698] NAMES <- toupper(changed) [01:27:34.698] args <- list() [01:27:34.698] for (kk in seq_along(NAMES)) { [01:27:34.698] name <- changed[[kk]] [01:27:34.698] NAME <- NAMES[[kk]] [01:27:34.698] if (name != NAME && is.element(NAME, old_names)) [01:27:34.698] next [01:27:34.698] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:34.698] } [01:27:34.698] NAMES <- toupper(added) [01:27:34.698] for (kk in seq_along(NAMES)) { [01:27:34.698] name <- added[[kk]] [01:27:34.698] NAME <- NAMES[[kk]] [01:27:34.698] if (name != NAME && is.element(NAME, old_names)) [01:27:34.698] next [01:27:34.698] args[[name]] <- "" [01:27:34.698] } [01:27:34.698] NAMES <- toupper(removed) [01:27:34.698] for (kk in seq_along(NAMES)) { [01:27:34.698] name <- removed[[kk]] [01:27:34.698] NAME <- NAMES[[kk]] [01:27:34.698] if (name != NAME && is.element(NAME, old_names)) [01:27:34.698] next [01:27:34.698] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:34.698] } [01:27:34.698] if (length(args) > 0) [01:27:34.698] base::do.call(base::Sys.setenv, args = args) [01:27:34.698] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:34.698] } [01:27:34.698] else { [01:27:34.698] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:34.698] } [01:27:34.698] { [01:27:34.698] if (base::length(...future.futureOptionsAdded) > [01:27:34.698] 0L) { [01:27:34.698] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:34.698] base::names(opts) <- ...future.futureOptionsAdded [01:27:34.698] base::options(opts) [01:27:34.698] } [01:27:34.698] { [01:27:34.698] { [01:27:34.698] base::options(mc.cores = ...future.mc.cores.old) [01:27:34.698] NULL [01:27:34.698] } [01:27:34.698] options(future.plan = NULL) [01:27:34.698] if (is.na(NA_character_)) [01:27:34.698] Sys.unsetenv("R_FUTURE_PLAN") [01:27:34.698] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:34.698] future::plan(list(function (..., workers = availableCores(), [01:27:34.698] lazy = FALSE, rscript_libs = .libPaths(), [01:27:34.698] envir = parent.frame()) [01:27:34.698] { [01:27:34.698] if (is.function(workers)) [01:27:34.698] workers <- workers() [01:27:34.698] workers <- structure(as.integer(workers), [01:27:34.698] class = class(workers)) [01:27:34.698] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:34.698] workers >= 1) [01:27:34.698] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:34.698] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:34.698] } [01:27:34.698] future <- MultisessionFuture(..., workers = workers, [01:27:34.698] lazy = lazy, rscript_libs = rscript_libs, [01:27:34.698] envir = envir) [01:27:34.698] if (!future$lazy) [01:27:34.698] future <- run(future) [01:27:34.698] invisible(future) [01:27:34.698] }), .cleanup = FALSE, .init = FALSE) [01:27:34.698] } [01:27:34.698] } [01:27:34.698] } [01:27:34.698] }) [01:27:34.698] if (TRUE) { [01:27:34.698] base::sink(type = "output", split = FALSE) [01:27:34.698] if (TRUE) { [01:27:34.698] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:34.698] } [01:27:34.698] else { [01:27:34.698] ...future.result["stdout"] <- base::list(NULL) [01:27:34.698] } [01:27:34.698] base::close(...future.stdout) [01:27:34.698] ...future.stdout <- NULL [01:27:34.698] } [01:27:34.698] ...future.result$conditions <- ...future.conditions [01:27:34.698] ...future.result$finished <- base::Sys.time() [01:27:34.698] ...future.result [01:27:34.698] } [01:27:34.777] MultisessionFuture started [01:27:34.778] result() for ClusterFuture ... [01:27:34.778] receiveMessageFromWorker() for ClusterFuture ... [01:27:34.778] - Validating connection of MultisessionFuture [01:27:34.836] - received message: FutureResult [01:27:34.837] - Received FutureResult [01:27:34.840] - Erased future from FutureRegistry [01:27:34.841] result() for ClusterFuture ... [01:27:34.841] - result already collected: FutureResult [01:27:34.841] result() for ClusterFuture ... done [01:27:34.841] receiveMessageFromWorker() for ClusterFuture ... done [01:27:34.841] result() for ClusterFuture ... done [01:27:34.842] result() for ClusterFuture ... [01:27:34.842] - result already collected: FutureResult [01:27:34.842] result() for ClusterFuture ... done [01:27:34.842] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [01:27:34.845] plan(): nbrOfWorkers() = 2 [01:27:34.845] getGlobalsAndPackages() ... [01:27:34.845] Searching for globals... [01:27:34.846] - globals found: [1] '{' [01:27:34.847] Searching for globals ... DONE [01:27:34.847] Resolving globals: FALSE [01:27:34.847] [01:27:34.847] [01:27:34.848] getGlobalsAndPackages() ... DONE [01:27:34.848] run() for 'Future' ... [01:27:34.848] - state: 'created' [01:27:34.848] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:34.864] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:34.864] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:34.864] - Field: 'node' [01:27:34.864] - Field: 'label' [01:27:34.864] - Field: 'local' [01:27:34.865] - Field: 'owner' [01:27:34.865] - Field: 'envir' [01:27:34.865] - Field: 'workers' [01:27:34.865] - Field: 'packages' [01:27:34.865] - Field: 'gc' [01:27:34.866] - Field: 'conditions' [01:27:34.866] - Field: 'persistent' [01:27:34.866] - Field: 'expr' [01:27:34.866] - Field: 'uuid' [01:27:34.866] - Field: 'seed' [01:27:34.867] - Field: 'version' [01:27:34.867] - Field: 'result' [01:27:34.867] - Field: 'asynchronous' [01:27:34.867] - Field: 'calls' [01:27:34.867] - Field: 'globals' [01:27:34.868] - Field: 'stdout' [01:27:34.868] - Field: 'earlySignal' [01:27:34.868] - Field: 'lazy' [01:27:34.868] - Field: 'state' [01:27:34.868] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:34.869] - Launch lazy future ... [01:27:34.869] Packages needed by the future expression (n = 0): [01:27:34.869] Packages needed by future strategies (n = 0): [01:27:34.870] { [01:27:34.870] { [01:27:34.870] { [01:27:34.870] ...future.startTime <- base::Sys.time() [01:27:34.870] { [01:27:34.870] { [01:27:34.870] { [01:27:34.870] { [01:27:34.870] base::local({ [01:27:34.870] has_future <- base::requireNamespace("future", [01:27:34.870] quietly = TRUE) [01:27:34.870] if (has_future) { [01:27:34.870] ns <- base::getNamespace("future") [01:27:34.870] version <- ns[[".package"]][["version"]] [01:27:34.870] if (is.null(version)) [01:27:34.870] version <- utils::packageVersion("future") [01:27:34.870] } [01:27:34.870] else { [01:27:34.870] version <- NULL [01:27:34.870] } [01:27:34.870] if (!has_future || version < "1.8.0") { [01:27:34.870] info <- base::c(r_version = base::gsub("R version ", [01:27:34.870] "", base::R.version$version.string), [01:27:34.870] platform = base::sprintf("%s (%s-bit)", [01:27:34.870] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:34.870] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:34.870] "release", "version")], collapse = " "), [01:27:34.870] hostname = base::Sys.info()[["nodename"]]) [01:27:34.870] info <- base::sprintf("%s: %s", base::names(info), [01:27:34.870] info) [01:27:34.870] info <- base::paste(info, collapse = "; ") [01:27:34.870] if (!has_future) { [01:27:34.870] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:34.870] info) [01:27:34.870] } [01:27:34.870] else { [01:27:34.870] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:34.870] info, version) [01:27:34.870] } [01:27:34.870] base::stop(msg) [01:27:34.870] } [01:27:34.870] }) [01:27:34.870] } [01:27:34.870] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:34.870] base::options(mc.cores = 1L) [01:27:34.870] } [01:27:34.870] options(future.plan = NULL) [01:27:34.870] Sys.unsetenv("R_FUTURE_PLAN") [01:27:34.870] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:34.870] } [01:27:34.870] ...future.workdir <- getwd() [01:27:34.870] } [01:27:34.870] ...future.oldOptions <- base::as.list(base::.Options) [01:27:34.870] ...future.oldEnvVars <- base::Sys.getenv() [01:27:34.870] } [01:27:34.870] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:34.870] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:34.870] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:34.870] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:34.870] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:34.870] future.stdout.windows.reencode = NULL, width = 80L) [01:27:34.870] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:34.870] base::names(...future.oldOptions)) [01:27:34.870] } [01:27:34.870] if (FALSE) { [01:27:34.870] } [01:27:34.870] else { [01:27:34.870] if (TRUE) { [01:27:34.870] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:34.870] open = "w") [01:27:34.870] } [01:27:34.870] else { [01:27:34.870] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:34.870] windows = "NUL", "/dev/null"), open = "w") [01:27:34.870] } [01:27:34.870] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:34.870] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:34.870] base::sink(type = "output", split = FALSE) [01:27:34.870] base::close(...future.stdout) [01:27:34.870] }, add = TRUE) [01:27:34.870] } [01:27:34.870] ...future.frame <- base::sys.nframe() [01:27:34.870] ...future.conditions <- base::list() [01:27:34.870] ...future.rng <- base::globalenv()$.Random.seed [01:27:34.870] if (FALSE) { [01:27:34.870] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:34.870] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:34.870] } [01:27:34.870] ...future.result <- base::tryCatch({ [01:27:34.870] base::withCallingHandlers({ [01:27:34.870] ...future.value <- base::withVisible(base::local({ [01:27:34.870] ...future.makeSendCondition <- base::local({ [01:27:34.870] sendCondition <- NULL [01:27:34.870] function(frame = 1L) { [01:27:34.870] if (is.function(sendCondition)) [01:27:34.870] return(sendCondition) [01:27:34.870] ns <- getNamespace("parallel") [01:27:34.870] if (exists("sendData", mode = "function", [01:27:34.870] envir = ns)) { [01:27:34.870] parallel_sendData <- get("sendData", mode = "function", [01:27:34.870] envir = ns) [01:27:34.870] envir <- sys.frame(frame) [01:27:34.870] master <- NULL [01:27:34.870] while (!identical(envir, .GlobalEnv) && [01:27:34.870] !identical(envir, emptyenv())) { [01:27:34.870] if (exists("master", mode = "list", envir = envir, [01:27:34.870] inherits = FALSE)) { [01:27:34.870] master <- get("master", mode = "list", [01:27:34.870] envir = envir, inherits = FALSE) [01:27:34.870] if (inherits(master, c("SOCKnode", [01:27:34.870] "SOCK0node"))) { [01:27:34.870] sendCondition <<- function(cond) { [01:27:34.870] data <- list(type = "VALUE", value = cond, [01:27:34.870] success = TRUE) [01:27:34.870] parallel_sendData(master, data) [01:27:34.870] } [01:27:34.870] return(sendCondition) [01:27:34.870] } [01:27:34.870] } [01:27:34.870] frame <- frame + 1L [01:27:34.870] envir <- sys.frame(frame) [01:27:34.870] } [01:27:34.870] } [01:27:34.870] sendCondition <<- function(cond) NULL [01:27:34.870] } [01:27:34.870] }) [01:27:34.870] withCallingHandlers({ [01:27:34.870] { [01:27:34.870] 2 [01:27:34.870] } [01:27:34.870] }, immediateCondition = function(cond) { [01:27:34.870] sendCondition <- ...future.makeSendCondition() [01:27:34.870] sendCondition(cond) [01:27:34.870] muffleCondition <- function (cond, pattern = "^muffle") [01:27:34.870] { [01:27:34.870] inherits <- base::inherits [01:27:34.870] invokeRestart <- base::invokeRestart [01:27:34.870] is.null <- base::is.null [01:27:34.870] muffled <- FALSE [01:27:34.870] if (inherits(cond, "message")) { [01:27:34.870] muffled <- grepl(pattern, "muffleMessage") [01:27:34.870] if (muffled) [01:27:34.870] invokeRestart("muffleMessage") [01:27:34.870] } [01:27:34.870] else if (inherits(cond, "warning")) { [01:27:34.870] muffled <- grepl(pattern, "muffleWarning") [01:27:34.870] if (muffled) [01:27:34.870] invokeRestart("muffleWarning") [01:27:34.870] } [01:27:34.870] else if (inherits(cond, "condition")) { [01:27:34.870] if (!is.null(pattern)) { [01:27:34.870] computeRestarts <- base::computeRestarts [01:27:34.870] grepl <- base::grepl [01:27:34.870] restarts <- computeRestarts(cond) [01:27:34.870] for (restart in restarts) { [01:27:34.870] name <- restart$name [01:27:34.870] if (is.null(name)) [01:27:34.870] next [01:27:34.870] if (!grepl(pattern, name)) [01:27:34.870] next [01:27:34.870] invokeRestart(restart) [01:27:34.870] muffled <- TRUE [01:27:34.870] break [01:27:34.870] } [01:27:34.870] } [01:27:34.870] } [01:27:34.870] invisible(muffled) [01:27:34.870] } [01:27:34.870] muffleCondition(cond) [01:27:34.870] }) [01:27:34.870] })) [01:27:34.870] future::FutureResult(value = ...future.value$value, [01:27:34.870] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:34.870] ...future.rng), globalenv = if (FALSE) [01:27:34.870] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:34.870] ...future.globalenv.names)) [01:27:34.870] else NULL, started = ...future.startTime, version = "1.8") [01:27:34.870] }, condition = base::local({ [01:27:34.870] c <- base::c [01:27:34.870] inherits <- base::inherits [01:27:34.870] invokeRestart <- base::invokeRestart [01:27:34.870] length <- base::length [01:27:34.870] list <- base::list [01:27:34.870] seq.int <- base::seq.int [01:27:34.870] signalCondition <- base::signalCondition [01:27:34.870] sys.calls <- base::sys.calls [01:27:34.870] `[[` <- base::`[[` [01:27:34.870] `+` <- base::`+` [01:27:34.870] `<<-` <- base::`<<-` [01:27:34.870] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:34.870] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:34.870] 3L)] [01:27:34.870] } [01:27:34.870] function(cond) { [01:27:34.870] is_error <- inherits(cond, "error") [01:27:34.870] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:34.870] NULL) [01:27:34.870] if (is_error) { [01:27:34.870] sessionInformation <- function() { [01:27:34.870] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:34.870] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:34.870] search = base::search(), system = base::Sys.info()) [01:27:34.870] } [01:27:34.870] ...future.conditions[[length(...future.conditions) + [01:27:34.870] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:34.870] cond$call), session = sessionInformation(), [01:27:34.870] timestamp = base::Sys.time(), signaled = 0L) [01:27:34.870] signalCondition(cond) [01:27:34.870] } [01:27:34.870] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:34.870] "immediateCondition"))) { [01:27:34.870] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:34.870] ...future.conditions[[length(...future.conditions) + [01:27:34.870] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:34.870] if (TRUE && !signal) { [01:27:34.870] muffleCondition <- function (cond, pattern = "^muffle") [01:27:34.870] { [01:27:34.870] inherits <- base::inherits [01:27:34.870] invokeRestart <- base::invokeRestart [01:27:34.870] is.null <- base::is.null [01:27:34.870] muffled <- FALSE [01:27:34.870] if (inherits(cond, "message")) { [01:27:34.870] muffled <- grepl(pattern, "muffleMessage") [01:27:34.870] if (muffled) [01:27:34.870] invokeRestart("muffleMessage") [01:27:34.870] } [01:27:34.870] else if (inherits(cond, "warning")) { [01:27:34.870] muffled <- grepl(pattern, "muffleWarning") [01:27:34.870] if (muffled) [01:27:34.870] invokeRestart("muffleWarning") [01:27:34.870] } [01:27:34.870] else if (inherits(cond, "condition")) { [01:27:34.870] if (!is.null(pattern)) { [01:27:34.870] computeRestarts <- base::computeRestarts [01:27:34.870] grepl <- base::grepl [01:27:34.870] restarts <- computeRestarts(cond) [01:27:34.870] for (restart in restarts) { [01:27:34.870] name <- restart$name [01:27:34.870] if (is.null(name)) [01:27:34.870] next [01:27:34.870] if (!grepl(pattern, name)) [01:27:34.870] next [01:27:34.870] invokeRestart(restart) [01:27:34.870] muffled <- TRUE [01:27:34.870] break [01:27:34.870] } [01:27:34.870] } [01:27:34.870] } [01:27:34.870] invisible(muffled) [01:27:34.870] } [01:27:34.870] muffleCondition(cond, pattern = "^muffle") [01:27:34.870] } [01:27:34.870] } [01:27:34.870] else { [01:27:34.870] if (TRUE) { [01:27:34.870] muffleCondition <- function (cond, pattern = "^muffle") [01:27:34.870] { [01:27:34.870] inherits <- base::inherits [01:27:34.870] invokeRestart <- base::invokeRestart [01:27:34.870] is.null <- base::is.null [01:27:34.870] muffled <- FALSE [01:27:34.870] if (inherits(cond, "message")) { [01:27:34.870] muffled <- grepl(pattern, "muffleMessage") [01:27:34.870] if (muffled) [01:27:34.870] invokeRestart("muffleMessage") [01:27:34.870] } [01:27:34.870] else if (inherits(cond, "warning")) { [01:27:34.870] muffled <- grepl(pattern, "muffleWarning") [01:27:34.870] if (muffled) [01:27:34.870] invokeRestart("muffleWarning") [01:27:34.870] } [01:27:34.870] else if (inherits(cond, "condition")) { [01:27:34.870] if (!is.null(pattern)) { [01:27:34.870] computeRestarts <- base::computeRestarts [01:27:34.870] grepl <- base::grepl [01:27:34.870] restarts <- computeRestarts(cond) [01:27:34.870] for (restart in restarts) { [01:27:34.870] name <- restart$name [01:27:34.870] if (is.null(name)) [01:27:34.870] next [01:27:34.870] if (!grepl(pattern, name)) [01:27:34.870] next [01:27:34.870] invokeRestart(restart) [01:27:34.870] muffled <- TRUE [01:27:34.870] break [01:27:34.870] } [01:27:34.870] } [01:27:34.870] } [01:27:34.870] invisible(muffled) [01:27:34.870] } [01:27:34.870] muffleCondition(cond, pattern = "^muffle") [01:27:34.870] } [01:27:34.870] } [01:27:34.870] } [01:27:34.870] })) [01:27:34.870] }, error = function(ex) { [01:27:34.870] base::structure(base::list(value = NULL, visible = NULL, [01:27:34.870] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:34.870] ...future.rng), started = ...future.startTime, [01:27:34.870] finished = Sys.time(), session_uuid = NA_character_, [01:27:34.870] version = "1.8"), class = "FutureResult") [01:27:34.870] }, finally = { [01:27:34.870] if (!identical(...future.workdir, getwd())) [01:27:34.870] setwd(...future.workdir) [01:27:34.870] { [01:27:34.870] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:34.870] ...future.oldOptions$nwarnings <- NULL [01:27:34.870] } [01:27:34.870] base::options(...future.oldOptions) [01:27:34.870] if (.Platform$OS.type == "windows") { [01:27:34.870] old_names <- names(...future.oldEnvVars) [01:27:34.870] envs <- base::Sys.getenv() [01:27:34.870] names <- names(envs) [01:27:34.870] common <- intersect(names, old_names) [01:27:34.870] added <- setdiff(names, old_names) [01:27:34.870] removed <- setdiff(old_names, names) [01:27:34.870] changed <- common[...future.oldEnvVars[common] != [01:27:34.870] envs[common]] [01:27:34.870] NAMES <- toupper(changed) [01:27:34.870] args <- list() [01:27:34.870] for (kk in seq_along(NAMES)) { [01:27:34.870] name <- changed[[kk]] [01:27:34.870] NAME <- NAMES[[kk]] [01:27:34.870] if (name != NAME && is.element(NAME, old_names)) [01:27:34.870] next [01:27:34.870] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:34.870] } [01:27:34.870] NAMES <- toupper(added) [01:27:34.870] for (kk in seq_along(NAMES)) { [01:27:34.870] name <- added[[kk]] [01:27:34.870] NAME <- NAMES[[kk]] [01:27:34.870] if (name != NAME && is.element(NAME, old_names)) [01:27:34.870] next [01:27:34.870] args[[name]] <- "" [01:27:34.870] } [01:27:34.870] NAMES <- toupper(removed) [01:27:34.870] for (kk in seq_along(NAMES)) { [01:27:34.870] name <- removed[[kk]] [01:27:34.870] NAME <- NAMES[[kk]] [01:27:34.870] if (name != NAME && is.element(NAME, old_names)) [01:27:34.870] next [01:27:34.870] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:34.870] } [01:27:34.870] if (length(args) > 0) [01:27:34.870] base::do.call(base::Sys.setenv, args = args) [01:27:34.870] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:34.870] } [01:27:34.870] else { [01:27:34.870] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:34.870] } [01:27:34.870] { [01:27:34.870] if (base::length(...future.futureOptionsAdded) > [01:27:34.870] 0L) { [01:27:34.870] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:34.870] base::names(opts) <- ...future.futureOptionsAdded [01:27:34.870] base::options(opts) [01:27:34.870] } [01:27:34.870] { [01:27:34.870] { [01:27:34.870] base::options(mc.cores = ...future.mc.cores.old) [01:27:34.870] NULL [01:27:34.870] } [01:27:34.870] options(future.plan = NULL) [01:27:34.870] if (is.na(NA_character_)) [01:27:34.870] Sys.unsetenv("R_FUTURE_PLAN") [01:27:34.870] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:34.870] future::plan(list(function (..., workers = availableCores(), [01:27:34.870] lazy = FALSE, rscript_libs = .libPaths(), [01:27:34.870] envir = parent.frame()) [01:27:34.870] { [01:27:34.870] if (is.function(workers)) [01:27:34.870] workers <- workers() [01:27:34.870] workers <- structure(as.integer(workers), [01:27:34.870] class = class(workers)) [01:27:34.870] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:34.870] workers >= 1) [01:27:34.870] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:34.870] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:34.870] } [01:27:34.870] future <- MultisessionFuture(..., workers = workers, [01:27:34.870] lazy = lazy, rscript_libs = rscript_libs, [01:27:34.870] envir = envir) [01:27:34.870] if (!future$lazy) [01:27:34.870] future <- run(future) [01:27:34.870] invisible(future) [01:27:34.870] }), .cleanup = FALSE, .init = FALSE) [01:27:34.870] } [01:27:34.870] } [01:27:34.870] } [01:27:34.870] }) [01:27:34.870] if (TRUE) { [01:27:34.870] base::sink(type = "output", split = FALSE) [01:27:34.870] if (TRUE) { [01:27:34.870] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:34.870] } [01:27:34.870] else { [01:27:34.870] ...future.result["stdout"] <- base::list(NULL) [01:27:34.870] } [01:27:34.870] base::close(...future.stdout) [01:27:34.870] ...future.stdout <- NULL [01:27:34.870] } [01:27:34.870] ...future.result$conditions <- ...future.conditions [01:27:34.870] ...future.result$finished <- base::Sys.time() [01:27:34.870] ...future.result [01:27:34.870] } [01:27:34.876] MultisessionFuture started [01:27:34.876] - Launch lazy future ... done [01:27:34.876] run() for 'MultisessionFuture' ... done [01:27:34.877] getGlobalsAndPackages() ... [01:27:34.877] Searching for globals... [01:27:34.878] - globals found: [1] '{' [01:27:34.878] Searching for globals ... DONE [01:27:34.878] Resolving globals: FALSE [01:27:34.879] [01:27:34.879] [01:27:34.879] getGlobalsAndPackages() ... DONE [01:27:34.880] run() for 'Future' ... [01:27:34.880] - state: 'created' [01:27:34.880] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:34.895] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:34.895] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:34.896] - Field: 'node' [01:27:34.896] - Field: 'label' [01:27:34.896] - Field: 'local' [01:27:34.896] - Field: 'owner' [01:27:34.896] - Field: 'envir' [01:27:34.897] - Field: 'workers' [01:27:34.897] - Field: 'packages' [01:27:34.897] - Field: 'gc' [01:27:34.897] - Field: 'conditions' [01:27:34.897] - Field: 'persistent' [01:27:34.897] - Field: 'expr' [01:27:34.898] - Field: 'uuid' [01:27:34.898] - Field: 'seed' [01:27:34.898] - Field: 'version' [01:27:34.898] - Field: 'result' [01:27:34.899] - Field: 'asynchronous' [01:27:34.899] - Field: 'calls' [01:27:34.899] - Field: 'globals' [01:27:34.899] - Field: 'stdout' [01:27:34.899] - Field: 'earlySignal' [01:27:34.900] - Field: 'lazy' [01:27:34.900] - Field: 'state' [01:27:34.900] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:34.900] - Launch lazy future ... [01:27:34.901] Packages needed by the future expression (n = 0): [01:27:34.901] Packages needed by future strategies (n = 0): [01:27:34.902] { [01:27:34.902] { [01:27:34.902] { [01:27:34.902] ...future.startTime <- base::Sys.time() [01:27:34.902] { [01:27:34.902] { [01:27:34.902] { [01:27:34.902] { [01:27:34.902] base::local({ [01:27:34.902] has_future <- base::requireNamespace("future", [01:27:34.902] quietly = TRUE) [01:27:34.902] if (has_future) { [01:27:34.902] ns <- base::getNamespace("future") [01:27:34.902] version <- ns[[".package"]][["version"]] [01:27:34.902] if (is.null(version)) [01:27:34.902] version <- utils::packageVersion("future") [01:27:34.902] } [01:27:34.902] else { [01:27:34.902] version <- NULL [01:27:34.902] } [01:27:34.902] if (!has_future || version < "1.8.0") { [01:27:34.902] info <- base::c(r_version = base::gsub("R version ", [01:27:34.902] "", base::R.version$version.string), [01:27:34.902] platform = base::sprintf("%s (%s-bit)", [01:27:34.902] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:34.902] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:34.902] "release", "version")], collapse = " "), [01:27:34.902] hostname = base::Sys.info()[["nodename"]]) [01:27:34.902] info <- base::sprintf("%s: %s", base::names(info), [01:27:34.902] info) [01:27:34.902] info <- base::paste(info, collapse = "; ") [01:27:34.902] if (!has_future) { [01:27:34.902] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:34.902] info) [01:27:34.902] } [01:27:34.902] else { [01:27:34.902] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:34.902] info, version) [01:27:34.902] } [01:27:34.902] base::stop(msg) [01:27:34.902] } [01:27:34.902] }) [01:27:34.902] } [01:27:34.902] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:34.902] base::options(mc.cores = 1L) [01:27:34.902] } [01:27:34.902] options(future.plan = NULL) [01:27:34.902] Sys.unsetenv("R_FUTURE_PLAN") [01:27:34.902] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:34.902] } [01:27:34.902] ...future.workdir <- getwd() [01:27:34.902] } [01:27:34.902] ...future.oldOptions <- base::as.list(base::.Options) [01:27:34.902] ...future.oldEnvVars <- base::Sys.getenv() [01:27:34.902] } [01:27:34.902] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:34.902] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:34.902] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:34.902] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:34.902] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:34.902] future.stdout.windows.reencode = NULL, width = 80L) [01:27:34.902] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:34.902] base::names(...future.oldOptions)) [01:27:34.902] } [01:27:34.902] if (FALSE) { [01:27:34.902] } [01:27:34.902] else { [01:27:34.902] if (TRUE) { [01:27:34.902] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:34.902] open = "w") [01:27:34.902] } [01:27:34.902] else { [01:27:34.902] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:34.902] windows = "NUL", "/dev/null"), open = "w") [01:27:34.902] } [01:27:34.902] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:34.902] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:34.902] base::sink(type = "output", split = FALSE) [01:27:34.902] base::close(...future.stdout) [01:27:34.902] }, add = TRUE) [01:27:34.902] } [01:27:34.902] ...future.frame <- base::sys.nframe() [01:27:34.902] ...future.conditions <- base::list() [01:27:34.902] ...future.rng <- base::globalenv()$.Random.seed [01:27:34.902] if (FALSE) { [01:27:34.902] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:34.902] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:34.902] } [01:27:34.902] ...future.result <- base::tryCatch({ [01:27:34.902] base::withCallingHandlers({ [01:27:34.902] ...future.value <- base::withVisible(base::local({ [01:27:34.902] ...future.makeSendCondition <- base::local({ [01:27:34.902] sendCondition <- NULL [01:27:34.902] function(frame = 1L) { [01:27:34.902] if (is.function(sendCondition)) [01:27:34.902] return(sendCondition) [01:27:34.902] ns <- getNamespace("parallel") [01:27:34.902] if (exists("sendData", mode = "function", [01:27:34.902] envir = ns)) { [01:27:34.902] parallel_sendData <- get("sendData", mode = "function", [01:27:34.902] envir = ns) [01:27:34.902] envir <- sys.frame(frame) [01:27:34.902] master <- NULL [01:27:34.902] while (!identical(envir, .GlobalEnv) && [01:27:34.902] !identical(envir, emptyenv())) { [01:27:34.902] if (exists("master", mode = "list", envir = envir, [01:27:34.902] inherits = FALSE)) { [01:27:34.902] master <- get("master", mode = "list", [01:27:34.902] envir = envir, inherits = FALSE) [01:27:34.902] if (inherits(master, c("SOCKnode", [01:27:34.902] "SOCK0node"))) { [01:27:34.902] sendCondition <<- function(cond) { [01:27:34.902] data <- list(type = "VALUE", value = cond, [01:27:34.902] success = TRUE) [01:27:34.902] parallel_sendData(master, data) [01:27:34.902] } [01:27:34.902] return(sendCondition) [01:27:34.902] } [01:27:34.902] } [01:27:34.902] frame <- frame + 1L [01:27:34.902] envir <- sys.frame(frame) [01:27:34.902] } [01:27:34.902] } [01:27:34.902] sendCondition <<- function(cond) NULL [01:27:34.902] } [01:27:34.902] }) [01:27:34.902] withCallingHandlers({ [01:27:34.902] { [01:27:34.902] 4 [01:27:34.902] } [01:27:34.902] }, immediateCondition = function(cond) { [01:27:34.902] sendCondition <- ...future.makeSendCondition() [01:27:34.902] sendCondition(cond) [01:27:34.902] muffleCondition <- function (cond, pattern = "^muffle") [01:27:34.902] { [01:27:34.902] inherits <- base::inherits [01:27:34.902] invokeRestart <- base::invokeRestart [01:27:34.902] is.null <- base::is.null [01:27:34.902] muffled <- FALSE [01:27:34.902] if (inherits(cond, "message")) { [01:27:34.902] muffled <- grepl(pattern, "muffleMessage") [01:27:34.902] if (muffled) [01:27:34.902] invokeRestart("muffleMessage") [01:27:34.902] } [01:27:34.902] else if (inherits(cond, "warning")) { [01:27:34.902] muffled <- grepl(pattern, "muffleWarning") [01:27:34.902] if (muffled) [01:27:34.902] invokeRestart("muffleWarning") [01:27:34.902] } [01:27:34.902] else if (inherits(cond, "condition")) { [01:27:34.902] if (!is.null(pattern)) { [01:27:34.902] computeRestarts <- base::computeRestarts [01:27:34.902] grepl <- base::grepl [01:27:34.902] restarts <- computeRestarts(cond) [01:27:34.902] for (restart in restarts) { [01:27:34.902] name <- restart$name [01:27:34.902] if (is.null(name)) [01:27:34.902] next [01:27:34.902] if (!grepl(pattern, name)) [01:27:34.902] next [01:27:34.902] invokeRestart(restart) [01:27:34.902] muffled <- TRUE [01:27:34.902] break [01:27:34.902] } [01:27:34.902] } [01:27:34.902] } [01:27:34.902] invisible(muffled) [01:27:34.902] } [01:27:34.902] muffleCondition(cond) [01:27:34.902] }) [01:27:34.902] })) [01:27:34.902] future::FutureResult(value = ...future.value$value, [01:27:34.902] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:34.902] ...future.rng), globalenv = if (FALSE) [01:27:34.902] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:34.902] ...future.globalenv.names)) [01:27:34.902] else NULL, started = ...future.startTime, version = "1.8") [01:27:34.902] }, condition = base::local({ [01:27:34.902] c <- base::c [01:27:34.902] inherits <- base::inherits [01:27:34.902] invokeRestart <- base::invokeRestart [01:27:34.902] length <- base::length [01:27:34.902] list <- base::list [01:27:34.902] seq.int <- base::seq.int [01:27:34.902] signalCondition <- base::signalCondition [01:27:34.902] sys.calls <- base::sys.calls [01:27:34.902] `[[` <- base::`[[` [01:27:34.902] `+` <- base::`+` [01:27:34.902] `<<-` <- base::`<<-` [01:27:34.902] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:34.902] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:34.902] 3L)] [01:27:34.902] } [01:27:34.902] function(cond) { [01:27:34.902] is_error <- inherits(cond, "error") [01:27:34.902] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:34.902] NULL) [01:27:34.902] if (is_error) { [01:27:34.902] sessionInformation <- function() { [01:27:34.902] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:34.902] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:34.902] search = base::search(), system = base::Sys.info()) [01:27:34.902] } [01:27:34.902] ...future.conditions[[length(...future.conditions) + [01:27:34.902] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:34.902] cond$call), session = sessionInformation(), [01:27:34.902] timestamp = base::Sys.time(), signaled = 0L) [01:27:34.902] signalCondition(cond) [01:27:34.902] } [01:27:34.902] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:34.902] "immediateCondition"))) { [01:27:34.902] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:34.902] ...future.conditions[[length(...future.conditions) + [01:27:34.902] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:34.902] if (TRUE && !signal) { [01:27:34.902] muffleCondition <- function (cond, pattern = "^muffle") [01:27:34.902] { [01:27:34.902] inherits <- base::inherits [01:27:34.902] invokeRestart <- base::invokeRestart [01:27:34.902] is.null <- base::is.null [01:27:34.902] muffled <- FALSE [01:27:34.902] if (inherits(cond, "message")) { [01:27:34.902] muffled <- grepl(pattern, "muffleMessage") [01:27:34.902] if (muffled) [01:27:34.902] invokeRestart("muffleMessage") [01:27:34.902] } [01:27:34.902] else if (inherits(cond, "warning")) { [01:27:34.902] muffled <- grepl(pattern, "muffleWarning") [01:27:34.902] if (muffled) [01:27:34.902] invokeRestart("muffleWarning") [01:27:34.902] } [01:27:34.902] else if (inherits(cond, "condition")) { [01:27:34.902] if (!is.null(pattern)) { [01:27:34.902] computeRestarts <- base::computeRestarts [01:27:34.902] grepl <- base::grepl [01:27:34.902] restarts <- computeRestarts(cond) [01:27:34.902] for (restart in restarts) { [01:27:34.902] name <- restart$name [01:27:34.902] if (is.null(name)) [01:27:34.902] next [01:27:34.902] if (!grepl(pattern, name)) [01:27:34.902] next [01:27:34.902] invokeRestart(restart) [01:27:34.902] muffled <- TRUE [01:27:34.902] break [01:27:34.902] } [01:27:34.902] } [01:27:34.902] } [01:27:34.902] invisible(muffled) [01:27:34.902] } [01:27:34.902] muffleCondition(cond, pattern = "^muffle") [01:27:34.902] } [01:27:34.902] } [01:27:34.902] else { [01:27:34.902] if (TRUE) { [01:27:34.902] muffleCondition <- function (cond, pattern = "^muffle") [01:27:34.902] { [01:27:34.902] inherits <- base::inherits [01:27:34.902] invokeRestart <- base::invokeRestart [01:27:34.902] is.null <- base::is.null [01:27:34.902] muffled <- FALSE [01:27:34.902] if (inherits(cond, "message")) { [01:27:34.902] muffled <- grepl(pattern, "muffleMessage") [01:27:34.902] if (muffled) [01:27:34.902] invokeRestart("muffleMessage") [01:27:34.902] } [01:27:34.902] else if (inherits(cond, "warning")) { [01:27:34.902] muffled <- grepl(pattern, "muffleWarning") [01:27:34.902] if (muffled) [01:27:34.902] invokeRestart("muffleWarning") [01:27:34.902] } [01:27:34.902] else if (inherits(cond, "condition")) { [01:27:34.902] if (!is.null(pattern)) { [01:27:34.902] computeRestarts <- base::computeRestarts [01:27:34.902] grepl <- base::grepl [01:27:34.902] restarts <- computeRestarts(cond) [01:27:34.902] for (restart in restarts) { [01:27:34.902] name <- restart$name [01:27:34.902] if (is.null(name)) [01:27:34.902] next [01:27:34.902] if (!grepl(pattern, name)) [01:27:34.902] next [01:27:34.902] invokeRestart(restart) [01:27:34.902] muffled <- TRUE [01:27:34.902] break [01:27:34.902] } [01:27:34.902] } [01:27:34.902] } [01:27:34.902] invisible(muffled) [01:27:34.902] } [01:27:34.902] muffleCondition(cond, pattern = "^muffle") [01:27:34.902] } [01:27:34.902] } [01:27:34.902] } [01:27:34.902] })) [01:27:34.902] }, error = function(ex) { [01:27:34.902] base::structure(base::list(value = NULL, visible = NULL, [01:27:34.902] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:34.902] ...future.rng), started = ...future.startTime, [01:27:34.902] finished = Sys.time(), session_uuid = NA_character_, [01:27:34.902] version = "1.8"), class = "FutureResult") [01:27:34.902] }, finally = { [01:27:34.902] if (!identical(...future.workdir, getwd())) [01:27:34.902] setwd(...future.workdir) [01:27:34.902] { [01:27:34.902] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:34.902] ...future.oldOptions$nwarnings <- NULL [01:27:34.902] } [01:27:34.902] base::options(...future.oldOptions) [01:27:34.902] if (.Platform$OS.type == "windows") { [01:27:34.902] old_names <- names(...future.oldEnvVars) [01:27:34.902] envs <- base::Sys.getenv() [01:27:34.902] names <- names(envs) [01:27:34.902] common <- intersect(names, old_names) [01:27:34.902] added <- setdiff(names, old_names) [01:27:34.902] removed <- setdiff(old_names, names) [01:27:34.902] changed <- common[...future.oldEnvVars[common] != [01:27:34.902] envs[common]] [01:27:34.902] NAMES <- toupper(changed) [01:27:34.902] args <- list() [01:27:34.902] for (kk in seq_along(NAMES)) { [01:27:34.902] name <- changed[[kk]] [01:27:34.902] NAME <- NAMES[[kk]] [01:27:34.902] if (name != NAME && is.element(NAME, old_names)) [01:27:34.902] next [01:27:34.902] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:34.902] } [01:27:34.902] NAMES <- toupper(added) [01:27:34.902] for (kk in seq_along(NAMES)) { [01:27:34.902] name <- added[[kk]] [01:27:34.902] NAME <- NAMES[[kk]] [01:27:34.902] if (name != NAME && is.element(NAME, old_names)) [01:27:34.902] next [01:27:34.902] args[[name]] <- "" [01:27:34.902] } [01:27:34.902] NAMES <- toupper(removed) [01:27:34.902] for (kk in seq_along(NAMES)) { [01:27:34.902] name <- removed[[kk]] [01:27:34.902] NAME <- NAMES[[kk]] [01:27:34.902] if (name != NAME && is.element(NAME, old_names)) [01:27:34.902] next [01:27:34.902] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:34.902] } [01:27:34.902] if (length(args) > 0) [01:27:34.902] base::do.call(base::Sys.setenv, args = args) [01:27:34.902] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:34.902] } [01:27:34.902] else { [01:27:34.902] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:34.902] } [01:27:34.902] { [01:27:34.902] if (base::length(...future.futureOptionsAdded) > [01:27:34.902] 0L) { [01:27:34.902] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:34.902] base::names(opts) <- ...future.futureOptionsAdded [01:27:34.902] base::options(opts) [01:27:34.902] } [01:27:34.902] { [01:27:34.902] { [01:27:34.902] base::options(mc.cores = ...future.mc.cores.old) [01:27:34.902] NULL [01:27:34.902] } [01:27:34.902] options(future.plan = NULL) [01:27:34.902] if (is.na(NA_character_)) [01:27:34.902] Sys.unsetenv("R_FUTURE_PLAN") [01:27:34.902] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:34.902] future::plan(list(function (..., workers = availableCores(), [01:27:34.902] lazy = FALSE, rscript_libs = .libPaths(), [01:27:34.902] envir = parent.frame()) [01:27:34.902] { [01:27:34.902] if (is.function(workers)) [01:27:34.902] workers <- workers() [01:27:34.902] workers <- structure(as.integer(workers), [01:27:34.902] class = class(workers)) [01:27:34.902] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:34.902] workers >= 1) [01:27:34.902] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:34.902] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:34.902] } [01:27:34.902] future <- MultisessionFuture(..., workers = workers, [01:27:34.902] lazy = lazy, rscript_libs = rscript_libs, [01:27:34.902] envir = envir) [01:27:34.902] if (!future$lazy) [01:27:34.902] future <- run(future) [01:27:34.902] invisible(future) [01:27:34.902] }), .cleanup = FALSE, .init = FALSE) [01:27:34.902] } [01:27:34.902] } [01:27:34.902] } [01:27:34.902] }) [01:27:34.902] if (TRUE) { [01:27:34.902] base::sink(type = "output", split = FALSE) [01:27:34.902] if (TRUE) { [01:27:34.902] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:34.902] } [01:27:34.902] else { [01:27:34.902] ...future.result["stdout"] <- base::list(NULL) [01:27:34.902] } [01:27:34.902] base::close(...future.stdout) [01:27:34.902] ...future.stdout <- NULL [01:27:34.902] } [01:27:34.902] ...future.result$conditions <- ...future.conditions [01:27:34.902] ...future.result$finished <- base::Sys.time() [01:27:34.902] ...future.result [01:27:34.902] } [01:27:35.007] MultisessionFuture started [01:27:35.007] - Launch lazy future ... done [01:27:35.007] run() for 'MultisessionFuture' ... done [01:27:35.008] result() for ClusterFuture ... [01:27:35.008] receiveMessageFromWorker() for ClusterFuture ... [01:27:35.008] - Validating connection of MultisessionFuture [01:27:35.008] - received message: FutureResult [01:27:35.009] - Received FutureResult [01:27:35.009] - Erased future from FutureRegistry [01:27:35.009] result() for ClusterFuture ... [01:27:35.009] - result already collected: FutureResult [01:27:35.009] result() for ClusterFuture ... done [01:27:35.010] receiveMessageFromWorker() for ClusterFuture ... done [01:27:35.010] result() for ClusterFuture ... done [01:27:35.010] result() for ClusterFuture ... [01:27:35.010] - result already collected: FutureResult [01:27:35.010] result() for ClusterFuture ... done u$a = 2 [01:27:35.011] result() for ClusterFuture ... [01:27:35.011] receiveMessageFromWorker() for ClusterFuture ... [01:27:35.011] - Validating connection of MultisessionFuture [01:27:35.092] - received message: FutureResult [01:27:35.092] - Received FutureResult [01:27:35.092] - Erased future from FutureRegistry [01:27:35.092] result() for ClusterFuture ... [01:27:35.093] - result already collected: FutureResult [01:27:35.093] result() for ClusterFuture ... done [01:27:35.093] receiveMessageFromWorker() for ClusterFuture ... done [01:27:35.093] result() for ClusterFuture ... done [01:27:35.093] result() for ClusterFuture ... [01:27:35.094] - result already collected: FutureResult [01:27:35.094] result() for ClusterFuture ... done v$a = 4 [01:27:35.094] getGlobalsAndPackages() ... [01:27:35.094] Searching for globals... [01:27:35.096] - globals found: [3] '{', '*', 'a' [01:27:35.096] Searching for globals ... DONE [01:27:35.096] Resolving globals: FALSE [01:27:35.097] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:35.097] The total size of the 1 globals exported for future expression ('{; 2 * a; }') 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') [01:27:35.098] - globals: [1] 'a' [01:27:35.098] [01:27:35.098] getGlobalsAndPackages() ... DONE [01:27:35.099] run() for 'Future' ... [01:27:35.099] - state: 'created' [01:27:35.099] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:35.114] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:35.114] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:35.114] - Field: 'node' [01:27:35.115] - Field: 'label' [01:27:35.115] - Field: 'local' [01:27:35.115] - Field: 'owner' [01:27:35.115] - Field: 'envir' [01:27:35.116] - Field: 'workers' [01:27:35.116] - Field: 'packages' [01:27:35.116] - Field: 'gc' [01:27:35.116] - Field: 'conditions' [01:27:35.116] - Field: 'persistent' [01:27:35.117] - Field: 'expr' [01:27:35.117] - Field: 'uuid' [01:27:35.117] - Field: 'seed' [01:27:35.117] - Field: 'version' [01:27:35.117] - Field: 'result' [01:27:35.118] - Field: 'asynchronous' [01:27:35.118] - Field: 'calls' [01:27:35.118] - Field: 'globals' [01:27:35.118] - Field: 'stdout' [01:27:35.118] - Field: 'earlySignal' [01:27:35.119] - Field: 'lazy' [01:27:35.119] - Field: 'state' [01:27:35.119] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:35.119] - Launch lazy future ... [01:27:35.120] Packages needed by the future expression (n = 0): [01:27:35.120] Packages needed by future strategies (n = 0): [01:27:35.121] { [01:27:35.121] { [01:27:35.121] { [01:27:35.121] ...future.startTime <- base::Sys.time() [01:27:35.121] { [01:27:35.121] { [01:27:35.121] { [01:27:35.121] { [01:27:35.121] base::local({ [01:27:35.121] has_future <- base::requireNamespace("future", [01:27:35.121] quietly = TRUE) [01:27:35.121] if (has_future) { [01:27:35.121] ns <- base::getNamespace("future") [01:27:35.121] version <- ns[[".package"]][["version"]] [01:27:35.121] if (is.null(version)) [01:27:35.121] version <- utils::packageVersion("future") [01:27:35.121] } [01:27:35.121] else { [01:27:35.121] version <- NULL [01:27:35.121] } [01:27:35.121] if (!has_future || version < "1.8.0") { [01:27:35.121] info <- base::c(r_version = base::gsub("R version ", [01:27:35.121] "", base::R.version$version.string), [01:27:35.121] platform = base::sprintf("%s (%s-bit)", [01:27:35.121] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:35.121] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:35.121] "release", "version")], collapse = " "), [01:27:35.121] hostname = base::Sys.info()[["nodename"]]) [01:27:35.121] info <- base::sprintf("%s: %s", base::names(info), [01:27:35.121] info) [01:27:35.121] info <- base::paste(info, collapse = "; ") [01:27:35.121] if (!has_future) { [01:27:35.121] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:35.121] info) [01:27:35.121] } [01:27:35.121] else { [01:27:35.121] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:35.121] info, version) [01:27:35.121] } [01:27:35.121] base::stop(msg) [01:27:35.121] } [01:27:35.121] }) [01:27:35.121] } [01:27:35.121] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:35.121] base::options(mc.cores = 1L) [01:27:35.121] } [01:27:35.121] options(future.plan = NULL) [01:27:35.121] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.121] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:35.121] } [01:27:35.121] ...future.workdir <- getwd() [01:27:35.121] } [01:27:35.121] ...future.oldOptions <- base::as.list(base::.Options) [01:27:35.121] ...future.oldEnvVars <- base::Sys.getenv() [01:27:35.121] } [01:27:35.121] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:35.121] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:35.121] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:35.121] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:35.121] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:35.121] future.stdout.windows.reencode = NULL, width = 80L) [01:27:35.121] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:35.121] base::names(...future.oldOptions)) [01:27:35.121] } [01:27:35.121] if (FALSE) { [01:27:35.121] } [01:27:35.121] else { [01:27:35.121] if (TRUE) { [01:27:35.121] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:35.121] open = "w") [01:27:35.121] } [01:27:35.121] else { [01:27:35.121] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:35.121] windows = "NUL", "/dev/null"), open = "w") [01:27:35.121] } [01:27:35.121] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:35.121] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:35.121] base::sink(type = "output", split = FALSE) [01:27:35.121] base::close(...future.stdout) [01:27:35.121] }, add = TRUE) [01:27:35.121] } [01:27:35.121] ...future.frame <- base::sys.nframe() [01:27:35.121] ...future.conditions <- base::list() [01:27:35.121] ...future.rng <- base::globalenv()$.Random.seed [01:27:35.121] if (FALSE) { [01:27:35.121] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:35.121] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:35.121] } [01:27:35.121] ...future.result <- base::tryCatch({ [01:27:35.121] base::withCallingHandlers({ [01:27:35.121] ...future.value <- base::withVisible(base::local({ [01:27:35.121] ...future.makeSendCondition <- base::local({ [01:27:35.121] sendCondition <- NULL [01:27:35.121] function(frame = 1L) { [01:27:35.121] if (is.function(sendCondition)) [01:27:35.121] return(sendCondition) [01:27:35.121] ns <- getNamespace("parallel") [01:27:35.121] if (exists("sendData", mode = "function", [01:27:35.121] envir = ns)) { [01:27:35.121] parallel_sendData <- get("sendData", mode = "function", [01:27:35.121] envir = ns) [01:27:35.121] envir <- sys.frame(frame) [01:27:35.121] master <- NULL [01:27:35.121] while (!identical(envir, .GlobalEnv) && [01:27:35.121] !identical(envir, emptyenv())) { [01:27:35.121] if (exists("master", mode = "list", envir = envir, [01:27:35.121] inherits = FALSE)) { [01:27:35.121] master <- get("master", mode = "list", [01:27:35.121] envir = envir, inherits = FALSE) [01:27:35.121] if (inherits(master, c("SOCKnode", [01:27:35.121] "SOCK0node"))) { [01:27:35.121] sendCondition <<- function(cond) { [01:27:35.121] data <- list(type = "VALUE", value = cond, [01:27:35.121] success = TRUE) [01:27:35.121] parallel_sendData(master, data) [01:27:35.121] } [01:27:35.121] return(sendCondition) [01:27:35.121] } [01:27:35.121] } [01:27:35.121] frame <- frame + 1L [01:27:35.121] envir <- sys.frame(frame) [01:27:35.121] } [01:27:35.121] } [01:27:35.121] sendCondition <<- function(cond) NULL [01:27:35.121] } [01:27:35.121] }) [01:27:35.121] withCallingHandlers({ [01:27:35.121] { [01:27:35.121] 2 * a [01:27:35.121] } [01:27:35.121] }, immediateCondition = function(cond) { [01:27:35.121] sendCondition <- ...future.makeSendCondition() [01:27:35.121] sendCondition(cond) [01:27:35.121] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.121] { [01:27:35.121] inherits <- base::inherits [01:27:35.121] invokeRestart <- base::invokeRestart [01:27:35.121] is.null <- base::is.null [01:27:35.121] muffled <- FALSE [01:27:35.121] if (inherits(cond, "message")) { [01:27:35.121] muffled <- grepl(pattern, "muffleMessage") [01:27:35.121] if (muffled) [01:27:35.121] invokeRestart("muffleMessage") [01:27:35.121] } [01:27:35.121] else if (inherits(cond, "warning")) { [01:27:35.121] muffled <- grepl(pattern, "muffleWarning") [01:27:35.121] if (muffled) [01:27:35.121] invokeRestart("muffleWarning") [01:27:35.121] } [01:27:35.121] else if (inherits(cond, "condition")) { [01:27:35.121] if (!is.null(pattern)) { [01:27:35.121] computeRestarts <- base::computeRestarts [01:27:35.121] grepl <- base::grepl [01:27:35.121] restarts <- computeRestarts(cond) [01:27:35.121] for (restart in restarts) { [01:27:35.121] name <- restart$name [01:27:35.121] if (is.null(name)) [01:27:35.121] next [01:27:35.121] if (!grepl(pattern, name)) [01:27:35.121] next [01:27:35.121] invokeRestart(restart) [01:27:35.121] muffled <- TRUE [01:27:35.121] break [01:27:35.121] } [01:27:35.121] } [01:27:35.121] } [01:27:35.121] invisible(muffled) [01:27:35.121] } [01:27:35.121] muffleCondition(cond) [01:27:35.121] }) [01:27:35.121] })) [01:27:35.121] future::FutureResult(value = ...future.value$value, [01:27:35.121] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.121] ...future.rng), globalenv = if (FALSE) [01:27:35.121] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:35.121] ...future.globalenv.names)) [01:27:35.121] else NULL, started = ...future.startTime, version = "1.8") [01:27:35.121] }, condition = base::local({ [01:27:35.121] c <- base::c [01:27:35.121] inherits <- base::inherits [01:27:35.121] invokeRestart <- base::invokeRestart [01:27:35.121] length <- base::length [01:27:35.121] list <- base::list [01:27:35.121] seq.int <- base::seq.int [01:27:35.121] signalCondition <- base::signalCondition [01:27:35.121] sys.calls <- base::sys.calls [01:27:35.121] `[[` <- base::`[[` [01:27:35.121] `+` <- base::`+` [01:27:35.121] `<<-` <- base::`<<-` [01:27:35.121] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:35.121] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:35.121] 3L)] [01:27:35.121] } [01:27:35.121] function(cond) { [01:27:35.121] is_error <- inherits(cond, "error") [01:27:35.121] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:35.121] NULL) [01:27:35.121] if (is_error) { [01:27:35.121] sessionInformation <- function() { [01:27:35.121] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:35.121] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:35.121] search = base::search(), system = base::Sys.info()) [01:27:35.121] } [01:27:35.121] ...future.conditions[[length(...future.conditions) + [01:27:35.121] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:35.121] cond$call), session = sessionInformation(), [01:27:35.121] timestamp = base::Sys.time(), signaled = 0L) [01:27:35.121] signalCondition(cond) [01:27:35.121] } [01:27:35.121] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:35.121] "immediateCondition"))) { [01:27:35.121] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:35.121] ...future.conditions[[length(...future.conditions) + [01:27:35.121] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:35.121] if (TRUE && !signal) { [01:27:35.121] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.121] { [01:27:35.121] inherits <- base::inherits [01:27:35.121] invokeRestart <- base::invokeRestart [01:27:35.121] is.null <- base::is.null [01:27:35.121] muffled <- FALSE [01:27:35.121] if (inherits(cond, "message")) { [01:27:35.121] muffled <- grepl(pattern, "muffleMessage") [01:27:35.121] if (muffled) [01:27:35.121] invokeRestart("muffleMessage") [01:27:35.121] } [01:27:35.121] else if (inherits(cond, "warning")) { [01:27:35.121] muffled <- grepl(pattern, "muffleWarning") [01:27:35.121] if (muffled) [01:27:35.121] invokeRestart("muffleWarning") [01:27:35.121] } [01:27:35.121] else if (inherits(cond, "condition")) { [01:27:35.121] if (!is.null(pattern)) { [01:27:35.121] computeRestarts <- base::computeRestarts [01:27:35.121] grepl <- base::grepl [01:27:35.121] restarts <- computeRestarts(cond) [01:27:35.121] for (restart in restarts) { [01:27:35.121] name <- restart$name [01:27:35.121] if (is.null(name)) [01:27:35.121] next [01:27:35.121] if (!grepl(pattern, name)) [01:27:35.121] next [01:27:35.121] invokeRestart(restart) [01:27:35.121] muffled <- TRUE [01:27:35.121] break [01:27:35.121] } [01:27:35.121] } [01:27:35.121] } [01:27:35.121] invisible(muffled) [01:27:35.121] } [01:27:35.121] muffleCondition(cond, pattern = "^muffle") [01:27:35.121] } [01:27:35.121] } [01:27:35.121] else { [01:27:35.121] if (TRUE) { [01:27:35.121] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.121] { [01:27:35.121] inherits <- base::inherits [01:27:35.121] invokeRestart <- base::invokeRestart [01:27:35.121] is.null <- base::is.null [01:27:35.121] muffled <- FALSE [01:27:35.121] if (inherits(cond, "message")) { [01:27:35.121] muffled <- grepl(pattern, "muffleMessage") [01:27:35.121] if (muffled) [01:27:35.121] invokeRestart("muffleMessage") [01:27:35.121] } [01:27:35.121] else if (inherits(cond, "warning")) { [01:27:35.121] muffled <- grepl(pattern, "muffleWarning") [01:27:35.121] if (muffled) [01:27:35.121] invokeRestart("muffleWarning") [01:27:35.121] } [01:27:35.121] else if (inherits(cond, "condition")) { [01:27:35.121] if (!is.null(pattern)) { [01:27:35.121] computeRestarts <- base::computeRestarts [01:27:35.121] grepl <- base::grepl [01:27:35.121] restarts <- computeRestarts(cond) [01:27:35.121] for (restart in restarts) { [01:27:35.121] name <- restart$name [01:27:35.121] if (is.null(name)) [01:27:35.121] next [01:27:35.121] if (!grepl(pattern, name)) [01:27:35.121] next [01:27:35.121] invokeRestart(restart) [01:27:35.121] muffled <- TRUE [01:27:35.121] break [01:27:35.121] } [01:27:35.121] } [01:27:35.121] } [01:27:35.121] invisible(muffled) [01:27:35.121] } [01:27:35.121] muffleCondition(cond, pattern = "^muffle") [01:27:35.121] } [01:27:35.121] } [01:27:35.121] } [01:27:35.121] })) [01:27:35.121] }, error = function(ex) { [01:27:35.121] base::structure(base::list(value = NULL, visible = NULL, [01:27:35.121] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.121] ...future.rng), started = ...future.startTime, [01:27:35.121] finished = Sys.time(), session_uuid = NA_character_, [01:27:35.121] version = "1.8"), class = "FutureResult") [01:27:35.121] }, finally = { [01:27:35.121] if (!identical(...future.workdir, getwd())) [01:27:35.121] setwd(...future.workdir) [01:27:35.121] { [01:27:35.121] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:35.121] ...future.oldOptions$nwarnings <- NULL [01:27:35.121] } [01:27:35.121] base::options(...future.oldOptions) [01:27:35.121] if (.Platform$OS.type == "windows") { [01:27:35.121] old_names <- names(...future.oldEnvVars) [01:27:35.121] envs <- base::Sys.getenv() [01:27:35.121] names <- names(envs) [01:27:35.121] common <- intersect(names, old_names) [01:27:35.121] added <- setdiff(names, old_names) [01:27:35.121] removed <- setdiff(old_names, names) [01:27:35.121] changed <- common[...future.oldEnvVars[common] != [01:27:35.121] envs[common]] [01:27:35.121] NAMES <- toupper(changed) [01:27:35.121] args <- list() [01:27:35.121] for (kk in seq_along(NAMES)) { [01:27:35.121] name <- changed[[kk]] [01:27:35.121] NAME <- NAMES[[kk]] [01:27:35.121] if (name != NAME && is.element(NAME, old_names)) [01:27:35.121] next [01:27:35.121] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.121] } [01:27:35.121] NAMES <- toupper(added) [01:27:35.121] for (kk in seq_along(NAMES)) { [01:27:35.121] name <- added[[kk]] [01:27:35.121] NAME <- NAMES[[kk]] [01:27:35.121] if (name != NAME && is.element(NAME, old_names)) [01:27:35.121] next [01:27:35.121] args[[name]] <- "" [01:27:35.121] } [01:27:35.121] NAMES <- toupper(removed) [01:27:35.121] for (kk in seq_along(NAMES)) { [01:27:35.121] name <- removed[[kk]] [01:27:35.121] NAME <- NAMES[[kk]] [01:27:35.121] if (name != NAME && is.element(NAME, old_names)) [01:27:35.121] next [01:27:35.121] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.121] } [01:27:35.121] if (length(args) > 0) [01:27:35.121] base::do.call(base::Sys.setenv, args = args) [01:27:35.121] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:35.121] } [01:27:35.121] else { [01:27:35.121] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:35.121] } [01:27:35.121] { [01:27:35.121] if (base::length(...future.futureOptionsAdded) > [01:27:35.121] 0L) { [01:27:35.121] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:35.121] base::names(opts) <- ...future.futureOptionsAdded [01:27:35.121] base::options(opts) [01:27:35.121] } [01:27:35.121] { [01:27:35.121] { [01:27:35.121] base::options(mc.cores = ...future.mc.cores.old) [01:27:35.121] NULL [01:27:35.121] } [01:27:35.121] options(future.plan = NULL) [01:27:35.121] if (is.na(NA_character_)) [01:27:35.121] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.121] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:35.121] future::plan(list(function (..., workers = availableCores(), [01:27:35.121] lazy = FALSE, rscript_libs = .libPaths(), [01:27:35.121] envir = parent.frame()) [01:27:35.121] { [01:27:35.121] if (is.function(workers)) [01:27:35.121] workers <- workers() [01:27:35.121] workers <- structure(as.integer(workers), [01:27:35.121] class = class(workers)) [01:27:35.121] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:35.121] workers >= 1) [01:27:35.121] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:35.121] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:35.121] } [01:27:35.121] future <- MultisessionFuture(..., workers = workers, [01:27:35.121] lazy = lazy, rscript_libs = rscript_libs, [01:27:35.121] envir = envir) [01:27:35.121] if (!future$lazy) [01:27:35.121] future <- run(future) [01:27:35.121] invisible(future) [01:27:35.121] }), .cleanup = FALSE, .init = FALSE) [01:27:35.121] } [01:27:35.121] } [01:27:35.121] } [01:27:35.121] }) [01:27:35.121] if (TRUE) { [01:27:35.121] base::sink(type = "output", split = FALSE) [01:27:35.121] if (TRUE) { [01:27:35.121] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:35.121] } [01:27:35.121] else { [01:27:35.121] ...future.result["stdout"] <- base::list(NULL) [01:27:35.121] } [01:27:35.121] base::close(...future.stdout) [01:27:35.121] ...future.stdout <- NULL [01:27:35.121] } [01:27:35.121] ...future.result$conditions <- ...future.conditions [01:27:35.121] ...future.result$finished <- base::Sys.time() [01:27:35.121] ...future.result [01:27:35.121] } [01:27:35.126] Exporting 1 global objects (56 bytes) to cluster node #1 ... [01:27:35.126] Exporting 'a' (56 bytes) to cluster node #1 ... [01:27:35.127] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [01:27:35.127] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [01:27:35.128] MultisessionFuture started [01:27:35.128] - Launch lazy future ... done [01:27:35.128] run() for 'MultisessionFuture' ... done [01:27:35.129] result() for ClusterFuture ... [01:27:35.129] receiveMessageFromWorker() for ClusterFuture ... [01:27:35.129] - Validating connection of MultisessionFuture [01:27:35.146] - received message: FutureResult [01:27:35.146] - Received FutureResult [01:27:35.146] - Erased future from FutureRegistry [01:27:35.146] result() for ClusterFuture ... [01:27:35.147] - result already collected: FutureResult [01:27:35.147] result() for ClusterFuture ... done [01:27:35.147] receiveMessageFromWorker() for ClusterFuture ... done [01:27:35.147] result() for ClusterFuture ... done [01:27:35.147] result() for ClusterFuture ... [01:27:35.148] - result already collected: FutureResult [01:27:35.148] result() for ClusterFuture ... done [01:27:35.148] getGlobalsAndPackages() ... [01:27:35.148] Searching for globals... [01:27:35.150] - globals found: [3] '{', '*', 'a' [01:27:35.150] Searching for globals ... DONE [01:27:35.150] Resolving globals: FALSE [01:27:35.151] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:35.154] The total size of the 1 globals exported for future expression ('{; 2 * a; }') 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') [01:27:35.154] - globals: [1] 'a' [01:27:35.154] [01:27:35.154] getGlobalsAndPackages() ... DONE [01:27:35.155] run() for 'Future' ... [01:27:35.155] - state: 'created' [01:27:35.155] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:35.172] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:35.173] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:35.173] - Field: 'node' [01:27:35.174] - Field: 'label' [01:27:35.174] - Field: 'local' [01:27:35.174] - Field: 'owner' [01:27:35.175] - Field: 'envir' [01:27:35.175] - Field: 'workers' [01:27:35.175] - Field: 'packages' [01:27:35.175] - Field: 'gc' [01:27:35.176] - Field: 'conditions' [01:27:35.176] - Field: 'persistent' [01:27:35.176] - Field: 'expr' [01:27:35.177] - Field: 'uuid' [01:27:35.177] - Field: 'seed' [01:27:35.177] - Field: 'version' [01:27:35.178] - Field: 'result' [01:27:35.178] - Field: 'asynchronous' [01:27:35.178] - Field: 'calls' [01:27:35.178] - Field: 'globals' [01:27:35.179] - Field: 'stdout' [01:27:35.179] - Field: 'earlySignal' [01:27:35.179] - Field: 'lazy' [01:27:35.180] - Field: 'state' [01:27:35.180] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:35.180] - Launch lazy future ... [01:27:35.181] Packages needed by the future expression (n = 0): [01:27:35.182] Packages needed by future strategies (n = 0): [01:27:35.183] { [01:27:35.183] { [01:27:35.183] { [01:27:35.183] ...future.startTime <- base::Sys.time() [01:27:35.183] { [01:27:35.183] { [01:27:35.183] { [01:27:35.183] { [01:27:35.183] base::local({ [01:27:35.183] has_future <- base::requireNamespace("future", [01:27:35.183] quietly = TRUE) [01:27:35.183] if (has_future) { [01:27:35.183] ns <- base::getNamespace("future") [01:27:35.183] version <- ns[[".package"]][["version"]] [01:27:35.183] if (is.null(version)) [01:27:35.183] version <- utils::packageVersion("future") [01:27:35.183] } [01:27:35.183] else { [01:27:35.183] version <- NULL [01:27:35.183] } [01:27:35.183] if (!has_future || version < "1.8.0") { [01:27:35.183] info <- base::c(r_version = base::gsub("R version ", [01:27:35.183] "", base::R.version$version.string), [01:27:35.183] platform = base::sprintf("%s (%s-bit)", [01:27:35.183] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:35.183] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:35.183] "release", "version")], collapse = " "), [01:27:35.183] hostname = base::Sys.info()[["nodename"]]) [01:27:35.183] info <- base::sprintf("%s: %s", base::names(info), [01:27:35.183] info) [01:27:35.183] info <- base::paste(info, collapse = "; ") [01:27:35.183] if (!has_future) { [01:27:35.183] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:35.183] info) [01:27:35.183] } [01:27:35.183] else { [01:27:35.183] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:35.183] info, version) [01:27:35.183] } [01:27:35.183] base::stop(msg) [01:27:35.183] } [01:27:35.183] }) [01:27:35.183] } [01:27:35.183] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:35.183] base::options(mc.cores = 1L) [01:27:35.183] } [01:27:35.183] options(future.plan = NULL) [01:27:35.183] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.183] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:35.183] } [01:27:35.183] ...future.workdir <- getwd() [01:27:35.183] } [01:27:35.183] ...future.oldOptions <- base::as.list(base::.Options) [01:27:35.183] ...future.oldEnvVars <- base::Sys.getenv() [01:27:35.183] } [01:27:35.183] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:35.183] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:35.183] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:35.183] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:35.183] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:35.183] future.stdout.windows.reencode = NULL, width = 80L) [01:27:35.183] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:35.183] base::names(...future.oldOptions)) [01:27:35.183] } [01:27:35.183] if (FALSE) { [01:27:35.183] } [01:27:35.183] else { [01:27:35.183] if (TRUE) { [01:27:35.183] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:35.183] open = "w") [01:27:35.183] } [01:27:35.183] else { [01:27:35.183] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:35.183] windows = "NUL", "/dev/null"), open = "w") [01:27:35.183] } [01:27:35.183] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:35.183] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:35.183] base::sink(type = "output", split = FALSE) [01:27:35.183] base::close(...future.stdout) [01:27:35.183] }, add = TRUE) [01:27:35.183] } [01:27:35.183] ...future.frame <- base::sys.nframe() [01:27:35.183] ...future.conditions <- base::list() [01:27:35.183] ...future.rng <- base::globalenv()$.Random.seed [01:27:35.183] if (FALSE) { [01:27:35.183] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:35.183] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:35.183] } [01:27:35.183] ...future.result <- base::tryCatch({ [01:27:35.183] base::withCallingHandlers({ [01:27:35.183] ...future.value <- base::withVisible(base::local({ [01:27:35.183] ...future.makeSendCondition <- base::local({ [01:27:35.183] sendCondition <- NULL [01:27:35.183] function(frame = 1L) { [01:27:35.183] if (is.function(sendCondition)) [01:27:35.183] return(sendCondition) [01:27:35.183] ns <- getNamespace("parallel") [01:27:35.183] if (exists("sendData", mode = "function", [01:27:35.183] envir = ns)) { [01:27:35.183] parallel_sendData <- get("sendData", mode = "function", [01:27:35.183] envir = ns) [01:27:35.183] envir <- sys.frame(frame) [01:27:35.183] master <- NULL [01:27:35.183] while (!identical(envir, .GlobalEnv) && [01:27:35.183] !identical(envir, emptyenv())) { [01:27:35.183] if (exists("master", mode = "list", envir = envir, [01:27:35.183] inherits = FALSE)) { [01:27:35.183] master <- get("master", mode = "list", [01:27:35.183] envir = envir, inherits = FALSE) [01:27:35.183] if (inherits(master, c("SOCKnode", [01:27:35.183] "SOCK0node"))) { [01:27:35.183] sendCondition <<- function(cond) { [01:27:35.183] data <- list(type = "VALUE", value = cond, [01:27:35.183] success = TRUE) [01:27:35.183] parallel_sendData(master, data) [01:27:35.183] } [01:27:35.183] return(sendCondition) [01:27:35.183] } [01:27:35.183] } [01:27:35.183] frame <- frame + 1L [01:27:35.183] envir <- sys.frame(frame) [01:27:35.183] } [01:27:35.183] } [01:27:35.183] sendCondition <<- function(cond) NULL [01:27:35.183] } [01:27:35.183] }) [01:27:35.183] withCallingHandlers({ [01:27:35.183] { [01:27:35.183] 2 * a [01:27:35.183] } [01:27:35.183] }, immediateCondition = function(cond) { [01:27:35.183] sendCondition <- ...future.makeSendCondition() [01:27:35.183] sendCondition(cond) [01:27:35.183] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.183] { [01:27:35.183] inherits <- base::inherits [01:27:35.183] invokeRestart <- base::invokeRestart [01:27:35.183] is.null <- base::is.null [01:27:35.183] muffled <- FALSE [01:27:35.183] if (inherits(cond, "message")) { [01:27:35.183] muffled <- grepl(pattern, "muffleMessage") [01:27:35.183] if (muffled) [01:27:35.183] invokeRestart("muffleMessage") [01:27:35.183] } [01:27:35.183] else if (inherits(cond, "warning")) { [01:27:35.183] muffled <- grepl(pattern, "muffleWarning") [01:27:35.183] if (muffled) [01:27:35.183] invokeRestart("muffleWarning") [01:27:35.183] } [01:27:35.183] else if (inherits(cond, "condition")) { [01:27:35.183] if (!is.null(pattern)) { [01:27:35.183] computeRestarts <- base::computeRestarts [01:27:35.183] grepl <- base::grepl [01:27:35.183] restarts <- computeRestarts(cond) [01:27:35.183] for (restart in restarts) { [01:27:35.183] name <- restart$name [01:27:35.183] if (is.null(name)) [01:27:35.183] next [01:27:35.183] if (!grepl(pattern, name)) [01:27:35.183] next [01:27:35.183] invokeRestart(restart) [01:27:35.183] muffled <- TRUE [01:27:35.183] break [01:27:35.183] } [01:27:35.183] } [01:27:35.183] } [01:27:35.183] invisible(muffled) [01:27:35.183] } [01:27:35.183] muffleCondition(cond) [01:27:35.183] }) [01:27:35.183] })) [01:27:35.183] future::FutureResult(value = ...future.value$value, [01:27:35.183] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.183] ...future.rng), globalenv = if (FALSE) [01:27:35.183] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:35.183] ...future.globalenv.names)) [01:27:35.183] else NULL, started = ...future.startTime, version = "1.8") [01:27:35.183] }, condition = base::local({ [01:27:35.183] c <- base::c [01:27:35.183] inherits <- base::inherits [01:27:35.183] invokeRestart <- base::invokeRestart [01:27:35.183] length <- base::length [01:27:35.183] list <- base::list [01:27:35.183] seq.int <- base::seq.int [01:27:35.183] signalCondition <- base::signalCondition [01:27:35.183] sys.calls <- base::sys.calls [01:27:35.183] `[[` <- base::`[[` [01:27:35.183] `+` <- base::`+` [01:27:35.183] `<<-` <- base::`<<-` [01:27:35.183] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:35.183] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:35.183] 3L)] [01:27:35.183] } [01:27:35.183] function(cond) { [01:27:35.183] is_error <- inherits(cond, "error") [01:27:35.183] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:35.183] NULL) [01:27:35.183] if (is_error) { [01:27:35.183] sessionInformation <- function() { [01:27:35.183] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:35.183] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:35.183] search = base::search(), system = base::Sys.info()) [01:27:35.183] } [01:27:35.183] ...future.conditions[[length(...future.conditions) + [01:27:35.183] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:35.183] cond$call), session = sessionInformation(), [01:27:35.183] timestamp = base::Sys.time(), signaled = 0L) [01:27:35.183] signalCondition(cond) [01:27:35.183] } [01:27:35.183] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:35.183] "immediateCondition"))) { [01:27:35.183] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:35.183] ...future.conditions[[length(...future.conditions) + [01:27:35.183] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:35.183] if (TRUE && !signal) { [01:27:35.183] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.183] { [01:27:35.183] inherits <- base::inherits [01:27:35.183] invokeRestart <- base::invokeRestart [01:27:35.183] is.null <- base::is.null [01:27:35.183] muffled <- FALSE [01:27:35.183] if (inherits(cond, "message")) { [01:27:35.183] muffled <- grepl(pattern, "muffleMessage") [01:27:35.183] if (muffled) [01:27:35.183] invokeRestart("muffleMessage") [01:27:35.183] } [01:27:35.183] else if (inherits(cond, "warning")) { [01:27:35.183] muffled <- grepl(pattern, "muffleWarning") [01:27:35.183] if (muffled) [01:27:35.183] invokeRestart("muffleWarning") [01:27:35.183] } [01:27:35.183] else if (inherits(cond, "condition")) { [01:27:35.183] if (!is.null(pattern)) { [01:27:35.183] computeRestarts <- base::computeRestarts [01:27:35.183] grepl <- base::grepl [01:27:35.183] restarts <- computeRestarts(cond) [01:27:35.183] for (restart in restarts) { [01:27:35.183] name <- restart$name [01:27:35.183] if (is.null(name)) [01:27:35.183] next [01:27:35.183] if (!grepl(pattern, name)) [01:27:35.183] next [01:27:35.183] invokeRestart(restart) [01:27:35.183] muffled <- TRUE [01:27:35.183] break [01:27:35.183] } [01:27:35.183] } [01:27:35.183] } [01:27:35.183] invisible(muffled) [01:27:35.183] } [01:27:35.183] muffleCondition(cond, pattern = "^muffle") [01:27:35.183] } [01:27:35.183] } [01:27:35.183] else { [01:27:35.183] if (TRUE) { [01:27:35.183] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.183] { [01:27:35.183] inherits <- base::inherits [01:27:35.183] invokeRestart <- base::invokeRestart [01:27:35.183] is.null <- base::is.null [01:27:35.183] muffled <- FALSE [01:27:35.183] if (inherits(cond, "message")) { [01:27:35.183] muffled <- grepl(pattern, "muffleMessage") [01:27:35.183] if (muffled) [01:27:35.183] invokeRestart("muffleMessage") [01:27:35.183] } [01:27:35.183] else if (inherits(cond, "warning")) { [01:27:35.183] muffled <- grepl(pattern, "muffleWarning") [01:27:35.183] if (muffled) [01:27:35.183] invokeRestart("muffleWarning") [01:27:35.183] } [01:27:35.183] else if (inherits(cond, "condition")) { [01:27:35.183] if (!is.null(pattern)) { [01:27:35.183] computeRestarts <- base::computeRestarts [01:27:35.183] grepl <- base::grepl [01:27:35.183] restarts <- computeRestarts(cond) [01:27:35.183] for (restart in restarts) { [01:27:35.183] name <- restart$name [01:27:35.183] if (is.null(name)) [01:27:35.183] next [01:27:35.183] if (!grepl(pattern, name)) [01:27:35.183] next [01:27:35.183] invokeRestart(restart) [01:27:35.183] muffled <- TRUE [01:27:35.183] break [01:27:35.183] } [01:27:35.183] } [01:27:35.183] } [01:27:35.183] invisible(muffled) [01:27:35.183] } [01:27:35.183] muffleCondition(cond, pattern = "^muffle") [01:27:35.183] } [01:27:35.183] } [01:27:35.183] } [01:27:35.183] })) [01:27:35.183] }, error = function(ex) { [01:27:35.183] base::structure(base::list(value = NULL, visible = NULL, [01:27:35.183] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.183] ...future.rng), started = ...future.startTime, [01:27:35.183] finished = Sys.time(), session_uuid = NA_character_, [01:27:35.183] version = "1.8"), class = "FutureResult") [01:27:35.183] }, finally = { [01:27:35.183] if (!identical(...future.workdir, getwd())) [01:27:35.183] setwd(...future.workdir) [01:27:35.183] { [01:27:35.183] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:35.183] ...future.oldOptions$nwarnings <- NULL [01:27:35.183] } [01:27:35.183] base::options(...future.oldOptions) [01:27:35.183] if (.Platform$OS.type == "windows") { [01:27:35.183] old_names <- names(...future.oldEnvVars) [01:27:35.183] envs <- base::Sys.getenv() [01:27:35.183] names <- names(envs) [01:27:35.183] common <- intersect(names, old_names) [01:27:35.183] added <- setdiff(names, old_names) [01:27:35.183] removed <- setdiff(old_names, names) [01:27:35.183] changed <- common[...future.oldEnvVars[common] != [01:27:35.183] envs[common]] [01:27:35.183] NAMES <- toupper(changed) [01:27:35.183] args <- list() [01:27:35.183] for (kk in seq_along(NAMES)) { [01:27:35.183] name <- changed[[kk]] [01:27:35.183] NAME <- NAMES[[kk]] [01:27:35.183] if (name != NAME && is.element(NAME, old_names)) [01:27:35.183] next [01:27:35.183] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.183] } [01:27:35.183] NAMES <- toupper(added) [01:27:35.183] for (kk in seq_along(NAMES)) { [01:27:35.183] name <- added[[kk]] [01:27:35.183] NAME <- NAMES[[kk]] [01:27:35.183] if (name != NAME && is.element(NAME, old_names)) [01:27:35.183] next [01:27:35.183] args[[name]] <- "" [01:27:35.183] } [01:27:35.183] NAMES <- toupper(removed) [01:27:35.183] for (kk in seq_along(NAMES)) { [01:27:35.183] name <- removed[[kk]] [01:27:35.183] NAME <- NAMES[[kk]] [01:27:35.183] if (name != NAME && is.element(NAME, old_names)) [01:27:35.183] next [01:27:35.183] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.183] } [01:27:35.183] if (length(args) > 0) [01:27:35.183] base::do.call(base::Sys.setenv, args = args) [01:27:35.183] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:35.183] } [01:27:35.183] else { [01:27:35.183] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:35.183] } [01:27:35.183] { [01:27:35.183] if (base::length(...future.futureOptionsAdded) > [01:27:35.183] 0L) { [01:27:35.183] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:35.183] base::names(opts) <- ...future.futureOptionsAdded [01:27:35.183] base::options(opts) [01:27:35.183] } [01:27:35.183] { [01:27:35.183] { [01:27:35.183] base::options(mc.cores = ...future.mc.cores.old) [01:27:35.183] NULL [01:27:35.183] } [01:27:35.183] options(future.plan = NULL) [01:27:35.183] if (is.na(NA_character_)) [01:27:35.183] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.183] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:35.183] future::plan(list(function (..., workers = availableCores(), [01:27:35.183] lazy = FALSE, rscript_libs = .libPaths(), [01:27:35.183] envir = parent.frame()) [01:27:35.183] { [01:27:35.183] if (is.function(workers)) [01:27:35.183] workers <- workers() [01:27:35.183] workers <- structure(as.integer(workers), [01:27:35.183] class = class(workers)) [01:27:35.183] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:35.183] workers >= 1) [01:27:35.183] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:35.183] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:35.183] } [01:27:35.183] future <- MultisessionFuture(..., workers = workers, [01:27:35.183] lazy = lazy, rscript_libs = rscript_libs, [01:27:35.183] envir = envir) [01:27:35.183] if (!future$lazy) [01:27:35.183] future <- run(future) [01:27:35.183] invisible(future) [01:27:35.183] }), .cleanup = FALSE, .init = FALSE) [01:27:35.183] } [01:27:35.183] } [01:27:35.183] } [01:27:35.183] }) [01:27:35.183] if (TRUE) { [01:27:35.183] base::sink(type = "output", split = FALSE) [01:27:35.183] if (TRUE) { [01:27:35.183] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:35.183] } [01:27:35.183] else { [01:27:35.183] ...future.result["stdout"] <- base::list(NULL) [01:27:35.183] } [01:27:35.183] base::close(...future.stdout) [01:27:35.183] ...future.stdout <- NULL [01:27:35.183] } [01:27:35.183] ...future.result$conditions <- ...future.conditions [01:27:35.183] ...future.result$finished <- base::Sys.time() [01:27:35.183] ...future.result [01:27:35.183] } [01:27:35.193] Exporting 1 global objects (56 bytes) to cluster node #1 ... [01:27:35.193] Exporting 'a' (56 bytes) to cluster node #1 ... [01:27:35.194] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [01:27:35.194] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [01:27:35.195] MultisessionFuture started [01:27:35.195] - Launch lazy future ... done [01:27:35.196] run() for 'MultisessionFuture' ... done [01:27:35.196] result() for ClusterFuture ... [01:27:35.196] receiveMessageFromWorker() for ClusterFuture ... [01:27:35.196] - Validating connection of MultisessionFuture [01:27:35.211] - received message: FutureResult [01:27:35.211] - Received FutureResult [01:27:35.211] - Erased future from FutureRegistry [01:27:35.212] result() for ClusterFuture ... [01:27:35.212] - result already collected: FutureResult [01:27:35.212] result() for ClusterFuture ... done [01:27:35.212] receiveMessageFromWorker() for ClusterFuture ... done [01:27:35.212] result() for ClusterFuture ... done [01:27:35.212] result() for ClusterFuture ... [01:27:35.213] - result already collected: FutureResult [01:27:35.213] result() for ClusterFuture ... done [01:27:35.213] getGlobalsAndPackages() ... [01:27:35.213] Searching for globals... [01:27:35.214] - globals found: [3] '{', '*', 'a' [01:27:35.214] Searching for globals ... DONE [01:27:35.215] Resolving globals: FALSE [01:27:35.215] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:35.216] The total size of the 1 globals exported for future expression ('{; 2 * a; }') 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') [01:27:35.216] - globals: [1] 'a' [01:27:35.216] [01:27:35.216] getGlobalsAndPackages() ... DONE [01:27:35.216] run() for 'Future' ... [01:27:35.217] - state: 'created' [01:27:35.217] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:35.232] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:35.232] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:35.233] - Field: 'node' [01:27:35.233] - Field: 'label' [01:27:35.233] - Field: 'local' [01:27:35.233] - Field: 'owner' [01:27:35.233] - Field: 'envir' [01:27:35.234] - Field: 'workers' [01:27:35.234] - Field: 'packages' [01:27:35.234] - Field: 'gc' [01:27:35.234] - Field: 'conditions' [01:27:35.234] - Field: 'persistent' [01:27:35.234] - Field: 'expr' [01:27:35.235] - Field: 'uuid' [01:27:35.235] - Field: 'seed' [01:27:35.235] - Field: 'version' [01:27:35.235] - Field: 'result' [01:27:35.235] - Field: 'asynchronous' [01:27:35.236] - Field: 'calls' [01:27:35.236] - Field: 'globals' [01:27:35.236] - Field: 'stdout' [01:27:35.236] - Field: 'earlySignal' [01:27:35.236] - Field: 'lazy' [01:27:35.237] - Field: 'state' [01:27:35.237] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:35.237] - Launch lazy future ... [01:27:35.237] Packages needed by the future expression (n = 0): [01:27:35.238] Packages needed by future strategies (n = 0): [01:27:35.238] { [01:27:35.238] { [01:27:35.238] { [01:27:35.238] ...future.startTime <- base::Sys.time() [01:27:35.238] { [01:27:35.238] { [01:27:35.238] { [01:27:35.238] { [01:27:35.238] base::local({ [01:27:35.238] has_future <- base::requireNamespace("future", [01:27:35.238] quietly = TRUE) [01:27:35.238] if (has_future) { [01:27:35.238] ns <- base::getNamespace("future") [01:27:35.238] version <- ns[[".package"]][["version"]] [01:27:35.238] if (is.null(version)) [01:27:35.238] version <- utils::packageVersion("future") [01:27:35.238] } [01:27:35.238] else { [01:27:35.238] version <- NULL [01:27:35.238] } [01:27:35.238] if (!has_future || version < "1.8.0") { [01:27:35.238] info <- base::c(r_version = base::gsub("R version ", [01:27:35.238] "", base::R.version$version.string), [01:27:35.238] platform = base::sprintf("%s (%s-bit)", [01:27:35.238] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:35.238] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:35.238] "release", "version")], collapse = " "), [01:27:35.238] hostname = base::Sys.info()[["nodename"]]) [01:27:35.238] info <- base::sprintf("%s: %s", base::names(info), [01:27:35.238] info) [01:27:35.238] info <- base::paste(info, collapse = "; ") [01:27:35.238] if (!has_future) { [01:27:35.238] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:35.238] info) [01:27:35.238] } [01:27:35.238] else { [01:27:35.238] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:35.238] info, version) [01:27:35.238] } [01:27:35.238] base::stop(msg) [01:27:35.238] } [01:27:35.238] }) [01:27:35.238] } [01:27:35.238] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:35.238] base::options(mc.cores = 1L) [01:27:35.238] } [01:27:35.238] options(future.plan = NULL) [01:27:35.238] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.238] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:35.238] } [01:27:35.238] ...future.workdir <- getwd() [01:27:35.238] } [01:27:35.238] ...future.oldOptions <- base::as.list(base::.Options) [01:27:35.238] ...future.oldEnvVars <- base::Sys.getenv() [01:27:35.238] } [01:27:35.238] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:35.238] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:35.238] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:35.238] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:35.238] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:35.238] future.stdout.windows.reencode = NULL, width = 80L) [01:27:35.238] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:35.238] base::names(...future.oldOptions)) [01:27:35.238] } [01:27:35.238] if (FALSE) { [01:27:35.238] } [01:27:35.238] else { [01:27:35.238] if (TRUE) { [01:27:35.238] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:35.238] open = "w") [01:27:35.238] } [01:27:35.238] else { [01:27:35.238] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:35.238] windows = "NUL", "/dev/null"), open = "w") [01:27:35.238] } [01:27:35.238] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:35.238] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:35.238] base::sink(type = "output", split = FALSE) [01:27:35.238] base::close(...future.stdout) [01:27:35.238] }, add = TRUE) [01:27:35.238] } [01:27:35.238] ...future.frame <- base::sys.nframe() [01:27:35.238] ...future.conditions <- base::list() [01:27:35.238] ...future.rng <- base::globalenv()$.Random.seed [01:27:35.238] if (FALSE) { [01:27:35.238] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:35.238] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:35.238] } [01:27:35.238] ...future.result <- base::tryCatch({ [01:27:35.238] base::withCallingHandlers({ [01:27:35.238] ...future.value <- base::withVisible(base::local({ [01:27:35.238] ...future.makeSendCondition <- base::local({ [01:27:35.238] sendCondition <- NULL [01:27:35.238] function(frame = 1L) { [01:27:35.238] if (is.function(sendCondition)) [01:27:35.238] return(sendCondition) [01:27:35.238] ns <- getNamespace("parallel") [01:27:35.238] if (exists("sendData", mode = "function", [01:27:35.238] envir = ns)) { [01:27:35.238] parallel_sendData <- get("sendData", mode = "function", [01:27:35.238] envir = ns) [01:27:35.238] envir <- sys.frame(frame) [01:27:35.238] master <- NULL [01:27:35.238] while (!identical(envir, .GlobalEnv) && [01:27:35.238] !identical(envir, emptyenv())) { [01:27:35.238] if (exists("master", mode = "list", envir = envir, [01:27:35.238] inherits = FALSE)) { [01:27:35.238] master <- get("master", mode = "list", [01:27:35.238] envir = envir, inherits = FALSE) [01:27:35.238] if (inherits(master, c("SOCKnode", [01:27:35.238] "SOCK0node"))) { [01:27:35.238] sendCondition <<- function(cond) { [01:27:35.238] data <- list(type = "VALUE", value = cond, [01:27:35.238] success = TRUE) [01:27:35.238] parallel_sendData(master, data) [01:27:35.238] } [01:27:35.238] return(sendCondition) [01:27:35.238] } [01:27:35.238] } [01:27:35.238] frame <- frame + 1L [01:27:35.238] envir <- sys.frame(frame) [01:27:35.238] } [01:27:35.238] } [01:27:35.238] sendCondition <<- function(cond) NULL [01:27:35.238] } [01:27:35.238] }) [01:27:35.238] withCallingHandlers({ [01:27:35.238] { [01:27:35.238] 2 * a [01:27:35.238] } [01:27:35.238] }, immediateCondition = function(cond) { [01:27:35.238] sendCondition <- ...future.makeSendCondition() [01:27:35.238] sendCondition(cond) [01:27:35.238] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.238] { [01:27:35.238] inherits <- base::inherits [01:27:35.238] invokeRestart <- base::invokeRestart [01:27:35.238] is.null <- base::is.null [01:27:35.238] muffled <- FALSE [01:27:35.238] if (inherits(cond, "message")) { [01:27:35.238] muffled <- grepl(pattern, "muffleMessage") [01:27:35.238] if (muffled) [01:27:35.238] invokeRestart("muffleMessage") [01:27:35.238] } [01:27:35.238] else if (inherits(cond, "warning")) { [01:27:35.238] muffled <- grepl(pattern, "muffleWarning") [01:27:35.238] if (muffled) [01:27:35.238] invokeRestart("muffleWarning") [01:27:35.238] } [01:27:35.238] else if (inherits(cond, "condition")) { [01:27:35.238] if (!is.null(pattern)) { [01:27:35.238] computeRestarts <- base::computeRestarts [01:27:35.238] grepl <- base::grepl [01:27:35.238] restarts <- computeRestarts(cond) [01:27:35.238] for (restart in restarts) { [01:27:35.238] name <- restart$name [01:27:35.238] if (is.null(name)) [01:27:35.238] next [01:27:35.238] if (!grepl(pattern, name)) [01:27:35.238] next [01:27:35.238] invokeRestart(restart) [01:27:35.238] muffled <- TRUE [01:27:35.238] break [01:27:35.238] } [01:27:35.238] } [01:27:35.238] } [01:27:35.238] invisible(muffled) [01:27:35.238] } [01:27:35.238] muffleCondition(cond) [01:27:35.238] }) [01:27:35.238] })) [01:27:35.238] future::FutureResult(value = ...future.value$value, [01:27:35.238] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.238] ...future.rng), globalenv = if (FALSE) [01:27:35.238] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:35.238] ...future.globalenv.names)) [01:27:35.238] else NULL, started = ...future.startTime, version = "1.8") [01:27:35.238] }, condition = base::local({ [01:27:35.238] c <- base::c [01:27:35.238] inherits <- base::inherits [01:27:35.238] invokeRestart <- base::invokeRestart [01:27:35.238] length <- base::length [01:27:35.238] list <- base::list [01:27:35.238] seq.int <- base::seq.int [01:27:35.238] signalCondition <- base::signalCondition [01:27:35.238] sys.calls <- base::sys.calls [01:27:35.238] `[[` <- base::`[[` [01:27:35.238] `+` <- base::`+` [01:27:35.238] `<<-` <- base::`<<-` [01:27:35.238] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:35.238] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:35.238] 3L)] [01:27:35.238] } [01:27:35.238] function(cond) { [01:27:35.238] is_error <- inherits(cond, "error") [01:27:35.238] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:35.238] NULL) [01:27:35.238] if (is_error) { [01:27:35.238] sessionInformation <- function() { [01:27:35.238] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:35.238] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:35.238] search = base::search(), system = base::Sys.info()) [01:27:35.238] } [01:27:35.238] ...future.conditions[[length(...future.conditions) + [01:27:35.238] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:35.238] cond$call), session = sessionInformation(), [01:27:35.238] timestamp = base::Sys.time(), signaled = 0L) [01:27:35.238] signalCondition(cond) [01:27:35.238] } [01:27:35.238] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:35.238] "immediateCondition"))) { [01:27:35.238] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:35.238] ...future.conditions[[length(...future.conditions) + [01:27:35.238] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:35.238] if (TRUE && !signal) { [01:27:35.238] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.238] { [01:27:35.238] inherits <- base::inherits [01:27:35.238] invokeRestart <- base::invokeRestart [01:27:35.238] is.null <- base::is.null [01:27:35.238] muffled <- FALSE [01:27:35.238] if (inherits(cond, "message")) { [01:27:35.238] muffled <- grepl(pattern, "muffleMessage") [01:27:35.238] if (muffled) [01:27:35.238] invokeRestart("muffleMessage") [01:27:35.238] } [01:27:35.238] else if (inherits(cond, "warning")) { [01:27:35.238] muffled <- grepl(pattern, "muffleWarning") [01:27:35.238] if (muffled) [01:27:35.238] invokeRestart("muffleWarning") [01:27:35.238] } [01:27:35.238] else if (inherits(cond, "condition")) { [01:27:35.238] if (!is.null(pattern)) { [01:27:35.238] computeRestarts <- base::computeRestarts [01:27:35.238] grepl <- base::grepl [01:27:35.238] restarts <- computeRestarts(cond) [01:27:35.238] for (restart in restarts) { [01:27:35.238] name <- restart$name [01:27:35.238] if (is.null(name)) [01:27:35.238] next [01:27:35.238] if (!grepl(pattern, name)) [01:27:35.238] next [01:27:35.238] invokeRestart(restart) [01:27:35.238] muffled <- TRUE [01:27:35.238] break [01:27:35.238] } [01:27:35.238] } [01:27:35.238] } [01:27:35.238] invisible(muffled) [01:27:35.238] } [01:27:35.238] muffleCondition(cond, pattern = "^muffle") [01:27:35.238] } [01:27:35.238] } [01:27:35.238] else { [01:27:35.238] if (TRUE) { [01:27:35.238] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.238] { [01:27:35.238] inherits <- base::inherits [01:27:35.238] invokeRestart <- base::invokeRestart [01:27:35.238] is.null <- base::is.null [01:27:35.238] muffled <- FALSE [01:27:35.238] if (inherits(cond, "message")) { [01:27:35.238] muffled <- grepl(pattern, "muffleMessage") [01:27:35.238] if (muffled) [01:27:35.238] invokeRestart("muffleMessage") [01:27:35.238] } [01:27:35.238] else if (inherits(cond, "warning")) { [01:27:35.238] muffled <- grepl(pattern, "muffleWarning") [01:27:35.238] if (muffled) [01:27:35.238] invokeRestart("muffleWarning") [01:27:35.238] } [01:27:35.238] else if (inherits(cond, "condition")) { [01:27:35.238] if (!is.null(pattern)) { [01:27:35.238] computeRestarts <- base::computeRestarts [01:27:35.238] grepl <- base::grepl [01:27:35.238] restarts <- computeRestarts(cond) [01:27:35.238] for (restart in restarts) { [01:27:35.238] name <- restart$name [01:27:35.238] if (is.null(name)) [01:27:35.238] next [01:27:35.238] if (!grepl(pattern, name)) [01:27:35.238] next [01:27:35.238] invokeRestart(restart) [01:27:35.238] muffled <- TRUE [01:27:35.238] break [01:27:35.238] } [01:27:35.238] } [01:27:35.238] } [01:27:35.238] invisible(muffled) [01:27:35.238] } [01:27:35.238] muffleCondition(cond, pattern = "^muffle") [01:27:35.238] } [01:27:35.238] } [01:27:35.238] } [01:27:35.238] })) [01:27:35.238] }, error = function(ex) { [01:27:35.238] base::structure(base::list(value = NULL, visible = NULL, [01:27:35.238] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.238] ...future.rng), started = ...future.startTime, [01:27:35.238] finished = Sys.time(), session_uuid = NA_character_, [01:27:35.238] version = "1.8"), class = "FutureResult") [01:27:35.238] }, finally = { [01:27:35.238] if (!identical(...future.workdir, getwd())) [01:27:35.238] setwd(...future.workdir) [01:27:35.238] { [01:27:35.238] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:35.238] ...future.oldOptions$nwarnings <- NULL [01:27:35.238] } [01:27:35.238] base::options(...future.oldOptions) [01:27:35.238] if (.Platform$OS.type == "windows") { [01:27:35.238] old_names <- names(...future.oldEnvVars) [01:27:35.238] envs <- base::Sys.getenv() [01:27:35.238] names <- names(envs) [01:27:35.238] common <- intersect(names, old_names) [01:27:35.238] added <- setdiff(names, old_names) [01:27:35.238] removed <- setdiff(old_names, names) [01:27:35.238] changed <- common[...future.oldEnvVars[common] != [01:27:35.238] envs[common]] [01:27:35.238] NAMES <- toupper(changed) [01:27:35.238] args <- list() [01:27:35.238] for (kk in seq_along(NAMES)) { [01:27:35.238] name <- changed[[kk]] [01:27:35.238] NAME <- NAMES[[kk]] [01:27:35.238] if (name != NAME && is.element(NAME, old_names)) [01:27:35.238] next [01:27:35.238] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.238] } [01:27:35.238] NAMES <- toupper(added) [01:27:35.238] for (kk in seq_along(NAMES)) { [01:27:35.238] name <- added[[kk]] [01:27:35.238] NAME <- NAMES[[kk]] [01:27:35.238] if (name != NAME && is.element(NAME, old_names)) [01:27:35.238] next [01:27:35.238] args[[name]] <- "" [01:27:35.238] } [01:27:35.238] NAMES <- toupper(removed) [01:27:35.238] for (kk in seq_along(NAMES)) { [01:27:35.238] name <- removed[[kk]] [01:27:35.238] NAME <- NAMES[[kk]] [01:27:35.238] if (name != NAME && is.element(NAME, old_names)) [01:27:35.238] next [01:27:35.238] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.238] } [01:27:35.238] if (length(args) > 0) [01:27:35.238] base::do.call(base::Sys.setenv, args = args) [01:27:35.238] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:35.238] } [01:27:35.238] else { [01:27:35.238] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:35.238] } [01:27:35.238] { [01:27:35.238] if (base::length(...future.futureOptionsAdded) > [01:27:35.238] 0L) { [01:27:35.238] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:35.238] base::names(opts) <- ...future.futureOptionsAdded [01:27:35.238] base::options(opts) [01:27:35.238] } [01:27:35.238] { [01:27:35.238] { [01:27:35.238] base::options(mc.cores = ...future.mc.cores.old) [01:27:35.238] NULL [01:27:35.238] } [01:27:35.238] options(future.plan = NULL) [01:27:35.238] if (is.na(NA_character_)) [01:27:35.238] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.238] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:35.238] future::plan(list(function (..., workers = availableCores(), [01:27:35.238] lazy = FALSE, rscript_libs = .libPaths(), [01:27:35.238] envir = parent.frame()) [01:27:35.238] { [01:27:35.238] if (is.function(workers)) [01:27:35.238] workers <- workers() [01:27:35.238] workers <- structure(as.integer(workers), [01:27:35.238] class = class(workers)) [01:27:35.238] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:35.238] workers >= 1) [01:27:35.238] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:35.238] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:35.238] } [01:27:35.238] future <- MultisessionFuture(..., workers = workers, [01:27:35.238] lazy = lazy, rscript_libs = rscript_libs, [01:27:35.238] envir = envir) [01:27:35.238] if (!future$lazy) [01:27:35.238] future <- run(future) [01:27:35.238] invisible(future) [01:27:35.238] }), .cleanup = FALSE, .init = FALSE) [01:27:35.238] } [01:27:35.238] } [01:27:35.238] } [01:27:35.238] }) [01:27:35.238] if (TRUE) { [01:27:35.238] base::sink(type = "output", split = FALSE) [01:27:35.238] if (TRUE) { [01:27:35.238] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:35.238] } [01:27:35.238] else { [01:27:35.238] ...future.result["stdout"] <- base::list(NULL) [01:27:35.238] } [01:27:35.238] base::close(...future.stdout) [01:27:35.238] ...future.stdout <- NULL [01:27:35.238] } [01:27:35.238] ...future.result$conditions <- ...future.conditions [01:27:35.238] ...future.result$finished <- base::Sys.time() [01:27:35.238] ...future.result [01:27:35.238] } [01:27:35.244] Exporting 1 global objects (56 bytes) to cluster node #1 ... [01:27:35.244] Exporting 'a' (56 bytes) to cluster node #1 ... [01:27:35.244] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [01:27:35.245] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [01:27:35.245] MultisessionFuture started [01:27:35.246] - Launch lazy future ... done [01:27:35.246] run() for 'MultisessionFuture' ... done [01:27:35.246] result() for ClusterFuture ... [01:27:35.246] receiveMessageFromWorker() for ClusterFuture ... [01:27:35.246] - Validating connection of MultisessionFuture [01:27:35.263] - received message: FutureResult [01:27:35.263] - Received FutureResult [01:27:35.263] - Erased future from FutureRegistry [01:27:35.263] result() for ClusterFuture ... [01:27:35.264] - result already collected: FutureResult [01:27:35.264] result() for ClusterFuture ... done [01:27:35.264] receiveMessageFromWorker() for ClusterFuture ... done [01:27:35.264] result() for ClusterFuture ... done [01:27:35.264] result() for ClusterFuture ... [01:27:35.264] - result already collected: FutureResult [01:27:35.264] result() for ClusterFuture ... done [01:27:35.265] getGlobalsAndPackages() ... [01:27:35.265] Searching for globals... [01:27:35.266] - globals found: [3] '{', '*', 'a' [01:27:35.266] Searching for globals ... DONE [01:27:35.266] Resolving globals: FALSE [01:27:35.267] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:35.267] The total size of the 1 globals exported for future expression ('{; 2 * a; }') 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') [01:27:35.268] - globals: [1] 'a' [01:27:35.268] [01:27:35.268] getGlobalsAndPackages() ... DONE [01:27:35.268] run() for 'Future' ... [01:27:35.268] - state: 'created' [01:27:35.269] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:35.283] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:35.283] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:35.283] - Field: 'node' [01:27:35.283] - Field: 'label' [01:27:35.284] - Field: 'local' [01:27:35.284] - Field: 'owner' [01:27:35.284] - Field: 'envir' [01:27:35.284] - Field: 'workers' [01:27:35.284] - Field: 'packages' [01:27:35.285] - Field: 'gc' [01:27:35.285] - Field: 'conditions' [01:27:35.285] - Field: 'persistent' [01:27:35.285] - Field: 'expr' [01:27:35.285] - Field: 'uuid' [01:27:35.286] - Field: 'seed' [01:27:35.286] - Field: 'version' [01:27:35.286] - Field: 'result' [01:27:35.286] - Field: 'asynchronous' [01:27:35.286] - Field: 'calls' [01:27:35.286] - Field: 'globals' [01:27:35.287] - Field: 'stdout' [01:27:35.287] - Field: 'earlySignal' [01:27:35.287] - Field: 'lazy' [01:27:35.287] - Field: 'state' [01:27:35.287] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:35.288] - Launch lazy future ... [01:27:35.288] Packages needed by the future expression (n = 0): [01:27:35.288] Packages needed by future strategies (n = 0): [01:27:35.290] { [01:27:35.290] { [01:27:35.290] { [01:27:35.290] ...future.startTime <- base::Sys.time() [01:27:35.290] { [01:27:35.290] { [01:27:35.290] { [01:27:35.290] { [01:27:35.290] base::local({ [01:27:35.290] has_future <- base::requireNamespace("future", [01:27:35.290] quietly = TRUE) [01:27:35.290] if (has_future) { [01:27:35.290] ns <- base::getNamespace("future") [01:27:35.290] version <- ns[[".package"]][["version"]] [01:27:35.290] if (is.null(version)) [01:27:35.290] version <- utils::packageVersion("future") [01:27:35.290] } [01:27:35.290] else { [01:27:35.290] version <- NULL [01:27:35.290] } [01:27:35.290] if (!has_future || version < "1.8.0") { [01:27:35.290] info <- base::c(r_version = base::gsub("R version ", [01:27:35.290] "", base::R.version$version.string), [01:27:35.290] platform = base::sprintf("%s (%s-bit)", [01:27:35.290] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:35.290] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:35.290] "release", "version")], collapse = " "), [01:27:35.290] hostname = base::Sys.info()[["nodename"]]) [01:27:35.290] info <- base::sprintf("%s: %s", base::names(info), [01:27:35.290] info) [01:27:35.290] info <- base::paste(info, collapse = "; ") [01:27:35.290] if (!has_future) { [01:27:35.290] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:35.290] info) [01:27:35.290] } [01:27:35.290] else { [01:27:35.290] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:35.290] info, version) [01:27:35.290] } [01:27:35.290] base::stop(msg) [01:27:35.290] } [01:27:35.290] }) [01:27:35.290] } [01:27:35.290] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:35.290] base::options(mc.cores = 1L) [01:27:35.290] } [01:27:35.290] options(future.plan = NULL) [01:27:35.290] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.290] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:35.290] } [01:27:35.290] ...future.workdir <- getwd() [01:27:35.290] } [01:27:35.290] ...future.oldOptions <- base::as.list(base::.Options) [01:27:35.290] ...future.oldEnvVars <- base::Sys.getenv() [01:27:35.290] } [01:27:35.290] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:35.290] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:35.290] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:35.290] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:35.290] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:35.290] future.stdout.windows.reencode = NULL, width = 80L) [01:27:35.290] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:35.290] base::names(...future.oldOptions)) [01:27:35.290] } [01:27:35.290] if (FALSE) { [01:27:35.290] } [01:27:35.290] else { [01:27:35.290] if (TRUE) { [01:27:35.290] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:35.290] open = "w") [01:27:35.290] } [01:27:35.290] else { [01:27:35.290] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:35.290] windows = "NUL", "/dev/null"), open = "w") [01:27:35.290] } [01:27:35.290] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:35.290] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:35.290] base::sink(type = "output", split = FALSE) [01:27:35.290] base::close(...future.stdout) [01:27:35.290] }, add = TRUE) [01:27:35.290] } [01:27:35.290] ...future.frame <- base::sys.nframe() [01:27:35.290] ...future.conditions <- base::list() [01:27:35.290] ...future.rng <- base::globalenv()$.Random.seed [01:27:35.290] if (FALSE) { [01:27:35.290] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:35.290] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:35.290] } [01:27:35.290] ...future.result <- base::tryCatch({ [01:27:35.290] base::withCallingHandlers({ [01:27:35.290] ...future.value <- base::withVisible(base::local({ [01:27:35.290] ...future.makeSendCondition <- base::local({ [01:27:35.290] sendCondition <- NULL [01:27:35.290] function(frame = 1L) { [01:27:35.290] if (is.function(sendCondition)) [01:27:35.290] return(sendCondition) [01:27:35.290] ns <- getNamespace("parallel") [01:27:35.290] if (exists("sendData", mode = "function", [01:27:35.290] envir = ns)) { [01:27:35.290] parallel_sendData <- get("sendData", mode = "function", [01:27:35.290] envir = ns) [01:27:35.290] envir <- sys.frame(frame) [01:27:35.290] master <- NULL [01:27:35.290] while (!identical(envir, .GlobalEnv) && [01:27:35.290] !identical(envir, emptyenv())) { [01:27:35.290] if (exists("master", mode = "list", envir = envir, [01:27:35.290] inherits = FALSE)) { [01:27:35.290] master <- get("master", mode = "list", [01:27:35.290] envir = envir, inherits = FALSE) [01:27:35.290] if (inherits(master, c("SOCKnode", [01:27:35.290] "SOCK0node"))) { [01:27:35.290] sendCondition <<- function(cond) { [01:27:35.290] data <- list(type = "VALUE", value = cond, [01:27:35.290] success = TRUE) [01:27:35.290] parallel_sendData(master, data) [01:27:35.290] } [01:27:35.290] return(sendCondition) [01:27:35.290] } [01:27:35.290] } [01:27:35.290] frame <- frame + 1L [01:27:35.290] envir <- sys.frame(frame) [01:27:35.290] } [01:27:35.290] } [01:27:35.290] sendCondition <<- function(cond) NULL [01:27:35.290] } [01:27:35.290] }) [01:27:35.290] withCallingHandlers({ [01:27:35.290] { [01:27:35.290] 2 * a [01:27:35.290] } [01:27:35.290] }, immediateCondition = function(cond) { [01:27:35.290] sendCondition <- ...future.makeSendCondition() [01:27:35.290] sendCondition(cond) [01:27:35.290] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.290] { [01:27:35.290] inherits <- base::inherits [01:27:35.290] invokeRestart <- base::invokeRestart [01:27:35.290] is.null <- base::is.null [01:27:35.290] muffled <- FALSE [01:27:35.290] if (inherits(cond, "message")) { [01:27:35.290] muffled <- grepl(pattern, "muffleMessage") [01:27:35.290] if (muffled) [01:27:35.290] invokeRestart("muffleMessage") [01:27:35.290] } [01:27:35.290] else if (inherits(cond, "warning")) { [01:27:35.290] muffled <- grepl(pattern, "muffleWarning") [01:27:35.290] if (muffled) [01:27:35.290] invokeRestart("muffleWarning") [01:27:35.290] } [01:27:35.290] else if (inherits(cond, "condition")) { [01:27:35.290] if (!is.null(pattern)) { [01:27:35.290] computeRestarts <- base::computeRestarts [01:27:35.290] grepl <- base::grepl [01:27:35.290] restarts <- computeRestarts(cond) [01:27:35.290] for (restart in restarts) { [01:27:35.290] name <- restart$name [01:27:35.290] if (is.null(name)) [01:27:35.290] next [01:27:35.290] if (!grepl(pattern, name)) [01:27:35.290] next [01:27:35.290] invokeRestart(restart) [01:27:35.290] muffled <- TRUE [01:27:35.290] break [01:27:35.290] } [01:27:35.290] } [01:27:35.290] } [01:27:35.290] invisible(muffled) [01:27:35.290] } [01:27:35.290] muffleCondition(cond) [01:27:35.290] }) [01:27:35.290] })) [01:27:35.290] future::FutureResult(value = ...future.value$value, [01:27:35.290] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.290] ...future.rng), globalenv = if (FALSE) [01:27:35.290] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:35.290] ...future.globalenv.names)) [01:27:35.290] else NULL, started = ...future.startTime, version = "1.8") [01:27:35.290] }, condition = base::local({ [01:27:35.290] c <- base::c [01:27:35.290] inherits <- base::inherits [01:27:35.290] invokeRestart <- base::invokeRestart [01:27:35.290] length <- base::length [01:27:35.290] list <- base::list [01:27:35.290] seq.int <- base::seq.int [01:27:35.290] signalCondition <- base::signalCondition [01:27:35.290] sys.calls <- base::sys.calls [01:27:35.290] `[[` <- base::`[[` [01:27:35.290] `+` <- base::`+` [01:27:35.290] `<<-` <- base::`<<-` [01:27:35.290] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:35.290] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:35.290] 3L)] [01:27:35.290] } [01:27:35.290] function(cond) { [01:27:35.290] is_error <- inherits(cond, "error") [01:27:35.290] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:35.290] NULL) [01:27:35.290] if (is_error) { [01:27:35.290] sessionInformation <- function() { [01:27:35.290] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:35.290] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:35.290] search = base::search(), system = base::Sys.info()) [01:27:35.290] } [01:27:35.290] ...future.conditions[[length(...future.conditions) + [01:27:35.290] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:35.290] cond$call), session = sessionInformation(), [01:27:35.290] timestamp = base::Sys.time(), signaled = 0L) [01:27:35.290] signalCondition(cond) [01:27:35.290] } [01:27:35.290] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:35.290] "immediateCondition"))) { [01:27:35.290] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:35.290] ...future.conditions[[length(...future.conditions) + [01:27:35.290] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:35.290] if (TRUE && !signal) { [01:27:35.290] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.290] { [01:27:35.290] inherits <- base::inherits [01:27:35.290] invokeRestart <- base::invokeRestart [01:27:35.290] is.null <- base::is.null [01:27:35.290] muffled <- FALSE [01:27:35.290] if (inherits(cond, "message")) { [01:27:35.290] muffled <- grepl(pattern, "muffleMessage") [01:27:35.290] if (muffled) [01:27:35.290] invokeRestart("muffleMessage") [01:27:35.290] } [01:27:35.290] else if (inherits(cond, "warning")) { [01:27:35.290] muffled <- grepl(pattern, "muffleWarning") [01:27:35.290] if (muffled) [01:27:35.290] invokeRestart("muffleWarning") [01:27:35.290] } [01:27:35.290] else if (inherits(cond, "condition")) { [01:27:35.290] if (!is.null(pattern)) { [01:27:35.290] computeRestarts <- base::computeRestarts [01:27:35.290] grepl <- base::grepl [01:27:35.290] restarts <- computeRestarts(cond) [01:27:35.290] for (restart in restarts) { [01:27:35.290] name <- restart$name [01:27:35.290] if (is.null(name)) [01:27:35.290] next [01:27:35.290] if (!grepl(pattern, name)) [01:27:35.290] next [01:27:35.290] invokeRestart(restart) [01:27:35.290] muffled <- TRUE [01:27:35.290] break [01:27:35.290] } [01:27:35.290] } [01:27:35.290] } [01:27:35.290] invisible(muffled) [01:27:35.290] } [01:27:35.290] muffleCondition(cond, pattern = "^muffle") [01:27:35.290] } [01:27:35.290] } [01:27:35.290] else { [01:27:35.290] if (TRUE) { [01:27:35.290] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.290] { [01:27:35.290] inherits <- base::inherits [01:27:35.290] invokeRestart <- base::invokeRestart [01:27:35.290] is.null <- base::is.null [01:27:35.290] muffled <- FALSE [01:27:35.290] if (inherits(cond, "message")) { [01:27:35.290] muffled <- grepl(pattern, "muffleMessage") [01:27:35.290] if (muffled) [01:27:35.290] invokeRestart("muffleMessage") [01:27:35.290] } [01:27:35.290] else if (inherits(cond, "warning")) { [01:27:35.290] muffled <- grepl(pattern, "muffleWarning") [01:27:35.290] if (muffled) [01:27:35.290] invokeRestart("muffleWarning") [01:27:35.290] } [01:27:35.290] else if (inherits(cond, "condition")) { [01:27:35.290] if (!is.null(pattern)) { [01:27:35.290] computeRestarts <- base::computeRestarts [01:27:35.290] grepl <- base::grepl [01:27:35.290] restarts <- computeRestarts(cond) [01:27:35.290] for (restart in restarts) { [01:27:35.290] name <- restart$name [01:27:35.290] if (is.null(name)) [01:27:35.290] next [01:27:35.290] if (!grepl(pattern, name)) [01:27:35.290] next [01:27:35.290] invokeRestart(restart) [01:27:35.290] muffled <- TRUE [01:27:35.290] break [01:27:35.290] } [01:27:35.290] } [01:27:35.290] } [01:27:35.290] invisible(muffled) [01:27:35.290] } [01:27:35.290] muffleCondition(cond, pattern = "^muffle") [01:27:35.290] } [01:27:35.290] } [01:27:35.290] } [01:27:35.290] })) [01:27:35.290] }, error = function(ex) { [01:27:35.290] base::structure(base::list(value = NULL, visible = NULL, [01:27:35.290] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.290] ...future.rng), started = ...future.startTime, [01:27:35.290] finished = Sys.time(), session_uuid = NA_character_, [01:27:35.290] version = "1.8"), class = "FutureResult") [01:27:35.290] }, finally = { [01:27:35.290] if (!identical(...future.workdir, getwd())) [01:27:35.290] setwd(...future.workdir) [01:27:35.290] { [01:27:35.290] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:35.290] ...future.oldOptions$nwarnings <- NULL [01:27:35.290] } [01:27:35.290] base::options(...future.oldOptions) [01:27:35.290] if (.Platform$OS.type == "windows") { [01:27:35.290] old_names <- names(...future.oldEnvVars) [01:27:35.290] envs <- base::Sys.getenv() [01:27:35.290] names <- names(envs) [01:27:35.290] common <- intersect(names, old_names) [01:27:35.290] added <- setdiff(names, old_names) [01:27:35.290] removed <- setdiff(old_names, names) [01:27:35.290] changed <- common[...future.oldEnvVars[common] != [01:27:35.290] envs[common]] [01:27:35.290] NAMES <- toupper(changed) [01:27:35.290] args <- list() [01:27:35.290] for (kk in seq_along(NAMES)) { [01:27:35.290] name <- changed[[kk]] [01:27:35.290] NAME <- NAMES[[kk]] [01:27:35.290] if (name != NAME && is.element(NAME, old_names)) [01:27:35.290] next [01:27:35.290] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.290] } [01:27:35.290] NAMES <- toupper(added) [01:27:35.290] for (kk in seq_along(NAMES)) { [01:27:35.290] name <- added[[kk]] [01:27:35.290] NAME <- NAMES[[kk]] [01:27:35.290] if (name != NAME && is.element(NAME, old_names)) [01:27:35.290] next [01:27:35.290] args[[name]] <- "" [01:27:35.290] } [01:27:35.290] NAMES <- toupper(removed) [01:27:35.290] for (kk in seq_along(NAMES)) { [01:27:35.290] name <- removed[[kk]] [01:27:35.290] NAME <- NAMES[[kk]] [01:27:35.290] if (name != NAME && is.element(NAME, old_names)) [01:27:35.290] next [01:27:35.290] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.290] } [01:27:35.290] if (length(args) > 0) [01:27:35.290] base::do.call(base::Sys.setenv, args = args) [01:27:35.290] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:35.290] } [01:27:35.290] else { [01:27:35.290] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:35.290] } [01:27:35.290] { [01:27:35.290] if (base::length(...future.futureOptionsAdded) > [01:27:35.290] 0L) { [01:27:35.290] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:35.290] base::names(opts) <- ...future.futureOptionsAdded [01:27:35.290] base::options(opts) [01:27:35.290] } [01:27:35.290] { [01:27:35.290] { [01:27:35.290] base::options(mc.cores = ...future.mc.cores.old) [01:27:35.290] NULL [01:27:35.290] } [01:27:35.290] options(future.plan = NULL) [01:27:35.290] if (is.na(NA_character_)) [01:27:35.290] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.290] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:35.290] future::plan(list(function (..., workers = availableCores(), [01:27:35.290] lazy = FALSE, rscript_libs = .libPaths(), [01:27:35.290] envir = parent.frame()) [01:27:35.290] { [01:27:35.290] if (is.function(workers)) [01:27:35.290] workers <- workers() [01:27:35.290] workers <- structure(as.integer(workers), [01:27:35.290] class = class(workers)) [01:27:35.290] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:35.290] workers >= 1) [01:27:35.290] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:35.290] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:35.290] } [01:27:35.290] future <- MultisessionFuture(..., workers = workers, [01:27:35.290] lazy = lazy, rscript_libs = rscript_libs, [01:27:35.290] envir = envir) [01:27:35.290] if (!future$lazy) [01:27:35.290] future <- run(future) [01:27:35.290] invisible(future) [01:27:35.290] }), .cleanup = FALSE, .init = FALSE) [01:27:35.290] } [01:27:35.290] } [01:27:35.290] } [01:27:35.290] }) [01:27:35.290] if (TRUE) { [01:27:35.290] base::sink(type = "output", split = FALSE) [01:27:35.290] if (TRUE) { [01:27:35.290] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:35.290] } [01:27:35.290] else { [01:27:35.290] ...future.result["stdout"] <- base::list(NULL) [01:27:35.290] } [01:27:35.290] base::close(...future.stdout) [01:27:35.290] ...future.stdout <- NULL [01:27:35.290] } [01:27:35.290] ...future.result$conditions <- ...future.conditions [01:27:35.290] ...future.result$finished <- base::Sys.time() [01:27:35.290] ...future.result [01:27:35.290] } [01:27:35.296] Exporting 1 global objects (56 bytes) to cluster node #1 ... [01:27:35.297] Exporting 'a' (56 bytes) to cluster node #1 ... [01:27:35.297] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [01:27:35.298] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [01:27:35.299] MultisessionFuture started [01:27:35.299] - Launch lazy future ... done [01:27:35.299] run() for 'MultisessionFuture' ... done [01:27:35.299] result() for ClusterFuture ... [01:27:35.299] receiveMessageFromWorker() for ClusterFuture ... [01:27:35.300] - Validating connection of MultisessionFuture [01:27:35.315] - received message: FutureResult [01:27:35.315] - Received FutureResult [01:27:35.315] - Erased future from FutureRegistry [01:27:35.315] result() for ClusterFuture ... [01:27:35.315] - result already collected: FutureResult [01:27:35.316] result() for ClusterFuture ... done [01:27:35.316] receiveMessageFromWorker() for ClusterFuture ... done [01:27:35.316] result() for ClusterFuture ... done [01:27:35.316] result() for ClusterFuture ... [01:27:35.316] - result already collected: FutureResult [01:27:35.316] result() for ClusterFuture ... done [01:27:35.317] getGlobalsAndPackages() ... [01:27:35.317] Searching for globals... [01:27:35.318] - globals found: [3] '{', '*', 'a' [01:27:35.318] Searching for globals ... DONE [01:27:35.318] Resolving globals: FALSE [01:27:35.319] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:35.319] The total size of the 1 globals exported for future expression ('{; 2 * a; }') 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') [01:27:35.320] - globals: [1] 'a' [01:27:35.320] [01:27:35.320] getGlobalsAndPackages() ... DONE [01:27:35.321] run() for 'Future' ... [01:27:35.322] - state: 'created' [01:27:35.322] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:35.340] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:35.340] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:35.340] - Field: 'node' [01:27:35.341] - Field: 'label' [01:27:35.341] - Field: 'local' [01:27:35.341] - Field: 'owner' [01:27:35.341] - Field: 'envir' [01:27:35.341] - Field: 'workers' [01:27:35.342] - Field: 'packages' [01:27:35.342] - Field: 'gc' [01:27:35.342] - Field: 'conditions' [01:27:35.342] - Field: 'persistent' [01:27:35.342] - Field: 'expr' [01:27:35.342] - Field: 'uuid' [01:27:35.343] - Field: 'seed' [01:27:35.343] - Field: 'version' [01:27:35.343] - Field: 'result' [01:27:35.343] - Field: 'asynchronous' [01:27:35.343] - Field: 'calls' [01:27:35.344] - Field: 'globals' [01:27:35.344] - Field: 'stdout' [01:27:35.344] - Field: 'earlySignal' [01:27:35.344] - Field: 'lazy' [01:27:35.344] - Field: 'state' [01:27:35.345] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:35.345] - Launch lazy future ... [01:27:35.345] Packages needed by the future expression (n = 0): [01:27:35.346] Packages needed by future strategies (n = 0): [01:27:35.346] { [01:27:35.346] { [01:27:35.346] { [01:27:35.346] ...future.startTime <- base::Sys.time() [01:27:35.346] { [01:27:35.346] { [01:27:35.346] { [01:27:35.346] { [01:27:35.346] base::local({ [01:27:35.346] has_future <- base::requireNamespace("future", [01:27:35.346] quietly = TRUE) [01:27:35.346] if (has_future) { [01:27:35.346] ns <- base::getNamespace("future") [01:27:35.346] version <- ns[[".package"]][["version"]] [01:27:35.346] if (is.null(version)) [01:27:35.346] version <- utils::packageVersion("future") [01:27:35.346] } [01:27:35.346] else { [01:27:35.346] version <- NULL [01:27:35.346] } [01:27:35.346] if (!has_future || version < "1.8.0") { [01:27:35.346] info <- base::c(r_version = base::gsub("R version ", [01:27:35.346] "", base::R.version$version.string), [01:27:35.346] platform = base::sprintf("%s (%s-bit)", [01:27:35.346] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:35.346] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:35.346] "release", "version")], collapse = " "), [01:27:35.346] hostname = base::Sys.info()[["nodename"]]) [01:27:35.346] info <- base::sprintf("%s: %s", base::names(info), [01:27:35.346] info) [01:27:35.346] info <- base::paste(info, collapse = "; ") [01:27:35.346] if (!has_future) { [01:27:35.346] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:35.346] info) [01:27:35.346] } [01:27:35.346] else { [01:27:35.346] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:35.346] info, version) [01:27:35.346] } [01:27:35.346] base::stop(msg) [01:27:35.346] } [01:27:35.346] }) [01:27:35.346] } [01:27:35.346] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:35.346] base::options(mc.cores = 1L) [01:27:35.346] } [01:27:35.346] options(future.plan = NULL) [01:27:35.346] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.346] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:35.346] } [01:27:35.346] ...future.workdir <- getwd() [01:27:35.346] } [01:27:35.346] ...future.oldOptions <- base::as.list(base::.Options) [01:27:35.346] ...future.oldEnvVars <- base::Sys.getenv() [01:27:35.346] } [01:27:35.346] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:35.346] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:35.346] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:35.346] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:35.346] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:35.346] future.stdout.windows.reencode = NULL, width = 80L) [01:27:35.346] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:35.346] base::names(...future.oldOptions)) [01:27:35.346] } [01:27:35.346] if (FALSE) { [01:27:35.346] } [01:27:35.346] else { [01:27:35.346] if (TRUE) { [01:27:35.346] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:35.346] open = "w") [01:27:35.346] } [01:27:35.346] else { [01:27:35.346] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:35.346] windows = "NUL", "/dev/null"), open = "w") [01:27:35.346] } [01:27:35.346] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:35.346] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:35.346] base::sink(type = "output", split = FALSE) [01:27:35.346] base::close(...future.stdout) [01:27:35.346] }, add = TRUE) [01:27:35.346] } [01:27:35.346] ...future.frame <- base::sys.nframe() [01:27:35.346] ...future.conditions <- base::list() [01:27:35.346] ...future.rng <- base::globalenv()$.Random.seed [01:27:35.346] if (FALSE) { [01:27:35.346] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:35.346] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:35.346] } [01:27:35.346] ...future.result <- base::tryCatch({ [01:27:35.346] base::withCallingHandlers({ [01:27:35.346] ...future.value <- base::withVisible(base::local({ [01:27:35.346] ...future.makeSendCondition <- base::local({ [01:27:35.346] sendCondition <- NULL [01:27:35.346] function(frame = 1L) { [01:27:35.346] if (is.function(sendCondition)) [01:27:35.346] return(sendCondition) [01:27:35.346] ns <- getNamespace("parallel") [01:27:35.346] if (exists("sendData", mode = "function", [01:27:35.346] envir = ns)) { [01:27:35.346] parallel_sendData <- get("sendData", mode = "function", [01:27:35.346] envir = ns) [01:27:35.346] envir <- sys.frame(frame) [01:27:35.346] master <- NULL [01:27:35.346] while (!identical(envir, .GlobalEnv) && [01:27:35.346] !identical(envir, emptyenv())) { [01:27:35.346] if (exists("master", mode = "list", envir = envir, [01:27:35.346] inherits = FALSE)) { [01:27:35.346] master <- get("master", mode = "list", [01:27:35.346] envir = envir, inherits = FALSE) [01:27:35.346] if (inherits(master, c("SOCKnode", [01:27:35.346] "SOCK0node"))) { [01:27:35.346] sendCondition <<- function(cond) { [01:27:35.346] data <- list(type = "VALUE", value = cond, [01:27:35.346] success = TRUE) [01:27:35.346] parallel_sendData(master, data) [01:27:35.346] } [01:27:35.346] return(sendCondition) [01:27:35.346] } [01:27:35.346] } [01:27:35.346] frame <- frame + 1L [01:27:35.346] envir <- sys.frame(frame) [01:27:35.346] } [01:27:35.346] } [01:27:35.346] sendCondition <<- function(cond) NULL [01:27:35.346] } [01:27:35.346] }) [01:27:35.346] withCallingHandlers({ [01:27:35.346] { [01:27:35.346] 2 * a [01:27:35.346] } [01:27:35.346] }, immediateCondition = function(cond) { [01:27:35.346] sendCondition <- ...future.makeSendCondition() [01:27:35.346] sendCondition(cond) [01:27:35.346] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.346] { [01:27:35.346] inherits <- base::inherits [01:27:35.346] invokeRestart <- base::invokeRestart [01:27:35.346] is.null <- base::is.null [01:27:35.346] muffled <- FALSE [01:27:35.346] if (inherits(cond, "message")) { [01:27:35.346] muffled <- grepl(pattern, "muffleMessage") [01:27:35.346] if (muffled) [01:27:35.346] invokeRestart("muffleMessage") [01:27:35.346] } [01:27:35.346] else if (inherits(cond, "warning")) { [01:27:35.346] muffled <- grepl(pattern, "muffleWarning") [01:27:35.346] if (muffled) [01:27:35.346] invokeRestart("muffleWarning") [01:27:35.346] } [01:27:35.346] else if (inherits(cond, "condition")) { [01:27:35.346] if (!is.null(pattern)) { [01:27:35.346] computeRestarts <- base::computeRestarts [01:27:35.346] grepl <- base::grepl [01:27:35.346] restarts <- computeRestarts(cond) [01:27:35.346] for (restart in restarts) { [01:27:35.346] name <- restart$name [01:27:35.346] if (is.null(name)) [01:27:35.346] next [01:27:35.346] if (!grepl(pattern, name)) [01:27:35.346] next [01:27:35.346] invokeRestart(restart) [01:27:35.346] muffled <- TRUE [01:27:35.346] break [01:27:35.346] } [01:27:35.346] } [01:27:35.346] } [01:27:35.346] invisible(muffled) [01:27:35.346] } [01:27:35.346] muffleCondition(cond) [01:27:35.346] }) [01:27:35.346] })) [01:27:35.346] future::FutureResult(value = ...future.value$value, [01:27:35.346] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.346] ...future.rng), globalenv = if (FALSE) [01:27:35.346] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:35.346] ...future.globalenv.names)) [01:27:35.346] else NULL, started = ...future.startTime, version = "1.8") [01:27:35.346] }, condition = base::local({ [01:27:35.346] c <- base::c [01:27:35.346] inherits <- base::inherits [01:27:35.346] invokeRestart <- base::invokeRestart [01:27:35.346] length <- base::length [01:27:35.346] list <- base::list [01:27:35.346] seq.int <- base::seq.int [01:27:35.346] signalCondition <- base::signalCondition [01:27:35.346] sys.calls <- base::sys.calls [01:27:35.346] `[[` <- base::`[[` [01:27:35.346] `+` <- base::`+` [01:27:35.346] `<<-` <- base::`<<-` [01:27:35.346] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:35.346] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:35.346] 3L)] [01:27:35.346] } [01:27:35.346] function(cond) { [01:27:35.346] is_error <- inherits(cond, "error") [01:27:35.346] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:35.346] NULL) [01:27:35.346] if (is_error) { [01:27:35.346] sessionInformation <- function() { [01:27:35.346] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:35.346] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:35.346] search = base::search(), system = base::Sys.info()) [01:27:35.346] } [01:27:35.346] ...future.conditions[[length(...future.conditions) + [01:27:35.346] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:35.346] cond$call), session = sessionInformation(), [01:27:35.346] timestamp = base::Sys.time(), signaled = 0L) [01:27:35.346] signalCondition(cond) [01:27:35.346] } [01:27:35.346] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:35.346] "immediateCondition"))) { [01:27:35.346] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:35.346] ...future.conditions[[length(...future.conditions) + [01:27:35.346] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:35.346] if (TRUE && !signal) { [01:27:35.346] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.346] { [01:27:35.346] inherits <- base::inherits [01:27:35.346] invokeRestart <- base::invokeRestart [01:27:35.346] is.null <- base::is.null [01:27:35.346] muffled <- FALSE [01:27:35.346] if (inherits(cond, "message")) { [01:27:35.346] muffled <- grepl(pattern, "muffleMessage") [01:27:35.346] if (muffled) [01:27:35.346] invokeRestart("muffleMessage") [01:27:35.346] } [01:27:35.346] else if (inherits(cond, "warning")) { [01:27:35.346] muffled <- grepl(pattern, "muffleWarning") [01:27:35.346] if (muffled) [01:27:35.346] invokeRestart("muffleWarning") [01:27:35.346] } [01:27:35.346] else if (inherits(cond, "condition")) { [01:27:35.346] if (!is.null(pattern)) { [01:27:35.346] computeRestarts <- base::computeRestarts [01:27:35.346] grepl <- base::grepl [01:27:35.346] restarts <- computeRestarts(cond) [01:27:35.346] for (restart in restarts) { [01:27:35.346] name <- restart$name [01:27:35.346] if (is.null(name)) [01:27:35.346] next [01:27:35.346] if (!grepl(pattern, name)) [01:27:35.346] next [01:27:35.346] invokeRestart(restart) [01:27:35.346] muffled <- TRUE [01:27:35.346] break [01:27:35.346] } [01:27:35.346] } [01:27:35.346] } [01:27:35.346] invisible(muffled) [01:27:35.346] } [01:27:35.346] muffleCondition(cond, pattern = "^muffle") [01:27:35.346] } [01:27:35.346] } [01:27:35.346] else { [01:27:35.346] if (TRUE) { [01:27:35.346] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.346] { [01:27:35.346] inherits <- base::inherits [01:27:35.346] invokeRestart <- base::invokeRestart [01:27:35.346] is.null <- base::is.null [01:27:35.346] muffled <- FALSE [01:27:35.346] if (inherits(cond, "message")) { [01:27:35.346] muffled <- grepl(pattern, "muffleMessage") [01:27:35.346] if (muffled) [01:27:35.346] invokeRestart("muffleMessage") [01:27:35.346] } [01:27:35.346] else if (inherits(cond, "warning")) { [01:27:35.346] muffled <- grepl(pattern, "muffleWarning") [01:27:35.346] if (muffled) [01:27:35.346] invokeRestart("muffleWarning") [01:27:35.346] } [01:27:35.346] else if (inherits(cond, "condition")) { [01:27:35.346] if (!is.null(pattern)) { [01:27:35.346] computeRestarts <- base::computeRestarts [01:27:35.346] grepl <- base::grepl [01:27:35.346] restarts <- computeRestarts(cond) [01:27:35.346] for (restart in restarts) { [01:27:35.346] name <- restart$name [01:27:35.346] if (is.null(name)) [01:27:35.346] next [01:27:35.346] if (!grepl(pattern, name)) [01:27:35.346] next [01:27:35.346] invokeRestart(restart) [01:27:35.346] muffled <- TRUE [01:27:35.346] break [01:27:35.346] } [01:27:35.346] } [01:27:35.346] } [01:27:35.346] invisible(muffled) [01:27:35.346] } [01:27:35.346] muffleCondition(cond, pattern = "^muffle") [01:27:35.346] } [01:27:35.346] } [01:27:35.346] } [01:27:35.346] })) [01:27:35.346] }, error = function(ex) { [01:27:35.346] base::structure(base::list(value = NULL, visible = NULL, [01:27:35.346] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.346] ...future.rng), started = ...future.startTime, [01:27:35.346] finished = Sys.time(), session_uuid = NA_character_, [01:27:35.346] version = "1.8"), class = "FutureResult") [01:27:35.346] }, finally = { [01:27:35.346] if (!identical(...future.workdir, getwd())) [01:27:35.346] setwd(...future.workdir) [01:27:35.346] { [01:27:35.346] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:35.346] ...future.oldOptions$nwarnings <- NULL [01:27:35.346] } [01:27:35.346] base::options(...future.oldOptions) [01:27:35.346] if (.Platform$OS.type == "windows") { [01:27:35.346] old_names <- names(...future.oldEnvVars) [01:27:35.346] envs <- base::Sys.getenv() [01:27:35.346] names <- names(envs) [01:27:35.346] common <- intersect(names, old_names) [01:27:35.346] added <- setdiff(names, old_names) [01:27:35.346] removed <- setdiff(old_names, names) [01:27:35.346] changed <- common[...future.oldEnvVars[common] != [01:27:35.346] envs[common]] [01:27:35.346] NAMES <- toupper(changed) [01:27:35.346] args <- list() [01:27:35.346] for (kk in seq_along(NAMES)) { [01:27:35.346] name <- changed[[kk]] [01:27:35.346] NAME <- NAMES[[kk]] [01:27:35.346] if (name != NAME && is.element(NAME, old_names)) [01:27:35.346] next [01:27:35.346] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.346] } [01:27:35.346] NAMES <- toupper(added) [01:27:35.346] for (kk in seq_along(NAMES)) { [01:27:35.346] name <- added[[kk]] [01:27:35.346] NAME <- NAMES[[kk]] [01:27:35.346] if (name != NAME && is.element(NAME, old_names)) [01:27:35.346] next [01:27:35.346] args[[name]] <- "" [01:27:35.346] } [01:27:35.346] NAMES <- toupper(removed) [01:27:35.346] for (kk in seq_along(NAMES)) { [01:27:35.346] name <- removed[[kk]] [01:27:35.346] NAME <- NAMES[[kk]] [01:27:35.346] if (name != NAME && is.element(NAME, old_names)) [01:27:35.346] next [01:27:35.346] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.346] } [01:27:35.346] if (length(args) > 0) [01:27:35.346] base::do.call(base::Sys.setenv, args = args) [01:27:35.346] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:35.346] } [01:27:35.346] else { [01:27:35.346] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:35.346] } [01:27:35.346] { [01:27:35.346] if (base::length(...future.futureOptionsAdded) > [01:27:35.346] 0L) { [01:27:35.346] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:35.346] base::names(opts) <- ...future.futureOptionsAdded [01:27:35.346] base::options(opts) [01:27:35.346] } [01:27:35.346] { [01:27:35.346] { [01:27:35.346] base::options(mc.cores = ...future.mc.cores.old) [01:27:35.346] NULL [01:27:35.346] } [01:27:35.346] options(future.plan = NULL) [01:27:35.346] if (is.na(NA_character_)) [01:27:35.346] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.346] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:35.346] future::plan(list(function (..., workers = availableCores(), [01:27:35.346] lazy = FALSE, rscript_libs = .libPaths(), [01:27:35.346] envir = parent.frame()) [01:27:35.346] { [01:27:35.346] if (is.function(workers)) [01:27:35.346] workers <- workers() [01:27:35.346] workers <- structure(as.integer(workers), [01:27:35.346] class = class(workers)) [01:27:35.346] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:35.346] workers >= 1) [01:27:35.346] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:35.346] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:35.346] } [01:27:35.346] future <- MultisessionFuture(..., workers = workers, [01:27:35.346] lazy = lazy, rscript_libs = rscript_libs, [01:27:35.346] envir = envir) [01:27:35.346] if (!future$lazy) [01:27:35.346] future <- run(future) [01:27:35.346] invisible(future) [01:27:35.346] }), .cleanup = FALSE, .init = FALSE) [01:27:35.346] } [01:27:35.346] } [01:27:35.346] } [01:27:35.346] }) [01:27:35.346] if (TRUE) { [01:27:35.346] base::sink(type = "output", split = FALSE) [01:27:35.346] if (TRUE) { [01:27:35.346] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:35.346] } [01:27:35.346] else { [01:27:35.346] ...future.result["stdout"] <- base::list(NULL) [01:27:35.346] } [01:27:35.346] base::close(...future.stdout) [01:27:35.346] ...future.stdout <- NULL [01:27:35.346] } [01:27:35.346] ...future.result$conditions <- ...future.conditions [01:27:35.346] ...future.result$finished <- base::Sys.time() [01:27:35.346] ...future.result [01:27:35.346] } [01:27:35.353] Exporting 1 global objects (56 bytes) to cluster node #1 ... [01:27:35.353] Exporting 'a' (56 bytes) to cluster node #1 ... [01:27:35.354] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [01:27:35.354] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [01:27:35.355] MultisessionFuture started [01:27:35.355] - Launch lazy future ... done [01:27:35.355] run() for 'MultisessionFuture' ... done [01:27:35.356] result() for ClusterFuture ... [01:27:35.356] receiveMessageFromWorker() for ClusterFuture ... [01:27:35.356] - Validating connection of MultisessionFuture [01:27:35.372] - received message: FutureResult [01:27:35.372] - Received FutureResult [01:27:35.373] - Erased future from FutureRegistry [01:27:35.373] result() for ClusterFuture ... [01:27:35.373] - result already collected: FutureResult [01:27:35.373] result() for ClusterFuture ... done [01:27:35.373] receiveMessageFromWorker() for ClusterFuture ... done [01:27:35.373] result() for ClusterFuture ... done [01:27:35.374] result() for ClusterFuture ... [01:27:35.374] - result already collected: FutureResult [01:27:35.374] result() for ClusterFuture ... done *** futureAssign() with 'multisession' futures ... DONE Testing with 2 cores ... DONE > > message("*** futureAssign() - lazy = TRUE / FALSE ... DONE") *** futureAssign() - lazy = TRUE / FALSE ... DONE > > message("*** futureAssign() ... DONE") *** futureAssign() ... DONE > > source("incl/end.R") [01:27:35.375] plan(): Setting new future strategy stack: [01:27:35.376] List of future strategies: [01:27:35.376] 1. FutureStrategy: [01:27:35.376] - args: function (..., envir = parent.frame(), workers = "") [01:27:35.376] - tweaked: FALSE [01:27:35.376] - call: future::plan(oplan) [01:27:35.377] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=204] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CYGWIN', 'CommonProgramFiles(x86)', 'CommonProgramW6432', 'DriverData', 'HOME', 'HOMEDRIVE', 'HOMEPATH', 'JAGS_ROOT', 'JAVA_HOME', 'LANGUAGE', 'LC_COLLATE', 'LC_MONETARY', 'LC_TIME', 'LOCALAPPDATA', 'LOGONSERVER', 'LS_HOME', 'LS_LICENSE_PATH', 'MAKE', 'MAKEFLAGS', 'MAKELEVEL', 'MFLAGS', 'MSMPI_BENCHMARKS', 'MSMPI_BIN', 'MSYS2_ENV_CONV_EXCL', 'NUMBER_OF_PROCESSORS', 'OCL', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RTOOLS43_HOME', '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_MBCS_CONVERSION_FAILURE_', '_R_CHECK_NATIVE_ROUTINE_REGISTRATION_', '_R_CHECK_NEWS_IN_PLAIN_TEXT_', '_R_CHECK_NO_RECOMMENDED_', '_R_CHECK_NO_STOP_ON_TEST_ERROR_', '_R_CHECK_ORPHANED_', '_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_', '_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_', '_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_', '_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_', '_R_CHECK_PACKAGE_NAME_', '_R_CHECK_PKG_SIZES_', '_R_CHECK_PKG_SIZES_THRESHOLD_', '_R_CHECK_PRAGMAS_', '_R_CHECK_RD_EXAMPLES_T_AND_F_', '_R_CHECK_RD_LINE_WIDTHS_', '_R_CHECK_RD_MATH_RENDERING_', '_R_CHECK_RD_NOTE_LOST_BRACES_', '_R_CHECK_RD_VALIDATE_RD2HTML_', '_R_CHECK_REPLACING_IMPORTS_', '_R_CHECK_R_DEPENDS_', '_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_', '_R_CHECK_SCREEN_DEVICE_', '_R_CHECK_SERIALIZATION_', '_R_CHECK_SHLIB_OPENMP_FLAGS_', '_R_CHECK_SRC_MINUS_W_IMPLICIT_', '_R_CHECK_SUBDIRS_NOCASE_', '_R_CHECK_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_', '__R_CHECK_DOC_FILES_NOTE_IF_ALL_SPECIAL__', 'maj.version', 'nextArg--timingsnextArg--install' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: List of 3 $ name : chr "MAKEFLAGS" $ expected: 'Dlist' chr "" $ actual : 'Dlist' chr NA > > proc.time() user system elapsed 0.98 0.18 2.03