R Under development (unstable) (2024-07-02 r86866 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 [13:30:37.634] plan(): Setting new future strategy stack: [13:30:37.635] List of future strategies: [13:30:37.635] 1. mirai_multisession: [13:30:37.635] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:30:37.635] - tweaked: FALSE [13:30:37.635] - call: future::plan(future.mirai::mirai_multisession) [13:30:37.648] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:30:37.648] < mirai [$data] > [13:30:37.653] getGlobalsAndPackages() ... [13:30:37.653] Not searching for globals [13:30:37.653] - globals: [0] [13:30:37.654] getGlobalsAndPackages() ... DONE [13:30:37.654] getGlobalsAndPackages() ... [13:30:37.654] [13:30:37.654] - globals: [0] [13:30:37.655] getGlobalsAndPackages() ... DONE [13:30:37.907] Packages needed by the future expression (n = 0): [13:30:37.907] Packages needed by future strategies (n = 0): [13:30:37.908] { [13:30:37.908] { [13:30:37.908] { [13:30:37.908] ...future.startTime <- base::Sys.time() [13:30:37.908] { [13:30:37.908] { [13:30:37.908] { [13:30:37.908] base::local({ [13:30:37.908] has_future <- base::requireNamespace("future", [13:30:37.908] quietly = TRUE) [13:30:37.908] if (has_future) { [13:30:37.908] ns <- base::getNamespace("future") [13:30:37.908] version <- ns[[".package"]][["version"]] [13:30:37.908] if (is.null(version)) [13:30:37.908] version <- utils::packageVersion("future") [13:30:37.908] } [13:30:37.908] else { [13:30:37.908] version <- NULL [13:30:37.908] } [13:30:37.908] if (!has_future || version < "1.8.0") { [13:30:37.908] info <- base::c(r_version = base::gsub("R version ", [13:30:37.908] "", base::R.version$version.string), [13:30:37.908] platform = base::sprintf("%s (%s-bit)", [13:30:37.908] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:37.908] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:37.908] "release", "version")], collapse = " "), [13:30:37.908] hostname = base::Sys.info()[["nodename"]]) [13:30:37.908] info <- base::sprintf("%s: %s", base::names(info), [13:30:37.908] info) [13:30:37.908] info <- base::paste(info, collapse = "; ") [13:30:37.908] if (!has_future) { [13:30:37.908] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:37.908] info) [13:30:37.908] } [13:30:37.908] else { [13:30:37.908] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:37.908] info, version) [13:30:37.908] } [13:30:37.908] base::stop(msg) [13:30:37.908] } [13:30:37.908] }) [13:30:37.908] } [13:30:37.908] ...future.strategy.old <- future::plan("list") [13:30:37.908] options(future.plan = NULL) [13:30:37.908] Sys.unsetenv("R_FUTURE_PLAN") [13:30:37.908] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:37.908] } [13:30:37.908] ...future.workdir <- getwd() [13:30:37.908] } [13:30:37.908] ...future.oldOptions <- base::as.list(base::.Options) [13:30:37.908] ...future.oldEnvVars <- base::Sys.getenv() [13:30:37.908] } [13:30:37.908] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:37.908] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:37.908] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:37.908] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:37.908] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:37.908] future.stdout.windows.reencode = NULL, width = 80L) [13:30:37.908] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:37.908] base::names(...future.oldOptions)) [13:30:37.908] } [13:30:37.908] if (FALSE) { [13:30:37.908] } [13:30:37.908] else { [13:30:37.908] if (TRUE) { [13:30:37.908] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:37.908] open = "w") [13:30:37.908] } [13:30:37.908] else { [13:30:37.908] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:37.908] windows = "NUL", "/dev/null"), open = "w") [13:30:37.908] } [13:30:37.908] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:37.908] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:37.908] base::sink(type = "output", split = FALSE) [13:30:37.908] base::close(...future.stdout) [13:30:37.908] }, add = TRUE) [13:30:37.908] } [13:30:37.908] ...future.frame <- base::sys.nframe() [13:30:37.908] ...future.conditions <- base::list() [13:30:37.908] ...future.rng <- base::globalenv()$.Random.seed [13:30:37.908] if (FALSE) { [13:30:37.908] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:37.908] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:37.908] } [13:30:37.908] ...future.result <- base::tryCatch({ [13:30:37.908] base::withCallingHandlers({ [13:30:37.908] ...future.value <- base::withVisible(base::local(NA)) [13:30:37.908] future::FutureResult(value = ...future.value$value, [13:30:37.908] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:37.908] ...future.rng), globalenv = if (FALSE) [13:30:37.908] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:37.908] ...future.globalenv.names)) [13:30:37.908] else NULL, started = ...future.startTime, version = "1.8") [13:30:37.908] }, condition = base::local({ [13:30:37.908] c <- base::c [13:30:37.908] inherits <- base::inherits [13:30:37.908] invokeRestart <- base::invokeRestart [13:30:37.908] length <- base::length [13:30:37.908] list <- base::list [13:30:37.908] seq.int <- base::seq.int [13:30:37.908] signalCondition <- base::signalCondition [13:30:37.908] sys.calls <- base::sys.calls [13:30:37.908] `[[` <- base::`[[` [13:30:37.908] `+` <- base::`+` [13:30:37.908] `<<-` <- base::`<<-` [13:30:37.908] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:37.908] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:37.908] 3L)] [13:30:37.908] } [13:30:37.908] function(cond) { [13:30:37.908] is_error <- inherits(cond, "error") [13:30:37.908] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:37.908] NULL) [13:30:37.908] if (is_error) { [13:30:37.908] sessionInformation <- function() { [13:30:37.908] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:37.908] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:37.908] search = base::search(), system = base::Sys.info()) [13:30:37.908] } [13:30:37.908] ...future.conditions[[length(...future.conditions) + [13:30:37.908] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:37.908] cond$call), session = sessionInformation(), [13:30:37.908] timestamp = base::Sys.time(), signaled = 0L) [13:30:37.908] signalCondition(cond) [13:30:37.908] } [13:30:37.908] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:37.908] signal <- FALSE && inherits(cond, character(0)) [13:30:37.908] ...future.conditions[[length(...future.conditions) + [13:30:37.908] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:37.908] if (FALSE && !signal) { [13:30:37.908] muffleCondition <- function (cond, pattern = "^muffle") [13:30:37.908] { [13:30:37.908] inherits <- base::inherits [13:30:37.908] invokeRestart <- base::invokeRestart [13:30:37.908] is.null <- base::is.null [13:30:37.908] muffled <- FALSE [13:30:37.908] if (inherits(cond, "message")) { [13:30:37.908] muffled <- grepl(pattern, "muffleMessage") [13:30:37.908] if (muffled) [13:30:37.908] invokeRestart("muffleMessage") [13:30:37.908] } [13:30:37.908] else if (inherits(cond, "warning")) { [13:30:37.908] muffled <- grepl(pattern, "muffleWarning") [13:30:37.908] if (muffled) [13:30:37.908] invokeRestart("muffleWarning") [13:30:37.908] } [13:30:37.908] else if (inherits(cond, "condition")) { [13:30:37.908] if (!is.null(pattern)) { [13:30:37.908] computeRestarts <- base::computeRestarts [13:30:37.908] grepl <- base::grepl [13:30:37.908] restarts <- computeRestarts(cond) [13:30:37.908] for (restart in restarts) { [13:30:37.908] name <- restart$name [13:30:37.908] if (is.null(name)) [13:30:37.908] next [13:30:37.908] if (!grepl(pattern, name)) [13:30:37.908] next [13:30:37.908] invokeRestart(restart) [13:30:37.908] muffled <- TRUE [13:30:37.908] break [13:30:37.908] } [13:30:37.908] } [13:30:37.908] } [13:30:37.908] invisible(muffled) [13:30:37.908] } [13:30:37.908] muffleCondition(cond, pattern = "^muffle") [13:30:37.908] } [13:30:37.908] } [13:30:37.908] else { [13:30:37.908] if (TRUE) { [13:30:37.908] muffleCondition <- function (cond, pattern = "^muffle") [13:30:37.908] { [13:30:37.908] inherits <- base::inherits [13:30:37.908] invokeRestart <- base::invokeRestart [13:30:37.908] is.null <- base::is.null [13:30:37.908] muffled <- FALSE [13:30:37.908] if (inherits(cond, "message")) { [13:30:37.908] muffled <- grepl(pattern, "muffleMessage") [13:30:37.908] if (muffled) [13:30:37.908] invokeRestart("muffleMessage") [13:30:37.908] } [13:30:37.908] else if (inherits(cond, "warning")) { [13:30:37.908] muffled <- grepl(pattern, "muffleWarning") [13:30:37.908] if (muffled) [13:30:37.908] invokeRestart("muffleWarning") [13:30:37.908] } [13:30:37.908] else if (inherits(cond, "condition")) { [13:30:37.908] if (!is.null(pattern)) { [13:30:37.908] computeRestarts <- base::computeRestarts [13:30:37.908] grepl <- base::grepl [13:30:37.908] restarts <- computeRestarts(cond) [13:30:37.908] for (restart in restarts) { [13:30:37.908] name <- restart$name [13:30:37.908] if (is.null(name)) [13:30:37.908] next [13:30:37.908] if (!grepl(pattern, name)) [13:30:37.908] next [13:30:37.908] invokeRestart(restart) [13:30:37.908] muffled <- TRUE [13:30:37.908] break [13:30:37.908] } [13:30:37.908] } [13:30:37.908] } [13:30:37.908] invisible(muffled) [13:30:37.908] } [13:30:37.908] muffleCondition(cond, pattern = "^muffle") [13:30:37.908] } [13:30:37.908] } [13:30:37.908] } [13:30:37.908] })) [13:30:37.908] }, error = function(ex) { [13:30:37.908] base::structure(base::list(value = NULL, visible = NULL, [13:30:37.908] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:37.908] ...future.rng), started = ...future.startTime, [13:30:37.908] finished = Sys.time(), session_uuid = NA_character_, [13:30:37.908] version = "1.8"), class = "FutureResult") [13:30:37.908] }, finally = { [13:30:37.908] if (!identical(...future.workdir, getwd())) [13:30:37.908] setwd(...future.workdir) [13:30:37.908] { [13:30:37.908] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:37.908] ...future.oldOptions$nwarnings <- NULL [13:30:37.908] } [13:30:37.908] base::options(...future.oldOptions) [13:30:37.908] if (.Platform$OS.type == "windows") { [13:30:37.908] old_names <- names(...future.oldEnvVars) [13:30:37.908] envs <- base::Sys.getenv() [13:30:37.908] names <- names(envs) [13:30:37.908] common <- intersect(names, old_names) [13:30:37.908] added <- setdiff(names, old_names) [13:30:37.908] removed <- setdiff(old_names, names) [13:30:37.908] changed <- common[...future.oldEnvVars[common] != [13:30:37.908] envs[common]] [13:30:37.908] NAMES <- toupper(changed) [13:30:37.908] args <- list() [13:30:37.908] for (kk in seq_along(NAMES)) { [13:30:37.908] name <- changed[[kk]] [13:30:37.908] NAME <- NAMES[[kk]] [13:30:37.908] if (name != NAME && is.element(NAME, old_names)) [13:30:37.908] next [13:30:37.908] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:37.908] } [13:30:37.908] NAMES <- toupper(added) [13:30:37.908] for (kk in seq_along(NAMES)) { [13:30:37.908] name <- added[[kk]] [13:30:37.908] NAME <- NAMES[[kk]] [13:30:37.908] if (name != NAME && is.element(NAME, old_names)) [13:30:37.908] next [13:30:37.908] args[[name]] <- "" [13:30:37.908] } [13:30:37.908] NAMES <- toupper(removed) [13:30:37.908] for (kk in seq_along(NAMES)) { [13:30:37.908] name <- removed[[kk]] [13:30:37.908] NAME <- NAMES[[kk]] [13:30:37.908] if (name != NAME && is.element(NAME, old_names)) [13:30:37.908] next [13:30:37.908] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:37.908] } [13:30:37.908] if (length(args) > 0) [13:30:37.908] base::do.call(base::Sys.setenv, args = args) [13:30:37.908] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:37.908] } [13:30:37.908] else { [13:30:37.908] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:37.908] } [13:30:37.908] { [13:30:37.908] if (base::length(...future.futureOptionsAdded) > [13:30:37.908] 0L) { [13:30:37.908] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:37.908] base::names(opts) <- ...future.futureOptionsAdded [13:30:37.908] base::options(opts) [13:30:37.908] } [13:30:37.908] { [13:30:37.908] NULL [13:30:37.908] options(future.plan = NULL) [13:30:37.908] if (is.na(NA_character_)) [13:30:37.908] Sys.unsetenv("R_FUTURE_PLAN") [13:30:37.908] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:37.908] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:37.908] .init = FALSE) [13:30:37.908] } [13:30:37.908] } [13:30:37.908] } [13:30:37.908] }) [13:30:37.908] if (TRUE) { [13:30:37.908] base::sink(type = "output", split = FALSE) [13:30:37.908] if (TRUE) { [13:30:37.908] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:37.908] } [13:30:37.908] else { [13:30:37.908] ...future.result["stdout"] <- base::list(NULL) [13:30:37.908] } [13:30:37.908] base::close(...future.stdout) [13:30:37.908] ...future.stdout <- NULL [13:30:37.908] } [13:30:37.908] ...future.result$conditions <- ...future.conditions [13:30:37.908] ...future.result$finished <- base::Sys.time() [13:30:37.908] ...future.result [13:30:37.908] } [13:30:38.025] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:30:38.026] 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) + } + } + } [13:30:38.041] plan(): Setting new future strategy stack: [13:30:38.041] List of future strategies: [13:30:38.041] 1. mirai_cluster: [13:30:38.041] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = "") [13:30:38.041] - tweaked: FALSE [13:30:38.041] - call: plan(strategy, substitute = FALSE) [13:30:38.056] plan(): plan_init() of 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:30:38.056] < mirai [$data] > [13:30:38.057] getGlobalsAndPackages() ... [13:30:38.057] Not searching for globals [13:30:38.057] - globals: [0] [13:30:38.057] getGlobalsAndPackages() ... DONE [13:30:38.057] getGlobalsAndPackages() ... [13:30:38.057] [13:30:38.058] - globals: [0] [13:30:38.058] getGlobalsAndPackages() ... DONE [13:30:38.058] Packages needed by the future expression (n = 0): [13:30:38.058] Packages needed by future strategies (n = 0): [13:30:38.059] { [13:30:38.059] { [13:30:38.059] { [13:30:38.059] ...future.startTime <- base::Sys.time() [13:30:38.059] { [13:30:38.059] { [13:30:38.059] { [13:30:38.059] base::local({ [13:30:38.059] has_future <- base::requireNamespace("future", [13:30:38.059] quietly = TRUE) [13:30:38.059] if (has_future) { [13:30:38.059] ns <- base::getNamespace("future") [13:30:38.059] version <- ns[[".package"]][["version"]] [13:30:38.059] if (is.null(version)) [13:30:38.059] version <- utils::packageVersion("future") [13:30:38.059] } [13:30:38.059] else { [13:30:38.059] version <- NULL [13:30:38.059] } [13:30:38.059] if (!has_future || version < "1.8.0") { [13:30:38.059] info <- base::c(r_version = base::gsub("R version ", [13:30:38.059] "", base::R.version$version.string), [13:30:38.059] platform = base::sprintf("%s (%s-bit)", [13:30:38.059] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:38.059] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:38.059] "release", "version")], collapse = " "), [13:30:38.059] hostname = base::Sys.info()[["nodename"]]) [13:30:38.059] info <- base::sprintf("%s: %s", base::names(info), [13:30:38.059] info) [13:30:38.059] info <- base::paste(info, collapse = "; ") [13:30:38.059] if (!has_future) { [13:30:38.059] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:38.059] info) [13:30:38.059] } [13:30:38.059] else { [13:30:38.059] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:38.059] info, version) [13:30:38.059] } [13:30:38.059] base::stop(msg) [13:30:38.059] } [13:30:38.059] }) [13:30:38.059] } [13:30:38.059] ...future.strategy.old <- future::plan("list") [13:30:38.059] options(future.plan = NULL) [13:30:38.059] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.059] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:38.059] } [13:30:38.059] ...future.workdir <- getwd() [13:30:38.059] } [13:30:38.059] ...future.oldOptions <- base::as.list(base::.Options) [13:30:38.059] ...future.oldEnvVars <- base::Sys.getenv() [13:30:38.059] } [13:30:38.059] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:38.059] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:38.059] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:38.059] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:38.059] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:38.059] future.stdout.windows.reencode = NULL, width = 80L) [13:30:38.059] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:38.059] base::names(...future.oldOptions)) [13:30:38.059] } [13:30:38.059] if (FALSE) { [13:30:38.059] } [13:30:38.059] else { [13:30:38.059] if (TRUE) { [13:30:38.059] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:38.059] open = "w") [13:30:38.059] } [13:30:38.059] else { [13:30:38.059] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:38.059] windows = "NUL", "/dev/null"), open = "w") [13:30:38.059] } [13:30:38.059] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:38.059] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:38.059] base::sink(type = "output", split = FALSE) [13:30:38.059] base::close(...future.stdout) [13:30:38.059] }, add = TRUE) [13:30:38.059] } [13:30:38.059] ...future.frame <- base::sys.nframe() [13:30:38.059] ...future.conditions <- base::list() [13:30:38.059] ...future.rng <- base::globalenv()$.Random.seed [13:30:38.059] if (FALSE) { [13:30:38.059] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:38.059] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:38.059] } [13:30:38.059] ...future.result <- base::tryCatch({ [13:30:38.059] base::withCallingHandlers({ [13:30:38.059] ...future.value <- base::withVisible(base::local(NA)) [13:30:38.059] future::FutureResult(value = ...future.value$value, [13:30:38.059] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.059] ...future.rng), globalenv = if (FALSE) [13:30:38.059] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:38.059] ...future.globalenv.names)) [13:30:38.059] else NULL, started = ...future.startTime, version = "1.8") [13:30:38.059] }, condition = base::local({ [13:30:38.059] c <- base::c [13:30:38.059] inherits <- base::inherits [13:30:38.059] invokeRestart <- base::invokeRestart [13:30:38.059] length <- base::length [13:30:38.059] list <- base::list [13:30:38.059] seq.int <- base::seq.int [13:30:38.059] signalCondition <- base::signalCondition [13:30:38.059] sys.calls <- base::sys.calls [13:30:38.059] `[[` <- base::`[[` [13:30:38.059] `+` <- base::`+` [13:30:38.059] `<<-` <- base::`<<-` [13:30:38.059] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:38.059] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:38.059] 3L)] [13:30:38.059] } [13:30:38.059] function(cond) { [13:30:38.059] is_error <- inherits(cond, "error") [13:30:38.059] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:38.059] NULL) [13:30:38.059] if (is_error) { [13:30:38.059] sessionInformation <- function() { [13:30:38.059] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:38.059] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:38.059] search = base::search(), system = base::Sys.info()) [13:30:38.059] } [13:30:38.059] ...future.conditions[[length(...future.conditions) + [13:30:38.059] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:38.059] cond$call), session = sessionInformation(), [13:30:38.059] timestamp = base::Sys.time(), signaled = 0L) [13:30:38.059] signalCondition(cond) [13:30:38.059] } [13:30:38.059] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:38.059] signal <- FALSE && inherits(cond, character(0)) [13:30:38.059] ...future.conditions[[length(...future.conditions) + [13:30:38.059] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:38.059] if (FALSE && !signal) { [13:30:38.059] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.059] { [13:30:38.059] inherits <- base::inherits [13:30:38.059] invokeRestart <- base::invokeRestart [13:30:38.059] is.null <- base::is.null [13:30:38.059] muffled <- FALSE [13:30:38.059] if (inherits(cond, "message")) { [13:30:38.059] muffled <- grepl(pattern, "muffleMessage") [13:30:38.059] if (muffled) [13:30:38.059] invokeRestart("muffleMessage") [13:30:38.059] } [13:30:38.059] else if (inherits(cond, "warning")) { [13:30:38.059] muffled <- grepl(pattern, "muffleWarning") [13:30:38.059] if (muffled) [13:30:38.059] invokeRestart("muffleWarning") [13:30:38.059] } [13:30:38.059] else if (inherits(cond, "condition")) { [13:30:38.059] if (!is.null(pattern)) { [13:30:38.059] computeRestarts <- base::computeRestarts [13:30:38.059] grepl <- base::grepl [13:30:38.059] restarts <- computeRestarts(cond) [13:30:38.059] for (restart in restarts) { [13:30:38.059] name <- restart$name [13:30:38.059] if (is.null(name)) [13:30:38.059] next [13:30:38.059] if (!grepl(pattern, name)) [13:30:38.059] next [13:30:38.059] invokeRestart(restart) [13:30:38.059] muffled <- TRUE [13:30:38.059] break [13:30:38.059] } [13:30:38.059] } [13:30:38.059] } [13:30:38.059] invisible(muffled) [13:30:38.059] } [13:30:38.059] muffleCondition(cond, pattern = "^muffle") [13:30:38.059] } [13:30:38.059] } [13:30:38.059] else { [13:30:38.059] if (TRUE) { [13:30:38.059] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.059] { [13:30:38.059] inherits <- base::inherits [13:30:38.059] invokeRestart <- base::invokeRestart [13:30:38.059] is.null <- base::is.null [13:30:38.059] muffled <- FALSE [13:30:38.059] if (inherits(cond, "message")) { [13:30:38.059] muffled <- grepl(pattern, "muffleMessage") [13:30:38.059] if (muffled) [13:30:38.059] invokeRestart("muffleMessage") [13:30:38.059] } [13:30:38.059] else if (inherits(cond, "warning")) { [13:30:38.059] muffled <- grepl(pattern, "muffleWarning") [13:30:38.059] if (muffled) [13:30:38.059] invokeRestart("muffleWarning") [13:30:38.059] } [13:30:38.059] else if (inherits(cond, "condition")) { [13:30:38.059] if (!is.null(pattern)) { [13:30:38.059] computeRestarts <- base::computeRestarts [13:30:38.059] grepl <- base::grepl [13:30:38.059] restarts <- computeRestarts(cond) [13:30:38.059] for (restart in restarts) { [13:30:38.059] name <- restart$name [13:30:38.059] if (is.null(name)) [13:30:38.059] next [13:30:38.059] if (!grepl(pattern, name)) [13:30:38.059] next [13:30:38.059] invokeRestart(restart) [13:30:38.059] muffled <- TRUE [13:30:38.059] break [13:30:38.059] } [13:30:38.059] } [13:30:38.059] } [13:30:38.059] invisible(muffled) [13:30:38.059] } [13:30:38.059] muffleCondition(cond, pattern = "^muffle") [13:30:38.059] } [13:30:38.059] } [13:30:38.059] } [13:30:38.059] })) [13:30:38.059] }, error = function(ex) { [13:30:38.059] base::structure(base::list(value = NULL, visible = NULL, [13:30:38.059] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.059] ...future.rng), started = ...future.startTime, [13:30:38.059] finished = Sys.time(), session_uuid = NA_character_, [13:30:38.059] version = "1.8"), class = "FutureResult") [13:30:38.059] }, finally = { [13:30:38.059] if (!identical(...future.workdir, getwd())) [13:30:38.059] setwd(...future.workdir) [13:30:38.059] { [13:30:38.059] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:38.059] ...future.oldOptions$nwarnings <- NULL [13:30:38.059] } [13:30:38.059] base::options(...future.oldOptions) [13:30:38.059] if (.Platform$OS.type == "windows") { [13:30:38.059] old_names <- names(...future.oldEnvVars) [13:30:38.059] envs <- base::Sys.getenv() [13:30:38.059] names <- names(envs) [13:30:38.059] common <- intersect(names, old_names) [13:30:38.059] added <- setdiff(names, old_names) [13:30:38.059] removed <- setdiff(old_names, names) [13:30:38.059] changed <- common[...future.oldEnvVars[common] != [13:30:38.059] envs[common]] [13:30:38.059] NAMES <- toupper(changed) [13:30:38.059] args <- list() [13:30:38.059] for (kk in seq_along(NAMES)) { [13:30:38.059] name <- changed[[kk]] [13:30:38.059] NAME <- NAMES[[kk]] [13:30:38.059] if (name != NAME && is.element(NAME, old_names)) [13:30:38.059] next [13:30:38.059] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.059] } [13:30:38.059] NAMES <- toupper(added) [13:30:38.059] for (kk in seq_along(NAMES)) { [13:30:38.059] name <- added[[kk]] [13:30:38.059] NAME <- NAMES[[kk]] [13:30:38.059] if (name != NAME && is.element(NAME, old_names)) [13:30:38.059] next [13:30:38.059] args[[name]] <- "" [13:30:38.059] } [13:30:38.059] NAMES <- toupper(removed) [13:30:38.059] for (kk in seq_along(NAMES)) { [13:30:38.059] name <- removed[[kk]] [13:30:38.059] NAME <- NAMES[[kk]] [13:30:38.059] if (name != NAME && is.element(NAME, old_names)) [13:30:38.059] next [13:30:38.059] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.059] } [13:30:38.059] if (length(args) > 0) [13:30:38.059] base::do.call(base::Sys.setenv, args = args) [13:30:38.059] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:38.059] } [13:30:38.059] else { [13:30:38.059] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:38.059] } [13:30:38.059] { [13:30:38.059] if (base::length(...future.futureOptionsAdded) > [13:30:38.059] 0L) { [13:30:38.059] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:38.059] base::names(opts) <- ...future.futureOptionsAdded [13:30:38.059] base::options(opts) [13:30:38.059] } [13:30:38.059] { [13:30:38.059] NULL [13:30:38.059] options(future.plan = NULL) [13:30:38.059] if (is.na(NA_character_)) [13:30:38.059] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.059] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:38.059] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:38.059] .init = FALSE) [13:30:38.059] } [13:30:38.059] } [13:30:38.059] } [13:30:38.059] }) [13:30:38.059] if (TRUE) { [13:30:38.059] base::sink(type = "output", split = FALSE) [13:30:38.059] if (TRUE) { [13:30:38.059] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:38.059] } [13:30:38.059] else { [13:30:38.059] ...future.result["stdout"] <- base::list(NULL) [13:30:38.059] } [13:30:38.059] base::close(...future.stdout) [13:30:38.059] ...future.stdout <- NULL [13:30:38.059] } [13:30:38.059] ...future.result$conditions <- ...future.conditions [13:30:38.059] ...future.result$finished <- base::Sys.time() [13:30:38.059] ...future.result [13:30:38.059] } [13:30:38.176] plan(): plan_init() of 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:30:38.177] plan(): nbrOfWorkers() = 2 [13:30:38.177] ** Sum function 'A' with plan('mirai_cluster') ...function (x, ...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } Arguments '...' exists: TRUE [13:30:38.178] getGlobalsAndPackages() ... [13:30:38.179] Searching for globals... [13:30:38.187] - globals found: [4] '{', 'sum', 'x', '...' [13:30:38.187] Searching for globals ... DONE [13:30:38.187] Resolving globals: FALSE [13:30:38.187] Tweak future expression to call with '...' arguments ... [13:30:38.187] { [13:30:38.187] do.call(function(...) { [13:30:38.187] sum(x, ...) [13:30:38.187] }, args = future.call.arguments) [13:30:38.187] } [13:30:38.188] Tweak future expression to call with '...' arguments ... DONE [13:30:38.189] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:38.190] 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') [13:30:38.190] - globals: [2] 'x', 'future.call.arguments' [13:30:38.190] [13:30:38.190] getGlobalsAndPackages() ... DONE [13:30:38.191] run() for 'Future' ... [13:30:38.191] - state: 'created' [13:30:38.191] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:38.192] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:38.192] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:38.192] - Field: 'label' [13:30:38.192] - Field: 'local' [13:30:38.193] - Field: 'owner' [13:30:38.193] - Field: 'envir' [13:30:38.193] - Field: 'packages' [13:30:38.193] - Field: 'gc' [13:30:38.193] - Field: 'conditions' [13:30:38.194] - Field: 'expr' [13:30:38.194] - Field: 'uuid' [13:30:38.194] - Field: 'seed' [13:30:38.194] - Field: 'version' [13:30:38.194] - Field: 'result' [13:30:38.194] - Field: 'asynchronous' [13:30:38.195] - Field: 'calls' [13:30:38.195] - Field: 'globals' [13:30:38.195] - Field: 'stdout' [13:30:38.195] - Field: 'earlySignal' [13:30:38.195] - Field: 'lazy' [13:30:38.196] - Field: 'state' [13:30:38.196] - Field: '.cluster' [13:30:38.196] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:38.196] - Launch lazy future ... [13:30:38.196] Packages needed by the future expression (n = 0): [13:30:38.196] Packages needed by future strategies (n = 0): [13:30:38.197] { [13:30:38.197] { [13:30:38.197] { [13:30:38.197] ...future.startTime <- base::Sys.time() [13:30:38.197] { [13:30:38.197] { [13:30:38.197] { [13:30:38.197] base::local({ [13:30:38.197] has_future <- base::requireNamespace("future", [13:30:38.197] quietly = TRUE) [13:30:38.197] if (has_future) { [13:30:38.197] ns <- base::getNamespace("future") [13:30:38.197] version <- ns[[".package"]][["version"]] [13:30:38.197] if (is.null(version)) [13:30:38.197] version <- utils::packageVersion("future") [13:30:38.197] } [13:30:38.197] else { [13:30:38.197] version <- NULL [13:30:38.197] } [13:30:38.197] if (!has_future || version < "1.8.0") { [13:30:38.197] info <- base::c(r_version = base::gsub("R version ", [13:30:38.197] "", base::R.version$version.string), [13:30:38.197] platform = base::sprintf("%s (%s-bit)", [13:30:38.197] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:38.197] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:38.197] "release", "version")], collapse = " "), [13:30:38.197] hostname = base::Sys.info()[["nodename"]]) [13:30:38.197] info <- base::sprintf("%s: %s", base::names(info), [13:30:38.197] info) [13:30:38.197] info <- base::paste(info, collapse = "; ") [13:30:38.197] if (!has_future) { [13:30:38.197] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:38.197] info) [13:30:38.197] } [13:30:38.197] else { [13:30:38.197] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:38.197] info, version) [13:30:38.197] } [13:30:38.197] base::stop(msg) [13:30:38.197] } [13:30:38.197] }) [13:30:38.197] } [13:30:38.197] ...future.strategy.old <- future::plan("list") [13:30:38.197] options(future.plan = NULL) [13:30:38.197] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.197] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:38.197] } [13:30:38.197] ...future.workdir <- getwd() [13:30:38.197] } [13:30:38.197] ...future.oldOptions <- base::as.list(base::.Options) [13:30:38.197] ...future.oldEnvVars <- base::Sys.getenv() [13:30:38.197] } [13:30:38.197] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:38.197] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:38.197] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:38.197] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:38.197] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:38.197] future.stdout.windows.reencode = NULL, width = 80L) [13:30:38.197] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:38.197] base::names(...future.oldOptions)) [13:30:38.197] } [13:30:38.197] if (FALSE) { [13:30:38.197] } [13:30:38.197] else { [13:30:38.197] if (TRUE) { [13:30:38.197] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:38.197] open = "w") [13:30:38.197] } [13:30:38.197] else { [13:30:38.197] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:38.197] windows = "NUL", "/dev/null"), open = "w") [13:30:38.197] } [13:30:38.197] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:38.197] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:38.197] base::sink(type = "output", split = FALSE) [13:30:38.197] base::close(...future.stdout) [13:30:38.197] }, add = TRUE) [13:30:38.197] } [13:30:38.197] ...future.frame <- base::sys.nframe() [13:30:38.197] ...future.conditions <- base::list() [13:30:38.197] ...future.rng <- base::globalenv()$.Random.seed [13:30:38.197] if (FALSE) { [13:30:38.197] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:38.197] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:38.197] } [13:30:38.197] ...future.result <- base::tryCatch({ [13:30:38.197] base::withCallingHandlers({ [13:30:38.197] ...future.value <- base::withVisible(base::local({ [13:30:38.197] do.call(function(...) { [13:30:38.197] sum(x, ...) [13:30:38.197] }, args = future.call.arguments) [13:30:38.197] })) [13:30:38.197] future::FutureResult(value = ...future.value$value, [13:30:38.197] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.197] ...future.rng), globalenv = if (FALSE) [13:30:38.197] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:38.197] ...future.globalenv.names)) [13:30:38.197] else NULL, started = ...future.startTime, version = "1.8") [13:30:38.197] }, condition = base::local({ [13:30:38.197] c <- base::c [13:30:38.197] inherits <- base::inherits [13:30:38.197] invokeRestart <- base::invokeRestart [13:30:38.197] length <- base::length [13:30:38.197] list <- base::list [13:30:38.197] seq.int <- base::seq.int [13:30:38.197] signalCondition <- base::signalCondition [13:30:38.197] sys.calls <- base::sys.calls [13:30:38.197] `[[` <- base::`[[` [13:30:38.197] `+` <- base::`+` [13:30:38.197] `<<-` <- base::`<<-` [13:30:38.197] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:38.197] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:38.197] 3L)] [13:30:38.197] } [13:30:38.197] function(cond) { [13:30:38.197] is_error <- inherits(cond, "error") [13:30:38.197] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:38.197] NULL) [13:30:38.197] if (is_error) { [13:30:38.197] sessionInformation <- function() { [13:30:38.197] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:38.197] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:38.197] search = base::search(), system = base::Sys.info()) [13:30:38.197] } [13:30:38.197] ...future.conditions[[length(...future.conditions) + [13:30:38.197] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:38.197] cond$call), session = sessionInformation(), [13:30:38.197] timestamp = base::Sys.time(), signaled = 0L) [13:30:38.197] signalCondition(cond) [13:30:38.197] } [13:30:38.197] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:38.197] signal <- FALSE && inherits(cond, character(0)) [13:30:38.197] ...future.conditions[[length(...future.conditions) + [13:30:38.197] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:38.197] if (FALSE && !signal) { [13:30:38.197] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.197] { [13:30:38.197] inherits <- base::inherits [13:30:38.197] invokeRestart <- base::invokeRestart [13:30:38.197] is.null <- base::is.null [13:30:38.197] muffled <- FALSE [13:30:38.197] if (inherits(cond, "message")) { [13:30:38.197] muffled <- grepl(pattern, "muffleMessage") [13:30:38.197] if (muffled) [13:30:38.197] invokeRestart("muffleMessage") [13:30:38.197] } [13:30:38.197] else if (inherits(cond, "warning")) { [13:30:38.197] muffled <- grepl(pattern, "muffleWarning") [13:30:38.197] if (muffled) [13:30:38.197] invokeRestart("muffleWarning") [13:30:38.197] } [13:30:38.197] else if (inherits(cond, "condition")) { [13:30:38.197] if (!is.null(pattern)) { [13:30:38.197] computeRestarts <- base::computeRestarts [13:30:38.197] grepl <- base::grepl [13:30:38.197] restarts <- computeRestarts(cond) [13:30:38.197] for (restart in restarts) { [13:30:38.197] name <- restart$name [13:30:38.197] if (is.null(name)) [13:30:38.197] next [13:30:38.197] if (!grepl(pattern, name)) [13:30:38.197] next [13:30:38.197] invokeRestart(restart) [13:30:38.197] muffled <- TRUE [13:30:38.197] break [13:30:38.197] } [13:30:38.197] } [13:30:38.197] } [13:30:38.197] invisible(muffled) [13:30:38.197] } [13:30:38.197] muffleCondition(cond, pattern = "^muffle") [13:30:38.197] } [13:30:38.197] } [13:30:38.197] else { [13:30:38.197] if (TRUE) { [13:30:38.197] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.197] { [13:30:38.197] inherits <- base::inherits [13:30:38.197] invokeRestart <- base::invokeRestart [13:30:38.197] is.null <- base::is.null [13:30:38.197] muffled <- FALSE [13:30:38.197] if (inherits(cond, "message")) { [13:30:38.197] muffled <- grepl(pattern, "muffleMessage") [13:30:38.197] if (muffled) [13:30:38.197] invokeRestart("muffleMessage") [13:30:38.197] } [13:30:38.197] else if (inherits(cond, "warning")) { [13:30:38.197] muffled <- grepl(pattern, "muffleWarning") [13:30:38.197] if (muffled) [13:30:38.197] invokeRestart("muffleWarning") [13:30:38.197] } [13:30:38.197] else if (inherits(cond, "condition")) { [13:30:38.197] if (!is.null(pattern)) { [13:30:38.197] computeRestarts <- base::computeRestarts [13:30:38.197] grepl <- base::grepl [13:30:38.197] restarts <- computeRestarts(cond) [13:30:38.197] for (restart in restarts) { [13:30:38.197] name <- restart$name [13:30:38.197] if (is.null(name)) [13:30:38.197] next [13:30:38.197] if (!grepl(pattern, name)) [13:30:38.197] next [13:30:38.197] invokeRestart(restart) [13:30:38.197] muffled <- TRUE [13:30:38.197] break [13:30:38.197] } [13:30:38.197] } [13:30:38.197] } [13:30:38.197] invisible(muffled) [13:30:38.197] } [13:30:38.197] muffleCondition(cond, pattern = "^muffle") [13:30:38.197] } [13:30:38.197] } [13:30:38.197] } [13:30:38.197] })) [13:30:38.197] }, error = function(ex) { [13:30:38.197] base::structure(base::list(value = NULL, visible = NULL, [13:30:38.197] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.197] ...future.rng), started = ...future.startTime, [13:30:38.197] finished = Sys.time(), session_uuid = NA_character_, [13:30:38.197] version = "1.8"), class = "FutureResult") [13:30:38.197] }, finally = { [13:30:38.197] if (!identical(...future.workdir, getwd())) [13:30:38.197] setwd(...future.workdir) [13:30:38.197] { [13:30:38.197] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:38.197] ...future.oldOptions$nwarnings <- NULL [13:30:38.197] } [13:30:38.197] base::options(...future.oldOptions) [13:30:38.197] if (.Platform$OS.type == "windows") { [13:30:38.197] old_names <- names(...future.oldEnvVars) [13:30:38.197] envs <- base::Sys.getenv() [13:30:38.197] names <- names(envs) [13:30:38.197] common <- intersect(names, old_names) [13:30:38.197] added <- setdiff(names, old_names) [13:30:38.197] removed <- setdiff(old_names, names) [13:30:38.197] changed <- common[...future.oldEnvVars[common] != [13:30:38.197] envs[common]] [13:30:38.197] NAMES <- toupper(changed) [13:30:38.197] args <- list() [13:30:38.197] for (kk in seq_along(NAMES)) { [13:30:38.197] name <- changed[[kk]] [13:30:38.197] NAME <- NAMES[[kk]] [13:30:38.197] if (name != NAME && is.element(NAME, old_names)) [13:30:38.197] next [13:30:38.197] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.197] } [13:30:38.197] NAMES <- toupper(added) [13:30:38.197] for (kk in seq_along(NAMES)) { [13:30:38.197] name <- added[[kk]] [13:30:38.197] NAME <- NAMES[[kk]] [13:30:38.197] if (name != NAME && is.element(NAME, old_names)) [13:30:38.197] next [13:30:38.197] args[[name]] <- "" [13:30:38.197] } [13:30:38.197] NAMES <- toupper(removed) [13:30:38.197] for (kk in seq_along(NAMES)) { [13:30:38.197] name <- removed[[kk]] [13:30:38.197] NAME <- NAMES[[kk]] [13:30:38.197] if (name != NAME && is.element(NAME, old_names)) [13:30:38.197] next [13:30:38.197] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.197] } [13:30:38.197] if (length(args) > 0) [13:30:38.197] base::do.call(base::Sys.setenv, args = args) [13:30:38.197] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:38.197] } [13:30:38.197] else { [13:30:38.197] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:38.197] } [13:30:38.197] { [13:30:38.197] if (base::length(...future.futureOptionsAdded) > [13:30:38.197] 0L) { [13:30:38.197] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:38.197] base::names(opts) <- ...future.futureOptionsAdded [13:30:38.197] base::options(opts) [13:30:38.197] } [13:30:38.197] { [13:30:38.197] NULL [13:30:38.197] options(future.plan = NULL) [13:30:38.197] if (is.na(NA_character_)) [13:30:38.197] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.197] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:38.197] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:38.197] .init = FALSE) [13:30:38.197] } [13:30:38.197] } [13:30:38.197] } [13:30:38.197] }) [13:30:38.197] if (TRUE) { [13:30:38.197] base::sink(type = "output", split = FALSE) [13:30:38.197] if (TRUE) { [13:30:38.197] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:38.197] } [13:30:38.197] else { [13:30:38.197] ...future.result["stdout"] <- base::list(NULL) [13:30:38.197] } [13:30:38.197] base::close(...future.stdout) [13:30:38.197] ...future.stdout <- NULL [13:30:38.197] } [13:30:38.197] ...future.result$conditions <- ...future.conditions [13:30:38.197] ...future.result$finished <- base::Sys.time() [13:30:38.197] ...future.result [13:30:38.197] } [13:30:38.201] - Launch lazy future ... done [13:30:38.201] run() for 'MiraiFuture' ... done [1] 6 [13:30:38.203] ** 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 [13:30:38.204] getGlobalsAndPackages() ... [13:30:38.204] Searching for globals... [13:30:38.205] - globals found: [4] '{', 'sum', 'x', '...' [13:30:38.206] Searching for globals ... DONE [13:30:38.206] Resolving globals: FALSE [13:30:38.206] Tweak future expression to call with '...' arguments ... [13:30:38.206] { [13:30:38.206] do.call(function(...) { [13:30:38.206] sum(x, ...) [13:30:38.206] }, args = future.call.arguments) [13:30:38.206] } [13:30:38.209] Tweak future expression to call with '...' arguments ... DONE [13:30:38.209] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:38.210] 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') [13:30:38.210] - globals: [2] 'x', 'future.call.arguments' [13:30:38.210] [13:30:38.210] getGlobalsAndPackages() ... DONE [13:30:38.211] run() for 'Future' ... [13:30:38.211] - state: 'created' [13:30:38.211] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:38.211] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:38.212] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:38.212] - Field: 'label' [13:30:38.212] - Field: 'local' [13:30:38.212] - Field: 'owner' [13:30:38.212] - Field: 'envir' [13:30:38.213] - Field: 'packages' [13:30:38.213] - Field: 'gc' [13:30:38.213] - Field: 'conditions' [13:30:38.213] - Field: 'expr' [13:30:38.213] - Field: 'uuid' [13:30:38.213] - Field: 'seed' [13:30:38.214] - Field: 'version' [13:30:38.214] - Field: 'result' [13:30:38.214] - Field: 'asynchronous' [13:30:38.214] - Field: 'calls' [13:30:38.214] - Field: 'globals' [13:30:38.214] - Field: 'stdout' [13:30:38.215] - Field: 'earlySignal' [13:30:38.215] - Field: 'lazy' [13:30:38.215] - Field: 'state' [13:30:38.215] - Field: '.cluster' [13:30:38.215] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:38.215] - Launch lazy future ... [13:30:38.216] Packages needed by the future expression (n = 0): [13:30:38.216] Packages needed by future strategies (n = 0): [13:30:38.216] { [13:30:38.216] { [13:30:38.216] { [13:30:38.216] ...future.startTime <- base::Sys.time() [13:30:38.216] { [13:30:38.216] { [13:30:38.216] { [13:30:38.216] base::local({ [13:30:38.216] has_future <- base::requireNamespace("future", [13:30:38.216] quietly = TRUE) [13:30:38.216] if (has_future) { [13:30:38.216] ns <- base::getNamespace("future") [13:30:38.216] version <- ns[[".package"]][["version"]] [13:30:38.216] if (is.null(version)) [13:30:38.216] version <- utils::packageVersion("future") [13:30:38.216] } [13:30:38.216] else { [13:30:38.216] version <- NULL [13:30:38.216] } [13:30:38.216] if (!has_future || version < "1.8.0") { [13:30:38.216] info <- base::c(r_version = base::gsub("R version ", [13:30:38.216] "", base::R.version$version.string), [13:30:38.216] platform = base::sprintf("%s (%s-bit)", [13:30:38.216] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:38.216] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:38.216] "release", "version")], collapse = " "), [13:30:38.216] hostname = base::Sys.info()[["nodename"]]) [13:30:38.216] info <- base::sprintf("%s: %s", base::names(info), [13:30:38.216] info) [13:30:38.216] info <- base::paste(info, collapse = "; ") [13:30:38.216] if (!has_future) { [13:30:38.216] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:38.216] info) [13:30:38.216] } [13:30:38.216] else { [13:30:38.216] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:38.216] info, version) [13:30:38.216] } [13:30:38.216] base::stop(msg) [13:30:38.216] } [13:30:38.216] }) [13:30:38.216] } [13:30:38.216] ...future.strategy.old <- future::plan("list") [13:30:38.216] options(future.plan = NULL) [13:30:38.216] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.216] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:38.216] } [13:30:38.216] ...future.workdir <- getwd() [13:30:38.216] } [13:30:38.216] ...future.oldOptions <- base::as.list(base::.Options) [13:30:38.216] ...future.oldEnvVars <- base::Sys.getenv() [13:30:38.216] } [13:30:38.216] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:38.216] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:38.216] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:38.216] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:38.216] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:38.216] future.stdout.windows.reencode = NULL, width = 80L) [13:30:38.216] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:38.216] base::names(...future.oldOptions)) [13:30:38.216] } [13:30:38.216] if (FALSE) { [13:30:38.216] } [13:30:38.216] else { [13:30:38.216] if (TRUE) { [13:30:38.216] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:38.216] open = "w") [13:30:38.216] } [13:30:38.216] else { [13:30:38.216] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:38.216] windows = "NUL", "/dev/null"), open = "w") [13:30:38.216] } [13:30:38.216] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:38.216] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:38.216] base::sink(type = "output", split = FALSE) [13:30:38.216] base::close(...future.stdout) [13:30:38.216] }, add = TRUE) [13:30:38.216] } [13:30:38.216] ...future.frame <- base::sys.nframe() [13:30:38.216] ...future.conditions <- base::list() [13:30:38.216] ...future.rng <- base::globalenv()$.Random.seed [13:30:38.216] if (FALSE) { [13:30:38.216] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:38.216] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:38.216] } [13:30:38.216] ...future.result <- base::tryCatch({ [13:30:38.216] base::withCallingHandlers({ [13:30:38.216] ...future.value <- base::withVisible(base::local({ [13:30:38.216] do.call(function(...) { [13:30:38.216] sum(x, ...) [13:30:38.216] }, args = future.call.arguments) [13:30:38.216] })) [13:30:38.216] future::FutureResult(value = ...future.value$value, [13:30:38.216] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.216] ...future.rng), globalenv = if (FALSE) [13:30:38.216] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:38.216] ...future.globalenv.names)) [13:30:38.216] else NULL, started = ...future.startTime, version = "1.8") [13:30:38.216] }, condition = base::local({ [13:30:38.216] c <- base::c [13:30:38.216] inherits <- base::inherits [13:30:38.216] invokeRestart <- base::invokeRestart [13:30:38.216] length <- base::length [13:30:38.216] list <- base::list [13:30:38.216] seq.int <- base::seq.int [13:30:38.216] signalCondition <- base::signalCondition [13:30:38.216] sys.calls <- base::sys.calls [13:30:38.216] `[[` <- base::`[[` [13:30:38.216] `+` <- base::`+` [13:30:38.216] `<<-` <- base::`<<-` [13:30:38.216] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:38.216] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:38.216] 3L)] [13:30:38.216] } [13:30:38.216] function(cond) { [13:30:38.216] is_error <- inherits(cond, "error") [13:30:38.216] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:38.216] NULL) [13:30:38.216] if (is_error) { [13:30:38.216] sessionInformation <- function() { [13:30:38.216] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:38.216] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:38.216] search = base::search(), system = base::Sys.info()) [13:30:38.216] } [13:30:38.216] ...future.conditions[[length(...future.conditions) + [13:30:38.216] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:38.216] cond$call), session = sessionInformation(), [13:30:38.216] timestamp = base::Sys.time(), signaled = 0L) [13:30:38.216] signalCondition(cond) [13:30:38.216] } [13:30:38.216] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:38.216] signal <- FALSE && inherits(cond, character(0)) [13:30:38.216] ...future.conditions[[length(...future.conditions) + [13:30:38.216] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:38.216] if (FALSE && !signal) { [13:30:38.216] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.216] { [13:30:38.216] inherits <- base::inherits [13:30:38.216] invokeRestart <- base::invokeRestart [13:30:38.216] is.null <- base::is.null [13:30:38.216] muffled <- FALSE [13:30:38.216] if (inherits(cond, "message")) { [13:30:38.216] muffled <- grepl(pattern, "muffleMessage") [13:30:38.216] if (muffled) [13:30:38.216] invokeRestart("muffleMessage") [13:30:38.216] } [13:30:38.216] else if (inherits(cond, "warning")) { [13:30:38.216] muffled <- grepl(pattern, "muffleWarning") [13:30:38.216] if (muffled) [13:30:38.216] invokeRestart("muffleWarning") [13:30:38.216] } [13:30:38.216] else if (inherits(cond, "condition")) { [13:30:38.216] if (!is.null(pattern)) { [13:30:38.216] computeRestarts <- base::computeRestarts [13:30:38.216] grepl <- base::grepl [13:30:38.216] restarts <- computeRestarts(cond) [13:30:38.216] for (restart in restarts) { [13:30:38.216] name <- restart$name [13:30:38.216] if (is.null(name)) [13:30:38.216] next [13:30:38.216] if (!grepl(pattern, name)) [13:30:38.216] next [13:30:38.216] invokeRestart(restart) [13:30:38.216] muffled <- TRUE [13:30:38.216] break [13:30:38.216] } [13:30:38.216] } [13:30:38.216] } [13:30:38.216] invisible(muffled) [13:30:38.216] } [13:30:38.216] muffleCondition(cond, pattern = "^muffle") [13:30:38.216] } [13:30:38.216] } [13:30:38.216] else { [13:30:38.216] if (TRUE) { [13:30:38.216] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.216] { [13:30:38.216] inherits <- base::inherits [13:30:38.216] invokeRestart <- base::invokeRestart [13:30:38.216] is.null <- base::is.null [13:30:38.216] muffled <- FALSE [13:30:38.216] if (inherits(cond, "message")) { [13:30:38.216] muffled <- grepl(pattern, "muffleMessage") [13:30:38.216] if (muffled) [13:30:38.216] invokeRestart("muffleMessage") [13:30:38.216] } [13:30:38.216] else if (inherits(cond, "warning")) { [13:30:38.216] muffled <- grepl(pattern, "muffleWarning") [13:30:38.216] if (muffled) [13:30:38.216] invokeRestart("muffleWarning") [13:30:38.216] } [13:30:38.216] else if (inherits(cond, "condition")) { [13:30:38.216] if (!is.null(pattern)) { [13:30:38.216] computeRestarts <- base::computeRestarts [13:30:38.216] grepl <- base::grepl [13:30:38.216] restarts <- computeRestarts(cond) [13:30:38.216] for (restart in restarts) { [13:30:38.216] name <- restart$name [13:30:38.216] if (is.null(name)) [13:30:38.216] next [13:30:38.216] if (!grepl(pattern, name)) [13:30:38.216] next [13:30:38.216] invokeRestart(restart) [13:30:38.216] muffled <- TRUE [13:30:38.216] break [13:30:38.216] } [13:30:38.216] } [13:30:38.216] } [13:30:38.216] invisible(muffled) [13:30:38.216] } [13:30:38.216] muffleCondition(cond, pattern = "^muffle") [13:30:38.216] } [13:30:38.216] } [13:30:38.216] } [13:30:38.216] })) [13:30:38.216] }, error = function(ex) { [13:30:38.216] base::structure(base::list(value = NULL, visible = NULL, [13:30:38.216] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.216] ...future.rng), started = ...future.startTime, [13:30:38.216] finished = Sys.time(), session_uuid = NA_character_, [13:30:38.216] version = "1.8"), class = "FutureResult") [13:30:38.216] }, finally = { [13:30:38.216] if (!identical(...future.workdir, getwd())) [13:30:38.216] setwd(...future.workdir) [13:30:38.216] { [13:30:38.216] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:38.216] ...future.oldOptions$nwarnings <- NULL [13:30:38.216] } [13:30:38.216] base::options(...future.oldOptions) [13:30:38.216] if (.Platform$OS.type == "windows") { [13:30:38.216] old_names <- names(...future.oldEnvVars) [13:30:38.216] envs <- base::Sys.getenv() [13:30:38.216] names <- names(envs) [13:30:38.216] common <- intersect(names, old_names) [13:30:38.216] added <- setdiff(names, old_names) [13:30:38.216] removed <- setdiff(old_names, names) [13:30:38.216] changed <- common[...future.oldEnvVars[common] != [13:30:38.216] envs[common]] [13:30:38.216] NAMES <- toupper(changed) [13:30:38.216] args <- list() [13:30:38.216] for (kk in seq_along(NAMES)) { [13:30:38.216] name <- changed[[kk]] [13:30:38.216] NAME <- NAMES[[kk]] [13:30:38.216] if (name != NAME && is.element(NAME, old_names)) [13:30:38.216] next [13:30:38.216] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.216] } [13:30:38.216] NAMES <- toupper(added) [13:30:38.216] for (kk in seq_along(NAMES)) { [13:30:38.216] name <- added[[kk]] [13:30:38.216] NAME <- NAMES[[kk]] [13:30:38.216] if (name != NAME && is.element(NAME, old_names)) [13:30:38.216] next [13:30:38.216] args[[name]] <- "" [13:30:38.216] } [13:30:38.216] NAMES <- toupper(removed) [13:30:38.216] for (kk in seq_along(NAMES)) { [13:30:38.216] name <- removed[[kk]] [13:30:38.216] NAME <- NAMES[[kk]] [13:30:38.216] if (name != NAME && is.element(NAME, old_names)) [13:30:38.216] next [13:30:38.216] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.216] } [13:30:38.216] if (length(args) > 0) [13:30:38.216] base::do.call(base::Sys.setenv, args = args) [13:30:38.216] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:38.216] } [13:30:38.216] else { [13:30:38.216] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:38.216] } [13:30:38.216] { [13:30:38.216] if (base::length(...future.futureOptionsAdded) > [13:30:38.216] 0L) { [13:30:38.216] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:38.216] base::names(opts) <- ...future.futureOptionsAdded [13:30:38.216] base::options(opts) [13:30:38.216] } [13:30:38.216] { [13:30:38.216] NULL [13:30:38.216] options(future.plan = NULL) [13:30:38.216] if (is.na(NA_character_)) [13:30:38.216] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.216] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:38.216] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:38.216] .init = FALSE) [13:30:38.216] } [13:30:38.216] } [13:30:38.216] } [13:30:38.216] }) [13:30:38.216] if (TRUE) { [13:30:38.216] base::sink(type = "output", split = FALSE) [13:30:38.216] if (TRUE) { [13:30:38.216] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:38.216] } [13:30:38.216] else { [13:30:38.216] ...future.result["stdout"] <- base::list(NULL) [13:30:38.216] } [13:30:38.216] base::close(...future.stdout) [13:30:38.216] ...future.stdout <- NULL [13:30:38.216] } [13:30:38.216] ...future.result$conditions <- ...future.conditions [13:30:38.216] ...future.result$finished <- base::Sys.time() [13:30:38.216] ...future.result [13:30:38.216] } [13:30:38.220] - Launch lazy future ... done [13:30:38.220] run() for 'MiraiFuture' ... done [1] 6 [13:30:38.222] ** Sum function 'C' with plan('mirai_cluster') ...function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y) } y } Arguments '...' exists: FALSE [13:30:38.223] getGlobalsAndPackages() ... [13:30:38.223] Searching for globals... [13:30:38.224] - globals found: [4] '{', 'sum', 'x', 'y' [13:30:38.225] Searching for globals ... DONE [13:30:38.225] Resolving globals: FALSE [13:30:38.225] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:38.226] 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') [13:30:38.226] - globals: [2] 'x', 'y' [13:30:38.226] [13:30:38.226] getGlobalsAndPackages() ... DONE [13:30:38.227] run() for 'Future' ... [13:30:38.227] - state: 'created' [13:30:38.227] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:38.227] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:38.228] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:38.228] - Field: 'label' [13:30:38.228] - Field: 'local' [13:30:38.228] - Field: 'owner' [13:30:38.228] - Field: 'envir' [13:30:38.228] - Field: 'packages' [13:30:38.229] - Field: 'gc' [13:30:38.229] - Field: 'conditions' [13:30:38.229] - Field: 'expr' [13:30:38.229] - Field: 'uuid' [13:30:38.229] - Field: 'seed' [13:30:38.229] - Field: 'version' [13:30:38.230] - Field: 'result' [13:30:38.230] - Field: 'asynchronous' [13:30:38.230] - Field: 'calls' [13:30:38.230] - Field: 'globals' [13:30:38.230] - Field: 'stdout' [13:30:38.230] - Field: 'earlySignal' [13:30:38.231] - Field: 'lazy' [13:30:38.231] - Field: 'state' [13:30:38.231] - Field: '.cluster' [13:30:38.231] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:38.231] - Launch lazy future ... [13:30:38.231] Packages needed by the future expression (n = 0): [13:30:38.232] Packages needed by future strategies (n = 0): [13:30:38.232] { [13:30:38.232] { [13:30:38.232] { [13:30:38.232] ...future.startTime <- base::Sys.time() [13:30:38.232] { [13:30:38.232] { [13:30:38.232] { [13:30:38.232] base::local({ [13:30:38.232] has_future <- base::requireNamespace("future", [13:30:38.232] quietly = TRUE) [13:30:38.232] if (has_future) { [13:30:38.232] ns <- base::getNamespace("future") [13:30:38.232] version <- ns[[".package"]][["version"]] [13:30:38.232] if (is.null(version)) [13:30:38.232] version <- utils::packageVersion("future") [13:30:38.232] } [13:30:38.232] else { [13:30:38.232] version <- NULL [13:30:38.232] } [13:30:38.232] if (!has_future || version < "1.8.0") { [13:30:38.232] info <- base::c(r_version = base::gsub("R version ", [13:30:38.232] "", base::R.version$version.string), [13:30:38.232] platform = base::sprintf("%s (%s-bit)", [13:30:38.232] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:38.232] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:38.232] "release", "version")], collapse = " "), [13:30:38.232] hostname = base::Sys.info()[["nodename"]]) [13:30:38.232] info <- base::sprintf("%s: %s", base::names(info), [13:30:38.232] info) [13:30:38.232] info <- base::paste(info, collapse = "; ") [13:30:38.232] if (!has_future) { [13:30:38.232] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:38.232] info) [13:30:38.232] } [13:30:38.232] else { [13:30:38.232] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:38.232] info, version) [13:30:38.232] } [13:30:38.232] base::stop(msg) [13:30:38.232] } [13:30:38.232] }) [13:30:38.232] } [13:30:38.232] ...future.strategy.old <- future::plan("list") [13:30:38.232] options(future.plan = NULL) [13:30:38.232] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.232] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:38.232] } [13:30:38.232] ...future.workdir <- getwd() [13:30:38.232] } [13:30:38.232] ...future.oldOptions <- base::as.list(base::.Options) [13:30:38.232] ...future.oldEnvVars <- base::Sys.getenv() [13:30:38.232] } [13:30:38.232] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:38.232] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:38.232] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:38.232] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:38.232] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:38.232] future.stdout.windows.reencode = NULL, width = 80L) [13:30:38.232] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:38.232] base::names(...future.oldOptions)) [13:30:38.232] } [13:30:38.232] if (FALSE) { [13:30:38.232] } [13:30:38.232] else { [13:30:38.232] if (TRUE) { [13:30:38.232] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:38.232] open = "w") [13:30:38.232] } [13:30:38.232] else { [13:30:38.232] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:38.232] windows = "NUL", "/dev/null"), open = "w") [13:30:38.232] } [13:30:38.232] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:38.232] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:38.232] base::sink(type = "output", split = FALSE) [13:30:38.232] base::close(...future.stdout) [13:30:38.232] }, add = TRUE) [13:30:38.232] } [13:30:38.232] ...future.frame <- base::sys.nframe() [13:30:38.232] ...future.conditions <- base::list() [13:30:38.232] ...future.rng <- base::globalenv()$.Random.seed [13:30:38.232] if (FALSE) { [13:30:38.232] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:38.232] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:38.232] } [13:30:38.232] ...future.result <- base::tryCatch({ [13:30:38.232] base::withCallingHandlers({ [13:30:38.232] ...future.value <- base::withVisible(base::local({ [13:30:38.232] sum(x, y) [13:30:38.232] })) [13:30:38.232] future::FutureResult(value = ...future.value$value, [13:30:38.232] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.232] ...future.rng), globalenv = if (FALSE) [13:30:38.232] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:38.232] ...future.globalenv.names)) [13:30:38.232] else NULL, started = ...future.startTime, version = "1.8") [13:30:38.232] }, condition = base::local({ [13:30:38.232] c <- base::c [13:30:38.232] inherits <- base::inherits [13:30:38.232] invokeRestart <- base::invokeRestart [13:30:38.232] length <- base::length [13:30:38.232] list <- base::list [13:30:38.232] seq.int <- base::seq.int [13:30:38.232] signalCondition <- base::signalCondition [13:30:38.232] sys.calls <- base::sys.calls [13:30:38.232] `[[` <- base::`[[` [13:30:38.232] `+` <- base::`+` [13:30:38.232] `<<-` <- base::`<<-` [13:30:38.232] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:38.232] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:38.232] 3L)] [13:30:38.232] } [13:30:38.232] function(cond) { [13:30:38.232] is_error <- inherits(cond, "error") [13:30:38.232] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:38.232] NULL) [13:30:38.232] if (is_error) { [13:30:38.232] sessionInformation <- function() { [13:30:38.232] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:38.232] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:38.232] search = base::search(), system = base::Sys.info()) [13:30:38.232] } [13:30:38.232] ...future.conditions[[length(...future.conditions) + [13:30:38.232] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:38.232] cond$call), session = sessionInformation(), [13:30:38.232] timestamp = base::Sys.time(), signaled = 0L) [13:30:38.232] signalCondition(cond) [13:30:38.232] } [13:30:38.232] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:38.232] signal <- FALSE && inherits(cond, character(0)) [13:30:38.232] ...future.conditions[[length(...future.conditions) + [13:30:38.232] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:38.232] if (FALSE && !signal) { [13:30:38.232] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.232] { [13:30:38.232] inherits <- base::inherits [13:30:38.232] invokeRestart <- base::invokeRestart [13:30:38.232] is.null <- base::is.null [13:30:38.232] muffled <- FALSE [13:30:38.232] if (inherits(cond, "message")) { [13:30:38.232] muffled <- grepl(pattern, "muffleMessage") [13:30:38.232] if (muffled) [13:30:38.232] invokeRestart("muffleMessage") [13:30:38.232] } [13:30:38.232] else if (inherits(cond, "warning")) { [13:30:38.232] muffled <- grepl(pattern, "muffleWarning") [13:30:38.232] if (muffled) [13:30:38.232] invokeRestart("muffleWarning") [13:30:38.232] } [13:30:38.232] else if (inherits(cond, "condition")) { [13:30:38.232] if (!is.null(pattern)) { [13:30:38.232] computeRestarts <- base::computeRestarts [13:30:38.232] grepl <- base::grepl [13:30:38.232] restarts <- computeRestarts(cond) [13:30:38.232] for (restart in restarts) { [13:30:38.232] name <- restart$name [13:30:38.232] if (is.null(name)) [13:30:38.232] next [13:30:38.232] if (!grepl(pattern, name)) [13:30:38.232] next [13:30:38.232] invokeRestart(restart) [13:30:38.232] muffled <- TRUE [13:30:38.232] break [13:30:38.232] } [13:30:38.232] } [13:30:38.232] } [13:30:38.232] invisible(muffled) [13:30:38.232] } [13:30:38.232] muffleCondition(cond, pattern = "^muffle") [13:30:38.232] } [13:30:38.232] } [13:30:38.232] else { [13:30:38.232] if (TRUE) { [13:30:38.232] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.232] { [13:30:38.232] inherits <- base::inherits [13:30:38.232] invokeRestart <- base::invokeRestart [13:30:38.232] is.null <- base::is.null [13:30:38.232] muffled <- FALSE [13:30:38.232] if (inherits(cond, "message")) { [13:30:38.232] muffled <- grepl(pattern, "muffleMessage") [13:30:38.232] if (muffled) [13:30:38.232] invokeRestart("muffleMessage") [13:30:38.232] } [13:30:38.232] else if (inherits(cond, "warning")) { [13:30:38.232] muffled <- grepl(pattern, "muffleWarning") [13:30:38.232] if (muffled) [13:30:38.232] invokeRestart("muffleWarning") [13:30:38.232] } [13:30:38.232] else if (inherits(cond, "condition")) { [13:30:38.232] if (!is.null(pattern)) { [13:30:38.232] computeRestarts <- base::computeRestarts [13:30:38.232] grepl <- base::grepl [13:30:38.232] restarts <- computeRestarts(cond) [13:30:38.232] for (restart in restarts) { [13:30:38.232] name <- restart$name [13:30:38.232] if (is.null(name)) [13:30:38.232] next [13:30:38.232] if (!grepl(pattern, name)) [13:30:38.232] next [13:30:38.232] invokeRestart(restart) [13:30:38.232] muffled <- TRUE [13:30:38.232] break [13:30:38.232] } [13:30:38.232] } [13:30:38.232] } [13:30:38.232] invisible(muffled) [13:30:38.232] } [13:30:38.232] muffleCondition(cond, pattern = "^muffle") [13:30:38.232] } [13:30:38.232] } [13:30:38.232] } [13:30:38.232] })) [13:30:38.232] }, error = function(ex) { [13:30:38.232] base::structure(base::list(value = NULL, visible = NULL, [13:30:38.232] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.232] ...future.rng), started = ...future.startTime, [13:30:38.232] finished = Sys.time(), session_uuid = NA_character_, [13:30:38.232] version = "1.8"), class = "FutureResult") [13:30:38.232] }, finally = { [13:30:38.232] if (!identical(...future.workdir, getwd())) [13:30:38.232] setwd(...future.workdir) [13:30:38.232] { [13:30:38.232] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:38.232] ...future.oldOptions$nwarnings <- NULL [13:30:38.232] } [13:30:38.232] base::options(...future.oldOptions) [13:30:38.232] if (.Platform$OS.type == "windows") { [13:30:38.232] old_names <- names(...future.oldEnvVars) [13:30:38.232] envs <- base::Sys.getenv() [13:30:38.232] names <- names(envs) [13:30:38.232] common <- intersect(names, old_names) [13:30:38.232] added <- setdiff(names, old_names) [13:30:38.232] removed <- setdiff(old_names, names) [13:30:38.232] changed <- common[...future.oldEnvVars[common] != [13:30:38.232] envs[common]] [13:30:38.232] NAMES <- toupper(changed) [13:30:38.232] args <- list() [13:30:38.232] for (kk in seq_along(NAMES)) { [13:30:38.232] name <- changed[[kk]] [13:30:38.232] NAME <- NAMES[[kk]] [13:30:38.232] if (name != NAME && is.element(NAME, old_names)) [13:30:38.232] next [13:30:38.232] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.232] } [13:30:38.232] NAMES <- toupper(added) [13:30:38.232] for (kk in seq_along(NAMES)) { [13:30:38.232] name <- added[[kk]] [13:30:38.232] NAME <- NAMES[[kk]] [13:30:38.232] if (name != NAME && is.element(NAME, old_names)) [13:30:38.232] next [13:30:38.232] args[[name]] <- "" [13:30:38.232] } [13:30:38.232] NAMES <- toupper(removed) [13:30:38.232] for (kk in seq_along(NAMES)) { [13:30:38.232] name <- removed[[kk]] [13:30:38.232] NAME <- NAMES[[kk]] [13:30:38.232] if (name != NAME && is.element(NAME, old_names)) [13:30:38.232] next [13:30:38.232] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.232] } [13:30:38.232] if (length(args) > 0) [13:30:38.232] base::do.call(base::Sys.setenv, args = args) [13:30:38.232] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:38.232] } [13:30:38.232] else { [13:30:38.232] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:38.232] } [13:30:38.232] { [13:30:38.232] if (base::length(...future.futureOptionsAdded) > [13:30:38.232] 0L) { [13:30:38.232] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:38.232] base::names(opts) <- ...future.futureOptionsAdded [13:30:38.232] base::options(opts) [13:30:38.232] } [13:30:38.232] { [13:30:38.232] NULL [13:30:38.232] options(future.plan = NULL) [13:30:38.232] if (is.na(NA_character_)) [13:30:38.232] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.232] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:38.232] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:38.232] .init = FALSE) [13:30:38.232] } [13:30:38.232] } [13:30:38.232] } [13:30:38.232] }) [13:30:38.232] if (TRUE) { [13:30:38.232] base::sink(type = "output", split = FALSE) [13:30:38.232] if (TRUE) { [13:30:38.232] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:38.232] } [13:30:38.232] else { [13:30:38.232] ...future.result["stdout"] <- base::list(NULL) [13:30:38.232] } [13:30:38.232] base::close(...future.stdout) [13:30:38.232] ...future.stdout <- NULL [13:30:38.232] } [13:30:38.232] ...future.result$conditions <- ...future.conditions [13:30:38.232] ...future.result$finished <- base::Sys.time() [13:30:38.232] ...future.result [13:30:38.232] } [13:30:38.236] - Launch lazy future ... done [13:30:38.236] run() for 'MiraiFuture' ... done [1] 6 [13:30:38.238] ** Sum function 'D' with plan('mirai_cluster') ...function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y, ...) } y } Arguments '...' exists: FALSE [13:30:38.238] getGlobalsAndPackages() ... [13:30:38.238] Searching for globals... [13:30:38.240] - globals found: [5] '{', 'sum', 'x', 'y', '...' [13:30:38.240] Searching for globals ... DONE [13:30:38.241] Resolving globals: FALSE [13:30:38.241] Tweak future expression to call with '...' arguments ... [13:30:38.241] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:38.242] 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') [13:30:38.242] - globals: [2] 'x', 'y' [13:30:38.242] [13:30:38.242] getGlobalsAndPackages() ... DONE [13:30:38.243] run() for 'Future' ... [13:30:38.243] - state: 'created' [13:30:38.243] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:38.243] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:38.244] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:38.244] - Field: 'label' [13:30:38.244] - Field: 'local' [13:30:38.244] - Field: 'owner' [13:30:38.244] - Field: 'envir' [13:30:38.244] - Field: 'packages' [13:30:38.245] - Field: 'gc' [13:30:38.245] - Field: 'conditions' [13:30:38.245] - Field: 'expr' [13:30:38.245] - Field: 'uuid' [13:30:38.245] - Field: 'seed' [13:30:38.245] - Field: 'version' [13:30:38.246] - Field: 'result' [13:30:38.246] - Field: 'asynchronous' [13:30:38.246] - Field: 'calls' [13:30:38.246] - Field: 'globals' [13:30:38.246] - Field: 'stdout' [13:30:38.247] - Field: 'earlySignal' [13:30:38.247] - Field: 'lazy' [13:30:38.247] - Field: 'state' [13:30:38.247] - Field: '.cluster' [13:30:38.247] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:38.247] - Launch lazy future ... [13:30:38.248] Packages needed by the future expression (n = 0): [13:30:38.249] Packages needed by future strategies (n = 0): [13:30:38.249] { [13:30:38.249] { [13:30:38.249] { [13:30:38.249] ...future.startTime <- base::Sys.time() [13:30:38.249] { [13:30:38.249] { [13:30:38.249] { [13:30:38.249] base::local({ [13:30:38.249] has_future <- base::requireNamespace("future", [13:30:38.249] quietly = TRUE) [13:30:38.249] if (has_future) { [13:30:38.249] ns <- base::getNamespace("future") [13:30:38.249] version <- ns[[".package"]][["version"]] [13:30:38.249] if (is.null(version)) [13:30:38.249] version <- utils::packageVersion("future") [13:30:38.249] } [13:30:38.249] else { [13:30:38.249] version <- NULL [13:30:38.249] } [13:30:38.249] if (!has_future || version < "1.8.0") { [13:30:38.249] info <- base::c(r_version = base::gsub("R version ", [13:30:38.249] "", base::R.version$version.string), [13:30:38.249] platform = base::sprintf("%s (%s-bit)", [13:30:38.249] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:38.249] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:38.249] "release", "version")], collapse = " "), [13:30:38.249] hostname = base::Sys.info()[["nodename"]]) [13:30:38.249] info <- base::sprintf("%s: %s", base::names(info), [13:30:38.249] info) [13:30:38.249] info <- base::paste(info, collapse = "; ") [13:30:38.249] if (!has_future) { [13:30:38.249] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:38.249] info) [13:30:38.249] } [13:30:38.249] else { [13:30:38.249] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:38.249] info, version) [13:30:38.249] } [13:30:38.249] base::stop(msg) [13:30:38.249] } [13:30:38.249] }) [13:30:38.249] } [13:30:38.249] ...future.strategy.old <- future::plan("list") [13:30:38.249] options(future.plan = NULL) [13:30:38.249] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.249] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:38.249] } [13:30:38.249] ...future.workdir <- getwd() [13:30:38.249] } [13:30:38.249] ...future.oldOptions <- base::as.list(base::.Options) [13:30:38.249] ...future.oldEnvVars <- base::Sys.getenv() [13:30:38.249] } [13:30:38.249] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:38.249] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:38.249] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:38.249] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:38.249] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:38.249] future.stdout.windows.reencode = NULL, width = 80L) [13:30:38.249] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:38.249] base::names(...future.oldOptions)) [13:30:38.249] } [13:30:38.249] if (FALSE) { [13:30:38.249] } [13:30:38.249] else { [13:30:38.249] if (TRUE) { [13:30:38.249] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:38.249] open = "w") [13:30:38.249] } [13:30:38.249] else { [13:30:38.249] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:38.249] windows = "NUL", "/dev/null"), open = "w") [13:30:38.249] } [13:30:38.249] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:38.249] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:38.249] base::sink(type = "output", split = FALSE) [13:30:38.249] base::close(...future.stdout) [13:30:38.249] }, add = TRUE) [13:30:38.249] } [13:30:38.249] ...future.frame <- base::sys.nframe() [13:30:38.249] ...future.conditions <- base::list() [13:30:38.249] ...future.rng <- base::globalenv()$.Random.seed [13:30:38.249] if (FALSE) { [13:30:38.249] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:38.249] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:38.249] } [13:30:38.249] ...future.result <- base::tryCatch({ [13:30:38.249] base::withCallingHandlers({ [13:30:38.249] ...future.value <- base::withVisible(base::local({ [13:30:38.249] sum(x, y, ...) [13:30:38.249] })) [13:30:38.249] future::FutureResult(value = ...future.value$value, [13:30:38.249] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.249] ...future.rng), globalenv = if (FALSE) [13:30:38.249] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:38.249] ...future.globalenv.names)) [13:30:38.249] else NULL, started = ...future.startTime, version = "1.8") [13:30:38.249] }, condition = base::local({ [13:30:38.249] c <- base::c [13:30:38.249] inherits <- base::inherits [13:30:38.249] invokeRestart <- base::invokeRestart [13:30:38.249] length <- base::length [13:30:38.249] list <- base::list [13:30:38.249] seq.int <- base::seq.int [13:30:38.249] signalCondition <- base::signalCondition [13:30:38.249] sys.calls <- base::sys.calls [13:30:38.249] `[[` <- base::`[[` [13:30:38.249] `+` <- base::`+` [13:30:38.249] `<<-` <- base::`<<-` [13:30:38.249] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:38.249] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:38.249] 3L)] [13:30:38.249] } [13:30:38.249] function(cond) { [13:30:38.249] is_error <- inherits(cond, "error") [13:30:38.249] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:38.249] NULL) [13:30:38.249] if (is_error) { [13:30:38.249] sessionInformation <- function() { [13:30:38.249] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:38.249] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:38.249] search = base::search(), system = base::Sys.info()) [13:30:38.249] } [13:30:38.249] ...future.conditions[[length(...future.conditions) + [13:30:38.249] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:38.249] cond$call), session = sessionInformation(), [13:30:38.249] timestamp = base::Sys.time(), signaled = 0L) [13:30:38.249] signalCondition(cond) [13:30:38.249] } [13:30:38.249] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:38.249] signal <- FALSE && inherits(cond, character(0)) [13:30:38.249] ...future.conditions[[length(...future.conditions) + [13:30:38.249] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:38.249] if (FALSE && !signal) { [13:30:38.249] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.249] { [13:30:38.249] inherits <- base::inherits [13:30:38.249] invokeRestart <- base::invokeRestart [13:30:38.249] is.null <- base::is.null [13:30:38.249] muffled <- FALSE [13:30:38.249] if (inherits(cond, "message")) { [13:30:38.249] muffled <- grepl(pattern, "muffleMessage") [13:30:38.249] if (muffled) [13:30:38.249] invokeRestart("muffleMessage") [13:30:38.249] } [13:30:38.249] else if (inherits(cond, "warning")) { [13:30:38.249] muffled <- grepl(pattern, "muffleWarning") [13:30:38.249] if (muffled) [13:30:38.249] invokeRestart("muffleWarning") [13:30:38.249] } [13:30:38.249] else if (inherits(cond, "condition")) { [13:30:38.249] if (!is.null(pattern)) { [13:30:38.249] computeRestarts <- base::computeRestarts [13:30:38.249] grepl <- base::grepl [13:30:38.249] restarts <- computeRestarts(cond) [13:30:38.249] for (restart in restarts) { [13:30:38.249] name <- restart$name [13:30:38.249] if (is.null(name)) [13:30:38.249] next [13:30:38.249] if (!grepl(pattern, name)) [13:30:38.249] next [13:30:38.249] invokeRestart(restart) [13:30:38.249] muffled <- TRUE [13:30:38.249] break [13:30:38.249] } [13:30:38.249] } [13:30:38.249] } [13:30:38.249] invisible(muffled) [13:30:38.249] } [13:30:38.249] muffleCondition(cond, pattern = "^muffle") [13:30:38.249] } [13:30:38.249] } [13:30:38.249] else { [13:30:38.249] if (TRUE) { [13:30:38.249] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.249] { [13:30:38.249] inherits <- base::inherits [13:30:38.249] invokeRestart <- base::invokeRestart [13:30:38.249] is.null <- base::is.null [13:30:38.249] muffled <- FALSE [13:30:38.249] if (inherits(cond, "message")) { [13:30:38.249] muffled <- grepl(pattern, "muffleMessage") [13:30:38.249] if (muffled) [13:30:38.249] invokeRestart("muffleMessage") [13:30:38.249] } [13:30:38.249] else if (inherits(cond, "warning")) { [13:30:38.249] muffled <- grepl(pattern, "muffleWarning") [13:30:38.249] if (muffled) [13:30:38.249] invokeRestart("muffleWarning") [13:30:38.249] } [13:30:38.249] else if (inherits(cond, "condition")) { [13:30:38.249] if (!is.null(pattern)) { [13:30:38.249] computeRestarts <- base::computeRestarts [13:30:38.249] grepl <- base::grepl [13:30:38.249] restarts <- computeRestarts(cond) [13:30:38.249] for (restart in restarts) { [13:30:38.249] name <- restart$name [13:30:38.249] if (is.null(name)) [13:30:38.249] next [13:30:38.249] if (!grepl(pattern, name)) [13:30:38.249] next [13:30:38.249] invokeRestart(restart) [13:30:38.249] muffled <- TRUE [13:30:38.249] break [13:30:38.249] } [13:30:38.249] } [13:30:38.249] } [13:30:38.249] invisible(muffled) [13:30:38.249] } [13:30:38.249] muffleCondition(cond, pattern = "^muffle") [13:30:38.249] } [13:30:38.249] } [13:30:38.249] } [13:30:38.249] })) [13:30:38.249] }, error = function(ex) { [13:30:38.249] base::structure(base::list(value = NULL, visible = NULL, [13:30:38.249] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.249] ...future.rng), started = ...future.startTime, [13:30:38.249] finished = Sys.time(), session_uuid = NA_character_, [13:30:38.249] version = "1.8"), class = "FutureResult") [13:30:38.249] }, finally = { [13:30:38.249] if (!identical(...future.workdir, getwd())) [13:30:38.249] setwd(...future.workdir) [13:30:38.249] { [13:30:38.249] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:38.249] ...future.oldOptions$nwarnings <- NULL [13:30:38.249] } [13:30:38.249] base::options(...future.oldOptions) [13:30:38.249] if (.Platform$OS.type == "windows") { [13:30:38.249] old_names <- names(...future.oldEnvVars) [13:30:38.249] envs <- base::Sys.getenv() [13:30:38.249] names <- names(envs) [13:30:38.249] common <- intersect(names, old_names) [13:30:38.249] added <- setdiff(names, old_names) [13:30:38.249] removed <- setdiff(old_names, names) [13:30:38.249] changed <- common[...future.oldEnvVars[common] != [13:30:38.249] envs[common]] [13:30:38.249] NAMES <- toupper(changed) [13:30:38.249] args <- list() [13:30:38.249] for (kk in seq_along(NAMES)) { [13:30:38.249] name <- changed[[kk]] [13:30:38.249] NAME <- NAMES[[kk]] [13:30:38.249] if (name != NAME && is.element(NAME, old_names)) [13:30:38.249] next [13:30:38.249] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.249] } [13:30:38.249] NAMES <- toupper(added) [13:30:38.249] for (kk in seq_along(NAMES)) { [13:30:38.249] name <- added[[kk]] [13:30:38.249] NAME <- NAMES[[kk]] [13:30:38.249] if (name != NAME && is.element(NAME, old_names)) [13:30:38.249] next [13:30:38.249] args[[name]] <- "" [13:30:38.249] } [13:30:38.249] NAMES <- toupper(removed) [13:30:38.249] for (kk in seq_along(NAMES)) { [13:30:38.249] name <- removed[[kk]] [13:30:38.249] NAME <- NAMES[[kk]] [13:30:38.249] if (name != NAME && is.element(NAME, old_names)) [13:30:38.249] next [13:30:38.249] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.249] } [13:30:38.249] if (length(args) > 0) [13:30:38.249] base::do.call(base::Sys.setenv, args = args) [13:30:38.249] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:38.249] } [13:30:38.249] else { [13:30:38.249] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:38.249] } [13:30:38.249] { [13:30:38.249] if (base::length(...future.futureOptionsAdded) > [13:30:38.249] 0L) { [13:30:38.249] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:38.249] base::names(opts) <- ...future.futureOptionsAdded [13:30:38.249] base::options(opts) [13:30:38.249] } [13:30:38.249] { [13:30:38.249] NULL [13:30:38.249] options(future.plan = NULL) [13:30:38.249] if (is.na(NA_character_)) [13:30:38.249] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.249] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:38.249] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:38.249] .init = FALSE) [13:30:38.249] } [13:30:38.249] } [13:30:38.249] } [13:30:38.249] }) [13:30:38.249] if (TRUE) { [13:30:38.249] base::sink(type = "output", split = FALSE) [13:30:38.249] if (TRUE) { [13:30:38.249] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:38.249] } [13:30:38.249] else { [13:30:38.249] ...future.result["stdout"] <- base::list(NULL) [13:30:38.249] } [13:30:38.249] base::close(...future.stdout) [13:30:38.249] ...future.stdout <- NULL [13:30:38.249] } [13:30:38.249] ...future.result$conditions <- ...future.conditions [13:30:38.249] ...future.result$finished <- base::Sys.time() [13:30:38.249] ...future.result [13:30:38.249] } [13:30:38.253] - Launch lazy future ... done [13:30:38.253] run() for 'MiraiFuture' ... done [13:30:38.256] signalConditions() ... [13:30:38.256] - include = 'immediateCondition' [13:30:38.256] - exclude = [13:30:38.256] - resignal = FALSE [13:30:38.256] - Number of conditions: 1 [13:30:38.256] signalConditions() ... done [13:30:38.257] Future state: 'finished' [13:30:38.257] signalConditions() ... [13:30:38.257] - include = 'condition' [13:30:38.257] - exclude = 'immediateCondition' [13:30:38.257] - resignal = TRUE [13:30:38.257] - Number of conditions: 1 [13:30:38.258] - Condition #1: 'simpleError', 'error', 'condition' [13:30:38.258] signalConditions() ... done [13:30:38.258] plan(): Setting new future strategy stack: [13:30:38.258] List of future strategies: [13:30:38.258] 1. mirai_multisession: [13:30:38.258] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:30:38.258] - tweaked: FALSE [13:30:38.258] - call: plan(strategy, substitute = FALSE) [13:30:38.259] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:30:38.259] < mirai [$data] > [13:30:38.261] getGlobalsAndPackages() ... [13:30:38.261] Not searching for globals [13:30:38.262] - globals: [0] [13:30:38.262] getGlobalsAndPackages() ... DONE [13:30:38.262] getGlobalsAndPackages() ... [13:30:38.262] [13:30:38.262] - globals: [0] [13:30:38.262] getGlobalsAndPackages() ... DONE [13:30:38.263] Packages needed by the future expression (n = 0): [13:30:38.263] Packages needed by future strategies (n = 0): [13:30:38.263] { [13:30:38.263] { [13:30:38.263] { [13:30:38.263] ...future.startTime <- base::Sys.time() [13:30:38.263] { [13:30:38.263] { [13:30:38.263] { [13:30:38.263] base::local({ [13:30:38.263] has_future <- base::requireNamespace("future", [13:30:38.263] quietly = TRUE) [13:30:38.263] if (has_future) { [13:30:38.263] ns <- base::getNamespace("future") [13:30:38.263] version <- ns[[".package"]][["version"]] [13:30:38.263] if (is.null(version)) [13:30:38.263] version <- utils::packageVersion("future") [13:30:38.263] } [13:30:38.263] else { [13:30:38.263] version <- NULL [13:30:38.263] } [13:30:38.263] if (!has_future || version < "1.8.0") { [13:30:38.263] info <- base::c(r_version = base::gsub("R version ", [13:30:38.263] "", base::R.version$version.string), [13:30:38.263] platform = base::sprintf("%s (%s-bit)", [13:30:38.263] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:38.263] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:38.263] "release", "version")], collapse = " "), [13:30:38.263] hostname = base::Sys.info()[["nodename"]]) [13:30:38.263] info <- base::sprintf("%s: %s", base::names(info), [13:30:38.263] info) [13:30:38.263] info <- base::paste(info, collapse = "; ") [13:30:38.263] if (!has_future) { [13:30:38.263] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:38.263] info) [13:30:38.263] } [13:30:38.263] else { [13:30:38.263] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:38.263] info, version) [13:30:38.263] } [13:30:38.263] base::stop(msg) [13:30:38.263] } [13:30:38.263] }) [13:30:38.263] } [13:30:38.263] ...future.strategy.old <- future::plan("list") [13:30:38.263] options(future.plan = NULL) [13:30:38.263] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.263] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:38.263] } [13:30:38.263] ...future.workdir <- getwd() [13:30:38.263] } [13:30:38.263] ...future.oldOptions <- base::as.list(base::.Options) [13:30:38.263] ...future.oldEnvVars <- base::Sys.getenv() [13:30:38.263] } [13:30:38.263] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:38.263] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:38.263] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:38.263] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:38.263] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:38.263] future.stdout.windows.reencode = NULL, width = 80L) [13:30:38.263] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:38.263] base::names(...future.oldOptions)) [13:30:38.263] } [13:30:38.263] if (FALSE) { [13:30:38.263] } [13:30:38.263] else { [13:30:38.263] if (TRUE) { [13:30:38.263] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:38.263] open = "w") [13:30:38.263] } [13:30:38.263] else { [13:30:38.263] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:38.263] windows = "NUL", "/dev/null"), open = "w") [13:30:38.263] } [13:30:38.263] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:38.263] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:38.263] base::sink(type = "output", split = FALSE) [13:30:38.263] base::close(...future.stdout) [13:30:38.263] }, add = TRUE) [13:30:38.263] } [13:30:38.263] ...future.frame <- base::sys.nframe() [13:30:38.263] ...future.conditions <- base::list() [13:30:38.263] ...future.rng <- base::globalenv()$.Random.seed [13:30:38.263] if (FALSE) { [13:30:38.263] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:38.263] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:38.263] } [13:30:38.263] ...future.result <- base::tryCatch({ [13:30:38.263] base::withCallingHandlers({ [13:30:38.263] ...future.value <- base::withVisible(base::local(NA)) [13:30:38.263] future::FutureResult(value = ...future.value$value, [13:30:38.263] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.263] ...future.rng), globalenv = if (FALSE) [13:30:38.263] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:38.263] ...future.globalenv.names)) [13:30:38.263] else NULL, started = ...future.startTime, version = "1.8") [13:30:38.263] }, condition = base::local({ [13:30:38.263] c <- base::c [13:30:38.263] inherits <- base::inherits [13:30:38.263] invokeRestart <- base::invokeRestart [13:30:38.263] length <- base::length [13:30:38.263] list <- base::list [13:30:38.263] seq.int <- base::seq.int [13:30:38.263] signalCondition <- base::signalCondition [13:30:38.263] sys.calls <- base::sys.calls [13:30:38.263] `[[` <- base::`[[` [13:30:38.263] `+` <- base::`+` [13:30:38.263] `<<-` <- base::`<<-` [13:30:38.263] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:38.263] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:38.263] 3L)] [13:30:38.263] } [13:30:38.263] function(cond) { [13:30:38.263] is_error <- inherits(cond, "error") [13:30:38.263] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:38.263] NULL) [13:30:38.263] if (is_error) { [13:30:38.263] sessionInformation <- function() { [13:30:38.263] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:38.263] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:38.263] search = base::search(), system = base::Sys.info()) [13:30:38.263] } [13:30:38.263] ...future.conditions[[length(...future.conditions) + [13:30:38.263] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:38.263] cond$call), session = sessionInformation(), [13:30:38.263] timestamp = base::Sys.time(), signaled = 0L) [13:30:38.263] signalCondition(cond) [13:30:38.263] } [13:30:38.263] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:38.263] signal <- FALSE && inherits(cond, character(0)) [13:30:38.263] ...future.conditions[[length(...future.conditions) + [13:30:38.263] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:38.263] if (FALSE && !signal) { [13:30:38.263] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.263] { [13:30:38.263] inherits <- base::inherits [13:30:38.263] invokeRestart <- base::invokeRestart [13:30:38.263] is.null <- base::is.null [13:30:38.263] muffled <- FALSE [13:30:38.263] if (inherits(cond, "message")) { [13:30:38.263] muffled <- grepl(pattern, "muffleMessage") [13:30:38.263] if (muffled) [13:30:38.263] invokeRestart("muffleMessage") [13:30:38.263] } [13:30:38.263] else if (inherits(cond, "warning")) { [13:30:38.263] muffled <- grepl(pattern, "muffleWarning") [13:30:38.263] if (muffled) [13:30:38.263] invokeRestart("muffleWarning") [13:30:38.263] } [13:30:38.263] else if (inherits(cond, "condition")) { [13:30:38.263] if (!is.null(pattern)) { [13:30:38.263] computeRestarts <- base::computeRestarts [13:30:38.263] grepl <- base::grepl [13:30:38.263] restarts <- computeRestarts(cond) [13:30:38.263] for (restart in restarts) { [13:30:38.263] name <- restart$name [13:30:38.263] if (is.null(name)) [13:30:38.263] next [13:30:38.263] if (!grepl(pattern, name)) [13:30:38.263] next [13:30:38.263] invokeRestart(restart) [13:30:38.263] muffled <- TRUE [13:30:38.263] break [13:30:38.263] } [13:30:38.263] } [13:30:38.263] } [13:30:38.263] invisible(muffled) [13:30:38.263] } [13:30:38.263] muffleCondition(cond, pattern = "^muffle") [13:30:38.263] } [13:30:38.263] } [13:30:38.263] else { [13:30:38.263] if (TRUE) { [13:30:38.263] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.263] { [13:30:38.263] inherits <- base::inherits [13:30:38.263] invokeRestart <- base::invokeRestart [13:30:38.263] is.null <- base::is.null [13:30:38.263] muffled <- FALSE [13:30:38.263] if (inherits(cond, "message")) { [13:30:38.263] muffled <- grepl(pattern, "muffleMessage") [13:30:38.263] if (muffled) [13:30:38.263] invokeRestart("muffleMessage") [13:30:38.263] } [13:30:38.263] else if (inherits(cond, "warning")) { [13:30:38.263] muffled <- grepl(pattern, "muffleWarning") [13:30:38.263] if (muffled) [13:30:38.263] invokeRestart("muffleWarning") [13:30:38.263] } [13:30:38.263] else if (inherits(cond, "condition")) { [13:30:38.263] if (!is.null(pattern)) { [13:30:38.263] computeRestarts <- base::computeRestarts [13:30:38.263] grepl <- base::grepl [13:30:38.263] restarts <- computeRestarts(cond) [13:30:38.263] for (restart in restarts) { [13:30:38.263] name <- restart$name [13:30:38.263] if (is.null(name)) [13:30:38.263] next [13:30:38.263] if (!grepl(pattern, name)) [13:30:38.263] next [13:30:38.263] invokeRestart(restart) [13:30:38.263] muffled <- TRUE [13:30:38.263] break [13:30:38.263] } [13:30:38.263] } [13:30:38.263] } [13:30:38.263] invisible(muffled) [13:30:38.263] } [13:30:38.263] muffleCondition(cond, pattern = "^muffle") [13:30:38.263] } [13:30:38.263] } [13:30:38.263] } [13:30:38.263] })) [13:30:38.263] }, error = function(ex) { [13:30:38.263] base::structure(base::list(value = NULL, visible = NULL, [13:30:38.263] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.263] ...future.rng), started = ...future.startTime, [13:30:38.263] finished = Sys.time(), session_uuid = NA_character_, [13:30:38.263] version = "1.8"), class = "FutureResult") [13:30:38.263] }, finally = { [13:30:38.263] if (!identical(...future.workdir, getwd())) [13:30:38.263] setwd(...future.workdir) [13:30:38.263] { [13:30:38.263] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:38.263] ...future.oldOptions$nwarnings <- NULL [13:30:38.263] } [13:30:38.263] base::options(...future.oldOptions) [13:30:38.263] if (.Platform$OS.type == "windows") { [13:30:38.263] old_names <- names(...future.oldEnvVars) [13:30:38.263] envs <- base::Sys.getenv() [13:30:38.263] names <- names(envs) [13:30:38.263] common <- intersect(names, old_names) [13:30:38.263] added <- setdiff(names, old_names) [13:30:38.263] removed <- setdiff(old_names, names) [13:30:38.263] changed <- common[...future.oldEnvVars[common] != [13:30:38.263] envs[common]] [13:30:38.263] NAMES <- toupper(changed) [13:30:38.263] args <- list() [13:30:38.263] for (kk in seq_along(NAMES)) { [13:30:38.263] name <- changed[[kk]] [13:30:38.263] NAME <- NAMES[[kk]] [13:30:38.263] if (name != NAME && is.element(NAME, old_names)) [13:30:38.263] next [13:30:38.263] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.263] } [13:30:38.263] NAMES <- toupper(added) [13:30:38.263] for (kk in seq_along(NAMES)) { [13:30:38.263] name <- added[[kk]] [13:30:38.263] NAME <- NAMES[[kk]] [13:30:38.263] if (name != NAME && is.element(NAME, old_names)) [13:30:38.263] next [13:30:38.263] args[[name]] <- "" [13:30:38.263] } [13:30:38.263] NAMES <- toupper(removed) [13:30:38.263] for (kk in seq_along(NAMES)) { [13:30:38.263] name <- removed[[kk]] [13:30:38.263] NAME <- NAMES[[kk]] [13:30:38.263] if (name != NAME && is.element(NAME, old_names)) [13:30:38.263] next [13:30:38.263] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.263] } [13:30:38.263] if (length(args) > 0) [13:30:38.263] base::do.call(base::Sys.setenv, args = args) [13:30:38.263] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:38.263] } [13:30:38.263] else { [13:30:38.263] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:38.263] } [13:30:38.263] { [13:30:38.263] if (base::length(...future.futureOptionsAdded) > [13:30:38.263] 0L) { [13:30:38.263] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:38.263] base::names(opts) <- ...future.futureOptionsAdded [13:30:38.263] base::options(opts) [13:30:38.263] } [13:30:38.263] { [13:30:38.263] NULL [13:30:38.263] options(future.plan = NULL) [13:30:38.263] if (is.na(NA_character_)) [13:30:38.263] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.263] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:38.263] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:38.263] .init = FALSE) [13:30:38.263] } [13:30:38.263] } [13:30:38.263] } [13:30:38.263] }) [13:30:38.263] if (TRUE) { [13:30:38.263] base::sink(type = "output", split = FALSE) [13:30:38.263] if (TRUE) { [13:30:38.263] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:38.263] } [13:30:38.263] else { [13:30:38.263] ...future.result["stdout"] <- base::list(NULL) [13:30:38.263] } [13:30:38.263] base::close(...future.stdout) [13:30:38.263] ...future.stdout <- NULL [13:30:38.263] } [13:30:38.263] ...future.result$conditions <- ...future.conditions [13:30:38.263] ...future.result$finished <- base::Sys.time() [13:30:38.263] ...future.result [13:30:38.263] } [13:30:38.269] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:30:38.269] plan(): nbrOfWorkers() = 2 [13:30:38.270] ** Sum function 'A' with plan('mirai_multisession') ...function (x, ...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } Arguments '...' exists: TRUE [13:30:38.272] getGlobalsAndPackages() ... [13:30:38.273] Searching for globals... [13:30:38.274] - globals found: [4] '{', 'sum', 'x', '...' [13:30:38.274] Searching for globals ... DONE [13:30:38.275] Resolving globals: FALSE [13:30:38.275] Tweak future expression to call with '...' arguments ... [13:30:38.275] { [13:30:38.275] do.call(function(...) { [13:30:38.275] sum(x, ...) [13:30:38.275] }, args = future.call.arguments) [13:30:38.275] } [13:30:38.275] Tweak future expression to call with '...' arguments ... DONE [13:30:38.276] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:38.276] 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') [13:30:38.276] - globals: [2] 'x', 'future.call.arguments' [13:30:38.277] [13:30:38.277] getGlobalsAndPackages() ... DONE [13:30:38.277] run() for 'Future' ... [13:30:38.277] - state: 'created' [13:30:38.277] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:38.280] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:38.280] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:38.280] - Field: 'label' [13:30:38.280] - Field: 'local' [13:30:38.280] - Field: 'owner' [13:30:38.281] - Field: 'envir' [13:30:38.281] - Field: 'packages' [13:30:38.281] - Field: 'gc' [13:30:38.281] - Field: 'conditions' [13:30:38.281] - Field: 'expr' [13:30:38.281] - Field: 'uuid' [13:30:38.282] - Field: 'seed' [13:30:38.282] - Field: 'version' [13:30:38.282] - Field: 'result' [13:30:38.282] - Field: 'asynchronous' [13:30:38.282] - Field: 'calls' [13:30:38.283] - Field: 'globals' [13:30:38.283] - Field: 'stdout' [13:30:38.283] - Field: 'earlySignal' [13:30:38.283] - Field: 'lazy' [13:30:38.283] - Field: 'state' [13:30:38.283] - Field: '.cluster' [13:30:38.284] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:38.284] - Launch lazy future ... [13:30:38.284] Packages needed by the future expression (n = 0): [13:30:38.284] Packages needed by future strategies (n = 0): [13:30:38.285] { [13:30:38.285] { [13:30:38.285] { [13:30:38.285] ...future.startTime <- base::Sys.time() [13:30:38.285] { [13:30:38.285] { [13:30:38.285] { [13:30:38.285] base::local({ [13:30:38.285] has_future <- base::requireNamespace("future", [13:30:38.285] quietly = TRUE) [13:30:38.285] if (has_future) { [13:30:38.285] ns <- base::getNamespace("future") [13:30:38.285] version <- ns[[".package"]][["version"]] [13:30:38.285] if (is.null(version)) [13:30:38.285] version <- utils::packageVersion("future") [13:30:38.285] } [13:30:38.285] else { [13:30:38.285] version <- NULL [13:30:38.285] } [13:30:38.285] if (!has_future || version < "1.8.0") { [13:30:38.285] info <- base::c(r_version = base::gsub("R version ", [13:30:38.285] "", base::R.version$version.string), [13:30:38.285] platform = base::sprintf("%s (%s-bit)", [13:30:38.285] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:38.285] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:38.285] "release", "version")], collapse = " "), [13:30:38.285] hostname = base::Sys.info()[["nodename"]]) [13:30:38.285] info <- base::sprintf("%s: %s", base::names(info), [13:30:38.285] info) [13:30:38.285] info <- base::paste(info, collapse = "; ") [13:30:38.285] if (!has_future) { [13:30:38.285] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:38.285] info) [13:30:38.285] } [13:30:38.285] else { [13:30:38.285] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:38.285] info, version) [13:30:38.285] } [13:30:38.285] base::stop(msg) [13:30:38.285] } [13:30:38.285] }) [13:30:38.285] } [13:30:38.285] ...future.strategy.old <- future::plan("list") [13:30:38.285] options(future.plan = NULL) [13:30:38.285] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.285] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:38.285] } [13:30:38.285] ...future.workdir <- getwd() [13:30:38.285] } [13:30:38.285] ...future.oldOptions <- base::as.list(base::.Options) [13:30:38.285] ...future.oldEnvVars <- base::Sys.getenv() [13:30:38.285] } [13:30:38.285] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:38.285] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:38.285] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:38.285] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:38.285] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:38.285] future.stdout.windows.reencode = NULL, width = 80L) [13:30:38.285] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:38.285] base::names(...future.oldOptions)) [13:30:38.285] } [13:30:38.285] if (FALSE) { [13:30:38.285] } [13:30:38.285] else { [13:30:38.285] if (TRUE) { [13:30:38.285] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:38.285] open = "w") [13:30:38.285] } [13:30:38.285] else { [13:30:38.285] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:38.285] windows = "NUL", "/dev/null"), open = "w") [13:30:38.285] } [13:30:38.285] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:38.285] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:38.285] base::sink(type = "output", split = FALSE) [13:30:38.285] base::close(...future.stdout) [13:30:38.285] }, add = TRUE) [13:30:38.285] } [13:30:38.285] ...future.frame <- base::sys.nframe() [13:30:38.285] ...future.conditions <- base::list() [13:30:38.285] ...future.rng <- base::globalenv()$.Random.seed [13:30:38.285] if (FALSE) { [13:30:38.285] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:38.285] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:38.285] } [13:30:38.285] ...future.result <- base::tryCatch({ [13:30:38.285] base::withCallingHandlers({ [13:30:38.285] ...future.value <- base::withVisible(base::local({ [13:30:38.285] do.call(function(...) { [13:30:38.285] sum(x, ...) [13:30:38.285] }, args = future.call.arguments) [13:30:38.285] })) [13:30:38.285] future::FutureResult(value = ...future.value$value, [13:30:38.285] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.285] ...future.rng), globalenv = if (FALSE) [13:30:38.285] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:38.285] ...future.globalenv.names)) [13:30:38.285] else NULL, started = ...future.startTime, version = "1.8") [13:30:38.285] }, condition = base::local({ [13:30:38.285] c <- base::c [13:30:38.285] inherits <- base::inherits [13:30:38.285] invokeRestart <- base::invokeRestart [13:30:38.285] length <- base::length [13:30:38.285] list <- base::list [13:30:38.285] seq.int <- base::seq.int [13:30:38.285] signalCondition <- base::signalCondition [13:30:38.285] sys.calls <- base::sys.calls [13:30:38.285] `[[` <- base::`[[` [13:30:38.285] `+` <- base::`+` [13:30:38.285] `<<-` <- base::`<<-` [13:30:38.285] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:38.285] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:38.285] 3L)] [13:30:38.285] } [13:30:38.285] function(cond) { [13:30:38.285] is_error <- inherits(cond, "error") [13:30:38.285] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:38.285] NULL) [13:30:38.285] if (is_error) { [13:30:38.285] sessionInformation <- function() { [13:30:38.285] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:38.285] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:38.285] search = base::search(), system = base::Sys.info()) [13:30:38.285] } [13:30:38.285] ...future.conditions[[length(...future.conditions) + [13:30:38.285] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:38.285] cond$call), session = sessionInformation(), [13:30:38.285] timestamp = base::Sys.time(), signaled = 0L) [13:30:38.285] signalCondition(cond) [13:30:38.285] } [13:30:38.285] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:38.285] signal <- FALSE && inherits(cond, character(0)) [13:30:38.285] ...future.conditions[[length(...future.conditions) + [13:30:38.285] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:38.285] if (FALSE && !signal) { [13:30:38.285] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.285] { [13:30:38.285] inherits <- base::inherits [13:30:38.285] invokeRestart <- base::invokeRestart [13:30:38.285] is.null <- base::is.null [13:30:38.285] muffled <- FALSE [13:30:38.285] if (inherits(cond, "message")) { [13:30:38.285] muffled <- grepl(pattern, "muffleMessage") [13:30:38.285] if (muffled) [13:30:38.285] invokeRestart("muffleMessage") [13:30:38.285] } [13:30:38.285] else if (inherits(cond, "warning")) { [13:30:38.285] muffled <- grepl(pattern, "muffleWarning") [13:30:38.285] if (muffled) [13:30:38.285] invokeRestart("muffleWarning") [13:30:38.285] } [13:30:38.285] else if (inherits(cond, "condition")) { [13:30:38.285] if (!is.null(pattern)) { [13:30:38.285] computeRestarts <- base::computeRestarts [13:30:38.285] grepl <- base::grepl [13:30:38.285] restarts <- computeRestarts(cond) [13:30:38.285] for (restart in restarts) { [13:30:38.285] name <- restart$name [13:30:38.285] if (is.null(name)) [13:30:38.285] next [13:30:38.285] if (!grepl(pattern, name)) [13:30:38.285] next [13:30:38.285] invokeRestart(restart) [13:30:38.285] muffled <- TRUE [13:30:38.285] break [13:30:38.285] } [13:30:38.285] } [13:30:38.285] } [13:30:38.285] invisible(muffled) [13:30:38.285] } [13:30:38.285] muffleCondition(cond, pattern = "^muffle") [13:30:38.285] } [13:30:38.285] } [13:30:38.285] else { [13:30:38.285] if (TRUE) { [13:30:38.285] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.285] { [13:30:38.285] inherits <- base::inherits [13:30:38.285] invokeRestart <- base::invokeRestart [13:30:38.285] is.null <- base::is.null [13:30:38.285] muffled <- FALSE [13:30:38.285] if (inherits(cond, "message")) { [13:30:38.285] muffled <- grepl(pattern, "muffleMessage") [13:30:38.285] if (muffled) [13:30:38.285] invokeRestart("muffleMessage") [13:30:38.285] } [13:30:38.285] else if (inherits(cond, "warning")) { [13:30:38.285] muffled <- grepl(pattern, "muffleWarning") [13:30:38.285] if (muffled) [13:30:38.285] invokeRestart("muffleWarning") [13:30:38.285] } [13:30:38.285] else if (inherits(cond, "condition")) { [13:30:38.285] if (!is.null(pattern)) { [13:30:38.285] computeRestarts <- base::computeRestarts [13:30:38.285] grepl <- base::grepl [13:30:38.285] restarts <- computeRestarts(cond) [13:30:38.285] for (restart in restarts) { [13:30:38.285] name <- restart$name [13:30:38.285] if (is.null(name)) [13:30:38.285] next [13:30:38.285] if (!grepl(pattern, name)) [13:30:38.285] next [13:30:38.285] invokeRestart(restart) [13:30:38.285] muffled <- TRUE [13:30:38.285] break [13:30:38.285] } [13:30:38.285] } [13:30:38.285] } [13:30:38.285] invisible(muffled) [13:30:38.285] } [13:30:38.285] muffleCondition(cond, pattern = "^muffle") [13:30:38.285] } [13:30:38.285] } [13:30:38.285] } [13:30:38.285] })) [13:30:38.285] }, error = function(ex) { [13:30:38.285] base::structure(base::list(value = NULL, visible = NULL, [13:30:38.285] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.285] ...future.rng), started = ...future.startTime, [13:30:38.285] finished = Sys.time(), session_uuid = NA_character_, [13:30:38.285] version = "1.8"), class = "FutureResult") [13:30:38.285] }, finally = { [13:30:38.285] if (!identical(...future.workdir, getwd())) [13:30:38.285] setwd(...future.workdir) [13:30:38.285] { [13:30:38.285] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:38.285] ...future.oldOptions$nwarnings <- NULL [13:30:38.285] } [13:30:38.285] base::options(...future.oldOptions) [13:30:38.285] if (.Platform$OS.type == "windows") { [13:30:38.285] old_names <- names(...future.oldEnvVars) [13:30:38.285] envs <- base::Sys.getenv() [13:30:38.285] names <- names(envs) [13:30:38.285] common <- intersect(names, old_names) [13:30:38.285] added <- setdiff(names, old_names) [13:30:38.285] removed <- setdiff(old_names, names) [13:30:38.285] changed <- common[...future.oldEnvVars[common] != [13:30:38.285] envs[common]] [13:30:38.285] NAMES <- toupper(changed) [13:30:38.285] args <- list() [13:30:38.285] for (kk in seq_along(NAMES)) { [13:30:38.285] name <- changed[[kk]] [13:30:38.285] NAME <- NAMES[[kk]] [13:30:38.285] if (name != NAME && is.element(NAME, old_names)) [13:30:38.285] next [13:30:38.285] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.285] } [13:30:38.285] NAMES <- toupper(added) [13:30:38.285] for (kk in seq_along(NAMES)) { [13:30:38.285] name <- added[[kk]] [13:30:38.285] NAME <- NAMES[[kk]] [13:30:38.285] if (name != NAME && is.element(NAME, old_names)) [13:30:38.285] next [13:30:38.285] args[[name]] <- "" [13:30:38.285] } [13:30:38.285] NAMES <- toupper(removed) [13:30:38.285] for (kk in seq_along(NAMES)) { [13:30:38.285] name <- removed[[kk]] [13:30:38.285] NAME <- NAMES[[kk]] [13:30:38.285] if (name != NAME && is.element(NAME, old_names)) [13:30:38.285] next [13:30:38.285] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.285] } [13:30:38.285] if (length(args) > 0) [13:30:38.285] base::do.call(base::Sys.setenv, args = args) [13:30:38.285] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:38.285] } [13:30:38.285] else { [13:30:38.285] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:38.285] } [13:30:38.285] { [13:30:38.285] if (base::length(...future.futureOptionsAdded) > [13:30:38.285] 0L) { [13:30:38.285] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:38.285] base::names(opts) <- ...future.futureOptionsAdded [13:30:38.285] base::options(opts) [13:30:38.285] } [13:30:38.285] { [13:30:38.285] NULL [13:30:38.285] options(future.plan = NULL) [13:30:38.285] if (is.na(NA_character_)) [13:30:38.285] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.285] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:38.285] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:38.285] .init = FALSE) [13:30:38.285] } [13:30:38.285] } [13:30:38.285] } [13:30:38.285] }) [13:30:38.285] if (TRUE) { [13:30:38.285] base::sink(type = "output", split = FALSE) [13:30:38.285] if (TRUE) { [13:30:38.285] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:38.285] } [13:30:38.285] else { [13:30:38.285] ...future.result["stdout"] <- base::list(NULL) [13:30:38.285] } [13:30:38.285] base::close(...future.stdout) [13:30:38.285] ...future.stdout <- NULL [13:30:38.285] } [13:30:38.285] ...future.result$conditions <- ...future.conditions [13:30:38.285] ...future.result$finished <- base::Sys.time() [13:30:38.285] ...future.result [13:30:38.285] } [13:30:38.288] - Launch lazy future ... done [13:30:38.289] run() for 'MiraiFuture' ... done [1] 6 [13:30:38.290] ** 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 [13:30:38.296] getGlobalsAndPackages() ... [13:30:38.296] Searching for globals... [13:30:38.297] - globals found: [4] '{', 'sum', 'x', '...' [13:30:38.298] Searching for globals ... DONE [13:30:38.298] Resolving globals: FALSE [13:30:38.298] Tweak future expression to call with '...' arguments ... [13:30:38.298] { [13:30:38.298] do.call(function(...) { [13:30:38.298] sum(x, ...) [13:30:38.298] }, args = future.call.arguments) [13:30:38.298] } [13:30:38.298] Tweak future expression to call with '...' arguments ... DONE [13:30:38.299] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:38.299] 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') [13:30:38.300] - globals: [2] 'x', 'future.call.arguments' [13:30:38.300] [13:30:38.300] getGlobalsAndPackages() ... DONE [13:30:38.300] run() for 'Future' ... [13:30:38.300] - state: 'created' [13:30:38.301] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:38.303] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:38.303] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:38.303] - Field: 'label' [13:30:38.304] - Field: 'local' [13:30:38.304] - Field: 'owner' [13:30:38.304] - Field: 'envir' [13:30:38.304] - Field: 'packages' [13:30:38.304] - Field: 'gc' [13:30:38.304] - Field: 'conditions' [13:30:38.305] - Field: 'expr' [13:30:38.305] - Field: 'uuid' [13:30:38.305] - Field: 'seed' [13:30:38.305] - Field: 'version' [13:30:38.305] - Field: 'result' [13:30:38.305] - Field: 'asynchronous' [13:30:38.306] - Field: 'calls' [13:30:38.306] - Field: 'globals' [13:30:38.306] - Field: 'stdout' [13:30:38.306] - Field: 'earlySignal' [13:30:38.306] - Field: 'lazy' [13:30:38.306] - Field: 'state' [13:30:38.307] - Field: '.cluster' [13:30:38.307] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:38.307] - Launch lazy future ... [13:30:38.307] Packages needed by the future expression (n = 0): [13:30:38.307] Packages needed by future strategies (n = 0): [13:30:38.308] { [13:30:38.308] { [13:30:38.308] { [13:30:38.308] ...future.startTime <- base::Sys.time() [13:30:38.308] { [13:30:38.308] { [13:30:38.308] { [13:30:38.308] base::local({ [13:30:38.308] has_future <- base::requireNamespace("future", [13:30:38.308] quietly = TRUE) [13:30:38.308] if (has_future) { [13:30:38.308] ns <- base::getNamespace("future") [13:30:38.308] version <- ns[[".package"]][["version"]] [13:30:38.308] if (is.null(version)) [13:30:38.308] version <- utils::packageVersion("future") [13:30:38.308] } [13:30:38.308] else { [13:30:38.308] version <- NULL [13:30:38.308] } [13:30:38.308] if (!has_future || version < "1.8.0") { [13:30:38.308] info <- base::c(r_version = base::gsub("R version ", [13:30:38.308] "", base::R.version$version.string), [13:30:38.308] platform = base::sprintf("%s (%s-bit)", [13:30:38.308] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:38.308] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:38.308] "release", "version")], collapse = " "), [13:30:38.308] hostname = base::Sys.info()[["nodename"]]) [13:30:38.308] info <- base::sprintf("%s: %s", base::names(info), [13:30:38.308] info) [13:30:38.308] info <- base::paste(info, collapse = "; ") [13:30:38.308] if (!has_future) { [13:30:38.308] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:38.308] info) [13:30:38.308] } [13:30:38.308] else { [13:30:38.308] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:38.308] info, version) [13:30:38.308] } [13:30:38.308] base::stop(msg) [13:30:38.308] } [13:30:38.308] }) [13:30:38.308] } [13:30:38.308] ...future.strategy.old <- future::plan("list") [13:30:38.308] options(future.plan = NULL) [13:30:38.308] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.308] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:38.308] } [13:30:38.308] ...future.workdir <- getwd() [13:30:38.308] } [13:30:38.308] ...future.oldOptions <- base::as.list(base::.Options) [13:30:38.308] ...future.oldEnvVars <- base::Sys.getenv() [13:30:38.308] } [13:30:38.308] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:38.308] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:38.308] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:38.308] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:38.308] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:38.308] future.stdout.windows.reencode = NULL, width = 80L) [13:30:38.308] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:38.308] base::names(...future.oldOptions)) [13:30:38.308] } [13:30:38.308] if (FALSE) { [13:30:38.308] } [13:30:38.308] else { [13:30:38.308] if (TRUE) { [13:30:38.308] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:38.308] open = "w") [13:30:38.308] } [13:30:38.308] else { [13:30:38.308] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:38.308] windows = "NUL", "/dev/null"), open = "w") [13:30:38.308] } [13:30:38.308] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:38.308] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:38.308] base::sink(type = "output", split = FALSE) [13:30:38.308] base::close(...future.stdout) [13:30:38.308] }, add = TRUE) [13:30:38.308] } [13:30:38.308] ...future.frame <- base::sys.nframe() [13:30:38.308] ...future.conditions <- base::list() [13:30:38.308] ...future.rng <- base::globalenv()$.Random.seed [13:30:38.308] if (FALSE) { [13:30:38.308] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:38.308] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:38.308] } [13:30:38.308] ...future.result <- base::tryCatch({ [13:30:38.308] base::withCallingHandlers({ [13:30:38.308] ...future.value <- base::withVisible(base::local({ [13:30:38.308] do.call(function(...) { [13:30:38.308] sum(x, ...) [13:30:38.308] }, args = future.call.arguments) [13:30:38.308] })) [13:30:38.308] future::FutureResult(value = ...future.value$value, [13:30:38.308] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.308] ...future.rng), globalenv = if (FALSE) [13:30:38.308] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:38.308] ...future.globalenv.names)) [13:30:38.308] else NULL, started = ...future.startTime, version = "1.8") [13:30:38.308] }, condition = base::local({ [13:30:38.308] c <- base::c [13:30:38.308] inherits <- base::inherits [13:30:38.308] invokeRestart <- base::invokeRestart [13:30:38.308] length <- base::length [13:30:38.308] list <- base::list [13:30:38.308] seq.int <- base::seq.int [13:30:38.308] signalCondition <- base::signalCondition [13:30:38.308] sys.calls <- base::sys.calls [13:30:38.308] `[[` <- base::`[[` [13:30:38.308] `+` <- base::`+` [13:30:38.308] `<<-` <- base::`<<-` [13:30:38.308] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:38.308] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:38.308] 3L)] [13:30:38.308] } [13:30:38.308] function(cond) { [13:30:38.308] is_error <- inherits(cond, "error") [13:30:38.308] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:38.308] NULL) [13:30:38.308] if (is_error) { [13:30:38.308] sessionInformation <- function() { [13:30:38.308] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:38.308] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:38.308] search = base::search(), system = base::Sys.info()) [13:30:38.308] } [13:30:38.308] ...future.conditions[[length(...future.conditions) + [13:30:38.308] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:38.308] cond$call), session = sessionInformation(), [13:30:38.308] timestamp = base::Sys.time(), signaled = 0L) [13:30:38.308] signalCondition(cond) [13:30:38.308] } [13:30:38.308] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:38.308] signal <- FALSE && inherits(cond, character(0)) [13:30:38.308] ...future.conditions[[length(...future.conditions) + [13:30:38.308] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:38.308] if (FALSE && !signal) { [13:30:38.308] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.308] { [13:30:38.308] inherits <- base::inherits [13:30:38.308] invokeRestart <- base::invokeRestart [13:30:38.308] is.null <- base::is.null [13:30:38.308] muffled <- FALSE [13:30:38.308] if (inherits(cond, "message")) { [13:30:38.308] muffled <- grepl(pattern, "muffleMessage") [13:30:38.308] if (muffled) [13:30:38.308] invokeRestart("muffleMessage") [13:30:38.308] } [13:30:38.308] else if (inherits(cond, "warning")) { [13:30:38.308] muffled <- grepl(pattern, "muffleWarning") [13:30:38.308] if (muffled) [13:30:38.308] invokeRestart("muffleWarning") [13:30:38.308] } [13:30:38.308] else if (inherits(cond, "condition")) { [13:30:38.308] if (!is.null(pattern)) { [13:30:38.308] computeRestarts <- base::computeRestarts [13:30:38.308] grepl <- base::grepl [13:30:38.308] restarts <- computeRestarts(cond) [13:30:38.308] for (restart in restarts) { [13:30:38.308] name <- restart$name [13:30:38.308] if (is.null(name)) [13:30:38.308] next [13:30:38.308] if (!grepl(pattern, name)) [13:30:38.308] next [13:30:38.308] invokeRestart(restart) [13:30:38.308] muffled <- TRUE [13:30:38.308] break [13:30:38.308] } [13:30:38.308] } [13:30:38.308] } [13:30:38.308] invisible(muffled) [13:30:38.308] } [13:30:38.308] muffleCondition(cond, pattern = "^muffle") [13:30:38.308] } [13:30:38.308] } [13:30:38.308] else { [13:30:38.308] if (TRUE) { [13:30:38.308] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.308] { [13:30:38.308] inherits <- base::inherits [13:30:38.308] invokeRestart <- base::invokeRestart [13:30:38.308] is.null <- base::is.null [13:30:38.308] muffled <- FALSE [13:30:38.308] if (inherits(cond, "message")) { [13:30:38.308] muffled <- grepl(pattern, "muffleMessage") [13:30:38.308] if (muffled) [13:30:38.308] invokeRestart("muffleMessage") [13:30:38.308] } [13:30:38.308] else if (inherits(cond, "warning")) { [13:30:38.308] muffled <- grepl(pattern, "muffleWarning") [13:30:38.308] if (muffled) [13:30:38.308] invokeRestart("muffleWarning") [13:30:38.308] } [13:30:38.308] else if (inherits(cond, "condition")) { [13:30:38.308] if (!is.null(pattern)) { [13:30:38.308] computeRestarts <- base::computeRestarts [13:30:38.308] grepl <- base::grepl [13:30:38.308] restarts <- computeRestarts(cond) [13:30:38.308] for (restart in restarts) { [13:30:38.308] name <- restart$name [13:30:38.308] if (is.null(name)) [13:30:38.308] next [13:30:38.308] if (!grepl(pattern, name)) [13:30:38.308] next [13:30:38.308] invokeRestart(restart) [13:30:38.308] muffled <- TRUE [13:30:38.308] break [13:30:38.308] } [13:30:38.308] } [13:30:38.308] } [13:30:38.308] invisible(muffled) [13:30:38.308] } [13:30:38.308] muffleCondition(cond, pattern = "^muffle") [13:30:38.308] } [13:30:38.308] } [13:30:38.308] } [13:30:38.308] })) [13:30:38.308] }, error = function(ex) { [13:30:38.308] base::structure(base::list(value = NULL, visible = NULL, [13:30:38.308] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.308] ...future.rng), started = ...future.startTime, [13:30:38.308] finished = Sys.time(), session_uuid = NA_character_, [13:30:38.308] version = "1.8"), class = "FutureResult") [13:30:38.308] }, finally = { [13:30:38.308] if (!identical(...future.workdir, getwd())) [13:30:38.308] setwd(...future.workdir) [13:30:38.308] { [13:30:38.308] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:38.308] ...future.oldOptions$nwarnings <- NULL [13:30:38.308] } [13:30:38.308] base::options(...future.oldOptions) [13:30:38.308] if (.Platform$OS.type == "windows") { [13:30:38.308] old_names <- names(...future.oldEnvVars) [13:30:38.308] envs <- base::Sys.getenv() [13:30:38.308] names <- names(envs) [13:30:38.308] common <- intersect(names, old_names) [13:30:38.308] added <- setdiff(names, old_names) [13:30:38.308] removed <- setdiff(old_names, names) [13:30:38.308] changed <- common[...future.oldEnvVars[common] != [13:30:38.308] envs[common]] [13:30:38.308] NAMES <- toupper(changed) [13:30:38.308] args <- list() [13:30:38.308] for (kk in seq_along(NAMES)) { [13:30:38.308] name <- changed[[kk]] [13:30:38.308] NAME <- NAMES[[kk]] [13:30:38.308] if (name != NAME && is.element(NAME, old_names)) [13:30:38.308] next [13:30:38.308] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.308] } [13:30:38.308] NAMES <- toupper(added) [13:30:38.308] for (kk in seq_along(NAMES)) { [13:30:38.308] name <- added[[kk]] [13:30:38.308] NAME <- NAMES[[kk]] [13:30:38.308] if (name != NAME && is.element(NAME, old_names)) [13:30:38.308] next [13:30:38.308] args[[name]] <- "" [13:30:38.308] } [13:30:38.308] NAMES <- toupper(removed) [13:30:38.308] for (kk in seq_along(NAMES)) { [13:30:38.308] name <- removed[[kk]] [13:30:38.308] NAME <- NAMES[[kk]] [13:30:38.308] if (name != NAME && is.element(NAME, old_names)) [13:30:38.308] next [13:30:38.308] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.308] } [13:30:38.308] if (length(args) > 0) [13:30:38.308] base::do.call(base::Sys.setenv, args = args) [13:30:38.308] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:38.308] } [13:30:38.308] else { [13:30:38.308] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:38.308] } [13:30:38.308] { [13:30:38.308] if (base::length(...future.futureOptionsAdded) > [13:30:38.308] 0L) { [13:30:38.308] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:38.308] base::names(opts) <- ...future.futureOptionsAdded [13:30:38.308] base::options(opts) [13:30:38.308] } [13:30:38.308] { [13:30:38.308] NULL [13:30:38.308] options(future.plan = NULL) [13:30:38.308] if (is.na(NA_character_)) [13:30:38.308] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.308] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:38.308] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:38.308] .init = FALSE) [13:30:38.308] } [13:30:38.308] } [13:30:38.308] } [13:30:38.308] }) [13:30:38.308] if (TRUE) { [13:30:38.308] base::sink(type = "output", split = FALSE) [13:30:38.308] if (TRUE) { [13:30:38.308] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:38.308] } [13:30:38.308] else { [13:30:38.308] ...future.result["stdout"] <- base::list(NULL) [13:30:38.308] } [13:30:38.308] base::close(...future.stdout) [13:30:38.308] ...future.stdout <- NULL [13:30:38.308] } [13:30:38.308] ...future.result$conditions <- ...future.conditions [13:30:38.308] ...future.result$finished <- base::Sys.time() [13:30:38.308] ...future.result [13:30:38.308] } [13:30:38.312] - Launch lazy future ... done [13:30:38.312] run() for 'MiraiFuture' ... done [1] 6 [13:30:38.314] ** Sum function 'C' with plan('mirai_multisession') ...function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y) } y } Arguments '...' exists: FALSE [13:30:38.316] getGlobalsAndPackages() ... [13:30:38.316] Searching for globals... [13:30:38.318] - globals found: [4] '{', 'sum', 'x', 'y' [13:30:38.318] Searching for globals ... DONE [13:30:38.318] Resolving globals: FALSE [13:30:38.319] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:38.319] 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') [13:30:38.320] - globals: [2] 'x', 'y' [13:30:38.320] [13:30:38.320] getGlobalsAndPackages() ... DONE [13:30:38.320] run() for 'Future' ... [13:30:38.321] - state: 'created' [13:30:38.321] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:38.324] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:38.324] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:38.325] - Field: 'label' [13:30:38.325] - Field: 'local' [13:30:38.325] - Field: 'owner' [13:30:38.325] - Field: 'envir' [13:30:38.325] - Field: 'packages' [13:30:38.326] - Field: 'gc' [13:30:38.326] - Field: 'conditions' [13:30:38.326] - Field: 'expr' [13:30:38.326] - Field: 'uuid' [13:30:38.326] - Field: 'seed' [13:30:38.326] - Field: 'version' [13:30:38.327] - Field: 'result' [13:30:38.327] - Field: 'asynchronous' [13:30:38.327] - Field: 'calls' [13:30:38.327] - Field: 'globals' [13:30:38.327] - Field: 'stdout' [13:30:38.328] - Field: 'earlySignal' [13:30:38.328] - Field: 'lazy' [13:30:38.328] - Field: 'state' [13:30:38.328] - Field: '.cluster' [13:30:38.328] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:38.329] - Launch lazy future ... [13:30:38.329] Packages needed by the future expression (n = 0): [13:30:38.329] Packages needed by future strategies (n = 0): [13:30:38.329] { [13:30:38.329] { [13:30:38.329] { [13:30:38.329] ...future.startTime <- base::Sys.time() [13:30:38.329] { [13:30:38.329] { [13:30:38.329] { [13:30:38.329] base::local({ [13:30:38.329] has_future <- base::requireNamespace("future", [13:30:38.329] quietly = TRUE) [13:30:38.329] if (has_future) { [13:30:38.329] ns <- base::getNamespace("future") [13:30:38.329] version <- ns[[".package"]][["version"]] [13:30:38.329] if (is.null(version)) [13:30:38.329] version <- utils::packageVersion("future") [13:30:38.329] } [13:30:38.329] else { [13:30:38.329] version <- NULL [13:30:38.329] } [13:30:38.329] if (!has_future || version < "1.8.0") { [13:30:38.329] info <- base::c(r_version = base::gsub("R version ", [13:30:38.329] "", base::R.version$version.string), [13:30:38.329] platform = base::sprintf("%s (%s-bit)", [13:30:38.329] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:38.329] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:38.329] "release", "version")], collapse = " "), [13:30:38.329] hostname = base::Sys.info()[["nodename"]]) [13:30:38.329] info <- base::sprintf("%s: %s", base::names(info), [13:30:38.329] info) [13:30:38.329] info <- base::paste(info, collapse = "; ") [13:30:38.329] if (!has_future) { [13:30:38.329] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:38.329] info) [13:30:38.329] } [13:30:38.329] else { [13:30:38.329] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:38.329] info, version) [13:30:38.329] } [13:30:38.329] base::stop(msg) [13:30:38.329] } [13:30:38.329] }) [13:30:38.329] } [13:30:38.329] ...future.strategy.old <- future::plan("list") [13:30:38.329] options(future.plan = NULL) [13:30:38.329] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.329] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:38.329] } [13:30:38.329] ...future.workdir <- getwd() [13:30:38.329] } [13:30:38.329] ...future.oldOptions <- base::as.list(base::.Options) [13:30:38.329] ...future.oldEnvVars <- base::Sys.getenv() [13:30:38.329] } [13:30:38.329] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:38.329] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:38.329] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:38.329] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:38.329] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:38.329] future.stdout.windows.reencode = NULL, width = 80L) [13:30:38.329] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:38.329] base::names(...future.oldOptions)) [13:30:38.329] } [13:30:38.329] if (FALSE) { [13:30:38.329] } [13:30:38.329] else { [13:30:38.329] if (TRUE) { [13:30:38.329] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:38.329] open = "w") [13:30:38.329] } [13:30:38.329] else { [13:30:38.329] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:38.329] windows = "NUL", "/dev/null"), open = "w") [13:30:38.329] } [13:30:38.329] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:38.329] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:38.329] base::sink(type = "output", split = FALSE) [13:30:38.329] base::close(...future.stdout) [13:30:38.329] }, add = TRUE) [13:30:38.329] } [13:30:38.329] ...future.frame <- base::sys.nframe() [13:30:38.329] ...future.conditions <- base::list() [13:30:38.329] ...future.rng <- base::globalenv()$.Random.seed [13:30:38.329] if (FALSE) { [13:30:38.329] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:38.329] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:38.329] } [13:30:38.329] ...future.result <- base::tryCatch({ [13:30:38.329] base::withCallingHandlers({ [13:30:38.329] ...future.value <- base::withVisible(base::local({ [13:30:38.329] sum(x, y) [13:30:38.329] })) [13:30:38.329] future::FutureResult(value = ...future.value$value, [13:30:38.329] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.329] ...future.rng), globalenv = if (FALSE) [13:30:38.329] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:38.329] ...future.globalenv.names)) [13:30:38.329] else NULL, started = ...future.startTime, version = "1.8") [13:30:38.329] }, condition = base::local({ [13:30:38.329] c <- base::c [13:30:38.329] inherits <- base::inherits [13:30:38.329] invokeRestart <- base::invokeRestart [13:30:38.329] length <- base::length [13:30:38.329] list <- base::list [13:30:38.329] seq.int <- base::seq.int [13:30:38.329] signalCondition <- base::signalCondition [13:30:38.329] sys.calls <- base::sys.calls [13:30:38.329] `[[` <- base::`[[` [13:30:38.329] `+` <- base::`+` [13:30:38.329] `<<-` <- base::`<<-` [13:30:38.329] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:38.329] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:38.329] 3L)] [13:30:38.329] } [13:30:38.329] function(cond) { [13:30:38.329] is_error <- inherits(cond, "error") [13:30:38.329] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:38.329] NULL) [13:30:38.329] if (is_error) { [13:30:38.329] sessionInformation <- function() { [13:30:38.329] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:38.329] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:38.329] search = base::search(), system = base::Sys.info()) [13:30:38.329] } [13:30:38.329] ...future.conditions[[length(...future.conditions) + [13:30:38.329] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:38.329] cond$call), session = sessionInformation(), [13:30:38.329] timestamp = base::Sys.time(), signaled = 0L) [13:30:38.329] signalCondition(cond) [13:30:38.329] } [13:30:38.329] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:38.329] signal <- FALSE && inherits(cond, character(0)) [13:30:38.329] ...future.conditions[[length(...future.conditions) + [13:30:38.329] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:38.329] if (FALSE && !signal) { [13:30:38.329] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.329] { [13:30:38.329] inherits <- base::inherits [13:30:38.329] invokeRestart <- base::invokeRestart [13:30:38.329] is.null <- base::is.null [13:30:38.329] muffled <- FALSE [13:30:38.329] if (inherits(cond, "message")) { [13:30:38.329] muffled <- grepl(pattern, "muffleMessage") [13:30:38.329] if (muffled) [13:30:38.329] invokeRestart("muffleMessage") [13:30:38.329] } [13:30:38.329] else if (inherits(cond, "warning")) { [13:30:38.329] muffled <- grepl(pattern, "muffleWarning") [13:30:38.329] if (muffled) [13:30:38.329] invokeRestart("muffleWarning") [13:30:38.329] } [13:30:38.329] else if (inherits(cond, "condition")) { [13:30:38.329] if (!is.null(pattern)) { [13:30:38.329] computeRestarts <- base::computeRestarts [13:30:38.329] grepl <- base::grepl [13:30:38.329] restarts <- computeRestarts(cond) [13:30:38.329] for (restart in restarts) { [13:30:38.329] name <- restart$name [13:30:38.329] if (is.null(name)) [13:30:38.329] next [13:30:38.329] if (!grepl(pattern, name)) [13:30:38.329] next [13:30:38.329] invokeRestart(restart) [13:30:38.329] muffled <- TRUE [13:30:38.329] break [13:30:38.329] } [13:30:38.329] } [13:30:38.329] } [13:30:38.329] invisible(muffled) [13:30:38.329] } [13:30:38.329] muffleCondition(cond, pattern = "^muffle") [13:30:38.329] } [13:30:38.329] } [13:30:38.329] else { [13:30:38.329] if (TRUE) { [13:30:38.329] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.329] { [13:30:38.329] inherits <- base::inherits [13:30:38.329] invokeRestart <- base::invokeRestart [13:30:38.329] is.null <- base::is.null [13:30:38.329] muffled <- FALSE [13:30:38.329] if (inherits(cond, "message")) { [13:30:38.329] muffled <- grepl(pattern, "muffleMessage") [13:30:38.329] if (muffled) [13:30:38.329] invokeRestart("muffleMessage") [13:30:38.329] } [13:30:38.329] else if (inherits(cond, "warning")) { [13:30:38.329] muffled <- grepl(pattern, "muffleWarning") [13:30:38.329] if (muffled) [13:30:38.329] invokeRestart("muffleWarning") [13:30:38.329] } [13:30:38.329] else if (inherits(cond, "condition")) { [13:30:38.329] if (!is.null(pattern)) { [13:30:38.329] computeRestarts <- base::computeRestarts [13:30:38.329] grepl <- base::grepl [13:30:38.329] restarts <- computeRestarts(cond) [13:30:38.329] for (restart in restarts) { [13:30:38.329] name <- restart$name [13:30:38.329] if (is.null(name)) [13:30:38.329] next [13:30:38.329] if (!grepl(pattern, name)) [13:30:38.329] next [13:30:38.329] invokeRestart(restart) [13:30:38.329] muffled <- TRUE [13:30:38.329] break [13:30:38.329] } [13:30:38.329] } [13:30:38.329] } [13:30:38.329] invisible(muffled) [13:30:38.329] } [13:30:38.329] muffleCondition(cond, pattern = "^muffle") [13:30:38.329] } [13:30:38.329] } [13:30:38.329] } [13:30:38.329] })) [13:30:38.329] }, error = function(ex) { [13:30:38.329] base::structure(base::list(value = NULL, visible = NULL, [13:30:38.329] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.329] ...future.rng), started = ...future.startTime, [13:30:38.329] finished = Sys.time(), session_uuid = NA_character_, [13:30:38.329] version = "1.8"), class = "FutureResult") [13:30:38.329] }, finally = { [13:30:38.329] if (!identical(...future.workdir, getwd())) [13:30:38.329] setwd(...future.workdir) [13:30:38.329] { [13:30:38.329] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:38.329] ...future.oldOptions$nwarnings <- NULL [13:30:38.329] } [13:30:38.329] base::options(...future.oldOptions) [13:30:38.329] if (.Platform$OS.type == "windows") { [13:30:38.329] old_names <- names(...future.oldEnvVars) [13:30:38.329] envs <- base::Sys.getenv() [13:30:38.329] names <- names(envs) [13:30:38.329] common <- intersect(names, old_names) [13:30:38.329] added <- setdiff(names, old_names) [13:30:38.329] removed <- setdiff(old_names, names) [13:30:38.329] changed <- common[...future.oldEnvVars[common] != [13:30:38.329] envs[common]] [13:30:38.329] NAMES <- toupper(changed) [13:30:38.329] args <- list() [13:30:38.329] for (kk in seq_along(NAMES)) { [13:30:38.329] name <- changed[[kk]] [13:30:38.329] NAME <- NAMES[[kk]] [13:30:38.329] if (name != NAME && is.element(NAME, old_names)) [13:30:38.329] next [13:30:38.329] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.329] } [13:30:38.329] NAMES <- toupper(added) [13:30:38.329] for (kk in seq_along(NAMES)) { [13:30:38.329] name <- added[[kk]] [13:30:38.329] NAME <- NAMES[[kk]] [13:30:38.329] if (name != NAME && is.element(NAME, old_names)) [13:30:38.329] next [13:30:38.329] args[[name]] <- "" [13:30:38.329] } [13:30:38.329] NAMES <- toupper(removed) [13:30:38.329] for (kk in seq_along(NAMES)) { [13:30:38.329] name <- removed[[kk]] [13:30:38.329] NAME <- NAMES[[kk]] [13:30:38.329] if (name != NAME && is.element(NAME, old_names)) [13:30:38.329] next [13:30:38.329] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.329] } [13:30:38.329] if (length(args) > 0) [13:30:38.329] base::do.call(base::Sys.setenv, args = args) [13:30:38.329] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:38.329] } [13:30:38.329] else { [13:30:38.329] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:38.329] } [13:30:38.329] { [13:30:38.329] if (base::length(...future.futureOptionsAdded) > [13:30:38.329] 0L) { [13:30:38.329] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:38.329] base::names(opts) <- ...future.futureOptionsAdded [13:30:38.329] base::options(opts) [13:30:38.329] } [13:30:38.329] { [13:30:38.329] NULL [13:30:38.329] options(future.plan = NULL) [13:30:38.329] if (is.na(NA_character_)) [13:30:38.329] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.329] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:38.329] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:38.329] .init = FALSE) [13:30:38.329] } [13:30:38.329] } [13:30:38.329] } [13:30:38.329] }) [13:30:38.329] if (TRUE) { [13:30:38.329] base::sink(type = "output", split = FALSE) [13:30:38.329] if (TRUE) { [13:30:38.329] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:38.329] } [13:30:38.329] else { [13:30:38.329] ...future.result["stdout"] <- base::list(NULL) [13:30:38.329] } [13:30:38.329] base::close(...future.stdout) [13:30:38.329] ...future.stdout <- NULL [13:30:38.329] } [13:30:38.329] ...future.result$conditions <- ...future.conditions [13:30:38.329] ...future.result$finished <- base::Sys.time() [13:30:38.329] ...future.result [13:30:38.329] } [13:30:38.333] - Launch lazy future ... done [13:30:38.334] run() for 'MiraiFuture' ... done [1] 6 [13:30:38.336] ** Sum function 'D' with plan('mirai_multisession') ...function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y, ...) } y } Arguments '...' exists: FALSE [13:30:38.339] getGlobalsAndPackages() ... [13:30:38.339] Searching for globals... [13:30:38.341] - globals found: [5] '{', 'sum', 'x', 'y', '...' [13:30:38.341] Searching for globals ... DONE [13:30:38.341] Resolving globals: FALSE [13:30:38.341] Tweak future expression to call with '...' arguments ... [13:30:38.342] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:38.342] 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') [13:30:38.343] - globals: [2] 'x', 'y' [13:30:38.343] [13:30:38.343] getGlobalsAndPackages() ... DONE [13:30:38.343] run() for 'Future' ... [13:30:38.344] - state: 'created' [13:30:38.344] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:38.346] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:38.347] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:38.347] - Field: 'label' [13:30:38.347] - Field: 'local' [13:30:38.347] - Field: 'owner' [13:30:38.348] - Field: 'envir' [13:30:38.348] - Field: 'packages' [13:30:38.348] - Field: 'gc' [13:30:38.348] - Field: 'conditions' [13:30:38.348] - Field: 'expr' [13:30:38.349] - Field: 'uuid' [13:30:38.349] - Field: 'seed' [13:30:38.349] - Field: 'version' [13:30:38.349] - Field: 'result' [13:30:38.349] - Field: 'asynchronous' [13:30:38.350] - Field: 'calls' [13:30:38.350] - Field: 'globals' [13:30:38.350] - Field: 'stdout' [13:30:38.350] - Field: 'earlySignal' [13:30:38.350] - Field: 'lazy' [13:30:38.351] - Field: 'state' [13:30:38.351] - Field: '.cluster' [13:30:38.351] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:38.351] - Launch lazy future ... [13:30:38.351] Packages needed by the future expression (n = 0): [13:30:38.352] Packages needed by future strategies (n = 0): [13:30:38.352] { [13:30:38.352] { [13:30:38.352] { [13:30:38.352] ...future.startTime <- base::Sys.time() [13:30:38.352] { [13:30:38.352] { [13:30:38.352] { [13:30:38.352] base::local({ [13:30:38.352] has_future <- base::requireNamespace("future", [13:30:38.352] quietly = TRUE) [13:30:38.352] if (has_future) { [13:30:38.352] ns <- base::getNamespace("future") [13:30:38.352] version <- ns[[".package"]][["version"]] [13:30:38.352] if (is.null(version)) [13:30:38.352] version <- utils::packageVersion("future") [13:30:38.352] } [13:30:38.352] else { [13:30:38.352] version <- NULL [13:30:38.352] } [13:30:38.352] if (!has_future || version < "1.8.0") { [13:30:38.352] info <- base::c(r_version = base::gsub("R version ", [13:30:38.352] "", base::R.version$version.string), [13:30:38.352] platform = base::sprintf("%s (%s-bit)", [13:30:38.352] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:38.352] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:38.352] "release", "version")], collapse = " "), [13:30:38.352] hostname = base::Sys.info()[["nodename"]]) [13:30:38.352] info <- base::sprintf("%s: %s", base::names(info), [13:30:38.352] info) [13:30:38.352] info <- base::paste(info, collapse = "; ") [13:30:38.352] if (!has_future) { [13:30:38.352] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:38.352] info) [13:30:38.352] } [13:30:38.352] else { [13:30:38.352] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:38.352] info, version) [13:30:38.352] } [13:30:38.352] base::stop(msg) [13:30:38.352] } [13:30:38.352] }) [13:30:38.352] } [13:30:38.352] ...future.strategy.old <- future::plan("list") [13:30:38.352] options(future.plan = NULL) [13:30:38.352] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.352] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:38.352] } [13:30:38.352] ...future.workdir <- getwd() [13:30:38.352] } [13:30:38.352] ...future.oldOptions <- base::as.list(base::.Options) [13:30:38.352] ...future.oldEnvVars <- base::Sys.getenv() [13:30:38.352] } [13:30:38.352] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:38.352] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:38.352] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:38.352] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:38.352] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:38.352] future.stdout.windows.reencode = NULL, width = 80L) [13:30:38.352] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:38.352] base::names(...future.oldOptions)) [13:30:38.352] } [13:30:38.352] if (FALSE) { [13:30:38.352] } [13:30:38.352] else { [13:30:38.352] if (TRUE) { [13:30:38.352] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:38.352] open = "w") [13:30:38.352] } [13:30:38.352] else { [13:30:38.352] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:38.352] windows = "NUL", "/dev/null"), open = "w") [13:30:38.352] } [13:30:38.352] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:38.352] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:38.352] base::sink(type = "output", split = FALSE) [13:30:38.352] base::close(...future.stdout) [13:30:38.352] }, add = TRUE) [13:30:38.352] } [13:30:38.352] ...future.frame <- base::sys.nframe() [13:30:38.352] ...future.conditions <- base::list() [13:30:38.352] ...future.rng <- base::globalenv()$.Random.seed [13:30:38.352] if (FALSE) { [13:30:38.352] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:38.352] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:38.352] } [13:30:38.352] ...future.result <- base::tryCatch({ [13:30:38.352] base::withCallingHandlers({ [13:30:38.352] ...future.value <- base::withVisible(base::local({ [13:30:38.352] sum(x, y, ...) [13:30:38.352] })) [13:30:38.352] future::FutureResult(value = ...future.value$value, [13:30:38.352] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.352] ...future.rng), globalenv = if (FALSE) [13:30:38.352] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:38.352] ...future.globalenv.names)) [13:30:38.352] else NULL, started = ...future.startTime, version = "1.8") [13:30:38.352] }, condition = base::local({ [13:30:38.352] c <- base::c [13:30:38.352] inherits <- base::inherits [13:30:38.352] invokeRestart <- base::invokeRestart [13:30:38.352] length <- base::length [13:30:38.352] list <- base::list [13:30:38.352] seq.int <- base::seq.int [13:30:38.352] signalCondition <- base::signalCondition [13:30:38.352] sys.calls <- base::sys.calls [13:30:38.352] `[[` <- base::`[[` [13:30:38.352] `+` <- base::`+` [13:30:38.352] `<<-` <- base::`<<-` [13:30:38.352] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:38.352] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:38.352] 3L)] [13:30:38.352] } [13:30:38.352] function(cond) { [13:30:38.352] is_error <- inherits(cond, "error") [13:30:38.352] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:38.352] NULL) [13:30:38.352] if (is_error) { [13:30:38.352] sessionInformation <- function() { [13:30:38.352] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:38.352] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:38.352] search = base::search(), system = base::Sys.info()) [13:30:38.352] } [13:30:38.352] ...future.conditions[[length(...future.conditions) + [13:30:38.352] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:38.352] cond$call), session = sessionInformation(), [13:30:38.352] timestamp = base::Sys.time(), signaled = 0L) [13:30:38.352] signalCondition(cond) [13:30:38.352] } [13:30:38.352] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:38.352] signal <- FALSE && inherits(cond, character(0)) [13:30:38.352] ...future.conditions[[length(...future.conditions) + [13:30:38.352] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:38.352] if (FALSE && !signal) { [13:30:38.352] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.352] { [13:30:38.352] inherits <- base::inherits [13:30:38.352] invokeRestart <- base::invokeRestart [13:30:38.352] is.null <- base::is.null [13:30:38.352] muffled <- FALSE [13:30:38.352] if (inherits(cond, "message")) { [13:30:38.352] muffled <- grepl(pattern, "muffleMessage") [13:30:38.352] if (muffled) [13:30:38.352] invokeRestart("muffleMessage") [13:30:38.352] } [13:30:38.352] else if (inherits(cond, "warning")) { [13:30:38.352] muffled <- grepl(pattern, "muffleWarning") [13:30:38.352] if (muffled) [13:30:38.352] invokeRestart("muffleWarning") [13:30:38.352] } [13:30:38.352] else if (inherits(cond, "condition")) { [13:30:38.352] if (!is.null(pattern)) { [13:30:38.352] computeRestarts <- base::computeRestarts [13:30:38.352] grepl <- base::grepl [13:30:38.352] restarts <- computeRestarts(cond) [13:30:38.352] for (restart in restarts) { [13:30:38.352] name <- restart$name [13:30:38.352] if (is.null(name)) [13:30:38.352] next [13:30:38.352] if (!grepl(pattern, name)) [13:30:38.352] next [13:30:38.352] invokeRestart(restart) [13:30:38.352] muffled <- TRUE [13:30:38.352] break [13:30:38.352] } [13:30:38.352] } [13:30:38.352] } [13:30:38.352] invisible(muffled) [13:30:38.352] } [13:30:38.352] muffleCondition(cond, pattern = "^muffle") [13:30:38.352] } [13:30:38.352] } [13:30:38.352] else { [13:30:38.352] if (TRUE) { [13:30:38.352] muffleCondition <- function (cond, pattern = "^muffle") [13:30:38.352] { [13:30:38.352] inherits <- base::inherits [13:30:38.352] invokeRestart <- base::invokeRestart [13:30:38.352] is.null <- base::is.null [13:30:38.352] muffled <- FALSE [13:30:38.352] if (inherits(cond, "message")) { [13:30:38.352] muffled <- grepl(pattern, "muffleMessage") [13:30:38.352] if (muffled) [13:30:38.352] invokeRestart("muffleMessage") [13:30:38.352] } [13:30:38.352] else if (inherits(cond, "warning")) { [13:30:38.352] muffled <- grepl(pattern, "muffleWarning") [13:30:38.352] if (muffled) [13:30:38.352] invokeRestart("muffleWarning") [13:30:38.352] } [13:30:38.352] else if (inherits(cond, "condition")) { [13:30:38.352] if (!is.null(pattern)) { [13:30:38.352] computeRestarts <- base::computeRestarts [13:30:38.352] grepl <- base::grepl [13:30:38.352] restarts <- computeRestarts(cond) [13:30:38.352] for (restart in restarts) { [13:30:38.352] name <- restart$name [13:30:38.352] if (is.null(name)) [13:30:38.352] next [13:30:38.352] if (!grepl(pattern, name)) [13:30:38.352] next [13:30:38.352] invokeRestart(restart) [13:30:38.352] muffled <- TRUE [13:30:38.352] break [13:30:38.352] } [13:30:38.352] } [13:30:38.352] } [13:30:38.352] invisible(muffled) [13:30:38.352] } [13:30:38.352] muffleCondition(cond, pattern = "^muffle") [13:30:38.352] } [13:30:38.352] } [13:30:38.352] } [13:30:38.352] })) [13:30:38.352] }, error = function(ex) { [13:30:38.352] base::structure(base::list(value = NULL, visible = NULL, [13:30:38.352] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:38.352] ...future.rng), started = ...future.startTime, [13:30:38.352] finished = Sys.time(), session_uuid = NA_character_, [13:30:38.352] version = "1.8"), class = "FutureResult") [13:30:38.352] }, finally = { [13:30:38.352] if (!identical(...future.workdir, getwd())) [13:30:38.352] setwd(...future.workdir) [13:30:38.352] { [13:30:38.352] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:38.352] ...future.oldOptions$nwarnings <- NULL [13:30:38.352] } [13:30:38.352] base::options(...future.oldOptions) [13:30:38.352] if (.Platform$OS.type == "windows") { [13:30:38.352] old_names <- names(...future.oldEnvVars) [13:30:38.352] envs <- base::Sys.getenv() [13:30:38.352] names <- names(envs) [13:30:38.352] common <- intersect(names, old_names) [13:30:38.352] added <- setdiff(names, old_names) [13:30:38.352] removed <- setdiff(old_names, names) [13:30:38.352] changed <- common[...future.oldEnvVars[common] != [13:30:38.352] envs[common]] [13:30:38.352] NAMES <- toupper(changed) [13:30:38.352] args <- list() [13:30:38.352] for (kk in seq_along(NAMES)) { [13:30:38.352] name <- changed[[kk]] [13:30:38.352] NAME <- NAMES[[kk]] [13:30:38.352] if (name != NAME && is.element(NAME, old_names)) [13:30:38.352] next [13:30:38.352] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.352] } [13:30:38.352] NAMES <- toupper(added) [13:30:38.352] for (kk in seq_along(NAMES)) { [13:30:38.352] name <- added[[kk]] [13:30:38.352] NAME <- NAMES[[kk]] [13:30:38.352] if (name != NAME && is.element(NAME, old_names)) [13:30:38.352] next [13:30:38.352] args[[name]] <- "" [13:30:38.352] } [13:30:38.352] NAMES <- toupper(removed) [13:30:38.352] for (kk in seq_along(NAMES)) { [13:30:38.352] name <- removed[[kk]] [13:30:38.352] NAME <- NAMES[[kk]] [13:30:38.352] if (name != NAME && is.element(NAME, old_names)) [13:30:38.352] next [13:30:38.352] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:38.352] } [13:30:38.352] if (length(args) > 0) [13:30:38.352] base::do.call(base::Sys.setenv, args = args) [13:30:38.352] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:38.352] } [13:30:38.352] else { [13:30:38.352] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:38.352] } [13:30:38.352] { [13:30:38.352] if (base::length(...future.futureOptionsAdded) > [13:30:38.352] 0L) { [13:30:38.352] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:38.352] base::names(opts) <- ...future.futureOptionsAdded [13:30:38.352] base::options(opts) [13:30:38.352] } [13:30:38.352] { [13:30:38.352] NULL [13:30:38.352] options(future.plan = NULL) [13:30:38.352] if (is.na(NA_character_)) [13:30:38.352] Sys.unsetenv("R_FUTURE_PLAN") [13:30:38.352] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:38.352] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:38.352] .init = FALSE) [13:30:38.352] } [13:30:38.352] } [13:30:38.352] } [13:30:38.352] }) [13:30:38.352] if (TRUE) { [13:30:38.352] base::sink(type = "output", split = FALSE) [13:30:38.352] if (TRUE) { [13:30:38.352] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:38.352] } [13:30:38.352] else { [13:30:38.352] ...future.result["stdout"] <- base::list(NULL) [13:30:38.352] } [13:30:38.352] base::close(...future.stdout) [13:30:38.352] ...future.stdout <- NULL [13:30:38.352] } [13:30:38.352] ...future.result$conditions <- ...future.conditions [13:30:38.352] ...future.result$finished <- base::Sys.time() [13:30:38.352] ...future.result [13:30:38.352] } [13:30:38.356] - Launch lazy future ... done [13:30:38.357] run() for 'MiraiFuture' ... done [13:30:38.359] signalConditions() ... [13:30:38.360] - include = 'immediateCondition' [13:30:38.360] - exclude = [13:30:38.360] - resignal = FALSE [13:30:38.360] - Number of conditions: 1 [13:30:38.360] signalConditions() ... done [13:30:38.361] Future state: 'finished' [13:30:38.361] signalConditions() ... [13:30:38.361] - include = 'condition' [13:30:38.361] - exclude = 'immediateCondition' [13:30:38.361] - resignal = TRUE [13:30:38.362] - Number of conditions: 1 [13:30:38.362] - Condition #1: 'simpleError', 'error', 'condition' [13:30:38.362] signalConditions() ... done > > message("*** Global argument '...' in futures ... DONE") *** Global argument '...' in futures ... DONE > > source("incl/end.R") > > proc.time() user system elapsed 0.48 0.07 1.00