R Under development (unstable) (2024-07-28 r86931 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > source("incl/start.R") [17:27:07.258] plan(): Setting new future strategy stack: [17:27:07.260] List of future strategies: [17:27:07.260] 1. sequential: [17:27:07.260] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.260] - tweaked: FALSE [17:27:07.260] - call: future::plan("sequential") [17:27:07.283] plan(): nbrOfWorkers() = 1 > library("listenv") > > for (cores in 1:availCores) { + ## Speed up CRAN checks: Skip on CRAN Windows 32-bit + if (!fullTest && isWin32) next + + message(sprintf("Testing with %d cores ...", cores)) + options(mc.cores = cores) + + message("*** Global argument '...' ...") + + sum_fcns <- list() + + sum_fcns$A <- function(x, ...) { + message("Arguments '...' exists: ", exists("...", inherits = TRUE)) + y %<-% { sum(x, ...) } + y + } + + + sum_fcns$B <- function(x, ...) { + sumt <- function(x) { + message("Arguments '...' exists: ", exists("...", inherits = TRUE)) + y %<-% { sum(x, ...) } + y + } + sumt(x) + } + + sum_fcns$C <- function(x, y) { + message("Arguments '...' exists: ", exists("...", inherits = TRUE)) + y %<-% { sum(x, y) } + y + } + + sum_fcns$D <- function(x, y) { + message("Arguments '...' exists: ", exists("...", inherits = TRUE)) + y %<-% { sum(x, y, ...) } + y + } + + ## Issue/PR #400: Emulate how '...' may be used by the 'rlang' package + sum_fcns$E <- function(...) { + message("Arguments '...' exists: ", exists("...", inherits = TRUE)) + + ## Grab '...' into a Globals object + globals <- globals::globalsByName("...", envir=environment()) + + ## Evaluate an expression with '...' in an environment that does not + ## have an '...' object - hence the parent.frame(). This will produce + ## an error unless we pass 'globals' which contains '...' + f <- future({ + fcn <- function() sum(...) + fcn() + }, envir = parent.frame(), globals = globals) + y <- value(f) + y + } + + ## Issue: https://github.com/HenrikBengtsson/globals/issues/72 + sum_fcns$F <- function(x, y) { + message("Using '...' in a formula") + + fcn <- function(x, y) { + z = ~ list(...) + sum(x, y) + } + + f <- future(fcn(x, y)) + y <- value(f) + y + } + + + for (strategy in supportedStrategies(cores)) { + message(sprintf("- plan('%s') ...", strategy)) + plan(strategy, substitute = FALSE) + + for (name in names(sum_fcns)) { + message(sprintf("** Sum function '%s' with plan('%s') ...", name, strategy)) + sum_fcn <- sum_fcns[[name]] + print(sum_fcn) + y <- try(sum_fcn(1:2, 3)) + print(y) + if (name %in% c("D")) { + stopifnot(inherits(y, "try-error")) + } else { + stopifnot(y == 6) + } + } + } + + message(sprintf("Testing with %d cores ... DONE", cores)) + } ## for (cores ...) Testing with 1 cores ... *** Global argument '...' ... - plan('sequential') ... [17:27:07.375] plan(): Setting new future strategy stack: [17:27:07.376] List of future strategies: [17:27:07.376] 1. sequential: [17:27:07.376] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.376] - tweaked: FALSE [17:27:07.376] - call: plan(strategy, substitute = FALSE) [17:27:07.409] plan(): nbrOfWorkers() = 1 ** Sum function 'A' with plan('sequential') ... function (x, ...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } Arguments '...' exists: TRUE [17:27:07.413] getGlobalsAndPackages() ... [17:27:07.413] Searching for globals... [17:27:07.431] - globals found: [4] '{', 'sum', 'x', '...' [17:27:07.432] Searching for globals ... DONE [17:27:07.432] Resolving globals: FALSE [17:27:07.432] Tweak future expression to call with '...' arguments ... [17:27:07.433] { [17:27:07.433] do.call(function(...) { [17:27:07.433] sum(x, ...) [17:27:07.433] }, args = future.call.arguments) [17:27:07.433] } [17:27:07.433] Tweak future expression to call with '...' arguments ... DONE [17:27:07.435] The total size of the 2 globals is 246 bytes (246 bytes) [17:27:07.436] The total size of the 2 globals exported for future expression ('{; sum(x, ...); }') is 246 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (133 bytes of class 'numeric') and 'future.call.arguments' (113 bytes of class 'list') [17:27:07.436] - globals: [2] 'x', 'future.call.arguments' [17:27:07.436] [17:27:07.437] getGlobalsAndPackages() ... DONE [17:27:07.438] run() for 'Future' ... [17:27:07.438] - state: 'created' [17:27:07.438] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:07.439] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:07.439] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:07.440] - Field: 'label' [17:27:07.440] - Field: 'local' [17:27:07.440] - Field: 'owner' [17:27:07.441] - Field: 'envir' [17:27:07.441] - Field: 'packages' [17:27:07.441] - Field: 'gc' [17:27:07.442] - Field: 'conditions' [17:27:07.442] - Field: 'expr' [17:27:07.442] - Field: 'uuid' [17:27:07.443] - Field: 'seed' [17:27:07.443] - Field: 'version' [17:27:07.443] - Field: 'result' [17:27:07.444] - Field: 'asynchronous' [17:27:07.444] - Field: 'calls' [17:27:07.444] - Field: 'globals' [17:27:07.444] - Field: 'stdout' [17:27:07.445] - Field: 'earlySignal' [17:27:07.445] - Field: 'lazy' [17:27:07.445] - Field: 'state' [17:27:07.446] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:07.446] - Launch lazy future ... [17:27:07.448] Packages needed by the future expression (n = 0): [17:27:07.448] Packages needed by future strategies (n = 0): [17:27:07.450] { [17:27:07.450] { [17:27:07.450] { [17:27:07.450] ...future.startTime <- base::Sys.time() [17:27:07.450] { [17:27:07.450] { [17:27:07.450] { [17:27:07.450] base::local({ [17:27:07.450] has_future <- base::requireNamespace("future", [17:27:07.450] quietly = TRUE) [17:27:07.450] if (has_future) { [17:27:07.450] ns <- base::getNamespace("future") [17:27:07.450] version <- ns[[".package"]][["version"]] [17:27:07.450] if (is.null(version)) [17:27:07.450] version <- utils::packageVersion("future") [17:27:07.450] } [17:27:07.450] else { [17:27:07.450] version <- NULL [17:27:07.450] } [17:27:07.450] if (!has_future || version < "1.8.0") { [17:27:07.450] info <- base::c(r_version = base::gsub("R version ", [17:27:07.450] "", base::R.version$version.string), [17:27:07.450] platform = base::sprintf("%s (%s-bit)", [17:27:07.450] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:07.450] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:07.450] "release", "version")], collapse = " "), [17:27:07.450] hostname = base::Sys.info()[["nodename"]]) [17:27:07.450] info <- base::sprintf("%s: %s", base::names(info), [17:27:07.450] info) [17:27:07.450] info <- base::paste(info, collapse = "; ") [17:27:07.450] if (!has_future) { [17:27:07.450] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:07.450] info) [17:27:07.450] } [17:27:07.450] else { [17:27:07.450] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:07.450] info, version) [17:27:07.450] } [17:27:07.450] base::stop(msg) [17:27:07.450] } [17:27:07.450] }) [17:27:07.450] } [17:27:07.450] ...future.strategy.old <- future::plan("list") [17:27:07.450] options(future.plan = NULL) [17:27:07.450] Sys.unsetenv("R_FUTURE_PLAN") [17:27:07.450] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:07.450] } [17:27:07.450] ...future.workdir <- getwd() [17:27:07.450] } [17:27:07.450] ...future.oldOptions <- base::as.list(base::.Options) [17:27:07.450] ...future.oldEnvVars <- base::Sys.getenv() [17:27:07.450] } [17:27:07.450] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:07.450] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:07.450] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:07.450] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:07.450] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:07.450] future.stdout.windows.reencode = NULL, width = 80L) [17:27:07.450] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:07.450] base::names(...future.oldOptions)) [17:27:07.450] } [17:27:07.450] if (FALSE) { [17:27:07.450] } [17:27:07.450] else { [17:27:07.450] if (TRUE) { [17:27:07.450] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:07.450] open = "w") [17:27:07.450] } [17:27:07.450] else { [17:27:07.450] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:07.450] windows = "NUL", "/dev/null"), open = "w") [17:27:07.450] } [17:27:07.450] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:07.450] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:07.450] base::sink(type = "output", split = FALSE) [17:27:07.450] base::close(...future.stdout) [17:27:07.450] }, add = TRUE) [17:27:07.450] } [17:27:07.450] ...future.frame <- base::sys.nframe() [17:27:07.450] ...future.conditions <- base::list() [17:27:07.450] ...future.rng <- base::globalenv()$.Random.seed [17:27:07.450] if (FALSE) { [17:27:07.450] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:07.450] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:07.450] } [17:27:07.450] ...future.result <- base::tryCatch({ [17:27:07.450] base::withCallingHandlers({ [17:27:07.450] ...future.value <- base::withVisible(base::local({ [17:27:07.450] do.call(function(...) { [17:27:07.450] sum(x, ...) [17:27:07.450] }, args = future.call.arguments) [17:27:07.450] })) [17:27:07.450] future::FutureResult(value = ...future.value$value, [17:27:07.450] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:07.450] ...future.rng), globalenv = if (FALSE) [17:27:07.450] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:07.450] ...future.globalenv.names)) [17:27:07.450] else NULL, started = ...future.startTime, version = "1.8") [17:27:07.450] }, condition = base::local({ [17:27:07.450] c <- base::c [17:27:07.450] inherits <- base::inherits [17:27:07.450] invokeRestart <- base::invokeRestart [17:27:07.450] length <- base::length [17:27:07.450] list <- base::list [17:27:07.450] seq.int <- base::seq.int [17:27:07.450] signalCondition <- base::signalCondition [17:27:07.450] sys.calls <- base::sys.calls [17:27:07.450] `[[` <- base::`[[` [17:27:07.450] `+` <- base::`+` [17:27:07.450] `<<-` <- base::`<<-` [17:27:07.450] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:07.450] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:07.450] 3L)] [17:27:07.450] } [17:27:07.450] function(cond) { [17:27:07.450] is_error <- inherits(cond, "error") [17:27:07.450] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:07.450] NULL) [17:27:07.450] if (is_error) { [17:27:07.450] sessionInformation <- function() { [17:27:07.450] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:07.450] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:07.450] search = base::search(), system = base::Sys.info()) [17:27:07.450] } [17:27:07.450] ...future.conditions[[length(...future.conditions) + [17:27:07.450] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:07.450] cond$call), session = sessionInformation(), [17:27:07.450] timestamp = base::Sys.time(), signaled = 0L) [17:27:07.450] signalCondition(cond) [17:27:07.450] } [17:27:07.450] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:07.450] "immediateCondition"))) { [17:27:07.450] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:07.450] ...future.conditions[[length(...future.conditions) + [17:27:07.450] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:07.450] if (TRUE && !signal) { [17:27:07.450] muffleCondition <- function (cond, pattern = "^muffle") [17:27:07.450] { [17:27:07.450] inherits <- base::inherits [17:27:07.450] invokeRestart <- base::invokeRestart [17:27:07.450] is.null <- base::is.null [17:27:07.450] muffled <- FALSE [17:27:07.450] if (inherits(cond, "message")) { [17:27:07.450] muffled <- grepl(pattern, "muffleMessage") [17:27:07.450] if (muffled) [17:27:07.450] invokeRestart("muffleMessage") [17:27:07.450] } [17:27:07.450] else if (inherits(cond, "warning")) { [17:27:07.450] muffled <- grepl(pattern, "muffleWarning") [17:27:07.450] if (muffled) [17:27:07.450] invokeRestart("muffleWarning") [17:27:07.450] } [17:27:07.450] else if (inherits(cond, "condition")) { [17:27:07.450] if (!is.null(pattern)) { [17:27:07.450] computeRestarts <- base::computeRestarts [17:27:07.450] grepl <- base::grepl [17:27:07.450] restarts <- computeRestarts(cond) [17:27:07.450] for (restart in restarts) { [17:27:07.450] name <- restart$name [17:27:07.450] if (is.null(name)) [17:27:07.450] next [17:27:07.450] if (!grepl(pattern, name)) [17:27:07.450] next [17:27:07.450] invokeRestart(restart) [17:27:07.450] muffled <- TRUE [17:27:07.450] break [17:27:07.450] } [17:27:07.450] } [17:27:07.450] } [17:27:07.450] invisible(muffled) [17:27:07.450] } [17:27:07.450] muffleCondition(cond, pattern = "^muffle") [17:27:07.450] } [17:27:07.450] } [17:27:07.450] else { [17:27:07.450] if (TRUE) { [17:27:07.450] muffleCondition <- function (cond, pattern = "^muffle") [17:27:07.450] { [17:27:07.450] inherits <- base::inherits [17:27:07.450] invokeRestart <- base::invokeRestart [17:27:07.450] is.null <- base::is.null [17:27:07.450] muffled <- FALSE [17:27:07.450] if (inherits(cond, "message")) { [17:27:07.450] muffled <- grepl(pattern, "muffleMessage") [17:27:07.450] if (muffled) [17:27:07.450] invokeRestart("muffleMessage") [17:27:07.450] } [17:27:07.450] else if (inherits(cond, "warning")) { [17:27:07.450] muffled <- grepl(pattern, "muffleWarning") [17:27:07.450] if (muffled) [17:27:07.450] invokeRestart("muffleWarning") [17:27:07.450] } [17:27:07.450] else if (inherits(cond, "condition")) { [17:27:07.450] if (!is.null(pattern)) { [17:27:07.450] computeRestarts <- base::computeRestarts [17:27:07.450] grepl <- base::grepl [17:27:07.450] restarts <- computeRestarts(cond) [17:27:07.450] for (restart in restarts) { [17:27:07.450] name <- restart$name [17:27:07.450] if (is.null(name)) [17:27:07.450] next [17:27:07.450] if (!grepl(pattern, name)) [17:27:07.450] next [17:27:07.450] invokeRestart(restart) [17:27:07.450] muffled <- TRUE [17:27:07.450] break [17:27:07.450] } [17:27:07.450] } [17:27:07.450] } [17:27:07.450] invisible(muffled) [17:27:07.450] } [17:27:07.450] muffleCondition(cond, pattern = "^muffle") [17:27:07.450] } [17:27:07.450] } [17:27:07.450] } [17:27:07.450] })) [17:27:07.450] }, error = function(ex) { [17:27:07.450] base::structure(base::list(value = NULL, visible = NULL, [17:27:07.450] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:07.450] ...future.rng), started = ...future.startTime, [17:27:07.450] finished = Sys.time(), session_uuid = NA_character_, [17:27:07.450] version = "1.8"), class = "FutureResult") [17:27:07.450] }, finally = { [17:27:07.450] if (!identical(...future.workdir, getwd())) [17:27:07.450] setwd(...future.workdir) [17:27:07.450] { [17:27:07.450] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:07.450] ...future.oldOptions$nwarnings <- NULL [17:27:07.450] } [17:27:07.450] base::options(...future.oldOptions) [17:27:07.450] if (.Platform$OS.type == "windows") { [17:27:07.450] old_names <- names(...future.oldEnvVars) [17:27:07.450] envs <- base::Sys.getenv() [17:27:07.450] names <- names(envs) [17:27:07.450] common <- intersect(names, old_names) [17:27:07.450] added <- setdiff(names, old_names) [17:27:07.450] removed <- setdiff(old_names, names) [17:27:07.450] changed <- common[...future.oldEnvVars[common] != [17:27:07.450] envs[common]] [17:27:07.450] NAMES <- toupper(changed) [17:27:07.450] args <- list() [17:27:07.450] for (kk in seq_along(NAMES)) { [17:27:07.450] name <- changed[[kk]] [17:27:07.450] NAME <- NAMES[[kk]] [17:27:07.450] if (name != NAME && is.element(NAME, old_names)) [17:27:07.450] next [17:27:07.450] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:07.450] } [17:27:07.450] NAMES <- toupper(added) [17:27:07.450] for (kk in seq_along(NAMES)) { [17:27:07.450] name <- added[[kk]] [17:27:07.450] NAME <- NAMES[[kk]] [17:27:07.450] if (name != NAME && is.element(NAME, old_names)) [17:27:07.450] next [17:27:07.450] args[[name]] <- "" [17:27:07.450] } [17:27:07.450] NAMES <- toupper(removed) [17:27:07.450] for (kk in seq_along(NAMES)) { [17:27:07.450] name <- removed[[kk]] [17:27:07.450] NAME <- NAMES[[kk]] [17:27:07.450] if (name != NAME && is.element(NAME, old_names)) [17:27:07.450] next [17:27:07.450] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:07.450] } [17:27:07.450] if (length(args) > 0) [17:27:07.450] base::do.call(base::Sys.setenv, args = args) [17:27:07.450] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:07.450] } [17:27:07.450] else { [17:27:07.450] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:07.450] } [17:27:07.450] { [17:27:07.450] if (base::length(...future.futureOptionsAdded) > [17:27:07.450] 0L) { [17:27:07.450] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:07.450] base::names(opts) <- ...future.futureOptionsAdded [17:27:07.450] base::options(opts) [17:27:07.450] } [17:27:07.450] { [17:27:07.450] { [17:27:07.450] NULL [17:27:07.450] RNGkind("Mersenne-Twister") [17:27:07.450] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:07.450] inherits = FALSE) [17:27:07.450] } [17:27:07.450] options(future.plan = NULL) [17:27:07.450] if (is.na(NA_character_)) [17:27:07.450] Sys.unsetenv("R_FUTURE_PLAN") [17:27:07.450] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:07.450] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:07.450] .init = FALSE) [17:27:07.450] } [17:27:07.450] } [17:27:07.450] } [17:27:07.450] }) [17:27:07.450] if (TRUE) { [17:27:07.450] base::sink(type = "output", split = FALSE) [17:27:07.450] if (TRUE) { [17:27:07.450] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:07.450] } [17:27:07.450] else { [17:27:07.450] ...future.result["stdout"] <- base::list(NULL) [17:27:07.450] } [17:27:07.450] base::close(...future.stdout) [17:27:07.450] ...future.stdout <- NULL [17:27:07.450] } [17:27:07.450] ...future.result$conditions <- ...future.conditions [17:27:07.450] ...future.result$finished <- base::Sys.time() [17:27:07.450] ...future.result [17:27:07.450] } [17:27:07.457] assign_globals() ... [17:27:07.457] List of 2 [17:27:07.457] $ x : int [1:2] 1 2 [17:27:07.457] $ future.call.arguments:List of 1 [17:27:07.457] ..$ : num 3 [17:27:07.457] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [17:27:07.457] - attr(*, "where")=List of 2 [17:27:07.457] ..$ x : [17:27:07.457] ..$ future.call.arguments: [17:27:07.457] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:07.457] - attr(*, "resolved")= logi FALSE [17:27:07.457] - attr(*, "total_size")= int 246 [17:27:07.457] - attr(*, "already-done")= logi TRUE [17:27:07.469] - copied 'x' to environment [17:27:07.469] - copied 'future.call.arguments' to environment [17:27:07.470] assign_globals() ... done [17:27:07.471] plan(): Setting new future strategy stack: [17:27:07.471] List of future strategies: [17:27:07.471] 1. sequential: [17:27:07.471] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.471] - tweaked: FALSE [17:27:07.471] - call: NULL [17:27:07.472] plan(): nbrOfWorkers() = 1 [17:27:07.475] plan(): Setting new future strategy stack: [17:27:07.476] List of future strategies: [17:27:07.476] 1. sequential: [17:27:07.476] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.476] - tweaked: FALSE [17:27:07.476] - call: plan(strategy, substitute = FALSE) [17:27:07.477] plan(): nbrOfWorkers() = 1 [17:27:07.477] SequentialFuture started (and completed) [17:27:07.478] - Launch lazy future ... done [17:27:07.479] run() for 'SequentialFuture' ... done [1] 6 ** Sum function 'B' with plan('sequential') ... function (x, ...) { sumt <- function(x) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } sumt(x) } Arguments '...' exists: TRUE [17:27:07.481] getGlobalsAndPackages() ... [17:27:07.481] Searching for globals... [17:27:07.484] - globals found: [4] '{', 'sum', 'x', '...' [17:27:07.484] Searching for globals ... DONE [17:27:07.485] Resolving globals: FALSE [17:27:07.485] Tweak future expression to call with '...' arguments ... [17:27:07.485] { [17:27:07.485] do.call(function(...) { [17:27:07.485] sum(x, ...) [17:27:07.485] }, args = future.call.arguments) [17:27:07.485] } [17:27:07.486] Tweak future expression to call with '...' arguments ... DONE [17:27:07.487] The total size of the 2 globals is 246 bytes (246 bytes) [17:27:07.493] The total size of the 2 globals exported for future expression ('{; sum(x, ...); }') is 246 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (133 bytes of class 'numeric') and 'future.call.arguments' (113 bytes of class 'list') [17:27:07.493] - globals: [2] 'x', 'future.call.arguments' [17:27:07.494] [17:27:07.494] getGlobalsAndPackages() ... DONE [17:27:07.495] run() for 'Future' ... [17:27:07.495] - state: 'created' [17:27:07.495] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:07.496] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:07.496] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:07.497] - Field: 'label' [17:27:07.497] - Field: 'local' [17:27:07.497] - Field: 'owner' [17:27:07.498] - Field: 'envir' [17:27:07.498] - Field: 'packages' [17:27:07.498] - Field: 'gc' [17:27:07.499] - Field: 'conditions' [17:27:07.499] - Field: 'expr' [17:27:07.499] - Field: 'uuid' [17:27:07.500] - Field: 'seed' [17:27:07.500] - Field: 'version' [17:27:07.500] - Field: 'result' [17:27:07.501] - Field: 'asynchronous' [17:27:07.501] - Field: 'calls' [17:27:07.501] - Field: 'globals' [17:27:07.502] - Field: 'stdout' [17:27:07.502] - Field: 'earlySignal' [17:27:07.502] - Field: 'lazy' [17:27:07.503] - Field: 'state' [17:27:07.503] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:07.503] - Launch lazy future ... [17:27:07.504] Packages needed by the future expression (n = 0): [17:27:07.504] Packages needed by future strategies (n = 0): [17:27:07.505] { [17:27:07.505] { [17:27:07.505] { [17:27:07.505] ...future.startTime <- base::Sys.time() [17:27:07.505] { [17:27:07.505] { [17:27:07.505] { [17:27:07.505] base::local({ [17:27:07.505] has_future <- base::requireNamespace("future", [17:27:07.505] quietly = TRUE) [17:27:07.505] if (has_future) { [17:27:07.505] ns <- base::getNamespace("future") [17:27:07.505] version <- ns[[".package"]][["version"]] [17:27:07.505] if (is.null(version)) [17:27:07.505] version <- utils::packageVersion("future") [17:27:07.505] } [17:27:07.505] else { [17:27:07.505] version <- NULL [17:27:07.505] } [17:27:07.505] if (!has_future || version < "1.8.0") { [17:27:07.505] info <- base::c(r_version = base::gsub("R version ", [17:27:07.505] "", base::R.version$version.string), [17:27:07.505] platform = base::sprintf("%s (%s-bit)", [17:27:07.505] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:07.505] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:07.505] "release", "version")], collapse = " "), [17:27:07.505] hostname = base::Sys.info()[["nodename"]]) [17:27:07.505] info <- base::sprintf("%s: %s", base::names(info), [17:27:07.505] info) [17:27:07.505] info <- base::paste(info, collapse = "; ") [17:27:07.505] if (!has_future) { [17:27:07.505] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:07.505] info) [17:27:07.505] } [17:27:07.505] else { [17:27:07.505] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:07.505] info, version) [17:27:07.505] } [17:27:07.505] base::stop(msg) [17:27:07.505] } [17:27:07.505] }) [17:27:07.505] } [17:27:07.505] ...future.strategy.old <- future::plan("list") [17:27:07.505] options(future.plan = NULL) [17:27:07.505] Sys.unsetenv("R_FUTURE_PLAN") [17:27:07.505] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:07.505] } [17:27:07.505] ...future.workdir <- getwd() [17:27:07.505] } [17:27:07.505] ...future.oldOptions <- base::as.list(base::.Options) [17:27:07.505] ...future.oldEnvVars <- base::Sys.getenv() [17:27:07.505] } [17:27:07.505] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:07.505] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:07.505] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:07.505] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:07.505] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:07.505] future.stdout.windows.reencode = NULL, width = 80L) [17:27:07.505] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:07.505] base::names(...future.oldOptions)) [17:27:07.505] } [17:27:07.505] if (FALSE) { [17:27:07.505] } [17:27:07.505] else { [17:27:07.505] if (TRUE) { [17:27:07.505] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:07.505] open = "w") [17:27:07.505] } [17:27:07.505] else { [17:27:07.505] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:07.505] windows = "NUL", "/dev/null"), open = "w") [17:27:07.505] } [17:27:07.505] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:07.505] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:07.505] base::sink(type = "output", split = FALSE) [17:27:07.505] base::close(...future.stdout) [17:27:07.505] }, add = TRUE) [17:27:07.505] } [17:27:07.505] ...future.frame <- base::sys.nframe() [17:27:07.505] ...future.conditions <- base::list() [17:27:07.505] ...future.rng <- base::globalenv()$.Random.seed [17:27:07.505] if (FALSE) { [17:27:07.505] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:07.505] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:07.505] } [17:27:07.505] ...future.result <- base::tryCatch({ [17:27:07.505] base::withCallingHandlers({ [17:27:07.505] ...future.value <- base::withVisible(base::local({ [17:27:07.505] do.call(function(...) { [17:27:07.505] sum(x, ...) [17:27:07.505] }, args = future.call.arguments) [17:27:07.505] })) [17:27:07.505] future::FutureResult(value = ...future.value$value, [17:27:07.505] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:07.505] ...future.rng), globalenv = if (FALSE) [17:27:07.505] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:07.505] ...future.globalenv.names)) [17:27:07.505] else NULL, started = ...future.startTime, version = "1.8") [17:27:07.505] }, condition = base::local({ [17:27:07.505] c <- base::c [17:27:07.505] inherits <- base::inherits [17:27:07.505] invokeRestart <- base::invokeRestart [17:27:07.505] length <- base::length [17:27:07.505] list <- base::list [17:27:07.505] seq.int <- base::seq.int [17:27:07.505] signalCondition <- base::signalCondition [17:27:07.505] sys.calls <- base::sys.calls [17:27:07.505] `[[` <- base::`[[` [17:27:07.505] `+` <- base::`+` [17:27:07.505] `<<-` <- base::`<<-` [17:27:07.505] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:07.505] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:07.505] 3L)] [17:27:07.505] } [17:27:07.505] function(cond) { [17:27:07.505] is_error <- inherits(cond, "error") [17:27:07.505] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:07.505] NULL) [17:27:07.505] if (is_error) { [17:27:07.505] sessionInformation <- function() { [17:27:07.505] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:07.505] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:07.505] search = base::search(), system = base::Sys.info()) [17:27:07.505] } [17:27:07.505] ...future.conditions[[length(...future.conditions) + [17:27:07.505] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:07.505] cond$call), session = sessionInformation(), [17:27:07.505] timestamp = base::Sys.time(), signaled = 0L) [17:27:07.505] signalCondition(cond) [17:27:07.505] } [17:27:07.505] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:07.505] "immediateCondition"))) { [17:27:07.505] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:07.505] ...future.conditions[[length(...future.conditions) + [17:27:07.505] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:07.505] if (TRUE && !signal) { [17:27:07.505] muffleCondition <- function (cond, pattern = "^muffle") [17:27:07.505] { [17:27:07.505] inherits <- base::inherits [17:27:07.505] invokeRestart <- base::invokeRestart [17:27:07.505] is.null <- base::is.null [17:27:07.505] muffled <- FALSE [17:27:07.505] if (inherits(cond, "message")) { [17:27:07.505] muffled <- grepl(pattern, "muffleMessage") [17:27:07.505] if (muffled) [17:27:07.505] invokeRestart("muffleMessage") [17:27:07.505] } [17:27:07.505] else if (inherits(cond, "warning")) { [17:27:07.505] muffled <- grepl(pattern, "muffleWarning") [17:27:07.505] if (muffled) [17:27:07.505] invokeRestart("muffleWarning") [17:27:07.505] } [17:27:07.505] else if (inherits(cond, "condition")) { [17:27:07.505] if (!is.null(pattern)) { [17:27:07.505] computeRestarts <- base::computeRestarts [17:27:07.505] grepl <- base::grepl [17:27:07.505] restarts <- computeRestarts(cond) [17:27:07.505] for (restart in restarts) { [17:27:07.505] name <- restart$name [17:27:07.505] if (is.null(name)) [17:27:07.505] next [17:27:07.505] if (!grepl(pattern, name)) [17:27:07.505] next [17:27:07.505] invokeRestart(restart) [17:27:07.505] muffled <- TRUE [17:27:07.505] break [17:27:07.505] } [17:27:07.505] } [17:27:07.505] } [17:27:07.505] invisible(muffled) [17:27:07.505] } [17:27:07.505] muffleCondition(cond, pattern = "^muffle") [17:27:07.505] } [17:27:07.505] } [17:27:07.505] else { [17:27:07.505] if (TRUE) { [17:27:07.505] muffleCondition <- function (cond, pattern = "^muffle") [17:27:07.505] { [17:27:07.505] inherits <- base::inherits [17:27:07.505] invokeRestart <- base::invokeRestart [17:27:07.505] is.null <- base::is.null [17:27:07.505] muffled <- FALSE [17:27:07.505] if (inherits(cond, "message")) { [17:27:07.505] muffled <- grepl(pattern, "muffleMessage") [17:27:07.505] if (muffled) [17:27:07.505] invokeRestart("muffleMessage") [17:27:07.505] } [17:27:07.505] else if (inherits(cond, "warning")) { [17:27:07.505] muffled <- grepl(pattern, "muffleWarning") [17:27:07.505] if (muffled) [17:27:07.505] invokeRestart("muffleWarning") [17:27:07.505] } [17:27:07.505] else if (inherits(cond, "condition")) { [17:27:07.505] if (!is.null(pattern)) { [17:27:07.505] computeRestarts <- base::computeRestarts [17:27:07.505] grepl <- base::grepl [17:27:07.505] restarts <- computeRestarts(cond) [17:27:07.505] for (restart in restarts) { [17:27:07.505] name <- restart$name [17:27:07.505] if (is.null(name)) [17:27:07.505] next [17:27:07.505] if (!grepl(pattern, name)) [17:27:07.505] next [17:27:07.505] invokeRestart(restart) [17:27:07.505] muffled <- TRUE [17:27:07.505] break [17:27:07.505] } [17:27:07.505] } [17:27:07.505] } [17:27:07.505] invisible(muffled) [17:27:07.505] } [17:27:07.505] muffleCondition(cond, pattern = "^muffle") [17:27:07.505] } [17:27:07.505] } [17:27:07.505] } [17:27:07.505] })) [17:27:07.505] }, error = function(ex) { [17:27:07.505] base::structure(base::list(value = NULL, visible = NULL, [17:27:07.505] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:07.505] ...future.rng), started = ...future.startTime, [17:27:07.505] finished = Sys.time(), session_uuid = NA_character_, [17:27:07.505] version = "1.8"), class = "FutureResult") [17:27:07.505] }, finally = { [17:27:07.505] if (!identical(...future.workdir, getwd())) [17:27:07.505] setwd(...future.workdir) [17:27:07.505] { [17:27:07.505] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:07.505] ...future.oldOptions$nwarnings <- NULL [17:27:07.505] } [17:27:07.505] base::options(...future.oldOptions) [17:27:07.505] if (.Platform$OS.type == "windows") { [17:27:07.505] old_names <- names(...future.oldEnvVars) [17:27:07.505] envs <- base::Sys.getenv() [17:27:07.505] names <- names(envs) [17:27:07.505] common <- intersect(names, old_names) [17:27:07.505] added <- setdiff(names, old_names) [17:27:07.505] removed <- setdiff(old_names, names) [17:27:07.505] changed <- common[...future.oldEnvVars[common] != [17:27:07.505] envs[common]] [17:27:07.505] NAMES <- toupper(changed) [17:27:07.505] args <- list() [17:27:07.505] for (kk in seq_along(NAMES)) { [17:27:07.505] name <- changed[[kk]] [17:27:07.505] NAME <- NAMES[[kk]] [17:27:07.505] if (name != NAME && is.element(NAME, old_names)) [17:27:07.505] next [17:27:07.505] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:07.505] } [17:27:07.505] NAMES <- toupper(added) [17:27:07.505] for (kk in seq_along(NAMES)) { [17:27:07.505] name <- added[[kk]] [17:27:07.505] NAME <- NAMES[[kk]] [17:27:07.505] if (name != NAME && is.element(NAME, old_names)) [17:27:07.505] next [17:27:07.505] args[[name]] <- "" [17:27:07.505] } [17:27:07.505] NAMES <- toupper(removed) [17:27:07.505] for (kk in seq_along(NAMES)) { [17:27:07.505] name <- removed[[kk]] [17:27:07.505] NAME <- NAMES[[kk]] [17:27:07.505] if (name != NAME && is.element(NAME, old_names)) [17:27:07.505] next [17:27:07.505] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:07.505] } [17:27:07.505] if (length(args) > 0) [17:27:07.505] base::do.call(base::Sys.setenv, args = args) [17:27:07.505] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:07.505] } [17:27:07.505] else { [17:27:07.505] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:07.505] } [17:27:07.505] { [17:27:07.505] if (base::length(...future.futureOptionsAdded) > [17:27:07.505] 0L) { [17:27:07.505] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:07.505] base::names(opts) <- ...future.futureOptionsAdded [17:27:07.505] base::options(opts) [17:27:07.505] } [17:27:07.505] { [17:27:07.505] { [17:27:07.505] NULL [17:27:07.505] RNGkind("Mersenne-Twister") [17:27:07.505] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:07.505] inherits = FALSE) [17:27:07.505] } [17:27:07.505] options(future.plan = NULL) [17:27:07.505] if (is.na(NA_character_)) [17:27:07.505] Sys.unsetenv("R_FUTURE_PLAN") [17:27:07.505] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:07.505] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:07.505] .init = FALSE) [17:27:07.505] } [17:27:07.505] } [17:27:07.505] } [17:27:07.505] }) [17:27:07.505] if (TRUE) { [17:27:07.505] base::sink(type = "output", split = FALSE) [17:27:07.505] if (TRUE) { [17:27:07.505] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:07.505] } [17:27:07.505] else { [17:27:07.505] ...future.result["stdout"] <- base::list(NULL) [17:27:07.505] } [17:27:07.505] base::close(...future.stdout) [17:27:07.505] ...future.stdout <- NULL [17:27:07.505] } [17:27:07.505] ...future.result$conditions <- ...future.conditions [17:27:07.505] ...future.result$finished <- base::Sys.time() [17:27:07.505] ...future.result [17:27:07.505] } [17:27:07.511] assign_globals() ... [17:27:07.512] List of 2 [17:27:07.512] $ x : int [1:2] 1 2 [17:27:07.512] $ future.call.arguments:List of 1 [17:27:07.512] ..$ : num 3 [17:27:07.512] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [17:27:07.512] - attr(*, "where")=List of 2 [17:27:07.512] ..$ x : [17:27:07.512] ..$ future.call.arguments: [17:27:07.512] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:07.512] - attr(*, "resolved")= logi FALSE [17:27:07.512] - attr(*, "total_size")= int 246 [17:27:07.512] - attr(*, "already-done")= logi TRUE [17:27:07.520] - copied 'x' to environment [17:27:07.521] - copied 'future.call.arguments' to environment [17:27:07.521] assign_globals() ... done [17:27:07.522] plan(): Setting new future strategy stack: [17:27:07.522] List of future strategies: [17:27:07.522] 1. sequential: [17:27:07.522] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.522] - tweaked: FALSE [17:27:07.522] - call: NULL [17:27:07.523] plan(): nbrOfWorkers() = 1 [17:27:07.525] plan(): Setting new future strategy stack: [17:27:07.525] List of future strategies: [17:27:07.525] 1. sequential: [17:27:07.525] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.525] - tweaked: FALSE [17:27:07.525] - call: plan(strategy, substitute = FALSE) [17:27:07.526] plan(): nbrOfWorkers() = 1 [17:27:07.527] SequentialFuture started (and completed) [17:27:07.527] - Launch lazy future ... done [17:27:07.528] run() for 'SequentialFuture' ... done [1] 6 ** Sum function 'C' with plan('sequential') ... function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y) } y } Arguments '...' exists: FALSE [17:27:07.529] getGlobalsAndPackages() ... [17:27:07.530] Searching for globals... [17:27:07.533] - globals found: [4] '{', 'sum', 'x', 'y' [17:27:07.533] Searching for globals ... DONE [17:27:07.533] Resolving globals: FALSE [17:27:07.534] The total size of the 2 globals is 172 bytes (172 bytes) [17:27:07.535] The total size of the 2 globals exported for future expression ('{; sum(x, y); }') is 172 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (133 bytes of class 'numeric') and 'y' (39 bytes of class 'numeric') [17:27:07.536] - globals: [2] 'x', 'y' [17:27:07.536] [17:27:07.536] getGlobalsAndPackages() ... DONE [17:27:07.537] run() for 'Future' ... [17:27:07.537] - state: 'created' [17:27:07.538] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:07.539] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:07.539] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:07.539] - Field: 'label' [17:27:07.539] - Field: 'local' [17:27:07.540] - Field: 'owner' [17:27:07.540] - Field: 'envir' [17:27:07.540] - Field: 'packages' [17:27:07.541] - Field: 'gc' [17:27:07.541] - Field: 'conditions' [17:27:07.541] - Field: 'expr' [17:27:07.541] - Field: 'uuid' [17:27:07.542] - Field: 'seed' [17:27:07.542] - Field: 'version' [17:27:07.542] - Field: 'result' [17:27:07.543] - Field: 'asynchronous' [17:27:07.543] - Field: 'calls' [17:27:07.543] - Field: 'globals' [17:27:07.543] - Field: 'stdout' [17:27:07.544] - Field: 'earlySignal' [17:27:07.544] - Field: 'lazy' [17:27:07.544] - Field: 'state' [17:27:07.544] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:07.545] - Launch lazy future ... [17:27:07.545] Packages needed by the future expression (n = 0): [17:27:07.546] Packages needed by future strategies (n = 0): [17:27:07.547] { [17:27:07.547] { [17:27:07.547] { [17:27:07.547] ...future.startTime <- base::Sys.time() [17:27:07.547] { [17:27:07.547] { [17:27:07.547] { [17:27:07.547] base::local({ [17:27:07.547] has_future <- base::requireNamespace("future", [17:27:07.547] quietly = TRUE) [17:27:07.547] if (has_future) { [17:27:07.547] ns <- base::getNamespace("future") [17:27:07.547] version <- ns[[".package"]][["version"]] [17:27:07.547] if (is.null(version)) [17:27:07.547] version <- utils::packageVersion("future") [17:27:07.547] } [17:27:07.547] else { [17:27:07.547] version <- NULL [17:27:07.547] } [17:27:07.547] if (!has_future || version < "1.8.0") { [17:27:07.547] info <- base::c(r_version = base::gsub("R version ", [17:27:07.547] "", base::R.version$version.string), [17:27:07.547] platform = base::sprintf("%s (%s-bit)", [17:27:07.547] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:07.547] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:07.547] "release", "version")], collapse = " "), [17:27:07.547] hostname = base::Sys.info()[["nodename"]]) [17:27:07.547] info <- base::sprintf("%s: %s", base::names(info), [17:27:07.547] info) [17:27:07.547] info <- base::paste(info, collapse = "; ") [17:27:07.547] if (!has_future) { [17:27:07.547] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:07.547] info) [17:27:07.547] } [17:27:07.547] else { [17:27:07.547] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:07.547] info, version) [17:27:07.547] } [17:27:07.547] base::stop(msg) [17:27:07.547] } [17:27:07.547] }) [17:27:07.547] } [17:27:07.547] ...future.strategy.old <- future::plan("list") [17:27:07.547] options(future.plan = NULL) [17:27:07.547] Sys.unsetenv("R_FUTURE_PLAN") [17:27:07.547] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:07.547] } [17:27:07.547] ...future.workdir <- getwd() [17:27:07.547] } [17:27:07.547] ...future.oldOptions <- base::as.list(base::.Options) [17:27:07.547] ...future.oldEnvVars <- base::Sys.getenv() [17:27:07.547] } [17:27:07.547] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:07.547] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:07.547] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:07.547] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:07.547] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:07.547] future.stdout.windows.reencode = NULL, width = 80L) [17:27:07.547] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:07.547] base::names(...future.oldOptions)) [17:27:07.547] } [17:27:07.547] if (FALSE) { [17:27:07.547] } [17:27:07.547] else { [17:27:07.547] if (TRUE) { [17:27:07.547] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:07.547] open = "w") [17:27:07.547] } [17:27:07.547] else { [17:27:07.547] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:07.547] windows = "NUL", "/dev/null"), open = "w") [17:27:07.547] } [17:27:07.547] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:07.547] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:07.547] base::sink(type = "output", split = FALSE) [17:27:07.547] base::close(...future.stdout) [17:27:07.547] }, add = TRUE) [17:27:07.547] } [17:27:07.547] ...future.frame <- base::sys.nframe() [17:27:07.547] ...future.conditions <- base::list() [17:27:07.547] ...future.rng <- base::globalenv()$.Random.seed [17:27:07.547] if (FALSE) { [17:27:07.547] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:07.547] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:07.547] } [17:27:07.547] ...future.result <- base::tryCatch({ [17:27:07.547] base::withCallingHandlers({ [17:27:07.547] ...future.value <- base::withVisible(base::local({ [17:27:07.547] sum(x, y) [17:27:07.547] })) [17:27:07.547] future::FutureResult(value = ...future.value$value, [17:27:07.547] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:07.547] ...future.rng), globalenv = if (FALSE) [17:27:07.547] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:07.547] ...future.globalenv.names)) [17:27:07.547] else NULL, started = ...future.startTime, version = "1.8") [17:27:07.547] }, condition = base::local({ [17:27:07.547] c <- base::c [17:27:07.547] inherits <- base::inherits [17:27:07.547] invokeRestart <- base::invokeRestart [17:27:07.547] length <- base::length [17:27:07.547] list <- base::list [17:27:07.547] seq.int <- base::seq.int [17:27:07.547] signalCondition <- base::signalCondition [17:27:07.547] sys.calls <- base::sys.calls [17:27:07.547] `[[` <- base::`[[` [17:27:07.547] `+` <- base::`+` [17:27:07.547] `<<-` <- base::`<<-` [17:27:07.547] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:07.547] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:07.547] 3L)] [17:27:07.547] } [17:27:07.547] function(cond) { [17:27:07.547] is_error <- inherits(cond, "error") [17:27:07.547] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:07.547] NULL) [17:27:07.547] if (is_error) { [17:27:07.547] sessionInformation <- function() { [17:27:07.547] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:07.547] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:07.547] search = base::search(), system = base::Sys.info()) [17:27:07.547] } [17:27:07.547] ...future.conditions[[length(...future.conditions) + [17:27:07.547] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:07.547] cond$call), session = sessionInformation(), [17:27:07.547] timestamp = base::Sys.time(), signaled = 0L) [17:27:07.547] signalCondition(cond) [17:27:07.547] } [17:27:07.547] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:07.547] "immediateCondition"))) { [17:27:07.547] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:07.547] ...future.conditions[[length(...future.conditions) + [17:27:07.547] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:07.547] if (TRUE && !signal) { [17:27:07.547] muffleCondition <- function (cond, pattern = "^muffle") [17:27:07.547] { [17:27:07.547] inherits <- base::inherits [17:27:07.547] invokeRestart <- base::invokeRestart [17:27:07.547] is.null <- base::is.null [17:27:07.547] muffled <- FALSE [17:27:07.547] if (inherits(cond, "message")) { [17:27:07.547] muffled <- grepl(pattern, "muffleMessage") [17:27:07.547] if (muffled) [17:27:07.547] invokeRestart("muffleMessage") [17:27:07.547] } [17:27:07.547] else if (inherits(cond, "warning")) { [17:27:07.547] muffled <- grepl(pattern, "muffleWarning") [17:27:07.547] if (muffled) [17:27:07.547] invokeRestart("muffleWarning") [17:27:07.547] } [17:27:07.547] else if (inherits(cond, "condition")) { [17:27:07.547] if (!is.null(pattern)) { [17:27:07.547] computeRestarts <- base::computeRestarts [17:27:07.547] grepl <- base::grepl [17:27:07.547] restarts <- computeRestarts(cond) [17:27:07.547] for (restart in restarts) { [17:27:07.547] name <- restart$name [17:27:07.547] if (is.null(name)) [17:27:07.547] next [17:27:07.547] if (!grepl(pattern, name)) [17:27:07.547] next [17:27:07.547] invokeRestart(restart) [17:27:07.547] muffled <- TRUE [17:27:07.547] break [17:27:07.547] } [17:27:07.547] } [17:27:07.547] } [17:27:07.547] invisible(muffled) [17:27:07.547] } [17:27:07.547] muffleCondition(cond, pattern = "^muffle") [17:27:07.547] } [17:27:07.547] } [17:27:07.547] else { [17:27:07.547] if (TRUE) { [17:27:07.547] muffleCondition <- function (cond, pattern = "^muffle") [17:27:07.547] { [17:27:07.547] inherits <- base::inherits [17:27:07.547] invokeRestart <- base::invokeRestart [17:27:07.547] is.null <- base::is.null [17:27:07.547] muffled <- FALSE [17:27:07.547] if (inherits(cond, "message")) { [17:27:07.547] muffled <- grepl(pattern, "muffleMessage") [17:27:07.547] if (muffled) [17:27:07.547] invokeRestart("muffleMessage") [17:27:07.547] } [17:27:07.547] else if (inherits(cond, "warning")) { [17:27:07.547] muffled <- grepl(pattern, "muffleWarning") [17:27:07.547] if (muffled) [17:27:07.547] invokeRestart("muffleWarning") [17:27:07.547] } [17:27:07.547] else if (inherits(cond, "condition")) { [17:27:07.547] if (!is.null(pattern)) { [17:27:07.547] computeRestarts <- base::computeRestarts [17:27:07.547] grepl <- base::grepl [17:27:07.547] restarts <- computeRestarts(cond) [17:27:07.547] for (restart in restarts) { [17:27:07.547] name <- restart$name [17:27:07.547] if (is.null(name)) [17:27:07.547] next [17:27:07.547] if (!grepl(pattern, name)) [17:27:07.547] next [17:27:07.547] invokeRestart(restart) [17:27:07.547] muffled <- TRUE [17:27:07.547] break [17:27:07.547] } [17:27:07.547] } [17:27:07.547] } [17:27:07.547] invisible(muffled) [17:27:07.547] } [17:27:07.547] muffleCondition(cond, pattern = "^muffle") [17:27:07.547] } [17:27:07.547] } [17:27:07.547] } [17:27:07.547] })) [17:27:07.547] }, error = function(ex) { [17:27:07.547] base::structure(base::list(value = NULL, visible = NULL, [17:27:07.547] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:07.547] ...future.rng), started = ...future.startTime, [17:27:07.547] finished = Sys.time(), session_uuid = NA_character_, [17:27:07.547] version = "1.8"), class = "FutureResult") [17:27:07.547] }, finally = { [17:27:07.547] if (!identical(...future.workdir, getwd())) [17:27:07.547] setwd(...future.workdir) [17:27:07.547] { [17:27:07.547] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:07.547] ...future.oldOptions$nwarnings <- NULL [17:27:07.547] } [17:27:07.547] base::options(...future.oldOptions) [17:27:07.547] if (.Platform$OS.type == "windows") { [17:27:07.547] old_names <- names(...future.oldEnvVars) [17:27:07.547] envs <- base::Sys.getenv() [17:27:07.547] names <- names(envs) [17:27:07.547] common <- intersect(names, old_names) [17:27:07.547] added <- setdiff(names, old_names) [17:27:07.547] removed <- setdiff(old_names, names) [17:27:07.547] changed <- common[...future.oldEnvVars[common] != [17:27:07.547] envs[common]] [17:27:07.547] NAMES <- toupper(changed) [17:27:07.547] args <- list() [17:27:07.547] for (kk in seq_along(NAMES)) { [17:27:07.547] name <- changed[[kk]] [17:27:07.547] NAME <- NAMES[[kk]] [17:27:07.547] if (name != NAME && is.element(NAME, old_names)) [17:27:07.547] next [17:27:07.547] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:07.547] } [17:27:07.547] NAMES <- toupper(added) [17:27:07.547] for (kk in seq_along(NAMES)) { [17:27:07.547] name <- added[[kk]] [17:27:07.547] NAME <- NAMES[[kk]] [17:27:07.547] if (name != NAME && is.element(NAME, old_names)) [17:27:07.547] next [17:27:07.547] args[[name]] <- "" [17:27:07.547] } [17:27:07.547] NAMES <- toupper(removed) [17:27:07.547] for (kk in seq_along(NAMES)) { [17:27:07.547] name <- removed[[kk]] [17:27:07.547] NAME <- NAMES[[kk]] [17:27:07.547] if (name != NAME && is.element(NAME, old_names)) [17:27:07.547] next [17:27:07.547] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:07.547] } [17:27:07.547] if (length(args) > 0) [17:27:07.547] base::do.call(base::Sys.setenv, args = args) [17:27:07.547] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:07.547] } [17:27:07.547] else { [17:27:07.547] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:07.547] } [17:27:07.547] { [17:27:07.547] if (base::length(...future.futureOptionsAdded) > [17:27:07.547] 0L) { [17:27:07.547] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:07.547] base::names(opts) <- ...future.futureOptionsAdded [17:27:07.547] base::options(opts) [17:27:07.547] } [17:27:07.547] { [17:27:07.547] { [17:27:07.547] NULL [17:27:07.547] RNGkind("Mersenne-Twister") [17:27:07.547] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:07.547] inherits = FALSE) [17:27:07.547] } [17:27:07.547] options(future.plan = NULL) [17:27:07.547] if (is.na(NA_character_)) [17:27:07.547] Sys.unsetenv("R_FUTURE_PLAN") [17:27:07.547] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:07.547] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:07.547] .init = FALSE) [17:27:07.547] } [17:27:07.547] } [17:27:07.547] } [17:27:07.547] }) [17:27:07.547] if (TRUE) { [17:27:07.547] base::sink(type = "output", split = FALSE) [17:27:07.547] if (TRUE) { [17:27:07.547] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:07.547] } [17:27:07.547] else { [17:27:07.547] ...future.result["stdout"] <- base::list(NULL) [17:27:07.547] } [17:27:07.547] base::close(...future.stdout) [17:27:07.547] ...future.stdout <- NULL [17:27:07.547] } [17:27:07.547] ...future.result$conditions <- ...future.conditions [17:27:07.547] ...future.result$finished <- base::Sys.time() [17:27:07.547] ...future.result [17:27:07.547] } [17:27:07.554] assign_globals() ... [17:27:07.554] List of 2 [17:27:07.554] $ x: int [1:2] 1 2 [17:27:07.554] $ y: num 3 [17:27:07.554] - attr(*, "where")=List of 2 [17:27:07.554] ..$ x: [17:27:07.554] ..$ y: [17:27:07.554] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:07.554] - attr(*, "resolved")= logi FALSE [17:27:07.554] - attr(*, "total_size")= int 172 [17:27:07.554] - attr(*, "already-done")= logi TRUE [17:27:07.565] - copied 'x' to environment [17:27:07.566] - copied 'y' to environment [17:27:07.566] assign_globals() ... done [17:27:07.567] plan(): Setting new future strategy stack: [17:27:07.567] List of future strategies: [17:27:07.567] 1. sequential: [17:27:07.567] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.567] - tweaked: FALSE [17:27:07.567] - call: NULL [17:27:07.568] plan(): nbrOfWorkers() = 1 [17:27:07.570] plan(): Setting new future strategy stack: [17:27:07.571] List of future strategies: [17:27:07.571] 1. sequential: [17:27:07.571] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.571] - tweaked: FALSE [17:27:07.571] - call: plan(strategy, substitute = FALSE) [17:27:07.572] plan(): nbrOfWorkers() = 1 [17:27:07.572] SequentialFuture started (and completed) [17:27:07.572] - Launch lazy future ... done [17:27:07.573] run() for 'SequentialFuture' ... done [1] 6 ** Sum function 'D' with plan('sequential') ... function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y, ...) } y } Arguments '...' exists: FALSE [17:27:07.574] getGlobalsAndPackages() ... [17:27:07.574] Searching for globals... [17:27:07.577] - globals found: [5] '{', 'sum', 'x', 'y', '...' [17:27:07.578] Searching for globals ... DONE [17:27:07.578] Resolving globals: FALSE [17:27:07.579] Tweak future expression to call with '...' arguments ... [17:27:07.580] The total size of the 2 globals is 172 bytes (172 bytes) [17:27:07.581] The total size of the 2 globals exported for future expression ('{; sum(x, y, ...); }') is 172 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (133 bytes of class 'numeric') and 'y' (39 bytes of class 'numeric') [17:27:07.581] - globals: [2] 'x', 'y' [17:27:07.581] [17:27:07.582] getGlobalsAndPackages() ... DONE [17:27:07.582] run() for 'Future' ... [17:27:07.583] - state: 'created' [17:27:07.583] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:07.584] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:07.584] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:07.584] - Field: 'label' [17:27:07.585] - Field: 'local' [17:27:07.585] - Field: 'owner' [17:27:07.585] - Field: 'envir' [17:27:07.585] - Field: 'packages' [17:27:07.586] - Field: 'gc' [17:27:07.586] - Field: 'conditions' [17:27:07.586] - Field: 'expr' [17:27:07.586] - Field: 'uuid' [17:27:07.587] - Field: 'seed' [17:27:07.587] - Field: 'version' [17:27:07.587] - Field: 'result' [17:27:07.588] - Field: 'asynchronous' [17:27:07.588] - Field: 'calls' [17:27:07.588] - Field: 'globals' [17:27:07.589] - Field: 'stdout' [17:27:07.589] - Field: 'earlySignal' [17:27:07.589] - Field: 'lazy' [17:27:07.590] - Field: 'state' [17:27:07.590] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:07.590] - Launch lazy future ... [17:27:07.591] Packages needed by the future expression (n = 0): [17:27:07.591] Packages needed by future strategies (n = 0): [17:27:07.593] { [17:27:07.593] { [17:27:07.593] { [17:27:07.593] ...future.startTime <- base::Sys.time() [17:27:07.593] { [17:27:07.593] { [17:27:07.593] { [17:27:07.593] base::local({ [17:27:07.593] has_future <- base::requireNamespace("future", [17:27:07.593] quietly = TRUE) [17:27:07.593] if (has_future) { [17:27:07.593] ns <- base::getNamespace("future") [17:27:07.593] version <- ns[[".package"]][["version"]] [17:27:07.593] if (is.null(version)) [17:27:07.593] version <- utils::packageVersion("future") [17:27:07.593] } [17:27:07.593] else { [17:27:07.593] version <- NULL [17:27:07.593] } [17:27:07.593] if (!has_future || version < "1.8.0") { [17:27:07.593] info <- base::c(r_version = base::gsub("R version ", [17:27:07.593] "", base::R.version$version.string), [17:27:07.593] platform = base::sprintf("%s (%s-bit)", [17:27:07.593] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:07.593] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:07.593] "release", "version")], collapse = " "), [17:27:07.593] hostname = base::Sys.info()[["nodename"]]) [17:27:07.593] info <- base::sprintf("%s: %s", base::names(info), [17:27:07.593] info) [17:27:07.593] info <- base::paste(info, collapse = "; ") [17:27:07.593] if (!has_future) { [17:27:07.593] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:07.593] info) [17:27:07.593] } [17:27:07.593] else { [17:27:07.593] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:07.593] info, version) [17:27:07.593] } [17:27:07.593] base::stop(msg) [17:27:07.593] } [17:27:07.593] }) [17:27:07.593] } [17:27:07.593] ...future.strategy.old <- future::plan("list") [17:27:07.593] options(future.plan = NULL) [17:27:07.593] Sys.unsetenv("R_FUTURE_PLAN") [17:27:07.593] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:07.593] } [17:27:07.593] ...future.workdir <- getwd() [17:27:07.593] } [17:27:07.593] ...future.oldOptions <- base::as.list(base::.Options) [17:27:07.593] ...future.oldEnvVars <- base::Sys.getenv() [17:27:07.593] } [17:27:07.593] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:07.593] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:07.593] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:07.593] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:07.593] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:07.593] future.stdout.windows.reencode = NULL, width = 80L) [17:27:07.593] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:07.593] base::names(...future.oldOptions)) [17:27:07.593] } [17:27:07.593] if (FALSE) { [17:27:07.593] } [17:27:07.593] else { [17:27:07.593] if (TRUE) { [17:27:07.593] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:07.593] open = "w") [17:27:07.593] } [17:27:07.593] else { [17:27:07.593] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:07.593] windows = "NUL", "/dev/null"), open = "w") [17:27:07.593] } [17:27:07.593] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:07.593] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:07.593] base::sink(type = "output", split = FALSE) [17:27:07.593] base::close(...future.stdout) [17:27:07.593] }, add = TRUE) [17:27:07.593] } [17:27:07.593] ...future.frame <- base::sys.nframe() [17:27:07.593] ...future.conditions <- base::list() [17:27:07.593] ...future.rng <- base::globalenv()$.Random.seed [17:27:07.593] if (FALSE) { [17:27:07.593] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:07.593] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:07.593] } [17:27:07.593] ...future.result <- base::tryCatch({ [17:27:07.593] base::withCallingHandlers({ [17:27:07.593] ...future.value <- base::withVisible(base::local({ [17:27:07.593] sum(x, y, ...) [17:27:07.593] })) [17:27:07.593] future::FutureResult(value = ...future.value$value, [17:27:07.593] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:07.593] ...future.rng), globalenv = if (FALSE) [17:27:07.593] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:07.593] ...future.globalenv.names)) [17:27:07.593] else NULL, started = ...future.startTime, version = "1.8") [17:27:07.593] }, condition = base::local({ [17:27:07.593] c <- base::c [17:27:07.593] inherits <- base::inherits [17:27:07.593] invokeRestart <- base::invokeRestart [17:27:07.593] length <- base::length [17:27:07.593] list <- base::list [17:27:07.593] seq.int <- base::seq.int [17:27:07.593] signalCondition <- base::signalCondition [17:27:07.593] sys.calls <- base::sys.calls [17:27:07.593] `[[` <- base::`[[` [17:27:07.593] `+` <- base::`+` [17:27:07.593] `<<-` <- base::`<<-` [17:27:07.593] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:07.593] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:07.593] 3L)] [17:27:07.593] } [17:27:07.593] function(cond) { [17:27:07.593] is_error <- inherits(cond, "error") [17:27:07.593] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:07.593] NULL) [17:27:07.593] if (is_error) { [17:27:07.593] sessionInformation <- function() { [17:27:07.593] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:07.593] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:07.593] search = base::search(), system = base::Sys.info()) [17:27:07.593] } [17:27:07.593] ...future.conditions[[length(...future.conditions) + [17:27:07.593] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:07.593] cond$call), session = sessionInformation(), [17:27:07.593] timestamp = base::Sys.time(), signaled = 0L) [17:27:07.593] signalCondition(cond) [17:27:07.593] } [17:27:07.593] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:07.593] "immediateCondition"))) { [17:27:07.593] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:07.593] ...future.conditions[[length(...future.conditions) + [17:27:07.593] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:07.593] if (TRUE && !signal) { [17:27:07.593] muffleCondition <- function (cond, pattern = "^muffle") [17:27:07.593] { [17:27:07.593] inherits <- base::inherits [17:27:07.593] invokeRestart <- base::invokeRestart [17:27:07.593] is.null <- base::is.null [17:27:07.593] muffled <- FALSE [17:27:07.593] if (inherits(cond, "message")) { [17:27:07.593] muffled <- grepl(pattern, "muffleMessage") [17:27:07.593] if (muffled) [17:27:07.593] invokeRestart("muffleMessage") [17:27:07.593] } [17:27:07.593] else if (inherits(cond, "warning")) { [17:27:07.593] muffled <- grepl(pattern, "muffleWarning") [17:27:07.593] if (muffled) [17:27:07.593] invokeRestart("muffleWarning") [17:27:07.593] } [17:27:07.593] else if (inherits(cond, "condition")) { [17:27:07.593] if (!is.null(pattern)) { [17:27:07.593] computeRestarts <- base::computeRestarts [17:27:07.593] grepl <- base::grepl [17:27:07.593] restarts <- computeRestarts(cond) [17:27:07.593] for (restart in restarts) { [17:27:07.593] name <- restart$name [17:27:07.593] if (is.null(name)) [17:27:07.593] next [17:27:07.593] if (!grepl(pattern, name)) [17:27:07.593] next [17:27:07.593] invokeRestart(restart) [17:27:07.593] muffled <- TRUE [17:27:07.593] break [17:27:07.593] } [17:27:07.593] } [17:27:07.593] } [17:27:07.593] invisible(muffled) [17:27:07.593] } [17:27:07.593] muffleCondition(cond, pattern = "^muffle") [17:27:07.593] } [17:27:07.593] } [17:27:07.593] else { [17:27:07.593] if (TRUE) { [17:27:07.593] muffleCondition <- function (cond, pattern = "^muffle") [17:27:07.593] { [17:27:07.593] inherits <- base::inherits [17:27:07.593] invokeRestart <- base::invokeRestart [17:27:07.593] is.null <- base::is.null [17:27:07.593] muffled <- FALSE [17:27:07.593] if (inherits(cond, "message")) { [17:27:07.593] muffled <- grepl(pattern, "muffleMessage") [17:27:07.593] if (muffled) [17:27:07.593] invokeRestart("muffleMessage") [17:27:07.593] } [17:27:07.593] else if (inherits(cond, "warning")) { [17:27:07.593] muffled <- grepl(pattern, "muffleWarning") [17:27:07.593] if (muffled) [17:27:07.593] invokeRestart("muffleWarning") [17:27:07.593] } [17:27:07.593] else if (inherits(cond, "condition")) { [17:27:07.593] if (!is.null(pattern)) { [17:27:07.593] computeRestarts <- base::computeRestarts [17:27:07.593] grepl <- base::grepl [17:27:07.593] restarts <- computeRestarts(cond) [17:27:07.593] for (restart in restarts) { [17:27:07.593] name <- restart$name [17:27:07.593] if (is.null(name)) [17:27:07.593] next [17:27:07.593] if (!grepl(pattern, name)) [17:27:07.593] next [17:27:07.593] invokeRestart(restart) [17:27:07.593] muffled <- TRUE [17:27:07.593] break [17:27:07.593] } [17:27:07.593] } [17:27:07.593] } [17:27:07.593] invisible(muffled) [17:27:07.593] } [17:27:07.593] muffleCondition(cond, pattern = "^muffle") [17:27:07.593] } [17:27:07.593] } [17:27:07.593] } [17:27:07.593] })) [17:27:07.593] }, error = function(ex) { [17:27:07.593] base::structure(base::list(value = NULL, visible = NULL, [17:27:07.593] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:07.593] ...future.rng), started = ...future.startTime, [17:27:07.593] finished = Sys.time(), session_uuid = NA_character_, [17:27:07.593] version = "1.8"), class = "FutureResult") [17:27:07.593] }, finally = { [17:27:07.593] if (!identical(...future.workdir, getwd())) [17:27:07.593] setwd(...future.workdir) [17:27:07.593] { [17:27:07.593] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:07.593] ...future.oldOptions$nwarnings <- NULL [17:27:07.593] } [17:27:07.593] base::options(...future.oldOptions) [17:27:07.593] if (.Platform$OS.type == "windows") { [17:27:07.593] old_names <- names(...future.oldEnvVars) [17:27:07.593] envs <- base::Sys.getenv() [17:27:07.593] names <- names(envs) [17:27:07.593] common <- intersect(names, old_names) [17:27:07.593] added <- setdiff(names, old_names) [17:27:07.593] removed <- setdiff(old_names, names) [17:27:07.593] changed <- common[...future.oldEnvVars[common] != [17:27:07.593] envs[common]] [17:27:07.593] NAMES <- toupper(changed) [17:27:07.593] args <- list() [17:27:07.593] for (kk in seq_along(NAMES)) { [17:27:07.593] name <- changed[[kk]] [17:27:07.593] NAME <- NAMES[[kk]] [17:27:07.593] if (name != NAME && is.element(NAME, old_names)) [17:27:07.593] next [17:27:07.593] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:07.593] } [17:27:07.593] NAMES <- toupper(added) [17:27:07.593] for (kk in seq_along(NAMES)) { [17:27:07.593] name <- added[[kk]] [17:27:07.593] NAME <- NAMES[[kk]] [17:27:07.593] if (name != NAME && is.element(NAME, old_names)) [17:27:07.593] next [17:27:07.593] args[[name]] <- "" [17:27:07.593] } [17:27:07.593] NAMES <- toupper(removed) [17:27:07.593] for (kk in seq_along(NAMES)) { [17:27:07.593] name <- removed[[kk]] [17:27:07.593] NAME <- NAMES[[kk]] [17:27:07.593] if (name != NAME && is.element(NAME, old_names)) [17:27:07.593] next [17:27:07.593] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:07.593] } [17:27:07.593] if (length(args) > 0) [17:27:07.593] base::do.call(base::Sys.setenv, args = args) [17:27:07.593] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:07.593] } [17:27:07.593] else { [17:27:07.593] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:07.593] } [17:27:07.593] { [17:27:07.593] if (base::length(...future.futureOptionsAdded) > [17:27:07.593] 0L) { [17:27:07.593] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:07.593] base::names(opts) <- ...future.futureOptionsAdded [17:27:07.593] base::options(opts) [17:27:07.593] } [17:27:07.593] { [17:27:07.593] { [17:27:07.593] NULL [17:27:07.593] RNGkind("Mersenne-Twister") [17:27:07.593] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:07.593] inherits = FALSE) [17:27:07.593] } [17:27:07.593] options(future.plan = NULL) [17:27:07.593] if (is.na(NA_character_)) [17:27:07.593] Sys.unsetenv("R_FUTURE_PLAN") [17:27:07.593] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:07.593] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:07.593] .init = FALSE) [17:27:07.593] } [17:27:07.593] } [17:27:07.593] } [17:27:07.593] }) [17:27:07.593] if (TRUE) { [17:27:07.593] base::sink(type = "output", split = FALSE) [17:27:07.593] if (TRUE) { [17:27:07.593] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:07.593] } [17:27:07.593] else { [17:27:07.593] ...future.result["stdout"] <- base::list(NULL) [17:27:07.593] } [17:27:07.593] base::close(...future.stdout) [17:27:07.593] ...future.stdout <- NULL [17:27:07.593] } [17:27:07.593] ...future.result$conditions <- ...future.conditions [17:27:07.593] ...future.result$finished <- base::Sys.time() [17:27:07.593] ...future.result [17:27:07.593] } [17:27:07.599] assign_globals() ... [17:27:07.600] List of 2 [17:27:07.600] $ x: int [1:2] 1 2 [17:27:07.600] $ y: num 3 [17:27:07.600] - attr(*, "where")=List of 2 [17:27:07.600] ..$ x: [17:27:07.600] ..$ y: [17:27:07.600] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:07.600] - attr(*, "resolved")= logi FALSE [17:27:07.600] - attr(*, "total_size")= int 172 [17:27:07.600] - attr(*, "already-done")= logi TRUE [17:27:07.606] - copied 'x' to environment [17:27:07.606] - copied 'y' to environment [17:27:07.606] assign_globals() ... done [17:27:07.607] plan(): Setting new future strategy stack: [17:27:07.608] List of future strategies: [17:27:07.608] 1. sequential: [17:27:07.608] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.608] - tweaked: FALSE [17:27:07.608] - call: NULL [17:27:07.609] plan(): nbrOfWorkers() = 1 [17:27:07.612] plan(): Setting new future strategy stack: [17:27:07.612] List of future strategies: [17:27:07.612] 1. sequential: [17:27:07.612] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.612] - tweaked: FALSE [17:27:07.612] - call: plan(strategy, substitute = FALSE) [17:27:07.613] plan(): nbrOfWorkers() = 1 [17:27:07.614] SequentialFuture started (and completed) [17:27:07.614] signalConditions() ... [17:27:07.615] - include = 'immediateCondition' [17:27:07.615] - exclude = [17:27:07.615] - resignal = FALSE [17:27:07.616] - Number of conditions: 1 [17:27:07.616] signalConditions() ... done [17:27:07.616] - Launch lazy future ... done [17:27:07.617] run() for 'SequentialFuture' ... done [17:27:07.617] signalConditions() ... [17:27:07.621] - include = 'immediateCondition' [17:27:07.622] - exclude = [17:27:07.622] - resignal = FALSE [17:27:07.622] - Number of conditions: 1 [17:27:07.622] signalConditions() ... done [17:27:07.623] Future state: 'finished' [17:27:07.623] signalConditions() ... [17:27:07.624] - include = 'condition' [17:27:07.624] - exclude = 'immediateCondition' [17:27:07.624] - resignal = TRUE [17:27:07.625] - Number of conditions: 1 [17:27:07.625] - Condition #1: 'simpleError', 'error', 'condition' [17:27:07.625] signalConditions() ... done Error in eval(quote({ : '...' used in an incorrect context [1] "Error in eval(quote({ : '...' used in an incorrect context\n" attr(,"class") [1] "try-error" attr(,"condition") ** Sum function 'E' with plan('sequential') ... function (...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) globals <- globals::globalsByName("...", envir = environment()) f <- future({ fcn <- function() sum(...) fcn() }, envir = parent.frame(), globals = globals) y <- value(f) y } Arguments '...' exists: TRUE [17:27:07.627] getGlobalsAndPackages() ... [17:27:07.627] - globals passed as-is: [1] '...' [17:27:07.628] Resolving globals: FALSE [17:27:07.628] Tweak future expression to call with '...' arguments ... [17:27:07.629] { [17:27:07.629] do.call(function(...) { [17:27:07.629] fcn <- function() sum(...) [17:27:07.629] fcn() [17:27:07.629] }, args = future.call.arguments) [17:27:07.629] } [17:27:07.629] Tweak future expression to call with '...' arguments ... DONE [17:27:07.630] The total size of the 1 globals is 223 bytes (223 bytes) [17:27:07.631] The total size of the 1 globals exported for future expression ('{; fcn <- function() sum(...); fcn(); }') is 223 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'future.call.arguments' (223 bytes of class 'list') [17:27:07.631] - globals: [1] 'future.call.arguments' [17:27:07.631] [17:27:07.632] getGlobalsAndPackages() ... DONE [17:27:07.632] run() for 'Future' ... [17:27:07.633] - state: 'created' [17:27:07.633] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:07.634] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:07.634] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:07.635] - Field: 'label' [17:27:07.635] - Field: 'local' [17:27:07.635] - Field: 'owner' [17:27:07.636] - Field: 'envir' [17:27:07.636] - Field: 'packages' [17:27:07.636] - Field: 'gc' [17:27:07.636] - Field: 'conditions' [17:27:07.637] - Field: 'expr' [17:27:07.637] - Field: 'uuid' [17:27:07.637] - Field: 'seed' [17:27:07.638] - Field: 'version' [17:27:07.638] - Field: 'result' [17:27:07.638] - Field: 'asynchronous' [17:27:07.638] - Field: 'calls' [17:27:07.639] - Field: 'globals' [17:27:07.639] - Field: 'stdout' [17:27:07.639] - Field: 'earlySignal' [17:27:07.639] - Field: 'lazy' [17:27:07.640] - Field: 'state' [17:27:07.640] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:07.640] - Launch lazy future ... [17:27:07.641] Packages needed by the future expression (n = 0): [17:27:07.641] Packages needed by future strategies (n = 0): [17:27:07.642] { [17:27:07.642] { [17:27:07.642] { [17:27:07.642] ...future.startTime <- base::Sys.time() [17:27:07.642] { [17:27:07.642] { [17:27:07.642] { [17:27:07.642] base::local({ [17:27:07.642] has_future <- base::requireNamespace("future", [17:27:07.642] quietly = TRUE) [17:27:07.642] if (has_future) { [17:27:07.642] ns <- base::getNamespace("future") [17:27:07.642] version <- ns[[".package"]][["version"]] [17:27:07.642] if (is.null(version)) [17:27:07.642] version <- utils::packageVersion("future") [17:27:07.642] } [17:27:07.642] else { [17:27:07.642] version <- NULL [17:27:07.642] } [17:27:07.642] if (!has_future || version < "1.8.0") { [17:27:07.642] info <- base::c(r_version = base::gsub("R version ", [17:27:07.642] "", base::R.version$version.string), [17:27:07.642] platform = base::sprintf("%s (%s-bit)", [17:27:07.642] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:07.642] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:07.642] "release", "version")], collapse = " "), [17:27:07.642] hostname = base::Sys.info()[["nodename"]]) [17:27:07.642] info <- base::sprintf("%s: %s", base::names(info), [17:27:07.642] info) [17:27:07.642] info <- base::paste(info, collapse = "; ") [17:27:07.642] if (!has_future) { [17:27:07.642] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:07.642] info) [17:27:07.642] } [17:27:07.642] else { [17:27:07.642] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:07.642] info, version) [17:27:07.642] } [17:27:07.642] base::stop(msg) [17:27:07.642] } [17:27:07.642] }) [17:27:07.642] } [17:27:07.642] ...future.strategy.old <- future::plan("list") [17:27:07.642] options(future.plan = NULL) [17:27:07.642] Sys.unsetenv("R_FUTURE_PLAN") [17:27:07.642] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:07.642] } [17:27:07.642] ...future.workdir <- getwd() [17:27:07.642] } [17:27:07.642] ...future.oldOptions <- base::as.list(base::.Options) [17:27:07.642] ...future.oldEnvVars <- base::Sys.getenv() [17:27:07.642] } [17:27:07.642] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:07.642] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:07.642] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:07.642] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:07.642] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:07.642] future.stdout.windows.reencode = NULL, width = 80L) [17:27:07.642] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:07.642] base::names(...future.oldOptions)) [17:27:07.642] } [17:27:07.642] if (FALSE) { [17:27:07.642] } [17:27:07.642] else { [17:27:07.642] if (TRUE) { [17:27:07.642] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:07.642] open = "w") [17:27:07.642] } [17:27:07.642] else { [17:27:07.642] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:07.642] windows = "NUL", "/dev/null"), open = "w") [17:27:07.642] } [17:27:07.642] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:07.642] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:07.642] base::sink(type = "output", split = FALSE) [17:27:07.642] base::close(...future.stdout) [17:27:07.642] }, add = TRUE) [17:27:07.642] } [17:27:07.642] ...future.frame <- base::sys.nframe() [17:27:07.642] ...future.conditions <- base::list() [17:27:07.642] ...future.rng <- base::globalenv()$.Random.seed [17:27:07.642] if (FALSE) { [17:27:07.642] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:07.642] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:07.642] } [17:27:07.642] ...future.result <- base::tryCatch({ [17:27:07.642] base::withCallingHandlers({ [17:27:07.642] ...future.value <- base::withVisible(base::local({ [17:27:07.642] do.call(function(...) { [17:27:07.642] fcn <- function() sum(...) [17:27:07.642] fcn() [17:27:07.642] }, args = future.call.arguments) [17:27:07.642] })) [17:27:07.642] future::FutureResult(value = ...future.value$value, [17:27:07.642] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:07.642] ...future.rng), globalenv = if (FALSE) [17:27:07.642] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:07.642] ...future.globalenv.names)) [17:27:07.642] else NULL, started = ...future.startTime, version = "1.8") [17:27:07.642] }, condition = base::local({ [17:27:07.642] c <- base::c [17:27:07.642] inherits <- base::inherits [17:27:07.642] invokeRestart <- base::invokeRestart [17:27:07.642] length <- base::length [17:27:07.642] list <- base::list [17:27:07.642] seq.int <- base::seq.int [17:27:07.642] signalCondition <- base::signalCondition [17:27:07.642] sys.calls <- base::sys.calls [17:27:07.642] `[[` <- base::`[[` [17:27:07.642] `+` <- base::`+` [17:27:07.642] `<<-` <- base::`<<-` [17:27:07.642] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:07.642] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:07.642] 3L)] [17:27:07.642] } [17:27:07.642] function(cond) { [17:27:07.642] is_error <- inherits(cond, "error") [17:27:07.642] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:07.642] NULL) [17:27:07.642] if (is_error) { [17:27:07.642] sessionInformation <- function() { [17:27:07.642] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:07.642] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:07.642] search = base::search(), system = base::Sys.info()) [17:27:07.642] } [17:27:07.642] ...future.conditions[[length(...future.conditions) + [17:27:07.642] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:07.642] cond$call), session = sessionInformation(), [17:27:07.642] timestamp = base::Sys.time(), signaled = 0L) [17:27:07.642] signalCondition(cond) [17:27:07.642] } [17:27:07.642] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:07.642] "immediateCondition"))) { [17:27:07.642] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:07.642] ...future.conditions[[length(...future.conditions) + [17:27:07.642] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:07.642] if (TRUE && !signal) { [17:27:07.642] muffleCondition <- function (cond, pattern = "^muffle") [17:27:07.642] { [17:27:07.642] inherits <- base::inherits [17:27:07.642] invokeRestart <- base::invokeRestart [17:27:07.642] is.null <- base::is.null [17:27:07.642] muffled <- FALSE [17:27:07.642] if (inherits(cond, "message")) { [17:27:07.642] muffled <- grepl(pattern, "muffleMessage") [17:27:07.642] if (muffled) [17:27:07.642] invokeRestart("muffleMessage") [17:27:07.642] } [17:27:07.642] else if (inherits(cond, "warning")) { [17:27:07.642] muffled <- grepl(pattern, "muffleWarning") [17:27:07.642] if (muffled) [17:27:07.642] invokeRestart("muffleWarning") [17:27:07.642] } [17:27:07.642] else if (inherits(cond, "condition")) { [17:27:07.642] if (!is.null(pattern)) { [17:27:07.642] computeRestarts <- base::computeRestarts [17:27:07.642] grepl <- base::grepl [17:27:07.642] restarts <- computeRestarts(cond) [17:27:07.642] for (restart in restarts) { [17:27:07.642] name <- restart$name [17:27:07.642] if (is.null(name)) [17:27:07.642] next [17:27:07.642] if (!grepl(pattern, name)) [17:27:07.642] next [17:27:07.642] invokeRestart(restart) [17:27:07.642] muffled <- TRUE [17:27:07.642] break [17:27:07.642] } [17:27:07.642] } [17:27:07.642] } [17:27:07.642] invisible(muffled) [17:27:07.642] } [17:27:07.642] muffleCondition(cond, pattern = "^muffle") [17:27:07.642] } [17:27:07.642] } [17:27:07.642] else { [17:27:07.642] if (TRUE) { [17:27:07.642] muffleCondition <- function (cond, pattern = "^muffle") [17:27:07.642] { [17:27:07.642] inherits <- base::inherits [17:27:07.642] invokeRestart <- base::invokeRestart [17:27:07.642] is.null <- base::is.null [17:27:07.642] muffled <- FALSE [17:27:07.642] if (inherits(cond, "message")) { [17:27:07.642] muffled <- grepl(pattern, "muffleMessage") [17:27:07.642] if (muffled) [17:27:07.642] invokeRestart("muffleMessage") [17:27:07.642] } [17:27:07.642] else if (inherits(cond, "warning")) { [17:27:07.642] muffled <- grepl(pattern, "muffleWarning") [17:27:07.642] if (muffled) [17:27:07.642] invokeRestart("muffleWarning") [17:27:07.642] } [17:27:07.642] else if (inherits(cond, "condition")) { [17:27:07.642] if (!is.null(pattern)) { [17:27:07.642] computeRestarts <- base::computeRestarts [17:27:07.642] grepl <- base::grepl [17:27:07.642] restarts <- computeRestarts(cond) [17:27:07.642] for (restart in restarts) { [17:27:07.642] name <- restart$name [17:27:07.642] if (is.null(name)) [17:27:07.642] next [17:27:07.642] if (!grepl(pattern, name)) [17:27:07.642] next [17:27:07.642] invokeRestart(restart) [17:27:07.642] muffled <- TRUE [17:27:07.642] break [17:27:07.642] } [17:27:07.642] } [17:27:07.642] } [17:27:07.642] invisible(muffled) [17:27:07.642] } [17:27:07.642] muffleCondition(cond, pattern = "^muffle") [17:27:07.642] } [17:27:07.642] } [17:27:07.642] } [17:27:07.642] })) [17:27:07.642] }, error = function(ex) { [17:27:07.642] base::structure(base::list(value = NULL, visible = NULL, [17:27:07.642] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:07.642] ...future.rng), started = ...future.startTime, [17:27:07.642] finished = Sys.time(), session_uuid = NA_character_, [17:27:07.642] version = "1.8"), class = "FutureResult") [17:27:07.642] }, finally = { [17:27:07.642] if (!identical(...future.workdir, getwd())) [17:27:07.642] setwd(...future.workdir) [17:27:07.642] { [17:27:07.642] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:07.642] ...future.oldOptions$nwarnings <- NULL [17:27:07.642] } [17:27:07.642] base::options(...future.oldOptions) [17:27:07.642] if (.Platform$OS.type == "windows") { [17:27:07.642] old_names <- names(...future.oldEnvVars) [17:27:07.642] envs <- base::Sys.getenv() [17:27:07.642] names <- names(envs) [17:27:07.642] common <- intersect(names, old_names) [17:27:07.642] added <- setdiff(names, old_names) [17:27:07.642] removed <- setdiff(old_names, names) [17:27:07.642] changed <- common[...future.oldEnvVars[common] != [17:27:07.642] envs[common]] [17:27:07.642] NAMES <- toupper(changed) [17:27:07.642] args <- list() [17:27:07.642] for (kk in seq_along(NAMES)) { [17:27:07.642] name <- changed[[kk]] [17:27:07.642] NAME <- NAMES[[kk]] [17:27:07.642] if (name != NAME && is.element(NAME, old_names)) [17:27:07.642] next [17:27:07.642] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:07.642] } [17:27:07.642] NAMES <- toupper(added) [17:27:07.642] for (kk in seq_along(NAMES)) { [17:27:07.642] name <- added[[kk]] [17:27:07.642] NAME <- NAMES[[kk]] [17:27:07.642] if (name != NAME && is.element(NAME, old_names)) [17:27:07.642] next [17:27:07.642] args[[name]] <- "" [17:27:07.642] } [17:27:07.642] NAMES <- toupper(removed) [17:27:07.642] for (kk in seq_along(NAMES)) { [17:27:07.642] name <- removed[[kk]] [17:27:07.642] NAME <- NAMES[[kk]] [17:27:07.642] if (name != NAME && is.element(NAME, old_names)) [17:27:07.642] next [17:27:07.642] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:07.642] } [17:27:07.642] if (length(args) > 0) [17:27:07.642] base::do.call(base::Sys.setenv, args = args) [17:27:07.642] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:07.642] } [17:27:07.642] else { [17:27:07.642] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:07.642] } [17:27:07.642] { [17:27:07.642] if (base::length(...future.futureOptionsAdded) > [17:27:07.642] 0L) { [17:27:07.642] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:07.642] base::names(opts) <- ...future.futureOptionsAdded [17:27:07.642] base::options(opts) [17:27:07.642] } [17:27:07.642] { [17:27:07.642] { [17:27:07.642] NULL [17:27:07.642] RNGkind("Mersenne-Twister") [17:27:07.642] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:07.642] inherits = FALSE) [17:27:07.642] } [17:27:07.642] options(future.plan = NULL) [17:27:07.642] if (is.na(NA_character_)) [17:27:07.642] Sys.unsetenv("R_FUTURE_PLAN") [17:27:07.642] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:07.642] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:07.642] .init = FALSE) [17:27:07.642] } [17:27:07.642] } [17:27:07.642] } [17:27:07.642] }) [17:27:07.642] if (TRUE) { [17:27:07.642] base::sink(type = "output", split = FALSE) [17:27:07.642] if (TRUE) { [17:27:07.642] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:07.642] } [17:27:07.642] else { [17:27:07.642] ...future.result["stdout"] <- base::list(NULL) [17:27:07.642] } [17:27:07.642] base::close(...future.stdout) [17:27:07.642] ...future.stdout <- NULL [17:27:07.642] } [17:27:07.642] ...future.result$conditions <- ...future.conditions [17:27:07.642] ...future.result$finished <- base::Sys.time() [17:27:07.642] ...future.result [17:27:07.642] } [17:27:07.649] assign_globals() ... [17:27:07.649] List of 1 [17:27:07.649] $ future.call.arguments:List of 2 [17:27:07.649] ..$ : int [1:2] 1 2 [17:27:07.649] ..$ : num 3 [17:27:07.649] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [17:27:07.649] - attr(*, "where")=List of 1 [17:27:07.649] ..$ future.call.arguments: [17:27:07.649] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:07.649] - attr(*, "resolved")= logi FALSE [17:27:07.649] - attr(*, "total_size")= int 223 [17:27:07.649] - attr(*, "already-done")= logi TRUE [17:27:07.656] - copied 'future.call.arguments' to environment [17:27:07.657] assign_globals() ... done [17:27:07.657] plan(): Setting new future strategy stack: [17:27:07.657] List of future strategies: [17:27:07.657] 1. sequential: [17:27:07.657] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.657] - tweaked: FALSE [17:27:07.657] - call: NULL [17:27:07.659] plan(): nbrOfWorkers() = 1 [17:27:07.661] plan(): Setting new future strategy stack: [17:27:07.661] List of future strategies: [17:27:07.661] 1. sequential: [17:27:07.661] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.661] - tweaked: FALSE [17:27:07.661] - call: plan(strategy, substitute = FALSE) [17:27:07.662] plan(): nbrOfWorkers() = 1 [17:27:07.663] SequentialFuture started (and completed) [17:27:07.663] - Launch lazy future ... done [17:27:07.664] run() for 'SequentialFuture' ... done [1] 6 ** Sum function 'F' with plan('sequential') ... function (x, y) { message("Using '...' in a formula") fcn <- function(x, y) { z = ~list(...) sum(x, y) } f <- future(fcn(x, y)) y <- value(f) y } Using '...' in a formula [17:27:07.665] getGlobalsAndPackages() ... [17:27:07.665] Searching for globals... [17:27:07.672] - globals found: [9] 'fcn', 'x', 'y', '{', '=', '~', 'list', '...', 'sum' [17:27:07.672] Searching for globals ... DONE [17:27:07.673] Resolving globals: FALSE [17:27:07.673] Tweak future expression to call with '...' arguments ... [17:27:07.674] The total size of the 3 globals is 1.94 KiB (1985 bytes) [17:27:07.675] The total size of the 3 globals exported for future expression ('fcn(x, y)') is 1.94 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are three globals: 'fcn' (1.77 KiB of class 'function'), 'x' (133 bytes of class 'numeric') and 'y' (39 bytes of class 'numeric') [17:27:07.675] - globals: [3] 'fcn', 'x', 'y' [17:27:07.675] [17:27:07.676] getGlobalsAndPackages() ... DONE [17:27:07.680] run() for 'Future' ... [17:27:07.681] - state: 'created' [17:27:07.681] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:07.682] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:07.682] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:07.683] - Field: 'label' [17:27:07.683] - Field: 'local' [17:27:07.683] - Field: 'owner' [17:27:07.684] - Field: 'envir' [17:27:07.684] - Field: 'packages' [17:27:07.684] - Field: 'gc' [17:27:07.685] - Field: 'conditions' [17:27:07.685] - Field: 'expr' [17:27:07.685] - Field: 'uuid' [17:27:07.686] - Field: 'seed' [17:27:07.686] - Field: 'version' [17:27:07.686] - Field: 'result' [17:27:07.687] - Field: 'asynchronous' [17:27:07.687] - Field: 'calls' [17:27:07.687] - Field: 'globals' [17:27:07.688] - Field: 'stdout' [17:27:07.688] - Field: 'earlySignal' [17:27:07.688] - Field: 'lazy' [17:27:07.688] - Field: 'state' [17:27:07.689] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:07.689] - Launch lazy future ... [17:27:07.689] Packages needed by the future expression (n = 0): [17:27:07.690] Packages needed by future strategies (n = 0): [17:27:07.691] { [17:27:07.691] { [17:27:07.691] { [17:27:07.691] ...future.startTime <- base::Sys.time() [17:27:07.691] { [17:27:07.691] { [17:27:07.691] { [17:27:07.691] base::local({ [17:27:07.691] has_future <- base::requireNamespace("future", [17:27:07.691] quietly = TRUE) [17:27:07.691] if (has_future) { [17:27:07.691] ns <- base::getNamespace("future") [17:27:07.691] version <- ns[[".package"]][["version"]] [17:27:07.691] if (is.null(version)) [17:27:07.691] version <- utils::packageVersion("future") [17:27:07.691] } [17:27:07.691] else { [17:27:07.691] version <- NULL [17:27:07.691] } [17:27:07.691] if (!has_future || version < "1.8.0") { [17:27:07.691] info <- base::c(r_version = base::gsub("R version ", [17:27:07.691] "", base::R.version$version.string), [17:27:07.691] platform = base::sprintf("%s (%s-bit)", [17:27:07.691] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:07.691] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:07.691] "release", "version")], collapse = " "), [17:27:07.691] hostname = base::Sys.info()[["nodename"]]) [17:27:07.691] info <- base::sprintf("%s: %s", base::names(info), [17:27:07.691] info) [17:27:07.691] info <- base::paste(info, collapse = "; ") [17:27:07.691] if (!has_future) { [17:27:07.691] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:07.691] info) [17:27:07.691] } [17:27:07.691] else { [17:27:07.691] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:07.691] info, version) [17:27:07.691] } [17:27:07.691] base::stop(msg) [17:27:07.691] } [17:27:07.691] }) [17:27:07.691] } [17:27:07.691] ...future.strategy.old <- future::plan("list") [17:27:07.691] options(future.plan = NULL) [17:27:07.691] Sys.unsetenv("R_FUTURE_PLAN") [17:27:07.691] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:07.691] } [17:27:07.691] ...future.workdir <- getwd() [17:27:07.691] } [17:27:07.691] ...future.oldOptions <- base::as.list(base::.Options) [17:27:07.691] ...future.oldEnvVars <- base::Sys.getenv() [17:27:07.691] } [17:27:07.691] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:07.691] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:07.691] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:07.691] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:07.691] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:07.691] future.stdout.windows.reencode = NULL, width = 80L) [17:27:07.691] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:07.691] base::names(...future.oldOptions)) [17:27:07.691] } [17:27:07.691] if (FALSE) { [17:27:07.691] } [17:27:07.691] else { [17:27:07.691] if (TRUE) { [17:27:07.691] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:07.691] open = "w") [17:27:07.691] } [17:27:07.691] else { [17:27:07.691] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:07.691] windows = "NUL", "/dev/null"), open = "w") [17:27:07.691] } [17:27:07.691] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:07.691] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:07.691] base::sink(type = "output", split = FALSE) [17:27:07.691] base::close(...future.stdout) [17:27:07.691] }, add = TRUE) [17:27:07.691] } [17:27:07.691] ...future.frame <- base::sys.nframe() [17:27:07.691] ...future.conditions <- base::list() [17:27:07.691] ...future.rng <- base::globalenv()$.Random.seed [17:27:07.691] if (FALSE) { [17:27:07.691] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:07.691] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:07.691] } [17:27:07.691] ...future.result <- base::tryCatch({ [17:27:07.691] base::withCallingHandlers({ [17:27:07.691] ...future.value <- base::withVisible(base::local(fcn(x, [17:27:07.691] y))) [17:27:07.691] future::FutureResult(value = ...future.value$value, [17:27:07.691] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:07.691] ...future.rng), globalenv = if (FALSE) [17:27:07.691] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:07.691] ...future.globalenv.names)) [17:27:07.691] else NULL, started = ...future.startTime, version = "1.8") [17:27:07.691] }, condition = base::local({ [17:27:07.691] c <- base::c [17:27:07.691] inherits <- base::inherits [17:27:07.691] invokeRestart <- base::invokeRestart [17:27:07.691] length <- base::length [17:27:07.691] list <- base::list [17:27:07.691] seq.int <- base::seq.int [17:27:07.691] signalCondition <- base::signalCondition [17:27:07.691] sys.calls <- base::sys.calls [17:27:07.691] `[[` <- base::`[[` [17:27:07.691] `+` <- base::`+` [17:27:07.691] `<<-` <- base::`<<-` [17:27:07.691] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:07.691] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:07.691] 3L)] [17:27:07.691] } [17:27:07.691] function(cond) { [17:27:07.691] is_error <- inherits(cond, "error") [17:27:07.691] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:07.691] NULL) [17:27:07.691] if (is_error) { [17:27:07.691] sessionInformation <- function() { [17:27:07.691] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:07.691] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:07.691] search = base::search(), system = base::Sys.info()) [17:27:07.691] } [17:27:07.691] ...future.conditions[[length(...future.conditions) + [17:27:07.691] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:07.691] cond$call), session = sessionInformation(), [17:27:07.691] timestamp = base::Sys.time(), signaled = 0L) [17:27:07.691] signalCondition(cond) [17:27:07.691] } [17:27:07.691] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:07.691] "immediateCondition"))) { [17:27:07.691] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:07.691] ...future.conditions[[length(...future.conditions) + [17:27:07.691] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:07.691] if (TRUE && !signal) { [17:27:07.691] muffleCondition <- function (cond, pattern = "^muffle") [17:27:07.691] { [17:27:07.691] inherits <- base::inherits [17:27:07.691] invokeRestart <- base::invokeRestart [17:27:07.691] is.null <- base::is.null [17:27:07.691] muffled <- FALSE [17:27:07.691] if (inherits(cond, "message")) { [17:27:07.691] muffled <- grepl(pattern, "muffleMessage") [17:27:07.691] if (muffled) [17:27:07.691] invokeRestart("muffleMessage") [17:27:07.691] } [17:27:07.691] else if (inherits(cond, "warning")) { [17:27:07.691] muffled <- grepl(pattern, "muffleWarning") [17:27:07.691] if (muffled) [17:27:07.691] invokeRestart("muffleWarning") [17:27:07.691] } [17:27:07.691] else if (inherits(cond, "condition")) { [17:27:07.691] if (!is.null(pattern)) { [17:27:07.691] computeRestarts <- base::computeRestarts [17:27:07.691] grepl <- base::grepl [17:27:07.691] restarts <- computeRestarts(cond) [17:27:07.691] for (restart in restarts) { [17:27:07.691] name <- restart$name [17:27:07.691] if (is.null(name)) [17:27:07.691] next [17:27:07.691] if (!grepl(pattern, name)) [17:27:07.691] next [17:27:07.691] invokeRestart(restart) [17:27:07.691] muffled <- TRUE [17:27:07.691] break [17:27:07.691] } [17:27:07.691] } [17:27:07.691] } [17:27:07.691] invisible(muffled) [17:27:07.691] } [17:27:07.691] muffleCondition(cond, pattern = "^muffle") [17:27:07.691] } [17:27:07.691] } [17:27:07.691] else { [17:27:07.691] if (TRUE) { [17:27:07.691] muffleCondition <- function (cond, pattern = "^muffle") [17:27:07.691] { [17:27:07.691] inherits <- base::inherits [17:27:07.691] invokeRestart <- base::invokeRestart [17:27:07.691] is.null <- base::is.null [17:27:07.691] muffled <- FALSE [17:27:07.691] if (inherits(cond, "message")) { [17:27:07.691] muffled <- grepl(pattern, "muffleMessage") [17:27:07.691] if (muffled) [17:27:07.691] invokeRestart("muffleMessage") [17:27:07.691] } [17:27:07.691] else if (inherits(cond, "warning")) { [17:27:07.691] muffled <- grepl(pattern, "muffleWarning") [17:27:07.691] if (muffled) [17:27:07.691] invokeRestart("muffleWarning") [17:27:07.691] } [17:27:07.691] else if (inherits(cond, "condition")) { [17:27:07.691] if (!is.null(pattern)) { [17:27:07.691] computeRestarts <- base::computeRestarts [17:27:07.691] grepl <- base::grepl [17:27:07.691] restarts <- computeRestarts(cond) [17:27:07.691] for (restart in restarts) { [17:27:07.691] name <- restart$name [17:27:07.691] if (is.null(name)) [17:27:07.691] next [17:27:07.691] if (!grepl(pattern, name)) [17:27:07.691] next [17:27:07.691] invokeRestart(restart) [17:27:07.691] muffled <- TRUE [17:27:07.691] break [17:27:07.691] } [17:27:07.691] } [17:27:07.691] } [17:27:07.691] invisible(muffled) [17:27:07.691] } [17:27:07.691] muffleCondition(cond, pattern = "^muffle") [17:27:07.691] } [17:27:07.691] } [17:27:07.691] } [17:27:07.691] })) [17:27:07.691] }, error = function(ex) { [17:27:07.691] base::structure(base::list(value = NULL, visible = NULL, [17:27:07.691] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:07.691] ...future.rng), started = ...future.startTime, [17:27:07.691] finished = Sys.time(), session_uuid = NA_character_, [17:27:07.691] version = "1.8"), class = "FutureResult") [17:27:07.691] }, finally = { [17:27:07.691] if (!identical(...future.workdir, getwd())) [17:27:07.691] setwd(...future.workdir) [17:27:07.691] { [17:27:07.691] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:07.691] ...future.oldOptions$nwarnings <- NULL [17:27:07.691] } [17:27:07.691] base::options(...future.oldOptions) [17:27:07.691] if (.Platform$OS.type == "windows") { [17:27:07.691] old_names <- names(...future.oldEnvVars) [17:27:07.691] envs <- base::Sys.getenv() [17:27:07.691] names <- names(envs) [17:27:07.691] common <- intersect(names, old_names) [17:27:07.691] added <- setdiff(names, old_names) [17:27:07.691] removed <- setdiff(old_names, names) [17:27:07.691] changed <- common[...future.oldEnvVars[common] != [17:27:07.691] envs[common]] [17:27:07.691] NAMES <- toupper(changed) [17:27:07.691] args <- list() [17:27:07.691] for (kk in seq_along(NAMES)) { [17:27:07.691] name <- changed[[kk]] [17:27:07.691] NAME <- NAMES[[kk]] [17:27:07.691] if (name != NAME && is.element(NAME, old_names)) [17:27:07.691] next [17:27:07.691] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:07.691] } [17:27:07.691] NAMES <- toupper(added) [17:27:07.691] for (kk in seq_along(NAMES)) { [17:27:07.691] name <- added[[kk]] [17:27:07.691] NAME <- NAMES[[kk]] [17:27:07.691] if (name != NAME && is.element(NAME, old_names)) [17:27:07.691] next [17:27:07.691] args[[name]] <- "" [17:27:07.691] } [17:27:07.691] NAMES <- toupper(removed) [17:27:07.691] for (kk in seq_along(NAMES)) { [17:27:07.691] name <- removed[[kk]] [17:27:07.691] NAME <- NAMES[[kk]] [17:27:07.691] if (name != NAME && is.element(NAME, old_names)) [17:27:07.691] next [17:27:07.691] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:07.691] } [17:27:07.691] if (length(args) > 0) [17:27:07.691] base::do.call(base::Sys.setenv, args = args) [17:27:07.691] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:07.691] } [17:27:07.691] else { [17:27:07.691] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:07.691] } [17:27:07.691] { [17:27:07.691] if (base::length(...future.futureOptionsAdded) > [17:27:07.691] 0L) { [17:27:07.691] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:07.691] base::names(opts) <- ...future.futureOptionsAdded [17:27:07.691] base::options(opts) [17:27:07.691] } [17:27:07.691] { [17:27:07.691] { [17:27:07.691] NULL [17:27:07.691] RNGkind("Mersenne-Twister") [17:27:07.691] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:07.691] inherits = FALSE) [17:27:07.691] } [17:27:07.691] options(future.plan = NULL) [17:27:07.691] if (is.na(NA_character_)) [17:27:07.691] Sys.unsetenv("R_FUTURE_PLAN") [17:27:07.691] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:07.691] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:07.691] .init = FALSE) [17:27:07.691] } [17:27:07.691] } [17:27:07.691] } [17:27:07.691] }) [17:27:07.691] if (TRUE) { [17:27:07.691] base::sink(type = "output", split = FALSE) [17:27:07.691] if (TRUE) { [17:27:07.691] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:07.691] } [17:27:07.691] else { [17:27:07.691] ...future.result["stdout"] <- base::list(NULL) [17:27:07.691] } [17:27:07.691] base::close(...future.stdout) [17:27:07.691] ...future.stdout <- NULL [17:27:07.691] } [17:27:07.691] ...future.result$conditions <- ...future.conditions [17:27:07.691] ...future.result$finished <- base::Sys.time() [17:27:07.691] ...future.result [17:27:07.691] } [17:27:07.697] assign_globals() ... [17:27:07.698] List of 3 [17:27:07.698] $ fcn:function (x, y) [17:27:07.698] $ x : int [1:2] 1 2 [17:27:07.698] $ y : num 3 [17:27:07.698] - attr(*, "where")=List of 3 [17:27:07.698] ..$ fcn: [17:27:07.698] ..$ x : [17:27:07.698] ..$ y : [17:27:07.698] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:07.698] - attr(*, "resolved")= logi FALSE [17:27:07.698] - attr(*, "total_size")= int 1985 [17:27:07.698] - attr(*, "already-done")= logi TRUE [17:27:07.706] - reassign environment for 'fcn' [17:27:07.706] - copied 'fcn' to environment [17:27:07.706] - copied 'x' to environment [17:27:07.707] - copied 'y' to environment [17:27:07.707] assign_globals() ... done [17:27:07.708] plan(): Setting new future strategy stack: [17:27:07.708] List of future strategies: [17:27:07.708] 1. sequential: [17:27:07.708] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.708] - tweaked: FALSE [17:27:07.708] - call: NULL [17:27:07.709] plan(): nbrOfWorkers() = 1 [17:27:07.711] plan(): Setting new future strategy stack: [17:27:07.711] List of future strategies: [17:27:07.711] 1. sequential: [17:27:07.711] - args: function (..., envir = parent.frame(), workers = "") [17:27:07.711] - tweaked: FALSE [17:27:07.711] - call: plan(strategy, substitute = FALSE) [17:27:07.713] plan(): nbrOfWorkers() = 1 [17:27:07.713] SequentialFuture started (and completed) [17:27:07.713] - Launch lazy future ... done [17:27:07.714] run() for 'SequentialFuture' ... done [1] 6 Testing with 1 cores ... DONE Testing with 2 cores ... *** Global argument '...' ... - plan('multisession') ... [17:27:07.727] plan(): Setting new future strategy stack: [17:27:07.727] List of future strategies: [17:27:07.727] 1. multisession: [17:27:07.727] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:07.727] - tweaked: FALSE [17:27:07.727] - call: plan(strategy, substitute = FALSE) [17:27:07.728] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [17:27:07.728] multisession: [17:27:07.728] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:07.728] - tweaked: FALSE [17:27:07.728] - call: plan(strategy, substitute = FALSE) [17:27:07.739] getGlobalsAndPackages() ... [17:27:07.739] Not searching for globals [17:27:07.740] - globals: [0] [17:27:07.740] getGlobalsAndPackages() ... DONE [17:27:07.741] [local output] makeClusterPSOCK() ... [17:27:07.815] [local output] Workers: [n = 2] 'localhost', 'localhost' [17:27:07.824] [local output] Base port: 29617 [17:27:07.824] [local output] Getting setup options for 2 cluster nodes ... [17:27:07.825] [local output] - Node #1 of 2 ... [17:27:07.826] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:07.828] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpAdWVsK/worker.rank=1.parallelly.parent=124796.1e77c49b069b5.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/RtmpAdWVsK/worker.rank=1.parallelly.parent=124796.1e77c49b069b5.pid\")"' [17:27:08.267] - Possible to infer worker's PID: TRUE [17:27:08.268] [local output] Rscript port: 29617 [17:27:08.269] [local output] - Node #2 of 2 ... [17:27:08.270] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:08.272] [local output] Rscript port: 29617 [17:27:08.273] [local output] Getting setup options for 2 cluster nodes ... done [17:27:08.274] [local output] - Parallel setup requested for some PSOCK nodes [17:27:08.275] [local output] Setting up PSOCK nodes in parallel [17:27:08.275] List of 36 [17:27:08.275] $ worker : chr "localhost" [17:27:08.275] ..- attr(*, "localhost")= logi TRUE [17:27:08.275] $ master : chr "localhost" [17:27:08.275] $ port : int 29617 [17:27:08.275] $ connectTimeout : num 120 [17:27:08.275] $ timeout : num 120 [17:27:08.275] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [17:27:08.275] $ homogeneous : logi TRUE [17:27:08.275] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=dotdotdot.R:124796:CRANWIN3:CRAN"| __truncated__ [17:27:08.275] $ rscript_envs : NULL [17:27:08.275] $ rscript_libs : chr [1:2] "D:/temp/RtmpsXpk4j/RLIBS_1097c668d2fda" "D:/RCompile/recent/R/library" [17:27:08.275] $ rscript_startup : NULL [17:27:08.275] $ rscript_sh : chr [1:2] "cmd" "cmd" [17:27:08.275] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:08.275] $ methods : logi TRUE [17:27:08.275] $ socketOptions : chr "no-delay" [17:27:08.275] $ useXDR : logi FALSE [17:27:08.275] $ outfile : chr "/dev/null" [17:27:08.275] $ renice : int NA [17:27:08.275] $ rshcmd : NULL [17:27:08.275] $ user : chr(0) [17:27:08.275] $ revtunnel : logi FALSE [17:27:08.275] $ rshlogfile : NULL [17:27:08.275] $ rshopts : chr(0) [17:27:08.275] $ rank : int 1 [17:27:08.275] $ manual : logi FALSE [17:27:08.275] $ dryrun : logi FALSE [17:27:08.275] $ quiet : logi FALSE [17:27:08.275] $ setup_strategy : chr "parallel" [17:27:08.275] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:08.275] $ pidfile : chr "D:/temp/RtmpAdWVsK/worker.rank=1.parallelly.parent=124796.1e77c49b069b5.pid" [17:27:08.275] $ rshcmd_label : NULL [17:27:08.275] $ rsh_call : NULL [17:27:08.275] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:08.275] $ localMachine : logi TRUE [17:27:08.275] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [17:27:08.275] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [17:27:08.275] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [17:27:08.275] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [17:27:08.275] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [17:27:08.275] "cmd", "sh", "none"), default_packages = c("datasets", "utils", [17:27:08.275] "grDevices", "graphics", "stats", if (methods) "methods"), methods = TRUE, [17:27:08.275] socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [17:27:08.275] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [17:27:08.275] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [17:27:08.275] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [17:27:08.275] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [17:27:08.275] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [17:27:08.275] "parallel"), action = c("launch", "options"), verbose = FALSE) [17:27:08.275] $ arguments :List of 28 [17:27:08.275] ..$ worker : chr "localhost" [17:27:08.275] ..$ master : NULL [17:27:08.275] ..$ port : int 29617 [17:27:08.275] ..$ connectTimeout : num 120 [17:27:08.275] ..$ timeout : num 120 [17:27:08.275] ..$ rscript : NULL [17:27:08.275] ..$ homogeneous : NULL [17:27:08.275] ..$ rscript_args : NULL [17:27:08.275] ..$ rscript_envs : NULL [17:27:08.275] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpsXpk4j/RLIBS_1097c668d2fda" "D:/RCompile/recent/R/library" [17:27:08.275] ..$ rscript_startup : NULL [17:27:08.275] ..$ rscript_sh : chr "auto" [17:27:08.275] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:08.275] ..$ methods : logi TRUE [17:27:08.275] ..$ socketOptions : chr "no-delay" [17:27:08.275] ..$ useXDR : logi FALSE [17:27:08.275] ..$ outfile : chr "/dev/null" [17:27:08.275] ..$ renice : int NA [17:27:08.275] ..$ rshcmd : NULL [17:27:08.275] ..$ user : NULL [17:27:08.275] ..$ revtunnel : logi NA [17:27:08.275] ..$ rshlogfile : NULL [17:27:08.275] ..$ rshopts : NULL [17:27:08.275] ..$ rank : int 1 [17:27:08.275] ..$ manual : logi FALSE [17:27:08.275] ..$ dryrun : logi FALSE [17:27:08.275] ..$ quiet : logi FALSE [17:27:08.275] ..$ setup_strategy : chr "parallel" [17:27:08.275] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [17:27:08.319] [local output] System call to launch all workers: [17:27:08.319] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=dotdotdot.R:124796:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpAdWVsK/worker.rank=1.parallelly.parent=124796.1e77c49b069b5.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/RtmpsXpk4j/RLIBS_1097c668d2fda\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=29617 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [17:27:08.320] [local output] Starting PSOCK main server [17:27:08.329] [local output] Workers launched [17:27:08.329] [local output] Waiting for workers to connect back [17:27:08.329] - [local output] 0 workers out of 2 ready [17:27:08.575] - [local output] 0 workers out of 2 ready [17:27:08.576] - [local output] 1 workers out of 2 ready [17:27:08.576] - [local output] 2 workers out of 2 ready [17:27:08.576] [local output] Launching of 2 workers completed [17:27:08.577] [local output] Number of nodes in cluster: 2 [17:27:08.577] [local output] Collecting session information from 2 workers [17:27:08.578] [local output] - Worker #1 of 2 [17:27:08.579] [local output] - Worker #2 of 2 [17:27:08.579] [local output] makeClusterPSOCK() ... done [17:27:08.594] Packages needed by the future expression (n = 0): [17:27:08.595] Packages needed by future strategies (n = 0): [17:27:08.595] { [17:27:08.595] { [17:27:08.595] { [17:27:08.595] ...future.startTime <- base::Sys.time() [17:27:08.595] { [17:27:08.595] { [17:27:08.595] { [17:27:08.595] { [17:27:08.595] base::local({ [17:27:08.595] has_future <- base::requireNamespace("future", [17:27:08.595] quietly = TRUE) [17:27:08.595] if (has_future) { [17:27:08.595] ns <- base::getNamespace("future") [17:27:08.595] version <- ns[[".package"]][["version"]] [17:27:08.595] if (is.null(version)) [17:27:08.595] version <- utils::packageVersion("future") [17:27:08.595] } [17:27:08.595] else { [17:27:08.595] version <- NULL [17:27:08.595] } [17:27:08.595] if (!has_future || version < "1.8.0") { [17:27:08.595] info <- base::c(r_version = base::gsub("R version ", [17:27:08.595] "", base::R.version$version.string), [17:27:08.595] platform = base::sprintf("%s (%s-bit)", [17:27:08.595] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:08.595] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:08.595] "release", "version")], collapse = " "), [17:27:08.595] hostname = base::Sys.info()[["nodename"]]) [17:27:08.595] info <- base::sprintf("%s: %s", base::names(info), [17:27:08.595] info) [17:27:08.595] info <- base::paste(info, collapse = "; ") [17:27:08.595] if (!has_future) { [17:27:08.595] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:08.595] info) [17:27:08.595] } [17:27:08.595] else { [17:27:08.595] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:08.595] info, version) [17:27:08.595] } [17:27:08.595] base::stop(msg) [17:27:08.595] } [17:27:08.595] }) [17:27:08.595] } [17:27:08.595] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:08.595] base::options(mc.cores = 1L) [17:27:08.595] } [17:27:08.595] ...future.strategy.old <- future::plan("list") [17:27:08.595] options(future.plan = NULL) [17:27:08.595] Sys.unsetenv("R_FUTURE_PLAN") [17:27:08.595] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:08.595] } [17:27:08.595] ...future.workdir <- getwd() [17:27:08.595] } [17:27:08.595] ...future.oldOptions <- base::as.list(base::.Options) [17:27:08.595] ...future.oldEnvVars <- base::Sys.getenv() [17:27:08.595] } [17:27:08.595] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:08.595] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:08.595] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:08.595] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:08.595] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:08.595] future.stdout.windows.reencode = NULL, width = 80L) [17:27:08.595] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:08.595] base::names(...future.oldOptions)) [17:27:08.595] } [17:27:08.595] if (FALSE) { [17:27:08.595] } [17:27:08.595] else { [17:27:08.595] if (TRUE) { [17:27:08.595] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:08.595] open = "w") [17:27:08.595] } [17:27:08.595] else { [17:27:08.595] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:08.595] windows = "NUL", "/dev/null"), open = "w") [17:27:08.595] } [17:27:08.595] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:08.595] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:08.595] base::sink(type = "output", split = FALSE) [17:27:08.595] base::close(...future.stdout) [17:27:08.595] }, add = TRUE) [17:27:08.595] } [17:27:08.595] ...future.frame <- base::sys.nframe() [17:27:08.595] ...future.conditions <- base::list() [17:27:08.595] ...future.rng <- base::globalenv()$.Random.seed [17:27:08.595] if (FALSE) { [17:27:08.595] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:08.595] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:08.595] } [17:27:08.595] ...future.result <- base::tryCatch({ [17:27:08.595] base::withCallingHandlers({ [17:27:08.595] ...future.value <- base::withVisible(base::local({ [17:27:08.595] ...future.makeSendCondition <- base::local({ [17:27:08.595] sendCondition <- NULL [17:27:08.595] function(frame = 1L) { [17:27:08.595] if (is.function(sendCondition)) [17:27:08.595] return(sendCondition) [17:27:08.595] ns <- getNamespace("parallel") [17:27:08.595] if (exists("sendData", mode = "function", [17:27:08.595] envir = ns)) { [17:27:08.595] parallel_sendData <- get("sendData", mode = "function", [17:27:08.595] envir = ns) [17:27:08.595] envir <- sys.frame(frame) [17:27:08.595] master <- NULL [17:27:08.595] while (!identical(envir, .GlobalEnv) && [17:27:08.595] !identical(envir, emptyenv())) { [17:27:08.595] if (exists("master", mode = "list", envir = envir, [17:27:08.595] inherits = FALSE)) { [17:27:08.595] master <- get("master", mode = "list", [17:27:08.595] envir = envir, inherits = FALSE) [17:27:08.595] if (inherits(master, c("SOCKnode", [17:27:08.595] "SOCK0node"))) { [17:27:08.595] sendCondition <<- function(cond) { [17:27:08.595] data <- list(type = "VALUE", value = cond, [17:27:08.595] success = TRUE) [17:27:08.595] parallel_sendData(master, data) [17:27:08.595] } [17:27:08.595] return(sendCondition) [17:27:08.595] } [17:27:08.595] } [17:27:08.595] frame <- frame + 1L [17:27:08.595] envir <- sys.frame(frame) [17:27:08.595] } [17:27:08.595] } [17:27:08.595] sendCondition <<- function(cond) NULL [17:27:08.595] } [17:27:08.595] }) [17:27:08.595] withCallingHandlers({ [17:27:08.595] NA [17:27:08.595] }, immediateCondition = function(cond) { [17:27:08.595] sendCondition <- ...future.makeSendCondition() [17:27:08.595] sendCondition(cond) [17:27:08.595] muffleCondition <- function (cond, pattern = "^muffle") [17:27:08.595] { [17:27:08.595] inherits <- base::inherits [17:27:08.595] invokeRestart <- base::invokeRestart [17:27:08.595] is.null <- base::is.null [17:27:08.595] muffled <- FALSE [17:27:08.595] if (inherits(cond, "message")) { [17:27:08.595] muffled <- grepl(pattern, "muffleMessage") [17:27:08.595] if (muffled) [17:27:08.595] invokeRestart("muffleMessage") [17:27:08.595] } [17:27:08.595] else if (inherits(cond, "warning")) { [17:27:08.595] muffled <- grepl(pattern, "muffleWarning") [17:27:08.595] if (muffled) [17:27:08.595] invokeRestart("muffleWarning") [17:27:08.595] } [17:27:08.595] else if (inherits(cond, "condition")) { [17:27:08.595] if (!is.null(pattern)) { [17:27:08.595] computeRestarts <- base::computeRestarts [17:27:08.595] grepl <- base::grepl [17:27:08.595] restarts <- computeRestarts(cond) [17:27:08.595] for (restart in restarts) { [17:27:08.595] name <- restart$name [17:27:08.595] if (is.null(name)) [17:27:08.595] next [17:27:08.595] if (!grepl(pattern, name)) [17:27:08.595] next [17:27:08.595] invokeRestart(restart) [17:27:08.595] muffled <- TRUE [17:27:08.595] break [17:27:08.595] } [17:27:08.595] } [17:27:08.595] } [17:27:08.595] invisible(muffled) [17:27:08.595] } [17:27:08.595] muffleCondition(cond) [17:27:08.595] }) [17:27:08.595] })) [17:27:08.595] future::FutureResult(value = ...future.value$value, [17:27:08.595] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:08.595] ...future.rng), globalenv = if (FALSE) [17:27:08.595] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:08.595] ...future.globalenv.names)) [17:27:08.595] else NULL, started = ...future.startTime, version = "1.8") [17:27:08.595] }, condition = base::local({ [17:27:08.595] c <- base::c [17:27:08.595] inherits <- base::inherits [17:27:08.595] invokeRestart <- base::invokeRestart [17:27:08.595] length <- base::length [17:27:08.595] list <- base::list [17:27:08.595] seq.int <- base::seq.int [17:27:08.595] signalCondition <- base::signalCondition [17:27:08.595] sys.calls <- base::sys.calls [17:27:08.595] `[[` <- base::`[[` [17:27:08.595] `+` <- base::`+` [17:27:08.595] `<<-` <- base::`<<-` [17:27:08.595] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:08.595] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:08.595] 3L)] [17:27:08.595] } [17:27:08.595] function(cond) { [17:27:08.595] is_error <- inherits(cond, "error") [17:27:08.595] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:08.595] NULL) [17:27:08.595] if (is_error) { [17:27:08.595] sessionInformation <- function() { [17:27:08.595] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:08.595] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:08.595] search = base::search(), system = base::Sys.info()) [17:27:08.595] } [17:27:08.595] ...future.conditions[[length(...future.conditions) + [17:27:08.595] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:08.595] cond$call), session = sessionInformation(), [17:27:08.595] timestamp = base::Sys.time(), signaled = 0L) [17:27:08.595] signalCondition(cond) [17:27:08.595] } [17:27:08.595] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:08.595] "immediateCondition"))) { [17:27:08.595] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:08.595] ...future.conditions[[length(...future.conditions) + [17:27:08.595] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:08.595] if (TRUE && !signal) { [17:27:08.595] muffleCondition <- function (cond, pattern = "^muffle") [17:27:08.595] { [17:27:08.595] inherits <- base::inherits [17:27:08.595] invokeRestart <- base::invokeRestart [17:27:08.595] is.null <- base::is.null [17:27:08.595] muffled <- FALSE [17:27:08.595] if (inherits(cond, "message")) { [17:27:08.595] muffled <- grepl(pattern, "muffleMessage") [17:27:08.595] if (muffled) [17:27:08.595] invokeRestart("muffleMessage") [17:27:08.595] } [17:27:08.595] else if (inherits(cond, "warning")) { [17:27:08.595] muffled <- grepl(pattern, "muffleWarning") [17:27:08.595] if (muffled) [17:27:08.595] invokeRestart("muffleWarning") [17:27:08.595] } [17:27:08.595] else if (inherits(cond, "condition")) { [17:27:08.595] if (!is.null(pattern)) { [17:27:08.595] computeRestarts <- base::computeRestarts [17:27:08.595] grepl <- base::grepl [17:27:08.595] restarts <- computeRestarts(cond) [17:27:08.595] for (restart in restarts) { [17:27:08.595] name <- restart$name [17:27:08.595] if (is.null(name)) [17:27:08.595] next [17:27:08.595] if (!grepl(pattern, name)) [17:27:08.595] next [17:27:08.595] invokeRestart(restart) [17:27:08.595] muffled <- TRUE [17:27:08.595] break [17:27:08.595] } [17:27:08.595] } [17:27:08.595] } [17:27:08.595] invisible(muffled) [17:27:08.595] } [17:27:08.595] muffleCondition(cond, pattern = "^muffle") [17:27:08.595] } [17:27:08.595] } [17:27:08.595] else { [17:27:08.595] if (TRUE) { [17:27:08.595] muffleCondition <- function (cond, pattern = "^muffle") [17:27:08.595] { [17:27:08.595] inherits <- base::inherits [17:27:08.595] invokeRestart <- base::invokeRestart [17:27:08.595] is.null <- base::is.null [17:27:08.595] muffled <- FALSE [17:27:08.595] if (inherits(cond, "message")) { [17:27:08.595] muffled <- grepl(pattern, "muffleMessage") [17:27:08.595] if (muffled) [17:27:08.595] invokeRestart("muffleMessage") [17:27:08.595] } [17:27:08.595] else if (inherits(cond, "warning")) { [17:27:08.595] muffled <- grepl(pattern, "muffleWarning") [17:27:08.595] if (muffled) [17:27:08.595] invokeRestart("muffleWarning") [17:27:08.595] } [17:27:08.595] else if (inherits(cond, "condition")) { [17:27:08.595] if (!is.null(pattern)) { [17:27:08.595] computeRestarts <- base::computeRestarts [17:27:08.595] grepl <- base::grepl [17:27:08.595] restarts <- computeRestarts(cond) [17:27:08.595] for (restart in restarts) { [17:27:08.595] name <- restart$name [17:27:08.595] if (is.null(name)) [17:27:08.595] next [17:27:08.595] if (!grepl(pattern, name)) [17:27:08.595] next [17:27:08.595] invokeRestart(restart) [17:27:08.595] muffled <- TRUE [17:27:08.595] break [17:27:08.595] } [17:27:08.595] } [17:27:08.595] } [17:27:08.595] invisible(muffled) [17:27:08.595] } [17:27:08.595] muffleCondition(cond, pattern = "^muffle") [17:27:08.595] } [17:27:08.595] } [17:27:08.595] } [17:27:08.595] })) [17:27:08.595] }, error = function(ex) { [17:27:08.595] base::structure(base::list(value = NULL, visible = NULL, [17:27:08.595] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:08.595] ...future.rng), started = ...future.startTime, [17:27:08.595] finished = Sys.time(), session_uuid = NA_character_, [17:27:08.595] version = "1.8"), class = "FutureResult") [17:27:08.595] }, finally = { [17:27:08.595] if (!identical(...future.workdir, getwd())) [17:27:08.595] setwd(...future.workdir) [17:27:08.595] { [17:27:08.595] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:08.595] ...future.oldOptions$nwarnings <- NULL [17:27:08.595] } [17:27:08.595] base::options(...future.oldOptions) [17:27:08.595] if (.Platform$OS.type == "windows") { [17:27:08.595] old_names <- names(...future.oldEnvVars) [17:27:08.595] envs <- base::Sys.getenv() [17:27:08.595] names <- names(envs) [17:27:08.595] common <- intersect(names, old_names) [17:27:08.595] added <- setdiff(names, old_names) [17:27:08.595] removed <- setdiff(old_names, names) [17:27:08.595] changed <- common[...future.oldEnvVars[common] != [17:27:08.595] envs[common]] [17:27:08.595] NAMES <- toupper(changed) [17:27:08.595] args <- list() [17:27:08.595] for (kk in seq_along(NAMES)) { [17:27:08.595] name <- changed[[kk]] [17:27:08.595] NAME <- NAMES[[kk]] [17:27:08.595] if (name != NAME && is.element(NAME, old_names)) [17:27:08.595] next [17:27:08.595] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:08.595] } [17:27:08.595] NAMES <- toupper(added) [17:27:08.595] for (kk in seq_along(NAMES)) { [17:27:08.595] name <- added[[kk]] [17:27:08.595] NAME <- NAMES[[kk]] [17:27:08.595] if (name != NAME && is.element(NAME, old_names)) [17:27:08.595] next [17:27:08.595] args[[name]] <- "" [17:27:08.595] } [17:27:08.595] NAMES <- toupper(removed) [17:27:08.595] for (kk in seq_along(NAMES)) { [17:27:08.595] name <- removed[[kk]] [17:27:08.595] NAME <- NAMES[[kk]] [17:27:08.595] if (name != NAME && is.element(NAME, old_names)) [17:27:08.595] next [17:27:08.595] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:08.595] } [17:27:08.595] if (length(args) > 0) [17:27:08.595] base::do.call(base::Sys.setenv, args = args) [17:27:08.595] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:08.595] } [17:27:08.595] else { [17:27:08.595] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:08.595] } [17:27:08.595] { [17:27:08.595] if (base::length(...future.futureOptionsAdded) > [17:27:08.595] 0L) { [17:27:08.595] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:08.595] base::names(opts) <- ...future.futureOptionsAdded [17:27:08.595] base::options(opts) [17:27:08.595] } [17:27:08.595] { [17:27:08.595] { [17:27:08.595] base::options(mc.cores = ...future.mc.cores.old) [17:27:08.595] NULL [17:27:08.595] } [17:27:08.595] options(future.plan = NULL) [17:27:08.595] if (is.na(NA_character_)) [17:27:08.595] Sys.unsetenv("R_FUTURE_PLAN") [17:27:08.595] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:08.595] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:08.595] .init = FALSE) [17:27:08.595] } [17:27:08.595] } [17:27:08.595] } [17:27:08.595] }) [17:27:08.595] if (TRUE) { [17:27:08.595] base::sink(type = "output", split = FALSE) [17:27:08.595] if (TRUE) { [17:27:08.595] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:08.595] } [17:27:08.595] else { [17:27:08.595] ...future.result["stdout"] <- base::list(NULL) [17:27:08.595] } [17:27:08.595] base::close(...future.stdout) [17:27:08.595] ...future.stdout <- NULL [17:27:08.595] } [17:27:08.595] ...future.result$conditions <- ...future.conditions [17:27:08.595] ...future.result$finished <- base::Sys.time() [17:27:08.595] ...future.result [17:27:08.595] } [17:27:08.722] MultisessionFuture started [17:27:08.722] result() for ClusterFuture ... [17:27:08.723] receiveMessageFromWorker() for ClusterFuture ... [17:27:08.724] - Validating connection of MultisessionFuture [17:27:08.818] - received message: FutureResult [17:27:08.819] - Received FutureResult [17:27:08.822] - Erased future from FutureRegistry [17:27:08.822] result() for ClusterFuture ... [17:27:08.823] - result already collected: FutureResult [17:27:08.823] result() for ClusterFuture ... done [17:27:08.823] receiveMessageFromWorker() for ClusterFuture ... done [17:27:08.823] result() for ClusterFuture ... done [17:27:08.823] result() for ClusterFuture ... [17:27:08.824] - result already collected: FutureResult [17:27:08.824] result() for ClusterFuture ... done [17:27:08.824] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [17:27:08.827] plan(): nbrOfWorkers() = 2 ** Sum function 'A' with plan('multisession') ... function (x, ...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } Arguments '...' exists: TRUE [17:27:08.828] getGlobalsAndPackages() ... [17:27:08.828] Searching for globals... [17:27:08.832] - globals found: [4] '{', 'sum', 'x', '...' [17:27:08.832] Searching for globals ... DONE [17:27:08.832] Resolving globals: FALSE [17:27:08.833] Tweak future expression to call with '...' arguments ... [17:27:08.833] { [17:27:08.833] do.call(function(...) { [17:27:08.833] sum(x, ...) [17:27:08.833] }, args = future.call.arguments) [17:27:08.833] } [17:27:08.834] Tweak future expression to call with '...' arguments ... DONE [17:27:08.835] The total size of the 2 globals is 246 bytes (246 bytes) [17:27:08.836] The total size of the 2 globals exported for future expression ('{; sum(x, ...); }') is 246 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (133 bytes of class 'numeric') and 'future.call.arguments' (113 bytes of class 'list') [17:27:08.836] - globals: [2] 'x', 'future.call.arguments' [17:27:08.837] [17:27:08.837] getGlobalsAndPackages() ... DONE [17:27:08.838] run() for 'Future' ... [17:27:08.838] - state: 'created' [17:27:08.838] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:08.859] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:08.860] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:08.860] - Field: 'node' [17:27:08.860] - Field: 'label' [17:27:08.861] - Field: 'local' [17:27:08.861] - Field: 'owner' [17:27:08.861] - Field: 'envir' [17:27:08.862] - Field: 'workers' [17:27:08.862] - Field: 'packages' [17:27:08.862] - Field: 'gc' [17:27:08.863] - Field: 'conditions' [17:27:08.863] - Field: 'persistent' [17:27:08.863] - Field: 'expr' [17:27:08.864] - Field: 'uuid' [17:27:08.864] - Field: 'seed' [17:27:08.864] - Field: 'version' [17:27:08.865] - Field: 'result' [17:27:08.865] - Field: 'asynchronous' [17:27:08.865] - Field: 'calls' [17:27:08.866] - Field: 'globals' [17:27:08.866] - Field: 'stdout' [17:27:08.866] - Field: 'earlySignal' [17:27:08.867] - Field: 'lazy' [17:27:08.867] - Field: 'state' [17:27:08.867] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:08.868] - Launch lazy future ... [17:27:08.868] Packages needed by the future expression (n = 0): [17:27:08.869] Packages needed by future strategies (n = 0): [17:27:08.870] { [17:27:08.870] { [17:27:08.870] { [17:27:08.870] ...future.startTime <- base::Sys.time() [17:27:08.870] { [17:27:08.870] { [17:27:08.870] { [17:27:08.870] { [17:27:08.870] base::local({ [17:27:08.870] has_future <- base::requireNamespace("future", [17:27:08.870] quietly = TRUE) [17:27:08.870] if (has_future) { [17:27:08.870] ns <- base::getNamespace("future") [17:27:08.870] version <- ns[[".package"]][["version"]] [17:27:08.870] if (is.null(version)) [17:27:08.870] version <- utils::packageVersion("future") [17:27:08.870] } [17:27:08.870] else { [17:27:08.870] version <- NULL [17:27:08.870] } [17:27:08.870] if (!has_future || version < "1.8.0") { [17:27:08.870] info <- base::c(r_version = base::gsub("R version ", [17:27:08.870] "", base::R.version$version.string), [17:27:08.870] platform = base::sprintf("%s (%s-bit)", [17:27:08.870] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:08.870] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:08.870] "release", "version")], collapse = " "), [17:27:08.870] hostname = base::Sys.info()[["nodename"]]) [17:27:08.870] info <- base::sprintf("%s: %s", base::names(info), [17:27:08.870] info) [17:27:08.870] info <- base::paste(info, collapse = "; ") [17:27:08.870] if (!has_future) { [17:27:08.870] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:08.870] info) [17:27:08.870] } [17:27:08.870] else { [17:27:08.870] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:08.870] info, version) [17:27:08.870] } [17:27:08.870] base::stop(msg) [17:27:08.870] } [17:27:08.870] }) [17:27:08.870] } [17:27:08.870] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:08.870] base::options(mc.cores = 1L) [17:27:08.870] } [17:27:08.870] ...future.strategy.old <- future::plan("list") [17:27:08.870] options(future.plan = NULL) [17:27:08.870] Sys.unsetenv("R_FUTURE_PLAN") [17:27:08.870] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:08.870] } [17:27:08.870] ...future.workdir <- getwd() [17:27:08.870] } [17:27:08.870] ...future.oldOptions <- base::as.list(base::.Options) [17:27:08.870] ...future.oldEnvVars <- base::Sys.getenv() [17:27:08.870] } [17:27:08.870] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:08.870] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:08.870] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:08.870] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:08.870] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:08.870] future.stdout.windows.reencode = NULL, width = 80L) [17:27:08.870] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:08.870] base::names(...future.oldOptions)) [17:27:08.870] } [17:27:08.870] if (FALSE) { [17:27:08.870] } [17:27:08.870] else { [17:27:08.870] if (TRUE) { [17:27:08.870] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:08.870] open = "w") [17:27:08.870] } [17:27:08.870] else { [17:27:08.870] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:08.870] windows = "NUL", "/dev/null"), open = "w") [17:27:08.870] } [17:27:08.870] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:08.870] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:08.870] base::sink(type = "output", split = FALSE) [17:27:08.870] base::close(...future.stdout) [17:27:08.870] }, add = TRUE) [17:27:08.870] } [17:27:08.870] ...future.frame <- base::sys.nframe() [17:27:08.870] ...future.conditions <- base::list() [17:27:08.870] ...future.rng <- base::globalenv()$.Random.seed [17:27:08.870] if (FALSE) { [17:27:08.870] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:08.870] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:08.870] } [17:27:08.870] ...future.result <- base::tryCatch({ [17:27:08.870] base::withCallingHandlers({ [17:27:08.870] ...future.value <- base::withVisible(base::local({ [17:27:08.870] ...future.makeSendCondition <- base::local({ [17:27:08.870] sendCondition <- NULL [17:27:08.870] function(frame = 1L) { [17:27:08.870] if (is.function(sendCondition)) [17:27:08.870] return(sendCondition) [17:27:08.870] ns <- getNamespace("parallel") [17:27:08.870] if (exists("sendData", mode = "function", [17:27:08.870] envir = ns)) { [17:27:08.870] parallel_sendData <- get("sendData", mode = "function", [17:27:08.870] envir = ns) [17:27:08.870] envir <- sys.frame(frame) [17:27:08.870] master <- NULL [17:27:08.870] while (!identical(envir, .GlobalEnv) && [17:27:08.870] !identical(envir, emptyenv())) { [17:27:08.870] if (exists("master", mode = "list", envir = envir, [17:27:08.870] inherits = FALSE)) { [17:27:08.870] master <- get("master", mode = "list", [17:27:08.870] envir = envir, inherits = FALSE) [17:27:08.870] if (inherits(master, c("SOCKnode", [17:27:08.870] "SOCK0node"))) { [17:27:08.870] sendCondition <<- function(cond) { [17:27:08.870] data <- list(type = "VALUE", value = cond, [17:27:08.870] success = TRUE) [17:27:08.870] parallel_sendData(master, data) [17:27:08.870] } [17:27:08.870] return(sendCondition) [17:27:08.870] } [17:27:08.870] } [17:27:08.870] frame <- frame + 1L [17:27:08.870] envir <- sys.frame(frame) [17:27:08.870] } [17:27:08.870] } [17:27:08.870] sendCondition <<- function(cond) NULL [17:27:08.870] } [17:27:08.870] }) [17:27:08.870] withCallingHandlers({ [17:27:08.870] { [17:27:08.870] do.call(function(...) { [17:27:08.870] sum(x, ...) [17:27:08.870] }, args = future.call.arguments) [17:27:08.870] } [17:27:08.870] }, immediateCondition = function(cond) { [17:27:08.870] sendCondition <- ...future.makeSendCondition() [17:27:08.870] sendCondition(cond) [17:27:08.870] muffleCondition <- function (cond, pattern = "^muffle") [17:27:08.870] { [17:27:08.870] inherits <- base::inherits [17:27:08.870] invokeRestart <- base::invokeRestart [17:27:08.870] is.null <- base::is.null [17:27:08.870] muffled <- FALSE [17:27:08.870] if (inherits(cond, "message")) { [17:27:08.870] muffled <- grepl(pattern, "muffleMessage") [17:27:08.870] if (muffled) [17:27:08.870] invokeRestart("muffleMessage") [17:27:08.870] } [17:27:08.870] else if (inherits(cond, "warning")) { [17:27:08.870] muffled <- grepl(pattern, "muffleWarning") [17:27:08.870] if (muffled) [17:27:08.870] invokeRestart("muffleWarning") [17:27:08.870] } [17:27:08.870] else if (inherits(cond, "condition")) { [17:27:08.870] if (!is.null(pattern)) { [17:27:08.870] computeRestarts <- base::computeRestarts [17:27:08.870] grepl <- base::grepl [17:27:08.870] restarts <- computeRestarts(cond) [17:27:08.870] for (restart in restarts) { [17:27:08.870] name <- restart$name [17:27:08.870] if (is.null(name)) [17:27:08.870] next [17:27:08.870] if (!grepl(pattern, name)) [17:27:08.870] next [17:27:08.870] invokeRestart(restart) [17:27:08.870] muffled <- TRUE [17:27:08.870] break [17:27:08.870] } [17:27:08.870] } [17:27:08.870] } [17:27:08.870] invisible(muffled) [17:27:08.870] } [17:27:08.870] muffleCondition(cond) [17:27:08.870] }) [17:27:08.870] })) [17:27:08.870] future::FutureResult(value = ...future.value$value, [17:27:08.870] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:08.870] ...future.rng), globalenv = if (FALSE) [17:27:08.870] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:08.870] ...future.globalenv.names)) [17:27:08.870] else NULL, started = ...future.startTime, version = "1.8") [17:27:08.870] }, condition = base::local({ [17:27:08.870] c <- base::c [17:27:08.870] inherits <- base::inherits [17:27:08.870] invokeRestart <- base::invokeRestart [17:27:08.870] length <- base::length [17:27:08.870] list <- base::list [17:27:08.870] seq.int <- base::seq.int [17:27:08.870] signalCondition <- base::signalCondition [17:27:08.870] sys.calls <- base::sys.calls [17:27:08.870] `[[` <- base::`[[` [17:27:08.870] `+` <- base::`+` [17:27:08.870] `<<-` <- base::`<<-` [17:27:08.870] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:08.870] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:08.870] 3L)] [17:27:08.870] } [17:27:08.870] function(cond) { [17:27:08.870] is_error <- inherits(cond, "error") [17:27:08.870] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:08.870] NULL) [17:27:08.870] if (is_error) { [17:27:08.870] sessionInformation <- function() { [17:27:08.870] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:08.870] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:08.870] search = base::search(), system = base::Sys.info()) [17:27:08.870] } [17:27:08.870] ...future.conditions[[length(...future.conditions) + [17:27:08.870] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:08.870] cond$call), session = sessionInformation(), [17:27:08.870] timestamp = base::Sys.time(), signaled = 0L) [17:27:08.870] signalCondition(cond) [17:27:08.870] } [17:27:08.870] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:08.870] "immediateCondition"))) { [17:27:08.870] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:08.870] ...future.conditions[[length(...future.conditions) + [17:27:08.870] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:08.870] if (TRUE && !signal) { [17:27:08.870] muffleCondition <- function (cond, pattern = "^muffle") [17:27:08.870] { [17:27:08.870] inherits <- base::inherits [17:27:08.870] invokeRestart <- base::invokeRestart [17:27:08.870] is.null <- base::is.null [17:27:08.870] muffled <- FALSE [17:27:08.870] if (inherits(cond, "message")) { [17:27:08.870] muffled <- grepl(pattern, "muffleMessage") [17:27:08.870] if (muffled) [17:27:08.870] invokeRestart("muffleMessage") [17:27:08.870] } [17:27:08.870] else if (inherits(cond, "warning")) { [17:27:08.870] muffled <- grepl(pattern, "muffleWarning") [17:27:08.870] if (muffled) [17:27:08.870] invokeRestart("muffleWarning") [17:27:08.870] } [17:27:08.870] else if (inherits(cond, "condition")) { [17:27:08.870] if (!is.null(pattern)) { [17:27:08.870] computeRestarts <- base::computeRestarts [17:27:08.870] grepl <- base::grepl [17:27:08.870] restarts <- computeRestarts(cond) [17:27:08.870] for (restart in restarts) { [17:27:08.870] name <- restart$name [17:27:08.870] if (is.null(name)) [17:27:08.870] next [17:27:08.870] if (!grepl(pattern, name)) [17:27:08.870] next [17:27:08.870] invokeRestart(restart) [17:27:08.870] muffled <- TRUE [17:27:08.870] break [17:27:08.870] } [17:27:08.870] } [17:27:08.870] } [17:27:08.870] invisible(muffled) [17:27:08.870] } [17:27:08.870] muffleCondition(cond, pattern = "^muffle") [17:27:08.870] } [17:27:08.870] } [17:27:08.870] else { [17:27:08.870] if (TRUE) { [17:27:08.870] muffleCondition <- function (cond, pattern = "^muffle") [17:27:08.870] { [17:27:08.870] inherits <- base::inherits [17:27:08.870] invokeRestart <- base::invokeRestart [17:27:08.870] is.null <- base::is.null [17:27:08.870] muffled <- FALSE [17:27:08.870] if (inherits(cond, "message")) { [17:27:08.870] muffled <- grepl(pattern, "muffleMessage") [17:27:08.870] if (muffled) [17:27:08.870] invokeRestart("muffleMessage") [17:27:08.870] } [17:27:08.870] else if (inherits(cond, "warning")) { [17:27:08.870] muffled <- grepl(pattern, "muffleWarning") [17:27:08.870] if (muffled) [17:27:08.870] invokeRestart("muffleWarning") [17:27:08.870] } [17:27:08.870] else if (inherits(cond, "condition")) { [17:27:08.870] if (!is.null(pattern)) { [17:27:08.870] computeRestarts <- base::computeRestarts [17:27:08.870] grepl <- base::grepl [17:27:08.870] restarts <- computeRestarts(cond) [17:27:08.870] for (restart in restarts) { [17:27:08.870] name <- restart$name [17:27:08.870] if (is.null(name)) [17:27:08.870] next [17:27:08.870] if (!grepl(pattern, name)) [17:27:08.870] next [17:27:08.870] invokeRestart(restart) [17:27:08.870] muffled <- TRUE [17:27:08.870] break [17:27:08.870] } [17:27:08.870] } [17:27:08.870] } [17:27:08.870] invisible(muffled) [17:27:08.870] } [17:27:08.870] muffleCondition(cond, pattern = "^muffle") [17:27:08.870] } [17:27:08.870] } [17:27:08.870] } [17:27:08.870] })) [17:27:08.870] }, error = function(ex) { [17:27:08.870] base::structure(base::list(value = NULL, visible = NULL, [17:27:08.870] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:08.870] ...future.rng), started = ...future.startTime, [17:27:08.870] finished = Sys.time(), session_uuid = NA_character_, [17:27:08.870] version = "1.8"), class = "FutureResult") [17:27:08.870] }, finally = { [17:27:08.870] if (!identical(...future.workdir, getwd())) [17:27:08.870] setwd(...future.workdir) [17:27:08.870] { [17:27:08.870] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:08.870] ...future.oldOptions$nwarnings <- NULL [17:27:08.870] } [17:27:08.870] base::options(...future.oldOptions) [17:27:08.870] if (.Platform$OS.type == "windows") { [17:27:08.870] old_names <- names(...future.oldEnvVars) [17:27:08.870] envs <- base::Sys.getenv() [17:27:08.870] names <- names(envs) [17:27:08.870] common <- intersect(names, old_names) [17:27:08.870] added <- setdiff(names, old_names) [17:27:08.870] removed <- setdiff(old_names, names) [17:27:08.870] changed <- common[...future.oldEnvVars[common] != [17:27:08.870] envs[common]] [17:27:08.870] NAMES <- toupper(changed) [17:27:08.870] args <- list() [17:27:08.870] for (kk in seq_along(NAMES)) { [17:27:08.870] name <- changed[[kk]] [17:27:08.870] NAME <- NAMES[[kk]] [17:27:08.870] if (name != NAME && is.element(NAME, old_names)) [17:27:08.870] next [17:27:08.870] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:08.870] } [17:27:08.870] NAMES <- toupper(added) [17:27:08.870] for (kk in seq_along(NAMES)) { [17:27:08.870] name <- added[[kk]] [17:27:08.870] NAME <- NAMES[[kk]] [17:27:08.870] if (name != NAME && is.element(NAME, old_names)) [17:27:08.870] next [17:27:08.870] args[[name]] <- "" [17:27:08.870] } [17:27:08.870] NAMES <- toupper(removed) [17:27:08.870] for (kk in seq_along(NAMES)) { [17:27:08.870] name <- removed[[kk]] [17:27:08.870] NAME <- NAMES[[kk]] [17:27:08.870] if (name != NAME && is.element(NAME, old_names)) [17:27:08.870] next [17:27:08.870] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:08.870] } [17:27:08.870] if (length(args) > 0) [17:27:08.870] base::do.call(base::Sys.setenv, args = args) [17:27:08.870] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:08.870] } [17:27:08.870] else { [17:27:08.870] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:08.870] } [17:27:08.870] { [17:27:08.870] if (base::length(...future.futureOptionsAdded) > [17:27:08.870] 0L) { [17:27:08.870] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:08.870] base::names(opts) <- ...future.futureOptionsAdded [17:27:08.870] base::options(opts) [17:27:08.870] } [17:27:08.870] { [17:27:08.870] { [17:27:08.870] base::options(mc.cores = ...future.mc.cores.old) [17:27:08.870] NULL [17:27:08.870] } [17:27:08.870] options(future.plan = NULL) [17:27:08.870] if (is.na(NA_character_)) [17:27:08.870] Sys.unsetenv("R_FUTURE_PLAN") [17:27:08.870] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:08.870] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:08.870] .init = FALSE) [17:27:08.870] } [17:27:08.870] } [17:27:08.870] } [17:27:08.870] }) [17:27:08.870] if (TRUE) { [17:27:08.870] base::sink(type = "output", split = FALSE) [17:27:08.870] if (TRUE) { [17:27:08.870] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:08.870] } [17:27:08.870] else { [17:27:08.870] ...future.result["stdout"] <- base::list(NULL) [17:27:08.870] } [17:27:08.870] base::close(...future.stdout) [17:27:08.870] ...future.stdout <- NULL [17:27:08.870] } [17:27:08.870] ...future.result$conditions <- ...future.conditions [17:27:08.870] ...future.result$finished <- base::Sys.time() [17:27:08.870] ...future.result [17:27:08.870] } [17:27:08.879] Exporting 2 global objects (575 bytes) to cluster node #1 ... [17:27:08.879] Exporting 'x' (133 bytes) to cluster node #1 ... [17:27:08.880] Exporting 'x' (133 bytes) to cluster node #1 ... DONE [17:27:08.880] Exporting 'future.call.arguments' (113 bytes) to cluster node #1 ... [17:27:08.881] Exporting 'future.call.arguments' (113 bytes) to cluster node #1 ... DONE [17:27:08.881] Exporting 2 global objects (575 bytes) to cluster node #1 ... DONE [17:27:08.882] MultisessionFuture started [17:27:08.882] - Launch lazy future ... done [17:27:08.883] run() for 'MultisessionFuture' ... done [17:27:08.883] result() for ClusterFuture ... [17:27:08.884] receiveMessageFromWorker() for ClusterFuture ... [17:27:08.884] - Validating connection of MultisessionFuture [17:27:08.900] - received message: FutureResult [17:27:08.901] - Received FutureResult [17:27:08.901] - Erased future from FutureRegistry [17:27:08.901] result() for ClusterFuture ... [17:27:08.901] - result already collected: FutureResult [17:27:08.902] result() for ClusterFuture ... done [17:27:08.902] receiveMessageFromWorker() for ClusterFuture ... done [17:27:08.902] result() for ClusterFuture ... done [17:27:08.902] result() for ClusterFuture ... [17:27:08.903] - result already collected: FutureResult [17:27:08.903] result() for ClusterFuture ... done [1] 6 ** Sum function 'B' with plan('multisession') ... function (x, ...) { sumt <- function(x) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } sumt(x) } Arguments '...' exists: TRUE [17:27:08.904] getGlobalsAndPackages() ... [17:27:08.904] Searching for globals... [17:27:08.907] - globals found: [4] '{', 'sum', 'x', '...' [17:27:08.907] Searching for globals ... DONE [17:27:08.908] Resolving globals: FALSE [17:27:08.908] Tweak future expression to call with '...' arguments ... [17:27:08.908] { [17:27:08.908] do.call(function(...) { [17:27:08.908] sum(x, ...) [17:27:08.908] }, args = future.call.arguments) [17:27:08.908] } [17:27:08.909] Tweak future expression to call with '...' arguments ... DONE [17:27:08.910] The total size of the 2 globals is 246 bytes (246 bytes) [17:27:08.911] The total size of the 2 globals exported for future expression ('{; sum(x, ...); }') is 246 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (133 bytes of class 'numeric') and 'future.call.arguments' (113 bytes of class 'list') [17:27:08.911] - globals: [2] 'x', 'future.call.arguments' [17:27:08.912] [17:27:08.912] getGlobalsAndPackages() ... DONE [17:27:08.913] run() for 'Future' ... [17:27:08.913] - state: 'created' [17:27:08.914] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:08.934] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:08.935] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:08.935] - Field: 'node' [17:27:08.935] - Field: 'label' [17:27:08.935] - Field: 'local' [17:27:08.936] - Field: 'owner' [17:27:08.936] - Field: 'envir' [17:27:08.936] - Field: 'workers' [17:27:08.937] - Field: 'packages' [17:27:08.937] - Field: 'gc' [17:27:08.937] - Field: 'conditions' [17:27:08.938] - Field: 'persistent' [17:27:08.938] - Field: 'expr' [17:27:08.939] - Field: 'uuid' [17:27:08.939] - Field: 'seed' [17:27:08.939] - Field: 'version' [17:27:08.940] - Field: 'result' [17:27:08.940] - Field: 'asynchronous' [17:27:08.940] - Field: 'calls' [17:27:08.940] - Field: 'globals' [17:27:08.941] - Field: 'stdout' [17:27:08.941] - Field: 'earlySignal' [17:27:08.941] - Field: 'lazy' [17:27:08.941] - Field: 'state' [17:27:08.941] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:08.942] - Launch lazy future ... [17:27:08.942] Packages needed by the future expression (n = 0): [17:27:08.942] Packages needed by future strategies (n = 0): [17:27:08.943] { [17:27:08.943] { [17:27:08.943] { [17:27:08.943] ...future.startTime <- base::Sys.time() [17:27:08.943] { [17:27:08.943] { [17:27:08.943] { [17:27:08.943] { [17:27:08.943] base::local({ [17:27:08.943] has_future <- base::requireNamespace("future", [17:27:08.943] quietly = TRUE) [17:27:08.943] if (has_future) { [17:27:08.943] ns <- base::getNamespace("future") [17:27:08.943] version <- ns[[".package"]][["version"]] [17:27:08.943] if (is.null(version)) [17:27:08.943] version <- utils::packageVersion("future") [17:27:08.943] } [17:27:08.943] else { [17:27:08.943] version <- NULL [17:27:08.943] } [17:27:08.943] if (!has_future || version < "1.8.0") { [17:27:08.943] info <- base::c(r_version = base::gsub("R version ", [17:27:08.943] "", base::R.version$version.string), [17:27:08.943] platform = base::sprintf("%s (%s-bit)", [17:27:08.943] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:08.943] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:08.943] "release", "version")], collapse = " "), [17:27:08.943] hostname = base::Sys.info()[["nodename"]]) [17:27:08.943] info <- base::sprintf("%s: %s", base::names(info), [17:27:08.943] info) [17:27:08.943] info <- base::paste(info, collapse = "; ") [17:27:08.943] if (!has_future) { [17:27:08.943] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:08.943] info) [17:27:08.943] } [17:27:08.943] else { [17:27:08.943] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:08.943] info, version) [17:27:08.943] } [17:27:08.943] base::stop(msg) [17:27:08.943] } [17:27:08.943] }) [17:27:08.943] } [17:27:08.943] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:08.943] base::options(mc.cores = 1L) [17:27:08.943] } [17:27:08.943] ...future.strategy.old <- future::plan("list") [17:27:08.943] options(future.plan = NULL) [17:27:08.943] Sys.unsetenv("R_FUTURE_PLAN") [17:27:08.943] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:08.943] } [17:27:08.943] ...future.workdir <- getwd() [17:27:08.943] } [17:27:08.943] ...future.oldOptions <- base::as.list(base::.Options) [17:27:08.943] ...future.oldEnvVars <- base::Sys.getenv() [17:27:08.943] } [17:27:08.943] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:08.943] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:08.943] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:08.943] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:08.943] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:08.943] future.stdout.windows.reencode = NULL, width = 80L) [17:27:08.943] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:08.943] base::names(...future.oldOptions)) [17:27:08.943] } [17:27:08.943] if (FALSE) { [17:27:08.943] } [17:27:08.943] else { [17:27:08.943] if (TRUE) { [17:27:08.943] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:08.943] open = "w") [17:27:08.943] } [17:27:08.943] else { [17:27:08.943] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:08.943] windows = "NUL", "/dev/null"), open = "w") [17:27:08.943] } [17:27:08.943] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:08.943] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:08.943] base::sink(type = "output", split = FALSE) [17:27:08.943] base::close(...future.stdout) [17:27:08.943] }, add = TRUE) [17:27:08.943] } [17:27:08.943] ...future.frame <- base::sys.nframe() [17:27:08.943] ...future.conditions <- base::list() [17:27:08.943] ...future.rng <- base::globalenv()$.Random.seed [17:27:08.943] if (FALSE) { [17:27:08.943] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:08.943] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:08.943] } [17:27:08.943] ...future.result <- base::tryCatch({ [17:27:08.943] base::withCallingHandlers({ [17:27:08.943] ...future.value <- base::withVisible(base::local({ [17:27:08.943] ...future.makeSendCondition <- base::local({ [17:27:08.943] sendCondition <- NULL [17:27:08.943] function(frame = 1L) { [17:27:08.943] if (is.function(sendCondition)) [17:27:08.943] return(sendCondition) [17:27:08.943] ns <- getNamespace("parallel") [17:27:08.943] if (exists("sendData", mode = "function", [17:27:08.943] envir = ns)) { [17:27:08.943] parallel_sendData <- get("sendData", mode = "function", [17:27:08.943] envir = ns) [17:27:08.943] envir <- sys.frame(frame) [17:27:08.943] master <- NULL [17:27:08.943] while (!identical(envir, .GlobalEnv) && [17:27:08.943] !identical(envir, emptyenv())) { [17:27:08.943] if (exists("master", mode = "list", envir = envir, [17:27:08.943] inherits = FALSE)) { [17:27:08.943] master <- get("master", mode = "list", [17:27:08.943] envir = envir, inherits = FALSE) [17:27:08.943] if (inherits(master, c("SOCKnode", [17:27:08.943] "SOCK0node"))) { [17:27:08.943] sendCondition <<- function(cond) { [17:27:08.943] data <- list(type = "VALUE", value = cond, [17:27:08.943] success = TRUE) [17:27:08.943] parallel_sendData(master, data) [17:27:08.943] } [17:27:08.943] return(sendCondition) [17:27:08.943] } [17:27:08.943] } [17:27:08.943] frame <- frame + 1L [17:27:08.943] envir <- sys.frame(frame) [17:27:08.943] } [17:27:08.943] } [17:27:08.943] sendCondition <<- function(cond) NULL [17:27:08.943] } [17:27:08.943] }) [17:27:08.943] withCallingHandlers({ [17:27:08.943] { [17:27:08.943] do.call(function(...) { [17:27:08.943] sum(x, ...) [17:27:08.943] }, args = future.call.arguments) [17:27:08.943] } [17:27:08.943] }, immediateCondition = function(cond) { [17:27:08.943] sendCondition <- ...future.makeSendCondition() [17:27:08.943] sendCondition(cond) [17:27:08.943] muffleCondition <- function (cond, pattern = "^muffle") [17:27:08.943] { [17:27:08.943] inherits <- base::inherits [17:27:08.943] invokeRestart <- base::invokeRestart [17:27:08.943] is.null <- base::is.null [17:27:08.943] muffled <- FALSE [17:27:08.943] if (inherits(cond, "message")) { [17:27:08.943] muffled <- grepl(pattern, "muffleMessage") [17:27:08.943] if (muffled) [17:27:08.943] invokeRestart("muffleMessage") [17:27:08.943] } [17:27:08.943] else if (inherits(cond, "warning")) { [17:27:08.943] muffled <- grepl(pattern, "muffleWarning") [17:27:08.943] if (muffled) [17:27:08.943] invokeRestart("muffleWarning") [17:27:08.943] } [17:27:08.943] else if (inherits(cond, "condition")) { [17:27:08.943] if (!is.null(pattern)) { [17:27:08.943] computeRestarts <- base::computeRestarts [17:27:08.943] grepl <- base::grepl [17:27:08.943] restarts <- computeRestarts(cond) [17:27:08.943] for (restart in restarts) { [17:27:08.943] name <- restart$name [17:27:08.943] if (is.null(name)) [17:27:08.943] next [17:27:08.943] if (!grepl(pattern, name)) [17:27:08.943] next [17:27:08.943] invokeRestart(restart) [17:27:08.943] muffled <- TRUE [17:27:08.943] break [17:27:08.943] } [17:27:08.943] } [17:27:08.943] } [17:27:08.943] invisible(muffled) [17:27:08.943] } [17:27:08.943] muffleCondition(cond) [17:27:08.943] }) [17:27:08.943] })) [17:27:08.943] future::FutureResult(value = ...future.value$value, [17:27:08.943] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:08.943] ...future.rng), globalenv = if (FALSE) [17:27:08.943] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:08.943] ...future.globalenv.names)) [17:27:08.943] else NULL, started = ...future.startTime, version = "1.8") [17:27:08.943] }, condition = base::local({ [17:27:08.943] c <- base::c [17:27:08.943] inherits <- base::inherits [17:27:08.943] invokeRestart <- base::invokeRestart [17:27:08.943] length <- base::length [17:27:08.943] list <- base::list [17:27:08.943] seq.int <- base::seq.int [17:27:08.943] signalCondition <- base::signalCondition [17:27:08.943] sys.calls <- base::sys.calls [17:27:08.943] `[[` <- base::`[[` [17:27:08.943] `+` <- base::`+` [17:27:08.943] `<<-` <- base::`<<-` [17:27:08.943] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:08.943] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:08.943] 3L)] [17:27:08.943] } [17:27:08.943] function(cond) { [17:27:08.943] is_error <- inherits(cond, "error") [17:27:08.943] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:08.943] NULL) [17:27:08.943] if (is_error) { [17:27:08.943] sessionInformation <- function() { [17:27:08.943] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:08.943] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:08.943] search = base::search(), system = base::Sys.info()) [17:27:08.943] } [17:27:08.943] ...future.conditions[[length(...future.conditions) + [17:27:08.943] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:08.943] cond$call), session = sessionInformation(), [17:27:08.943] timestamp = base::Sys.time(), signaled = 0L) [17:27:08.943] signalCondition(cond) [17:27:08.943] } [17:27:08.943] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:08.943] "immediateCondition"))) { [17:27:08.943] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:08.943] ...future.conditions[[length(...future.conditions) + [17:27:08.943] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:08.943] if (TRUE && !signal) { [17:27:08.943] muffleCondition <- function (cond, pattern = "^muffle") [17:27:08.943] { [17:27:08.943] inherits <- base::inherits [17:27:08.943] invokeRestart <- base::invokeRestart [17:27:08.943] is.null <- base::is.null [17:27:08.943] muffled <- FALSE [17:27:08.943] if (inherits(cond, "message")) { [17:27:08.943] muffled <- grepl(pattern, "muffleMessage") [17:27:08.943] if (muffled) [17:27:08.943] invokeRestart("muffleMessage") [17:27:08.943] } [17:27:08.943] else if (inherits(cond, "warning")) { [17:27:08.943] muffled <- grepl(pattern, "muffleWarning") [17:27:08.943] if (muffled) [17:27:08.943] invokeRestart("muffleWarning") [17:27:08.943] } [17:27:08.943] else if (inherits(cond, "condition")) { [17:27:08.943] if (!is.null(pattern)) { [17:27:08.943] computeRestarts <- base::computeRestarts [17:27:08.943] grepl <- base::grepl [17:27:08.943] restarts <- computeRestarts(cond) [17:27:08.943] for (restart in restarts) { [17:27:08.943] name <- restart$name [17:27:08.943] if (is.null(name)) [17:27:08.943] next [17:27:08.943] if (!grepl(pattern, name)) [17:27:08.943] next [17:27:08.943] invokeRestart(restart) [17:27:08.943] muffled <- TRUE [17:27:08.943] break [17:27:08.943] } [17:27:08.943] } [17:27:08.943] } [17:27:08.943] invisible(muffled) [17:27:08.943] } [17:27:08.943] muffleCondition(cond, pattern = "^muffle") [17:27:08.943] } [17:27:08.943] } [17:27:08.943] else { [17:27:08.943] if (TRUE) { [17:27:08.943] muffleCondition <- function (cond, pattern = "^muffle") [17:27:08.943] { [17:27:08.943] inherits <- base::inherits [17:27:08.943] invokeRestart <- base::invokeRestart [17:27:08.943] is.null <- base::is.null [17:27:08.943] muffled <- FALSE [17:27:08.943] if (inherits(cond, "message")) { [17:27:08.943] muffled <- grepl(pattern, "muffleMessage") [17:27:08.943] if (muffled) [17:27:08.943] invokeRestart("muffleMessage") [17:27:08.943] } [17:27:08.943] else if (inherits(cond, "warning")) { [17:27:08.943] muffled <- grepl(pattern, "muffleWarning") [17:27:08.943] if (muffled) [17:27:08.943] invokeRestart("muffleWarning") [17:27:08.943] } [17:27:08.943] else if (inherits(cond, "condition")) { [17:27:08.943] if (!is.null(pattern)) { [17:27:08.943] computeRestarts <- base::computeRestarts [17:27:08.943] grepl <- base::grepl [17:27:08.943] restarts <- computeRestarts(cond) [17:27:08.943] for (restart in restarts) { [17:27:08.943] name <- restart$name [17:27:08.943] if (is.null(name)) [17:27:08.943] next [17:27:08.943] if (!grepl(pattern, name)) [17:27:08.943] next [17:27:08.943] invokeRestart(restart) [17:27:08.943] muffled <- TRUE [17:27:08.943] break [17:27:08.943] } [17:27:08.943] } [17:27:08.943] } [17:27:08.943] invisible(muffled) [17:27:08.943] } [17:27:08.943] muffleCondition(cond, pattern = "^muffle") [17:27:08.943] } [17:27:08.943] } [17:27:08.943] } [17:27:08.943] })) [17:27:08.943] }, error = function(ex) { [17:27:08.943] base::structure(base::list(value = NULL, visible = NULL, [17:27:08.943] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:08.943] ...future.rng), started = ...future.startTime, [17:27:08.943] finished = Sys.time(), session_uuid = NA_character_, [17:27:08.943] version = "1.8"), class = "FutureResult") [17:27:08.943] }, finally = { [17:27:08.943] if (!identical(...future.workdir, getwd())) [17:27:08.943] setwd(...future.workdir) [17:27:08.943] { [17:27:08.943] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:08.943] ...future.oldOptions$nwarnings <- NULL [17:27:08.943] } [17:27:08.943] base::options(...future.oldOptions) [17:27:08.943] if (.Platform$OS.type == "windows") { [17:27:08.943] old_names <- names(...future.oldEnvVars) [17:27:08.943] envs <- base::Sys.getenv() [17:27:08.943] names <- names(envs) [17:27:08.943] common <- intersect(names, old_names) [17:27:08.943] added <- setdiff(names, old_names) [17:27:08.943] removed <- setdiff(old_names, names) [17:27:08.943] changed <- common[...future.oldEnvVars[common] != [17:27:08.943] envs[common]] [17:27:08.943] NAMES <- toupper(changed) [17:27:08.943] args <- list() [17:27:08.943] for (kk in seq_along(NAMES)) { [17:27:08.943] name <- changed[[kk]] [17:27:08.943] NAME <- NAMES[[kk]] [17:27:08.943] if (name != NAME && is.element(NAME, old_names)) [17:27:08.943] next [17:27:08.943] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:08.943] } [17:27:08.943] NAMES <- toupper(added) [17:27:08.943] for (kk in seq_along(NAMES)) { [17:27:08.943] name <- added[[kk]] [17:27:08.943] NAME <- NAMES[[kk]] [17:27:08.943] if (name != NAME && is.element(NAME, old_names)) [17:27:08.943] next [17:27:08.943] args[[name]] <- "" [17:27:08.943] } [17:27:08.943] NAMES <- toupper(removed) [17:27:08.943] for (kk in seq_along(NAMES)) { [17:27:08.943] name <- removed[[kk]] [17:27:08.943] NAME <- NAMES[[kk]] [17:27:08.943] if (name != NAME && is.element(NAME, old_names)) [17:27:08.943] next [17:27:08.943] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:08.943] } [17:27:08.943] if (length(args) > 0) [17:27:08.943] base::do.call(base::Sys.setenv, args = args) [17:27:08.943] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:08.943] } [17:27:08.943] else { [17:27:08.943] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:08.943] } [17:27:08.943] { [17:27:08.943] if (base::length(...future.futureOptionsAdded) > [17:27:08.943] 0L) { [17:27:08.943] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:08.943] base::names(opts) <- ...future.futureOptionsAdded [17:27:08.943] base::options(opts) [17:27:08.943] } [17:27:08.943] { [17:27:08.943] { [17:27:08.943] base::options(mc.cores = ...future.mc.cores.old) [17:27:08.943] NULL [17:27:08.943] } [17:27:08.943] options(future.plan = NULL) [17:27:08.943] if (is.na(NA_character_)) [17:27:08.943] Sys.unsetenv("R_FUTURE_PLAN") [17:27:08.943] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:08.943] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:08.943] .init = FALSE) [17:27:08.943] } [17:27:08.943] } [17:27:08.943] } [17:27:08.943] }) [17:27:08.943] if (TRUE) { [17:27:08.943] base::sink(type = "output", split = FALSE) [17:27:08.943] if (TRUE) { [17:27:08.943] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:08.943] } [17:27:08.943] else { [17:27:08.943] ...future.result["stdout"] <- base::list(NULL) [17:27:08.943] } [17:27:08.943] base::close(...future.stdout) [17:27:08.943] ...future.stdout <- NULL [17:27:08.943] } [17:27:08.943] ...future.result$conditions <- ...future.conditions [17:27:08.943] ...future.result$finished <- base::Sys.time() [17:27:08.943] ...future.result [17:27:08.943] } [17:27:08.949] Exporting 2 global objects (575 bytes) to cluster node #1 ... [17:27:08.949] Exporting 'x' (133 bytes) to cluster node #1 ... [17:27:08.950] Exporting 'x' (133 bytes) to cluster node #1 ... DONE [17:27:08.951] Exporting 'future.call.arguments' (113 bytes) to cluster node #1 ... [17:27:08.952] Exporting 'future.call.arguments' (113 bytes) to cluster node #1 ... DONE [17:27:08.952] Exporting 2 global objects (575 bytes) to cluster node #1 ... DONE [17:27:08.953] MultisessionFuture started [17:27:08.954] - Launch lazy future ... done [17:27:08.954] run() for 'MultisessionFuture' ... done [17:27:08.955] result() for ClusterFuture ... [17:27:08.955] receiveMessageFromWorker() for ClusterFuture ... [17:27:08.955] - Validating connection of MultisessionFuture [17:27:08.985] - received message: FutureResult [17:27:08.986] - Received FutureResult [17:27:08.986] - Erased future from FutureRegistry [17:27:08.986] result() for ClusterFuture ... [17:27:08.987] - result already collected: FutureResult [17:27:08.987] result() for ClusterFuture ... done [17:27:08.987] receiveMessageFromWorker() for ClusterFuture ... done [17:27:08.988] result() for ClusterFuture ... done [17:27:08.988] result() for ClusterFuture ... [17:27:08.988] - result already collected: FutureResult [17:27:08.989] result() for ClusterFuture ... done [1] 6 ** Sum function 'C' with plan('multisession') ... function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y) } y } Arguments '...' exists: FALSE [17:27:08.991] getGlobalsAndPackages() ... [17:27:08.991] Searching for globals... [17:27:08.994] - globals found: [4] '{', 'sum', 'x', 'y' [17:27:08.995] Searching for globals ... DONE [17:27:08.995] Resolving globals: FALSE [17:27:08.996] The total size of the 2 globals is 172 bytes (172 bytes) [17:27:08.997] The total size of the 2 globals exported for future expression ('{; sum(x, y); }') is 172 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (133 bytes of class 'numeric') and 'y' (39 bytes of class 'numeric') [17:27:08.997] - globals: [2] 'x', 'y' [17:27:08.998] [17:27:08.998] getGlobalsAndPackages() ... DONE [17:27:08.999] run() for 'Future' ... [17:27:08.999] - state: 'created' [17:27:09.000] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:09.024] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:09.025] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:09.025] - Field: 'node' [17:27:09.026] - Field: 'label' [17:27:09.026] - Field: 'local' [17:27:09.026] - Field: 'owner' [17:27:09.027] - Field: 'envir' [17:27:09.027] - Field: 'workers' [17:27:09.028] - Field: 'packages' [17:27:09.028] - Field: 'gc' [17:27:09.028] - Field: 'conditions' [17:27:09.029] - Field: 'persistent' [17:27:09.029] - Field: 'expr' [17:27:09.029] - Field: 'uuid' [17:27:09.030] - Field: 'seed' [17:27:09.030] - Field: 'version' [17:27:09.031] - Field: 'result' [17:27:09.031] - Field: 'asynchronous' [17:27:09.031] - Field: 'calls' [17:27:09.032] - Field: 'globals' [17:27:09.032] - Field: 'stdout' [17:27:09.033] - Field: 'earlySignal' [17:27:09.033] - Field: 'lazy' [17:27:09.033] - Field: 'state' [17:27:09.034] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:09.034] - Launch lazy future ... [17:27:09.035] Packages needed by the future expression (n = 0): [17:27:09.035] Packages needed by future strategies (n = 0): [17:27:09.036] { [17:27:09.036] { [17:27:09.036] { [17:27:09.036] ...future.startTime <- base::Sys.time() [17:27:09.036] { [17:27:09.036] { [17:27:09.036] { [17:27:09.036] { [17:27:09.036] base::local({ [17:27:09.036] has_future <- base::requireNamespace("future", [17:27:09.036] quietly = TRUE) [17:27:09.036] if (has_future) { [17:27:09.036] ns <- base::getNamespace("future") [17:27:09.036] version <- ns[[".package"]][["version"]] [17:27:09.036] if (is.null(version)) [17:27:09.036] version <- utils::packageVersion("future") [17:27:09.036] } [17:27:09.036] else { [17:27:09.036] version <- NULL [17:27:09.036] } [17:27:09.036] if (!has_future || version < "1.8.0") { [17:27:09.036] info <- base::c(r_version = base::gsub("R version ", [17:27:09.036] "", base::R.version$version.string), [17:27:09.036] platform = base::sprintf("%s (%s-bit)", [17:27:09.036] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:09.036] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:09.036] "release", "version")], collapse = " "), [17:27:09.036] hostname = base::Sys.info()[["nodename"]]) [17:27:09.036] info <- base::sprintf("%s: %s", base::names(info), [17:27:09.036] info) [17:27:09.036] info <- base::paste(info, collapse = "; ") [17:27:09.036] if (!has_future) { [17:27:09.036] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:09.036] info) [17:27:09.036] } [17:27:09.036] else { [17:27:09.036] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:09.036] info, version) [17:27:09.036] } [17:27:09.036] base::stop(msg) [17:27:09.036] } [17:27:09.036] }) [17:27:09.036] } [17:27:09.036] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:09.036] base::options(mc.cores = 1L) [17:27:09.036] } [17:27:09.036] ...future.strategy.old <- future::plan("list") [17:27:09.036] options(future.plan = NULL) [17:27:09.036] Sys.unsetenv("R_FUTURE_PLAN") [17:27:09.036] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:09.036] } [17:27:09.036] ...future.workdir <- getwd() [17:27:09.036] } [17:27:09.036] ...future.oldOptions <- base::as.list(base::.Options) [17:27:09.036] ...future.oldEnvVars <- base::Sys.getenv() [17:27:09.036] } [17:27:09.036] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:09.036] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:09.036] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:09.036] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:09.036] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:09.036] future.stdout.windows.reencode = NULL, width = 80L) [17:27:09.036] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:09.036] base::names(...future.oldOptions)) [17:27:09.036] } [17:27:09.036] if (FALSE) { [17:27:09.036] } [17:27:09.036] else { [17:27:09.036] if (TRUE) { [17:27:09.036] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:09.036] open = "w") [17:27:09.036] } [17:27:09.036] else { [17:27:09.036] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:09.036] windows = "NUL", "/dev/null"), open = "w") [17:27:09.036] } [17:27:09.036] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:09.036] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:09.036] base::sink(type = "output", split = FALSE) [17:27:09.036] base::close(...future.stdout) [17:27:09.036] }, add = TRUE) [17:27:09.036] } [17:27:09.036] ...future.frame <- base::sys.nframe() [17:27:09.036] ...future.conditions <- base::list() [17:27:09.036] ...future.rng <- base::globalenv()$.Random.seed [17:27:09.036] if (FALSE) { [17:27:09.036] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:09.036] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:09.036] } [17:27:09.036] ...future.result <- base::tryCatch({ [17:27:09.036] base::withCallingHandlers({ [17:27:09.036] ...future.value <- base::withVisible(base::local({ [17:27:09.036] ...future.makeSendCondition <- base::local({ [17:27:09.036] sendCondition <- NULL [17:27:09.036] function(frame = 1L) { [17:27:09.036] if (is.function(sendCondition)) [17:27:09.036] return(sendCondition) [17:27:09.036] ns <- getNamespace("parallel") [17:27:09.036] if (exists("sendData", mode = "function", [17:27:09.036] envir = ns)) { [17:27:09.036] parallel_sendData <- get("sendData", mode = "function", [17:27:09.036] envir = ns) [17:27:09.036] envir <- sys.frame(frame) [17:27:09.036] master <- NULL [17:27:09.036] while (!identical(envir, .GlobalEnv) && [17:27:09.036] !identical(envir, emptyenv())) { [17:27:09.036] if (exists("master", mode = "list", envir = envir, [17:27:09.036] inherits = FALSE)) { [17:27:09.036] master <- get("master", mode = "list", [17:27:09.036] envir = envir, inherits = FALSE) [17:27:09.036] if (inherits(master, c("SOCKnode", [17:27:09.036] "SOCK0node"))) { [17:27:09.036] sendCondition <<- function(cond) { [17:27:09.036] data <- list(type = "VALUE", value = cond, [17:27:09.036] success = TRUE) [17:27:09.036] parallel_sendData(master, data) [17:27:09.036] } [17:27:09.036] return(sendCondition) [17:27:09.036] } [17:27:09.036] } [17:27:09.036] frame <- frame + 1L [17:27:09.036] envir <- sys.frame(frame) [17:27:09.036] } [17:27:09.036] } [17:27:09.036] sendCondition <<- function(cond) NULL [17:27:09.036] } [17:27:09.036] }) [17:27:09.036] withCallingHandlers({ [17:27:09.036] { [17:27:09.036] sum(x, y) [17:27:09.036] } [17:27:09.036] }, immediateCondition = function(cond) { [17:27:09.036] sendCondition <- ...future.makeSendCondition() [17:27:09.036] sendCondition(cond) [17:27:09.036] muffleCondition <- function (cond, pattern = "^muffle") [17:27:09.036] { [17:27:09.036] inherits <- base::inherits [17:27:09.036] invokeRestart <- base::invokeRestart [17:27:09.036] is.null <- base::is.null [17:27:09.036] muffled <- FALSE [17:27:09.036] if (inherits(cond, "message")) { [17:27:09.036] muffled <- grepl(pattern, "muffleMessage") [17:27:09.036] if (muffled) [17:27:09.036] invokeRestart("muffleMessage") [17:27:09.036] } [17:27:09.036] else if (inherits(cond, "warning")) { [17:27:09.036] muffled <- grepl(pattern, "muffleWarning") [17:27:09.036] if (muffled) [17:27:09.036] invokeRestart("muffleWarning") [17:27:09.036] } [17:27:09.036] else if (inherits(cond, "condition")) { [17:27:09.036] if (!is.null(pattern)) { [17:27:09.036] computeRestarts <- base::computeRestarts [17:27:09.036] grepl <- base::grepl [17:27:09.036] restarts <- computeRestarts(cond) [17:27:09.036] for (restart in restarts) { [17:27:09.036] name <- restart$name [17:27:09.036] if (is.null(name)) [17:27:09.036] next [17:27:09.036] if (!grepl(pattern, name)) [17:27:09.036] next [17:27:09.036] invokeRestart(restart) [17:27:09.036] muffled <- TRUE [17:27:09.036] break [17:27:09.036] } [17:27:09.036] } [17:27:09.036] } [17:27:09.036] invisible(muffled) [17:27:09.036] } [17:27:09.036] muffleCondition(cond) [17:27:09.036] }) [17:27:09.036] })) [17:27:09.036] future::FutureResult(value = ...future.value$value, [17:27:09.036] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:09.036] ...future.rng), globalenv = if (FALSE) [17:27:09.036] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:09.036] ...future.globalenv.names)) [17:27:09.036] else NULL, started = ...future.startTime, version = "1.8") [17:27:09.036] }, condition = base::local({ [17:27:09.036] c <- base::c [17:27:09.036] inherits <- base::inherits [17:27:09.036] invokeRestart <- base::invokeRestart [17:27:09.036] length <- base::length [17:27:09.036] list <- base::list [17:27:09.036] seq.int <- base::seq.int [17:27:09.036] signalCondition <- base::signalCondition [17:27:09.036] sys.calls <- base::sys.calls [17:27:09.036] `[[` <- base::`[[` [17:27:09.036] `+` <- base::`+` [17:27:09.036] `<<-` <- base::`<<-` [17:27:09.036] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:09.036] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:09.036] 3L)] [17:27:09.036] } [17:27:09.036] function(cond) { [17:27:09.036] is_error <- inherits(cond, "error") [17:27:09.036] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:09.036] NULL) [17:27:09.036] if (is_error) { [17:27:09.036] sessionInformation <- function() { [17:27:09.036] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:09.036] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:09.036] search = base::search(), system = base::Sys.info()) [17:27:09.036] } [17:27:09.036] ...future.conditions[[length(...future.conditions) + [17:27:09.036] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:09.036] cond$call), session = sessionInformation(), [17:27:09.036] timestamp = base::Sys.time(), signaled = 0L) [17:27:09.036] signalCondition(cond) [17:27:09.036] } [17:27:09.036] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:09.036] "immediateCondition"))) { [17:27:09.036] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:09.036] ...future.conditions[[length(...future.conditions) + [17:27:09.036] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:09.036] if (TRUE && !signal) { [17:27:09.036] muffleCondition <- function (cond, pattern = "^muffle") [17:27:09.036] { [17:27:09.036] inherits <- base::inherits [17:27:09.036] invokeRestart <- base::invokeRestart [17:27:09.036] is.null <- base::is.null [17:27:09.036] muffled <- FALSE [17:27:09.036] if (inherits(cond, "message")) { [17:27:09.036] muffled <- grepl(pattern, "muffleMessage") [17:27:09.036] if (muffled) [17:27:09.036] invokeRestart("muffleMessage") [17:27:09.036] } [17:27:09.036] else if (inherits(cond, "warning")) { [17:27:09.036] muffled <- grepl(pattern, "muffleWarning") [17:27:09.036] if (muffled) [17:27:09.036] invokeRestart("muffleWarning") [17:27:09.036] } [17:27:09.036] else if (inherits(cond, "condition")) { [17:27:09.036] if (!is.null(pattern)) { [17:27:09.036] computeRestarts <- base::computeRestarts [17:27:09.036] grepl <- base::grepl [17:27:09.036] restarts <- computeRestarts(cond) [17:27:09.036] for (restart in restarts) { [17:27:09.036] name <- restart$name [17:27:09.036] if (is.null(name)) [17:27:09.036] next [17:27:09.036] if (!grepl(pattern, name)) [17:27:09.036] next [17:27:09.036] invokeRestart(restart) [17:27:09.036] muffled <- TRUE [17:27:09.036] break [17:27:09.036] } [17:27:09.036] } [17:27:09.036] } [17:27:09.036] invisible(muffled) [17:27:09.036] } [17:27:09.036] muffleCondition(cond, pattern = "^muffle") [17:27:09.036] } [17:27:09.036] } [17:27:09.036] else { [17:27:09.036] if (TRUE) { [17:27:09.036] muffleCondition <- function (cond, pattern = "^muffle") [17:27:09.036] { [17:27:09.036] inherits <- base::inherits [17:27:09.036] invokeRestart <- base::invokeRestart [17:27:09.036] is.null <- base::is.null [17:27:09.036] muffled <- FALSE [17:27:09.036] if (inherits(cond, "message")) { [17:27:09.036] muffled <- grepl(pattern, "muffleMessage") [17:27:09.036] if (muffled) [17:27:09.036] invokeRestart("muffleMessage") [17:27:09.036] } [17:27:09.036] else if (inherits(cond, "warning")) { [17:27:09.036] muffled <- grepl(pattern, "muffleWarning") [17:27:09.036] if (muffled) [17:27:09.036] invokeRestart("muffleWarning") [17:27:09.036] } [17:27:09.036] else if (inherits(cond, "condition")) { [17:27:09.036] if (!is.null(pattern)) { [17:27:09.036] computeRestarts <- base::computeRestarts [17:27:09.036] grepl <- base::grepl [17:27:09.036] restarts <- computeRestarts(cond) [17:27:09.036] for (restart in restarts) { [17:27:09.036] name <- restart$name [17:27:09.036] if (is.null(name)) [17:27:09.036] next [17:27:09.036] if (!grepl(pattern, name)) [17:27:09.036] next [17:27:09.036] invokeRestart(restart) [17:27:09.036] muffled <- TRUE [17:27:09.036] break [17:27:09.036] } [17:27:09.036] } [17:27:09.036] } [17:27:09.036] invisible(muffled) [17:27:09.036] } [17:27:09.036] muffleCondition(cond, pattern = "^muffle") [17:27:09.036] } [17:27:09.036] } [17:27:09.036] } [17:27:09.036] })) [17:27:09.036] }, error = function(ex) { [17:27:09.036] base::structure(base::list(value = NULL, visible = NULL, [17:27:09.036] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:09.036] ...future.rng), started = ...future.startTime, [17:27:09.036] finished = Sys.time(), session_uuid = NA_character_, [17:27:09.036] version = "1.8"), class = "FutureResult") [17:27:09.036] }, finally = { [17:27:09.036] if (!identical(...future.workdir, getwd())) [17:27:09.036] setwd(...future.workdir) [17:27:09.036] { [17:27:09.036] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:09.036] ...future.oldOptions$nwarnings <- NULL [17:27:09.036] } [17:27:09.036] base::options(...future.oldOptions) [17:27:09.036] if (.Platform$OS.type == "windows") { [17:27:09.036] old_names <- names(...future.oldEnvVars) [17:27:09.036] envs <- base::Sys.getenv() [17:27:09.036] names <- names(envs) [17:27:09.036] common <- intersect(names, old_names) [17:27:09.036] added <- setdiff(names, old_names) [17:27:09.036] removed <- setdiff(old_names, names) [17:27:09.036] changed <- common[...future.oldEnvVars[common] != [17:27:09.036] envs[common]] [17:27:09.036] NAMES <- toupper(changed) [17:27:09.036] args <- list() [17:27:09.036] for (kk in seq_along(NAMES)) { [17:27:09.036] name <- changed[[kk]] [17:27:09.036] NAME <- NAMES[[kk]] [17:27:09.036] if (name != NAME && is.element(NAME, old_names)) [17:27:09.036] next [17:27:09.036] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:09.036] } [17:27:09.036] NAMES <- toupper(added) [17:27:09.036] for (kk in seq_along(NAMES)) { [17:27:09.036] name <- added[[kk]] [17:27:09.036] NAME <- NAMES[[kk]] [17:27:09.036] if (name != NAME && is.element(NAME, old_names)) [17:27:09.036] next [17:27:09.036] args[[name]] <- "" [17:27:09.036] } [17:27:09.036] NAMES <- toupper(removed) [17:27:09.036] for (kk in seq_along(NAMES)) { [17:27:09.036] name <- removed[[kk]] [17:27:09.036] NAME <- NAMES[[kk]] [17:27:09.036] if (name != NAME && is.element(NAME, old_names)) [17:27:09.036] next [17:27:09.036] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:09.036] } [17:27:09.036] if (length(args) > 0) [17:27:09.036] base::do.call(base::Sys.setenv, args = args) [17:27:09.036] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:09.036] } [17:27:09.036] else { [17:27:09.036] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:09.036] } [17:27:09.036] { [17:27:09.036] if (base::length(...future.futureOptionsAdded) > [17:27:09.036] 0L) { [17:27:09.036] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:09.036] base::names(opts) <- ...future.futureOptionsAdded [17:27:09.036] base::options(opts) [17:27:09.036] } [17:27:09.036] { [17:27:09.036] { [17:27:09.036] base::options(mc.cores = ...future.mc.cores.old) [17:27:09.036] NULL [17:27:09.036] } [17:27:09.036] options(future.plan = NULL) [17:27:09.036] if (is.na(NA_character_)) [17:27:09.036] Sys.unsetenv("R_FUTURE_PLAN") [17:27:09.036] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:09.036] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:09.036] .init = FALSE) [17:27:09.036] } [17:27:09.036] } [17:27:09.036] } [17:27:09.036] }) [17:27:09.036] if (TRUE) { [17:27:09.036] base::sink(type = "output", split = FALSE) [17:27:09.036] if (TRUE) { [17:27:09.036] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:09.036] } [17:27:09.036] else { [17:27:09.036] ...future.result["stdout"] <- base::list(NULL) [17:27:09.036] } [17:27:09.036] base::close(...future.stdout) [17:27:09.036] ...future.stdout <- NULL [17:27:09.036] } [17:27:09.036] ...future.result$conditions <- ...future.conditions [17:27:09.036] ...future.result$finished <- base::Sys.time() [17:27:09.036] ...future.result [17:27:09.036] } [17:27:09.047] Exporting 2 global objects (474 bytes) to cluster node #1 ... [17:27:09.048] Exporting 'x' (133 bytes) to cluster node #1 ... [17:27:09.049] Exporting 'x' (133 bytes) to cluster node #1 ... DONE [17:27:09.049] Exporting 'y' (39 bytes) to cluster node #1 ... [17:27:09.050] Exporting 'y' (39 bytes) to cluster node #1 ... DONE [17:27:09.050] Exporting 2 global objects (474 bytes) to cluster node #1 ... DONE [17:27:09.051] MultisessionFuture started [17:27:09.051] - Launch lazy future ... done [17:27:09.055] run() for 'MultisessionFuture' ... done [17:27:09.055] result() for ClusterFuture ... [17:27:09.056] receiveMessageFromWorker() for ClusterFuture ... [17:27:09.056] - Validating connection of MultisessionFuture [17:27:09.073] - received message: FutureResult [17:27:09.073] - Received FutureResult [17:27:09.074] - Erased future from FutureRegistry [17:27:09.074] result() for ClusterFuture ... [17:27:09.074] - result already collected: FutureResult [17:27:09.075] result() for ClusterFuture ... done [17:27:09.075] receiveMessageFromWorker() for ClusterFuture ... done [17:27:09.075] result() for ClusterFuture ... done [17:27:09.075] result() for ClusterFuture ... [17:27:09.076] - result already collected: FutureResult [17:27:09.076] result() for ClusterFuture ... done [1] 6 ** Sum function 'D' with plan('multisession') ... function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y, ...) } y } Arguments '...' exists: FALSE [17:27:09.077] getGlobalsAndPackages() ... [17:27:09.077] Searching for globals... [17:27:09.080] - globals found: [5] '{', 'sum', 'x', 'y', '...' [17:27:09.081] Searching for globals ... DONE [17:27:09.081] Resolving globals: FALSE [17:27:09.081] Tweak future expression to call with '...' arguments ... [17:27:09.082] The total size of the 2 globals is 172 bytes (172 bytes) [17:27:09.083] The total size of the 2 globals exported for future expression ('{; sum(x, y, ...); }') is 172 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (133 bytes of class 'numeric') and 'y' (39 bytes of class 'numeric') [17:27:09.083] - globals: [2] 'x', 'y' [17:27:09.084] [17:27:09.084] getGlobalsAndPackages() ... DONE [17:27:09.084] run() for 'Future' ... [17:27:09.085] - state: 'created' [17:27:09.085] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:09.105] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:09.105] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:09.105] - Field: 'node' [17:27:09.106] - Field: 'label' [17:27:09.106] - Field: 'local' [17:27:09.106] - Field: 'owner' [17:27:09.107] - Field: 'envir' [17:27:09.107] - Field: 'workers' [17:27:09.107] - Field: 'packages' [17:27:09.107] - Field: 'gc' [17:27:09.108] - Field: 'conditions' [17:27:09.108] - Field: 'persistent' [17:27:09.108] - Field: 'expr' [17:27:09.109] - Field: 'uuid' [17:27:09.109] - Field: 'seed' [17:27:09.109] - Field: 'version' [17:27:09.110] - Field: 'result' [17:27:09.110] - Field: 'asynchronous' [17:27:09.110] - Field: 'calls' [17:27:09.110] - Field: 'globals' [17:27:09.111] - Field: 'stdout' [17:27:09.111] - Field: 'earlySignal' [17:27:09.111] - Field: 'lazy' [17:27:09.112] - Field: 'state' [17:27:09.112] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:09.112] - Launch lazy future ... [17:27:09.113] Packages needed by the future expression (n = 0): [17:27:09.113] Packages needed by future strategies (n = 0): [17:27:09.114] { [17:27:09.114] { [17:27:09.114] { [17:27:09.114] ...future.startTime <- base::Sys.time() [17:27:09.114] { [17:27:09.114] { [17:27:09.114] { [17:27:09.114] { [17:27:09.114] base::local({ [17:27:09.114] has_future <- base::requireNamespace("future", [17:27:09.114] quietly = TRUE) [17:27:09.114] if (has_future) { [17:27:09.114] ns <- base::getNamespace("future") [17:27:09.114] version <- ns[[".package"]][["version"]] [17:27:09.114] if (is.null(version)) [17:27:09.114] version <- utils::packageVersion("future") [17:27:09.114] } [17:27:09.114] else { [17:27:09.114] version <- NULL [17:27:09.114] } [17:27:09.114] if (!has_future || version < "1.8.0") { [17:27:09.114] info <- base::c(r_version = base::gsub("R version ", [17:27:09.114] "", base::R.version$version.string), [17:27:09.114] platform = base::sprintf("%s (%s-bit)", [17:27:09.114] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:09.114] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:09.114] "release", "version")], collapse = " "), [17:27:09.114] hostname = base::Sys.info()[["nodename"]]) [17:27:09.114] info <- base::sprintf("%s: %s", base::names(info), [17:27:09.114] info) [17:27:09.114] info <- base::paste(info, collapse = "; ") [17:27:09.114] if (!has_future) { [17:27:09.114] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:09.114] info) [17:27:09.114] } [17:27:09.114] else { [17:27:09.114] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:09.114] info, version) [17:27:09.114] } [17:27:09.114] base::stop(msg) [17:27:09.114] } [17:27:09.114] }) [17:27:09.114] } [17:27:09.114] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:09.114] base::options(mc.cores = 1L) [17:27:09.114] } [17:27:09.114] ...future.strategy.old <- future::plan("list") [17:27:09.114] options(future.plan = NULL) [17:27:09.114] Sys.unsetenv("R_FUTURE_PLAN") [17:27:09.114] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:09.114] } [17:27:09.114] ...future.workdir <- getwd() [17:27:09.114] } [17:27:09.114] ...future.oldOptions <- base::as.list(base::.Options) [17:27:09.114] ...future.oldEnvVars <- base::Sys.getenv() [17:27:09.114] } [17:27:09.114] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:09.114] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:09.114] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:09.114] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:09.114] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:09.114] future.stdout.windows.reencode = NULL, width = 80L) [17:27:09.114] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:09.114] base::names(...future.oldOptions)) [17:27:09.114] } [17:27:09.114] if (FALSE) { [17:27:09.114] } [17:27:09.114] else { [17:27:09.114] if (TRUE) { [17:27:09.114] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:09.114] open = "w") [17:27:09.114] } [17:27:09.114] else { [17:27:09.114] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:09.114] windows = "NUL", "/dev/null"), open = "w") [17:27:09.114] } [17:27:09.114] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:09.114] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:09.114] base::sink(type = "output", split = FALSE) [17:27:09.114] base::close(...future.stdout) [17:27:09.114] }, add = TRUE) [17:27:09.114] } [17:27:09.114] ...future.frame <- base::sys.nframe() [17:27:09.114] ...future.conditions <- base::list() [17:27:09.114] ...future.rng <- base::globalenv()$.Random.seed [17:27:09.114] if (FALSE) { [17:27:09.114] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:09.114] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:09.114] } [17:27:09.114] ...future.result <- base::tryCatch({ [17:27:09.114] base::withCallingHandlers({ [17:27:09.114] ...future.value <- base::withVisible(base::local({ [17:27:09.114] ...future.makeSendCondition <- base::local({ [17:27:09.114] sendCondition <- NULL [17:27:09.114] function(frame = 1L) { [17:27:09.114] if (is.function(sendCondition)) [17:27:09.114] return(sendCondition) [17:27:09.114] ns <- getNamespace("parallel") [17:27:09.114] if (exists("sendData", mode = "function", [17:27:09.114] envir = ns)) { [17:27:09.114] parallel_sendData <- get("sendData", mode = "function", [17:27:09.114] envir = ns) [17:27:09.114] envir <- sys.frame(frame) [17:27:09.114] master <- NULL [17:27:09.114] while (!identical(envir, .GlobalEnv) && [17:27:09.114] !identical(envir, emptyenv())) { [17:27:09.114] if (exists("master", mode = "list", envir = envir, [17:27:09.114] inherits = FALSE)) { [17:27:09.114] master <- get("master", mode = "list", [17:27:09.114] envir = envir, inherits = FALSE) [17:27:09.114] if (inherits(master, c("SOCKnode", [17:27:09.114] "SOCK0node"))) { [17:27:09.114] sendCondition <<- function(cond) { [17:27:09.114] data <- list(type = "VALUE", value = cond, [17:27:09.114] success = TRUE) [17:27:09.114] parallel_sendData(master, data) [17:27:09.114] } [17:27:09.114] return(sendCondition) [17:27:09.114] } [17:27:09.114] } [17:27:09.114] frame <- frame + 1L [17:27:09.114] envir <- sys.frame(frame) [17:27:09.114] } [17:27:09.114] } [17:27:09.114] sendCondition <<- function(cond) NULL [17:27:09.114] } [17:27:09.114] }) [17:27:09.114] withCallingHandlers({ [17:27:09.114] { [17:27:09.114] sum(x, y, ...) [17:27:09.114] } [17:27:09.114] }, immediateCondition = function(cond) { [17:27:09.114] sendCondition <- ...future.makeSendCondition() [17:27:09.114] sendCondition(cond) [17:27:09.114] muffleCondition <- function (cond, pattern = "^muffle") [17:27:09.114] { [17:27:09.114] inherits <- base::inherits [17:27:09.114] invokeRestart <- base::invokeRestart [17:27:09.114] is.null <- base::is.null [17:27:09.114] muffled <- FALSE [17:27:09.114] if (inherits(cond, "message")) { [17:27:09.114] muffled <- grepl(pattern, "muffleMessage") [17:27:09.114] if (muffled) [17:27:09.114] invokeRestart("muffleMessage") [17:27:09.114] } [17:27:09.114] else if (inherits(cond, "warning")) { [17:27:09.114] muffled <- grepl(pattern, "muffleWarning") [17:27:09.114] if (muffled) [17:27:09.114] invokeRestart("muffleWarning") [17:27:09.114] } [17:27:09.114] else if (inherits(cond, "condition")) { [17:27:09.114] if (!is.null(pattern)) { [17:27:09.114] computeRestarts <- base::computeRestarts [17:27:09.114] grepl <- base::grepl [17:27:09.114] restarts <- computeRestarts(cond) [17:27:09.114] for (restart in restarts) { [17:27:09.114] name <- restart$name [17:27:09.114] if (is.null(name)) [17:27:09.114] next [17:27:09.114] if (!grepl(pattern, name)) [17:27:09.114] next [17:27:09.114] invokeRestart(restart) [17:27:09.114] muffled <- TRUE [17:27:09.114] break [17:27:09.114] } [17:27:09.114] } [17:27:09.114] } [17:27:09.114] invisible(muffled) [17:27:09.114] } [17:27:09.114] muffleCondition(cond) [17:27:09.114] }) [17:27:09.114] })) [17:27:09.114] future::FutureResult(value = ...future.value$value, [17:27:09.114] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:09.114] ...future.rng), globalenv = if (FALSE) [17:27:09.114] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:09.114] ...future.globalenv.names)) [17:27:09.114] else NULL, started = ...future.startTime, version = "1.8") [17:27:09.114] }, condition = base::local({ [17:27:09.114] c <- base::c [17:27:09.114] inherits <- base::inherits [17:27:09.114] invokeRestart <- base::invokeRestart [17:27:09.114] length <- base::length [17:27:09.114] list <- base::list [17:27:09.114] seq.int <- base::seq.int [17:27:09.114] signalCondition <- base::signalCondition [17:27:09.114] sys.calls <- base::sys.calls [17:27:09.114] `[[` <- base::`[[` [17:27:09.114] `+` <- base::`+` [17:27:09.114] `<<-` <- base::`<<-` [17:27:09.114] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:09.114] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:09.114] 3L)] [17:27:09.114] } [17:27:09.114] function(cond) { [17:27:09.114] is_error <- inherits(cond, "error") [17:27:09.114] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:09.114] NULL) [17:27:09.114] if (is_error) { [17:27:09.114] sessionInformation <- function() { [17:27:09.114] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:09.114] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:09.114] search = base::search(), system = base::Sys.info()) [17:27:09.114] } [17:27:09.114] ...future.conditions[[length(...future.conditions) + [17:27:09.114] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:09.114] cond$call), session = sessionInformation(), [17:27:09.114] timestamp = base::Sys.time(), signaled = 0L) [17:27:09.114] signalCondition(cond) [17:27:09.114] } [17:27:09.114] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:09.114] "immediateCondition"))) { [17:27:09.114] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:09.114] ...future.conditions[[length(...future.conditions) + [17:27:09.114] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:09.114] if (TRUE && !signal) { [17:27:09.114] muffleCondition <- function (cond, pattern = "^muffle") [17:27:09.114] { [17:27:09.114] inherits <- base::inherits [17:27:09.114] invokeRestart <- base::invokeRestart [17:27:09.114] is.null <- base::is.null [17:27:09.114] muffled <- FALSE [17:27:09.114] if (inherits(cond, "message")) { [17:27:09.114] muffled <- grepl(pattern, "muffleMessage") [17:27:09.114] if (muffled) [17:27:09.114] invokeRestart("muffleMessage") [17:27:09.114] } [17:27:09.114] else if (inherits(cond, "warning")) { [17:27:09.114] muffled <- grepl(pattern, "muffleWarning") [17:27:09.114] if (muffled) [17:27:09.114] invokeRestart("muffleWarning") [17:27:09.114] } [17:27:09.114] else if (inherits(cond, "condition")) { [17:27:09.114] if (!is.null(pattern)) { [17:27:09.114] computeRestarts <- base::computeRestarts [17:27:09.114] grepl <- base::grepl [17:27:09.114] restarts <- computeRestarts(cond) [17:27:09.114] for (restart in restarts) { [17:27:09.114] name <- restart$name [17:27:09.114] if (is.null(name)) [17:27:09.114] next [17:27:09.114] if (!grepl(pattern, name)) [17:27:09.114] next [17:27:09.114] invokeRestart(restart) [17:27:09.114] muffled <- TRUE [17:27:09.114] break [17:27:09.114] } [17:27:09.114] } [17:27:09.114] } [17:27:09.114] invisible(muffled) [17:27:09.114] } [17:27:09.114] muffleCondition(cond, pattern = "^muffle") [17:27:09.114] } [17:27:09.114] } [17:27:09.114] else { [17:27:09.114] if (TRUE) { [17:27:09.114] muffleCondition <- function (cond, pattern = "^muffle") [17:27:09.114] { [17:27:09.114] inherits <- base::inherits [17:27:09.114] invokeRestart <- base::invokeRestart [17:27:09.114] is.null <- base::is.null [17:27:09.114] muffled <- FALSE [17:27:09.114] if (inherits(cond, "message")) { [17:27:09.114] muffled <- grepl(pattern, "muffleMessage") [17:27:09.114] if (muffled) [17:27:09.114] invokeRestart("muffleMessage") [17:27:09.114] } [17:27:09.114] else if (inherits(cond, "warning")) { [17:27:09.114] muffled <- grepl(pattern, "muffleWarning") [17:27:09.114] if (muffled) [17:27:09.114] invokeRestart("muffleWarning") [17:27:09.114] } [17:27:09.114] else if (inherits(cond, "condition")) { [17:27:09.114] if (!is.null(pattern)) { [17:27:09.114] computeRestarts <- base::computeRestarts [17:27:09.114] grepl <- base::grepl [17:27:09.114] restarts <- computeRestarts(cond) [17:27:09.114] for (restart in restarts) { [17:27:09.114] name <- restart$name [17:27:09.114] if (is.null(name)) [17:27:09.114] next [17:27:09.114] if (!grepl(pattern, name)) [17:27:09.114] next [17:27:09.114] invokeRestart(restart) [17:27:09.114] muffled <- TRUE [17:27:09.114] break [17:27:09.114] } [17:27:09.114] } [17:27:09.114] } [17:27:09.114] invisible(muffled) [17:27:09.114] } [17:27:09.114] muffleCondition(cond, pattern = "^muffle") [17:27:09.114] } [17:27:09.114] } [17:27:09.114] } [17:27:09.114] })) [17:27:09.114] }, error = function(ex) { [17:27:09.114] base::structure(base::list(value = NULL, visible = NULL, [17:27:09.114] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:09.114] ...future.rng), started = ...future.startTime, [17:27:09.114] finished = Sys.time(), session_uuid = NA_character_, [17:27:09.114] version = "1.8"), class = "FutureResult") [17:27:09.114] }, finally = { [17:27:09.114] if (!identical(...future.workdir, getwd())) [17:27:09.114] setwd(...future.workdir) [17:27:09.114] { [17:27:09.114] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:09.114] ...future.oldOptions$nwarnings <- NULL [17:27:09.114] } [17:27:09.114] base::options(...future.oldOptions) [17:27:09.114] if (.Platform$OS.type == "windows") { [17:27:09.114] old_names <- names(...future.oldEnvVars) [17:27:09.114] envs <- base::Sys.getenv() [17:27:09.114] names <- names(envs) [17:27:09.114] common <- intersect(names, old_names) [17:27:09.114] added <- setdiff(names, old_names) [17:27:09.114] removed <- setdiff(old_names, names) [17:27:09.114] changed <- common[...future.oldEnvVars[common] != [17:27:09.114] envs[common]] [17:27:09.114] NAMES <- toupper(changed) [17:27:09.114] args <- list() [17:27:09.114] for (kk in seq_along(NAMES)) { [17:27:09.114] name <- changed[[kk]] [17:27:09.114] NAME <- NAMES[[kk]] [17:27:09.114] if (name != NAME && is.element(NAME, old_names)) [17:27:09.114] next [17:27:09.114] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:09.114] } [17:27:09.114] NAMES <- toupper(added) [17:27:09.114] for (kk in seq_along(NAMES)) { [17:27:09.114] name <- added[[kk]] [17:27:09.114] NAME <- NAMES[[kk]] [17:27:09.114] if (name != NAME && is.element(NAME, old_names)) [17:27:09.114] next [17:27:09.114] args[[name]] <- "" [17:27:09.114] } [17:27:09.114] NAMES <- toupper(removed) [17:27:09.114] for (kk in seq_along(NAMES)) { [17:27:09.114] name <- removed[[kk]] [17:27:09.114] NAME <- NAMES[[kk]] [17:27:09.114] if (name != NAME && is.element(NAME, old_names)) [17:27:09.114] next [17:27:09.114] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:09.114] } [17:27:09.114] if (length(args) > 0) [17:27:09.114] base::do.call(base::Sys.setenv, args = args) [17:27:09.114] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:09.114] } [17:27:09.114] else { [17:27:09.114] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:09.114] } [17:27:09.114] { [17:27:09.114] if (base::length(...future.futureOptionsAdded) > [17:27:09.114] 0L) { [17:27:09.114] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:09.114] base::names(opts) <- ...future.futureOptionsAdded [17:27:09.114] base::options(opts) [17:27:09.114] } [17:27:09.114] { [17:27:09.114] { [17:27:09.114] base::options(mc.cores = ...future.mc.cores.old) [17:27:09.114] NULL [17:27:09.114] } [17:27:09.114] options(future.plan = NULL) [17:27:09.114] if (is.na(NA_character_)) [17:27:09.114] Sys.unsetenv("R_FUTURE_PLAN") [17:27:09.114] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:09.114] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:09.114] .init = FALSE) [17:27:09.114] } [17:27:09.114] } [17:27:09.114] } [17:27:09.114] }) [17:27:09.114] if (TRUE) { [17:27:09.114] base::sink(type = "output", split = FALSE) [17:27:09.114] if (TRUE) { [17:27:09.114] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:09.114] } [17:27:09.114] else { [17:27:09.114] ...future.result["stdout"] <- base::list(NULL) [17:27:09.114] } [17:27:09.114] base::close(...future.stdout) [17:27:09.114] ...future.stdout <- NULL [17:27:09.114] } [17:27:09.114] ...future.result$conditions <- ...future.conditions [17:27:09.114] ...future.result$finished <- base::Sys.time() [17:27:09.114] ...future.result [17:27:09.114] } [17:27:09.123] Exporting 2 global objects (474 bytes) to cluster node #1 ... [17:27:09.123] Exporting 'x' (133 bytes) to cluster node #1 ... [17:27:09.124] Exporting 'x' (133 bytes) to cluster node #1 ... DONE [17:27:09.124] Exporting 'y' (39 bytes) to cluster node #1 ... [17:27:09.125] Exporting 'y' (39 bytes) to cluster node #1 ... DONE [17:27:09.125] Exporting 2 global objects (474 bytes) to cluster node #1 ... DONE [17:27:09.126] MultisessionFuture started [17:27:09.126] - Launch lazy future ... done [17:27:09.127] run() for 'MultisessionFuture' ... done [17:27:09.127] result() for ClusterFuture ... [17:27:09.127] receiveMessageFromWorker() for ClusterFuture ... [17:27:09.128] - Validating connection of MultisessionFuture [17:27:09.157] - received message: FutureResult [17:27:09.158] - Received FutureResult [17:27:09.158] - Erased future from FutureRegistry [17:27:09.158] result() for ClusterFuture ... [17:27:09.159] - result already collected: FutureResult [17:27:09.159] result() for ClusterFuture ... done [17:27:09.159] signalConditions() ... [17:27:09.159] - include = 'immediateCondition' [17:27:09.160] - exclude = [17:27:09.160] - resignal = FALSE [17:27:09.160] - Number of conditions: 1 [17:27:09.160] signalConditions() ... done [17:27:09.161] receiveMessageFromWorker() for ClusterFuture ... done [17:27:09.161] result() for ClusterFuture ... done [17:27:09.161] result() for ClusterFuture ... [17:27:09.161] - result already collected: FutureResult [17:27:09.162] result() for ClusterFuture ... done [17:27:09.162] signalConditions() ... [17:27:09.162] - include = 'immediateCondition' [17:27:09.162] - exclude = [17:27:09.163] - resignal = FALSE [17:27:09.163] - Number of conditions: 1 [17:27:09.163] signalConditions() ... done [17:27:09.164] Future state: 'finished' [17:27:09.164] result() for ClusterFuture ... [17:27:09.164] - result already collected: FutureResult [17:27:09.164] result() for ClusterFuture ... done [17:27:09.165] signalConditions() ... [17:27:09.165] - include = 'condition' [17:27:09.165] - exclude = 'immediateCondition' [17:27:09.165] - resignal = TRUE [17:27:09.166] - Number of conditions: 1 [17:27:09.166] - Condition #1: 'simpleError', 'error', 'condition' [17:27:09.166] signalConditions() ... done Error in withCallingHandlers({ : '...' used in an incorrect context [1] "Error in withCallingHandlers({ : '...' used in an incorrect context\n" attr(,"class") [1] "try-error" attr(,"condition") ** Sum function 'E' with plan('multisession') ... function (...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) globals <- globals::globalsByName("...", envir = environment()) f <- future({ fcn <- function() sum(...) fcn() }, envir = parent.frame(), globals = globals) y <- value(f) y } Arguments '...' exists: TRUE [17:27:09.169] getGlobalsAndPackages() ... [17:27:09.169] - globals passed as-is: [1] '...' [17:27:09.169] Resolving globals: FALSE [17:27:09.170] Tweak future expression to call with '...' arguments ... [17:27:09.170] { [17:27:09.170] do.call(function(...) { [17:27:09.170] fcn <- function() sum(...) [17:27:09.170] fcn() [17:27:09.170] }, args = future.call.arguments) [17:27:09.170] } [17:27:09.170] Tweak future expression to call with '...' arguments ... DONE [17:27:09.171] The total size of the 1 globals is 223 bytes (223 bytes) [17:27:09.172] The total size of the 1 globals exported for future expression ('{; fcn <- function() sum(...); fcn(); }') is 223 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'future.call.arguments' (223 bytes of class 'list') [17:27:09.172] - globals: [1] 'future.call.arguments' [17:27:09.172] [17:27:09.173] getGlobalsAndPackages() ... DONE [17:27:09.173] run() for 'Future' ... [17:27:09.173] - state: 'created' [17:27:09.174] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:09.195] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:09.195] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:09.196] - Field: 'node' [17:27:09.196] - Field: 'label' [17:27:09.196] - Field: 'local' [17:27:09.197] - Field: 'owner' [17:27:09.197] - Field: 'envir' [17:27:09.197] - Field: 'workers' [17:27:09.197] - Field: 'packages' [17:27:09.198] - Field: 'gc' [17:27:09.198] - Field: 'conditions' [17:27:09.198] - Field: 'persistent' [17:27:09.199] - Field: 'expr' [17:27:09.199] - Field: 'uuid' [17:27:09.199] - Field: 'seed' [17:27:09.199] - Field: 'version' [17:27:09.200] - Field: 'result' [17:27:09.200] - Field: 'asynchronous' [17:27:09.200] - Field: 'calls' [17:27:09.201] - Field: 'globals' [17:27:09.201] - Field: 'stdout' [17:27:09.201] - Field: 'earlySignal' [17:27:09.201] - Field: 'lazy' [17:27:09.202] - Field: 'state' [17:27:09.202] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:09.202] - Launch lazy future ... [17:27:09.203] Packages needed by the future expression (n = 0): [17:27:09.203] Packages needed by future strategies (n = 0): [17:27:09.204] { [17:27:09.204] { [17:27:09.204] { [17:27:09.204] ...future.startTime <- base::Sys.time() [17:27:09.204] { [17:27:09.204] { [17:27:09.204] { [17:27:09.204] { [17:27:09.204] base::local({ [17:27:09.204] has_future <- base::requireNamespace("future", [17:27:09.204] quietly = TRUE) [17:27:09.204] if (has_future) { [17:27:09.204] ns <- base::getNamespace("future") [17:27:09.204] version <- ns[[".package"]][["version"]] [17:27:09.204] if (is.null(version)) [17:27:09.204] version <- utils::packageVersion("future") [17:27:09.204] } [17:27:09.204] else { [17:27:09.204] version <- NULL [17:27:09.204] } [17:27:09.204] if (!has_future || version < "1.8.0") { [17:27:09.204] info <- base::c(r_version = base::gsub("R version ", [17:27:09.204] "", base::R.version$version.string), [17:27:09.204] platform = base::sprintf("%s (%s-bit)", [17:27:09.204] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:09.204] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:09.204] "release", "version")], collapse = " "), [17:27:09.204] hostname = base::Sys.info()[["nodename"]]) [17:27:09.204] info <- base::sprintf("%s: %s", base::names(info), [17:27:09.204] info) [17:27:09.204] info <- base::paste(info, collapse = "; ") [17:27:09.204] if (!has_future) { [17:27:09.204] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:09.204] info) [17:27:09.204] } [17:27:09.204] else { [17:27:09.204] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:09.204] info, version) [17:27:09.204] } [17:27:09.204] base::stop(msg) [17:27:09.204] } [17:27:09.204] }) [17:27:09.204] } [17:27:09.204] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:09.204] base::options(mc.cores = 1L) [17:27:09.204] } [17:27:09.204] ...future.strategy.old <- future::plan("list") [17:27:09.204] options(future.plan = NULL) [17:27:09.204] Sys.unsetenv("R_FUTURE_PLAN") [17:27:09.204] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:09.204] } [17:27:09.204] ...future.workdir <- getwd() [17:27:09.204] } [17:27:09.204] ...future.oldOptions <- base::as.list(base::.Options) [17:27:09.204] ...future.oldEnvVars <- base::Sys.getenv() [17:27:09.204] } [17:27:09.204] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:09.204] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:09.204] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:09.204] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:09.204] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:09.204] future.stdout.windows.reencode = NULL, width = 80L) [17:27:09.204] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:09.204] base::names(...future.oldOptions)) [17:27:09.204] } [17:27:09.204] if (FALSE) { [17:27:09.204] } [17:27:09.204] else { [17:27:09.204] if (TRUE) { [17:27:09.204] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:09.204] open = "w") [17:27:09.204] } [17:27:09.204] else { [17:27:09.204] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:09.204] windows = "NUL", "/dev/null"), open = "w") [17:27:09.204] } [17:27:09.204] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:09.204] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:09.204] base::sink(type = "output", split = FALSE) [17:27:09.204] base::close(...future.stdout) [17:27:09.204] }, add = TRUE) [17:27:09.204] } [17:27:09.204] ...future.frame <- base::sys.nframe() [17:27:09.204] ...future.conditions <- base::list() [17:27:09.204] ...future.rng <- base::globalenv()$.Random.seed [17:27:09.204] if (FALSE) { [17:27:09.204] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:09.204] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:09.204] } [17:27:09.204] ...future.result <- base::tryCatch({ [17:27:09.204] base::withCallingHandlers({ [17:27:09.204] ...future.value <- base::withVisible(base::local({ [17:27:09.204] ...future.makeSendCondition <- base::local({ [17:27:09.204] sendCondition <- NULL [17:27:09.204] function(frame = 1L) { [17:27:09.204] if (is.function(sendCondition)) [17:27:09.204] return(sendCondition) [17:27:09.204] ns <- getNamespace("parallel") [17:27:09.204] if (exists("sendData", mode = "function", [17:27:09.204] envir = ns)) { [17:27:09.204] parallel_sendData <- get("sendData", mode = "function", [17:27:09.204] envir = ns) [17:27:09.204] envir <- sys.frame(frame) [17:27:09.204] master <- NULL [17:27:09.204] while (!identical(envir, .GlobalEnv) && [17:27:09.204] !identical(envir, emptyenv())) { [17:27:09.204] if (exists("master", mode = "list", envir = envir, [17:27:09.204] inherits = FALSE)) { [17:27:09.204] master <- get("master", mode = "list", [17:27:09.204] envir = envir, inherits = FALSE) [17:27:09.204] if (inherits(master, c("SOCKnode", [17:27:09.204] "SOCK0node"))) { [17:27:09.204] sendCondition <<- function(cond) { [17:27:09.204] data <- list(type = "VALUE", value = cond, [17:27:09.204] success = TRUE) [17:27:09.204] parallel_sendData(master, data) [17:27:09.204] } [17:27:09.204] return(sendCondition) [17:27:09.204] } [17:27:09.204] } [17:27:09.204] frame <- frame + 1L [17:27:09.204] envir <- sys.frame(frame) [17:27:09.204] } [17:27:09.204] } [17:27:09.204] sendCondition <<- function(cond) NULL [17:27:09.204] } [17:27:09.204] }) [17:27:09.204] withCallingHandlers({ [17:27:09.204] { [17:27:09.204] do.call(function(...) { [17:27:09.204] fcn <- function() sum(...) [17:27:09.204] fcn() [17:27:09.204] }, args = future.call.arguments) [17:27:09.204] } [17:27:09.204] }, immediateCondition = function(cond) { [17:27:09.204] sendCondition <- ...future.makeSendCondition() [17:27:09.204] sendCondition(cond) [17:27:09.204] muffleCondition <- function (cond, pattern = "^muffle") [17:27:09.204] { [17:27:09.204] inherits <- base::inherits [17:27:09.204] invokeRestart <- base::invokeRestart [17:27:09.204] is.null <- base::is.null [17:27:09.204] muffled <- FALSE [17:27:09.204] if (inherits(cond, "message")) { [17:27:09.204] muffled <- grepl(pattern, "muffleMessage") [17:27:09.204] if (muffled) [17:27:09.204] invokeRestart("muffleMessage") [17:27:09.204] } [17:27:09.204] else if (inherits(cond, "warning")) { [17:27:09.204] muffled <- grepl(pattern, "muffleWarning") [17:27:09.204] if (muffled) [17:27:09.204] invokeRestart("muffleWarning") [17:27:09.204] } [17:27:09.204] else if (inherits(cond, "condition")) { [17:27:09.204] if (!is.null(pattern)) { [17:27:09.204] computeRestarts <- base::computeRestarts [17:27:09.204] grepl <- base::grepl [17:27:09.204] restarts <- computeRestarts(cond) [17:27:09.204] for (restart in restarts) { [17:27:09.204] name <- restart$name [17:27:09.204] if (is.null(name)) [17:27:09.204] next [17:27:09.204] if (!grepl(pattern, name)) [17:27:09.204] next [17:27:09.204] invokeRestart(restart) [17:27:09.204] muffled <- TRUE [17:27:09.204] break [17:27:09.204] } [17:27:09.204] } [17:27:09.204] } [17:27:09.204] invisible(muffled) [17:27:09.204] } [17:27:09.204] muffleCondition(cond) [17:27:09.204] }) [17:27:09.204] })) [17:27:09.204] future::FutureResult(value = ...future.value$value, [17:27:09.204] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:09.204] ...future.rng), globalenv = if (FALSE) [17:27:09.204] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:09.204] ...future.globalenv.names)) [17:27:09.204] else NULL, started = ...future.startTime, version = "1.8") [17:27:09.204] }, condition = base::local({ [17:27:09.204] c <- base::c [17:27:09.204] inherits <- base::inherits [17:27:09.204] invokeRestart <- base::invokeRestart [17:27:09.204] length <- base::length [17:27:09.204] list <- base::list [17:27:09.204] seq.int <- base::seq.int [17:27:09.204] signalCondition <- base::signalCondition [17:27:09.204] sys.calls <- base::sys.calls [17:27:09.204] `[[` <- base::`[[` [17:27:09.204] `+` <- base::`+` [17:27:09.204] `<<-` <- base::`<<-` [17:27:09.204] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:09.204] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:09.204] 3L)] [17:27:09.204] } [17:27:09.204] function(cond) { [17:27:09.204] is_error <- inherits(cond, "error") [17:27:09.204] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:09.204] NULL) [17:27:09.204] if (is_error) { [17:27:09.204] sessionInformation <- function() { [17:27:09.204] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:09.204] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:09.204] search = base::search(), system = base::Sys.info()) [17:27:09.204] } [17:27:09.204] ...future.conditions[[length(...future.conditions) + [17:27:09.204] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:09.204] cond$call), session = sessionInformation(), [17:27:09.204] timestamp = base::Sys.time(), signaled = 0L) [17:27:09.204] signalCondition(cond) [17:27:09.204] } [17:27:09.204] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:09.204] "immediateCondition"))) { [17:27:09.204] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:09.204] ...future.conditions[[length(...future.conditions) + [17:27:09.204] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:09.204] if (TRUE && !signal) { [17:27:09.204] muffleCondition <- function (cond, pattern = "^muffle") [17:27:09.204] { [17:27:09.204] inherits <- base::inherits [17:27:09.204] invokeRestart <- base::invokeRestart [17:27:09.204] is.null <- base::is.null [17:27:09.204] muffled <- FALSE [17:27:09.204] if (inherits(cond, "message")) { [17:27:09.204] muffled <- grepl(pattern, "muffleMessage") [17:27:09.204] if (muffled) [17:27:09.204] invokeRestart("muffleMessage") [17:27:09.204] } [17:27:09.204] else if (inherits(cond, "warning")) { [17:27:09.204] muffled <- grepl(pattern, "muffleWarning") [17:27:09.204] if (muffled) [17:27:09.204] invokeRestart("muffleWarning") [17:27:09.204] } [17:27:09.204] else if (inherits(cond, "condition")) { [17:27:09.204] if (!is.null(pattern)) { [17:27:09.204] computeRestarts <- base::computeRestarts [17:27:09.204] grepl <- base::grepl [17:27:09.204] restarts <- computeRestarts(cond) [17:27:09.204] for (restart in restarts) { [17:27:09.204] name <- restart$name [17:27:09.204] if (is.null(name)) [17:27:09.204] next [17:27:09.204] if (!grepl(pattern, name)) [17:27:09.204] next [17:27:09.204] invokeRestart(restart) [17:27:09.204] muffled <- TRUE [17:27:09.204] break [17:27:09.204] } [17:27:09.204] } [17:27:09.204] } [17:27:09.204] invisible(muffled) [17:27:09.204] } [17:27:09.204] muffleCondition(cond, pattern = "^muffle") [17:27:09.204] } [17:27:09.204] } [17:27:09.204] else { [17:27:09.204] if (TRUE) { [17:27:09.204] muffleCondition <- function (cond, pattern = "^muffle") [17:27:09.204] { [17:27:09.204] inherits <- base::inherits [17:27:09.204] invokeRestart <- base::invokeRestart [17:27:09.204] is.null <- base::is.null [17:27:09.204] muffled <- FALSE [17:27:09.204] if (inherits(cond, "message")) { [17:27:09.204] muffled <- grepl(pattern, "muffleMessage") [17:27:09.204] if (muffled) [17:27:09.204] invokeRestart("muffleMessage") [17:27:09.204] } [17:27:09.204] else if (inherits(cond, "warning")) { [17:27:09.204] muffled <- grepl(pattern, "muffleWarning") [17:27:09.204] if (muffled) [17:27:09.204] invokeRestart("muffleWarning") [17:27:09.204] } [17:27:09.204] else if (inherits(cond, "condition")) { [17:27:09.204] if (!is.null(pattern)) { [17:27:09.204] computeRestarts <- base::computeRestarts [17:27:09.204] grepl <- base::grepl [17:27:09.204] restarts <- computeRestarts(cond) [17:27:09.204] for (restart in restarts) { [17:27:09.204] name <- restart$name [17:27:09.204] if (is.null(name)) [17:27:09.204] next [17:27:09.204] if (!grepl(pattern, name)) [17:27:09.204] next [17:27:09.204] invokeRestart(restart) [17:27:09.204] muffled <- TRUE [17:27:09.204] break [17:27:09.204] } [17:27:09.204] } [17:27:09.204] } [17:27:09.204] invisible(muffled) [17:27:09.204] } [17:27:09.204] muffleCondition(cond, pattern = "^muffle") [17:27:09.204] } [17:27:09.204] } [17:27:09.204] } [17:27:09.204] })) [17:27:09.204] }, error = function(ex) { [17:27:09.204] base::structure(base::list(value = NULL, visible = NULL, [17:27:09.204] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:09.204] ...future.rng), started = ...future.startTime, [17:27:09.204] finished = Sys.time(), session_uuid = NA_character_, [17:27:09.204] version = "1.8"), class = "FutureResult") [17:27:09.204] }, finally = { [17:27:09.204] if (!identical(...future.workdir, getwd())) [17:27:09.204] setwd(...future.workdir) [17:27:09.204] { [17:27:09.204] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:09.204] ...future.oldOptions$nwarnings <- NULL [17:27:09.204] } [17:27:09.204] base::options(...future.oldOptions) [17:27:09.204] if (.Platform$OS.type == "windows") { [17:27:09.204] old_names <- names(...future.oldEnvVars) [17:27:09.204] envs <- base::Sys.getenv() [17:27:09.204] names <- names(envs) [17:27:09.204] common <- intersect(names, old_names) [17:27:09.204] added <- setdiff(names, old_names) [17:27:09.204] removed <- setdiff(old_names, names) [17:27:09.204] changed <- common[...future.oldEnvVars[common] != [17:27:09.204] envs[common]] [17:27:09.204] NAMES <- toupper(changed) [17:27:09.204] args <- list() [17:27:09.204] for (kk in seq_along(NAMES)) { [17:27:09.204] name <- changed[[kk]] [17:27:09.204] NAME <- NAMES[[kk]] [17:27:09.204] if (name != NAME && is.element(NAME, old_names)) [17:27:09.204] next [17:27:09.204] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:09.204] } [17:27:09.204] NAMES <- toupper(added) [17:27:09.204] for (kk in seq_along(NAMES)) { [17:27:09.204] name <- added[[kk]] [17:27:09.204] NAME <- NAMES[[kk]] [17:27:09.204] if (name != NAME && is.element(NAME, old_names)) [17:27:09.204] next [17:27:09.204] args[[name]] <- "" [17:27:09.204] } [17:27:09.204] NAMES <- toupper(removed) [17:27:09.204] for (kk in seq_along(NAMES)) { [17:27:09.204] name <- removed[[kk]] [17:27:09.204] NAME <- NAMES[[kk]] [17:27:09.204] if (name != NAME && is.element(NAME, old_names)) [17:27:09.204] next [17:27:09.204] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:09.204] } [17:27:09.204] if (length(args) > 0) [17:27:09.204] base::do.call(base::Sys.setenv, args = args) [17:27:09.204] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:09.204] } [17:27:09.204] else { [17:27:09.204] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:09.204] } [17:27:09.204] { [17:27:09.204] if (base::length(...future.futureOptionsAdded) > [17:27:09.204] 0L) { [17:27:09.204] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:09.204] base::names(opts) <- ...future.futureOptionsAdded [17:27:09.204] base::options(opts) [17:27:09.204] } [17:27:09.204] { [17:27:09.204] { [17:27:09.204] base::options(mc.cores = ...future.mc.cores.old) [17:27:09.204] NULL [17:27:09.204] } [17:27:09.204] options(future.plan = NULL) [17:27:09.204] if (is.na(NA_character_)) [17:27:09.204] Sys.unsetenv("R_FUTURE_PLAN") [17:27:09.204] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:09.204] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:09.204] .init = FALSE) [17:27:09.204] } [17:27:09.204] } [17:27:09.204] } [17:27:09.204] }) [17:27:09.204] if (TRUE) { [17:27:09.204] base::sink(type = "output", split = FALSE) [17:27:09.204] if (TRUE) { [17:27:09.204] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:09.204] } [17:27:09.204] else { [17:27:09.204] ...future.result["stdout"] <- base::list(NULL) [17:27:09.204] } [17:27:09.204] base::close(...future.stdout) [17:27:09.204] ...future.stdout <- NULL [17:27:09.204] } [17:27:09.204] ...future.result$conditions <- ...future.conditions [17:27:09.204] ...future.result$finished <- base::Sys.time() [17:27:09.204] ...future.result [17:27:09.204] } [17:27:09.213] Exporting 1 global objects (553 bytes) to cluster node #1 ... [17:27:09.213] Exporting 'future.call.arguments' (223 bytes) to cluster node #1 ... [17:27:09.214] Exporting 'future.call.arguments' (223 bytes) to cluster node #1 ... DONE [17:27:09.214] Exporting 1 global objects (553 bytes) to cluster node #1 ... DONE [17:27:09.215] MultisessionFuture started [17:27:09.215] - Launch lazy future ... done [17:27:09.215] run() for 'MultisessionFuture' ... done [17:27:09.216] result() for ClusterFuture ... [17:27:09.216] receiveMessageFromWorker() for ClusterFuture ... [17:27:09.216] - Validating connection of MultisessionFuture [17:27:09.241] - received message: FutureResult [17:27:09.242] - Received FutureResult [17:27:09.243] - Erased future from FutureRegistry [17:27:09.243] result() for ClusterFuture ... [17:27:09.243] - result already collected: FutureResult [17:27:09.244] result() for ClusterFuture ... done [17:27:09.244] receiveMessageFromWorker() for ClusterFuture ... done [17:27:09.244] result() for ClusterFuture ... done [17:27:09.245] result() for ClusterFuture ... [17:27:09.245] - result already collected: FutureResult [17:27:09.245] result() for ClusterFuture ... done [1] 6 ** Sum function 'F' with plan('multisession') ... function (x, y) { message("Using '...' in a formula") fcn <- function(x, y) { z = ~list(...) sum(x, y) } f <- future(fcn(x, y)) y <- value(f) y } Using '...' in a formula [17:27:09.246] getGlobalsAndPackages() ... [17:27:09.247] Searching for globals... [17:27:09.252] - globals found: [9] 'fcn', 'x', 'y', '{', '=', '~', 'list', '...', 'sum' [17:27:09.253] Searching for globals ... DONE [17:27:09.253] Resolving globals: FALSE [17:27:09.253] Tweak future expression to call with '...' arguments ... [17:27:09.254] The total size of the 3 globals is 1.94 KiB (1985 bytes) [17:27:09.255] The total size of the 3 globals exported for future expression ('fcn(x, y)') is 1.94 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are three globals: 'fcn' (1.77 KiB of class 'function'), 'x' (133 bytes of class 'numeric') and 'y' (39 bytes of class 'numeric') [17:27:09.256] - globals: [3] 'fcn', 'x', 'y' [17:27:09.256] [17:27:09.256] getGlobalsAndPackages() ... DONE [17:27:09.257] run() for 'Future' ... [17:27:09.257] - state: 'created' [17:27:09.257] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:09.279] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:09.280] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:09.280] - Field: 'node' [17:27:09.280] - Field: 'label' [17:27:09.281] - Field: 'local' [17:27:09.281] - Field: 'owner' [17:27:09.282] - Field: 'envir' [17:27:09.282] - Field: 'workers' [17:27:09.282] - Field: 'packages' [17:27:09.283] - Field: 'gc' [17:27:09.283] - Field: 'conditions' [17:27:09.284] - Field: 'persistent' [17:27:09.284] - Field: 'expr' [17:27:09.284] - Field: 'uuid' [17:27:09.285] - Field: 'seed' [17:27:09.285] - Field: 'version' [17:27:09.285] - Field: 'result' [17:27:09.286] - Field: 'asynchronous' [17:27:09.286] - Field: 'calls' [17:27:09.286] - Field: 'globals' [17:27:09.286] - Field: 'stdout' [17:27:09.287] - Field: 'earlySignal' [17:27:09.287] - Field: 'lazy' [17:27:09.287] - Field: 'state' [17:27:09.287] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:09.287] - Launch lazy future ... [17:27:09.288] Packages needed by the future expression (n = 0): [17:27:09.288] Packages needed by future strategies (n = 0): [17:27:09.289] { [17:27:09.289] { [17:27:09.289] { [17:27:09.289] ...future.startTime <- base::Sys.time() [17:27:09.289] { [17:27:09.289] { [17:27:09.289] { [17:27:09.289] { [17:27:09.289] base::local({ [17:27:09.289] has_future <- base::requireNamespace("future", [17:27:09.289] quietly = TRUE) [17:27:09.289] if (has_future) { [17:27:09.289] ns <- base::getNamespace("future") [17:27:09.289] version <- ns[[".package"]][["version"]] [17:27:09.289] if (is.null(version)) [17:27:09.289] version <- utils::packageVersion("future") [17:27:09.289] } [17:27:09.289] else { [17:27:09.289] version <- NULL [17:27:09.289] } [17:27:09.289] if (!has_future || version < "1.8.0") { [17:27:09.289] info <- base::c(r_version = base::gsub("R version ", [17:27:09.289] "", base::R.version$version.string), [17:27:09.289] platform = base::sprintf("%s (%s-bit)", [17:27:09.289] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:09.289] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:09.289] "release", "version")], collapse = " "), [17:27:09.289] hostname = base::Sys.info()[["nodename"]]) [17:27:09.289] info <- base::sprintf("%s: %s", base::names(info), [17:27:09.289] info) [17:27:09.289] info <- base::paste(info, collapse = "; ") [17:27:09.289] if (!has_future) { [17:27:09.289] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:09.289] info) [17:27:09.289] } [17:27:09.289] else { [17:27:09.289] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:09.289] info, version) [17:27:09.289] } [17:27:09.289] base::stop(msg) [17:27:09.289] } [17:27:09.289] }) [17:27:09.289] } [17:27:09.289] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:09.289] base::options(mc.cores = 1L) [17:27:09.289] } [17:27:09.289] ...future.strategy.old <- future::plan("list") [17:27:09.289] options(future.plan = NULL) [17:27:09.289] Sys.unsetenv("R_FUTURE_PLAN") [17:27:09.289] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:09.289] } [17:27:09.289] ...future.workdir <- getwd() [17:27:09.289] } [17:27:09.289] ...future.oldOptions <- base::as.list(base::.Options) [17:27:09.289] ...future.oldEnvVars <- base::Sys.getenv() [17:27:09.289] } [17:27:09.289] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:09.289] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:09.289] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:09.289] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:09.289] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:09.289] future.stdout.windows.reencode = NULL, width = 80L) [17:27:09.289] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:09.289] base::names(...future.oldOptions)) [17:27:09.289] } [17:27:09.289] if (FALSE) { [17:27:09.289] } [17:27:09.289] else { [17:27:09.289] if (TRUE) { [17:27:09.289] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:09.289] open = "w") [17:27:09.289] } [17:27:09.289] else { [17:27:09.289] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:09.289] windows = "NUL", "/dev/null"), open = "w") [17:27:09.289] } [17:27:09.289] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:09.289] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:09.289] base::sink(type = "output", split = FALSE) [17:27:09.289] base::close(...future.stdout) [17:27:09.289] }, add = TRUE) [17:27:09.289] } [17:27:09.289] ...future.frame <- base::sys.nframe() [17:27:09.289] ...future.conditions <- base::list() [17:27:09.289] ...future.rng <- base::globalenv()$.Random.seed [17:27:09.289] if (FALSE) { [17:27:09.289] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:09.289] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:09.289] } [17:27:09.289] ...future.result <- base::tryCatch({ [17:27:09.289] base::withCallingHandlers({ [17:27:09.289] ...future.value <- base::withVisible(base::local({ [17:27:09.289] ...future.makeSendCondition <- base::local({ [17:27:09.289] sendCondition <- NULL [17:27:09.289] function(frame = 1L) { [17:27:09.289] if (is.function(sendCondition)) [17:27:09.289] return(sendCondition) [17:27:09.289] ns <- getNamespace("parallel") [17:27:09.289] if (exists("sendData", mode = "function", [17:27:09.289] envir = ns)) { [17:27:09.289] parallel_sendData <- get("sendData", mode = "function", [17:27:09.289] envir = ns) [17:27:09.289] envir <- sys.frame(frame) [17:27:09.289] master <- NULL [17:27:09.289] while (!identical(envir, .GlobalEnv) && [17:27:09.289] !identical(envir, emptyenv())) { [17:27:09.289] if (exists("master", mode = "list", envir = envir, [17:27:09.289] inherits = FALSE)) { [17:27:09.289] master <- get("master", mode = "list", [17:27:09.289] envir = envir, inherits = FALSE) [17:27:09.289] if (inherits(master, c("SOCKnode", [17:27:09.289] "SOCK0node"))) { [17:27:09.289] sendCondition <<- function(cond) { [17:27:09.289] data <- list(type = "VALUE", value = cond, [17:27:09.289] success = TRUE) [17:27:09.289] parallel_sendData(master, data) [17:27:09.289] } [17:27:09.289] return(sendCondition) [17:27:09.289] } [17:27:09.289] } [17:27:09.289] frame <- frame + 1L [17:27:09.289] envir <- sys.frame(frame) [17:27:09.289] } [17:27:09.289] } [17:27:09.289] sendCondition <<- function(cond) NULL [17:27:09.289] } [17:27:09.289] }) [17:27:09.289] withCallingHandlers({ [17:27:09.289] fcn(x, y) [17:27:09.289] }, immediateCondition = function(cond) { [17:27:09.289] sendCondition <- ...future.makeSendCondition() [17:27:09.289] sendCondition(cond) [17:27:09.289] muffleCondition <- function (cond, pattern = "^muffle") [17:27:09.289] { [17:27:09.289] inherits <- base::inherits [17:27:09.289] invokeRestart <- base::invokeRestart [17:27:09.289] is.null <- base::is.null [17:27:09.289] muffled <- FALSE [17:27:09.289] if (inherits(cond, "message")) { [17:27:09.289] muffled <- grepl(pattern, "muffleMessage") [17:27:09.289] if (muffled) [17:27:09.289] invokeRestart("muffleMessage") [17:27:09.289] } [17:27:09.289] else if (inherits(cond, "warning")) { [17:27:09.289] muffled <- grepl(pattern, "muffleWarning") [17:27:09.289] if (muffled) [17:27:09.289] invokeRestart("muffleWarning") [17:27:09.289] } [17:27:09.289] else if (inherits(cond, "condition")) { [17:27:09.289] if (!is.null(pattern)) { [17:27:09.289] computeRestarts <- base::computeRestarts [17:27:09.289] grepl <- base::grepl [17:27:09.289] restarts <- computeRestarts(cond) [17:27:09.289] for (restart in restarts) { [17:27:09.289] name <- restart$name [17:27:09.289] if (is.null(name)) [17:27:09.289] next [17:27:09.289] if (!grepl(pattern, name)) [17:27:09.289] next [17:27:09.289] invokeRestart(restart) [17:27:09.289] muffled <- TRUE [17:27:09.289] break [17:27:09.289] } [17:27:09.289] } [17:27:09.289] } [17:27:09.289] invisible(muffled) [17:27:09.289] } [17:27:09.289] muffleCondition(cond) [17:27:09.289] }) [17:27:09.289] })) [17:27:09.289] future::FutureResult(value = ...future.value$value, [17:27:09.289] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:09.289] ...future.rng), globalenv = if (FALSE) [17:27:09.289] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:09.289] ...future.globalenv.names)) [17:27:09.289] else NULL, started = ...future.startTime, version = "1.8") [17:27:09.289] }, condition = base::local({ [17:27:09.289] c <- base::c [17:27:09.289] inherits <- base::inherits [17:27:09.289] invokeRestart <- base::invokeRestart [17:27:09.289] length <- base::length [17:27:09.289] list <- base::list [17:27:09.289] seq.int <- base::seq.int [17:27:09.289] signalCondition <- base::signalCondition [17:27:09.289] sys.calls <- base::sys.calls [17:27:09.289] `[[` <- base::`[[` [17:27:09.289] `+` <- base::`+` [17:27:09.289] `<<-` <- base::`<<-` [17:27:09.289] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:09.289] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:09.289] 3L)] [17:27:09.289] } [17:27:09.289] function(cond) { [17:27:09.289] is_error <- inherits(cond, "error") [17:27:09.289] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:09.289] NULL) [17:27:09.289] if (is_error) { [17:27:09.289] sessionInformation <- function() { [17:27:09.289] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:09.289] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:09.289] search = base::search(), system = base::Sys.info()) [17:27:09.289] } [17:27:09.289] ...future.conditions[[length(...future.conditions) + [17:27:09.289] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:09.289] cond$call), session = sessionInformation(), [17:27:09.289] timestamp = base::Sys.time(), signaled = 0L) [17:27:09.289] signalCondition(cond) [17:27:09.289] } [17:27:09.289] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:09.289] "immediateCondition"))) { [17:27:09.289] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:09.289] ...future.conditions[[length(...future.conditions) + [17:27:09.289] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:09.289] if (TRUE && !signal) { [17:27:09.289] muffleCondition <- function (cond, pattern = "^muffle") [17:27:09.289] { [17:27:09.289] inherits <- base::inherits [17:27:09.289] invokeRestart <- base::invokeRestart [17:27:09.289] is.null <- base::is.null [17:27:09.289] muffled <- FALSE [17:27:09.289] if (inherits(cond, "message")) { [17:27:09.289] muffled <- grepl(pattern, "muffleMessage") [17:27:09.289] if (muffled) [17:27:09.289] invokeRestart("muffleMessage") [17:27:09.289] } [17:27:09.289] else if (inherits(cond, "warning")) { [17:27:09.289] muffled <- grepl(pattern, "muffleWarning") [17:27:09.289] if (muffled) [17:27:09.289] invokeRestart("muffleWarning") [17:27:09.289] } [17:27:09.289] else if (inherits(cond, "condition")) { [17:27:09.289] if (!is.null(pattern)) { [17:27:09.289] computeRestarts <- base::computeRestarts [17:27:09.289] grepl <- base::grepl [17:27:09.289] restarts <- computeRestarts(cond) [17:27:09.289] for (restart in restarts) { [17:27:09.289] name <- restart$name [17:27:09.289] if (is.null(name)) [17:27:09.289] next [17:27:09.289] if (!grepl(pattern, name)) [17:27:09.289] next [17:27:09.289] invokeRestart(restart) [17:27:09.289] muffled <- TRUE [17:27:09.289] break [17:27:09.289] } [17:27:09.289] } [17:27:09.289] } [17:27:09.289] invisible(muffled) [17:27:09.289] } [17:27:09.289] muffleCondition(cond, pattern = "^muffle") [17:27:09.289] } [17:27:09.289] } [17:27:09.289] else { [17:27:09.289] if (TRUE) { [17:27:09.289] muffleCondition <- function (cond, pattern = "^muffle") [17:27:09.289] { [17:27:09.289] inherits <- base::inherits [17:27:09.289] invokeRestart <- base::invokeRestart [17:27:09.289] is.null <- base::is.null [17:27:09.289] muffled <- FALSE [17:27:09.289] if (inherits(cond, "message")) { [17:27:09.289] muffled <- grepl(pattern, "muffleMessage") [17:27:09.289] if (muffled) [17:27:09.289] invokeRestart("muffleMessage") [17:27:09.289] } [17:27:09.289] else if (inherits(cond, "warning")) { [17:27:09.289] muffled <- grepl(pattern, "muffleWarning") [17:27:09.289] if (muffled) [17:27:09.289] invokeRestart("muffleWarning") [17:27:09.289] } [17:27:09.289] else if (inherits(cond, "condition")) { [17:27:09.289] if (!is.null(pattern)) { [17:27:09.289] computeRestarts <- base::computeRestarts [17:27:09.289] grepl <- base::grepl [17:27:09.289] restarts <- computeRestarts(cond) [17:27:09.289] for (restart in restarts) { [17:27:09.289] name <- restart$name [17:27:09.289] if (is.null(name)) [17:27:09.289] next [17:27:09.289] if (!grepl(pattern, name)) [17:27:09.289] next [17:27:09.289] invokeRestart(restart) [17:27:09.289] muffled <- TRUE [17:27:09.289] break [17:27:09.289] } [17:27:09.289] } [17:27:09.289] } [17:27:09.289] invisible(muffled) [17:27:09.289] } [17:27:09.289] muffleCondition(cond, pattern = "^muffle") [17:27:09.289] } [17:27:09.289] } [17:27:09.289] } [17:27:09.289] })) [17:27:09.289] }, error = function(ex) { [17:27:09.289] base::structure(base::list(value = NULL, visible = NULL, [17:27:09.289] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:09.289] ...future.rng), started = ...future.startTime, [17:27:09.289] finished = Sys.time(), session_uuid = NA_character_, [17:27:09.289] version = "1.8"), class = "FutureResult") [17:27:09.289] }, finally = { [17:27:09.289] if (!identical(...future.workdir, getwd())) [17:27:09.289] setwd(...future.workdir) [17:27:09.289] { [17:27:09.289] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:09.289] ...future.oldOptions$nwarnings <- NULL [17:27:09.289] } [17:27:09.289] base::options(...future.oldOptions) [17:27:09.289] if (.Platform$OS.type == "windows") { [17:27:09.289] old_names <- names(...future.oldEnvVars) [17:27:09.289] envs <- base::Sys.getenv() [17:27:09.289] names <- names(envs) [17:27:09.289] common <- intersect(names, old_names) [17:27:09.289] added <- setdiff(names, old_names) [17:27:09.289] removed <- setdiff(old_names, names) [17:27:09.289] changed <- common[...future.oldEnvVars[common] != [17:27:09.289] envs[common]] [17:27:09.289] NAMES <- toupper(changed) [17:27:09.289] args <- list() [17:27:09.289] for (kk in seq_along(NAMES)) { [17:27:09.289] name <- changed[[kk]] [17:27:09.289] NAME <- NAMES[[kk]] [17:27:09.289] if (name != NAME && is.element(NAME, old_names)) [17:27:09.289] next [17:27:09.289] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:09.289] } [17:27:09.289] NAMES <- toupper(added) [17:27:09.289] for (kk in seq_along(NAMES)) { [17:27:09.289] name <- added[[kk]] [17:27:09.289] NAME <- NAMES[[kk]] [17:27:09.289] if (name != NAME && is.element(NAME, old_names)) [17:27:09.289] next [17:27:09.289] args[[name]] <- "" [17:27:09.289] } [17:27:09.289] NAMES <- toupper(removed) [17:27:09.289] for (kk in seq_along(NAMES)) { [17:27:09.289] name <- removed[[kk]] [17:27:09.289] NAME <- NAMES[[kk]] [17:27:09.289] if (name != NAME && is.element(NAME, old_names)) [17:27:09.289] next [17:27:09.289] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:09.289] } [17:27:09.289] if (length(args) > 0) [17:27:09.289] base::do.call(base::Sys.setenv, args = args) [17:27:09.289] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:09.289] } [17:27:09.289] else { [17:27:09.289] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:09.289] } [17:27:09.289] { [17:27:09.289] if (base::length(...future.futureOptionsAdded) > [17:27:09.289] 0L) { [17:27:09.289] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:09.289] base::names(opts) <- ...future.futureOptionsAdded [17:27:09.289] base::options(opts) [17:27:09.289] } [17:27:09.289] { [17:27:09.289] { [17:27:09.289] base::options(mc.cores = ...future.mc.cores.old) [17:27:09.289] NULL [17:27:09.289] } [17:27:09.289] options(future.plan = NULL) [17:27:09.289] if (is.na(NA_character_)) [17:27:09.289] Sys.unsetenv("R_FUTURE_PLAN") [17:27:09.289] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:09.289] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:09.289] .init = FALSE) [17:27:09.289] } [17:27:09.289] } [17:27:09.289] } [17:27:09.289] }) [17:27:09.289] if (TRUE) { [17:27:09.289] base::sink(type = "output", split = FALSE) [17:27:09.289] if (TRUE) { [17:27:09.289] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:09.289] } [17:27:09.289] else { [17:27:09.289] ...future.result["stdout"] <- base::list(NULL) [17:27:09.289] } [17:27:09.289] base::close(...future.stdout) [17:27:09.289] ...future.stdout <- NULL [17:27:09.289] } [17:27:09.289] ...future.result$conditions <- ...future.conditions [17:27:09.289] ...future.result$finished <- base::Sys.time() [17:27:09.289] ...future.result [17:27:09.289] } [17:27:09.298] Exporting 3 global objects (2.19 KiB) to cluster node #1 ... [17:27:09.299] Exporting 'fcn' (1.77 KiB) to cluster node #1 ... [17:27:09.300] Exporting 'fcn' (1.77 KiB) to cluster node #1 ... DONE [17:27:09.301] Exporting 'x' (133 bytes) to cluster node #1 ... [17:27:09.301] Exporting 'x' (133 bytes) to cluster node #1 ... DONE [17:27:09.302] Exporting 'y' (39 bytes) to cluster node #1 ... [17:27:09.302] Exporting 'y' (39 bytes) to cluster node #1 ... DONE [17:27:09.303] Exporting 3 global objects (2.19 KiB) to cluster node #1 ... DONE [17:27:09.304] MultisessionFuture started [17:27:09.304] - Launch lazy future ... done [17:27:09.304] run() for 'MultisessionFuture' ... done [17:27:09.305] result() for ClusterFuture ... [17:27:09.305] receiveMessageFromWorker() for ClusterFuture ... [17:27:09.306] - Validating connection of MultisessionFuture [17:27:09.323] - received message: FutureResult [17:27:09.324] - Received FutureResult [17:27:09.324] - Erased future from FutureRegistry [17:27:09.325] result() for ClusterFuture ... [17:27:09.325] - result already collected: FutureResult [17:27:09.325] result() for ClusterFuture ... done [17:27:09.326] receiveMessageFromWorker() for ClusterFuture ... done [17:27:09.326] result() for ClusterFuture ... done [17:27:09.326] result() for ClusterFuture ... [17:27:09.327] - result already collected: FutureResult [17:27:09.327] result() for ClusterFuture ... done [1] 6 Testing with 2 cores ... DONE > > message("*** Global argument '...' ... DONE") *** Global argument '...' ... DONE > > source("incl/end.R") [17:27:09.329] plan(): Setting new future strategy stack: [17:27:09.329] List of future strategies: [17:27:09.329] 1. FutureStrategy: [17:27:09.329] - args: function (..., envir = parent.frame(), workers = "") [17:27:09.329] - tweaked: FALSE [17:27:09.329] - call: future::plan(oplan) [17:27:09.340] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=205] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CYGWIN', 'CommonProgramFiles(x86)', 'CommonProgramW6432', 'DriverData', 'HOME', 'HOMEDRIVE', 'HOMEPATH', 'JAGS_ROOT', 'JAVA_HOME', 'LANGUAGE', 'LC_COLLATE', 'LC_MONETARY', 'LC_TIME', 'LOCALAPPDATA', 'LOGONSERVER', 'LS_HOME', 'LS_LICENSE_PATH', 'MAKE', 'MAKEFLAGS', 'MAKELEVEL', 'MFLAGS', 'MSMPI_BENCHMARKS', 'MSMPI_BIN', 'MSYS2_ENV_CONV_EXCL', 'NUMBER_OF_PROCESSORS', 'OCL', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RTOOLS43_HOME', 'RTOOLS44_HOME', 'R_ARCH', 'R_BROWSER', 'R_BZIPCMD', 'R_CMD', 'R_COMPILED_BY', 'R_CRAN_WEB', 'R_CUSTOM_TOOLS_PATH', 'R_CUSTOM_TOOLS_SOFT', 'R_DOC_DIR', 'R_ENVIRON_USER', 'R_GSCMD', 'R_GZIPCMD', 'R_HOME', 'R_INCLUDE_DIR', 'R_INSTALL_TAR', 'R_LIBS', 'R_LIBS_SITE', 'R_LIBS_USER', 'R_MAX_NUM_DLLS', 'R_OSTYPE', 'R_PAPERSIZE', 'R_PAPERSIZE_USER', 'R_PARALLELLY_MAKENODEPSOCK_AUTOKILL', 'R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT', 'R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL', 'R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS', 'R_PARALLELLY_MAKENODEPSOCK_TIMEOUT', 'R_PARALLELLY_RANDOM_PORTS', 'R_PARALLEL_PORT', 'R_RD4PDF', 'R_RTOOLS44_PATH', 'R_SCRIPT_LEGACY', 'R_SHARE_DIR', 'R_TESTS', 'R_UNZIPCMD', 'R_USER', 'R_VERSION', 'R_ZIPCMD', 'SED', 'SHLVL', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TAR', 'TAR_OPTIONS', 'TEMP', 'TERM', 'TEXINPUTS', 'TMP', 'TMPDIR', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'WINDIR', '_', '_R_CHECK_AUTOCONF_', '_R_CHECK_BOGUS_RETURN_', '_R_CHECK_BROWSER_NONINTERACTIVE_', '_R_CHECK_BUILD_VIGNETTES_SEPARATELY_', '_R_CHECK_CODETOOLS_PROFILE_', '_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_', '_R_CHECK_CODE_ATTACH_', '_R_CHECK_CODE_CLASS_IS_STRING_', '_R_CHECK_CODE_DATA_INTO_GLOBALENV_', '_R_CHECK_CODE_USAGE_VIA_NAMESPACES_', '_R_CHECK_CODE_USAGE_WITHOUT_LOADING_', '_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_', '_R_CHECK_CODOC_VARIABLES_IN_USAGES_', '_R_CHECK_COMPACT_DATA2_', '_R_CHECK_COMPILATION_FLAGS_', '_R_CHECK_CONNECTIONS_LEFT_OPEN_', '_R_CHECK_CRAN_INCOMING_', '_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_', '_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_', '_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_', '_R_CHECK_CRAN_INCOMING_REMOTE_', '_R_CHECK_CRAN_INCOMING_USE_ASPELL_', '_R_CHECK_DATALIST_', '_R_CHECK_DEPRECATED_DEFUNCT_', '_R_CHECK_DOC_SIZES2_', '_R_CHECK_DOT_FIRSTLIB_', '_R_CHECK_DOT_INTERNAL_', '_R_CHECK_EXAMPLE_TIMING_THRESHOLD_', '_R_CHECK_EXECUTABLES_', '_R_CHECK_EXECUTABLES_EXCLUSIONS_', '_R_CHECK_FF_CALLS_', '_R_CHECK_FF_DUP_', '_R_CHECK_FORCE_SUGGESTS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_', '_R_CHECK_HAVE_MYSQL_', '_R_CHECK_HAVE_ODBC_', '_R_CHECK_HAVE_PERL_', '_R_CHECK_HAVE_POSTGRES_', '_R_CHECK_INSTALL_DEPENDS_', '_R_CHECK_INTERNALS2_', '_R_CHECK_LENGTH_1_CONDITION_', '_R_CHECK_LICENSE_', '_R_CHECK_LIMIT_CORES_', '_R_CHECK_MATRIX_DATA_', '_R_CHECK_MBCS_CONVERSION_FAILURE_', '_R_CHECK_NATIVE_ROUTINE_REGISTRATION_', '_R_CHECK_NEWS_IN_PLAIN_TEXT_', '_R_CHECK_NO_RECOMMENDED_', '_R_CHECK_NO_STOP_ON_TEST_ERROR_', '_R_CHECK_ORPHANED_', '_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_', '_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_', '_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_', '_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_', '_R_CHECK_PACKAGE_NAME_', '_R_CHECK_PKG_SIZES_', '_R_CHECK_PKG_SIZES_THRESHOLD_', '_R_CHECK_PRAGMAS_', '_R_CHECK_RD_EXAMPLES_T_AND_F_', '_R_CHECK_RD_LINE_WIDTHS_', '_R_CHECK_RD_MATH_RENDERING_', '_R_CHECK_RD_NOTE_LOST_BRACES_', '_R_CHECK_RD_VALIDATE_RD2HTML_', '_R_CHECK_REPLACING_IMPORTS_', '_R_CHECK_R_DEPENDS_', '_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_', '_R_CHECK_SCREEN_DEVICE_', '_R_CHECK_SERIALIZATION_', '_R_CHECK_SHLIB_OPENMP_FLAGS_', '_R_CHECK_SRC_MINUS_W_IMPLICIT_', '_R_CHECK_SUBDIRS_NOCASE_', '_R_CHECK_SUGGESTS_ONLY_', '_R_CHECK_SYSTEM_CLOCK_', '_R_CHECK_TESTS_NLINES_', '_R_CHECK_TEST_TIMING_', '_R_CHECK_TIMINGS_', '_R_CHECK_TOPLEVEL_FILES_', '_R_CHECK_UNDOC_USE_ALL_NAMES_', '_R_CHECK_UNSAFE_CALLS_', '_R_CHECK_URLS_SHOW_301_STATUS_', '_R_CHECK_VC_DIRS_', '_R_CHECK_VIGNETTES_NLINES_', '_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_', '_R_CHECK_VIGNETTE_TIMING_', '_R_CHECK_VIGNETTE_TITLES_', '_R_CHECK_WINDOWS_DEVICE_', '_R_CHECK_XREFS_NOTE_MISSING_PACKAGE_ANCHORS_', '_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_DEPRECATED_IS_R_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', '__R_CHECK_DOC_FILES_NOTE_IF_ALL_SPECIAL__', 'maj.version', 'nextArg--timingsnextArg--install' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: List of 3 $ name : chr "MAKEFLAGS" $ expected: 'Dlist' chr "" $ actual : 'Dlist' chr NA > > proc.time() user system elapsed 1.31 0.17 2.50