R Under development (unstable) (2024-05-14 r86553 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") Loading required package: future [10:55:40.981] plan(): Setting new future strategy stack: [10:55:40.982] List of future strategies: [10:55:40.982] 1. mirai_multisession: [10:55:40.982] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [10:55:40.982] - tweaked: FALSE [10:55:40.982] - call: future::plan(future.mirai::mirai_multisession) [10:55:40.994] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [10:55:40.994] < mirai | $data > [10:55:40.999] getGlobalsAndPackages() ... [10:55:41.000] Not searching for globals [10:55:41.000] - globals: [0] [10:55:41.000] getGlobalsAndPackages() ... DONE [10:55:41.001] getGlobalsAndPackages() ... [10:55:41.001] [10:55:41.001] - globals: [0] [10:55:41.001] getGlobalsAndPackages() ... DONE [10:55:41.287] Packages needed by the future expression (n = 0): [10:55:41.288] Packages needed by future strategies (n = 0): [10:55:41.289] { [10:55:41.289] { [10:55:41.289] { [10:55:41.289] ...future.startTime <- base::Sys.time() [10:55:41.289] { [10:55:41.289] { [10:55:41.289] { [10:55:41.289] base::local({ [10:55:41.289] has_future <- base::requireNamespace("future", [10:55:41.289] quietly = TRUE) [10:55:41.289] if (has_future) { [10:55:41.289] ns <- base::getNamespace("future") [10:55:41.289] version <- ns[[".package"]][["version"]] [10:55:41.289] if (is.null(version)) [10:55:41.289] version <- utils::packageVersion("future") [10:55:41.289] } [10:55:41.289] else { [10:55:41.289] version <- NULL [10:55:41.289] } [10:55:41.289] if (!has_future || version < "1.8.0") { [10:55:41.289] info <- base::c(r_version = base::gsub("R version ", [10:55:41.289] "", base::R.version$version.string), [10:55:41.289] platform = base::sprintf("%s (%s-bit)", [10:55:41.289] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:55:41.289] os = base::paste(base::Sys.info()[base::c("sysname", [10:55:41.289] "release", "version")], collapse = " "), [10:55:41.289] hostname = base::Sys.info()[["nodename"]]) [10:55:41.289] info <- base::sprintf("%s: %s", base::names(info), [10:55:41.289] info) [10:55:41.289] info <- base::paste(info, collapse = "; ") [10:55:41.289] if (!has_future) { [10:55:41.289] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:55:41.289] info) [10:55:41.289] } [10:55:41.289] else { [10:55:41.289] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:55:41.289] info, version) [10:55:41.289] } [10:55:41.289] base::stop(msg) [10:55:41.289] } [10:55:41.289] }) [10:55:41.289] } [10:55:41.289] ...future.strategy.old <- future::plan("list") [10:55:41.289] options(future.plan = NULL) [10:55:41.289] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.289] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:55:41.289] } [10:55:41.289] ...future.workdir <- getwd() [10:55:41.289] } [10:55:41.289] ...future.oldOptions <- base::as.list(base::.Options) [10:55:41.289] ...future.oldEnvVars <- base::Sys.getenv() [10:55:41.289] } [10:55:41.289] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:55:41.289] future.globals.maxSize = NULL, future.globals.method = NULL, [10:55:41.289] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:55:41.289] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:55:41.289] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:55:41.289] future.stdout.windows.reencode = NULL, width = 80L) [10:55:41.289] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:55:41.289] base::names(...future.oldOptions)) [10:55:41.289] } [10:55:41.289] if (FALSE) { [10:55:41.289] } [10:55:41.289] else { [10:55:41.289] if (TRUE) { [10:55:41.289] ...future.stdout <- base::rawConnection(base::raw(0L), [10:55:41.289] open = "w") [10:55:41.289] } [10:55:41.289] else { [10:55:41.289] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:55:41.289] windows = "NUL", "/dev/null"), open = "w") [10:55:41.289] } [10:55:41.289] base::sink(...future.stdout, type = "output", split = FALSE) [10:55:41.289] base::on.exit(if (!base::is.null(...future.stdout)) { [10:55:41.289] base::sink(type = "output", split = FALSE) [10:55:41.289] base::close(...future.stdout) [10:55:41.289] }, add = TRUE) [10:55:41.289] } [10:55:41.289] ...future.frame <- base::sys.nframe() [10:55:41.289] ...future.conditions <- base::list() [10:55:41.289] ...future.rng <- base::globalenv()$.Random.seed [10:55:41.289] if (FALSE) { [10:55:41.289] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:55:41.289] "...future.value", "...future.globalenv.names", ".Random.seed") [10:55:41.289] } [10:55:41.289] ...future.result <- base::tryCatch({ [10:55:41.289] base::withCallingHandlers({ [10:55:41.289] ...future.value <- base::withVisible(base::local(NA)) [10:55:41.289] future::FutureResult(value = ...future.value$value, [10:55:41.289] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.289] ...future.rng), globalenv = if (FALSE) [10:55:41.289] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:55:41.289] ...future.globalenv.names)) [10:55:41.289] else NULL, started = ...future.startTime, version = "1.8") [10:55:41.289] }, condition = base::local({ [10:55:41.289] c <- base::c [10:55:41.289] inherits <- base::inherits [10:55:41.289] invokeRestart <- base::invokeRestart [10:55:41.289] length <- base::length [10:55:41.289] list <- base::list [10:55:41.289] seq.int <- base::seq.int [10:55:41.289] signalCondition <- base::signalCondition [10:55:41.289] sys.calls <- base::sys.calls [10:55:41.289] `[[` <- base::`[[` [10:55:41.289] `+` <- base::`+` [10:55:41.289] `<<-` <- base::`<<-` [10:55:41.289] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:55:41.289] calls[seq.int(from = from + 12L, to = length(calls) - [10:55:41.289] 3L)] [10:55:41.289] } [10:55:41.289] function(cond) { [10:55:41.289] is_error <- inherits(cond, "error") [10:55:41.289] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:55:41.289] NULL) [10:55:41.289] if (is_error) { [10:55:41.289] sessionInformation <- function() { [10:55:41.289] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:55:41.289] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:55:41.289] search = base::search(), system = base::Sys.info()) [10:55:41.289] } [10:55:41.289] ...future.conditions[[length(...future.conditions) + [10:55:41.289] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:55:41.289] cond$call), session = sessionInformation(), [10:55:41.289] timestamp = base::Sys.time(), signaled = 0L) [10:55:41.289] signalCondition(cond) [10:55:41.289] } [10:55:41.289] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:55:41.289] signal <- FALSE && inherits(cond, character(0)) [10:55:41.289] ...future.conditions[[length(...future.conditions) + [10:55:41.289] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:55:41.289] if (FALSE && !signal) { [10:55:41.289] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.289] { [10:55:41.289] inherits <- base::inherits [10:55:41.289] invokeRestart <- base::invokeRestart [10:55:41.289] is.null <- base::is.null [10:55:41.289] muffled <- FALSE [10:55:41.289] if (inherits(cond, "message")) { [10:55:41.289] muffled <- grepl(pattern, "muffleMessage") [10:55:41.289] if (muffled) [10:55:41.289] invokeRestart("muffleMessage") [10:55:41.289] } [10:55:41.289] else if (inherits(cond, "warning")) { [10:55:41.289] muffled <- grepl(pattern, "muffleWarning") [10:55:41.289] if (muffled) [10:55:41.289] invokeRestart("muffleWarning") [10:55:41.289] } [10:55:41.289] else if (inherits(cond, "condition")) { [10:55:41.289] if (!is.null(pattern)) { [10:55:41.289] computeRestarts <- base::computeRestarts [10:55:41.289] grepl <- base::grepl [10:55:41.289] restarts <- computeRestarts(cond) [10:55:41.289] for (restart in restarts) { [10:55:41.289] name <- restart$name [10:55:41.289] if (is.null(name)) [10:55:41.289] next [10:55:41.289] if (!grepl(pattern, name)) [10:55:41.289] next [10:55:41.289] invokeRestart(restart) [10:55:41.289] muffled <- TRUE [10:55:41.289] break [10:55:41.289] } [10:55:41.289] } [10:55:41.289] } [10:55:41.289] invisible(muffled) [10:55:41.289] } [10:55:41.289] muffleCondition(cond, pattern = "^muffle") [10:55:41.289] } [10:55:41.289] } [10:55:41.289] else { [10:55:41.289] if (TRUE) { [10:55:41.289] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.289] { [10:55:41.289] inherits <- base::inherits [10:55:41.289] invokeRestart <- base::invokeRestart [10:55:41.289] is.null <- base::is.null [10:55:41.289] muffled <- FALSE [10:55:41.289] if (inherits(cond, "message")) { [10:55:41.289] muffled <- grepl(pattern, "muffleMessage") [10:55:41.289] if (muffled) [10:55:41.289] invokeRestart("muffleMessage") [10:55:41.289] } [10:55:41.289] else if (inherits(cond, "warning")) { [10:55:41.289] muffled <- grepl(pattern, "muffleWarning") [10:55:41.289] if (muffled) [10:55:41.289] invokeRestart("muffleWarning") [10:55:41.289] } [10:55:41.289] else if (inherits(cond, "condition")) { [10:55:41.289] if (!is.null(pattern)) { [10:55:41.289] computeRestarts <- base::computeRestarts [10:55:41.289] grepl <- base::grepl [10:55:41.289] restarts <- computeRestarts(cond) [10:55:41.289] for (restart in restarts) { [10:55:41.289] name <- restart$name [10:55:41.289] if (is.null(name)) [10:55:41.289] next [10:55:41.289] if (!grepl(pattern, name)) [10:55:41.289] next [10:55:41.289] invokeRestart(restart) [10:55:41.289] muffled <- TRUE [10:55:41.289] break [10:55:41.289] } [10:55:41.289] } [10:55:41.289] } [10:55:41.289] invisible(muffled) [10:55:41.289] } [10:55:41.289] muffleCondition(cond, pattern = "^muffle") [10:55:41.289] } [10:55:41.289] } [10:55:41.289] } [10:55:41.289] })) [10:55:41.289] }, error = function(ex) { [10:55:41.289] base::structure(base::list(value = NULL, visible = NULL, [10:55:41.289] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.289] ...future.rng), started = ...future.startTime, [10:55:41.289] finished = Sys.time(), session_uuid = NA_character_, [10:55:41.289] version = "1.8"), class = "FutureResult") [10:55:41.289] }, finally = { [10:55:41.289] if (!identical(...future.workdir, getwd())) [10:55:41.289] setwd(...future.workdir) [10:55:41.289] { [10:55:41.289] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:55:41.289] ...future.oldOptions$nwarnings <- NULL [10:55:41.289] } [10:55:41.289] base::options(...future.oldOptions) [10:55:41.289] if (.Platform$OS.type == "windows") { [10:55:41.289] old_names <- names(...future.oldEnvVars) [10:55:41.289] envs <- base::Sys.getenv() [10:55:41.289] names <- names(envs) [10:55:41.289] common <- intersect(names, old_names) [10:55:41.289] added <- setdiff(names, old_names) [10:55:41.289] removed <- setdiff(old_names, names) [10:55:41.289] changed <- common[...future.oldEnvVars[common] != [10:55:41.289] envs[common]] [10:55:41.289] NAMES <- toupper(changed) [10:55:41.289] args <- list() [10:55:41.289] for (kk in seq_along(NAMES)) { [10:55:41.289] name <- changed[[kk]] [10:55:41.289] NAME <- NAMES[[kk]] [10:55:41.289] if (name != NAME && is.element(NAME, old_names)) [10:55:41.289] next [10:55:41.289] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.289] } [10:55:41.289] NAMES <- toupper(added) [10:55:41.289] for (kk in seq_along(NAMES)) { [10:55:41.289] name <- added[[kk]] [10:55:41.289] NAME <- NAMES[[kk]] [10:55:41.289] if (name != NAME && is.element(NAME, old_names)) [10:55:41.289] next [10:55:41.289] args[[name]] <- "" [10:55:41.289] } [10:55:41.289] NAMES <- toupper(removed) [10:55:41.289] for (kk in seq_along(NAMES)) { [10:55:41.289] name <- removed[[kk]] [10:55:41.289] NAME <- NAMES[[kk]] [10:55:41.289] if (name != NAME && is.element(NAME, old_names)) [10:55:41.289] next [10:55:41.289] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.289] } [10:55:41.289] if (length(args) > 0) [10:55:41.289] base::do.call(base::Sys.setenv, args = args) [10:55:41.289] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:55:41.289] } [10:55:41.289] else { [10:55:41.289] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:55:41.289] } [10:55:41.289] { [10:55:41.289] if (base::length(...future.futureOptionsAdded) > [10:55:41.289] 0L) { [10:55:41.289] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:55:41.289] base::names(opts) <- ...future.futureOptionsAdded [10:55:41.289] base::options(opts) [10:55:41.289] } [10:55:41.289] { [10:55:41.289] NULL [10:55:41.289] options(future.plan = NULL) [10:55:41.289] if (is.na(NA_character_)) [10:55:41.289] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.289] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:55:41.289] future::plan(...future.strategy.old, .cleanup = FALSE, [10:55:41.289] .init = FALSE) [10:55:41.289] } [10:55:41.289] } [10:55:41.289] } [10:55:41.289] }) [10:55:41.289] if (TRUE) { [10:55:41.289] base::sink(type = "output", split = FALSE) [10:55:41.289] if (TRUE) { [10:55:41.289] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:55:41.289] } [10:55:41.289] else { [10:55:41.289] ...future.result["stdout"] <- base::list(NULL) [10:55:41.289] } [10:55:41.289] base::close(...future.stdout) [10:55:41.289] ...future.stdout <- NULL [10:55:41.289] } [10:55:41.289] ...future.result$conditions <- ...future.conditions [10:55:41.289] ...future.result$finished <- base::Sys.time() [10:55:41.289] ...future.result [10:55:41.289] } [10:55:41.410] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [10:55:41.411] plan(): nbrOfWorkers() = 2 > library("listenv") > > message("*** Global argument '...' in futures ...") *** Global argument '...' in futures ... > > 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 + } > > > for (strategy in c("mirai_cluster", "mirai_multisession")) { + plan(strategy, substitute = FALSE) + + for (name in names(sum_fcns)) { + mprintf("** Sum function '%s' with plan('%s') ...", name, strategy) + sum_fcn <- sum_fcns[[name]] + print(sum_fcn) + y <- tryCatch({ + sum_fcn(1:2, 3) + }, error = identity) + print(y) + if (name %in% c("D")) { + stopifnot(inherits(y, "error")) + } else { + stopifnot(y == 6) + } + } + } [10:55:41.428] plan(): Setting new future strategy stack: [10:55:41.428] List of future strategies: [10:55:41.428] 1. mirai_cluster: [10:55:41.428] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = "") [10:55:41.428] - tweaked: FALSE [10:55:41.428] - call: plan(strategy, substitute = FALSE) [10:55:41.443] plan(): plan_init() of 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [10:55:41.444] < mirai | $data > [10:55:41.444] getGlobalsAndPackages() ... [10:55:41.444] Not searching for globals [10:55:41.444] - globals: [0] [10:55:41.444] getGlobalsAndPackages() ... DONE [10:55:41.445] getGlobalsAndPackages() ... [10:55:41.445] [10:55:41.445] - globals: [0] [10:55:41.445] getGlobalsAndPackages() ... DONE [10:55:41.446] Packages needed by the future expression (n = 0): [10:55:41.446] Packages needed by future strategies (n = 0): [10:55:41.446] { [10:55:41.446] { [10:55:41.446] { [10:55:41.446] ...future.startTime <- base::Sys.time() [10:55:41.446] { [10:55:41.446] { [10:55:41.446] { [10:55:41.446] base::local({ [10:55:41.446] has_future <- base::requireNamespace("future", [10:55:41.446] quietly = TRUE) [10:55:41.446] if (has_future) { [10:55:41.446] ns <- base::getNamespace("future") [10:55:41.446] version <- ns[[".package"]][["version"]] [10:55:41.446] if (is.null(version)) [10:55:41.446] version <- utils::packageVersion("future") [10:55:41.446] } [10:55:41.446] else { [10:55:41.446] version <- NULL [10:55:41.446] } [10:55:41.446] if (!has_future || version < "1.8.0") { [10:55:41.446] info <- base::c(r_version = base::gsub("R version ", [10:55:41.446] "", base::R.version$version.string), [10:55:41.446] platform = base::sprintf("%s (%s-bit)", [10:55:41.446] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:55:41.446] os = base::paste(base::Sys.info()[base::c("sysname", [10:55:41.446] "release", "version")], collapse = " "), [10:55:41.446] hostname = base::Sys.info()[["nodename"]]) [10:55:41.446] info <- base::sprintf("%s: %s", base::names(info), [10:55:41.446] info) [10:55:41.446] info <- base::paste(info, collapse = "; ") [10:55:41.446] if (!has_future) { [10:55:41.446] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:55:41.446] info) [10:55:41.446] } [10:55:41.446] else { [10:55:41.446] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:55:41.446] info, version) [10:55:41.446] } [10:55:41.446] base::stop(msg) [10:55:41.446] } [10:55:41.446] }) [10:55:41.446] } [10:55:41.446] ...future.strategy.old <- future::plan("list") [10:55:41.446] options(future.plan = NULL) [10:55:41.446] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.446] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:55:41.446] } [10:55:41.446] ...future.workdir <- getwd() [10:55:41.446] } [10:55:41.446] ...future.oldOptions <- base::as.list(base::.Options) [10:55:41.446] ...future.oldEnvVars <- base::Sys.getenv() [10:55:41.446] } [10:55:41.446] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:55:41.446] future.globals.maxSize = NULL, future.globals.method = NULL, [10:55:41.446] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:55:41.446] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:55:41.446] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:55:41.446] future.stdout.windows.reencode = NULL, width = 80L) [10:55:41.446] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:55:41.446] base::names(...future.oldOptions)) [10:55:41.446] } [10:55:41.446] if (FALSE) { [10:55:41.446] } [10:55:41.446] else { [10:55:41.446] if (TRUE) { [10:55:41.446] ...future.stdout <- base::rawConnection(base::raw(0L), [10:55:41.446] open = "w") [10:55:41.446] } [10:55:41.446] else { [10:55:41.446] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:55:41.446] windows = "NUL", "/dev/null"), open = "w") [10:55:41.446] } [10:55:41.446] base::sink(...future.stdout, type = "output", split = FALSE) [10:55:41.446] base::on.exit(if (!base::is.null(...future.stdout)) { [10:55:41.446] base::sink(type = "output", split = FALSE) [10:55:41.446] base::close(...future.stdout) [10:55:41.446] }, add = TRUE) [10:55:41.446] } [10:55:41.446] ...future.frame <- base::sys.nframe() [10:55:41.446] ...future.conditions <- base::list() [10:55:41.446] ...future.rng <- base::globalenv()$.Random.seed [10:55:41.446] if (FALSE) { [10:55:41.446] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:55:41.446] "...future.value", "...future.globalenv.names", ".Random.seed") [10:55:41.446] } [10:55:41.446] ...future.result <- base::tryCatch({ [10:55:41.446] base::withCallingHandlers({ [10:55:41.446] ...future.value <- base::withVisible(base::local(NA)) [10:55:41.446] future::FutureResult(value = ...future.value$value, [10:55:41.446] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.446] ...future.rng), globalenv = if (FALSE) [10:55:41.446] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:55:41.446] ...future.globalenv.names)) [10:55:41.446] else NULL, started = ...future.startTime, version = "1.8") [10:55:41.446] }, condition = base::local({ [10:55:41.446] c <- base::c [10:55:41.446] inherits <- base::inherits [10:55:41.446] invokeRestart <- base::invokeRestart [10:55:41.446] length <- base::length [10:55:41.446] list <- base::list [10:55:41.446] seq.int <- base::seq.int [10:55:41.446] signalCondition <- base::signalCondition [10:55:41.446] sys.calls <- base::sys.calls [10:55:41.446] `[[` <- base::`[[` [10:55:41.446] `+` <- base::`+` [10:55:41.446] `<<-` <- base::`<<-` [10:55:41.446] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:55:41.446] calls[seq.int(from = from + 12L, to = length(calls) - [10:55:41.446] 3L)] [10:55:41.446] } [10:55:41.446] function(cond) { [10:55:41.446] is_error <- inherits(cond, "error") [10:55:41.446] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:55:41.446] NULL) [10:55:41.446] if (is_error) { [10:55:41.446] sessionInformation <- function() { [10:55:41.446] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:55:41.446] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:55:41.446] search = base::search(), system = base::Sys.info()) [10:55:41.446] } [10:55:41.446] ...future.conditions[[length(...future.conditions) + [10:55:41.446] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:55:41.446] cond$call), session = sessionInformation(), [10:55:41.446] timestamp = base::Sys.time(), signaled = 0L) [10:55:41.446] signalCondition(cond) [10:55:41.446] } [10:55:41.446] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:55:41.446] signal <- FALSE && inherits(cond, character(0)) [10:55:41.446] ...future.conditions[[length(...future.conditions) + [10:55:41.446] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:55:41.446] if (FALSE && !signal) { [10:55:41.446] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.446] { [10:55:41.446] inherits <- base::inherits [10:55:41.446] invokeRestart <- base::invokeRestart [10:55:41.446] is.null <- base::is.null [10:55:41.446] muffled <- FALSE [10:55:41.446] if (inherits(cond, "message")) { [10:55:41.446] muffled <- grepl(pattern, "muffleMessage") [10:55:41.446] if (muffled) [10:55:41.446] invokeRestart("muffleMessage") [10:55:41.446] } [10:55:41.446] else if (inherits(cond, "warning")) { [10:55:41.446] muffled <- grepl(pattern, "muffleWarning") [10:55:41.446] if (muffled) [10:55:41.446] invokeRestart("muffleWarning") [10:55:41.446] } [10:55:41.446] else if (inherits(cond, "condition")) { [10:55:41.446] if (!is.null(pattern)) { [10:55:41.446] computeRestarts <- base::computeRestarts [10:55:41.446] grepl <- base::grepl [10:55:41.446] restarts <- computeRestarts(cond) [10:55:41.446] for (restart in restarts) { [10:55:41.446] name <- restart$name [10:55:41.446] if (is.null(name)) [10:55:41.446] next [10:55:41.446] if (!grepl(pattern, name)) [10:55:41.446] next [10:55:41.446] invokeRestart(restart) [10:55:41.446] muffled <- TRUE [10:55:41.446] break [10:55:41.446] } [10:55:41.446] } [10:55:41.446] } [10:55:41.446] invisible(muffled) [10:55:41.446] } [10:55:41.446] muffleCondition(cond, pattern = "^muffle") [10:55:41.446] } [10:55:41.446] } [10:55:41.446] else { [10:55:41.446] if (TRUE) { [10:55:41.446] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.446] { [10:55:41.446] inherits <- base::inherits [10:55:41.446] invokeRestart <- base::invokeRestart [10:55:41.446] is.null <- base::is.null [10:55:41.446] muffled <- FALSE [10:55:41.446] if (inherits(cond, "message")) { [10:55:41.446] muffled <- grepl(pattern, "muffleMessage") [10:55:41.446] if (muffled) [10:55:41.446] invokeRestart("muffleMessage") [10:55:41.446] } [10:55:41.446] else if (inherits(cond, "warning")) { [10:55:41.446] muffled <- grepl(pattern, "muffleWarning") [10:55:41.446] if (muffled) [10:55:41.446] invokeRestart("muffleWarning") [10:55:41.446] } [10:55:41.446] else if (inherits(cond, "condition")) { [10:55:41.446] if (!is.null(pattern)) { [10:55:41.446] computeRestarts <- base::computeRestarts [10:55:41.446] grepl <- base::grepl [10:55:41.446] restarts <- computeRestarts(cond) [10:55:41.446] for (restart in restarts) { [10:55:41.446] name <- restart$name [10:55:41.446] if (is.null(name)) [10:55:41.446] next [10:55:41.446] if (!grepl(pattern, name)) [10:55:41.446] next [10:55:41.446] invokeRestart(restart) [10:55:41.446] muffled <- TRUE [10:55:41.446] break [10:55:41.446] } [10:55:41.446] } [10:55:41.446] } [10:55:41.446] invisible(muffled) [10:55:41.446] } [10:55:41.446] muffleCondition(cond, pattern = "^muffle") [10:55:41.446] } [10:55:41.446] } [10:55:41.446] } [10:55:41.446] })) [10:55:41.446] }, error = function(ex) { [10:55:41.446] base::structure(base::list(value = NULL, visible = NULL, [10:55:41.446] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.446] ...future.rng), started = ...future.startTime, [10:55:41.446] finished = Sys.time(), session_uuid = NA_character_, [10:55:41.446] version = "1.8"), class = "FutureResult") [10:55:41.446] }, finally = { [10:55:41.446] if (!identical(...future.workdir, getwd())) [10:55:41.446] setwd(...future.workdir) [10:55:41.446] { [10:55:41.446] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:55:41.446] ...future.oldOptions$nwarnings <- NULL [10:55:41.446] } [10:55:41.446] base::options(...future.oldOptions) [10:55:41.446] if (.Platform$OS.type == "windows") { [10:55:41.446] old_names <- names(...future.oldEnvVars) [10:55:41.446] envs <- base::Sys.getenv() [10:55:41.446] names <- names(envs) [10:55:41.446] common <- intersect(names, old_names) [10:55:41.446] added <- setdiff(names, old_names) [10:55:41.446] removed <- setdiff(old_names, names) [10:55:41.446] changed <- common[...future.oldEnvVars[common] != [10:55:41.446] envs[common]] [10:55:41.446] NAMES <- toupper(changed) [10:55:41.446] args <- list() [10:55:41.446] for (kk in seq_along(NAMES)) { [10:55:41.446] name <- changed[[kk]] [10:55:41.446] NAME <- NAMES[[kk]] [10:55:41.446] if (name != NAME && is.element(NAME, old_names)) [10:55:41.446] next [10:55:41.446] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.446] } [10:55:41.446] NAMES <- toupper(added) [10:55:41.446] for (kk in seq_along(NAMES)) { [10:55:41.446] name <- added[[kk]] [10:55:41.446] NAME <- NAMES[[kk]] [10:55:41.446] if (name != NAME && is.element(NAME, old_names)) [10:55:41.446] next [10:55:41.446] args[[name]] <- "" [10:55:41.446] } [10:55:41.446] NAMES <- toupper(removed) [10:55:41.446] for (kk in seq_along(NAMES)) { [10:55:41.446] name <- removed[[kk]] [10:55:41.446] NAME <- NAMES[[kk]] [10:55:41.446] if (name != NAME && is.element(NAME, old_names)) [10:55:41.446] next [10:55:41.446] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.446] } [10:55:41.446] if (length(args) > 0) [10:55:41.446] base::do.call(base::Sys.setenv, args = args) [10:55:41.446] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:55:41.446] } [10:55:41.446] else { [10:55:41.446] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:55:41.446] } [10:55:41.446] { [10:55:41.446] if (base::length(...future.futureOptionsAdded) > [10:55:41.446] 0L) { [10:55:41.446] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:55:41.446] base::names(opts) <- ...future.futureOptionsAdded [10:55:41.446] base::options(opts) [10:55:41.446] } [10:55:41.446] { [10:55:41.446] NULL [10:55:41.446] options(future.plan = NULL) [10:55:41.446] if (is.na(NA_character_)) [10:55:41.446] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.446] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:55:41.446] future::plan(...future.strategy.old, .cleanup = FALSE, [10:55:41.446] .init = FALSE) [10:55:41.446] } [10:55:41.446] } [10:55:41.446] } [10:55:41.446] }) [10:55:41.446] if (TRUE) { [10:55:41.446] base::sink(type = "output", split = FALSE) [10:55:41.446] if (TRUE) { [10:55:41.446] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:55:41.446] } [10:55:41.446] else { [10:55:41.446] ...future.result["stdout"] <- base::list(NULL) [10:55:41.446] } [10:55:41.446] base::close(...future.stdout) [10:55:41.446] ...future.stdout <- NULL [10:55:41.446] } [10:55:41.446] ...future.result$conditions <- ...future.conditions [10:55:41.446] ...future.result$finished <- base::Sys.time() [10:55:41.446] ...future.result [10:55:41.446] } [10:55:41.559] plan(): plan_init() of 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [10:55:41.559] plan(): nbrOfWorkers() = 2 [10:55:41.559] ** Sum function 'A' with plan('mirai_cluster') ...function (x, ...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } Arguments '...' exists: TRUE [10:55:41.561] getGlobalsAndPackages() ... [10:55:41.561] Searching for globals... [10:55:41.570] - globals found: [4] '{', 'sum', 'x', '...' [10:55:41.570] Searching for globals ... DONE [10:55:41.570] Resolving globals: FALSE [10:55:41.571] Tweak future expression to call with '...' arguments ... [10:55:41.571] { [10:55:41.571] do.call(function(...) { [10:55:41.571] sum(x, ...) [10:55:41.571] }, args = future.call.arguments) [10:55:41.571] } [10:55:41.571] Tweak future expression to call with '...' arguments ... DONE [10:55:41.573] The total size of the 2 globals is 112 bytes (112 bytes) [10:55:41.573] The total size of the 2 globals exported for future expression ('{; sum(x, ...); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'future.call.arguments' (56 bytes of class 'list') [10:55:41.574] - globals: [2] 'x', 'future.call.arguments' [10:55:41.574] [10:55:41.574] getGlobalsAndPackages() ... DONE [10:55:41.575] run() for 'Future' ... [10:55:41.575] - state: 'created' [10:55:41.575] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:55:41.575] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:55:41.576] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:55:41.576] - Field: 'label' [10:55:41.576] - Field: 'local' [10:55:41.576] - Field: 'owner' [10:55:41.576] - Field: 'envir' [10:55:41.577] - Field: 'packages' [10:55:41.577] - Field: 'gc' [10:55:41.577] - Field: 'conditions' [10:55:41.577] - Field: 'expr' [10:55:41.577] - Field: 'uuid' [10:55:41.577] - Field: 'seed' [10:55:41.578] - Field: 'version' [10:55:41.578] - Field: 'result' [10:55:41.578] - Field: 'asynchronous' [10:55:41.578] - Field: 'calls' [10:55:41.578] - Field: 'globals' [10:55:41.578] - Field: 'stdout' [10:55:41.579] - Field: 'earlySignal' [10:55:41.579] - Field: 'lazy' [10:55:41.579] - Field: 'state' [10:55:41.579] - Field: '.cluster' [10:55:41.579] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:55:41.580] - Launch lazy future ... [10:55:41.580] Packages needed by the future expression (n = 0): [10:55:41.580] Packages needed by future strategies (n = 0): [10:55:41.581] { [10:55:41.581] { [10:55:41.581] { [10:55:41.581] ...future.startTime <- base::Sys.time() [10:55:41.581] { [10:55:41.581] { [10:55:41.581] { [10:55:41.581] base::local({ [10:55:41.581] has_future <- base::requireNamespace("future", [10:55:41.581] quietly = TRUE) [10:55:41.581] if (has_future) { [10:55:41.581] ns <- base::getNamespace("future") [10:55:41.581] version <- ns[[".package"]][["version"]] [10:55:41.581] if (is.null(version)) [10:55:41.581] version <- utils::packageVersion("future") [10:55:41.581] } [10:55:41.581] else { [10:55:41.581] version <- NULL [10:55:41.581] } [10:55:41.581] if (!has_future || version < "1.8.0") { [10:55:41.581] info <- base::c(r_version = base::gsub("R version ", [10:55:41.581] "", base::R.version$version.string), [10:55:41.581] platform = base::sprintf("%s (%s-bit)", [10:55:41.581] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:55:41.581] os = base::paste(base::Sys.info()[base::c("sysname", [10:55:41.581] "release", "version")], collapse = " "), [10:55:41.581] hostname = base::Sys.info()[["nodename"]]) [10:55:41.581] info <- base::sprintf("%s: %s", base::names(info), [10:55:41.581] info) [10:55:41.581] info <- base::paste(info, collapse = "; ") [10:55:41.581] if (!has_future) { [10:55:41.581] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:55:41.581] info) [10:55:41.581] } [10:55:41.581] else { [10:55:41.581] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:55:41.581] info, version) [10:55:41.581] } [10:55:41.581] base::stop(msg) [10:55:41.581] } [10:55:41.581] }) [10:55:41.581] } [10:55:41.581] ...future.strategy.old <- future::plan("list") [10:55:41.581] options(future.plan = NULL) [10:55:41.581] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.581] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:55:41.581] } [10:55:41.581] ...future.workdir <- getwd() [10:55:41.581] } [10:55:41.581] ...future.oldOptions <- base::as.list(base::.Options) [10:55:41.581] ...future.oldEnvVars <- base::Sys.getenv() [10:55:41.581] } [10:55:41.581] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:55:41.581] future.globals.maxSize = NULL, future.globals.method = NULL, [10:55:41.581] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:55:41.581] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:55:41.581] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:55:41.581] future.stdout.windows.reencode = NULL, width = 80L) [10:55:41.581] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:55:41.581] base::names(...future.oldOptions)) [10:55:41.581] } [10:55:41.581] if (FALSE) { [10:55:41.581] } [10:55:41.581] else { [10:55:41.581] if (TRUE) { [10:55:41.581] ...future.stdout <- base::rawConnection(base::raw(0L), [10:55:41.581] open = "w") [10:55:41.581] } [10:55:41.581] else { [10:55:41.581] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:55:41.581] windows = "NUL", "/dev/null"), open = "w") [10:55:41.581] } [10:55:41.581] base::sink(...future.stdout, type = "output", split = FALSE) [10:55:41.581] base::on.exit(if (!base::is.null(...future.stdout)) { [10:55:41.581] base::sink(type = "output", split = FALSE) [10:55:41.581] base::close(...future.stdout) [10:55:41.581] }, add = TRUE) [10:55:41.581] } [10:55:41.581] ...future.frame <- base::sys.nframe() [10:55:41.581] ...future.conditions <- base::list() [10:55:41.581] ...future.rng <- base::globalenv()$.Random.seed [10:55:41.581] if (FALSE) { [10:55:41.581] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:55:41.581] "...future.value", "...future.globalenv.names", ".Random.seed") [10:55:41.581] } [10:55:41.581] ...future.result <- base::tryCatch({ [10:55:41.581] base::withCallingHandlers({ [10:55:41.581] ...future.value <- base::withVisible(base::local({ [10:55:41.581] do.call(function(...) { [10:55:41.581] sum(x, ...) [10:55:41.581] }, args = future.call.arguments) [10:55:41.581] })) [10:55:41.581] future::FutureResult(value = ...future.value$value, [10:55:41.581] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.581] ...future.rng), globalenv = if (FALSE) [10:55:41.581] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:55:41.581] ...future.globalenv.names)) [10:55:41.581] else NULL, started = ...future.startTime, version = "1.8") [10:55:41.581] }, condition = base::local({ [10:55:41.581] c <- base::c [10:55:41.581] inherits <- base::inherits [10:55:41.581] invokeRestart <- base::invokeRestart [10:55:41.581] length <- base::length [10:55:41.581] list <- base::list [10:55:41.581] seq.int <- base::seq.int [10:55:41.581] signalCondition <- base::signalCondition [10:55:41.581] sys.calls <- base::sys.calls [10:55:41.581] `[[` <- base::`[[` [10:55:41.581] `+` <- base::`+` [10:55:41.581] `<<-` <- base::`<<-` [10:55:41.581] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:55:41.581] calls[seq.int(from = from + 12L, to = length(calls) - [10:55:41.581] 3L)] [10:55:41.581] } [10:55:41.581] function(cond) { [10:55:41.581] is_error <- inherits(cond, "error") [10:55:41.581] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:55:41.581] NULL) [10:55:41.581] if (is_error) { [10:55:41.581] sessionInformation <- function() { [10:55:41.581] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:55:41.581] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:55:41.581] search = base::search(), system = base::Sys.info()) [10:55:41.581] } [10:55:41.581] ...future.conditions[[length(...future.conditions) + [10:55:41.581] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:55:41.581] cond$call), session = sessionInformation(), [10:55:41.581] timestamp = base::Sys.time(), signaled = 0L) [10:55:41.581] signalCondition(cond) [10:55:41.581] } [10:55:41.581] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:55:41.581] signal <- FALSE && inherits(cond, character(0)) [10:55:41.581] ...future.conditions[[length(...future.conditions) + [10:55:41.581] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:55:41.581] if (FALSE && !signal) { [10:55:41.581] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.581] { [10:55:41.581] inherits <- base::inherits [10:55:41.581] invokeRestart <- base::invokeRestart [10:55:41.581] is.null <- base::is.null [10:55:41.581] muffled <- FALSE [10:55:41.581] if (inherits(cond, "message")) { [10:55:41.581] muffled <- grepl(pattern, "muffleMessage") [10:55:41.581] if (muffled) [10:55:41.581] invokeRestart("muffleMessage") [10:55:41.581] } [10:55:41.581] else if (inherits(cond, "warning")) { [10:55:41.581] muffled <- grepl(pattern, "muffleWarning") [10:55:41.581] if (muffled) [10:55:41.581] invokeRestart("muffleWarning") [10:55:41.581] } [10:55:41.581] else if (inherits(cond, "condition")) { [10:55:41.581] if (!is.null(pattern)) { [10:55:41.581] computeRestarts <- base::computeRestarts [10:55:41.581] grepl <- base::grepl [10:55:41.581] restarts <- computeRestarts(cond) [10:55:41.581] for (restart in restarts) { [10:55:41.581] name <- restart$name [10:55:41.581] if (is.null(name)) [10:55:41.581] next [10:55:41.581] if (!grepl(pattern, name)) [10:55:41.581] next [10:55:41.581] invokeRestart(restart) [10:55:41.581] muffled <- TRUE [10:55:41.581] break [10:55:41.581] } [10:55:41.581] } [10:55:41.581] } [10:55:41.581] invisible(muffled) [10:55:41.581] } [10:55:41.581] muffleCondition(cond, pattern = "^muffle") [10:55:41.581] } [10:55:41.581] } [10:55:41.581] else { [10:55:41.581] if (TRUE) { [10:55:41.581] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.581] { [10:55:41.581] inherits <- base::inherits [10:55:41.581] invokeRestart <- base::invokeRestart [10:55:41.581] is.null <- base::is.null [10:55:41.581] muffled <- FALSE [10:55:41.581] if (inherits(cond, "message")) { [10:55:41.581] muffled <- grepl(pattern, "muffleMessage") [10:55:41.581] if (muffled) [10:55:41.581] invokeRestart("muffleMessage") [10:55:41.581] } [10:55:41.581] else if (inherits(cond, "warning")) { [10:55:41.581] muffled <- grepl(pattern, "muffleWarning") [10:55:41.581] if (muffled) [10:55:41.581] invokeRestart("muffleWarning") [10:55:41.581] } [10:55:41.581] else if (inherits(cond, "condition")) { [10:55:41.581] if (!is.null(pattern)) { [10:55:41.581] computeRestarts <- base::computeRestarts [10:55:41.581] grepl <- base::grepl [10:55:41.581] restarts <- computeRestarts(cond) [10:55:41.581] for (restart in restarts) { [10:55:41.581] name <- restart$name [10:55:41.581] if (is.null(name)) [10:55:41.581] next [10:55:41.581] if (!grepl(pattern, name)) [10:55:41.581] next [10:55:41.581] invokeRestart(restart) [10:55:41.581] muffled <- TRUE [10:55:41.581] break [10:55:41.581] } [10:55:41.581] } [10:55:41.581] } [10:55:41.581] invisible(muffled) [10:55:41.581] } [10:55:41.581] muffleCondition(cond, pattern = "^muffle") [10:55:41.581] } [10:55:41.581] } [10:55:41.581] } [10:55:41.581] })) [10:55:41.581] }, error = function(ex) { [10:55:41.581] base::structure(base::list(value = NULL, visible = NULL, [10:55:41.581] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.581] ...future.rng), started = ...future.startTime, [10:55:41.581] finished = Sys.time(), session_uuid = NA_character_, [10:55:41.581] version = "1.8"), class = "FutureResult") [10:55:41.581] }, finally = { [10:55:41.581] if (!identical(...future.workdir, getwd())) [10:55:41.581] setwd(...future.workdir) [10:55:41.581] { [10:55:41.581] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:55:41.581] ...future.oldOptions$nwarnings <- NULL [10:55:41.581] } [10:55:41.581] base::options(...future.oldOptions) [10:55:41.581] if (.Platform$OS.type == "windows") { [10:55:41.581] old_names <- names(...future.oldEnvVars) [10:55:41.581] envs <- base::Sys.getenv() [10:55:41.581] names <- names(envs) [10:55:41.581] common <- intersect(names, old_names) [10:55:41.581] added <- setdiff(names, old_names) [10:55:41.581] removed <- setdiff(old_names, names) [10:55:41.581] changed <- common[...future.oldEnvVars[common] != [10:55:41.581] envs[common]] [10:55:41.581] NAMES <- toupper(changed) [10:55:41.581] args <- list() [10:55:41.581] for (kk in seq_along(NAMES)) { [10:55:41.581] name <- changed[[kk]] [10:55:41.581] NAME <- NAMES[[kk]] [10:55:41.581] if (name != NAME && is.element(NAME, old_names)) [10:55:41.581] next [10:55:41.581] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.581] } [10:55:41.581] NAMES <- toupper(added) [10:55:41.581] for (kk in seq_along(NAMES)) { [10:55:41.581] name <- added[[kk]] [10:55:41.581] NAME <- NAMES[[kk]] [10:55:41.581] if (name != NAME && is.element(NAME, old_names)) [10:55:41.581] next [10:55:41.581] args[[name]] <- "" [10:55:41.581] } [10:55:41.581] NAMES <- toupper(removed) [10:55:41.581] for (kk in seq_along(NAMES)) { [10:55:41.581] name <- removed[[kk]] [10:55:41.581] NAME <- NAMES[[kk]] [10:55:41.581] if (name != NAME && is.element(NAME, old_names)) [10:55:41.581] next [10:55:41.581] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.581] } [10:55:41.581] if (length(args) > 0) [10:55:41.581] base::do.call(base::Sys.setenv, args = args) [10:55:41.581] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:55:41.581] } [10:55:41.581] else { [10:55:41.581] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:55:41.581] } [10:55:41.581] { [10:55:41.581] if (base::length(...future.futureOptionsAdded) > [10:55:41.581] 0L) { [10:55:41.581] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:55:41.581] base::names(opts) <- ...future.futureOptionsAdded [10:55:41.581] base::options(opts) [10:55:41.581] } [10:55:41.581] { [10:55:41.581] NULL [10:55:41.581] options(future.plan = NULL) [10:55:41.581] if (is.na(NA_character_)) [10:55:41.581] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.581] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:55:41.581] future::plan(...future.strategy.old, .cleanup = FALSE, [10:55:41.581] .init = FALSE) [10:55:41.581] } [10:55:41.581] } [10:55:41.581] } [10:55:41.581] }) [10:55:41.581] if (TRUE) { [10:55:41.581] base::sink(type = "output", split = FALSE) [10:55:41.581] if (TRUE) { [10:55:41.581] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:55:41.581] } [10:55:41.581] else { [10:55:41.581] ...future.result["stdout"] <- base::list(NULL) [10:55:41.581] } [10:55:41.581] base::close(...future.stdout) [10:55:41.581] ...future.stdout <- NULL [10:55:41.581] } [10:55:41.581] ...future.result$conditions <- ...future.conditions [10:55:41.581] ...future.result$finished <- base::Sys.time() [10:55:41.581] ...future.result [10:55:41.581] } [10:55:41.585] - Launch lazy future ... done [10:55:41.585] run() for 'MiraiFuture' ... done [1] 6 [10:55:41.588] ** Sum function 'B' with plan('mirai_cluster') ...function (x, ...) { sumt <- function(x) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } sumt(x) } Arguments '...' exists: TRUE [10:55:41.588] getGlobalsAndPackages() ... [10:55:41.588] Searching for globals... [10:55:41.590] - globals found: [4] '{', 'sum', 'x', '...' [10:55:41.590] Searching for globals ... DONE [10:55:41.590] Resolving globals: FALSE [10:55:41.591] Tweak future expression to call with '...' arguments ... [10:55:41.591] { [10:55:41.591] do.call(function(...) { [10:55:41.591] sum(x, ...) [10:55:41.591] }, args = future.call.arguments) [10:55:41.591] } [10:55:41.591] Tweak future expression to call with '...' arguments ... DONE [10:55:41.595] The total size of the 2 globals is 112 bytes (112 bytes) [10:55:41.595] The total size of the 2 globals exported for future expression ('{; sum(x, ...); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'future.call.arguments' (56 bytes of class 'list') [10:55:41.595] - globals: [2] 'x', 'future.call.arguments' [10:55:41.596] [10:55:41.596] getGlobalsAndPackages() ... DONE [10:55:41.596] run() for 'Future' ... [10:55:41.596] - state: 'created' [10:55:41.596] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:55:41.597] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:55:41.597] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:55:41.597] - Field: 'label' [10:55:41.597] - Field: 'local' [10:55:41.598] - Field: 'owner' [10:55:41.598] - Field: 'envir' [10:55:41.598] - Field: 'packages' [10:55:41.598] - Field: 'gc' [10:55:41.598] - Field: 'conditions' [10:55:41.598] - Field: 'expr' [10:55:41.599] - Field: 'uuid' [10:55:41.599] - Field: 'seed' [10:55:41.599] - Field: 'version' [10:55:41.599] - Field: 'result' [10:55:41.599] - Field: 'asynchronous' [10:55:41.599] - Field: 'calls' [10:55:41.600] - Field: 'globals' [10:55:41.600] - Field: 'stdout' [10:55:41.600] - Field: 'earlySignal' [10:55:41.600] - Field: 'lazy' [10:55:41.600] - Field: 'state' [10:55:41.601] - Field: '.cluster' [10:55:41.601] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:55:41.601] - Launch lazy future ... [10:55:41.601] Packages needed by the future expression (n = 0): [10:55:41.601] Packages needed by future strategies (n = 0): [10:55:41.602] { [10:55:41.602] { [10:55:41.602] { [10:55:41.602] ...future.startTime <- base::Sys.time() [10:55:41.602] { [10:55:41.602] { [10:55:41.602] { [10:55:41.602] base::local({ [10:55:41.602] has_future <- base::requireNamespace("future", [10:55:41.602] quietly = TRUE) [10:55:41.602] if (has_future) { [10:55:41.602] ns <- base::getNamespace("future") [10:55:41.602] version <- ns[[".package"]][["version"]] [10:55:41.602] if (is.null(version)) [10:55:41.602] version <- utils::packageVersion("future") [10:55:41.602] } [10:55:41.602] else { [10:55:41.602] version <- NULL [10:55:41.602] } [10:55:41.602] if (!has_future || version < "1.8.0") { [10:55:41.602] info <- base::c(r_version = base::gsub("R version ", [10:55:41.602] "", base::R.version$version.string), [10:55:41.602] platform = base::sprintf("%s (%s-bit)", [10:55:41.602] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:55:41.602] os = base::paste(base::Sys.info()[base::c("sysname", [10:55:41.602] "release", "version")], collapse = " "), [10:55:41.602] hostname = base::Sys.info()[["nodename"]]) [10:55:41.602] info <- base::sprintf("%s: %s", base::names(info), [10:55:41.602] info) [10:55:41.602] info <- base::paste(info, collapse = "; ") [10:55:41.602] if (!has_future) { [10:55:41.602] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:55:41.602] info) [10:55:41.602] } [10:55:41.602] else { [10:55:41.602] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:55:41.602] info, version) [10:55:41.602] } [10:55:41.602] base::stop(msg) [10:55:41.602] } [10:55:41.602] }) [10:55:41.602] } [10:55:41.602] ...future.strategy.old <- future::plan("list") [10:55:41.602] options(future.plan = NULL) [10:55:41.602] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.602] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:55:41.602] } [10:55:41.602] ...future.workdir <- getwd() [10:55:41.602] } [10:55:41.602] ...future.oldOptions <- base::as.list(base::.Options) [10:55:41.602] ...future.oldEnvVars <- base::Sys.getenv() [10:55:41.602] } [10:55:41.602] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:55:41.602] future.globals.maxSize = NULL, future.globals.method = NULL, [10:55:41.602] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:55:41.602] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:55:41.602] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:55:41.602] future.stdout.windows.reencode = NULL, width = 80L) [10:55:41.602] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:55:41.602] base::names(...future.oldOptions)) [10:55:41.602] } [10:55:41.602] if (FALSE) { [10:55:41.602] } [10:55:41.602] else { [10:55:41.602] if (TRUE) { [10:55:41.602] ...future.stdout <- base::rawConnection(base::raw(0L), [10:55:41.602] open = "w") [10:55:41.602] } [10:55:41.602] else { [10:55:41.602] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:55:41.602] windows = "NUL", "/dev/null"), open = "w") [10:55:41.602] } [10:55:41.602] base::sink(...future.stdout, type = "output", split = FALSE) [10:55:41.602] base::on.exit(if (!base::is.null(...future.stdout)) { [10:55:41.602] base::sink(type = "output", split = FALSE) [10:55:41.602] base::close(...future.stdout) [10:55:41.602] }, add = TRUE) [10:55:41.602] } [10:55:41.602] ...future.frame <- base::sys.nframe() [10:55:41.602] ...future.conditions <- base::list() [10:55:41.602] ...future.rng <- base::globalenv()$.Random.seed [10:55:41.602] if (FALSE) { [10:55:41.602] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:55:41.602] "...future.value", "...future.globalenv.names", ".Random.seed") [10:55:41.602] } [10:55:41.602] ...future.result <- base::tryCatch({ [10:55:41.602] base::withCallingHandlers({ [10:55:41.602] ...future.value <- base::withVisible(base::local({ [10:55:41.602] do.call(function(...) { [10:55:41.602] sum(x, ...) [10:55:41.602] }, args = future.call.arguments) [10:55:41.602] })) [10:55:41.602] future::FutureResult(value = ...future.value$value, [10:55:41.602] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.602] ...future.rng), globalenv = if (FALSE) [10:55:41.602] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:55:41.602] ...future.globalenv.names)) [10:55:41.602] else NULL, started = ...future.startTime, version = "1.8") [10:55:41.602] }, condition = base::local({ [10:55:41.602] c <- base::c [10:55:41.602] inherits <- base::inherits [10:55:41.602] invokeRestart <- base::invokeRestart [10:55:41.602] length <- base::length [10:55:41.602] list <- base::list [10:55:41.602] seq.int <- base::seq.int [10:55:41.602] signalCondition <- base::signalCondition [10:55:41.602] sys.calls <- base::sys.calls [10:55:41.602] `[[` <- base::`[[` [10:55:41.602] `+` <- base::`+` [10:55:41.602] `<<-` <- base::`<<-` [10:55:41.602] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:55:41.602] calls[seq.int(from = from + 12L, to = length(calls) - [10:55:41.602] 3L)] [10:55:41.602] } [10:55:41.602] function(cond) { [10:55:41.602] is_error <- inherits(cond, "error") [10:55:41.602] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:55:41.602] NULL) [10:55:41.602] if (is_error) { [10:55:41.602] sessionInformation <- function() { [10:55:41.602] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:55:41.602] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:55:41.602] search = base::search(), system = base::Sys.info()) [10:55:41.602] } [10:55:41.602] ...future.conditions[[length(...future.conditions) + [10:55:41.602] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:55:41.602] cond$call), session = sessionInformation(), [10:55:41.602] timestamp = base::Sys.time(), signaled = 0L) [10:55:41.602] signalCondition(cond) [10:55:41.602] } [10:55:41.602] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:55:41.602] signal <- FALSE && inherits(cond, character(0)) [10:55:41.602] ...future.conditions[[length(...future.conditions) + [10:55:41.602] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:55:41.602] if (FALSE && !signal) { [10:55:41.602] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.602] { [10:55:41.602] inherits <- base::inherits [10:55:41.602] invokeRestart <- base::invokeRestart [10:55:41.602] is.null <- base::is.null [10:55:41.602] muffled <- FALSE [10:55:41.602] if (inherits(cond, "message")) { [10:55:41.602] muffled <- grepl(pattern, "muffleMessage") [10:55:41.602] if (muffled) [10:55:41.602] invokeRestart("muffleMessage") [10:55:41.602] } [10:55:41.602] else if (inherits(cond, "warning")) { [10:55:41.602] muffled <- grepl(pattern, "muffleWarning") [10:55:41.602] if (muffled) [10:55:41.602] invokeRestart("muffleWarning") [10:55:41.602] } [10:55:41.602] else if (inherits(cond, "condition")) { [10:55:41.602] if (!is.null(pattern)) { [10:55:41.602] computeRestarts <- base::computeRestarts [10:55:41.602] grepl <- base::grepl [10:55:41.602] restarts <- computeRestarts(cond) [10:55:41.602] for (restart in restarts) { [10:55:41.602] name <- restart$name [10:55:41.602] if (is.null(name)) [10:55:41.602] next [10:55:41.602] if (!grepl(pattern, name)) [10:55:41.602] next [10:55:41.602] invokeRestart(restart) [10:55:41.602] muffled <- TRUE [10:55:41.602] break [10:55:41.602] } [10:55:41.602] } [10:55:41.602] } [10:55:41.602] invisible(muffled) [10:55:41.602] } [10:55:41.602] muffleCondition(cond, pattern = "^muffle") [10:55:41.602] } [10:55:41.602] } [10:55:41.602] else { [10:55:41.602] if (TRUE) { [10:55:41.602] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.602] { [10:55:41.602] inherits <- base::inherits [10:55:41.602] invokeRestart <- base::invokeRestart [10:55:41.602] is.null <- base::is.null [10:55:41.602] muffled <- FALSE [10:55:41.602] if (inherits(cond, "message")) { [10:55:41.602] muffled <- grepl(pattern, "muffleMessage") [10:55:41.602] if (muffled) [10:55:41.602] invokeRestart("muffleMessage") [10:55:41.602] } [10:55:41.602] else if (inherits(cond, "warning")) { [10:55:41.602] muffled <- grepl(pattern, "muffleWarning") [10:55:41.602] if (muffled) [10:55:41.602] invokeRestart("muffleWarning") [10:55:41.602] } [10:55:41.602] else if (inherits(cond, "condition")) { [10:55:41.602] if (!is.null(pattern)) { [10:55:41.602] computeRestarts <- base::computeRestarts [10:55:41.602] grepl <- base::grepl [10:55:41.602] restarts <- computeRestarts(cond) [10:55:41.602] for (restart in restarts) { [10:55:41.602] name <- restart$name [10:55:41.602] if (is.null(name)) [10:55:41.602] next [10:55:41.602] if (!grepl(pattern, name)) [10:55:41.602] next [10:55:41.602] invokeRestart(restart) [10:55:41.602] muffled <- TRUE [10:55:41.602] break [10:55:41.602] } [10:55:41.602] } [10:55:41.602] } [10:55:41.602] invisible(muffled) [10:55:41.602] } [10:55:41.602] muffleCondition(cond, pattern = "^muffle") [10:55:41.602] } [10:55:41.602] } [10:55:41.602] } [10:55:41.602] })) [10:55:41.602] }, error = function(ex) { [10:55:41.602] base::structure(base::list(value = NULL, visible = NULL, [10:55:41.602] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.602] ...future.rng), started = ...future.startTime, [10:55:41.602] finished = Sys.time(), session_uuid = NA_character_, [10:55:41.602] version = "1.8"), class = "FutureResult") [10:55:41.602] }, finally = { [10:55:41.602] if (!identical(...future.workdir, getwd())) [10:55:41.602] setwd(...future.workdir) [10:55:41.602] { [10:55:41.602] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:55:41.602] ...future.oldOptions$nwarnings <- NULL [10:55:41.602] } [10:55:41.602] base::options(...future.oldOptions) [10:55:41.602] if (.Platform$OS.type == "windows") { [10:55:41.602] old_names <- names(...future.oldEnvVars) [10:55:41.602] envs <- base::Sys.getenv() [10:55:41.602] names <- names(envs) [10:55:41.602] common <- intersect(names, old_names) [10:55:41.602] added <- setdiff(names, old_names) [10:55:41.602] removed <- setdiff(old_names, names) [10:55:41.602] changed <- common[...future.oldEnvVars[common] != [10:55:41.602] envs[common]] [10:55:41.602] NAMES <- toupper(changed) [10:55:41.602] args <- list() [10:55:41.602] for (kk in seq_along(NAMES)) { [10:55:41.602] name <- changed[[kk]] [10:55:41.602] NAME <- NAMES[[kk]] [10:55:41.602] if (name != NAME && is.element(NAME, old_names)) [10:55:41.602] next [10:55:41.602] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.602] } [10:55:41.602] NAMES <- toupper(added) [10:55:41.602] for (kk in seq_along(NAMES)) { [10:55:41.602] name <- added[[kk]] [10:55:41.602] NAME <- NAMES[[kk]] [10:55:41.602] if (name != NAME && is.element(NAME, old_names)) [10:55:41.602] next [10:55:41.602] args[[name]] <- "" [10:55:41.602] } [10:55:41.602] NAMES <- toupper(removed) [10:55:41.602] for (kk in seq_along(NAMES)) { [10:55:41.602] name <- removed[[kk]] [10:55:41.602] NAME <- NAMES[[kk]] [10:55:41.602] if (name != NAME && is.element(NAME, old_names)) [10:55:41.602] next [10:55:41.602] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.602] } [10:55:41.602] if (length(args) > 0) [10:55:41.602] base::do.call(base::Sys.setenv, args = args) [10:55:41.602] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:55:41.602] } [10:55:41.602] else { [10:55:41.602] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:55:41.602] } [10:55:41.602] { [10:55:41.602] if (base::length(...future.futureOptionsAdded) > [10:55:41.602] 0L) { [10:55:41.602] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:55:41.602] base::names(opts) <- ...future.futureOptionsAdded [10:55:41.602] base::options(opts) [10:55:41.602] } [10:55:41.602] { [10:55:41.602] NULL [10:55:41.602] options(future.plan = NULL) [10:55:41.602] if (is.na(NA_character_)) [10:55:41.602] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.602] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:55:41.602] future::plan(...future.strategy.old, .cleanup = FALSE, [10:55:41.602] .init = FALSE) [10:55:41.602] } [10:55:41.602] } [10:55:41.602] } [10:55:41.602] }) [10:55:41.602] if (TRUE) { [10:55:41.602] base::sink(type = "output", split = FALSE) [10:55:41.602] if (TRUE) { [10:55:41.602] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:55:41.602] } [10:55:41.602] else { [10:55:41.602] ...future.result["stdout"] <- base::list(NULL) [10:55:41.602] } [10:55:41.602] base::close(...future.stdout) [10:55:41.602] ...future.stdout <- NULL [10:55:41.602] } [10:55:41.602] ...future.result$conditions <- ...future.conditions [10:55:41.602] ...future.result$finished <- base::Sys.time() [10:55:41.602] ...future.result [10:55:41.602] } [10:55:41.606] - Launch lazy future ... done [10:55:41.606] run() for 'MiraiFuture' ... done [1] 6 [10:55:41.608] ** Sum function 'C' with plan('mirai_cluster') ...function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y) } y } Arguments '...' exists: FALSE [10:55:41.609] getGlobalsAndPackages() ... [10:55:41.609] Searching for globals... [10:55:41.610] - globals found: [4] '{', 'sum', 'x', 'y' [10:55:41.610] Searching for globals ... DONE [10:55:41.611] Resolving globals: FALSE [10:55:41.611] The total size of the 2 globals is 112 bytes (112 bytes) [10:55:41.612] The total size of the 2 globals exported for future expression ('{; sum(x, y); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'y' (56 bytes of class 'numeric') [10:55:41.612] - globals: [2] 'x', 'y' [10:55:41.612] [10:55:41.612] getGlobalsAndPackages() ... DONE [10:55:41.612] run() for 'Future' ... [10:55:41.613] - state: 'created' [10:55:41.613] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:55:41.613] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:55:41.613] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:55:41.614] - Field: 'label' [10:55:41.614] - Field: 'local' [10:55:41.614] - Field: 'owner' [10:55:41.614] - Field: 'envir' [10:55:41.614] - Field: 'packages' [10:55:41.615] - Field: 'gc' [10:55:41.615] - Field: 'conditions' [10:55:41.615] - Field: 'expr' [10:55:41.615] - Field: 'uuid' [10:55:41.615] - Field: 'seed' [10:55:41.615] - Field: 'version' [10:55:41.616] - Field: 'result' [10:55:41.616] - Field: 'asynchronous' [10:55:41.616] - Field: 'calls' [10:55:41.616] - Field: 'globals' [10:55:41.616] - Field: 'stdout' [10:55:41.616] - Field: 'earlySignal' [10:55:41.617] - Field: 'lazy' [10:55:41.617] - Field: 'state' [10:55:41.617] - Field: '.cluster' [10:55:41.617] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:55:41.617] - Launch lazy future ... [10:55:41.617] Packages needed by the future expression (n = 0): [10:55:41.618] Packages needed by future strategies (n = 0): [10:55:41.618] { [10:55:41.618] { [10:55:41.618] { [10:55:41.618] ...future.startTime <- base::Sys.time() [10:55:41.618] { [10:55:41.618] { [10:55:41.618] { [10:55:41.618] base::local({ [10:55:41.618] has_future <- base::requireNamespace("future", [10:55:41.618] quietly = TRUE) [10:55:41.618] if (has_future) { [10:55:41.618] ns <- base::getNamespace("future") [10:55:41.618] version <- ns[[".package"]][["version"]] [10:55:41.618] if (is.null(version)) [10:55:41.618] version <- utils::packageVersion("future") [10:55:41.618] } [10:55:41.618] else { [10:55:41.618] version <- NULL [10:55:41.618] } [10:55:41.618] if (!has_future || version < "1.8.0") { [10:55:41.618] info <- base::c(r_version = base::gsub("R version ", [10:55:41.618] "", base::R.version$version.string), [10:55:41.618] platform = base::sprintf("%s (%s-bit)", [10:55:41.618] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:55:41.618] os = base::paste(base::Sys.info()[base::c("sysname", [10:55:41.618] "release", "version")], collapse = " "), [10:55:41.618] hostname = base::Sys.info()[["nodename"]]) [10:55:41.618] info <- base::sprintf("%s: %s", base::names(info), [10:55:41.618] info) [10:55:41.618] info <- base::paste(info, collapse = "; ") [10:55:41.618] if (!has_future) { [10:55:41.618] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:55:41.618] info) [10:55:41.618] } [10:55:41.618] else { [10:55:41.618] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:55:41.618] info, version) [10:55:41.618] } [10:55:41.618] base::stop(msg) [10:55:41.618] } [10:55:41.618] }) [10:55:41.618] } [10:55:41.618] ...future.strategy.old <- future::plan("list") [10:55:41.618] options(future.plan = NULL) [10:55:41.618] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.618] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:55:41.618] } [10:55:41.618] ...future.workdir <- getwd() [10:55:41.618] } [10:55:41.618] ...future.oldOptions <- base::as.list(base::.Options) [10:55:41.618] ...future.oldEnvVars <- base::Sys.getenv() [10:55:41.618] } [10:55:41.618] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:55:41.618] future.globals.maxSize = NULL, future.globals.method = NULL, [10:55:41.618] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:55:41.618] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:55:41.618] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:55:41.618] future.stdout.windows.reencode = NULL, width = 80L) [10:55:41.618] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:55:41.618] base::names(...future.oldOptions)) [10:55:41.618] } [10:55:41.618] if (FALSE) { [10:55:41.618] } [10:55:41.618] else { [10:55:41.618] if (TRUE) { [10:55:41.618] ...future.stdout <- base::rawConnection(base::raw(0L), [10:55:41.618] open = "w") [10:55:41.618] } [10:55:41.618] else { [10:55:41.618] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:55:41.618] windows = "NUL", "/dev/null"), open = "w") [10:55:41.618] } [10:55:41.618] base::sink(...future.stdout, type = "output", split = FALSE) [10:55:41.618] base::on.exit(if (!base::is.null(...future.stdout)) { [10:55:41.618] base::sink(type = "output", split = FALSE) [10:55:41.618] base::close(...future.stdout) [10:55:41.618] }, add = TRUE) [10:55:41.618] } [10:55:41.618] ...future.frame <- base::sys.nframe() [10:55:41.618] ...future.conditions <- base::list() [10:55:41.618] ...future.rng <- base::globalenv()$.Random.seed [10:55:41.618] if (FALSE) { [10:55:41.618] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:55:41.618] "...future.value", "...future.globalenv.names", ".Random.seed") [10:55:41.618] } [10:55:41.618] ...future.result <- base::tryCatch({ [10:55:41.618] base::withCallingHandlers({ [10:55:41.618] ...future.value <- base::withVisible(base::local({ [10:55:41.618] sum(x, y) [10:55:41.618] })) [10:55:41.618] future::FutureResult(value = ...future.value$value, [10:55:41.618] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.618] ...future.rng), globalenv = if (FALSE) [10:55:41.618] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:55:41.618] ...future.globalenv.names)) [10:55:41.618] else NULL, started = ...future.startTime, version = "1.8") [10:55:41.618] }, condition = base::local({ [10:55:41.618] c <- base::c [10:55:41.618] inherits <- base::inherits [10:55:41.618] invokeRestart <- base::invokeRestart [10:55:41.618] length <- base::length [10:55:41.618] list <- base::list [10:55:41.618] seq.int <- base::seq.int [10:55:41.618] signalCondition <- base::signalCondition [10:55:41.618] sys.calls <- base::sys.calls [10:55:41.618] `[[` <- base::`[[` [10:55:41.618] `+` <- base::`+` [10:55:41.618] `<<-` <- base::`<<-` [10:55:41.618] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:55:41.618] calls[seq.int(from = from + 12L, to = length(calls) - [10:55:41.618] 3L)] [10:55:41.618] } [10:55:41.618] function(cond) { [10:55:41.618] is_error <- inherits(cond, "error") [10:55:41.618] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:55:41.618] NULL) [10:55:41.618] if (is_error) { [10:55:41.618] sessionInformation <- function() { [10:55:41.618] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:55:41.618] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:55:41.618] search = base::search(), system = base::Sys.info()) [10:55:41.618] } [10:55:41.618] ...future.conditions[[length(...future.conditions) + [10:55:41.618] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:55:41.618] cond$call), session = sessionInformation(), [10:55:41.618] timestamp = base::Sys.time(), signaled = 0L) [10:55:41.618] signalCondition(cond) [10:55:41.618] } [10:55:41.618] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:55:41.618] signal <- FALSE && inherits(cond, character(0)) [10:55:41.618] ...future.conditions[[length(...future.conditions) + [10:55:41.618] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:55:41.618] if (FALSE && !signal) { [10:55:41.618] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.618] { [10:55:41.618] inherits <- base::inherits [10:55:41.618] invokeRestart <- base::invokeRestart [10:55:41.618] is.null <- base::is.null [10:55:41.618] muffled <- FALSE [10:55:41.618] if (inherits(cond, "message")) { [10:55:41.618] muffled <- grepl(pattern, "muffleMessage") [10:55:41.618] if (muffled) [10:55:41.618] invokeRestart("muffleMessage") [10:55:41.618] } [10:55:41.618] else if (inherits(cond, "warning")) { [10:55:41.618] muffled <- grepl(pattern, "muffleWarning") [10:55:41.618] if (muffled) [10:55:41.618] invokeRestart("muffleWarning") [10:55:41.618] } [10:55:41.618] else if (inherits(cond, "condition")) { [10:55:41.618] if (!is.null(pattern)) { [10:55:41.618] computeRestarts <- base::computeRestarts [10:55:41.618] grepl <- base::grepl [10:55:41.618] restarts <- computeRestarts(cond) [10:55:41.618] for (restart in restarts) { [10:55:41.618] name <- restart$name [10:55:41.618] if (is.null(name)) [10:55:41.618] next [10:55:41.618] if (!grepl(pattern, name)) [10:55:41.618] next [10:55:41.618] invokeRestart(restart) [10:55:41.618] muffled <- TRUE [10:55:41.618] break [10:55:41.618] } [10:55:41.618] } [10:55:41.618] } [10:55:41.618] invisible(muffled) [10:55:41.618] } [10:55:41.618] muffleCondition(cond, pattern = "^muffle") [10:55:41.618] } [10:55:41.618] } [10:55:41.618] else { [10:55:41.618] if (TRUE) { [10:55:41.618] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.618] { [10:55:41.618] inherits <- base::inherits [10:55:41.618] invokeRestart <- base::invokeRestart [10:55:41.618] is.null <- base::is.null [10:55:41.618] muffled <- FALSE [10:55:41.618] if (inherits(cond, "message")) { [10:55:41.618] muffled <- grepl(pattern, "muffleMessage") [10:55:41.618] if (muffled) [10:55:41.618] invokeRestart("muffleMessage") [10:55:41.618] } [10:55:41.618] else if (inherits(cond, "warning")) { [10:55:41.618] muffled <- grepl(pattern, "muffleWarning") [10:55:41.618] if (muffled) [10:55:41.618] invokeRestart("muffleWarning") [10:55:41.618] } [10:55:41.618] else if (inherits(cond, "condition")) { [10:55:41.618] if (!is.null(pattern)) { [10:55:41.618] computeRestarts <- base::computeRestarts [10:55:41.618] grepl <- base::grepl [10:55:41.618] restarts <- computeRestarts(cond) [10:55:41.618] for (restart in restarts) { [10:55:41.618] name <- restart$name [10:55:41.618] if (is.null(name)) [10:55:41.618] next [10:55:41.618] if (!grepl(pattern, name)) [10:55:41.618] next [10:55:41.618] invokeRestart(restart) [10:55:41.618] muffled <- TRUE [10:55:41.618] break [10:55:41.618] } [10:55:41.618] } [10:55:41.618] } [10:55:41.618] invisible(muffled) [10:55:41.618] } [10:55:41.618] muffleCondition(cond, pattern = "^muffle") [10:55:41.618] } [10:55:41.618] } [10:55:41.618] } [10:55:41.618] })) [10:55:41.618] }, error = function(ex) { [10:55:41.618] base::structure(base::list(value = NULL, visible = NULL, [10:55:41.618] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.618] ...future.rng), started = ...future.startTime, [10:55:41.618] finished = Sys.time(), session_uuid = NA_character_, [10:55:41.618] version = "1.8"), class = "FutureResult") [10:55:41.618] }, finally = { [10:55:41.618] if (!identical(...future.workdir, getwd())) [10:55:41.618] setwd(...future.workdir) [10:55:41.618] { [10:55:41.618] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:55:41.618] ...future.oldOptions$nwarnings <- NULL [10:55:41.618] } [10:55:41.618] base::options(...future.oldOptions) [10:55:41.618] if (.Platform$OS.type == "windows") { [10:55:41.618] old_names <- names(...future.oldEnvVars) [10:55:41.618] envs <- base::Sys.getenv() [10:55:41.618] names <- names(envs) [10:55:41.618] common <- intersect(names, old_names) [10:55:41.618] added <- setdiff(names, old_names) [10:55:41.618] removed <- setdiff(old_names, names) [10:55:41.618] changed <- common[...future.oldEnvVars[common] != [10:55:41.618] envs[common]] [10:55:41.618] NAMES <- toupper(changed) [10:55:41.618] args <- list() [10:55:41.618] for (kk in seq_along(NAMES)) { [10:55:41.618] name <- changed[[kk]] [10:55:41.618] NAME <- NAMES[[kk]] [10:55:41.618] if (name != NAME && is.element(NAME, old_names)) [10:55:41.618] next [10:55:41.618] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.618] } [10:55:41.618] NAMES <- toupper(added) [10:55:41.618] for (kk in seq_along(NAMES)) { [10:55:41.618] name <- added[[kk]] [10:55:41.618] NAME <- NAMES[[kk]] [10:55:41.618] if (name != NAME && is.element(NAME, old_names)) [10:55:41.618] next [10:55:41.618] args[[name]] <- "" [10:55:41.618] } [10:55:41.618] NAMES <- toupper(removed) [10:55:41.618] for (kk in seq_along(NAMES)) { [10:55:41.618] name <- removed[[kk]] [10:55:41.618] NAME <- NAMES[[kk]] [10:55:41.618] if (name != NAME && is.element(NAME, old_names)) [10:55:41.618] next [10:55:41.618] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.618] } [10:55:41.618] if (length(args) > 0) [10:55:41.618] base::do.call(base::Sys.setenv, args = args) [10:55:41.618] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:55:41.618] } [10:55:41.618] else { [10:55:41.618] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:55:41.618] } [10:55:41.618] { [10:55:41.618] if (base::length(...future.futureOptionsAdded) > [10:55:41.618] 0L) { [10:55:41.618] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:55:41.618] base::names(opts) <- ...future.futureOptionsAdded [10:55:41.618] base::options(opts) [10:55:41.618] } [10:55:41.618] { [10:55:41.618] NULL [10:55:41.618] options(future.plan = NULL) [10:55:41.618] if (is.na(NA_character_)) [10:55:41.618] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.618] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:55:41.618] future::plan(...future.strategy.old, .cleanup = FALSE, [10:55:41.618] .init = FALSE) [10:55:41.618] } [10:55:41.618] } [10:55:41.618] } [10:55:41.618] }) [10:55:41.618] if (TRUE) { [10:55:41.618] base::sink(type = "output", split = FALSE) [10:55:41.618] if (TRUE) { [10:55:41.618] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:55:41.618] } [10:55:41.618] else { [10:55:41.618] ...future.result["stdout"] <- base::list(NULL) [10:55:41.618] } [10:55:41.618] base::close(...future.stdout) [10:55:41.618] ...future.stdout <- NULL [10:55:41.618] } [10:55:41.618] ...future.result$conditions <- ...future.conditions [10:55:41.618] ...future.result$finished <- base::Sys.time() [10:55:41.618] ...future.result [10:55:41.618] } [10:55:41.622] - Launch lazy future ... done [10:55:41.622] run() for 'MiraiFuture' ... done [1] 6 [10:55:41.624] ** Sum function 'D' with plan('mirai_cluster') ...function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y, ...) } y } Arguments '...' exists: FALSE [10:55:41.625] getGlobalsAndPackages() ... [10:55:41.625] Searching for globals... [10:55:41.627] - globals found: [5] '{', 'sum', 'x', 'y', '...' [10:55:41.627] Searching for globals ... DONE [10:55:41.627] Resolving globals: FALSE [10:55:41.627] Tweak future expression to call with '...' arguments ... [10:55:41.628] The total size of the 2 globals is 112 bytes (112 bytes) [10:55:41.629] The total size of the 2 globals exported for future expression ('{; sum(x, y, ...); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'y' (56 bytes of class 'numeric') [10:55:41.629] - globals: [2] 'x', 'y' [10:55:41.629] [10:55:41.630] getGlobalsAndPackages() ... DONE [10:55:41.630] run() for 'Future' ... [10:55:41.630] - state: 'created' [10:55:41.631] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:55:41.631] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:55:41.632] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:55:41.632] - Field: 'label' [10:55:41.632] - Field: 'local' [10:55:41.632] - Field: 'owner' [10:55:41.633] - Field: 'envir' [10:55:41.633] - Field: 'packages' [10:55:41.633] - Field: 'gc' [10:55:41.634] - Field: 'conditions' [10:55:41.634] - Field: 'expr' [10:55:41.634] - Field: 'uuid' [10:55:41.634] - Field: 'seed' [10:55:41.635] - Field: 'version' [10:55:41.635] - Field: 'result' [10:55:41.635] - Field: 'asynchronous' [10:55:41.635] - Field: 'calls' [10:55:41.636] - Field: 'globals' [10:55:41.636] - Field: 'stdout' [10:55:41.636] - Field: 'earlySignal' [10:55:41.637] - Field: 'lazy' [10:55:41.637] - Field: 'state' [10:55:41.637] - Field: '.cluster' [10:55:41.637] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:55:41.638] - Launch lazy future ... [10:55:41.638] Packages needed by the future expression (n = 0): [10:55:41.638] Packages needed by future strategies (n = 0): [10:55:41.639] { [10:55:41.639] { [10:55:41.639] { [10:55:41.639] ...future.startTime <- base::Sys.time() [10:55:41.639] { [10:55:41.639] { [10:55:41.639] { [10:55:41.639] base::local({ [10:55:41.639] has_future <- base::requireNamespace("future", [10:55:41.639] quietly = TRUE) [10:55:41.639] if (has_future) { [10:55:41.639] ns <- base::getNamespace("future") [10:55:41.639] version <- ns[[".package"]][["version"]] [10:55:41.639] if (is.null(version)) [10:55:41.639] version <- utils::packageVersion("future") [10:55:41.639] } [10:55:41.639] else { [10:55:41.639] version <- NULL [10:55:41.639] } [10:55:41.639] if (!has_future || version < "1.8.0") { [10:55:41.639] info <- base::c(r_version = base::gsub("R version ", [10:55:41.639] "", base::R.version$version.string), [10:55:41.639] platform = base::sprintf("%s (%s-bit)", [10:55:41.639] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:55:41.639] os = base::paste(base::Sys.info()[base::c("sysname", [10:55:41.639] "release", "version")], collapse = " "), [10:55:41.639] hostname = base::Sys.info()[["nodename"]]) [10:55:41.639] info <- base::sprintf("%s: %s", base::names(info), [10:55:41.639] info) [10:55:41.639] info <- base::paste(info, collapse = "; ") [10:55:41.639] if (!has_future) { [10:55:41.639] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:55:41.639] info) [10:55:41.639] } [10:55:41.639] else { [10:55:41.639] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:55:41.639] info, version) [10:55:41.639] } [10:55:41.639] base::stop(msg) [10:55:41.639] } [10:55:41.639] }) [10:55:41.639] } [10:55:41.639] ...future.strategy.old <- future::plan("list") [10:55:41.639] options(future.plan = NULL) [10:55:41.639] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.639] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:55:41.639] } [10:55:41.639] ...future.workdir <- getwd() [10:55:41.639] } [10:55:41.639] ...future.oldOptions <- base::as.list(base::.Options) [10:55:41.639] ...future.oldEnvVars <- base::Sys.getenv() [10:55:41.639] } [10:55:41.639] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:55:41.639] future.globals.maxSize = NULL, future.globals.method = NULL, [10:55:41.639] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:55:41.639] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:55:41.639] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:55:41.639] future.stdout.windows.reencode = NULL, width = 80L) [10:55:41.639] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:55:41.639] base::names(...future.oldOptions)) [10:55:41.639] } [10:55:41.639] if (FALSE) { [10:55:41.639] } [10:55:41.639] else { [10:55:41.639] if (TRUE) { [10:55:41.639] ...future.stdout <- base::rawConnection(base::raw(0L), [10:55:41.639] open = "w") [10:55:41.639] } [10:55:41.639] else { [10:55:41.639] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:55:41.639] windows = "NUL", "/dev/null"), open = "w") [10:55:41.639] } [10:55:41.639] base::sink(...future.stdout, type = "output", split = FALSE) [10:55:41.639] base::on.exit(if (!base::is.null(...future.stdout)) { [10:55:41.639] base::sink(type = "output", split = FALSE) [10:55:41.639] base::close(...future.stdout) [10:55:41.639] }, add = TRUE) [10:55:41.639] } [10:55:41.639] ...future.frame <- base::sys.nframe() [10:55:41.639] ...future.conditions <- base::list() [10:55:41.639] ...future.rng <- base::globalenv()$.Random.seed [10:55:41.639] if (FALSE) { [10:55:41.639] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:55:41.639] "...future.value", "...future.globalenv.names", ".Random.seed") [10:55:41.639] } [10:55:41.639] ...future.result <- base::tryCatch({ [10:55:41.639] base::withCallingHandlers({ [10:55:41.639] ...future.value <- base::withVisible(base::local({ [10:55:41.639] sum(x, y, ...) [10:55:41.639] })) [10:55:41.639] future::FutureResult(value = ...future.value$value, [10:55:41.639] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.639] ...future.rng), globalenv = if (FALSE) [10:55:41.639] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:55:41.639] ...future.globalenv.names)) [10:55:41.639] else NULL, started = ...future.startTime, version = "1.8") [10:55:41.639] }, condition = base::local({ [10:55:41.639] c <- base::c [10:55:41.639] inherits <- base::inherits [10:55:41.639] invokeRestart <- base::invokeRestart [10:55:41.639] length <- base::length [10:55:41.639] list <- base::list [10:55:41.639] seq.int <- base::seq.int [10:55:41.639] signalCondition <- base::signalCondition [10:55:41.639] sys.calls <- base::sys.calls [10:55:41.639] `[[` <- base::`[[` [10:55:41.639] `+` <- base::`+` [10:55:41.639] `<<-` <- base::`<<-` [10:55:41.639] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:55:41.639] calls[seq.int(from = from + 12L, to = length(calls) - [10:55:41.639] 3L)] [10:55:41.639] } [10:55:41.639] function(cond) { [10:55:41.639] is_error <- inherits(cond, "error") [10:55:41.639] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:55:41.639] NULL) [10:55:41.639] if (is_error) { [10:55:41.639] sessionInformation <- function() { [10:55:41.639] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:55:41.639] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:55:41.639] search = base::search(), system = base::Sys.info()) [10:55:41.639] } [10:55:41.639] ...future.conditions[[length(...future.conditions) + [10:55:41.639] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:55:41.639] cond$call), session = sessionInformation(), [10:55:41.639] timestamp = base::Sys.time(), signaled = 0L) [10:55:41.639] signalCondition(cond) [10:55:41.639] } [10:55:41.639] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:55:41.639] signal <- FALSE && inherits(cond, character(0)) [10:55:41.639] ...future.conditions[[length(...future.conditions) + [10:55:41.639] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:55:41.639] if (FALSE && !signal) { [10:55:41.639] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.639] { [10:55:41.639] inherits <- base::inherits [10:55:41.639] invokeRestart <- base::invokeRestart [10:55:41.639] is.null <- base::is.null [10:55:41.639] muffled <- FALSE [10:55:41.639] if (inherits(cond, "message")) { [10:55:41.639] muffled <- grepl(pattern, "muffleMessage") [10:55:41.639] if (muffled) [10:55:41.639] invokeRestart("muffleMessage") [10:55:41.639] } [10:55:41.639] else if (inherits(cond, "warning")) { [10:55:41.639] muffled <- grepl(pattern, "muffleWarning") [10:55:41.639] if (muffled) [10:55:41.639] invokeRestart("muffleWarning") [10:55:41.639] } [10:55:41.639] else if (inherits(cond, "condition")) { [10:55:41.639] if (!is.null(pattern)) { [10:55:41.639] computeRestarts <- base::computeRestarts [10:55:41.639] grepl <- base::grepl [10:55:41.639] restarts <- computeRestarts(cond) [10:55:41.639] for (restart in restarts) { [10:55:41.639] name <- restart$name [10:55:41.639] if (is.null(name)) [10:55:41.639] next [10:55:41.639] if (!grepl(pattern, name)) [10:55:41.639] next [10:55:41.639] invokeRestart(restart) [10:55:41.639] muffled <- TRUE [10:55:41.639] break [10:55:41.639] } [10:55:41.639] } [10:55:41.639] } [10:55:41.639] invisible(muffled) [10:55:41.639] } [10:55:41.639] muffleCondition(cond, pattern = "^muffle") [10:55:41.639] } [10:55:41.639] } [10:55:41.639] else { [10:55:41.639] if (TRUE) { [10:55:41.639] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.639] { [10:55:41.639] inherits <- base::inherits [10:55:41.639] invokeRestart <- base::invokeRestart [10:55:41.639] is.null <- base::is.null [10:55:41.639] muffled <- FALSE [10:55:41.639] if (inherits(cond, "message")) { [10:55:41.639] muffled <- grepl(pattern, "muffleMessage") [10:55:41.639] if (muffled) [10:55:41.639] invokeRestart("muffleMessage") [10:55:41.639] } [10:55:41.639] else if (inherits(cond, "warning")) { [10:55:41.639] muffled <- grepl(pattern, "muffleWarning") [10:55:41.639] if (muffled) [10:55:41.639] invokeRestart("muffleWarning") [10:55:41.639] } [10:55:41.639] else if (inherits(cond, "condition")) { [10:55:41.639] if (!is.null(pattern)) { [10:55:41.639] computeRestarts <- base::computeRestarts [10:55:41.639] grepl <- base::grepl [10:55:41.639] restarts <- computeRestarts(cond) [10:55:41.639] for (restart in restarts) { [10:55:41.639] name <- restart$name [10:55:41.639] if (is.null(name)) [10:55:41.639] next [10:55:41.639] if (!grepl(pattern, name)) [10:55:41.639] next [10:55:41.639] invokeRestart(restart) [10:55:41.639] muffled <- TRUE [10:55:41.639] break [10:55:41.639] } [10:55:41.639] } [10:55:41.639] } [10:55:41.639] invisible(muffled) [10:55:41.639] } [10:55:41.639] muffleCondition(cond, pattern = "^muffle") [10:55:41.639] } [10:55:41.639] } [10:55:41.639] } [10:55:41.639] })) [10:55:41.639] }, error = function(ex) { [10:55:41.639] base::structure(base::list(value = NULL, visible = NULL, [10:55:41.639] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.639] ...future.rng), started = ...future.startTime, [10:55:41.639] finished = Sys.time(), session_uuid = NA_character_, [10:55:41.639] version = "1.8"), class = "FutureResult") [10:55:41.639] }, finally = { [10:55:41.639] if (!identical(...future.workdir, getwd())) [10:55:41.639] setwd(...future.workdir) [10:55:41.639] { [10:55:41.639] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:55:41.639] ...future.oldOptions$nwarnings <- NULL [10:55:41.639] } [10:55:41.639] base::options(...future.oldOptions) [10:55:41.639] if (.Platform$OS.type == "windows") { [10:55:41.639] old_names <- names(...future.oldEnvVars) [10:55:41.639] envs <- base::Sys.getenv() [10:55:41.639] names <- names(envs) [10:55:41.639] common <- intersect(names, old_names) [10:55:41.639] added <- setdiff(names, old_names) [10:55:41.639] removed <- setdiff(old_names, names) [10:55:41.639] changed <- common[...future.oldEnvVars[common] != [10:55:41.639] envs[common]] [10:55:41.639] NAMES <- toupper(changed) [10:55:41.639] args <- list() [10:55:41.639] for (kk in seq_along(NAMES)) { [10:55:41.639] name <- changed[[kk]] [10:55:41.639] NAME <- NAMES[[kk]] [10:55:41.639] if (name != NAME && is.element(NAME, old_names)) [10:55:41.639] next [10:55:41.639] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.639] } [10:55:41.639] NAMES <- toupper(added) [10:55:41.639] for (kk in seq_along(NAMES)) { [10:55:41.639] name <- added[[kk]] [10:55:41.639] NAME <- NAMES[[kk]] [10:55:41.639] if (name != NAME && is.element(NAME, old_names)) [10:55:41.639] next [10:55:41.639] args[[name]] <- "" [10:55:41.639] } [10:55:41.639] NAMES <- toupper(removed) [10:55:41.639] for (kk in seq_along(NAMES)) { [10:55:41.639] name <- removed[[kk]] [10:55:41.639] NAME <- NAMES[[kk]] [10:55:41.639] if (name != NAME && is.element(NAME, old_names)) [10:55:41.639] next [10:55:41.639] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.639] } [10:55:41.639] if (length(args) > 0) [10:55:41.639] base::do.call(base::Sys.setenv, args = args) [10:55:41.639] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:55:41.639] } [10:55:41.639] else { [10:55:41.639] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:55:41.639] } [10:55:41.639] { [10:55:41.639] if (base::length(...future.futureOptionsAdded) > [10:55:41.639] 0L) { [10:55:41.639] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:55:41.639] base::names(opts) <- ...future.futureOptionsAdded [10:55:41.639] base::options(opts) [10:55:41.639] } [10:55:41.639] { [10:55:41.639] NULL [10:55:41.639] options(future.plan = NULL) [10:55:41.639] if (is.na(NA_character_)) [10:55:41.639] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.639] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:55:41.639] future::plan(...future.strategy.old, .cleanup = FALSE, [10:55:41.639] .init = FALSE) [10:55:41.639] } [10:55:41.639] } [10:55:41.639] } [10:55:41.639] }) [10:55:41.639] if (TRUE) { [10:55:41.639] base::sink(type = "output", split = FALSE) [10:55:41.639] if (TRUE) { [10:55:41.639] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:55:41.639] } [10:55:41.639] else { [10:55:41.639] ...future.result["stdout"] <- base::list(NULL) [10:55:41.639] } [10:55:41.639] base::close(...future.stdout) [10:55:41.639] ...future.stdout <- NULL [10:55:41.639] } [10:55:41.639] ...future.result$conditions <- ...future.conditions [10:55:41.639] ...future.result$finished <- base::Sys.time() [10:55:41.639] ...future.result [10:55:41.639] } [10:55:41.648] - Launch lazy future ... done [10:55:41.648] run() for 'MiraiFuture' ... done [10:55:41.651] signalConditions() ... [10:55:41.651] - include = 'immediateCondition' [10:55:41.651] - exclude = [10:55:41.652] - resignal = FALSE [10:55:41.652] - Number of conditions: 1 [10:55:41.652] signalConditions() ... done [10:55:41.652] Future state: 'finished' [10:55:41.653] signalConditions() ... [10:55:41.653] - include = 'condition' [10:55:41.653] - exclude = 'immediateCondition' [10:55:41.654] - resignal = TRUE [10:55:41.654] - Number of conditions: 1 [10:55:41.654] - Condition #1: 'simpleError', 'error', 'condition' [10:55:41.654] signalConditions() ... done [10:55:41.655] plan(): Setting new future strategy stack: [10:55:41.655] List of future strategies: [10:55:41.655] 1. mirai_multisession: [10:55:41.655] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [10:55:41.655] - tweaked: FALSE [10:55:41.655] - call: plan(strategy, substitute = FALSE) [10:55:41.656] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [10:55:41.656] < mirai | $data > [10:55:41.660] getGlobalsAndPackages() ... [10:55:41.660] Not searching for globals [10:55:41.660] - globals: [0] [10:55:41.661] getGlobalsAndPackages() ... DONE [10:55:41.661] getGlobalsAndPackages() ... [10:55:41.661] [10:55:41.661] - globals: [0] [10:55:41.662] getGlobalsAndPackages() ... DONE [10:55:41.662] Packages needed by the future expression (n = 0): [10:55:41.663] Packages needed by future strategies (n = 0): [10:55:41.664] { [10:55:41.664] { [10:55:41.664] { [10:55:41.664] ...future.startTime <- base::Sys.time() [10:55:41.664] { [10:55:41.664] { [10:55:41.664] { [10:55:41.664] base::local({ [10:55:41.664] has_future <- base::requireNamespace("future", [10:55:41.664] quietly = TRUE) [10:55:41.664] if (has_future) { [10:55:41.664] ns <- base::getNamespace("future") [10:55:41.664] version <- ns[[".package"]][["version"]] [10:55:41.664] if (is.null(version)) [10:55:41.664] version <- utils::packageVersion("future") [10:55:41.664] } [10:55:41.664] else { [10:55:41.664] version <- NULL [10:55:41.664] } [10:55:41.664] if (!has_future || version < "1.8.0") { [10:55:41.664] info <- base::c(r_version = base::gsub("R version ", [10:55:41.664] "", base::R.version$version.string), [10:55:41.664] platform = base::sprintf("%s (%s-bit)", [10:55:41.664] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:55:41.664] os = base::paste(base::Sys.info()[base::c("sysname", [10:55:41.664] "release", "version")], collapse = " "), [10:55:41.664] hostname = base::Sys.info()[["nodename"]]) [10:55:41.664] info <- base::sprintf("%s: %s", base::names(info), [10:55:41.664] info) [10:55:41.664] info <- base::paste(info, collapse = "; ") [10:55:41.664] if (!has_future) { [10:55:41.664] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:55:41.664] info) [10:55:41.664] } [10:55:41.664] else { [10:55:41.664] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:55:41.664] info, version) [10:55:41.664] } [10:55:41.664] base::stop(msg) [10:55:41.664] } [10:55:41.664] }) [10:55:41.664] } [10:55:41.664] ...future.strategy.old <- future::plan("list") [10:55:41.664] options(future.plan = NULL) [10:55:41.664] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.664] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:55:41.664] } [10:55:41.664] ...future.workdir <- getwd() [10:55:41.664] } [10:55:41.664] ...future.oldOptions <- base::as.list(base::.Options) [10:55:41.664] ...future.oldEnvVars <- base::Sys.getenv() [10:55:41.664] } [10:55:41.664] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:55:41.664] future.globals.maxSize = NULL, future.globals.method = NULL, [10:55:41.664] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:55:41.664] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:55:41.664] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:55:41.664] future.stdout.windows.reencode = NULL, width = 80L) [10:55:41.664] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:55:41.664] base::names(...future.oldOptions)) [10:55:41.664] } [10:55:41.664] if (FALSE) { [10:55:41.664] } [10:55:41.664] else { [10:55:41.664] if (TRUE) { [10:55:41.664] ...future.stdout <- base::rawConnection(base::raw(0L), [10:55:41.664] open = "w") [10:55:41.664] } [10:55:41.664] else { [10:55:41.664] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:55:41.664] windows = "NUL", "/dev/null"), open = "w") [10:55:41.664] } [10:55:41.664] base::sink(...future.stdout, type = "output", split = FALSE) [10:55:41.664] base::on.exit(if (!base::is.null(...future.stdout)) { [10:55:41.664] base::sink(type = "output", split = FALSE) [10:55:41.664] base::close(...future.stdout) [10:55:41.664] }, add = TRUE) [10:55:41.664] } [10:55:41.664] ...future.frame <- base::sys.nframe() [10:55:41.664] ...future.conditions <- base::list() [10:55:41.664] ...future.rng <- base::globalenv()$.Random.seed [10:55:41.664] if (FALSE) { [10:55:41.664] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:55:41.664] "...future.value", "...future.globalenv.names", ".Random.seed") [10:55:41.664] } [10:55:41.664] ...future.result <- base::tryCatch({ [10:55:41.664] base::withCallingHandlers({ [10:55:41.664] ...future.value <- base::withVisible(base::local(NA)) [10:55:41.664] future::FutureResult(value = ...future.value$value, [10:55:41.664] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.664] ...future.rng), globalenv = if (FALSE) [10:55:41.664] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:55:41.664] ...future.globalenv.names)) [10:55:41.664] else NULL, started = ...future.startTime, version = "1.8") [10:55:41.664] }, condition = base::local({ [10:55:41.664] c <- base::c [10:55:41.664] inherits <- base::inherits [10:55:41.664] invokeRestart <- base::invokeRestart [10:55:41.664] length <- base::length [10:55:41.664] list <- base::list [10:55:41.664] seq.int <- base::seq.int [10:55:41.664] signalCondition <- base::signalCondition [10:55:41.664] sys.calls <- base::sys.calls [10:55:41.664] `[[` <- base::`[[` [10:55:41.664] `+` <- base::`+` [10:55:41.664] `<<-` <- base::`<<-` [10:55:41.664] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:55:41.664] calls[seq.int(from = from + 12L, to = length(calls) - [10:55:41.664] 3L)] [10:55:41.664] } [10:55:41.664] function(cond) { [10:55:41.664] is_error <- inherits(cond, "error") [10:55:41.664] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:55:41.664] NULL) [10:55:41.664] if (is_error) { [10:55:41.664] sessionInformation <- function() { [10:55:41.664] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:55:41.664] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:55:41.664] search = base::search(), system = base::Sys.info()) [10:55:41.664] } [10:55:41.664] ...future.conditions[[length(...future.conditions) + [10:55:41.664] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:55:41.664] cond$call), session = sessionInformation(), [10:55:41.664] timestamp = base::Sys.time(), signaled = 0L) [10:55:41.664] signalCondition(cond) [10:55:41.664] } [10:55:41.664] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:55:41.664] signal <- FALSE && inherits(cond, character(0)) [10:55:41.664] ...future.conditions[[length(...future.conditions) + [10:55:41.664] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:55:41.664] if (FALSE && !signal) { [10:55:41.664] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.664] { [10:55:41.664] inherits <- base::inherits [10:55:41.664] invokeRestart <- base::invokeRestart [10:55:41.664] is.null <- base::is.null [10:55:41.664] muffled <- FALSE [10:55:41.664] if (inherits(cond, "message")) { [10:55:41.664] muffled <- grepl(pattern, "muffleMessage") [10:55:41.664] if (muffled) [10:55:41.664] invokeRestart("muffleMessage") [10:55:41.664] } [10:55:41.664] else if (inherits(cond, "warning")) { [10:55:41.664] muffled <- grepl(pattern, "muffleWarning") [10:55:41.664] if (muffled) [10:55:41.664] invokeRestart("muffleWarning") [10:55:41.664] } [10:55:41.664] else if (inherits(cond, "condition")) { [10:55:41.664] if (!is.null(pattern)) { [10:55:41.664] computeRestarts <- base::computeRestarts [10:55:41.664] grepl <- base::grepl [10:55:41.664] restarts <- computeRestarts(cond) [10:55:41.664] for (restart in restarts) { [10:55:41.664] name <- restart$name [10:55:41.664] if (is.null(name)) [10:55:41.664] next [10:55:41.664] if (!grepl(pattern, name)) [10:55:41.664] next [10:55:41.664] invokeRestart(restart) [10:55:41.664] muffled <- TRUE [10:55:41.664] break [10:55:41.664] } [10:55:41.664] } [10:55:41.664] } [10:55:41.664] invisible(muffled) [10:55:41.664] } [10:55:41.664] muffleCondition(cond, pattern = "^muffle") [10:55:41.664] } [10:55:41.664] } [10:55:41.664] else { [10:55:41.664] if (TRUE) { [10:55:41.664] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.664] { [10:55:41.664] inherits <- base::inherits [10:55:41.664] invokeRestart <- base::invokeRestart [10:55:41.664] is.null <- base::is.null [10:55:41.664] muffled <- FALSE [10:55:41.664] if (inherits(cond, "message")) { [10:55:41.664] muffled <- grepl(pattern, "muffleMessage") [10:55:41.664] if (muffled) [10:55:41.664] invokeRestart("muffleMessage") [10:55:41.664] } [10:55:41.664] else if (inherits(cond, "warning")) { [10:55:41.664] muffled <- grepl(pattern, "muffleWarning") [10:55:41.664] if (muffled) [10:55:41.664] invokeRestart("muffleWarning") [10:55:41.664] } [10:55:41.664] else if (inherits(cond, "condition")) { [10:55:41.664] if (!is.null(pattern)) { [10:55:41.664] computeRestarts <- base::computeRestarts [10:55:41.664] grepl <- base::grepl [10:55:41.664] restarts <- computeRestarts(cond) [10:55:41.664] for (restart in restarts) { [10:55:41.664] name <- restart$name [10:55:41.664] if (is.null(name)) [10:55:41.664] next [10:55:41.664] if (!grepl(pattern, name)) [10:55:41.664] next [10:55:41.664] invokeRestart(restart) [10:55:41.664] muffled <- TRUE [10:55:41.664] break [10:55:41.664] } [10:55:41.664] } [10:55:41.664] } [10:55:41.664] invisible(muffled) [10:55:41.664] } [10:55:41.664] muffleCondition(cond, pattern = "^muffle") [10:55:41.664] } [10:55:41.664] } [10:55:41.664] } [10:55:41.664] })) [10:55:41.664] }, error = function(ex) { [10:55:41.664] base::structure(base::list(value = NULL, visible = NULL, [10:55:41.664] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.664] ...future.rng), started = ...future.startTime, [10:55:41.664] finished = Sys.time(), session_uuid = NA_character_, [10:55:41.664] version = "1.8"), class = "FutureResult") [10:55:41.664] }, finally = { [10:55:41.664] if (!identical(...future.workdir, getwd())) [10:55:41.664] setwd(...future.workdir) [10:55:41.664] { [10:55:41.664] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:55:41.664] ...future.oldOptions$nwarnings <- NULL [10:55:41.664] } [10:55:41.664] base::options(...future.oldOptions) [10:55:41.664] if (.Platform$OS.type == "windows") { [10:55:41.664] old_names <- names(...future.oldEnvVars) [10:55:41.664] envs <- base::Sys.getenv() [10:55:41.664] names <- names(envs) [10:55:41.664] common <- intersect(names, old_names) [10:55:41.664] added <- setdiff(names, old_names) [10:55:41.664] removed <- setdiff(old_names, names) [10:55:41.664] changed <- common[...future.oldEnvVars[common] != [10:55:41.664] envs[common]] [10:55:41.664] NAMES <- toupper(changed) [10:55:41.664] args <- list() [10:55:41.664] for (kk in seq_along(NAMES)) { [10:55:41.664] name <- changed[[kk]] [10:55:41.664] NAME <- NAMES[[kk]] [10:55:41.664] if (name != NAME && is.element(NAME, old_names)) [10:55:41.664] next [10:55:41.664] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.664] } [10:55:41.664] NAMES <- toupper(added) [10:55:41.664] for (kk in seq_along(NAMES)) { [10:55:41.664] name <- added[[kk]] [10:55:41.664] NAME <- NAMES[[kk]] [10:55:41.664] if (name != NAME && is.element(NAME, old_names)) [10:55:41.664] next [10:55:41.664] args[[name]] <- "" [10:55:41.664] } [10:55:41.664] NAMES <- toupper(removed) [10:55:41.664] for (kk in seq_along(NAMES)) { [10:55:41.664] name <- removed[[kk]] [10:55:41.664] NAME <- NAMES[[kk]] [10:55:41.664] if (name != NAME && is.element(NAME, old_names)) [10:55:41.664] next [10:55:41.664] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.664] } [10:55:41.664] if (length(args) > 0) [10:55:41.664] base::do.call(base::Sys.setenv, args = args) [10:55:41.664] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:55:41.664] } [10:55:41.664] else { [10:55:41.664] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:55:41.664] } [10:55:41.664] { [10:55:41.664] if (base::length(...future.futureOptionsAdded) > [10:55:41.664] 0L) { [10:55:41.664] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:55:41.664] base::names(opts) <- ...future.futureOptionsAdded [10:55:41.664] base::options(opts) [10:55:41.664] } [10:55:41.664] { [10:55:41.664] NULL [10:55:41.664] options(future.plan = NULL) [10:55:41.664] if (is.na(NA_character_)) [10:55:41.664] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.664] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:55:41.664] future::plan(...future.strategy.old, .cleanup = FALSE, [10:55:41.664] .init = FALSE) [10:55:41.664] } [10:55:41.664] } [10:55:41.664] } [10:55:41.664] }) [10:55:41.664] if (TRUE) { [10:55:41.664] base::sink(type = "output", split = FALSE) [10:55:41.664] if (TRUE) { [10:55:41.664] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:55:41.664] } [10:55:41.664] else { [10:55:41.664] ...future.result["stdout"] <- base::list(NULL) [10:55:41.664] } [10:55:41.664] base::close(...future.stdout) [10:55:41.664] ...future.stdout <- NULL [10:55:41.664] } [10:55:41.664] ...future.result$conditions <- ...future.conditions [10:55:41.664] ...future.result$finished <- base::Sys.time() [10:55:41.664] ...future.result [10:55:41.664] } [10:55:41.672] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [10:55:41.672] plan(): nbrOfWorkers() = 2 [10:55:41.673] ** Sum function 'A' with plan('mirai_multisession') ...function (x, ...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } Arguments '...' exists: TRUE [10:55:41.676] getGlobalsAndPackages() ... [10:55:41.676] Searching for globals... [10:55:41.677] - globals found: [4] '{', 'sum', 'x', '...' [10:55:41.678] Searching for globals ... DONE [10:55:41.678] Resolving globals: FALSE [10:55:41.678] Tweak future expression to call with '...' arguments ... [10:55:41.678] { [10:55:41.678] do.call(function(...) { [10:55:41.678] sum(x, ...) [10:55:41.678] }, args = future.call.arguments) [10:55:41.678] } [10:55:41.679] Tweak future expression to call with '...' arguments ... DONE [10:55:41.679] The total size of the 2 globals is 112 bytes (112 bytes) [10:55:41.680] The total size of the 2 globals exported for future expression ('{; sum(x, ...); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'future.call.arguments' (56 bytes of class 'list') [10:55:41.680] - globals: [2] 'x', 'future.call.arguments' [10:55:41.680] [10:55:41.680] getGlobalsAndPackages() ... DONE [10:55:41.680] run() for 'Future' ... [10:55:41.681] - state: 'created' [10:55:41.681] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:55:41.683] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:55:41.683] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:55:41.684] - Field: 'label' [10:55:41.684] - Field: 'local' [10:55:41.684] - Field: 'owner' [10:55:41.684] - Field: 'envir' [10:55:41.684] - Field: 'packages' [10:55:41.685] - Field: 'gc' [10:55:41.685] - Field: 'conditions' [10:55:41.685] - Field: 'expr' [10:55:41.685] - Field: 'uuid' [10:55:41.685] - Field: 'seed' [10:55:41.685] - Field: 'version' [10:55:41.686] - Field: 'result' [10:55:41.686] - Field: 'asynchronous' [10:55:41.686] - Field: 'calls' [10:55:41.686] - Field: 'globals' [10:55:41.686] - Field: 'stdout' [10:55:41.686] - Field: 'earlySignal' [10:55:41.687] - Field: 'lazy' [10:55:41.687] - Field: 'state' [10:55:41.687] - Field: '.cluster' [10:55:41.687] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:55:41.687] - Launch lazy future ... [10:55:41.687] Packages needed by the future expression (n = 0): [10:55:41.688] Packages needed by future strategies (n = 0): [10:55:41.688] { [10:55:41.688] { [10:55:41.688] { [10:55:41.688] ...future.startTime <- base::Sys.time() [10:55:41.688] { [10:55:41.688] { [10:55:41.688] { [10:55:41.688] base::local({ [10:55:41.688] has_future <- base::requireNamespace("future", [10:55:41.688] quietly = TRUE) [10:55:41.688] if (has_future) { [10:55:41.688] ns <- base::getNamespace("future") [10:55:41.688] version <- ns[[".package"]][["version"]] [10:55:41.688] if (is.null(version)) [10:55:41.688] version <- utils::packageVersion("future") [10:55:41.688] } [10:55:41.688] else { [10:55:41.688] version <- NULL [10:55:41.688] } [10:55:41.688] if (!has_future || version < "1.8.0") { [10:55:41.688] info <- base::c(r_version = base::gsub("R version ", [10:55:41.688] "", base::R.version$version.string), [10:55:41.688] platform = base::sprintf("%s (%s-bit)", [10:55:41.688] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:55:41.688] os = base::paste(base::Sys.info()[base::c("sysname", [10:55:41.688] "release", "version")], collapse = " "), [10:55:41.688] hostname = base::Sys.info()[["nodename"]]) [10:55:41.688] info <- base::sprintf("%s: %s", base::names(info), [10:55:41.688] info) [10:55:41.688] info <- base::paste(info, collapse = "; ") [10:55:41.688] if (!has_future) { [10:55:41.688] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:55:41.688] info) [10:55:41.688] } [10:55:41.688] else { [10:55:41.688] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:55:41.688] info, version) [10:55:41.688] } [10:55:41.688] base::stop(msg) [10:55:41.688] } [10:55:41.688] }) [10:55:41.688] } [10:55:41.688] ...future.strategy.old <- future::plan("list") [10:55:41.688] options(future.plan = NULL) [10:55:41.688] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.688] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:55:41.688] } [10:55:41.688] ...future.workdir <- getwd() [10:55:41.688] } [10:55:41.688] ...future.oldOptions <- base::as.list(base::.Options) [10:55:41.688] ...future.oldEnvVars <- base::Sys.getenv() [10:55:41.688] } [10:55:41.688] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:55:41.688] future.globals.maxSize = NULL, future.globals.method = NULL, [10:55:41.688] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:55:41.688] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:55:41.688] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:55:41.688] future.stdout.windows.reencode = NULL, width = 80L) [10:55:41.688] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:55:41.688] base::names(...future.oldOptions)) [10:55:41.688] } [10:55:41.688] if (FALSE) { [10:55:41.688] } [10:55:41.688] else { [10:55:41.688] if (TRUE) { [10:55:41.688] ...future.stdout <- base::rawConnection(base::raw(0L), [10:55:41.688] open = "w") [10:55:41.688] } [10:55:41.688] else { [10:55:41.688] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:55:41.688] windows = "NUL", "/dev/null"), open = "w") [10:55:41.688] } [10:55:41.688] base::sink(...future.stdout, type = "output", split = FALSE) [10:55:41.688] base::on.exit(if (!base::is.null(...future.stdout)) { [10:55:41.688] base::sink(type = "output", split = FALSE) [10:55:41.688] base::close(...future.stdout) [10:55:41.688] }, add = TRUE) [10:55:41.688] } [10:55:41.688] ...future.frame <- base::sys.nframe() [10:55:41.688] ...future.conditions <- base::list() [10:55:41.688] ...future.rng <- base::globalenv()$.Random.seed [10:55:41.688] if (FALSE) { [10:55:41.688] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:55:41.688] "...future.value", "...future.globalenv.names", ".Random.seed") [10:55:41.688] } [10:55:41.688] ...future.result <- base::tryCatch({ [10:55:41.688] base::withCallingHandlers({ [10:55:41.688] ...future.value <- base::withVisible(base::local({ [10:55:41.688] do.call(function(...) { [10:55:41.688] sum(x, ...) [10:55:41.688] }, args = future.call.arguments) [10:55:41.688] })) [10:55:41.688] future::FutureResult(value = ...future.value$value, [10:55:41.688] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.688] ...future.rng), globalenv = if (FALSE) [10:55:41.688] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:55:41.688] ...future.globalenv.names)) [10:55:41.688] else NULL, started = ...future.startTime, version = "1.8") [10:55:41.688] }, condition = base::local({ [10:55:41.688] c <- base::c [10:55:41.688] inherits <- base::inherits [10:55:41.688] invokeRestart <- base::invokeRestart [10:55:41.688] length <- base::length [10:55:41.688] list <- base::list [10:55:41.688] seq.int <- base::seq.int [10:55:41.688] signalCondition <- base::signalCondition [10:55:41.688] sys.calls <- base::sys.calls [10:55:41.688] `[[` <- base::`[[` [10:55:41.688] `+` <- base::`+` [10:55:41.688] `<<-` <- base::`<<-` [10:55:41.688] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:55:41.688] calls[seq.int(from = from + 12L, to = length(calls) - [10:55:41.688] 3L)] [10:55:41.688] } [10:55:41.688] function(cond) { [10:55:41.688] is_error <- inherits(cond, "error") [10:55:41.688] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:55:41.688] NULL) [10:55:41.688] if (is_error) { [10:55:41.688] sessionInformation <- function() { [10:55:41.688] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:55:41.688] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:55:41.688] search = base::search(), system = base::Sys.info()) [10:55:41.688] } [10:55:41.688] ...future.conditions[[length(...future.conditions) + [10:55:41.688] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:55:41.688] cond$call), session = sessionInformation(), [10:55:41.688] timestamp = base::Sys.time(), signaled = 0L) [10:55:41.688] signalCondition(cond) [10:55:41.688] } [10:55:41.688] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:55:41.688] signal <- FALSE && inherits(cond, character(0)) [10:55:41.688] ...future.conditions[[length(...future.conditions) + [10:55:41.688] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:55:41.688] if (FALSE && !signal) { [10:55:41.688] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.688] { [10:55:41.688] inherits <- base::inherits [10:55:41.688] invokeRestart <- base::invokeRestart [10:55:41.688] is.null <- base::is.null [10:55:41.688] muffled <- FALSE [10:55:41.688] if (inherits(cond, "message")) { [10:55:41.688] muffled <- grepl(pattern, "muffleMessage") [10:55:41.688] if (muffled) [10:55:41.688] invokeRestart("muffleMessage") [10:55:41.688] } [10:55:41.688] else if (inherits(cond, "warning")) { [10:55:41.688] muffled <- grepl(pattern, "muffleWarning") [10:55:41.688] if (muffled) [10:55:41.688] invokeRestart("muffleWarning") [10:55:41.688] } [10:55:41.688] else if (inherits(cond, "condition")) { [10:55:41.688] if (!is.null(pattern)) { [10:55:41.688] computeRestarts <- base::computeRestarts [10:55:41.688] grepl <- base::grepl [10:55:41.688] restarts <- computeRestarts(cond) [10:55:41.688] for (restart in restarts) { [10:55:41.688] name <- restart$name [10:55:41.688] if (is.null(name)) [10:55:41.688] next [10:55:41.688] if (!grepl(pattern, name)) [10:55:41.688] next [10:55:41.688] invokeRestart(restart) [10:55:41.688] muffled <- TRUE [10:55:41.688] break [10:55:41.688] } [10:55:41.688] } [10:55:41.688] } [10:55:41.688] invisible(muffled) [10:55:41.688] } [10:55:41.688] muffleCondition(cond, pattern = "^muffle") [10:55:41.688] } [10:55:41.688] } [10:55:41.688] else { [10:55:41.688] if (TRUE) { [10:55:41.688] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.688] { [10:55:41.688] inherits <- base::inherits [10:55:41.688] invokeRestart <- base::invokeRestart [10:55:41.688] is.null <- base::is.null [10:55:41.688] muffled <- FALSE [10:55:41.688] if (inherits(cond, "message")) { [10:55:41.688] muffled <- grepl(pattern, "muffleMessage") [10:55:41.688] if (muffled) [10:55:41.688] invokeRestart("muffleMessage") [10:55:41.688] } [10:55:41.688] else if (inherits(cond, "warning")) { [10:55:41.688] muffled <- grepl(pattern, "muffleWarning") [10:55:41.688] if (muffled) [10:55:41.688] invokeRestart("muffleWarning") [10:55:41.688] } [10:55:41.688] else if (inherits(cond, "condition")) { [10:55:41.688] if (!is.null(pattern)) { [10:55:41.688] computeRestarts <- base::computeRestarts [10:55:41.688] grepl <- base::grepl [10:55:41.688] restarts <- computeRestarts(cond) [10:55:41.688] for (restart in restarts) { [10:55:41.688] name <- restart$name [10:55:41.688] if (is.null(name)) [10:55:41.688] next [10:55:41.688] if (!grepl(pattern, name)) [10:55:41.688] next [10:55:41.688] invokeRestart(restart) [10:55:41.688] muffled <- TRUE [10:55:41.688] break [10:55:41.688] } [10:55:41.688] } [10:55:41.688] } [10:55:41.688] invisible(muffled) [10:55:41.688] } [10:55:41.688] muffleCondition(cond, pattern = "^muffle") [10:55:41.688] } [10:55:41.688] } [10:55:41.688] } [10:55:41.688] })) [10:55:41.688] }, error = function(ex) { [10:55:41.688] base::structure(base::list(value = NULL, visible = NULL, [10:55:41.688] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.688] ...future.rng), started = ...future.startTime, [10:55:41.688] finished = Sys.time(), session_uuid = NA_character_, [10:55:41.688] version = "1.8"), class = "FutureResult") [10:55:41.688] }, finally = { [10:55:41.688] if (!identical(...future.workdir, getwd())) [10:55:41.688] setwd(...future.workdir) [10:55:41.688] { [10:55:41.688] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:55:41.688] ...future.oldOptions$nwarnings <- NULL [10:55:41.688] } [10:55:41.688] base::options(...future.oldOptions) [10:55:41.688] if (.Platform$OS.type == "windows") { [10:55:41.688] old_names <- names(...future.oldEnvVars) [10:55:41.688] envs <- base::Sys.getenv() [10:55:41.688] names <- names(envs) [10:55:41.688] common <- intersect(names, old_names) [10:55:41.688] added <- setdiff(names, old_names) [10:55:41.688] removed <- setdiff(old_names, names) [10:55:41.688] changed <- common[...future.oldEnvVars[common] != [10:55:41.688] envs[common]] [10:55:41.688] NAMES <- toupper(changed) [10:55:41.688] args <- list() [10:55:41.688] for (kk in seq_along(NAMES)) { [10:55:41.688] name <- changed[[kk]] [10:55:41.688] NAME <- NAMES[[kk]] [10:55:41.688] if (name != NAME && is.element(NAME, old_names)) [10:55:41.688] next [10:55:41.688] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.688] } [10:55:41.688] NAMES <- toupper(added) [10:55:41.688] for (kk in seq_along(NAMES)) { [10:55:41.688] name <- added[[kk]] [10:55:41.688] NAME <- NAMES[[kk]] [10:55:41.688] if (name != NAME && is.element(NAME, old_names)) [10:55:41.688] next [10:55:41.688] args[[name]] <- "" [10:55:41.688] } [10:55:41.688] NAMES <- toupper(removed) [10:55:41.688] for (kk in seq_along(NAMES)) { [10:55:41.688] name <- removed[[kk]] [10:55:41.688] NAME <- NAMES[[kk]] [10:55:41.688] if (name != NAME && is.element(NAME, old_names)) [10:55:41.688] next [10:55:41.688] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.688] } [10:55:41.688] if (length(args) > 0) [10:55:41.688] base::do.call(base::Sys.setenv, args = args) [10:55:41.688] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:55:41.688] } [10:55:41.688] else { [10:55:41.688] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:55:41.688] } [10:55:41.688] { [10:55:41.688] if (base::length(...future.futureOptionsAdded) > [10:55:41.688] 0L) { [10:55:41.688] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:55:41.688] base::names(opts) <- ...future.futureOptionsAdded [10:55:41.688] base::options(opts) [10:55:41.688] } [10:55:41.688] { [10:55:41.688] NULL [10:55:41.688] options(future.plan = NULL) [10:55:41.688] if (is.na(NA_character_)) [10:55:41.688] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.688] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:55:41.688] future::plan(...future.strategy.old, .cleanup = FALSE, [10:55:41.688] .init = FALSE) [10:55:41.688] } [10:55:41.688] } [10:55:41.688] } [10:55:41.688] }) [10:55:41.688] if (TRUE) { [10:55:41.688] base::sink(type = "output", split = FALSE) [10:55:41.688] if (TRUE) { [10:55:41.688] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:55:41.688] } [10:55:41.688] else { [10:55:41.688] ...future.result["stdout"] <- base::list(NULL) [10:55:41.688] } [10:55:41.688] base::close(...future.stdout) [10:55:41.688] ...future.stdout <- NULL [10:55:41.688] } [10:55:41.688] ...future.result$conditions <- ...future.conditions [10:55:41.688] ...future.result$finished <- base::Sys.time() [10:55:41.688] ...future.result [10:55:41.688] } [10:55:41.692] - Launch lazy future ... done [10:55:41.692] run() for 'MiraiFuture' ... done [1] 6 [10:55:41.694] ** Sum function 'B' with plan('mirai_multisession') ...function (x, ...) { sumt <- function(x) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } sumt(x) } Arguments '...' exists: TRUE [10:55:41.700] getGlobalsAndPackages() ... [10:55:41.700] Searching for globals... [10:55:41.702] - globals found: [4] '{', 'sum', 'x', '...' [10:55:41.702] Searching for globals ... DONE [10:55:41.702] Resolving globals: FALSE [10:55:41.703] Tweak future expression to call with '...' arguments ... [10:55:41.703] { [10:55:41.703] do.call(function(...) { [10:55:41.703] sum(x, ...) [10:55:41.703] }, args = future.call.arguments) [10:55:41.703] } [10:55:41.703] Tweak future expression to call with '...' arguments ... DONE [10:55:41.704] The total size of the 2 globals is 112 bytes (112 bytes) [10:55:41.704] The total size of the 2 globals exported for future expression ('{; sum(x, ...); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'future.call.arguments' (56 bytes of class 'list') [10:55:41.704] - globals: [2] 'x', 'future.call.arguments' [10:55:41.705] [10:55:41.705] getGlobalsAndPackages() ... DONE [10:55:41.705] run() for 'Future' ... [10:55:41.705] - state: 'created' [10:55:41.705] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:55:41.708] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:55:41.708] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:55:41.708] - Field: 'label' [10:55:41.708] - Field: 'local' [10:55:41.709] - Field: 'owner' [10:55:41.709] - Field: 'envir' [10:55:41.709] - Field: 'packages' [10:55:41.709] - Field: 'gc' [10:55:41.709] - Field: 'conditions' [10:55:41.709] - Field: 'expr' [10:55:41.710] - Field: 'uuid' [10:55:41.710] - Field: 'seed' [10:55:41.710] - Field: 'version' [10:55:41.710] - Field: 'result' [10:55:41.710] - Field: 'asynchronous' [10:55:41.710] - Field: 'calls' [10:55:41.711] - Field: 'globals' [10:55:41.711] - Field: 'stdout' [10:55:41.711] - Field: 'earlySignal' [10:55:41.711] - Field: 'lazy' [10:55:41.711] - Field: 'state' [10:55:41.711] - Field: '.cluster' [10:55:41.712] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:55:41.712] - Launch lazy future ... [10:55:41.712] Packages needed by the future expression (n = 0): [10:55:41.712] Packages needed by future strategies (n = 0): [10:55:41.713] { [10:55:41.713] { [10:55:41.713] { [10:55:41.713] ...future.startTime <- base::Sys.time() [10:55:41.713] { [10:55:41.713] { [10:55:41.713] { [10:55:41.713] base::local({ [10:55:41.713] has_future <- base::requireNamespace("future", [10:55:41.713] quietly = TRUE) [10:55:41.713] if (has_future) { [10:55:41.713] ns <- base::getNamespace("future") [10:55:41.713] version <- ns[[".package"]][["version"]] [10:55:41.713] if (is.null(version)) [10:55:41.713] version <- utils::packageVersion("future") [10:55:41.713] } [10:55:41.713] else { [10:55:41.713] version <- NULL [10:55:41.713] } [10:55:41.713] if (!has_future || version < "1.8.0") { [10:55:41.713] info <- base::c(r_version = base::gsub("R version ", [10:55:41.713] "", base::R.version$version.string), [10:55:41.713] platform = base::sprintf("%s (%s-bit)", [10:55:41.713] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:55:41.713] os = base::paste(base::Sys.info()[base::c("sysname", [10:55:41.713] "release", "version")], collapse = " "), [10:55:41.713] hostname = base::Sys.info()[["nodename"]]) [10:55:41.713] info <- base::sprintf("%s: %s", base::names(info), [10:55:41.713] info) [10:55:41.713] info <- base::paste(info, collapse = "; ") [10:55:41.713] if (!has_future) { [10:55:41.713] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:55:41.713] info) [10:55:41.713] } [10:55:41.713] else { [10:55:41.713] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:55:41.713] info, version) [10:55:41.713] } [10:55:41.713] base::stop(msg) [10:55:41.713] } [10:55:41.713] }) [10:55:41.713] } [10:55:41.713] ...future.strategy.old <- future::plan("list") [10:55:41.713] options(future.plan = NULL) [10:55:41.713] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.713] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:55:41.713] } [10:55:41.713] ...future.workdir <- getwd() [10:55:41.713] } [10:55:41.713] ...future.oldOptions <- base::as.list(base::.Options) [10:55:41.713] ...future.oldEnvVars <- base::Sys.getenv() [10:55:41.713] } [10:55:41.713] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:55:41.713] future.globals.maxSize = NULL, future.globals.method = NULL, [10:55:41.713] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:55:41.713] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:55:41.713] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:55:41.713] future.stdout.windows.reencode = NULL, width = 80L) [10:55:41.713] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:55:41.713] base::names(...future.oldOptions)) [10:55:41.713] } [10:55:41.713] if (FALSE) { [10:55:41.713] } [10:55:41.713] else { [10:55:41.713] if (TRUE) { [10:55:41.713] ...future.stdout <- base::rawConnection(base::raw(0L), [10:55:41.713] open = "w") [10:55:41.713] } [10:55:41.713] else { [10:55:41.713] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:55:41.713] windows = "NUL", "/dev/null"), open = "w") [10:55:41.713] } [10:55:41.713] base::sink(...future.stdout, type = "output", split = FALSE) [10:55:41.713] base::on.exit(if (!base::is.null(...future.stdout)) { [10:55:41.713] base::sink(type = "output", split = FALSE) [10:55:41.713] base::close(...future.stdout) [10:55:41.713] }, add = TRUE) [10:55:41.713] } [10:55:41.713] ...future.frame <- base::sys.nframe() [10:55:41.713] ...future.conditions <- base::list() [10:55:41.713] ...future.rng <- base::globalenv()$.Random.seed [10:55:41.713] if (FALSE) { [10:55:41.713] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:55:41.713] "...future.value", "...future.globalenv.names", ".Random.seed") [10:55:41.713] } [10:55:41.713] ...future.result <- base::tryCatch({ [10:55:41.713] base::withCallingHandlers({ [10:55:41.713] ...future.value <- base::withVisible(base::local({ [10:55:41.713] do.call(function(...) { [10:55:41.713] sum(x, ...) [10:55:41.713] }, args = future.call.arguments) [10:55:41.713] })) [10:55:41.713] future::FutureResult(value = ...future.value$value, [10:55:41.713] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.713] ...future.rng), globalenv = if (FALSE) [10:55:41.713] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:55:41.713] ...future.globalenv.names)) [10:55:41.713] else NULL, started = ...future.startTime, version = "1.8") [10:55:41.713] }, condition = base::local({ [10:55:41.713] c <- base::c [10:55:41.713] inherits <- base::inherits [10:55:41.713] invokeRestart <- base::invokeRestart [10:55:41.713] length <- base::length [10:55:41.713] list <- base::list [10:55:41.713] seq.int <- base::seq.int [10:55:41.713] signalCondition <- base::signalCondition [10:55:41.713] sys.calls <- base::sys.calls [10:55:41.713] `[[` <- base::`[[` [10:55:41.713] `+` <- base::`+` [10:55:41.713] `<<-` <- base::`<<-` [10:55:41.713] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:55:41.713] calls[seq.int(from = from + 12L, to = length(calls) - [10:55:41.713] 3L)] [10:55:41.713] } [10:55:41.713] function(cond) { [10:55:41.713] is_error <- inherits(cond, "error") [10:55:41.713] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:55:41.713] NULL) [10:55:41.713] if (is_error) { [10:55:41.713] sessionInformation <- function() { [10:55:41.713] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:55:41.713] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:55:41.713] search = base::search(), system = base::Sys.info()) [10:55:41.713] } [10:55:41.713] ...future.conditions[[length(...future.conditions) + [10:55:41.713] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:55:41.713] cond$call), session = sessionInformation(), [10:55:41.713] timestamp = base::Sys.time(), signaled = 0L) [10:55:41.713] signalCondition(cond) [10:55:41.713] } [10:55:41.713] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:55:41.713] signal <- FALSE && inherits(cond, character(0)) [10:55:41.713] ...future.conditions[[length(...future.conditions) + [10:55:41.713] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:55:41.713] if (FALSE && !signal) { [10:55:41.713] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.713] { [10:55:41.713] inherits <- base::inherits [10:55:41.713] invokeRestart <- base::invokeRestart [10:55:41.713] is.null <- base::is.null [10:55:41.713] muffled <- FALSE [10:55:41.713] if (inherits(cond, "message")) { [10:55:41.713] muffled <- grepl(pattern, "muffleMessage") [10:55:41.713] if (muffled) [10:55:41.713] invokeRestart("muffleMessage") [10:55:41.713] } [10:55:41.713] else if (inherits(cond, "warning")) { [10:55:41.713] muffled <- grepl(pattern, "muffleWarning") [10:55:41.713] if (muffled) [10:55:41.713] invokeRestart("muffleWarning") [10:55:41.713] } [10:55:41.713] else if (inherits(cond, "condition")) { [10:55:41.713] if (!is.null(pattern)) { [10:55:41.713] computeRestarts <- base::computeRestarts [10:55:41.713] grepl <- base::grepl [10:55:41.713] restarts <- computeRestarts(cond) [10:55:41.713] for (restart in restarts) { [10:55:41.713] name <- restart$name [10:55:41.713] if (is.null(name)) [10:55:41.713] next [10:55:41.713] if (!grepl(pattern, name)) [10:55:41.713] next [10:55:41.713] invokeRestart(restart) [10:55:41.713] muffled <- TRUE [10:55:41.713] break [10:55:41.713] } [10:55:41.713] } [10:55:41.713] } [10:55:41.713] invisible(muffled) [10:55:41.713] } [10:55:41.713] muffleCondition(cond, pattern = "^muffle") [10:55:41.713] } [10:55:41.713] } [10:55:41.713] else { [10:55:41.713] if (TRUE) { [10:55:41.713] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.713] { [10:55:41.713] inherits <- base::inherits [10:55:41.713] invokeRestart <- base::invokeRestart [10:55:41.713] is.null <- base::is.null [10:55:41.713] muffled <- FALSE [10:55:41.713] if (inherits(cond, "message")) { [10:55:41.713] muffled <- grepl(pattern, "muffleMessage") [10:55:41.713] if (muffled) [10:55:41.713] invokeRestart("muffleMessage") [10:55:41.713] } [10:55:41.713] else if (inherits(cond, "warning")) { [10:55:41.713] muffled <- grepl(pattern, "muffleWarning") [10:55:41.713] if (muffled) [10:55:41.713] invokeRestart("muffleWarning") [10:55:41.713] } [10:55:41.713] else if (inherits(cond, "condition")) { [10:55:41.713] if (!is.null(pattern)) { [10:55:41.713] computeRestarts <- base::computeRestarts [10:55:41.713] grepl <- base::grepl [10:55:41.713] restarts <- computeRestarts(cond) [10:55:41.713] for (restart in restarts) { [10:55:41.713] name <- restart$name [10:55:41.713] if (is.null(name)) [10:55:41.713] next [10:55:41.713] if (!grepl(pattern, name)) [10:55:41.713] next [10:55:41.713] invokeRestart(restart) [10:55:41.713] muffled <- TRUE [10:55:41.713] break [10:55:41.713] } [10:55:41.713] } [10:55:41.713] } [10:55:41.713] invisible(muffled) [10:55:41.713] } [10:55:41.713] muffleCondition(cond, pattern = "^muffle") [10:55:41.713] } [10:55:41.713] } [10:55:41.713] } [10:55:41.713] })) [10:55:41.713] }, error = function(ex) { [10:55:41.713] base::structure(base::list(value = NULL, visible = NULL, [10:55:41.713] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.713] ...future.rng), started = ...future.startTime, [10:55:41.713] finished = Sys.time(), session_uuid = NA_character_, [10:55:41.713] version = "1.8"), class = "FutureResult") [10:55:41.713] }, finally = { [10:55:41.713] if (!identical(...future.workdir, getwd())) [10:55:41.713] setwd(...future.workdir) [10:55:41.713] { [10:55:41.713] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:55:41.713] ...future.oldOptions$nwarnings <- NULL [10:55:41.713] } [10:55:41.713] base::options(...future.oldOptions) [10:55:41.713] if (.Platform$OS.type == "windows") { [10:55:41.713] old_names <- names(...future.oldEnvVars) [10:55:41.713] envs <- base::Sys.getenv() [10:55:41.713] names <- names(envs) [10:55:41.713] common <- intersect(names, old_names) [10:55:41.713] added <- setdiff(names, old_names) [10:55:41.713] removed <- setdiff(old_names, names) [10:55:41.713] changed <- common[...future.oldEnvVars[common] != [10:55:41.713] envs[common]] [10:55:41.713] NAMES <- toupper(changed) [10:55:41.713] args <- list() [10:55:41.713] for (kk in seq_along(NAMES)) { [10:55:41.713] name <- changed[[kk]] [10:55:41.713] NAME <- NAMES[[kk]] [10:55:41.713] if (name != NAME && is.element(NAME, old_names)) [10:55:41.713] next [10:55:41.713] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.713] } [10:55:41.713] NAMES <- toupper(added) [10:55:41.713] for (kk in seq_along(NAMES)) { [10:55:41.713] name <- added[[kk]] [10:55:41.713] NAME <- NAMES[[kk]] [10:55:41.713] if (name != NAME && is.element(NAME, old_names)) [10:55:41.713] next [10:55:41.713] args[[name]] <- "" [10:55:41.713] } [10:55:41.713] NAMES <- toupper(removed) [10:55:41.713] for (kk in seq_along(NAMES)) { [10:55:41.713] name <- removed[[kk]] [10:55:41.713] NAME <- NAMES[[kk]] [10:55:41.713] if (name != NAME && is.element(NAME, old_names)) [10:55:41.713] next [10:55:41.713] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.713] } [10:55:41.713] if (length(args) > 0) [10:55:41.713] base::do.call(base::Sys.setenv, args = args) [10:55:41.713] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:55:41.713] } [10:55:41.713] else { [10:55:41.713] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:55:41.713] } [10:55:41.713] { [10:55:41.713] if (base::length(...future.futureOptionsAdded) > [10:55:41.713] 0L) { [10:55:41.713] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:55:41.713] base::names(opts) <- ...future.futureOptionsAdded [10:55:41.713] base::options(opts) [10:55:41.713] } [10:55:41.713] { [10:55:41.713] NULL [10:55:41.713] options(future.plan = NULL) [10:55:41.713] if (is.na(NA_character_)) [10:55:41.713] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.713] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:55:41.713] future::plan(...future.strategy.old, .cleanup = FALSE, [10:55:41.713] .init = FALSE) [10:55:41.713] } [10:55:41.713] } [10:55:41.713] } [10:55:41.713] }) [10:55:41.713] if (TRUE) { [10:55:41.713] base::sink(type = "output", split = FALSE) [10:55:41.713] if (TRUE) { [10:55:41.713] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:55:41.713] } [10:55:41.713] else { [10:55:41.713] ...future.result["stdout"] <- base::list(NULL) [10:55:41.713] } [10:55:41.713] base::close(...future.stdout) [10:55:41.713] ...future.stdout <- NULL [10:55:41.713] } [10:55:41.713] ...future.result$conditions <- ...future.conditions [10:55:41.713] ...future.result$finished <- base::Sys.time() [10:55:41.713] ...future.result [10:55:41.713] } [10:55:41.717] - Launch lazy future ... done [10:55:41.717] run() for 'MiraiFuture' ... done [1] 6 [10:55:41.719] ** Sum function 'C' with plan('mirai_multisession') ...function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y) } y } Arguments '...' exists: FALSE [10:55:41.721] getGlobalsAndPackages() ... [10:55:41.722] Searching for globals... [10:55:41.723] - globals found: [4] '{', 'sum', 'x', 'y' [10:55:41.723] Searching for globals ... DONE [10:55:41.723] Resolving globals: FALSE [10:55:41.724] The total size of the 2 globals is 112 bytes (112 bytes) [10:55:41.724] The total size of the 2 globals exported for future expression ('{; sum(x, y); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'y' (56 bytes of class 'numeric') [10:55:41.725] - globals: [2] 'x', 'y' [10:55:41.725] [10:55:41.725] getGlobalsAndPackages() ... DONE [10:55:41.725] run() for 'Future' ... [10:55:41.725] - state: 'created' [10:55:41.726] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:55:41.728] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:55:41.728] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:55:41.728] - Field: 'label' [10:55:41.729] - Field: 'local' [10:55:41.730] - Field: 'owner' [10:55:41.730] - Field: 'envir' [10:55:41.731] - Field: 'packages' [10:55:41.731] - Field: 'gc' [10:55:41.731] - Field: 'conditions' [10:55:41.731] - Field: 'expr' [10:55:41.731] - Field: 'uuid' [10:55:41.732] - Field: 'seed' [10:55:41.732] - Field: 'version' [10:55:41.732] - Field: 'result' [10:55:41.732] - Field: 'asynchronous' [10:55:41.732] - Field: 'calls' [10:55:41.732] - Field: 'globals' [10:55:41.733] - Field: 'stdout' [10:55:41.733] - Field: 'earlySignal' [10:55:41.733] - Field: 'lazy' [10:55:41.733] - Field: 'state' [10:55:41.733] - Field: '.cluster' [10:55:41.733] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:55:41.734] - Launch lazy future ... [10:55:41.734] Packages needed by the future expression (n = 0): [10:55:41.734] Packages needed by future strategies (n = 0): [10:55:41.734] { [10:55:41.734] { [10:55:41.734] { [10:55:41.734] ...future.startTime <- base::Sys.time() [10:55:41.734] { [10:55:41.734] { [10:55:41.734] { [10:55:41.734] base::local({ [10:55:41.734] has_future <- base::requireNamespace("future", [10:55:41.734] quietly = TRUE) [10:55:41.734] if (has_future) { [10:55:41.734] ns <- base::getNamespace("future") [10:55:41.734] version <- ns[[".package"]][["version"]] [10:55:41.734] if (is.null(version)) [10:55:41.734] version <- utils::packageVersion("future") [10:55:41.734] } [10:55:41.734] else { [10:55:41.734] version <- NULL [10:55:41.734] } [10:55:41.734] if (!has_future || version < "1.8.0") { [10:55:41.734] info <- base::c(r_version = base::gsub("R version ", [10:55:41.734] "", base::R.version$version.string), [10:55:41.734] platform = base::sprintf("%s (%s-bit)", [10:55:41.734] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:55:41.734] os = base::paste(base::Sys.info()[base::c("sysname", [10:55:41.734] "release", "version")], collapse = " "), [10:55:41.734] hostname = base::Sys.info()[["nodename"]]) [10:55:41.734] info <- base::sprintf("%s: %s", base::names(info), [10:55:41.734] info) [10:55:41.734] info <- base::paste(info, collapse = "; ") [10:55:41.734] if (!has_future) { [10:55:41.734] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:55:41.734] info) [10:55:41.734] } [10:55:41.734] else { [10:55:41.734] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:55:41.734] info, version) [10:55:41.734] } [10:55:41.734] base::stop(msg) [10:55:41.734] } [10:55:41.734] }) [10:55:41.734] } [10:55:41.734] ...future.strategy.old <- future::plan("list") [10:55:41.734] options(future.plan = NULL) [10:55:41.734] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.734] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:55:41.734] } [10:55:41.734] ...future.workdir <- getwd() [10:55:41.734] } [10:55:41.734] ...future.oldOptions <- base::as.list(base::.Options) [10:55:41.734] ...future.oldEnvVars <- base::Sys.getenv() [10:55:41.734] } [10:55:41.734] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:55:41.734] future.globals.maxSize = NULL, future.globals.method = NULL, [10:55:41.734] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:55:41.734] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:55:41.734] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:55:41.734] future.stdout.windows.reencode = NULL, width = 80L) [10:55:41.734] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:55:41.734] base::names(...future.oldOptions)) [10:55:41.734] } [10:55:41.734] if (FALSE) { [10:55:41.734] } [10:55:41.734] else { [10:55:41.734] if (TRUE) { [10:55:41.734] ...future.stdout <- base::rawConnection(base::raw(0L), [10:55:41.734] open = "w") [10:55:41.734] } [10:55:41.734] else { [10:55:41.734] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:55:41.734] windows = "NUL", "/dev/null"), open = "w") [10:55:41.734] } [10:55:41.734] base::sink(...future.stdout, type = "output", split = FALSE) [10:55:41.734] base::on.exit(if (!base::is.null(...future.stdout)) { [10:55:41.734] base::sink(type = "output", split = FALSE) [10:55:41.734] base::close(...future.stdout) [10:55:41.734] }, add = TRUE) [10:55:41.734] } [10:55:41.734] ...future.frame <- base::sys.nframe() [10:55:41.734] ...future.conditions <- base::list() [10:55:41.734] ...future.rng <- base::globalenv()$.Random.seed [10:55:41.734] if (FALSE) { [10:55:41.734] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:55:41.734] "...future.value", "...future.globalenv.names", ".Random.seed") [10:55:41.734] } [10:55:41.734] ...future.result <- base::tryCatch({ [10:55:41.734] base::withCallingHandlers({ [10:55:41.734] ...future.value <- base::withVisible(base::local({ [10:55:41.734] sum(x, y) [10:55:41.734] })) [10:55:41.734] future::FutureResult(value = ...future.value$value, [10:55:41.734] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.734] ...future.rng), globalenv = if (FALSE) [10:55:41.734] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:55:41.734] ...future.globalenv.names)) [10:55:41.734] else NULL, started = ...future.startTime, version = "1.8") [10:55:41.734] }, condition = base::local({ [10:55:41.734] c <- base::c [10:55:41.734] inherits <- base::inherits [10:55:41.734] invokeRestart <- base::invokeRestart [10:55:41.734] length <- base::length [10:55:41.734] list <- base::list [10:55:41.734] seq.int <- base::seq.int [10:55:41.734] signalCondition <- base::signalCondition [10:55:41.734] sys.calls <- base::sys.calls [10:55:41.734] `[[` <- base::`[[` [10:55:41.734] `+` <- base::`+` [10:55:41.734] `<<-` <- base::`<<-` [10:55:41.734] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:55:41.734] calls[seq.int(from = from + 12L, to = length(calls) - [10:55:41.734] 3L)] [10:55:41.734] } [10:55:41.734] function(cond) { [10:55:41.734] is_error <- inherits(cond, "error") [10:55:41.734] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:55:41.734] NULL) [10:55:41.734] if (is_error) { [10:55:41.734] sessionInformation <- function() { [10:55:41.734] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:55:41.734] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:55:41.734] search = base::search(), system = base::Sys.info()) [10:55:41.734] } [10:55:41.734] ...future.conditions[[length(...future.conditions) + [10:55:41.734] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:55:41.734] cond$call), session = sessionInformation(), [10:55:41.734] timestamp = base::Sys.time(), signaled = 0L) [10:55:41.734] signalCondition(cond) [10:55:41.734] } [10:55:41.734] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:55:41.734] signal <- FALSE && inherits(cond, character(0)) [10:55:41.734] ...future.conditions[[length(...future.conditions) + [10:55:41.734] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:55:41.734] if (FALSE && !signal) { [10:55:41.734] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.734] { [10:55:41.734] inherits <- base::inherits [10:55:41.734] invokeRestart <- base::invokeRestart [10:55:41.734] is.null <- base::is.null [10:55:41.734] muffled <- FALSE [10:55:41.734] if (inherits(cond, "message")) { [10:55:41.734] muffled <- grepl(pattern, "muffleMessage") [10:55:41.734] if (muffled) [10:55:41.734] invokeRestart("muffleMessage") [10:55:41.734] } [10:55:41.734] else if (inherits(cond, "warning")) { [10:55:41.734] muffled <- grepl(pattern, "muffleWarning") [10:55:41.734] if (muffled) [10:55:41.734] invokeRestart("muffleWarning") [10:55:41.734] } [10:55:41.734] else if (inherits(cond, "condition")) { [10:55:41.734] if (!is.null(pattern)) { [10:55:41.734] computeRestarts <- base::computeRestarts [10:55:41.734] grepl <- base::grepl [10:55:41.734] restarts <- computeRestarts(cond) [10:55:41.734] for (restart in restarts) { [10:55:41.734] name <- restart$name [10:55:41.734] if (is.null(name)) [10:55:41.734] next [10:55:41.734] if (!grepl(pattern, name)) [10:55:41.734] next [10:55:41.734] invokeRestart(restart) [10:55:41.734] muffled <- TRUE [10:55:41.734] break [10:55:41.734] } [10:55:41.734] } [10:55:41.734] } [10:55:41.734] invisible(muffled) [10:55:41.734] } [10:55:41.734] muffleCondition(cond, pattern = "^muffle") [10:55:41.734] } [10:55:41.734] } [10:55:41.734] else { [10:55:41.734] if (TRUE) { [10:55:41.734] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.734] { [10:55:41.734] inherits <- base::inherits [10:55:41.734] invokeRestart <- base::invokeRestart [10:55:41.734] is.null <- base::is.null [10:55:41.734] muffled <- FALSE [10:55:41.734] if (inherits(cond, "message")) { [10:55:41.734] muffled <- grepl(pattern, "muffleMessage") [10:55:41.734] if (muffled) [10:55:41.734] invokeRestart("muffleMessage") [10:55:41.734] } [10:55:41.734] else if (inherits(cond, "warning")) { [10:55:41.734] muffled <- grepl(pattern, "muffleWarning") [10:55:41.734] if (muffled) [10:55:41.734] invokeRestart("muffleWarning") [10:55:41.734] } [10:55:41.734] else if (inherits(cond, "condition")) { [10:55:41.734] if (!is.null(pattern)) { [10:55:41.734] computeRestarts <- base::computeRestarts [10:55:41.734] grepl <- base::grepl [10:55:41.734] restarts <- computeRestarts(cond) [10:55:41.734] for (restart in restarts) { [10:55:41.734] name <- restart$name [10:55:41.734] if (is.null(name)) [10:55:41.734] next [10:55:41.734] if (!grepl(pattern, name)) [10:55:41.734] next [10:55:41.734] invokeRestart(restart) [10:55:41.734] muffled <- TRUE [10:55:41.734] break [10:55:41.734] } [10:55:41.734] } [10:55:41.734] } [10:55:41.734] invisible(muffled) [10:55:41.734] } [10:55:41.734] muffleCondition(cond, pattern = "^muffle") [10:55:41.734] } [10:55:41.734] } [10:55:41.734] } [10:55:41.734] })) [10:55:41.734] }, error = function(ex) { [10:55:41.734] base::structure(base::list(value = NULL, visible = NULL, [10:55:41.734] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.734] ...future.rng), started = ...future.startTime, [10:55:41.734] finished = Sys.time(), session_uuid = NA_character_, [10:55:41.734] version = "1.8"), class = "FutureResult") [10:55:41.734] }, finally = { [10:55:41.734] if (!identical(...future.workdir, getwd())) [10:55:41.734] setwd(...future.workdir) [10:55:41.734] { [10:55:41.734] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:55:41.734] ...future.oldOptions$nwarnings <- NULL [10:55:41.734] } [10:55:41.734] base::options(...future.oldOptions) [10:55:41.734] if (.Platform$OS.type == "windows") { [10:55:41.734] old_names <- names(...future.oldEnvVars) [10:55:41.734] envs <- base::Sys.getenv() [10:55:41.734] names <- names(envs) [10:55:41.734] common <- intersect(names, old_names) [10:55:41.734] added <- setdiff(names, old_names) [10:55:41.734] removed <- setdiff(old_names, names) [10:55:41.734] changed <- common[...future.oldEnvVars[common] != [10:55:41.734] envs[common]] [10:55:41.734] NAMES <- toupper(changed) [10:55:41.734] args <- list() [10:55:41.734] for (kk in seq_along(NAMES)) { [10:55:41.734] name <- changed[[kk]] [10:55:41.734] NAME <- NAMES[[kk]] [10:55:41.734] if (name != NAME && is.element(NAME, old_names)) [10:55:41.734] next [10:55:41.734] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.734] } [10:55:41.734] NAMES <- toupper(added) [10:55:41.734] for (kk in seq_along(NAMES)) { [10:55:41.734] name <- added[[kk]] [10:55:41.734] NAME <- NAMES[[kk]] [10:55:41.734] if (name != NAME && is.element(NAME, old_names)) [10:55:41.734] next [10:55:41.734] args[[name]] <- "" [10:55:41.734] } [10:55:41.734] NAMES <- toupper(removed) [10:55:41.734] for (kk in seq_along(NAMES)) { [10:55:41.734] name <- removed[[kk]] [10:55:41.734] NAME <- NAMES[[kk]] [10:55:41.734] if (name != NAME && is.element(NAME, old_names)) [10:55:41.734] next [10:55:41.734] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.734] } [10:55:41.734] if (length(args) > 0) [10:55:41.734] base::do.call(base::Sys.setenv, args = args) [10:55:41.734] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:55:41.734] } [10:55:41.734] else { [10:55:41.734] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:55:41.734] } [10:55:41.734] { [10:55:41.734] if (base::length(...future.futureOptionsAdded) > [10:55:41.734] 0L) { [10:55:41.734] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:55:41.734] base::names(opts) <- ...future.futureOptionsAdded [10:55:41.734] base::options(opts) [10:55:41.734] } [10:55:41.734] { [10:55:41.734] NULL [10:55:41.734] options(future.plan = NULL) [10:55:41.734] if (is.na(NA_character_)) [10:55:41.734] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.734] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:55:41.734] future::plan(...future.strategy.old, .cleanup = FALSE, [10:55:41.734] .init = FALSE) [10:55:41.734] } [10:55:41.734] } [10:55:41.734] } [10:55:41.734] }) [10:55:41.734] if (TRUE) { [10:55:41.734] base::sink(type = "output", split = FALSE) [10:55:41.734] if (TRUE) { [10:55:41.734] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:55:41.734] } [10:55:41.734] else { [10:55:41.734] ...future.result["stdout"] <- base::list(NULL) [10:55:41.734] } [10:55:41.734] base::close(...future.stdout) [10:55:41.734] ...future.stdout <- NULL [10:55:41.734] } [10:55:41.734] ...future.result$conditions <- ...future.conditions [10:55:41.734] ...future.result$finished <- base::Sys.time() [10:55:41.734] ...future.result [10:55:41.734] } [10:55:41.738] - Launch lazy future ... done [10:55:41.739] run() for 'MiraiFuture' ... done [1] 6 [10:55:41.741] ** Sum function 'D' with plan('mirai_multisession') ...function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y, ...) } y } Arguments '...' exists: FALSE [10:55:41.744] getGlobalsAndPackages() ... [10:55:41.744] Searching for globals... [10:55:41.746] - globals found: [5] '{', 'sum', 'x', 'y', '...' [10:55:41.746] Searching for globals ... DONE [10:55:41.746] Resolving globals: FALSE [10:55:41.746] Tweak future expression to call with '...' arguments ... [10:55:41.747] The total size of the 2 globals is 112 bytes (112 bytes) [10:55:41.747] The total size of the 2 globals exported for future expression ('{; sum(x, y, ...); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'y' (56 bytes of class 'numeric') [10:55:41.747] - globals: [2] 'x', 'y' [10:55:41.748] [10:55:41.748] getGlobalsAndPackages() ... DONE [10:55:41.748] run() for 'Future' ... [10:55:41.748] - state: 'created' [10:55:41.748] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:55:41.751] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:55:41.751] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:55:41.751] - Field: 'label' [10:55:41.751] - Field: 'local' [10:55:41.751] - Field: 'owner' [10:55:41.752] - Field: 'envir' [10:55:41.752] - Field: 'packages' [10:55:41.752] - Field: 'gc' [10:55:41.752] - Field: 'conditions' [10:55:41.752] - Field: 'expr' [10:55:41.753] - Field: 'uuid' [10:55:41.753] - Field: 'seed' [10:55:41.753] - Field: 'version' [10:55:41.753] - Field: 'result' [10:55:41.753] - Field: 'asynchronous' [10:55:41.753] - Field: 'calls' [10:55:41.754] - Field: 'globals' [10:55:41.754] - Field: 'stdout' [10:55:41.754] - Field: 'earlySignal' [10:55:41.754] - Field: 'lazy' [10:55:41.754] - Field: 'state' [10:55:41.754] - Field: '.cluster' [10:55:41.755] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:55:41.755] - Launch lazy future ... [10:55:41.755] Packages needed by the future expression (n = 0): [10:55:41.755] Packages needed by future strategies (n = 0): [10:55:41.756] { [10:55:41.756] { [10:55:41.756] { [10:55:41.756] ...future.startTime <- base::Sys.time() [10:55:41.756] { [10:55:41.756] { [10:55:41.756] { [10:55:41.756] base::local({ [10:55:41.756] has_future <- base::requireNamespace("future", [10:55:41.756] quietly = TRUE) [10:55:41.756] if (has_future) { [10:55:41.756] ns <- base::getNamespace("future") [10:55:41.756] version <- ns[[".package"]][["version"]] [10:55:41.756] if (is.null(version)) [10:55:41.756] version <- utils::packageVersion("future") [10:55:41.756] } [10:55:41.756] else { [10:55:41.756] version <- NULL [10:55:41.756] } [10:55:41.756] if (!has_future || version < "1.8.0") { [10:55:41.756] info <- base::c(r_version = base::gsub("R version ", [10:55:41.756] "", base::R.version$version.string), [10:55:41.756] platform = base::sprintf("%s (%s-bit)", [10:55:41.756] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:55:41.756] os = base::paste(base::Sys.info()[base::c("sysname", [10:55:41.756] "release", "version")], collapse = " "), [10:55:41.756] hostname = base::Sys.info()[["nodename"]]) [10:55:41.756] info <- base::sprintf("%s: %s", base::names(info), [10:55:41.756] info) [10:55:41.756] info <- base::paste(info, collapse = "; ") [10:55:41.756] if (!has_future) { [10:55:41.756] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:55:41.756] info) [10:55:41.756] } [10:55:41.756] else { [10:55:41.756] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:55:41.756] info, version) [10:55:41.756] } [10:55:41.756] base::stop(msg) [10:55:41.756] } [10:55:41.756] }) [10:55:41.756] } [10:55:41.756] ...future.strategy.old <- future::plan("list") [10:55:41.756] options(future.plan = NULL) [10:55:41.756] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.756] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:55:41.756] } [10:55:41.756] ...future.workdir <- getwd() [10:55:41.756] } [10:55:41.756] ...future.oldOptions <- base::as.list(base::.Options) [10:55:41.756] ...future.oldEnvVars <- base::Sys.getenv() [10:55:41.756] } [10:55:41.756] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:55:41.756] future.globals.maxSize = NULL, future.globals.method = NULL, [10:55:41.756] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:55:41.756] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:55:41.756] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:55:41.756] future.stdout.windows.reencode = NULL, width = 80L) [10:55:41.756] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:55:41.756] base::names(...future.oldOptions)) [10:55:41.756] } [10:55:41.756] if (FALSE) { [10:55:41.756] } [10:55:41.756] else { [10:55:41.756] if (TRUE) { [10:55:41.756] ...future.stdout <- base::rawConnection(base::raw(0L), [10:55:41.756] open = "w") [10:55:41.756] } [10:55:41.756] else { [10:55:41.756] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:55:41.756] windows = "NUL", "/dev/null"), open = "w") [10:55:41.756] } [10:55:41.756] base::sink(...future.stdout, type = "output", split = FALSE) [10:55:41.756] base::on.exit(if (!base::is.null(...future.stdout)) { [10:55:41.756] base::sink(type = "output", split = FALSE) [10:55:41.756] base::close(...future.stdout) [10:55:41.756] }, add = TRUE) [10:55:41.756] } [10:55:41.756] ...future.frame <- base::sys.nframe() [10:55:41.756] ...future.conditions <- base::list() [10:55:41.756] ...future.rng <- base::globalenv()$.Random.seed [10:55:41.756] if (FALSE) { [10:55:41.756] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:55:41.756] "...future.value", "...future.globalenv.names", ".Random.seed") [10:55:41.756] } [10:55:41.756] ...future.result <- base::tryCatch({ [10:55:41.756] base::withCallingHandlers({ [10:55:41.756] ...future.value <- base::withVisible(base::local({ [10:55:41.756] sum(x, y, ...) [10:55:41.756] })) [10:55:41.756] future::FutureResult(value = ...future.value$value, [10:55:41.756] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.756] ...future.rng), globalenv = if (FALSE) [10:55:41.756] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:55:41.756] ...future.globalenv.names)) [10:55:41.756] else NULL, started = ...future.startTime, version = "1.8") [10:55:41.756] }, condition = base::local({ [10:55:41.756] c <- base::c [10:55:41.756] inherits <- base::inherits [10:55:41.756] invokeRestart <- base::invokeRestart [10:55:41.756] length <- base::length [10:55:41.756] list <- base::list [10:55:41.756] seq.int <- base::seq.int [10:55:41.756] signalCondition <- base::signalCondition [10:55:41.756] sys.calls <- base::sys.calls [10:55:41.756] `[[` <- base::`[[` [10:55:41.756] `+` <- base::`+` [10:55:41.756] `<<-` <- base::`<<-` [10:55:41.756] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:55:41.756] calls[seq.int(from = from + 12L, to = length(calls) - [10:55:41.756] 3L)] [10:55:41.756] } [10:55:41.756] function(cond) { [10:55:41.756] is_error <- inherits(cond, "error") [10:55:41.756] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:55:41.756] NULL) [10:55:41.756] if (is_error) { [10:55:41.756] sessionInformation <- function() { [10:55:41.756] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:55:41.756] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:55:41.756] search = base::search(), system = base::Sys.info()) [10:55:41.756] } [10:55:41.756] ...future.conditions[[length(...future.conditions) + [10:55:41.756] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:55:41.756] cond$call), session = sessionInformation(), [10:55:41.756] timestamp = base::Sys.time(), signaled = 0L) [10:55:41.756] signalCondition(cond) [10:55:41.756] } [10:55:41.756] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:55:41.756] signal <- FALSE && inherits(cond, character(0)) [10:55:41.756] ...future.conditions[[length(...future.conditions) + [10:55:41.756] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:55:41.756] if (FALSE && !signal) { [10:55:41.756] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.756] { [10:55:41.756] inherits <- base::inherits [10:55:41.756] invokeRestart <- base::invokeRestart [10:55:41.756] is.null <- base::is.null [10:55:41.756] muffled <- FALSE [10:55:41.756] if (inherits(cond, "message")) { [10:55:41.756] muffled <- grepl(pattern, "muffleMessage") [10:55:41.756] if (muffled) [10:55:41.756] invokeRestart("muffleMessage") [10:55:41.756] } [10:55:41.756] else if (inherits(cond, "warning")) { [10:55:41.756] muffled <- grepl(pattern, "muffleWarning") [10:55:41.756] if (muffled) [10:55:41.756] invokeRestart("muffleWarning") [10:55:41.756] } [10:55:41.756] else if (inherits(cond, "condition")) { [10:55:41.756] if (!is.null(pattern)) { [10:55:41.756] computeRestarts <- base::computeRestarts [10:55:41.756] grepl <- base::grepl [10:55:41.756] restarts <- computeRestarts(cond) [10:55:41.756] for (restart in restarts) { [10:55:41.756] name <- restart$name [10:55:41.756] if (is.null(name)) [10:55:41.756] next [10:55:41.756] if (!grepl(pattern, name)) [10:55:41.756] next [10:55:41.756] invokeRestart(restart) [10:55:41.756] muffled <- TRUE [10:55:41.756] break [10:55:41.756] } [10:55:41.756] } [10:55:41.756] } [10:55:41.756] invisible(muffled) [10:55:41.756] } [10:55:41.756] muffleCondition(cond, pattern = "^muffle") [10:55:41.756] } [10:55:41.756] } [10:55:41.756] else { [10:55:41.756] if (TRUE) { [10:55:41.756] muffleCondition <- function (cond, pattern = "^muffle") [10:55:41.756] { [10:55:41.756] inherits <- base::inherits [10:55:41.756] invokeRestart <- base::invokeRestart [10:55:41.756] is.null <- base::is.null [10:55:41.756] muffled <- FALSE [10:55:41.756] if (inherits(cond, "message")) { [10:55:41.756] muffled <- grepl(pattern, "muffleMessage") [10:55:41.756] if (muffled) [10:55:41.756] invokeRestart("muffleMessage") [10:55:41.756] } [10:55:41.756] else if (inherits(cond, "warning")) { [10:55:41.756] muffled <- grepl(pattern, "muffleWarning") [10:55:41.756] if (muffled) [10:55:41.756] invokeRestart("muffleWarning") [10:55:41.756] } [10:55:41.756] else if (inherits(cond, "condition")) { [10:55:41.756] if (!is.null(pattern)) { [10:55:41.756] computeRestarts <- base::computeRestarts [10:55:41.756] grepl <- base::grepl [10:55:41.756] restarts <- computeRestarts(cond) [10:55:41.756] for (restart in restarts) { [10:55:41.756] name <- restart$name [10:55:41.756] if (is.null(name)) [10:55:41.756] next [10:55:41.756] if (!grepl(pattern, name)) [10:55:41.756] next [10:55:41.756] invokeRestart(restart) [10:55:41.756] muffled <- TRUE [10:55:41.756] break [10:55:41.756] } [10:55:41.756] } [10:55:41.756] } [10:55:41.756] invisible(muffled) [10:55:41.756] } [10:55:41.756] muffleCondition(cond, pattern = "^muffle") [10:55:41.756] } [10:55:41.756] } [10:55:41.756] } [10:55:41.756] })) [10:55:41.756] }, error = function(ex) { [10:55:41.756] base::structure(base::list(value = NULL, visible = NULL, [10:55:41.756] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:55:41.756] ...future.rng), started = ...future.startTime, [10:55:41.756] finished = Sys.time(), session_uuid = NA_character_, [10:55:41.756] version = "1.8"), class = "FutureResult") [10:55:41.756] }, finally = { [10:55:41.756] if (!identical(...future.workdir, getwd())) [10:55:41.756] setwd(...future.workdir) [10:55:41.756] { [10:55:41.756] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:55:41.756] ...future.oldOptions$nwarnings <- NULL [10:55:41.756] } [10:55:41.756] base::options(...future.oldOptions) [10:55:41.756] if (.Platform$OS.type == "windows") { [10:55:41.756] old_names <- names(...future.oldEnvVars) [10:55:41.756] envs <- base::Sys.getenv() [10:55:41.756] names <- names(envs) [10:55:41.756] common <- intersect(names, old_names) [10:55:41.756] added <- setdiff(names, old_names) [10:55:41.756] removed <- setdiff(old_names, names) [10:55:41.756] changed <- common[...future.oldEnvVars[common] != [10:55:41.756] envs[common]] [10:55:41.756] NAMES <- toupper(changed) [10:55:41.756] args <- list() [10:55:41.756] for (kk in seq_along(NAMES)) { [10:55:41.756] name <- changed[[kk]] [10:55:41.756] NAME <- NAMES[[kk]] [10:55:41.756] if (name != NAME && is.element(NAME, old_names)) [10:55:41.756] next [10:55:41.756] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.756] } [10:55:41.756] NAMES <- toupper(added) [10:55:41.756] for (kk in seq_along(NAMES)) { [10:55:41.756] name <- added[[kk]] [10:55:41.756] NAME <- NAMES[[kk]] [10:55:41.756] if (name != NAME && is.element(NAME, old_names)) [10:55:41.756] next [10:55:41.756] args[[name]] <- "" [10:55:41.756] } [10:55:41.756] NAMES <- toupper(removed) [10:55:41.756] for (kk in seq_along(NAMES)) { [10:55:41.756] name <- removed[[kk]] [10:55:41.756] NAME <- NAMES[[kk]] [10:55:41.756] if (name != NAME && is.element(NAME, old_names)) [10:55:41.756] next [10:55:41.756] args[[name]] <- ...future.oldEnvVars[[name]] [10:55:41.756] } [10:55:41.756] if (length(args) > 0) [10:55:41.756] base::do.call(base::Sys.setenv, args = args) [10:55:41.756] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:55:41.756] } [10:55:41.756] else { [10:55:41.756] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:55:41.756] } [10:55:41.756] { [10:55:41.756] if (base::length(...future.futureOptionsAdded) > [10:55:41.756] 0L) { [10:55:41.756] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:55:41.756] base::names(opts) <- ...future.futureOptionsAdded [10:55:41.756] base::options(opts) [10:55:41.756] } [10:55:41.756] { [10:55:41.756] NULL [10:55:41.756] options(future.plan = NULL) [10:55:41.756] if (is.na(NA_character_)) [10:55:41.756] Sys.unsetenv("R_FUTURE_PLAN") [10:55:41.756] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:55:41.756] future::plan(...future.strategy.old, .cleanup = FALSE, [10:55:41.756] .init = FALSE) [10:55:41.756] } [10:55:41.756] } [10:55:41.756] } [10:55:41.756] }) [10:55:41.756] if (TRUE) { [10:55:41.756] base::sink(type = "output", split = FALSE) [10:55:41.756] if (TRUE) { [10:55:41.756] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:55:41.756] } [10:55:41.756] else { [10:55:41.756] ...future.result["stdout"] <- base::list(NULL) [10:55:41.756] } [10:55:41.756] base::close(...future.stdout) [10:55:41.756] ...future.stdout <- NULL [10:55:41.756] } [10:55:41.756] ...future.result$conditions <- ...future.conditions [10:55:41.756] ...future.result$finished <- base::Sys.time() [10:55:41.756] ...future.result [10:55:41.756] } [10:55:41.760] - Launch lazy future ... done [10:55:41.760] run() for 'MiraiFuture' ... done [10:55:41.762] signalConditions() ... [10:55:41.762] - include = 'immediateCondition' [10:55:41.763] - exclude = [10:55:41.763] - resignal = FALSE [10:55:41.763] - Number of conditions: 1 [10:55:41.763] signalConditions() ... done [10:55:41.763] Future state: 'finished' [10:55:41.764] signalConditions() ... [10:55:41.764] - include = 'condition' [10:55:41.764] - exclude = 'immediateCondition' [10:55:41.764] - resignal = TRUE [10:55:41.764] - Number of conditions: 1 [10:55:41.765] - Condition #1: 'simpleError', 'error', 'condition' [10:55:41.765] signalConditions() ... done > > message("*** Global argument '...' in futures ... DONE") *** Global argument '...' in futures ... DONE > > source("incl/end.R") > > proc.time() user system elapsed 0.43 0.17 1.07