R version 4.4.0 beta (2024-04-15 r86425 ucrt) -- "Puppy Cup" 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:10:32.718] plan(): Setting new future strategy stack: [13:10:32.720] List of future strategies: [13:10:32.720] 1. mirai_multisession: [13:10:32.720] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:10:32.720] - tweaked: FALSE [13:10:32.720] - call: future::plan(future.mirai::mirai_multisession) [13:10:32.732] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:10:32.732] < mirai | $data > [13:10:32.737] getGlobalsAndPackages() ... [13:10:32.737] Not searching for globals [13:10:32.738] - globals: [0] [13:10:32.738] getGlobalsAndPackages() ... DONE [13:10:32.738] getGlobalsAndPackages() ... [13:10:32.738] [13:10:32.739] - globals: [0] [13:10:32.739] getGlobalsAndPackages() ... DONE [13:10:33.019] Packages needed by the future expression (n = 0): [13:10:33.019] Packages needed by future strategies (n = 0): [13:10:33.021] { [13:10:33.021] { [13:10:33.021] { [13:10:33.021] ...future.startTime <- base::Sys.time() [13:10:33.021] { [13:10:33.021] { [13:10:33.021] { [13:10:33.021] base::local({ [13:10:33.021] has_future <- base::requireNamespace("future", [13:10:33.021] quietly = TRUE) [13:10:33.021] if (has_future) { [13:10:33.021] ns <- base::getNamespace("future") [13:10:33.021] version <- ns[[".package"]][["version"]] [13:10:33.021] if (is.null(version)) [13:10:33.021] version <- utils::packageVersion("future") [13:10:33.021] } [13:10:33.021] else { [13:10:33.021] version <- NULL [13:10:33.021] } [13:10:33.021] if (!has_future || version < "1.8.0") { [13:10:33.021] info <- base::c(r_version = base::gsub("R version ", [13:10:33.021] "", base::R.version$version.string), [13:10:33.021] platform = base::sprintf("%s (%s-bit)", [13:10:33.021] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:10:33.021] os = base::paste(base::Sys.info()[base::c("sysname", [13:10:33.021] "release", "version")], collapse = " "), [13:10:33.021] hostname = base::Sys.info()[["nodename"]]) [13:10:33.021] info <- base::sprintf("%s: %s", base::names(info), [13:10:33.021] info) [13:10:33.021] info <- base::paste(info, collapse = "; ") [13:10:33.021] if (!has_future) { [13:10:33.021] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:10:33.021] info) [13:10:33.021] } [13:10:33.021] else { [13:10:33.021] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:10:33.021] info, version) [13:10:33.021] } [13:10:33.021] base::stop(msg) [13:10:33.021] } [13:10:33.021] }) [13:10:33.021] } [13:10:33.021] ...future.strategy.old <- future::plan("list") [13:10:33.021] options(future.plan = NULL) [13:10:33.021] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.021] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:10:33.021] } [13:10:33.021] ...future.workdir <- getwd() [13:10:33.021] } [13:10:33.021] ...future.oldOptions <- base::as.list(base::.Options) [13:10:33.021] ...future.oldEnvVars <- base::Sys.getenv() [13:10:33.021] } [13:10:33.021] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:10:33.021] future.globals.maxSize = NULL, future.globals.method = NULL, [13:10:33.021] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:10:33.021] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:10:33.021] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:10:33.021] future.stdout.windows.reencode = NULL, width = 80L) [13:10:33.021] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:10:33.021] base::names(...future.oldOptions)) [13:10:33.021] } [13:10:33.021] if (FALSE) { [13:10:33.021] } [13:10:33.021] else { [13:10:33.021] if (TRUE) { [13:10:33.021] ...future.stdout <- base::rawConnection(base::raw(0L), [13:10:33.021] open = "w") [13:10:33.021] } [13:10:33.021] else { [13:10:33.021] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:10:33.021] windows = "NUL", "/dev/null"), open = "w") [13:10:33.021] } [13:10:33.021] base::sink(...future.stdout, type = "output", split = FALSE) [13:10:33.021] base::on.exit(if (!base::is.null(...future.stdout)) { [13:10:33.021] base::sink(type = "output", split = FALSE) [13:10:33.021] base::close(...future.stdout) [13:10:33.021] }, add = TRUE) [13:10:33.021] } [13:10:33.021] ...future.frame <- base::sys.nframe() [13:10:33.021] ...future.conditions <- base::list() [13:10:33.021] ...future.rng <- base::globalenv()$.Random.seed [13:10:33.021] if (FALSE) { [13:10:33.021] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:10:33.021] "...future.value", "...future.globalenv.names", ".Random.seed") [13:10:33.021] } [13:10:33.021] ...future.result <- base::tryCatch({ [13:10:33.021] base::withCallingHandlers({ [13:10:33.021] ...future.value <- base::withVisible(base::local(NA)) [13:10:33.021] future::FutureResult(value = ...future.value$value, [13:10:33.021] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.021] ...future.rng), globalenv = if (FALSE) [13:10:33.021] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:10:33.021] ...future.globalenv.names)) [13:10:33.021] else NULL, started = ...future.startTime, version = "1.8") [13:10:33.021] }, condition = base::local({ [13:10:33.021] c <- base::c [13:10:33.021] inherits <- base::inherits [13:10:33.021] invokeRestart <- base::invokeRestart [13:10:33.021] length <- base::length [13:10:33.021] list <- base::list [13:10:33.021] seq.int <- base::seq.int [13:10:33.021] signalCondition <- base::signalCondition [13:10:33.021] sys.calls <- base::sys.calls [13:10:33.021] `[[` <- base::`[[` [13:10:33.021] `+` <- base::`+` [13:10:33.021] `<<-` <- base::`<<-` [13:10:33.021] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:10:33.021] calls[seq.int(from = from + 12L, to = length(calls) - [13:10:33.021] 3L)] [13:10:33.021] } [13:10:33.021] function(cond) { [13:10:33.021] is_error <- inherits(cond, "error") [13:10:33.021] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:10:33.021] NULL) [13:10:33.021] if (is_error) { [13:10:33.021] sessionInformation <- function() { [13:10:33.021] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:10:33.021] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:10:33.021] search = base::search(), system = base::Sys.info()) [13:10:33.021] } [13:10:33.021] ...future.conditions[[length(...future.conditions) + [13:10:33.021] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:10:33.021] cond$call), session = sessionInformation(), [13:10:33.021] timestamp = base::Sys.time(), signaled = 0L) [13:10:33.021] signalCondition(cond) [13:10:33.021] } [13:10:33.021] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:10:33.021] signal <- FALSE && inherits(cond, character(0)) [13:10:33.021] ...future.conditions[[length(...future.conditions) + [13:10:33.021] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:10:33.021] if (FALSE && !signal) { [13:10:33.021] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.021] { [13:10:33.021] inherits <- base::inherits [13:10:33.021] invokeRestart <- base::invokeRestart [13:10:33.021] is.null <- base::is.null [13:10:33.021] muffled <- FALSE [13:10:33.021] if (inherits(cond, "message")) { [13:10:33.021] muffled <- grepl(pattern, "muffleMessage") [13:10:33.021] if (muffled) [13:10:33.021] invokeRestart("muffleMessage") [13:10:33.021] } [13:10:33.021] else if (inherits(cond, "warning")) { [13:10:33.021] muffled <- grepl(pattern, "muffleWarning") [13:10:33.021] if (muffled) [13:10:33.021] invokeRestart("muffleWarning") [13:10:33.021] } [13:10:33.021] else if (inherits(cond, "condition")) { [13:10:33.021] if (!is.null(pattern)) { [13:10:33.021] computeRestarts <- base::computeRestarts [13:10:33.021] grepl <- base::grepl [13:10:33.021] restarts <- computeRestarts(cond) [13:10:33.021] for (restart in restarts) { [13:10:33.021] name <- restart$name [13:10:33.021] if (is.null(name)) [13:10:33.021] next [13:10:33.021] if (!grepl(pattern, name)) [13:10:33.021] next [13:10:33.021] invokeRestart(restart) [13:10:33.021] muffled <- TRUE [13:10:33.021] break [13:10:33.021] } [13:10:33.021] } [13:10:33.021] } [13:10:33.021] invisible(muffled) [13:10:33.021] } [13:10:33.021] muffleCondition(cond, pattern = "^muffle") [13:10:33.021] } [13:10:33.021] } [13:10:33.021] else { [13:10:33.021] if (TRUE) { [13:10:33.021] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.021] { [13:10:33.021] inherits <- base::inherits [13:10:33.021] invokeRestart <- base::invokeRestart [13:10:33.021] is.null <- base::is.null [13:10:33.021] muffled <- FALSE [13:10:33.021] if (inherits(cond, "message")) { [13:10:33.021] muffled <- grepl(pattern, "muffleMessage") [13:10:33.021] if (muffled) [13:10:33.021] invokeRestart("muffleMessage") [13:10:33.021] } [13:10:33.021] else if (inherits(cond, "warning")) { [13:10:33.021] muffled <- grepl(pattern, "muffleWarning") [13:10:33.021] if (muffled) [13:10:33.021] invokeRestart("muffleWarning") [13:10:33.021] } [13:10:33.021] else if (inherits(cond, "condition")) { [13:10:33.021] if (!is.null(pattern)) { [13:10:33.021] computeRestarts <- base::computeRestarts [13:10:33.021] grepl <- base::grepl [13:10:33.021] restarts <- computeRestarts(cond) [13:10:33.021] for (restart in restarts) { [13:10:33.021] name <- restart$name [13:10:33.021] if (is.null(name)) [13:10:33.021] next [13:10:33.021] if (!grepl(pattern, name)) [13:10:33.021] next [13:10:33.021] invokeRestart(restart) [13:10:33.021] muffled <- TRUE [13:10:33.021] break [13:10:33.021] } [13:10:33.021] } [13:10:33.021] } [13:10:33.021] invisible(muffled) [13:10:33.021] } [13:10:33.021] muffleCondition(cond, pattern = "^muffle") [13:10:33.021] } [13:10:33.021] } [13:10:33.021] } [13:10:33.021] })) [13:10:33.021] }, error = function(ex) { [13:10:33.021] base::structure(base::list(value = NULL, visible = NULL, [13:10:33.021] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.021] ...future.rng), started = ...future.startTime, [13:10:33.021] finished = Sys.time(), session_uuid = NA_character_, [13:10:33.021] version = "1.8"), class = "FutureResult") [13:10:33.021] }, finally = { [13:10:33.021] if (!identical(...future.workdir, getwd())) [13:10:33.021] setwd(...future.workdir) [13:10:33.021] { [13:10:33.021] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:10:33.021] ...future.oldOptions$nwarnings <- NULL [13:10:33.021] } [13:10:33.021] base::options(...future.oldOptions) [13:10:33.021] if (.Platform$OS.type == "windows") { [13:10:33.021] old_names <- names(...future.oldEnvVars) [13:10:33.021] envs <- base::Sys.getenv() [13:10:33.021] names <- names(envs) [13:10:33.021] common <- intersect(names, old_names) [13:10:33.021] added <- setdiff(names, old_names) [13:10:33.021] removed <- setdiff(old_names, names) [13:10:33.021] changed <- common[...future.oldEnvVars[common] != [13:10:33.021] envs[common]] [13:10:33.021] NAMES <- toupper(changed) [13:10:33.021] args <- list() [13:10:33.021] for (kk in seq_along(NAMES)) { [13:10:33.021] name <- changed[[kk]] [13:10:33.021] NAME <- NAMES[[kk]] [13:10:33.021] if (name != NAME && is.element(NAME, old_names)) [13:10:33.021] next [13:10:33.021] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.021] } [13:10:33.021] NAMES <- toupper(added) [13:10:33.021] for (kk in seq_along(NAMES)) { [13:10:33.021] name <- added[[kk]] [13:10:33.021] NAME <- NAMES[[kk]] [13:10:33.021] if (name != NAME && is.element(NAME, old_names)) [13:10:33.021] next [13:10:33.021] args[[name]] <- "" [13:10:33.021] } [13:10:33.021] NAMES <- toupper(removed) [13:10:33.021] for (kk in seq_along(NAMES)) { [13:10:33.021] name <- removed[[kk]] [13:10:33.021] NAME <- NAMES[[kk]] [13:10:33.021] if (name != NAME && is.element(NAME, old_names)) [13:10:33.021] next [13:10:33.021] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.021] } [13:10:33.021] if (length(args) > 0) [13:10:33.021] base::do.call(base::Sys.setenv, args = args) [13:10:33.021] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:10:33.021] } [13:10:33.021] else { [13:10:33.021] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:10:33.021] } [13:10:33.021] { [13:10:33.021] if (base::length(...future.futureOptionsAdded) > [13:10:33.021] 0L) { [13:10:33.021] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:10:33.021] base::names(opts) <- ...future.futureOptionsAdded [13:10:33.021] base::options(opts) [13:10:33.021] } [13:10:33.021] { [13:10:33.021] NULL [13:10:33.021] options(future.plan = NULL) [13:10:33.021] if (is.na(NA_character_)) [13:10:33.021] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.021] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:10:33.021] future::plan(...future.strategy.old, .cleanup = FALSE, [13:10:33.021] .init = FALSE) [13:10:33.021] } [13:10:33.021] } [13:10:33.021] } [13:10:33.021] }) [13:10:33.021] if (TRUE) { [13:10:33.021] base::sink(type = "output", split = FALSE) [13:10:33.021] if (TRUE) { [13:10:33.021] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:10:33.021] } [13:10:33.021] else { [13:10:33.021] ...future.result["stdout"] <- base::list(NULL) [13:10:33.021] } [13:10:33.021] base::close(...future.stdout) [13:10:33.021] ...future.stdout <- NULL [13:10:33.021] } [13:10:33.021] ...future.result$conditions <- ...future.conditions [13:10:33.021] ...future.result$finished <- base::Sys.time() [13:10:33.021] ...future.result [13:10:33.021] } [13:10:33.126] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:10:33.126] 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:10:33.142] plan(): Setting new future strategy stack: [13:10:33.142] List of future strategies: [13:10:33.142] 1. mirai_cluster: [13:10:33.142] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = "") [13:10:33.142] - tweaked: FALSE [13:10:33.142] - call: plan(strategy, substitute = FALSE) [13:10:33.156] plan(): plan_init() of 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:10:33.156] < mirai | $data > [13:10:33.156] getGlobalsAndPackages() ... [13:10:33.157] Not searching for globals [13:10:33.157] - globals: [0] [13:10:33.157] getGlobalsAndPackages() ... DONE [13:10:33.157] getGlobalsAndPackages() ... [13:10:33.157] [13:10:33.157] - globals: [0] [13:10:33.158] getGlobalsAndPackages() ... DONE [13:10:33.158] Packages needed by the future expression (n = 0): [13:10:33.158] Packages needed by future strategies (n = 0): [13:10:33.159] { [13:10:33.159] { [13:10:33.159] { [13:10:33.159] ...future.startTime <- base::Sys.time() [13:10:33.159] { [13:10:33.159] { [13:10:33.159] { [13:10:33.159] base::local({ [13:10:33.159] has_future <- base::requireNamespace("future", [13:10:33.159] quietly = TRUE) [13:10:33.159] if (has_future) { [13:10:33.159] ns <- base::getNamespace("future") [13:10:33.159] version <- ns[[".package"]][["version"]] [13:10:33.159] if (is.null(version)) [13:10:33.159] version <- utils::packageVersion("future") [13:10:33.159] } [13:10:33.159] else { [13:10:33.159] version <- NULL [13:10:33.159] } [13:10:33.159] if (!has_future || version < "1.8.0") { [13:10:33.159] info <- base::c(r_version = base::gsub("R version ", [13:10:33.159] "", base::R.version$version.string), [13:10:33.159] platform = base::sprintf("%s (%s-bit)", [13:10:33.159] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:10:33.159] os = base::paste(base::Sys.info()[base::c("sysname", [13:10:33.159] "release", "version")], collapse = " "), [13:10:33.159] hostname = base::Sys.info()[["nodename"]]) [13:10:33.159] info <- base::sprintf("%s: %s", base::names(info), [13:10:33.159] info) [13:10:33.159] info <- base::paste(info, collapse = "; ") [13:10:33.159] if (!has_future) { [13:10:33.159] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:10:33.159] info) [13:10:33.159] } [13:10:33.159] else { [13:10:33.159] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:10:33.159] info, version) [13:10:33.159] } [13:10:33.159] base::stop(msg) [13:10:33.159] } [13:10:33.159] }) [13:10:33.159] } [13:10:33.159] ...future.strategy.old <- future::plan("list") [13:10:33.159] options(future.plan = NULL) [13:10:33.159] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.159] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:10:33.159] } [13:10:33.159] ...future.workdir <- getwd() [13:10:33.159] } [13:10:33.159] ...future.oldOptions <- base::as.list(base::.Options) [13:10:33.159] ...future.oldEnvVars <- base::Sys.getenv() [13:10:33.159] } [13:10:33.159] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:10:33.159] future.globals.maxSize = NULL, future.globals.method = NULL, [13:10:33.159] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:10:33.159] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:10:33.159] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:10:33.159] future.stdout.windows.reencode = NULL, width = 80L) [13:10:33.159] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:10:33.159] base::names(...future.oldOptions)) [13:10:33.159] } [13:10:33.159] if (FALSE) { [13:10:33.159] } [13:10:33.159] else { [13:10:33.159] if (TRUE) { [13:10:33.159] ...future.stdout <- base::rawConnection(base::raw(0L), [13:10:33.159] open = "w") [13:10:33.159] } [13:10:33.159] else { [13:10:33.159] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:10:33.159] windows = "NUL", "/dev/null"), open = "w") [13:10:33.159] } [13:10:33.159] base::sink(...future.stdout, type = "output", split = FALSE) [13:10:33.159] base::on.exit(if (!base::is.null(...future.stdout)) { [13:10:33.159] base::sink(type = "output", split = FALSE) [13:10:33.159] base::close(...future.stdout) [13:10:33.159] }, add = TRUE) [13:10:33.159] } [13:10:33.159] ...future.frame <- base::sys.nframe() [13:10:33.159] ...future.conditions <- base::list() [13:10:33.159] ...future.rng <- base::globalenv()$.Random.seed [13:10:33.159] if (FALSE) { [13:10:33.159] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:10:33.159] "...future.value", "...future.globalenv.names", ".Random.seed") [13:10:33.159] } [13:10:33.159] ...future.result <- base::tryCatch({ [13:10:33.159] base::withCallingHandlers({ [13:10:33.159] ...future.value <- base::withVisible(base::local(NA)) [13:10:33.159] future::FutureResult(value = ...future.value$value, [13:10:33.159] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.159] ...future.rng), globalenv = if (FALSE) [13:10:33.159] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:10:33.159] ...future.globalenv.names)) [13:10:33.159] else NULL, started = ...future.startTime, version = "1.8") [13:10:33.159] }, condition = base::local({ [13:10:33.159] c <- base::c [13:10:33.159] inherits <- base::inherits [13:10:33.159] invokeRestart <- base::invokeRestart [13:10:33.159] length <- base::length [13:10:33.159] list <- base::list [13:10:33.159] seq.int <- base::seq.int [13:10:33.159] signalCondition <- base::signalCondition [13:10:33.159] sys.calls <- base::sys.calls [13:10:33.159] `[[` <- base::`[[` [13:10:33.159] `+` <- base::`+` [13:10:33.159] `<<-` <- base::`<<-` [13:10:33.159] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:10:33.159] calls[seq.int(from = from + 12L, to = length(calls) - [13:10:33.159] 3L)] [13:10:33.159] } [13:10:33.159] function(cond) { [13:10:33.159] is_error <- inherits(cond, "error") [13:10:33.159] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:10:33.159] NULL) [13:10:33.159] if (is_error) { [13:10:33.159] sessionInformation <- function() { [13:10:33.159] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:10:33.159] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:10:33.159] search = base::search(), system = base::Sys.info()) [13:10:33.159] } [13:10:33.159] ...future.conditions[[length(...future.conditions) + [13:10:33.159] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:10:33.159] cond$call), session = sessionInformation(), [13:10:33.159] timestamp = base::Sys.time(), signaled = 0L) [13:10:33.159] signalCondition(cond) [13:10:33.159] } [13:10:33.159] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:10:33.159] signal <- FALSE && inherits(cond, character(0)) [13:10:33.159] ...future.conditions[[length(...future.conditions) + [13:10:33.159] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:10:33.159] if (FALSE && !signal) { [13:10:33.159] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.159] { [13:10:33.159] inherits <- base::inherits [13:10:33.159] invokeRestart <- base::invokeRestart [13:10:33.159] is.null <- base::is.null [13:10:33.159] muffled <- FALSE [13:10:33.159] if (inherits(cond, "message")) { [13:10:33.159] muffled <- grepl(pattern, "muffleMessage") [13:10:33.159] if (muffled) [13:10:33.159] invokeRestart("muffleMessage") [13:10:33.159] } [13:10:33.159] else if (inherits(cond, "warning")) { [13:10:33.159] muffled <- grepl(pattern, "muffleWarning") [13:10:33.159] if (muffled) [13:10:33.159] invokeRestart("muffleWarning") [13:10:33.159] } [13:10:33.159] else if (inherits(cond, "condition")) { [13:10:33.159] if (!is.null(pattern)) { [13:10:33.159] computeRestarts <- base::computeRestarts [13:10:33.159] grepl <- base::grepl [13:10:33.159] restarts <- computeRestarts(cond) [13:10:33.159] for (restart in restarts) { [13:10:33.159] name <- restart$name [13:10:33.159] if (is.null(name)) [13:10:33.159] next [13:10:33.159] if (!grepl(pattern, name)) [13:10:33.159] next [13:10:33.159] invokeRestart(restart) [13:10:33.159] muffled <- TRUE [13:10:33.159] break [13:10:33.159] } [13:10:33.159] } [13:10:33.159] } [13:10:33.159] invisible(muffled) [13:10:33.159] } [13:10:33.159] muffleCondition(cond, pattern = "^muffle") [13:10:33.159] } [13:10:33.159] } [13:10:33.159] else { [13:10:33.159] if (TRUE) { [13:10:33.159] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.159] { [13:10:33.159] inherits <- base::inherits [13:10:33.159] invokeRestart <- base::invokeRestart [13:10:33.159] is.null <- base::is.null [13:10:33.159] muffled <- FALSE [13:10:33.159] if (inherits(cond, "message")) { [13:10:33.159] muffled <- grepl(pattern, "muffleMessage") [13:10:33.159] if (muffled) [13:10:33.159] invokeRestart("muffleMessage") [13:10:33.159] } [13:10:33.159] else if (inherits(cond, "warning")) { [13:10:33.159] muffled <- grepl(pattern, "muffleWarning") [13:10:33.159] if (muffled) [13:10:33.159] invokeRestart("muffleWarning") [13:10:33.159] } [13:10:33.159] else if (inherits(cond, "condition")) { [13:10:33.159] if (!is.null(pattern)) { [13:10:33.159] computeRestarts <- base::computeRestarts [13:10:33.159] grepl <- base::grepl [13:10:33.159] restarts <- computeRestarts(cond) [13:10:33.159] for (restart in restarts) { [13:10:33.159] name <- restart$name [13:10:33.159] if (is.null(name)) [13:10:33.159] next [13:10:33.159] if (!grepl(pattern, name)) [13:10:33.159] next [13:10:33.159] invokeRestart(restart) [13:10:33.159] muffled <- TRUE [13:10:33.159] break [13:10:33.159] } [13:10:33.159] } [13:10:33.159] } [13:10:33.159] invisible(muffled) [13:10:33.159] } [13:10:33.159] muffleCondition(cond, pattern = "^muffle") [13:10:33.159] } [13:10:33.159] } [13:10:33.159] } [13:10:33.159] })) [13:10:33.159] }, error = function(ex) { [13:10:33.159] base::structure(base::list(value = NULL, visible = NULL, [13:10:33.159] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.159] ...future.rng), started = ...future.startTime, [13:10:33.159] finished = Sys.time(), session_uuid = NA_character_, [13:10:33.159] version = "1.8"), class = "FutureResult") [13:10:33.159] }, finally = { [13:10:33.159] if (!identical(...future.workdir, getwd())) [13:10:33.159] setwd(...future.workdir) [13:10:33.159] { [13:10:33.159] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:10:33.159] ...future.oldOptions$nwarnings <- NULL [13:10:33.159] } [13:10:33.159] base::options(...future.oldOptions) [13:10:33.159] if (.Platform$OS.type == "windows") { [13:10:33.159] old_names <- names(...future.oldEnvVars) [13:10:33.159] envs <- base::Sys.getenv() [13:10:33.159] names <- names(envs) [13:10:33.159] common <- intersect(names, old_names) [13:10:33.159] added <- setdiff(names, old_names) [13:10:33.159] removed <- setdiff(old_names, names) [13:10:33.159] changed <- common[...future.oldEnvVars[common] != [13:10:33.159] envs[common]] [13:10:33.159] NAMES <- toupper(changed) [13:10:33.159] args <- list() [13:10:33.159] for (kk in seq_along(NAMES)) { [13:10:33.159] name <- changed[[kk]] [13:10:33.159] NAME <- NAMES[[kk]] [13:10:33.159] if (name != NAME && is.element(NAME, old_names)) [13:10:33.159] next [13:10:33.159] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.159] } [13:10:33.159] NAMES <- toupper(added) [13:10:33.159] for (kk in seq_along(NAMES)) { [13:10:33.159] name <- added[[kk]] [13:10:33.159] NAME <- NAMES[[kk]] [13:10:33.159] if (name != NAME && is.element(NAME, old_names)) [13:10:33.159] next [13:10:33.159] args[[name]] <- "" [13:10:33.159] } [13:10:33.159] NAMES <- toupper(removed) [13:10:33.159] for (kk in seq_along(NAMES)) { [13:10:33.159] name <- removed[[kk]] [13:10:33.159] NAME <- NAMES[[kk]] [13:10:33.159] if (name != NAME && is.element(NAME, old_names)) [13:10:33.159] next [13:10:33.159] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.159] } [13:10:33.159] if (length(args) > 0) [13:10:33.159] base::do.call(base::Sys.setenv, args = args) [13:10:33.159] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:10:33.159] } [13:10:33.159] else { [13:10:33.159] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:10:33.159] } [13:10:33.159] { [13:10:33.159] if (base::length(...future.futureOptionsAdded) > [13:10:33.159] 0L) { [13:10:33.159] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:10:33.159] base::names(opts) <- ...future.futureOptionsAdded [13:10:33.159] base::options(opts) [13:10:33.159] } [13:10:33.159] { [13:10:33.159] NULL [13:10:33.159] options(future.plan = NULL) [13:10:33.159] if (is.na(NA_character_)) [13:10:33.159] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.159] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:10:33.159] future::plan(...future.strategy.old, .cleanup = FALSE, [13:10:33.159] .init = FALSE) [13:10:33.159] } [13:10:33.159] } [13:10:33.159] } [13:10:33.159] }) [13:10:33.159] if (TRUE) { [13:10:33.159] base::sink(type = "output", split = FALSE) [13:10:33.159] if (TRUE) { [13:10:33.159] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:10:33.159] } [13:10:33.159] else { [13:10:33.159] ...future.result["stdout"] <- base::list(NULL) [13:10:33.159] } [13:10:33.159] base::close(...future.stdout) [13:10:33.159] ...future.stdout <- NULL [13:10:33.159] } [13:10:33.159] ...future.result$conditions <- ...future.conditions [13:10:33.159] ...future.result$finished <- base::Sys.time() [13:10:33.159] ...future.result [13:10:33.159] } [13:10:33.262] plan(): plan_init() of 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:10:33.263] plan(): nbrOfWorkers() = 2 [13:10:33.263] ** Sum function 'A' with plan('mirai_cluster') ...function (x, ...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } Arguments '...' exists: TRUE [13:10:33.264] getGlobalsAndPackages() ... [13:10:33.265] Searching for globals... [13:10:33.273] - globals found: [4] '{', 'sum', 'x', '...' [13:10:33.273] Searching for globals ... DONE [13:10:33.273] Resolving globals: FALSE [13:10:33.273] Tweak future expression to call with '...' arguments ... [13:10:33.274] { [13:10:33.274] do.call(function(...) { [13:10:33.274] sum(x, ...) [13:10:33.274] }, args = future.call.arguments) [13:10:33.274] } [13:10:33.274] Tweak future expression to call with '...' arguments ... DONE [13:10:33.275] The total size of the 2 globals is 112 bytes (112 bytes) [13:10:33.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:10:33.276] - globals: [2] 'x', 'future.call.arguments' [13:10:33.277] [13:10:33.277] getGlobalsAndPackages() ... DONE [13:10:33.277] run() for 'Future' ... [13:10:33.277] - state: 'created' [13:10:33.278] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:10:33.278] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:10:33.278] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:10:33.279] - Field: 'label' [13:10:33.279] - Field: 'local' [13:10:33.279] - Field: 'owner' [13:10:33.279] - Field: 'envir' [13:10:33.279] - Field: 'packages' [13:10:33.279] - Field: 'gc' [13:10:33.280] - Field: 'conditions' [13:10:33.280] - Field: 'expr' [13:10:33.280] - Field: 'uuid' [13:10:33.280] - Field: 'seed' [13:10:33.280] - Field: 'version' [13:10:33.280] - Field: 'result' [13:10:33.281] - Field: 'asynchronous' [13:10:33.281] - Field: 'calls' [13:10:33.281] - Field: 'globals' [13:10:33.281] - Field: 'stdout' [13:10:33.281] - Field: 'earlySignal' [13:10:33.282] - Field: 'lazy' [13:10:33.282] - Field: 'state' [13:10:33.282] - Field: '.cluster' [13:10:33.282] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:10:33.282] - Launch lazy future ... [13:10:33.282] Packages needed by the future expression (n = 0): [13:10:33.283] Packages needed by future strategies (n = 0): [13:10:33.283] { [13:10:33.283] { [13:10:33.283] { [13:10:33.283] ...future.startTime <- base::Sys.time() [13:10:33.283] { [13:10:33.283] { [13:10:33.283] { [13:10:33.283] base::local({ [13:10:33.283] has_future <- base::requireNamespace("future", [13:10:33.283] quietly = TRUE) [13:10:33.283] if (has_future) { [13:10:33.283] ns <- base::getNamespace("future") [13:10:33.283] version <- ns[[".package"]][["version"]] [13:10:33.283] if (is.null(version)) [13:10:33.283] version <- utils::packageVersion("future") [13:10:33.283] } [13:10:33.283] else { [13:10:33.283] version <- NULL [13:10:33.283] } [13:10:33.283] if (!has_future || version < "1.8.0") { [13:10:33.283] info <- base::c(r_version = base::gsub("R version ", [13:10:33.283] "", base::R.version$version.string), [13:10:33.283] platform = base::sprintf("%s (%s-bit)", [13:10:33.283] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:10:33.283] os = base::paste(base::Sys.info()[base::c("sysname", [13:10:33.283] "release", "version")], collapse = " "), [13:10:33.283] hostname = base::Sys.info()[["nodename"]]) [13:10:33.283] info <- base::sprintf("%s: %s", base::names(info), [13:10:33.283] info) [13:10:33.283] info <- base::paste(info, collapse = "; ") [13:10:33.283] if (!has_future) { [13:10:33.283] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:10:33.283] info) [13:10:33.283] } [13:10:33.283] else { [13:10:33.283] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:10:33.283] info, version) [13:10:33.283] } [13:10:33.283] base::stop(msg) [13:10:33.283] } [13:10:33.283] }) [13:10:33.283] } [13:10:33.283] ...future.strategy.old <- future::plan("list") [13:10:33.283] options(future.plan = NULL) [13:10:33.283] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.283] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:10:33.283] } [13:10:33.283] ...future.workdir <- getwd() [13:10:33.283] } [13:10:33.283] ...future.oldOptions <- base::as.list(base::.Options) [13:10:33.283] ...future.oldEnvVars <- base::Sys.getenv() [13:10:33.283] } [13:10:33.283] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:10:33.283] future.globals.maxSize = NULL, future.globals.method = NULL, [13:10:33.283] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:10:33.283] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:10:33.283] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:10:33.283] future.stdout.windows.reencode = NULL, width = 80L) [13:10:33.283] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:10:33.283] base::names(...future.oldOptions)) [13:10:33.283] } [13:10:33.283] if (FALSE) { [13:10:33.283] } [13:10:33.283] else { [13:10:33.283] if (TRUE) { [13:10:33.283] ...future.stdout <- base::rawConnection(base::raw(0L), [13:10:33.283] open = "w") [13:10:33.283] } [13:10:33.283] else { [13:10:33.283] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:10:33.283] windows = "NUL", "/dev/null"), open = "w") [13:10:33.283] } [13:10:33.283] base::sink(...future.stdout, type = "output", split = FALSE) [13:10:33.283] base::on.exit(if (!base::is.null(...future.stdout)) { [13:10:33.283] base::sink(type = "output", split = FALSE) [13:10:33.283] base::close(...future.stdout) [13:10:33.283] }, add = TRUE) [13:10:33.283] } [13:10:33.283] ...future.frame <- base::sys.nframe() [13:10:33.283] ...future.conditions <- base::list() [13:10:33.283] ...future.rng <- base::globalenv()$.Random.seed [13:10:33.283] if (FALSE) { [13:10:33.283] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:10:33.283] "...future.value", "...future.globalenv.names", ".Random.seed") [13:10:33.283] } [13:10:33.283] ...future.result <- base::tryCatch({ [13:10:33.283] base::withCallingHandlers({ [13:10:33.283] ...future.value <- base::withVisible(base::local({ [13:10:33.283] do.call(function(...) { [13:10:33.283] sum(x, ...) [13:10:33.283] }, args = future.call.arguments) [13:10:33.283] })) [13:10:33.283] future::FutureResult(value = ...future.value$value, [13:10:33.283] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.283] ...future.rng), globalenv = if (FALSE) [13:10:33.283] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:10:33.283] ...future.globalenv.names)) [13:10:33.283] else NULL, started = ...future.startTime, version = "1.8") [13:10:33.283] }, condition = base::local({ [13:10:33.283] c <- base::c [13:10:33.283] inherits <- base::inherits [13:10:33.283] invokeRestart <- base::invokeRestart [13:10:33.283] length <- base::length [13:10:33.283] list <- base::list [13:10:33.283] seq.int <- base::seq.int [13:10:33.283] signalCondition <- base::signalCondition [13:10:33.283] sys.calls <- base::sys.calls [13:10:33.283] `[[` <- base::`[[` [13:10:33.283] `+` <- base::`+` [13:10:33.283] `<<-` <- base::`<<-` [13:10:33.283] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:10:33.283] calls[seq.int(from = from + 12L, to = length(calls) - [13:10:33.283] 3L)] [13:10:33.283] } [13:10:33.283] function(cond) { [13:10:33.283] is_error <- inherits(cond, "error") [13:10:33.283] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:10:33.283] NULL) [13:10:33.283] if (is_error) { [13:10:33.283] sessionInformation <- function() { [13:10:33.283] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:10:33.283] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:10:33.283] search = base::search(), system = base::Sys.info()) [13:10:33.283] } [13:10:33.283] ...future.conditions[[length(...future.conditions) + [13:10:33.283] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:10:33.283] cond$call), session = sessionInformation(), [13:10:33.283] timestamp = base::Sys.time(), signaled = 0L) [13:10:33.283] signalCondition(cond) [13:10:33.283] } [13:10:33.283] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:10:33.283] signal <- FALSE && inherits(cond, character(0)) [13:10:33.283] ...future.conditions[[length(...future.conditions) + [13:10:33.283] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:10:33.283] if (FALSE && !signal) { [13:10:33.283] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.283] { [13:10:33.283] inherits <- base::inherits [13:10:33.283] invokeRestart <- base::invokeRestart [13:10:33.283] is.null <- base::is.null [13:10:33.283] muffled <- FALSE [13:10:33.283] if (inherits(cond, "message")) { [13:10:33.283] muffled <- grepl(pattern, "muffleMessage") [13:10:33.283] if (muffled) [13:10:33.283] invokeRestart("muffleMessage") [13:10:33.283] } [13:10:33.283] else if (inherits(cond, "warning")) { [13:10:33.283] muffled <- grepl(pattern, "muffleWarning") [13:10:33.283] if (muffled) [13:10:33.283] invokeRestart("muffleWarning") [13:10:33.283] } [13:10:33.283] else if (inherits(cond, "condition")) { [13:10:33.283] if (!is.null(pattern)) { [13:10:33.283] computeRestarts <- base::computeRestarts [13:10:33.283] grepl <- base::grepl [13:10:33.283] restarts <- computeRestarts(cond) [13:10:33.283] for (restart in restarts) { [13:10:33.283] name <- restart$name [13:10:33.283] if (is.null(name)) [13:10:33.283] next [13:10:33.283] if (!grepl(pattern, name)) [13:10:33.283] next [13:10:33.283] invokeRestart(restart) [13:10:33.283] muffled <- TRUE [13:10:33.283] break [13:10:33.283] } [13:10:33.283] } [13:10:33.283] } [13:10:33.283] invisible(muffled) [13:10:33.283] } [13:10:33.283] muffleCondition(cond, pattern = "^muffle") [13:10:33.283] } [13:10:33.283] } [13:10:33.283] else { [13:10:33.283] if (TRUE) { [13:10:33.283] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.283] { [13:10:33.283] inherits <- base::inherits [13:10:33.283] invokeRestart <- base::invokeRestart [13:10:33.283] is.null <- base::is.null [13:10:33.283] muffled <- FALSE [13:10:33.283] if (inherits(cond, "message")) { [13:10:33.283] muffled <- grepl(pattern, "muffleMessage") [13:10:33.283] if (muffled) [13:10:33.283] invokeRestart("muffleMessage") [13:10:33.283] } [13:10:33.283] else if (inherits(cond, "warning")) { [13:10:33.283] muffled <- grepl(pattern, "muffleWarning") [13:10:33.283] if (muffled) [13:10:33.283] invokeRestart("muffleWarning") [13:10:33.283] } [13:10:33.283] else if (inherits(cond, "condition")) { [13:10:33.283] if (!is.null(pattern)) { [13:10:33.283] computeRestarts <- base::computeRestarts [13:10:33.283] grepl <- base::grepl [13:10:33.283] restarts <- computeRestarts(cond) [13:10:33.283] for (restart in restarts) { [13:10:33.283] name <- restart$name [13:10:33.283] if (is.null(name)) [13:10:33.283] next [13:10:33.283] if (!grepl(pattern, name)) [13:10:33.283] next [13:10:33.283] invokeRestart(restart) [13:10:33.283] muffled <- TRUE [13:10:33.283] break [13:10:33.283] } [13:10:33.283] } [13:10:33.283] } [13:10:33.283] invisible(muffled) [13:10:33.283] } [13:10:33.283] muffleCondition(cond, pattern = "^muffle") [13:10:33.283] } [13:10:33.283] } [13:10:33.283] } [13:10:33.283] })) [13:10:33.283] }, error = function(ex) { [13:10:33.283] base::structure(base::list(value = NULL, visible = NULL, [13:10:33.283] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.283] ...future.rng), started = ...future.startTime, [13:10:33.283] finished = Sys.time(), session_uuid = NA_character_, [13:10:33.283] version = "1.8"), class = "FutureResult") [13:10:33.283] }, finally = { [13:10:33.283] if (!identical(...future.workdir, getwd())) [13:10:33.283] setwd(...future.workdir) [13:10:33.283] { [13:10:33.283] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:10:33.283] ...future.oldOptions$nwarnings <- NULL [13:10:33.283] } [13:10:33.283] base::options(...future.oldOptions) [13:10:33.283] if (.Platform$OS.type == "windows") { [13:10:33.283] old_names <- names(...future.oldEnvVars) [13:10:33.283] envs <- base::Sys.getenv() [13:10:33.283] names <- names(envs) [13:10:33.283] common <- intersect(names, old_names) [13:10:33.283] added <- setdiff(names, old_names) [13:10:33.283] removed <- setdiff(old_names, names) [13:10:33.283] changed <- common[...future.oldEnvVars[common] != [13:10:33.283] envs[common]] [13:10:33.283] NAMES <- toupper(changed) [13:10:33.283] args <- list() [13:10:33.283] for (kk in seq_along(NAMES)) { [13:10:33.283] name <- changed[[kk]] [13:10:33.283] NAME <- NAMES[[kk]] [13:10:33.283] if (name != NAME && is.element(NAME, old_names)) [13:10:33.283] next [13:10:33.283] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.283] } [13:10:33.283] NAMES <- toupper(added) [13:10:33.283] for (kk in seq_along(NAMES)) { [13:10:33.283] name <- added[[kk]] [13:10:33.283] NAME <- NAMES[[kk]] [13:10:33.283] if (name != NAME && is.element(NAME, old_names)) [13:10:33.283] next [13:10:33.283] args[[name]] <- "" [13:10:33.283] } [13:10:33.283] NAMES <- toupper(removed) [13:10:33.283] for (kk in seq_along(NAMES)) { [13:10:33.283] name <- removed[[kk]] [13:10:33.283] NAME <- NAMES[[kk]] [13:10:33.283] if (name != NAME && is.element(NAME, old_names)) [13:10:33.283] next [13:10:33.283] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.283] } [13:10:33.283] if (length(args) > 0) [13:10:33.283] base::do.call(base::Sys.setenv, args = args) [13:10:33.283] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:10:33.283] } [13:10:33.283] else { [13:10:33.283] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:10:33.283] } [13:10:33.283] { [13:10:33.283] if (base::length(...future.futureOptionsAdded) > [13:10:33.283] 0L) { [13:10:33.283] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:10:33.283] base::names(opts) <- ...future.futureOptionsAdded [13:10:33.283] base::options(opts) [13:10:33.283] } [13:10:33.283] { [13:10:33.283] NULL [13:10:33.283] options(future.plan = NULL) [13:10:33.283] if (is.na(NA_character_)) [13:10:33.283] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.283] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:10:33.283] future::plan(...future.strategy.old, .cleanup = FALSE, [13:10:33.283] .init = FALSE) [13:10:33.283] } [13:10:33.283] } [13:10:33.283] } [13:10:33.283] }) [13:10:33.283] if (TRUE) { [13:10:33.283] base::sink(type = "output", split = FALSE) [13:10:33.283] if (TRUE) { [13:10:33.283] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:10:33.283] } [13:10:33.283] else { [13:10:33.283] ...future.result["stdout"] <- base::list(NULL) [13:10:33.283] } [13:10:33.283] base::close(...future.stdout) [13:10:33.283] ...future.stdout <- NULL [13:10:33.283] } [13:10:33.283] ...future.result$conditions <- ...future.conditions [13:10:33.283] ...future.result$finished <- base::Sys.time() [13:10:33.283] ...future.result [13:10:33.283] } [13:10:33.287] - Launch lazy future ... done [13:10:33.287] run() for 'MiraiFuture' ... done [1] 6 [13:10:33.290] ** 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:10:33.290] getGlobalsAndPackages() ... [13:10:33.291] Searching for globals... [13:10:33.292] - globals found: [4] '{', 'sum', 'x', '...' [13:10:33.293] Searching for globals ... DONE [13:10:33.293] Resolving globals: FALSE [13:10:33.293] Tweak future expression to call with '...' arguments ... [13:10:33.293] { [13:10:33.293] do.call(function(...) { [13:10:33.293] sum(x, ...) [13:10:33.293] }, args = future.call.arguments) [13:10:33.293] } [13:10:33.293] Tweak future expression to call with '...' arguments ... DONE [13:10:33.294] The total size of the 2 globals is 112 bytes (112 bytes) [13:10:33.295] 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:10:33.295] - globals: [2] 'x', 'future.call.arguments' [13:10:33.295] [13:10:33.295] getGlobalsAndPackages() ... DONE [13:10:33.295] run() for 'Future' ... [13:10:33.296] - state: 'created' [13:10:33.296] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:10:33.296] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:10:33.299] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:10:33.299] - Field: 'label' [13:10:33.299] - Field: 'local' [13:10:33.299] - Field: 'owner' [13:10:33.299] - Field: 'envir' [13:10:33.300] - Field: 'packages' [13:10:33.300] - Field: 'gc' [13:10:33.300] - Field: 'conditions' [13:10:33.300] - Field: 'expr' [13:10:33.300] - Field: 'uuid' [13:10:33.300] - Field: 'seed' [13:10:33.301] - Field: 'version' [13:10:33.301] - Field: 'result' [13:10:33.301] - Field: 'asynchronous' [13:10:33.301] - Field: 'calls' [13:10:33.301] - Field: 'globals' [13:10:33.301] - Field: 'stdout' [13:10:33.302] - Field: 'earlySignal' [13:10:33.302] - Field: 'lazy' [13:10:33.302] - Field: 'state' [13:10:33.302] - Field: '.cluster' [13:10:33.302] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:10:33.302] - Launch lazy future ... [13:10:33.303] Packages needed by the future expression (n = 0): [13:10:33.303] Packages needed by future strategies (n = 0): [13:10:33.303] { [13:10:33.303] { [13:10:33.303] { [13:10:33.303] ...future.startTime <- base::Sys.time() [13:10:33.303] { [13:10:33.303] { [13:10:33.303] { [13:10:33.303] base::local({ [13:10:33.303] has_future <- base::requireNamespace("future", [13:10:33.303] quietly = TRUE) [13:10:33.303] if (has_future) { [13:10:33.303] ns <- base::getNamespace("future") [13:10:33.303] version <- ns[[".package"]][["version"]] [13:10:33.303] if (is.null(version)) [13:10:33.303] version <- utils::packageVersion("future") [13:10:33.303] } [13:10:33.303] else { [13:10:33.303] version <- NULL [13:10:33.303] } [13:10:33.303] if (!has_future || version < "1.8.0") { [13:10:33.303] info <- base::c(r_version = base::gsub("R version ", [13:10:33.303] "", base::R.version$version.string), [13:10:33.303] platform = base::sprintf("%s (%s-bit)", [13:10:33.303] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:10:33.303] os = base::paste(base::Sys.info()[base::c("sysname", [13:10:33.303] "release", "version")], collapse = " "), [13:10:33.303] hostname = base::Sys.info()[["nodename"]]) [13:10:33.303] info <- base::sprintf("%s: %s", base::names(info), [13:10:33.303] info) [13:10:33.303] info <- base::paste(info, collapse = "; ") [13:10:33.303] if (!has_future) { [13:10:33.303] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:10:33.303] info) [13:10:33.303] } [13:10:33.303] else { [13:10:33.303] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:10:33.303] info, version) [13:10:33.303] } [13:10:33.303] base::stop(msg) [13:10:33.303] } [13:10:33.303] }) [13:10:33.303] } [13:10:33.303] ...future.strategy.old <- future::plan("list") [13:10:33.303] options(future.plan = NULL) [13:10:33.303] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.303] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:10:33.303] } [13:10:33.303] ...future.workdir <- getwd() [13:10:33.303] } [13:10:33.303] ...future.oldOptions <- base::as.list(base::.Options) [13:10:33.303] ...future.oldEnvVars <- base::Sys.getenv() [13:10:33.303] } [13:10:33.303] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:10:33.303] future.globals.maxSize = NULL, future.globals.method = NULL, [13:10:33.303] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:10:33.303] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:10:33.303] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:10:33.303] future.stdout.windows.reencode = NULL, width = 80L) [13:10:33.303] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:10:33.303] base::names(...future.oldOptions)) [13:10:33.303] } [13:10:33.303] if (FALSE) { [13:10:33.303] } [13:10:33.303] else { [13:10:33.303] if (TRUE) { [13:10:33.303] ...future.stdout <- base::rawConnection(base::raw(0L), [13:10:33.303] open = "w") [13:10:33.303] } [13:10:33.303] else { [13:10:33.303] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:10:33.303] windows = "NUL", "/dev/null"), open = "w") [13:10:33.303] } [13:10:33.303] base::sink(...future.stdout, type = "output", split = FALSE) [13:10:33.303] base::on.exit(if (!base::is.null(...future.stdout)) { [13:10:33.303] base::sink(type = "output", split = FALSE) [13:10:33.303] base::close(...future.stdout) [13:10:33.303] }, add = TRUE) [13:10:33.303] } [13:10:33.303] ...future.frame <- base::sys.nframe() [13:10:33.303] ...future.conditions <- base::list() [13:10:33.303] ...future.rng <- base::globalenv()$.Random.seed [13:10:33.303] if (FALSE) { [13:10:33.303] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:10:33.303] "...future.value", "...future.globalenv.names", ".Random.seed") [13:10:33.303] } [13:10:33.303] ...future.result <- base::tryCatch({ [13:10:33.303] base::withCallingHandlers({ [13:10:33.303] ...future.value <- base::withVisible(base::local({ [13:10:33.303] do.call(function(...) { [13:10:33.303] sum(x, ...) [13:10:33.303] }, args = future.call.arguments) [13:10:33.303] })) [13:10:33.303] future::FutureResult(value = ...future.value$value, [13:10:33.303] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.303] ...future.rng), globalenv = if (FALSE) [13:10:33.303] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:10:33.303] ...future.globalenv.names)) [13:10:33.303] else NULL, started = ...future.startTime, version = "1.8") [13:10:33.303] }, condition = base::local({ [13:10:33.303] c <- base::c [13:10:33.303] inherits <- base::inherits [13:10:33.303] invokeRestart <- base::invokeRestart [13:10:33.303] length <- base::length [13:10:33.303] list <- base::list [13:10:33.303] seq.int <- base::seq.int [13:10:33.303] signalCondition <- base::signalCondition [13:10:33.303] sys.calls <- base::sys.calls [13:10:33.303] `[[` <- base::`[[` [13:10:33.303] `+` <- base::`+` [13:10:33.303] `<<-` <- base::`<<-` [13:10:33.303] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:10:33.303] calls[seq.int(from = from + 12L, to = length(calls) - [13:10:33.303] 3L)] [13:10:33.303] } [13:10:33.303] function(cond) { [13:10:33.303] is_error <- inherits(cond, "error") [13:10:33.303] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:10:33.303] NULL) [13:10:33.303] if (is_error) { [13:10:33.303] sessionInformation <- function() { [13:10:33.303] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:10:33.303] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:10:33.303] search = base::search(), system = base::Sys.info()) [13:10:33.303] } [13:10:33.303] ...future.conditions[[length(...future.conditions) + [13:10:33.303] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:10:33.303] cond$call), session = sessionInformation(), [13:10:33.303] timestamp = base::Sys.time(), signaled = 0L) [13:10:33.303] signalCondition(cond) [13:10:33.303] } [13:10:33.303] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:10:33.303] signal <- FALSE && inherits(cond, character(0)) [13:10:33.303] ...future.conditions[[length(...future.conditions) + [13:10:33.303] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:10:33.303] if (FALSE && !signal) { [13:10:33.303] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.303] { [13:10:33.303] inherits <- base::inherits [13:10:33.303] invokeRestart <- base::invokeRestart [13:10:33.303] is.null <- base::is.null [13:10:33.303] muffled <- FALSE [13:10:33.303] if (inherits(cond, "message")) { [13:10:33.303] muffled <- grepl(pattern, "muffleMessage") [13:10:33.303] if (muffled) [13:10:33.303] invokeRestart("muffleMessage") [13:10:33.303] } [13:10:33.303] else if (inherits(cond, "warning")) { [13:10:33.303] muffled <- grepl(pattern, "muffleWarning") [13:10:33.303] if (muffled) [13:10:33.303] invokeRestart("muffleWarning") [13:10:33.303] } [13:10:33.303] else if (inherits(cond, "condition")) { [13:10:33.303] if (!is.null(pattern)) { [13:10:33.303] computeRestarts <- base::computeRestarts [13:10:33.303] grepl <- base::grepl [13:10:33.303] restarts <- computeRestarts(cond) [13:10:33.303] for (restart in restarts) { [13:10:33.303] name <- restart$name [13:10:33.303] if (is.null(name)) [13:10:33.303] next [13:10:33.303] if (!grepl(pattern, name)) [13:10:33.303] next [13:10:33.303] invokeRestart(restart) [13:10:33.303] muffled <- TRUE [13:10:33.303] break [13:10:33.303] } [13:10:33.303] } [13:10:33.303] } [13:10:33.303] invisible(muffled) [13:10:33.303] } [13:10:33.303] muffleCondition(cond, pattern = "^muffle") [13:10:33.303] } [13:10:33.303] } [13:10:33.303] else { [13:10:33.303] if (TRUE) { [13:10:33.303] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.303] { [13:10:33.303] inherits <- base::inherits [13:10:33.303] invokeRestart <- base::invokeRestart [13:10:33.303] is.null <- base::is.null [13:10:33.303] muffled <- FALSE [13:10:33.303] if (inherits(cond, "message")) { [13:10:33.303] muffled <- grepl(pattern, "muffleMessage") [13:10:33.303] if (muffled) [13:10:33.303] invokeRestart("muffleMessage") [13:10:33.303] } [13:10:33.303] else if (inherits(cond, "warning")) { [13:10:33.303] muffled <- grepl(pattern, "muffleWarning") [13:10:33.303] if (muffled) [13:10:33.303] invokeRestart("muffleWarning") [13:10:33.303] } [13:10:33.303] else if (inherits(cond, "condition")) { [13:10:33.303] if (!is.null(pattern)) { [13:10:33.303] computeRestarts <- base::computeRestarts [13:10:33.303] grepl <- base::grepl [13:10:33.303] restarts <- computeRestarts(cond) [13:10:33.303] for (restart in restarts) { [13:10:33.303] name <- restart$name [13:10:33.303] if (is.null(name)) [13:10:33.303] next [13:10:33.303] if (!grepl(pattern, name)) [13:10:33.303] next [13:10:33.303] invokeRestart(restart) [13:10:33.303] muffled <- TRUE [13:10:33.303] break [13:10:33.303] } [13:10:33.303] } [13:10:33.303] } [13:10:33.303] invisible(muffled) [13:10:33.303] } [13:10:33.303] muffleCondition(cond, pattern = "^muffle") [13:10:33.303] } [13:10:33.303] } [13:10:33.303] } [13:10:33.303] })) [13:10:33.303] }, error = function(ex) { [13:10:33.303] base::structure(base::list(value = NULL, visible = NULL, [13:10:33.303] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.303] ...future.rng), started = ...future.startTime, [13:10:33.303] finished = Sys.time(), session_uuid = NA_character_, [13:10:33.303] version = "1.8"), class = "FutureResult") [13:10:33.303] }, finally = { [13:10:33.303] if (!identical(...future.workdir, getwd())) [13:10:33.303] setwd(...future.workdir) [13:10:33.303] { [13:10:33.303] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:10:33.303] ...future.oldOptions$nwarnings <- NULL [13:10:33.303] } [13:10:33.303] base::options(...future.oldOptions) [13:10:33.303] if (.Platform$OS.type == "windows") { [13:10:33.303] old_names <- names(...future.oldEnvVars) [13:10:33.303] envs <- base::Sys.getenv() [13:10:33.303] names <- names(envs) [13:10:33.303] common <- intersect(names, old_names) [13:10:33.303] added <- setdiff(names, old_names) [13:10:33.303] removed <- setdiff(old_names, names) [13:10:33.303] changed <- common[...future.oldEnvVars[common] != [13:10:33.303] envs[common]] [13:10:33.303] NAMES <- toupper(changed) [13:10:33.303] args <- list() [13:10:33.303] for (kk in seq_along(NAMES)) { [13:10:33.303] name <- changed[[kk]] [13:10:33.303] NAME <- NAMES[[kk]] [13:10:33.303] if (name != NAME && is.element(NAME, old_names)) [13:10:33.303] next [13:10:33.303] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.303] } [13:10:33.303] NAMES <- toupper(added) [13:10:33.303] for (kk in seq_along(NAMES)) { [13:10:33.303] name <- added[[kk]] [13:10:33.303] NAME <- NAMES[[kk]] [13:10:33.303] if (name != NAME && is.element(NAME, old_names)) [13:10:33.303] next [13:10:33.303] args[[name]] <- "" [13:10:33.303] } [13:10:33.303] NAMES <- toupper(removed) [13:10:33.303] for (kk in seq_along(NAMES)) { [13:10:33.303] name <- removed[[kk]] [13:10:33.303] NAME <- NAMES[[kk]] [13:10:33.303] if (name != NAME && is.element(NAME, old_names)) [13:10:33.303] next [13:10:33.303] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.303] } [13:10:33.303] if (length(args) > 0) [13:10:33.303] base::do.call(base::Sys.setenv, args = args) [13:10:33.303] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:10:33.303] } [13:10:33.303] else { [13:10:33.303] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:10:33.303] } [13:10:33.303] { [13:10:33.303] if (base::length(...future.futureOptionsAdded) > [13:10:33.303] 0L) { [13:10:33.303] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:10:33.303] base::names(opts) <- ...future.futureOptionsAdded [13:10:33.303] base::options(opts) [13:10:33.303] } [13:10:33.303] { [13:10:33.303] NULL [13:10:33.303] options(future.plan = NULL) [13:10:33.303] if (is.na(NA_character_)) [13:10:33.303] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.303] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:10:33.303] future::plan(...future.strategy.old, .cleanup = FALSE, [13:10:33.303] .init = FALSE) [13:10:33.303] } [13:10:33.303] } [13:10:33.303] } [13:10:33.303] }) [13:10:33.303] if (TRUE) { [13:10:33.303] base::sink(type = "output", split = FALSE) [13:10:33.303] if (TRUE) { [13:10:33.303] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:10:33.303] } [13:10:33.303] else { [13:10:33.303] ...future.result["stdout"] <- base::list(NULL) [13:10:33.303] } [13:10:33.303] base::close(...future.stdout) [13:10:33.303] ...future.stdout <- NULL [13:10:33.303] } [13:10:33.303] ...future.result$conditions <- ...future.conditions [13:10:33.303] ...future.result$finished <- base::Sys.time() [13:10:33.303] ...future.result [13:10:33.303] } [13:10:33.307] - Launch lazy future ... done [13:10:33.307] run() for 'MiraiFuture' ... done [1] 6 [13:10:33.309] ** 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:10:33.310] getGlobalsAndPackages() ... [13:10:33.310] Searching for globals... [13:10:33.312] - globals found: [4] '{', 'sum', 'x', 'y' [13:10:33.312] Searching for globals ... DONE [13:10:33.312] Resolving globals: FALSE [13:10:33.312] The total size of the 2 globals is 112 bytes (112 bytes) [13:10:33.313] 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:10:33.313] - globals: [2] 'x', 'y' [13:10:33.313] [13:10:33.313] getGlobalsAndPackages() ... DONE [13:10:33.314] run() for 'Future' ... [13:10:33.314] - state: 'created' [13:10:33.314] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:10:33.314] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:10:33.315] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:10:33.315] - Field: 'label' [13:10:33.315] - Field: 'local' [13:10:33.315] - Field: 'owner' [13:10:33.315] - Field: 'envir' [13:10:33.316] - Field: 'packages' [13:10:33.316] - Field: 'gc' [13:10:33.316] - Field: 'conditions' [13:10:33.316] - Field: 'expr' [13:10:33.316] - Field: 'uuid' [13:10:33.316] - Field: 'seed' [13:10:33.317] - Field: 'version' [13:10:33.317] - Field: 'result' [13:10:33.317] - Field: 'asynchronous' [13:10:33.317] - Field: 'calls' [13:10:33.317] - Field: 'globals' [13:10:33.317] - Field: 'stdout' [13:10:33.318] - Field: 'earlySignal' [13:10:33.318] - Field: 'lazy' [13:10:33.318] - Field: 'state' [13:10:33.318] - Field: '.cluster' [13:10:33.318] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:10:33.318] - Launch lazy future ... [13:10:33.319] Packages needed by the future expression (n = 0): [13:10:33.319] Packages needed by future strategies (n = 0): [13:10:33.319] { [13:10:33.319] { [13:10:33.319] { [13:10:33.319] ...future.startTime <- base::Sys.time() [13:10:33.319] { [13:10:33.319] { [13:10:33.319] { [13:10:33.319] base::local({ [13:10:33.319] has_future <- base::requireNamespace("future", [13:10:33.319] quietly = TRUE) [13:10:33.319] if (has_future) { [13:10:33.319] ns <- base::getNamespace("future") [13:10:33.319] version <- ns[[".package"]][["version"]] [13:10:33.319] if (is.null(version)) [13:10:33.319] version <- utils::packageVersion("future") [13:10:33.319] } [13:10:33.319] else { [13:10:33.319] version <- NULL [13:10:33.319] } [13:10:33.319] if (!has_future || version < "1.8.0") { [13:10:33.319] info <- base::c(r_version = base::gsub("R version ", [13:10:33.319] "", base::R.version$version.string), [13:10:33.319] platform = base::sprintf("%s (%s-bit)", [13:10:33.319] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:10:33.319] os = base::paste(base::Sys.info()[base::c("sysname", [13:10:33.319] "release", "version")], collapse = " "), [13:10:33.319] hostname = base::Sys.info()[["nodename"]]) [13:10:33.319] info <- base::sprintf("%s: %s", base::names(info), [13:10:33.319] info) [13:10:33.319] info <- base::paste(info, collapse = "; ") [13:10:33.319] if (!has_future) { [13:10:33.319] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:10:33.319] info) [13:10:33.319] } [13:10:33.319] else { [13:10:33.319] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:10:33.319] info, version) [13:10:33.319] } [13:10:33.319] base::stop(msg) [13:10:33.319] } [13:10:33.319] }) [13:10:33.319] } [13:10:33.319] ...future.strategy.old <- future::plan("list") [13:10:33.319] options(future.plan = NULL) [13:10:33.319] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.319] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:10:33.319] } [13:10:33.319] ...future.workdir <- getwd() [13:10:33.319] } [13:10:33.319] ...future.oldOptions <- base::as.list(base::.Options) [13:10:33.319] ...future.oldEnvVars <- base::Sys.getenv() [13:10:33.319] } [13:10:33.319] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:10:33.319] future.globals.maxSize = NULL, future.globals.method = NULL, [13:10:33.319] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:10:33.319] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:10:33.319] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:10:33.319] future.stdout.windows.reencode = NULL, width = 80L) [13:10:33.319] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:10:33.319] base::names(...future.oldOptions)) [13:10:33.319] } [13:10:33.319] if (FALSE) { [13:10:33.319] } [13:10:33.319] else { [13:10:33.319] if (TRUE) { [13:10:33.319] ...future.stdout <- base::rawConnection(base::raw(0L), [13:10:33.319] open = "w") [13:10:33.319] } [13:10:33.319] else { [13:10:33.319] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:10:33.319] windows = "NUL", "/dev/null"), open = "w") [13:10:33.319] } [13:10:33.319] base::sink(...future.stdout, type = "output", split = FALSE) [13:10:33.319] base::on.exit(if (!base::is.null(...future.stdout)) { [13:10:33.319] base::sink(type = "output", split = FALSE) [13:10:33.319] base::close(...future.stdout) [13:10:33.319] }, add = TRUE) [13:10:33.319] } [13:10:33.319] ...future.frame <- base::sys.nframe() [13:10:33.319] ...future.conditions <- base::list() [13:10:33.319] ...future.rng <- base::globalenv()$.Random.seed [13:10:33.319] if (FALSE) { [13:10:33.319] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:10:33.319] "...future.value", "...future.globalenv.names", ".Random.seed") [13:10:33.319] } [13:10:33.319] ...future.result <- base::tryCatch({ [13:10:33.319] base::withCallingHandlers({ [13:10:33.319] ...future.value <- base::withVisible(base::local({ [13:10:33.319] sum(x, y) [13:10:33.319] })) [13:10:33.319] future::FutureResult(value = ...future.value$value, [13:10:33.319] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.319] ...future.rng), globalenv = if (FALSE) [13:10:33.319] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:10:33.319] ...future.globalenv.names)) [13:10:33.319] else NULL, started = ...future.startTime, version = "1.8") [13:10:33.319] }, condition = base::local({ [13:10:33.319] c <- base::c [13:10:33.319] inherits <- base::inherits [13:10:33.319] invokeRestart <- base::invokeRestart [13:10:33.319] length <- base::length [13:10:33.319] list <- base::list [13:10:33.319] seq.int <- base::seq.int [13:10:33.319] signalCondition <- base::signalCondition [13:10:33.319] sys.calls <- base::sys.calls [13:10:33.319] `[[` <- base::`[[` [13:10:33.319] `+` <- base::`+` [13:10:33.319] `<<-` <- base::`<<-` [13:10:33.319] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:10:33.319] calls[seq.int(from = from + 12L, to = length(calls) - [13:10:33.319] 3L)] [13:10:33.319] } [13:10:33.319] function(cond) { [13:10:33.319] is_error <- inherits(cond, "error") [13:10:33.319] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:10:33.319] NULL) [13:10:33.319] if (is_error) { [13:10:33.319] sessionInformation <- function() { [13:10:33.319] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:10:33.319] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:10:33.319] search = base::search(), system = base::Sys.info()) [13:10:33.319] } [13:10:33.319] ...future.conditions[[length(...future.conditions) + [13:10:33.319] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:10:33.319] cond$call), session = sessionInformation(), [13:10:33.319] timestamp = base::Sys.time(), signaled = 0L) [13:10:33.319] signalCondition(cond) [13:10:33.319] } [13:10:33.319] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:10:33.319] signal <- FALSE && inherits(cond, character(0)) [13:10:33.319] ...future.conditions[[length(...future.conditions) + [13:10:33.319] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:10:33.319] if (FALSE && !signal) { [13:10:33.319] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.319] { [13:10:33.319] inherits <- base::inherits [13:10:33.319] invokeRestart <- base::invokeRestart [13:10:33.319] is.null <- base::is.null [13:10:33.319] muffled <- FALSE [13:10:33.319] if (inherits(cond, "message")) { [13:10:33.319] muffled <- grepl(pattern, "muffleMessage") [13:10:33.319] if (muffled) [13:10:33.319] invokeRestart("muffleMessage") [13:10:33.319] } [13:10:33.319] else if (inherits(cond, "warning")) { [13:10:33.319] muffled <- grepl(pattern, "muffleWarning") [13:10:33.319] if (muffled) [13:10:33.319] invokeRestart("muffleWarning") [13:10:33.319] } [13:10:33.319] else if (inherits(cond, "condition")) { [13:10:33.319] if (!is.null(pattern)) { [13:10:33.319] computeRestarts <- base::computeRestarts [13:10:33.319] grepl <- base::grepl [13:10:33.319] restarts <- computeRestarts(cond) [13:10:33.319] for (restart in restarts) { [13:10:33.319] name <- restart$name [13:10:33.319] if (is.null(name)) [13:10:33.319] next [13:10:33.319] if (!grepl(pattern, name)) [13:10:33.319] next [13:10:33.319] invokeRestart(restart) [13:10:33.319] muffled <- TRUE [13:10:33.319] break [13:10:33.319] } [13:10:33.319] } [13:10:33.319] } [13:10:33.319] invisible(muffled) [13:10:33.319] } [13:10:33.319] muffleCondition(cond, pattern = "^muffle") [13:10:33.319] } [13:10:33.319] } [13:10:33.319] else { [13:10:33.319] if (TRUE) { [13:10:33.319] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.319] { [13:10:33.319] inherits <- base::inherits [13:10:33.319] invokeRestart <- base::invokeRestart [13:10:33.319] is.null <- base::is.null [13:10:33.319] muffled <- FALSE [13:10:33.319] if (inherits(cond, "message")) { [13:10:33.319] muffled <- grepl(pattern, "muffleMessage") [13:10:33.319] if (muffled) [13:10:33.319] invokeRestart("muffleMessage") [13:10:33.319] } [13:10:33.319] else if (inherits(cond, "warning")) { [13:10:33.319] muffled <- grepl(pattern, "muffleWarning") [13:10:33.319] if (muffled) [13:10:33.319] invokeRestart("muffleWarning") [13:10:33.319] } [13:10:33.319] else if (inherits(cond, "condition")) { [13:10:33.319] if (!is.null(pattern)) { [13:10:33.319] computeRestarts <- base::computeRestarts [13:10:33.319] grepl <- base::grepl [13:10:33.319] restarts <- computeRestarts(cond) [13:10:33.319] for (restart in restarts) { [13:10:33.319] name <- restart$name [13:10:33.319] if (is.null(name)) [13:10:33.319] next [13:10:33.319] if (!grepl(pattern, name)) [13:10:33.319] next [13:10:33.319] invokeRestart(restart) [13:10:33.319] muffled <- TRUE [13:10:33.319] break [13:10:33.319] } [13:10:33.319] } [13:10:33.319] } [13:10:33.319] invisible(muffled) [13:10:33.319] } [13:10:33.319] muffleCondition(cond, pattern = "^muffle") [13:10:33.319] } [13:10:33.319] } [13:10:33.319] } [13:10:33.319] })) [13:10:33.319] }, error = function(ex) { [13:10:33.319] base::structure(base::list(value = NULL, visible = NULL, [13:10:33.319] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.319] ...future.rng), started = ...future.startTime, [13:10:33.319] finished = Sys.time(), session_uuid = NA_character_, [13:10:33.319] version = "1.8"), class = "FutureResult") [13:10:33.319] }, finally = { [13:10:33.319] if (!identical(...future.workdir, getwd())) [13:10:33.319] setwd(...future.workdir) [13:10:33.319] { [13:10:33.319] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:10:33.319] ...future.oldOptions$nwarnings <- NULL [13:10:33.319] } [13:10:33.319] base::options(...future.oldOptions) [13:10:33.319] if (.Platform$OS.type == "windows") { [13:10:33.319] old_names <- names(...future.oldEnvVars) [13:10:33.319] envs <- base::Sys.getenv() [13:10:33.319] names <- names(envs) [13:10:33.319] common <- intersect(names, old_names) [13:10:33.319] added <- setdiff(names, old_names) [13:10:33.319] removed <- setdiff(old_names, names) [13:10:33.319] changed <- common[...future.oldEnvVars[common] != [13:10:33.319] envs[common]] [13:10:33.319] NAMES <- toupper(changed) [13:10:33.319] args <- list() [13:10:33.319] for (kk in seq_along(NAMES)) { [13:10:33.319] name <- changed[[kk]] [13:10:33.319] NAME <- NAMES[[kk]] [13:10:33.319] if (name != NAME && is.element(NAME, old_names)) [13:10:33.319] next [13:10:33.319] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.319] } [13:10:33.319] NAMES <- toupper(added) [13:10:33.319] for (kk in seq_along(NAMES)) { [13:10:33.319] name <- added[[kk]] [13:10:33.319] NAME <- NAMES[[kk]] [13:10:33.319] if (name != NAME && is.element(NAME, old_names)) [13:10:33.319] next [13:10:33.319] args[[name]] <- "" [13:10:33.319] } [13:10:33.319] NAMES <- toupper(removed) [13:10:33.319] for (kk in seq_along(NAMES)) { [13:10:33.319] name <- removed[[kk]] [13:10:33.319] NAME <- NAMES[[kk]] [13:10:33.319] if (name != NAME && is.element(NAME, old_names)) [13:10:33.319] next [13:10:33.319] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.319] } [13:10:33.319] if (length(args) > 0) [13:10:33.319] base::do.call(base::Sys.setenv, args = args) [13:10:33.319] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:10:33.319] } [13:10:33.319] else { [13:10:33.319] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:10:33.319] } [13:10:33.319] { [13:10:33.319] if (base::length(...future.futureOptionsAdded) > [13:10:33.319] 0L) { [13:10:33.319] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:10:33.319] base::names(opts) <- ...future.futureOptionsAdded [13:10:33.319] base::options(opts) [13:10:33.319] } [13:10:33.319] { [13:10:33.319] NULL [13:10:33.319] options(future.plan = NULL) [13:10:33.319] if (is.na(NA_character_)) [13:10:33.319] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.319] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:10:33.319] future::plan(...future.strategy.old, .cleanup = FALSE, [13:10:33.319] .init = FALSE) [13:10:33.319] } [13:10:33.319] } [13:10:33.319] } [13:10:33.319] }) [13:10:33.319] if (TRUE) { [13:10:33.319] base::sink(type = "output", split = FALSE) [13:10:33.319] if (TRUE) { [13:10:33.319] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:10:33.319] } [13:10:33.319] else { [13:10:33.319] ...future.result["stdout"] <- base::list(NULL) [13:10:33.319] } [13:10:33.319] base::close(...future.stdout) [13:10:33.319] ...future.stdout <- NULL [13:10:33.319] } [13:10:33.319] ...future.result$conditions <- ...future.conditions [13:10:33.319] ...future.result$finished <- base::Sys.time() [13:10:33.319] ...future.result [13:10:33.319] } [13:10:33.323] - Launch lazy future ... done [13:10:33.323] run() for 'MiraiFuture' ... done [1] 6 [13:10:33.325] ** 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:10:33.326] getGlobalsAndPackages() ... [13:10:33.326] Searching for globals... [13:10:33.328] - globals found: [5] '{', 'sum', 'x', 'y', '...' [13:10:33.328] Searching for globals ... DONE [13:10:33.328] Resolving globals: FALSE [13:10:33.328] Tweak future expression to call with '...' arguments ... [13:10:33.329] The total size of the 2 globals is 112 bytes (112 bytes) [13:10:33.329] 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:10:33.330] - globals: [2] 'x', 'y' [13:10:33.330] [13:10:33.330] getGlobalsAndPackages() ... DONE [13:10:33.330] run() for 'Future' ... [13:10:33.331] - state: 'created' [13:10:33.331] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:10:33.331] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:10:33.331] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:10:33.331] - Field: 'label' [13:10:33.332] - Field: 'local' [13:10:33.332] - Field: 'owner' [13:10:33.332] - Field: 'envir' [13:10:33.332] - Field: 'packages' [13:10:33.332] - Field: 'gc' [13:10:33.333] - Field: 'conditions' [13:10:33.333] - Field: 'expr' [13:10:33.333] - Field: 'uuid' [13:10:33.333] - Field: 'seed' [13:10:33.333] - Field: 'version' [13:10:33.333] - Field: 'result' [13:10:33.334] - Field: 'asynchronous' [13:10:33.334] - Field: 'calls' [13:10:33.334] - Field: 'globals' [13:10:33.334] - Field: 'stdout' [13:10:33.334] - Field: 'earlySignal' [13:10:33.334] - Field: 'lazy' [13:10:33.335] - Field: 'state' [13:10:33.335] - Field: '.cluster' [13:10:33.335] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:10:33.335] - Launch lazy future ... [13:10:33.335] Packages needed by the future expression (n = 0): [13:10:33.335] Packages needed by future strategies (n = 0): [13:10:33.336] { [13:10:33.336] { [13:10:33.336] { [13:10:33.336] ...future.startTime <- base::Sys.time() [13:10:33.336] { [13:10:33.336] { [13:10:33.336] { [13:10:33.336] base::local({ [13:10:33.336] has_future <- base::requireNamespace("future", [13:10:33.336] quietly = TRUE) [13:10:33.336] if (has_future) { [13:10:33.336] ns <- base::getNamespace("future") [13:10:33.336] version <- ns[[".package"]][["version"]] [13:10:33.336] if (is.null(version)) [13:10:33.336] version <- utils::packageVersion("future") [13:10:33.336] } [13:10:33.336] else { [13:10:33.336] version <- NULL [13:10:33.336] } [13:10:33.336] if (!has_future || version < "1.8.0") { [13:10:33.336] info <- base::c(r_version = base::gsub("R version ", [13:10:33.336] "", base::R.version$version.string), [13:10:33.336] platform = base::sprintf("%s (%s-bit)", [13:10:33.336] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:10:33.336] os = base::paste(base::Sys.info()[base::c("sysname", [13:10:33.336] "release", "version")], collapse = " "), [13:10:33.336] hostname = base::Sys.info()[["nodename"]]) [13:10:33.336] info <- base::sprintf("%s: %s", base::names(info), [13:10:33.336] info) [13:10:33.336] info <- base::paste(info, collapse = "; ") [13:10:33.336] if (!has_future) { [13:10:33.336] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:10:33.336] info) [13:10:33.336] } [13:10:33.336] else { [13:10:33.336] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:10:33.336] info, version) [13:10:33.336] } [13:10:33.336] base::stop(msg) [13:10:33.336] } [13:10:33.336] }) [13:10:33.336] } [13:10:33.336] ...future.strategy.old <- future::plan("list") [13:10:33.336] options(future.plan = NULL) [13:10:33.336] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.336] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:10:33.336] } [13:10:33.336] ...future.workdir <- getwd() [13:10:33.336] } [13:10:33.336] ...future.oldOptions <- base::as.list(base::.Options) [13:10:33.336] ...future.oldEnvVars <- base::Sys.getenv() [13:10:33.336] } [13:10:33.336] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:10:33.336] future.globals.maxSize = NULL, future.globals.method = NULL, [13:10:33.336] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:10:33.336] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:10:33.336] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:10:33.336] future.stdout.windows.reencode = NULL, width = 80L) [13:10:33.336] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:10:33.336] base::names(...future.oldOptions)) [13:10:33.336] } [13:10:33.336] if (FALSE) { [13:10:33.336] } [13:10:33.336] else { [13:10:33.336] if (TRUE) { [13:10:33.336] ...future.stdout <- base::rawConnection(base::raw(0L), [13:10:33.336] open = "w") [13:10:33.336] } [13:10:33.336] else { [13:10:33.336] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:10:33.336] windows = "NUL", "/dev/null"), open = "w") [13:10:33.336] } [13:10:33.336] base::sink(...future.stdout, type = "output", split = FALSE) [13:10:33.336] base::on.exit(if (!base::is.null(...future.stdout)) { [13:10:33.336] base::sink(type = "output", split = FALSE) [13:10:33.336] base::close(...future.stdout) [13:10:33.336] }, add = TRUE) [13:10:33.336] } [13:10:33.336] ...future.frame <- base::sys.nframe() [13:10:33.336] ...future.conditions <- base::list() [13:10:33.336] ...future.rng <- base::globalenv()$.Random.seed [13:10:33.336] if (FALSE) { [13:10:33.336] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:10:33.336] "...future.value", "...future.globalenv.names", ".Random.seed") [13:10:33.336] } [13:10:33.336] ...future.result <- base::tryCatch({ [13:10:33.336] base::withCallingHandlers({ [13:10:33.336] ...future.value <- base::withVisible(base::local({ [13:10:33.336] sum(x, y, ...) [13:10:33.336] })) [13:10:33.336] future::FutureResult(value = ...future.value$value, [13:10:33.336] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.336] ...future.rng), globalenv = if (FALSE) [13:10:33.336] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:10:33.336] ...future.globalenv.names)) [13:10:33.336] else NULL, started = ...future.startTime, version = "1.8") [13:10:33.336] }, condition = base::local({ [13:10:33.336] c <- base::c [13:10:33.336] inherits <- base::inherits [13:10:33.336] invokeRestart <- base::invokeRestart [13:10:33.336] length <- base::length [13:10:33.336] list <- base::list [13:10:33.336] seq.int <- base::seq.int [13:10:33.336] signalCondition <- base::signalCondition [13:10:33.336] sys.calls <- base::sys.calls [13:10:33.336] `[[` <- base::`[[` [13:10:33.336] `+` <- base::`+` [13:10:33.336] `<<-` <- base::`<<-` [13:10:33.336] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:10:33.336] calls[seq.int(from = from + 12L, to = length(calls) - [13:10:33.336] 3L)] [13:10:33.336] } [13:10:33.336] function(cond) { [13:10:33.336] is_error <- inherits(cond, "error") [13:10:33.336] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:10:33.336] NULL) [13:10:33.336] if (is_error) { [13:10:33.336] sessionInformation <- function() { [13:10:33.336] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:10:33.336] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:10:33.336] search = base::search(), system = base::Sys.info()) [13:10:33.336] } [13:10:33.336] ...future.conditions[[length(...future.conditions) + [13:10:33.336] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:10:33.336] cond$call), session = sessionInformation(), [13:10:33.336] timestamp = base::Sys.time(), signaled = 0L) [13:10:33.336] signalCondition(cond) [13:10:33.336] } [13:10:33.336] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:10:33.336] signal <- FALSE && inherits(cond, character(0)) [13:10:33.336] ...future.conditions[[length(...future.conditions) + [13:10:33.336] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:10:33.336] if (FALSE && !signal) { [13:10:33.336] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.336] { [13:10:33.336] inherits <- base::inherits [13:10:33.336] invokeRestart <- base::invokeRestart [13:10:33.336] is.null <- base::is.null [13:10:33.336] muffled <- FALSE [13:10:33.336] if (inherits(cond, "message")) { [13:10:33.336] muffled <- grepl(pattern, "muffleMessage") [13:10:33.336] if (muffled) [13:10:33.336] invokeRestart("muffleMessage") [13:10:33.336] } [13:10:33.336] else if (inherits(cond, "warning")) { [13:10:33.336] muffled <- grepl(pattern, "muffleWarning") [13:10:33.336] if (muffled) [13:10:33.336] invokeRestart("muffleWarning") [13:10:33.336] } [13:10:33.336] else if (inherits(cond, "condition")) { [13:10:33.336] if (!is.null(pattern)) { [13:10:33.336] computeRestarts <- base::computeRestarts [13:10:33.336] grepl <- base::grepl [13:10:33.336] restarts <- computeRestarts(cond) [13:10:33.336] for (restart in restarts) { [13:10:33.336] name <- restart$name [13:10:33.336] if (is.null(name)) [13:10:33.336] next [13:10:33.336] if (!grepl(pattern, name)) [13:10:33.336] next [13:10:33.336] invokeRestart(restart) [13:10:33.336] muffled <- TRUE [13:10:33.336] break [13:10:33.336] } [13:10:33.336] } [13:10:33.336] } [13:10:33.336] invisible(muffled) [13:10:33.336] } [13:10:33.336] muffleCondition(cond, pattern = "^muffle") [13:10:33.336] } [13:10:33.336] } [13:10:33.336] else { [13:10:33.336] if (TRUE) { [13:10:33.336] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.336] { [13:10:33.336] inherits <- base::inherits [13:10:33.336] invokeRestart <- base::invokeRestart [13:10:33.336] is.null <- base::is.null [13:10:33.336] muffled <- FALSE [13:10:33.336] if (inherits(cond, "message")) { [13:10:33.336] muffled <- grepl(pattern, "muffleMessage") [13:10:33.336] if (muffled) [13:10:33.336] invokeRestart("muffleMessage") [13:10:33.336] } [13:10:33.336] else if (inherits(cond, "warning")) { [13:10:33.336] muffled <- grepl(pattern, "muffleWarning") [13:10:33.336] if (muffled) [13:10:33.336] invokeRestart("muffleWarning") [13:10:33.336] } [13:10:33.336] else if (inherits(cond, "condition")) { [13:10:33.336] if (!is.null(pattern)) { [13:10:33.336] computeRestarts <- base::computeRestarts [13:10:33.336] grepl <- base::grepl [13:10:33.336] restarts <- computeRestarts(cond) [13:10:33.336] for (restart in restarts) { [13:10:33.336] name <- restart$name [13:10:33.336] if (is.null(name)) [13:10:33.336] next [13:10:33.336] if (!grepl(pattern, name)) [13:10:33.336] next [13:10:33.336] invokeRestart(restart) [13:10:33.336] muffled <- TRUE [13:10:33.336] break [13:10:33.336] } [13:10:33.336] } [13:10:33.336] } [13:10:33.336] invisible(muffled) [13:10:33.336] } [13:10:33.336] muffleCondition(cond, pattern = "^muffle") [13:10:33.336] } [13:10:33.336] } [13:10:33.336] } [13:10:33.336] })) [13:10:33.336] }, error = function(ex) { [13:10:33.336] base::structure(base::list(value = NULL, visible = NULL, [13:10:33.336] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.336] ...future.rng), started = ...future.startTime, [13:10:33.336] finished = Sys.time(), session_uuid = NA_character_, [13:10:33.336] version = "1.8"), class = "FutureResult") [13:10:33.336] }, finally = { [13:10:33.336] if (!identical(...future.workdir, getwd())) [13:10:33.336] setwd(...future.workdir) [13:10:33.336] { [13:10:33.336] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:10:33.336] ...future.oldOptions$nwarnings <- NULL [13:10:33.336] } [13:10:33.336] base::options(...future.oldOptions) [13:10:33.336] if (.Platform$OS.type == "windows") { [13:10:33.336] old_names <- names(...future.oldEnvVars) [13:10:33.336] envs <- base::Sys.getenv() [13:10:33.336] names <- names(envs) [13:10:33.336] common <- intersect(names, old_names) [13:10:33.336] added <- setdiff(names, old_names) [13:10:33.336] removed <- setdiff(old_names, names) [13:10:33.336] changed <- common[...future.oldEnvVars[common] != [13:10:33.336] envs[common]] [13:10:33.336] NAMES <- toupper(changed) [13:10:33.336] args <- list() [13:10:33.336] for (kk in seq_along(NAMES)) { [13:10:33.336] name <- changed[[kk]] [13:10:33.336] NAME <- NAMES[[kk]] [13:10:33.336] if (name != NAME && is.element(NAME, old_names)) [13:10:33.336] next [13:10:33.336] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.336] } [13:10:33.336] NAMES <- toupper(added) [13:10:33.336] for (kk in seq_along(NAMES)) { [13:10:33.336] name <- added[[kk]] [13:10:33.336] NAME <- NAMES[[kk]] [13:10:33.336] if (name != NAME && is.element(NAME, old_names)) [13:10:33.336] next [13:10:33.336] args[[name]] <- "" [13:10:33.336] } [13:10:33.336] NAMES <- toupper(removed) [13:10:33.336] for (kk in seq_along(NAMES)) { [13:10:33.336] name <- removed[[kk]] [13:10:33.336] NAME <- NAMES[[kk]] [13:10:33.336] if (name != NAME && is.element(NAME, old_names)) [13:10:33.336] next [13:10:33.336] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.336] } [13:10:33.336] if (length(args) > 0) [13:10:33.336] base::do.call(base::Sys.setenv, args = args) [13:10:33.336] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:10:33.336] } [13:10:33.336] else { [13:10:33.336] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:10:33.336] } [13:10:33.336] { [13:10:33.336] if (base::length(...future.futureOptionsAdded) > [13:10:33.336] 0L) { [13:10:33.336] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:10:33.336] base::names(opts) <- ...future.futureOptionsAdded [13:10:33.336] base::options(opts) [13:10:33.336] } [13:10:33.336] { [13:10:33.336] NULL [13:10:33.336] options(future.plan = NULL) [13:10:33.336] if (is.na(NA_character_)) [13:10:33.336] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.336] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:10:33.336] future::plan(...future.strategy.old, .cleanup = FALSE, [13:10:33.336] .init = FALSE) [13:10:33.336] } [13:10:33.336] } [13:10:33.336] } [13:10:33.336] }) [13:10:33.336] if (TRUE) { [13:10:33.336] base::sink(type = "output", split = FALSE) [13:10:33.336] if (TRUE) { [13:10:33.336] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:10:33.336] } [13:10:33.336] else { [13:10:33.336] ...future.result["stdout"] <- base::list(NULL) [13:10:33.336] } [13:10:33.336] base::close(...future.stdout) [13:10:33.336] ...future.stdout <- NULL [13:10:33.336] } [13:10:33.336] ...future.result$conditions <- ...future.conditions [13:10:33.336] ...future.result$finished <- base::Sys.time() [13:10:33.336] ...future.result [13:10:33.336] } [13:10:33.340] - Launch lazy future ... done [13:10:33.340] run() for 'MiraiFuture' ... done [13:10:33.342] signalConditions() ... [13:10:33.343] - include = 'immediateCondition' [13:10:33.343] - exclude = [13:10:33.343] - resignal = FALSE [13:10:33.343] - Number of conditions: 1 [13:10:33.343] signalConditions() ... done [13:10:33.343] Future state: 'finished' [13:10:33.344] signalConditions() ... [13:10:33.344] - include = 'condition' [13:10:33.344] - exclude = 'immediateCondition' [13:10:33.344] - resignal = TRUE [13:10:33.344] - Number of conditions: 1 [13:10:33.344] - Condition #1: 'simpleError', 'error', 'condition' [13:10:33.345] signalConditions() ... done [13:10:33.346] plan(): Setting new future strategy stack: [13:10:33.346] List of future strategies: [13:10:33.346] 1. mirai_multisession: [13:10:33.346] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:10:33.346] - tweaked: FALSE [13:10:33.346] - call: plan(strategy, substitute = FALSE) [13:10:33.347] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:10:33.347] < mirai | $data > [13:10:33.349] getGlobalsAndPackages() ... [13:10:33.349] Not searching for globals [13:10:33.350] - globals: [0] [13:10:33.350] getGlobalsAndPackages() ... DONE [13:10:33.350] getGlobalsAndPackages() ... [13:10:33.350] [13:10:33.350] - globals: [0] [13:10:33.350] getGlobalsAndPackages() ... DONE [13:10:33.351] Packages needed by the future expression (n = 0): [13:10:33.351] Packages needed by future strategies (n = 0): [13:10:33.352] { [13:10:33.352] { [13:10:33.352] { [13:10:33.352] ...future.startTime <- base::Sys.time() [13:10:33.352] { [13:10:33.352] { [13:10:33.352] { [13:10:33.352] base::local({ [13:10:33.352] has_future <- base::requireNamespace("future", [13:10:33.352] quietly = TRUE) [13:10:33.352] if (has_future) { [13:10:33.352] ns <- base::getNamespace("future") [13:10:33.352] version <- ns[[".package"]][["version"]] [13:10:33.352] if (is.null(version)) [13:10:33.352] version <- utils::packageVersion("future") [13:10:33.352] } [13:10:33.352] else { [13:10:33.352] version <- NULL [13:10:33.352] } [13:10:33.352] if (!has_future || version < "1.8.0") { [13:10:33.352] info <- base::c(r_version = base::gsub("R version ", [13:10:33.352] "", base::R.version$version.string), [13:10:33.352] platform = base::sprintf("%s (%s-bit)", [13:10:33.352] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:10:33.352] os = base::paste(base::Sys.info()[base::c("sysname", [13:10:33.352] "release", "version")], collapse = " "), [13:10:33.352] hostname = base::Sys.info()[["nodename"]]) [13:10:33.352] info <- base::sprintf("%s: %s", base::names(info), [13:10:33.352] info) [13:10:33.352] info <- base::paste(info, collapse = "; ") [13:10:33.352] if (!has_future) { [13:10:33.352] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:10:33.352] info) [13:10:33.352] } [13:10:33.352] else { [13:10:33.352] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:10:33.352] info, version) [13:10:33.352] } [13:10:33.352] base::stop(msg) [13:10:33.352] } [13:10:33.352] }) [13:10:33.352] } [13:10:33.352] ...future.strategy.old <- future::plan("list") [13:10:33.352] options(future.plan = NULL) [13:10:33.352] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.352] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:10:33.352] } [13:10:33.352] ...future.workdir <- getwd() [13:10:33.352] } [13:10:33.352] ...future.oldOptions <- base::as.list(base::.Options) [13:10:33.352] ...future.oldEnvVars <- base::Sys.getenv() [13:10:33.352] } [13:10:33.352] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:10:33.352] future.globals.maxSize = NULL, future.globals.method = NULL, [13:10:33.352] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:10:33.352] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:10:33.352] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:10:33.352] future.stdout.windows.reencode = NULL, width = 80L) [13:10:33.352] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:10:33.352] base::names(...future.oldOptions)) [13:10:33.352] } [13:10:33.352] if (FALSE) { [13:10:33.352] } [13:10:33.352] else { [13:10:33.352] if (TRUE) { [13:10:33.352] ...future.stdout <- base::rawConnection(base::raw(0L), [13:10:33.352] open = "w") [13:10:33.352] } [13:10:33.352] else { [13:10:33.352] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:10:33.352] windows = "NUL", "/dev/null"), open = "w") [13:10:33.352] } [13:10:33.352] base::sink(...future.stdout, type = "output", split = FALSE) [13:10:33.352] base::on.exit(if (!base::is.null(...future.stdout)) { [13:10:33.352] base::sink(type = "output", split = FALSE) [13:10:33.352] base::close(...future.stdout) [13:10:33.352] }, add = TRUE) [13:10:33.352] } [13:10:33.352] ...future.frame <- base::sys.nframe() [13:10:33.352] ...future.conditions <- base::list() [13:10:33.352] ...future.rng <- base::globalenv()$.Random.seed [13:10:33.352] if (FALSE) { [13:10:33.352] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:10:33.352] "...future.value", "...future.globalenv.names", ".Random.seed") [13:10:33.352] } [13:10:33.352] ...future.result <- base::tryCatch({ [13:10:33.352] base::withCallingHandlers({ [13:10:33.352] ...future.value <- base::withVisible(base::local(NA)) [13:10:33.352] future::FutureResult(value = ...future.value$value, [13:10:33.352] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.352] ...future.rng), globalenv = if (FALSE) [13:10:33.352] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:10:33.352] ...future.globalenv.names)) [13:10:33.352] else NULL, started = ...future.startTime, version = "1.8") [13:10:33.352] }, condition = base::local({ [13:10:33.352] c <- base::c [13:10:33.352] inherits <- base::inherits [13:10:33.352] invokeRestart <- base::invokeRestart [13:10:33.352] length <- base::length [13:10:33.352] list <- base::list [13:10:33.352] seq.int <- base::seq.int [13:10:33.352] signalCondition <- base::signalCondition [13:10:33.352] sys.calls <- base::sys.calls [13:10:33.352] `[[` <- base::`[[` [13:10:33.352] `+` <- base::`+` [13:10:33.352] `<<-` <- base::`<<-` [13:10:33.352] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:10:33.352] calls[seq.int(from = from + 12L, to = length(calls) - [13:10:33.352] 3L)] [13:10:33.352] } [13:10:33.352] function(cond) { [13:10:33.352] is_error <- inherits(cond, "error") [13:10:33.352] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:10:33.352] NULL) [13:10:33.352] if (is_error) { [13:10:33.352] sessionInformation <- function() { [13:10:33.352] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:10:33.352] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:10:33.352] search = base::search(), system = base::Sys.info()) [13:10:33.352] } [13:10:33.352] ...future.conditions[[length(...future.conditions) + [13:10:33.352] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:10:33.352] cond$call), session = sessionInformation(), [13:10:33.352] timestamp = base::Sys.time(), signaled = 0L) [13:10:33.352] signalCondition(cond) [13:10:33.352] } [13:10:33.352] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:10:33.352] signal <- FALSE && inherits(cond, character(0)) [13:10:33.352] ...future.conditions[[length(...future.conditions) + [13:10:33.352] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:10:33.352] if (FALSE && !signal) { [13:10:33.352] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.352] { [13:10:33.352] inherits <- base::inherits [13:10:33.352] invokeRestart <- base::invokeRestart [13:10:33.352] is.null <- base::is.null [13:10:33.352] muffled <- FALSE [13:10:33.352] if (inherits(cond, "message")) { [13:10:33.352] muffled <- grepl(pattern, "muffleMessage") [13:10:33.352] if (muffled) [13:10:33.352] invokeRestart("muffleMessage") [13:10:33.352] } [13:10:33.352] else if (inherits(cond, "warning")) { [13:10:33.352] muffled <- grepl(pattern, "muffleWarning") [13:10:33.352] if (muffled) [13:10:33.352] invokeRestart("muffleWarning") [13:10:33.352] } [13:10:33.352] else if (inherits(cond, "condition")) { [13:10:33.352] if (!is.null(pattern)) { [13:10:33.352] computeRestarts <- base::computeRestarts [13:10:33.352] grepl <- base::grepl [13:10:33.352] restarts <- computeRestarts(cond) [13:10:33.352] for (restart in restarts) { [13:10:33.352] name <- restart$name [13:10:33.352] if (is.null(name)) [13:10:33.352] next [13:10:33.352] if (!grepl(pattern, name)) [13:10:33.352] next [13:10:33.352] invokeRestart(restart) [13:10:33.352] muffled <- TRUE [13:10:33.352] break [13:10:33.352] } [13:10:33.352] } [13:10:33.352] } [13:10:33.352] invisible(muffled) [13:10:33.352] } [13:10:33.352] muffleCondition(cond, pattern = "^muffle") [13:10:33.352] } [13:10:33.352] } [13:10:33.352] else { [13:10:33.352] if (TRUE) { [13:10:33.352] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.352] { [13:10:33.352] inherits <- base::inherits [13:10:33.352] invokeRestart <- base::invokeRestart [13:10:33.352] is.null <- base::is.null [13:10:33.352] muffled <- FALSE [13:10:33.352] if (inherits(cond, "message")) { [13:10:33.352] muffled <- grepl(pattern, "muffleMessage") [13:10:33.352] if (muffled) [13:10:33.352] invokeRestart("muffleMessage") [13:10:33.352] } [13:10:33.352] else if (inherits(cond, "warning")) { [13:10:33.352] muffled <- grepl(pattern, "muffleWarning") [13:10:33.352] if (muffled) [13:10:33.352] invokeRestart("muffleWarning") [13:10:33.352] } [13:10:33.352] else if (inherits(cond, "condition")) { [13:10:33.352] if (!is.null(pattern)) { [13:10:33.352] computeRestarts <- base::computeRestarts [13:10:33.352] grepl <- base::grepl [13:10:33.352] restarts <- computeRestarts(cond) [13:10:33.352] for (restart in restarts) { [13:10:33.352] name <- restart$name [13:10:33.352] if (is.null(name)) [13:10:33.352] next [13:10:33.352] if (!grepl(pattern, name)) [13:10:33.352] next [13:10:33.352] invokeRestart(restart) [13:10:33.352] muffled <- TRUE [13:10:33.352] break [13:10:33.352] } [13:10:33.352] } [13:10:33.352] } [13:10:33.352] invisible(muffled) [13:10:33.352] } [13:10:33.352] muffleCondition(cond, pattern = "^muffle") [13:10:33.352] } [13:10:33.352] } [13:10:33.352] } [13:10:33.352] })) [13:10:33.352] }, error = function(ex) { [13:10:33.352] base::structure(base::list(value = NULL, visible = NULL, [13:10:33.352] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.352] ...future.rng), started = ...future.startTime, [13:10:33.352] finished = Sys.time(), session_uuid = NA_character_, [13:10:33.352] version = "1.8"), class = "FutureResult") [13:10:33.352] }, finally = { [13:10:33.352] if (!identical(...future.workdir, getwd())) [13:10:33.352] setwd(...future.workdir) [13:10:33.352] { [13:10:33.352] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:10:33.352] ...future.oldOptions$nwarnings <- NULL [13:10:33.352] } [13:10:33.352] base::options(...future.oldOptions) [13:10:33.352] if (.Platform$OS.type == "windows") { [13:10:33.352] old_names <- names(...future.oldEnvVars) [13:10:33.352] envs <- base::Sys.getenv() [13:10:33.352] names <- names(envs) [13:10:33.352] common <- intersect(names, old_names) [13:10:33.352] added <- setdiff(names, old_names) [13:10:33.352] removed <- setdiff(old_names, names) [13:10:33.352] changed <- common[...future.oldEnvVars[common] != [13:10:33.352] envs[common]] [13:10:33.352] NAMES <- toupper(changed) [13:10:33.352] args <- list() [13:10:33.352] for (kk in seq_along(NAMES)) { [13:10:33.352] name <- changed[[kk]] [13:10:33.352] NAME <- NAMES[[kk]] [13:10:33.352] if (name != NAME && is.element(NAME, old_names)) [13:10:33.352] next [13:10:33.352] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.352] } [13:10:33.352] NAMES <- toupper(added) [13:10:33.352] for (kk in seq_along(NAMES)) { [13:10:33.352] name <- added[[kk]] [13:10:33.352] NAME <- NAMES[[kk]] [13:10:33.352] if (name != NAME && is.element(NAME, old_names)) [13:10:33.352] next [13:10:33.352] args[[name]] <- "" [13:10:33.352] } [13:10:33.352] NAMES <- toupper(removed) [13:10:33.352] for (kk in seq_along(NAMES)) { [13:10:33.352] name <- removed[[kk]] [13:10:33.352] NAME <- NAMES[[kk]] [13:10:33.352] if (name != NAME && is.element(NAME, old_names)) [13:10:33.352] next [13:10:33.352] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.352] } [13:10:33.352] if (length(args) > 0) [13:10:33.352] base::do.call(base::Sys.setenv, args = args) [13:10:33.352] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:10:33.352] } [13:10:33.352] else { [13:10:33.352] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:10:33.352] } [13:10:33.352] { [13:10:33.352] if (base::length(...future.futureOptionsAdded) > [13:10:33.352] 0L) { [13:10:33.352] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:10:33.352] base::names(opts) <- ...future.futureOptionsAdded [13:10:33.352] base::options(opts) [13:10:33.352] } [13:10:33.352] { [13:10:33.352] NULL [13:10:33.352] options(future.plan = NULL) [13:10:33.352] if (is.na(NA_character_)) [13:10:33.352] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.352] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:10:33.352] future::plan(...future.strategy.old, .cleanup = FALSE, [13:10:33.352] .init = FALSE) [13:10:33.352] } [13:10:33.352] } [13:10:33.352] } [13:10:33.352] }) [13:10:33.352] if (TRUE) { [13:10:33.352] base::sink(type = "output", split = FALSE) [13:10:33.352] if (TRUE) { [13:10:33.352] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:10:33.352] } [13:10:33.352] else { [13:10:33.352] ...future.result["stdout"] <- base::list(NULL) [13:10:33.352] } [13:10:33.352] base::close(...future.stdout) [13:10:33.352] ...future.stdout <- NULL [13:10:33.352] } [13:10:33.352] ...future.result$conditions <- ...future.conditions [13:10:33.352] ...future.result$finished <- base::Sys.time() [13:10:33.352] ...future.result [13:10:33.352] } [13:10:33.357] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:10:33.358] plan(): nbrOfWorkers() = 2 [13:10:33.358] ** Sum function 'A' with plan('mirai_multisession') ...function (x, ...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } Arguments '...' exists: TRUE [13:10:33.361] getGlobalsAndPackages() ... [13:10:33.361] Searching for globals... [13:10:33.362] - globals found: [4] '{', 'sum', 'x', '...' [13:10:33.363] Searching for globals ... DONE [13:10:33.363] Resolving globals: FALSE [13:10:33.363] Tweak future expression to call with '...' arguments ... [13:10:33.363] { [13:10:33.363] do.call(function(...) { [13:10:33.363] sum(x, ...) [13:10:33.363] }, args = future.call.arguments) [13:10:33.363] } [13:10:33.363] Tweak future expression to call with '...' arguments ... DONE [13:10:33.364] The total size of the 2 globals is 112 bytes (112 bytes) [13:10:33.365] 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:10:33.365] - globals: [2] 'x', 'future.call.arguments' [13:10:33.365] [13:10:33.365] getGlobalsAndPackages() ... DONE [13:10:33.365] run() for 'Future' ... [13:10:33.366] - state: 'created' [13:10:33.366] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:10:33.368] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:10:33.368] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:10:33.368] - Field: 'label' [13:10:33.369] - Field: 'local' [13:10:33.369] - Field: 'owner' [13:10:33.369] - Field: 'envir' [13:10:33.369] - Field: 'packages' [13:10:33.369] - Field: 'gc' [13:10:33.369] - Field: 'conditions' [13:10:33.370] - Field: 'expr' [13:10:33.370] - Field: 'uuid' [13:10:33.370] - Field: 'seed' [13:10:33.370] - Field: 'version' [13:10:33.370] - Field: 'result' [13:10:33.370] - Field: 'asynchronous' [13:10:33.371] - Field: 'calls' [13:10:33.371] - Field: 'globals' [13:10:33.371] - Field: 'stdout' [13:10:33.371] - Field: 'earlySignal' [13:10:33.371] - Field: 'lazy' [13:10:33.371] - Field: 'state' [13:10:33.372] - Field: '.cluster' [13:10:33.372] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:10:33.372] - Launch lazy future ... [13:10:33.372] Packages needed by the future expression (n = 0): [13:10:33.372] Packages needed by future strategies (n = 0): [13:10:33.373] { [13:10:33.373] { [13:10:33.373] { [13:10:33.373] ...future.startTime <- base::Sys.time() [13:10:33.373] { [13:10:33.373] { [13:10:33.373] { [13:10:33.373] base::local({ [13:10:33.373] has_future <- base::requireNamespace("future", [13:10:33.373] quietly = TRUE) [13:10:33.373] if (has_future) { [13:10:33.373] ns <- base::getNamespace("future") [13:10:33.373] version <- ns[[".package"]][["version"]] [13:10:33.373] if (is.null(version)) [13:10:33.373] version <- utils::packageVersion("future") [13:10:33.373] } [13:10:33.373] else { [13:10:33.373] version <- NULL [13:10:33.373] } [13:10:33.373] if (!has_future || version < "1.8.0") { [13:10:33.373] info <- base::c(r_version = base::gsub("R version ", [13:10:33.373] "", base::R.version$version.string), [13:10:33.373] platform = base::sprintf("%s (%s-bit)", [13:10:33.373] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:10:33.373] os = base::paste(base::Sys.info()[base::c("sysname", [13:10:33.373] "release", "version")], collapse = " "), [13:10:33.373] hostname = base::Sys.info()[["nodename"]]) [13:10:33.373] info <- base::sprintf("%s: %s", base::names(info), [13:10:33.373] info) [13:10:33.373] info <- base::paste(info, collapse = "; ") [13:10:33.373] if (!has_future) { [13:10:33.373] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:10:33.373] info) [13:10:33.373] } [13:10:33.373] else { [13:10:33.373] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:10:33.373] info, version) [13:10:33.373] } [13:10:33.373] base::stop(msg) [13:10:33.373] } [13:10:33.373] }) [13:10:33.373] } [13:10:33.373] ...future.strategy.old <- future::plan("list") [13:10:33.373] options(future.plan = NULL) [13:10:33.373] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.373] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:10:33.373] } [13:10:33.373] ...future.workdir <- getwd() [13:10:33.373] } [13:10:33.373] ...future.oldOptions <- base::as.list(base::.Options) [13:10:33.373] ...future.oldEnvVars <- base::Sys.getenv() [13:10:33.373] } [13:10:33.373] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:10:33.373] future.globals.maxSize = NULL, future.globals.method = NULL, [13:10:33.373] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:10:33.373] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:10:33.373] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:10:33.373] future.stdout.windows.reencode = NULL, width = 80L) [13:10:33.373] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:10:33.373] base::names(...future.oldOptions)) [13:10:33.373] } [13:10:33.373] if (FALSE) { [13:10:33.373] } [13:10:33.373] else { [13:10:33.373] if (TRUE) { [13:10:33.373] ...future.stdout <- base::rawConnection(base::raw(0L), [13:10:33.373] open = "w") [13:10:33.373] } [13:10:33.373] else { [13:10:33.373] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:10:33.373] windows = "NUL", "/dev/null"), open = "w") [13:10:33.373] } [13:10:33.373] base::sink(...future.stdout, type = "output", split = FALSE) [13:10:33.373] base::on.exit(if (!base::is.null(...future.stdout)) { [13:10:33.373] base::sink(type = "output", split = FALSE) [13:10:33.373] base::close(...future.stdout) [13:10:33.373] }, add = TRUE) [13:10:33.373] } [13:10:33.373] ...future.frame <- base::sys.nframe() [13:10:33.373] ...future.conditions <- base::list() [13:10:33.373] ...future.rng <- base::globalenv()$.Random.seed [13:10:33.373] if (FALSE) { [13:10:33.373] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:10:33.373] "...future.value", "...future.globalenv.names", ".Random.seed") [13:10:33.373] } [13:10:33.373] ...future.result <- base::tryCatch({ [13:10:33.373] base::withCallingHandlers({ [13:10:33.373] ...future.value <- base::withVisible(base::local({ [13:10:33.373] do.call(function(...) { [13:10:33.373] sum(x, ...) [13:10:33.373] }, args = future.call.arguments) [13:10:33.373] })) [13:10:33.373] future::FutureResult(value = ...future.value$value, [13:10:33.373] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.373] ...future.rng), globalenv = if (FALSE) [13:10:33.373] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:10:33.373] ...future.globalenv.names)) [13:10:33.373] else NULL, started = ...future.startTime, version = "1.8") [13:10:33.373] }, condition = base::local({ [13:10:33.373] c <- base::c [13:10:33.373] inherits <- base::inherits [13:10:33.373] invokeRestart <- base::invokeRestart [13:10:33.373] length <- base::length [13:10:33.373] list <- base::list [13:10:33.373] seq.int <- base::seq.int [13:10:33.373] signalCondition <- base::signalCondition [13:10:33.373] sys.calls <- base::sys.calls [13:10:33.373] `[[` <- base::`[[` [13:10:33.373] `+` <- base::`+` [13:10:33.373] `<<-` <- base::`<<-` [13:10:33.373] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:10:33.373] calls[seq.int(from = from + 12L, to = length(calls) - [13:10:33.373] 3L)] [13:10:33.373] } [13:10:33.373] function(cond) { [13:10:33.373] is_error <- inherits(cond, "error") [13:10:33.373] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:10:33.373] NULL) [13:10:33.373] if (is_error) { [13:10:33.373] sessionInformation <- function() { [13:10:33.373] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:10:33.373] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:10:33.373] search = base::search(), system = base::Sys.info()) [13:10:33.373] } [13:10:33.373] ...future.conditions[[length(...future.conditions) + [13:10:33.373] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:10:33.373] cond$call), session = sessionInformation(), [13:10:33.373] timestamp = base::Sys.time(), signaled = 0L) [13:10:33.373] signalCondition(cond) [13:10:33.373] } [13:10:33.373] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:10:33.373] signal <- FALSE && inherits(cond, character(0)) [13:10:33.373] ...future.conditions[[length(...future.conditions) + [13:10:33.373] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:10:33.373] if (FALSE && !signal) { [13:10:33.373] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.373] { [13:10:33.373] inherits <- base::inherits [13:10:33.373] invokeRestart <- base::invokeRestart [13:10:33.373] is.null <- base::is.null [13:10:33.373] muffled <- FALSE [13:10:33.373] if (inherits(cond, "message")) { [13:10:33.373] muffled <- grepl(pattern, "muffleMessage") [13:10:33.373] if (muffled) [13:10:33.373] invokeRestart("muffleMessage") [13:10:33.373] } [13:10:33.373] else if (inherits(cond, "warning")) { [13:10:33.373] muffled <- grepl(pattern, "muffleWarning") [13:10:33.373] if (muffled) [13:10:33.373] invokeRestart("muffleWarning") [13:10:33.373] } [13:10:33.373] else if (inherits(cond, "condition")) { [13:10:33.373] if (!is.null(pattern)) { [13:10:33.373] computeRestarts <- base::computeRestarts [13:10:33.373] grepl <- base::grepl [13:10:33.373] restarts <- computeRestarts(cond) [13:10:33.373] for (restart in restarts) { [13:10:33.373] name <- restart$name [13:10:33.373] if (is.null(name)) [13:10:33.373] next [13:10:33.373] if (!grepl(pattern, name)) [13:10:33.373] next [13:10:33.373] invokeRestart(restart) [13:10:33.373] muffled <- TRUE [13:10:33.373] break [13:10:33.373] } [13:10:33.373] } [13:10:33.373] } [13:10:33.373] invisible(muffled) [13:10:33.373] } [13:10:33.373] muffleCondition(cond, pattern = "^muffle") [13:10:33.373] } [13:10:33.373] } [13:10:33.373] else { [13:10:33.373] if (TRUE) { [13:10:33.373] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.373] { [13:10:33.373] inherits <- base::inherits [13:10:33.373] invokeRestart <- base::invokeRestart [13:10:33.373] is.null <- base::is.null [13:10:33.373] muffled <- FALSE [13:10:33.373] if (inherits(cond, "message")) { [13:10:33.373] muffled <- grepl(pattern, "muffleMessage") [13:10:33.373] if (muffled) [13:10:33.373] invokeRestart("muffleMessage") [13:10:33.373] } [13:10:33.373] else if (inherits(cond, "warning")) { [13:10:33.373] muffled <- grepl(pattern, "muffleWarning") [13:10:33.373] if (muffled) [13:10:33.373] invokeRestart("muffleWarning") [13:10:33.373] } [13:10:33.373] else if (inherits(cond, "condition")) { [13:10:33.373] if (!is.null(pattern)) { [13:10:33.373] computeRestarts <- base::computeRestarts [13:10:33.373] grepl <- base::grepl [13:10:33.373] restarts <- computeRestarts(cond) [13:10:33.373] for (restart in restarts) { [13:10:33.373] name <- restart$name [13:10:33.373] if (is.null(name)) [13:10:33.373] next [13:10:33.373] if (!grepl(pattern, name)) [13:10:33.373] next [13:10:33.373] invokeRestart(restart) [13:10:33.373] muffled <- TRUE [13:10:33.373] break [13:10:33.373] } [13:10:33.373] } [13:10:33.373] } [13:10:33.373] invisible(muffled) [13:10:33.373] } [13:10:33.373] muffleCondition(cond, pattern = "^muffle") [13:10:33.373] } [13:10:33.373] } [13:10:33.373] } [13:10:33.373] })) [13:10:33.373] }, error = function(ex) { [13:10:33.373] base::structure(base::list(value = NULL, visible = NULL, [13:10:33.373] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.373] ...future.rng), started = ...future.startTime, [13:10:33.373] finished = Sys.time(), session_uuid = NA_character_, [13:10:33.373] version = "1.8"), class = "FutureResult") [13:10:33.373] }, finally = { [13:10:33.373] if (!identical(...future.workdir, getwd())) [13:10:33.373] setwd(...future.workdir) [13:10:33.373] { [13:10:33.373] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:10:33.373] ...future.oldOptions$nwarnings <- NULL [13:10:33.373] } [13:10:33.373] base::options(...future.oldOptions) [13:10:33.373] if (.Platform$OS.type == "windows") { [13:10:33.373] old_names <- names(...future.oldEnvVars) [13:10:33.373] envs <- base::Sys.getenv() [13:10:33.373] names <- names(envs) [13:10:33.373] common <- intersect(names, old_names) [13:10:33.373] added <- setdiff(names, old_names) [13:10:33.373] removed <- setdiff(old_names, names) [13:10:33.373] changed <- common[...future.oldEnvVars[common] != [13:10:33.373] envs[common]] [13:10:33.373] NAMES <- toupper(changed) [13:10:33.373] args <- list() [13:10:33.373] for (kk in seq_along(NAMES)) { [13:10:33.373] name <- changed[[kk]] [13:10:33.373] NAME <- NAMES[[kk]] [13:10:33.373] if (name != NAME && is.element(NAME, old_names)) [13:10:33.373] next [13:10:33.373] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.373] } [13:10:33.373] NAMES <- toupper(added) [13:10:33.373] for (kk in seq_along(NAMES)) { [13:10:33.373] name <- added[[kk]] [13:10:33.373] NAME <- NAMES[[kk]] [13:10:33.373] if (name != NAME && is.element(NAME, old_names)) [13:10:33.373] next [13:10:33.373] args[[name]] <- "" [13:10:33.373] } [13:10:33.373] NAMES <- toupper(removed) [13:10:33.373] for (kk in seq_along(NAMES)) { [13:10:33.373] name <- removed[[kk]] [13:10:33.373] NAME <- NAMES[[kk]] [13:10:33.373] if (name != NAME && is.element(NAME, old_names)) [13:10:33.373] next [13:10:33.373] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.373] } [13:10:33.373] if (length(args) > 0) [13:10:33.373] base::do.call(base::Sys.setenv, args = args) [13:10:33.373] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:10:33.373] } [13:10:33.373] else { [13:10:33.373] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:10:33.373] } [13:10:33.373] { [13:10:33.373] if (base::length(...future.futureOptionsAdded) > [13:10:33.373] 0L) { [13:10:33.373] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:10:33.373] base::names(opts) <- ...future.futureOptionsAdded [13:10:33.373] base::options(opts) [13:10:33.373] } [13:10:33.373] { [13:10:33.373] NULL [13:10:33.373] options(future.plan = NULL) [13:10:33.373] if (is.na(NA_character_)) [13:10:33.373] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.373] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:10:33.373] future::plan(...future.strategy.old, .cleanup = FALSE, [13:10:33.373] .init = FALSE) [13:10:33.373] } [13:10:33.373] } [13:10:33.373] } [13:10:33.373] }) [13:10:33.373] if (TRUE) { [13:10:33.373] base::sink(type = "output", split = FALSE) [13:10:33.373] if (TRUE) { [13:10:33.373] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:10:33.373] } [13:10:33.373] else { [13:10:33.373] ...future.result["stdout"] <- base::list(NULL) [13:10:33.373] } [13:10:33.373] base::close(...future.stdout) [13:10:33.373] ...future.stdout <- NULL [13:10:33.373] } [13:10:33.373] ...future.result$conditions <- ...future.conditions [13:10:33.373] ...future.result$finished <- base::Sys.time() [13:10:33.373] ...future.result [13:10:33.373] } [13:10:33.377] - Launch lazy future ... done [13:10:33.377] run() for 'MiraiFuture' ... done [1] 6 [13:10:33.379] ** 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:10:33.384] getGlobalsAndPackages() ... [13:10:33.384] Searching for globals... [13:10:33.385] - globals found: [4] '{', 'sum', 'x', '...' [13:10:33.386] Searching for globals ... DONE [13:10:33.386] Resolving globals: FALSE [13:10:33.386] Tweak future expression to call with '...' arguments ... [13:10:33.386] { [13:10:33.386] do.call(function(...) { [13:10:33.386] sum(x, ...) [13:10:33.386] }, args = future.call.arguments) [13:10:33.386] } [13:10:33.386] Tweak future expression to call with '...' arguments ... DONE [13:10:33.387] The total size of the 2 globals is 112 bytes (112 bytes) [13:10:33.388] 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:10:33.388] - globals: [2] 'x', 'future.call.arguments' [13:10:33.388] [13:10:33.388] getGlobalsAndPackages() ... DONE [13:10:33.388] run() for 'Future' ... [13:10:33.389] - state: 'created' [13:10:33.389] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:10:33.391] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:10:33.391] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:10:33.391] - Field: 'label' [13:10:33.392] - Field: 'local' [13:10:33.392] - Field: 'owner' [13:10:33.392] - Field: 'envir' [13:10:33.392] - Field: 'packages' [13:10:33.392] - Field: 'gc' [13:10:33.392] - Field: 'conditions' [13:10:33.393] - Field: 'expr' [13:10:33.393] - Field: 'uuid' [13:10:33.393] - Field: 'seed' [13:10:33.393] - Field: 'version' [13:10:33.393] - Field: 'result' [13:10:33.393] - Field: 'asynchronous' [13:10:33.394] - Field: 'calls' [13:10:33.394] - Field: 'globals' [13:10:33.394] - Field: 'stdout' [13:10:33.394] - Field: 'earlySignal' [13:10:33.394] - Field: 'lazy' [13:10:33.394] - Field: 'state' [13:10:33.395] - Field: '.cluster' [13:10:33.395] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:10:33.395] - Launch lazy future ... [13:10:33.395] Packages needed by the future expression (n = 0): [13:10:33.395] Packages needed by future strategies (n = 0): [13:10:33.396] { [13:10:33.396] { [13:10:33.396] { [13:10:33.396] ...future.startTime <- base::Sys.time() [13:10:33.396] { [13:10:33.396] { [13:10:33.396] { [13:10:33.396] base::local({ [13:10:33.396] has_future <- base::requireNamespace("future", [13:10:33.396] quietly = TRUE) [13:10:33.396] if (has_future) { [13:10:33.396] ns <- base::getNamespace("future") [13:10:33.396] version <- ns[[".package"]][["version"]] [13:10:33.396] if (is.null(version)) [13:10:33.396] version <- utils::packageVersion("future") [13:10:33.396] } [13:10:33.396] else { [13:10:33.396] version <- NULL [13:10:33.396] } [13:10:33.396] if (!has_future || version < "1.8.0") { [13:10:33.396] info <- base::c(r_version = base::gsub("R version ", [13:10:33.396] "", base::R.version$version.string), [13:10:33.396] platform = base::sprintf("%s (%s-bit)", [13:10:33.396] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:10:33.396] os = base::paste(base::Sys.info()[base::c("sysname", [13:10:33.396] "release", "version")], collapse = " "), [13:10:33.396] hostname = base::Sys.info()[["nodename"]]) [13:10:33.396] info <- base::sprintf("%s: %s", base::names(info), [13:10:33.396] info) [13:10:33.396] info <- base::paste(info, collapse = "; ") [13:10:33.396] if (!has_future) { [13:10:33.396] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:10:33.396] info) [13:10:33.396] } [13:10:33.396] else { [13:10:33.396] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:10:33.396] info, version) [13:10:33.396] } [13:10:33.396] base::stop(msg) [13:10:33.396] } [13:10:33.396] }) [13:10:33.396] } [13:10:33.396] ...future.strategy.old <- future::plan("list") [13:10:33.396] options(future.plan = NULL) [13:10:33.396] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.396] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:10:33.396] } [13:10:33.396] ...future.workdir <- getwd() [13:10:33.396] } [13:10:33.396] ...future.oldOptions <- base::as.list(base::.Options) [13:10:33.396] ...future.oldEnvVars <- base::Sys.getenv() [13:10:33.396] } [13:10:33.396] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:10:33.396] future.globals.maxSize = NULL, future.globals.method = NULL, [13:10:33.396] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:10:33.396] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:10:33.396] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:10:33.396] future.stdout.windows.reencode = NULL, width = 80L) [13:10:33.396] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:10:33.396] base::names(...future.oldOptions)) [13:10:33.396] } [13:10:33.396] if (FALSE) { [13:10:33.396] } [13:10:33.396] else { [13:10:33.396] if (TRUE) { [13:10:33.396] ...future.stdout <- base::rawConnection(base::raw(0L), [13:10:33.396] open = "w") [13:10:33.396] } [13:10:33.396] else { [13:10:33.396] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:10:33.396] windows = "NUL", "/dev/null"), open = "w") [13:10:33.396] } [13:10:33.396] base::sink(...future.stdout, type = "output", split = FALSE) [13:10:33.396] base::on.exit(if (!base::is.null(...future.stdout)) { [13:10:33.396] base::sink(type = "output", split = FALSE) [13:10:33.396] base::close(...future.stdout) [13:10:33.396] }, add = TRUE) [13:10:33.396] } [13:10:33.396] ...future.frame <- base::sys.nframe() [13:10:33.396] ...future.conditions <- base::list() [13:10:33.396] ...future.rng <- base::globalenv()$.Random.seed [13:10:33.396] if (FALSE) { [13:10:33.396] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:10:33.396] "...future.value", "...future.globalenv.names", ".Random.seed") [13:10:33.396] } [13:10:33.396] ...future.result <- base::tryCatch({ [13:10:33.396] base::withCallingHandlers({ [13:10:33.396] ...future.value <- base::withVisible(base::local({ [13:10:33.396] do.call(function(...) { [13:10:33.396] sum(x, ...) [13:10:33.396] }, args = future.call.arguments) [13:10:33.396] })) [13:10:33.396] future::FutureResult(value = ...future.value$value, [13:10:33.396] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.396] ...future.rng), globalenv = if (FALSE) [13:10:33.396] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:10:33.396] ...future.globalenv.names)) [13:10:33.396] else NULL, started = ...future.startTime, version = "1.8") [13:10:33.396] }, condition = base::local({ [13:10:33.396] c <- base::c [13:10:33.396] inherits <- base::inherits [13:10:33.396] invokeRestart <- base::invokeRestart [13:10:33.396] length <- base::length [13:10:33.396] list <- base::list [13:10:33.396] seq.int <- base::seq.int [13:10:33.396] signalCondition <- base::signalCondition [13:10:33.396] sys.calls <- base::sys.calls [13:10:33.396] `[[` <- base::`[[` [13:10:33.396] `+` <- base::`+` [13:10:33.396] `<<-` <- base::`<<-` [13:10:33.396] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:10:33.396] calls[seq.int(from = from + 12L, to = length(calls) - [13:10:33.396] 3L)] [13:10:33.396] } [13:10:33.396] function(cond) { [13:10:33.396] is_error <- inherits(cond, "error") [13:10:33.396] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:10:33.396] NULL) [13:10:33.396] if (is_error) { [13:10:33.396] sessionInformation <- function() { [13:10:33.396] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:10:33.396] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:10:33.396] search = base::search(), system = base::Sys.info()) [13:10:33.396] } [13:10:33.396] ...future.conditions[[length(...future.conditions) + [13:10:33.396] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:10:33.396] cond$call), session = sessionInformation(), [13:10:33.396] timestamp = base::Sys.time(), signaled = 0L) [13:10:33.396] signalCondition(cond) [13:10:33.396] } [13:10:33.396] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:10:33.396] signal <- FALSE && inherits(cond, character(0)) [13:10:33.396] ...future.conditions[[length(...future.conditions) + [13:10:33.396] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:10:33.396] if (FALSE && !signal) { [13:10:33.396] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.396] { [13:10:33.396] inherits <- base::inherits [13:10:33.396] invokeRestart <- base::invokeRestart [13:10:33.396] is.null <- base::is.null [13:10:33.396] muffled <- FALSE [13:10:33.396] if (inherits(cond, "message")) { [13:10:33.396] muffled <- grepl(pattern, "muffleMessage") [13:10:33.396] if (muffled) [13:10:33.396] invokeRestart("muffleMessage") [13:10:33.396] } [13:10:33.396] else if (inherits(cond, "warning")) { [13:10:33.396] muffled <- grepl(pattern, "muffleWarning") [13:10:33.396] if (muffled) [13:10:33.396] invokeRestart("muffleWarning") [13:10:33.396] } [13:10:33.396] else if (inherits(cond, "condition")) { [13:10:33.396] if (!is.null(pattern)) { [13:10:33.396] computeRestarts <- base::computeRestarts [13:10:33.396] grepl <- base::grepl [13:10:33.396] restarts <- computeRestarts(cond) [13:10:33.396] for (restart in restarts) { [13:10:33.396] name <- restart$name [13:10:33.396] if (is.null(name)) [13:10:33.396] next [13:10:33.396] if (!grepl(pattern, name)) [13:10:33.396] next [13:10:33.396] invokeRestart(restart) [13:10:33.396] muffled <- TRUE [13:10:33.396] break [13:10:33.396] } [13:10:33.396] } [13:10:33.396] } [13:10:33.396] invisible(muffled) [13:10:33.396] } [13:10:33.396] muffleCondition(cond, pattern = "^muffle") [13:10:33.396] } [13:10:33.396] } [13:10:33.396] else { [13:10:33.396] if (TRUE) { [13:10:33.396] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.396] { [13:10:33.396] inherits <- base::inherits [13:10:33.396] invokeRestart <- base::invokeRestart [13:10:33.396] is.null <- base::is.null [13:10:33.396] muffled <- FALSE [13:10:33.396] if (inherits(cond, "message")) { [13:10:33.396] muffled <- grepl(pattern, "muffleMessage") [13:10:33.396] if (muffled) [13:10:33.396] invokeRestart("muffleMessage") [13:10:33.396] } [13:10:33.396] else if (inherits(cond, "warning")) { [13:10:33.396] muffled <- grepl(pattern, "muffleWarning") [13:10:33.396] if (muffled) [13:10:33.396] invokeRestart("muffleWarning") [13:10:33.396] } [13:10:33.396] else if (inherits(cond, "condition")) { [13:10:33.396] if (!is.null(pattern)) { [13:10:33.396] computeRestarts <- base::computeRestarts [13:10:33.396] grepl <- base::grepl [13:10:33.396] restarts <- computeRestarts(cond) [13:10:33.396] for (restart in restarts) { [13:10:33.396] name <- restart$name [13:10:33.396] if (is.null(name)) [13:10:33.396] next [13:10:33.396] if (!grepl(pattern, name)) [13:10:33.396] next [13:10:33.396] invokeRestart(restart) [13:10:33.396] muffled <- TRUE [13:10:33.396] break [13:10:33.396] } [13:10:33.396] } [13:10:33.396] } [13:10:33.396] invisible(muffled) [13:10:33.396] } [13:10:33.396] muffleCondition(cond, pattern = "^muffle") [13:10:33.396] } [13:10:33.396] } [13:10:33.396] } [13:10:33.396] })) [13:10:33.396] }, error = function(ex) { [13:10:33.396] base::structure(base::list(value = NULL, visible = NULL, [13:10:33.396] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.396] ...future.rng), started = ...future.startTime, [13:10:33.396] finished = Sys.time(), session_uuid = NA_character_, [13:10:33.396] version = "1.8"), class = "FutureResult") [13:10:33.396] }, finally = { [13:10:33.396] if (!identical(...future.workdir, getwd())) [13:10:33.396] setwd(...future.workdir) [13:10:33.396] { [13:10:33.396] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:10:33.396] ...future.oldOptions$nwarnings <- NULL [13:10:33.396] } [13:10:33.396] base::options(...future.oldOptions) [13:10:33.396] if (.Platform$OS.type == "windows") { [13:10:33.396] old_names <- names(...future.oldEnvVars) [13:10:33.396] envs <- base::Sys.getenv() [13:10:33.396] names <- names(envs) [13:10:33.396] common <- intersect(names, old_names) [13:10:33.396] added <- setdiff(names, old_names) [13:10:33.396] removed <- setdiff(old_names, names) [13:10:33.396] changed <- common[...future.oldEnvVars[common] != [13:10:33.396] envs[common]] [13:10:33.396] NAMES <- toupper(changed) [13:10:33.396] args <- list() [13:10:33.396] for (kk in seq_along(NAMES)) { [13:10:33.396] name <- changed[[kk]] [13:10:33.396] NAME <- NAMES[[kk]] [13:10:33.396] if (name != NAME && is.element(NAME, old_names)) [13:10:33.396] next [13:10:33.396] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.396] } [13:10:33.396] NAMES <- toupper(added) [13:10:33.396] for (kk in seq_along(NAMES)) { [13:10:33.396] name <- added[[kk]] [13:10:33.396] NAME <- NAMES[[kk]] [13:10:33.396] if (name != NAME && is.element(NAME, old_names)) [13:10:33.396] next [13:10:33.396] args[[name]] <- "" [13:10:33.396] } [13:10:33.396] NAMES <- toupper(removed) [13:10:33.396] for (kk in seq_along(NAMES)) { [13:10:33.396] name <- removed[[kk]] [13:10:33.396] NAME <- NAMES[[kk]] [13:10:33.396] if (name != NAME && is.element(NAME, old_names)) [13:10:33.396] next [13:10:33.396] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.396] } [13:10:33.396] if (length(args) > 0) [13:10:33.396] base::do.call(base::Sys.setenv, args = args) [13:10:33.396] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:10:33.396] } [13:10:33.396] else { [13:10:33.396] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:10:33.396] } [13:10:33.396] { [13:10:33.396] if (base::length(...future.futureOptionsAdded) > [13:10:33.396] 0L) { [13:10:33.396] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:10:33.396] base::names(opts) <- ...future.futureOptionsAdded [13:10:33.396] base::options(opts) [13:10:33.396] } [13:10:33.396] { [13:10:33.396] NULL [13:10:33.396] options(future.plan = NULL) [13:10:33.396] if (is.na(NA_character_)) [13:10:33.396] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.396] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:10:33.396] future::plan(...future.strategy.old, .cleanup = FALSE, [13:10:33.396] .init = FALSE) [13:10:33.396] } [13:10:33.396] } [13:10:33.396] } [13:10:33.396] }) [13:10:33.396] if (TRUE) { [13:10:33.396] base::sink(type = "output", split = FALSE) [13:10:33.396] if (TRUE) { [13:10:33.396] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:10:33.396] } [13:10:33.396] else { [13:10:33.396] ...future.result["stdout"] <- base::list(NULL) [13:10:33.396] } [13:10:33.396] base::close(...future.stdout) [13:10:33.396] ...future.stdout <- NULL [13:10:33.396] } [13:10:33.396] ...future.result$conditions <- ...future.conditions [13:10:33.396] ...future.result$finished <- base::Sys.time() [13:10:33.396] ...future.result [13:10:33.396] } [13:10:33.400] - Launch lazy future ... done [13:10:33.400] run() for 'MiraiFuture' ... done [1] 6 [13:10:33.402] ** 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:10:33.404] getGlobalsAndPackages() ... [13:10:33.405] Searching for globals... [13:10:33.406] - globals found: [4] '{', 'sum', 'x', 'y' [13:10:33.406] Searching for globals ... DONE [13:10:33.406] Resolving globals: FALSE [13:10:33.407] The total size of the 2 globals is 112 bytes (112 bytes) [13:10:33.407] 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:10:33.407] - globals: [2] 'x', 'y' [13:10:33.408] [13:10:33.408] getGlobalsAndPackages() ... DONE [13:10:33.408] run() for 'Future' ... [13:10:33.408] - state: 'created' [13:10:33.408] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:10:33.411] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:10:33.411] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:10:33.411] - Field: 'label' [13:10:33.411] - Field: 'local' [13:10:33.411] - Field: 'owner' [13:10:33.412] - Field: 'envir' [13:10:33.412] - Field: 'packages' [13:10:33.412] - Field: 'gc' [13:10:33.412] - Field: 'conditions' [13:10:33.412] - Field: 'expr' [13:10:33.412] - Field: 'uuid' [13:10:33.413] - Field: 'seed' [13:10:33.413] - Field: 'version' [13:10:33.413] - Field: 'result' [13:10:33.413] - Field: 'asynchronous' [13:10:33.413] - Field: 'calls' [13:10:33.413] - Field: 'globals' [13:10:33.414] - Field: 'stdout' [13:10:33.414] - Field: 'earlySignal' [13:10:33.414] - Field: 'lazy' [13:10:33.414] - Field: 'state' [13:10:33.414] - Field: '.cluster' [13:10:33.414] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:10:33.415] - Launch lazy future ... [13:10:33.415] Packages needed by the future expression (n = 0): [13:10:33.415] Packages needed by future strategies (n = 0): [13:10:33.416] { [13:10:33.416] { [13:10:33.416] { [13:10:33.416] ...future.startTime <- base::Sys.time() [13:10:33.416] { [13:10:33.416] { [13:10:33.416] { [13:10:33.416] base::local({ [13:10:33.416] has_future <- base::requireNamespace("future", [13:10:33.416] quietly = TRUE) [13:10:33.416] if (has_future) { [13:10:33.416] ns <- base::getNamespace("future") [13:10:33.416] version <- ns[[".package"]][["version"]] [13:10:33.416] if (is.null(version)) [13:10:33.416] version <- utils::packageVersion("future") [13:10:33.416] } [13:10:33.416] else { [13:10:33.416] version <- NULL [13:10:33.416] } [13:10:33.416] if (!has_future || version < "1.8.0") { [13:10:33.416] info <- base::c(r_version = base::gsub("R version ", [13:10:33.416] "", base::R.version$version.string), [13:10:33.416] platform = base::sprintf("%s (%s-bit)", [13:10:33.416] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:10:33.416] os = base::paste(base::Sys.info()[base::c("sysname", [13:10:33.416] "release", "version")], collapse = " "), [13:10:33.416] hostname = base::Sys.info()[["nodename"]]) [13:10:33.416] info <- base::sprintf("%s: %s", base::names(info), [13:10:33.416] info) [13:10:33.416] info <- base::paste(info, collapse = "; ") [13:10:33.416] if (!has_future) { [13:10:33.416] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:10:33.416] info) [13:10:33.416] } [13:10:33.416] else { [13:10:33.416] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:10:33.416] info, version) [13:10:33.416] } [13:10:33.416] base::stop(msg) [13:10:33.416] } [13:10:33.416] }) [13:10:33.416] } [13:10:33.416] ...future.strategy.old <- future::plan("list") [13:10:33.416] options(future.plan = NULL) [13:10:33.416] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.416] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:10:33.416] } [13:10:33.416] ...future.workdir <- getwd() [13:10:33.416] } [13:10:33.416] ...future.oldOptions <- base::as.list(base::.Options) [13:10:33.416] ...future.oldEnvVars <- base::Sys.getenv() [13:10:33.416] } [13:10:33.416] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:10:33.416] future.globals.maxSize = NULL, future.globals.method = NULL, [13:10:33.416] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:10:33.416] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:10:33.416] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:10:33.416] future.stdout.windows.reencode = NULL, width = 80L) [13:10:33.416] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:10:33.416] base::names(...future.oldOptions)) [13:10:33.416] } [13:10:33.416] if (FALSE) { [13:10:33.416] } [13:10:33.416] else { [13:10:33.416] if (TRUE) { [13:10:33.416] ...future.stdout <- base::rawConnection(base::raw(0L), [13:10:33.416] open = "w") [13:10:33.416] } [13:10:33.416] else { [13:10:33.416] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:10:33.416] windows = "NUL", "/dev/null"), open = "w") [13:10:33.416] } [13:10:33.416] base::sink(...future.stdout, type = "output", split = FALSE) [13:10:33.416] base::on.exit(if (!base::is.null(...future.stdout)) { [13:10:33.416] base::sink(type = "output", split = FALSE) [13:10:33.416] base::close(...future.stdout) [13:10:33.416] }, add = TRUE) [13:10:33.416] } [13:10:33.416] ...future.frame <- base::sys.nframe() [13:10:33.416] ...future.conditions <- base::list() [13:10:33.416] ...future.rng <- base::globalenv()$.Random.seed [13:10:33.416] if (FALSE) { [13:10:33.416] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:10:33.416] "...future.value", "...future.globalenv.names", ".Random.seed") [13:10:33.416] } [13:10:33.416] ...future.result <- base::tryCatch({ [13:10:33.416] base::withCallingHandlers({ [13:10:33.416] ...future.value <- base::withVisible(base::local({ [13:10:33.416] sum(x, y) [13:10:33.416] })) [13:10:33.416] future::FutureResult(value = ...future.value$value, [13:10:33.416] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.416] ...future.rng), globalenv = if (FALSE) [13:10:33.416] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:10:33.416] ...future.globalenv.names)) [13:10:33.416] else NULL, started = ...future.startTime, version = "1.8") [13:10:33.416] }, condition = base::local({ [13:10:33.416] c <- base::c [13:10:33.416] inherits <- base::inherits [13:10:33.416] invokeRestart <- base::invokeRestart [13:10:33.416] length <- base::length [13:10:33.416] list <- base::list [13:10:33.416] seq.int <- base::seq.int [13:10:33.416] signalCondition <- base::signalCondition [13:10:33.416] sys.calls <- base::sys.calls [13:10:33.416] `[[` <- base::`[[` [13:10:33.416] `+` <- base::`+` [13:10:33.416] `<<-` <- base::`<<-` [13:10:33.416] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:10:33.416] calls[seq.int(from = from + 12L, to = length(calls) - [13:10:33.416] 3L)] [13:10:33.416] } [13:10:33.416] function(cond) { [13:10:33.416] is_error <- inherits(cond, "error") [13:10:33.416] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:10:33.416] NULL) [13:10:33.416] if (is_error) { [13:10:33.416] sessionInformation <- function() { [13:10:33.416] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:10:33.416] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:10:33.416] search = base::search(), system = base::Sys.info()) [13:10:33.416] } [13:10:33.416] ...future.conditions[[length(...future.conditions) + [13:10:33.416] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:10:33.416] cond$call), session = sessionInformation(), [13:10:33.416] timestamp = base::Sys.time(), signaled = 0L) [13:10:33.416] signalCondition(cond) [13:10:33.416] } [13:10:33.416] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:10:33.416] signal <- FALSE && inherits(cond, character(0)) [13:10:33.416] ...future.conditions[[length(...future.conditions) + [13:10:33.416] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:10:33.416] if (FALSE && !signal) { [13:10:33.416] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.416] { [13:10:33.416] inherits <- base::inherits [13:10:33.416] invokeRestart <- base::invokeRestart [13:10:33.416] is.null <- base::is.null [13:10:33.416] muffled <- FALSE [13:10:33.416] if (inherits(cond, "message")) { [13:10:33.416] muffled <- grepl(pattern, "muffleMessage") [13:10:33.416] if (muffled) [13:10:33.416] invokeRestart("muffleMessage") [13:10:33.416] } [13:10:33.416] else if (inherits(cond, "warning")) { [13:10:33.416] muffled <- grepl(pattern, "muffleWarning") [13:10:33.416] if (muffled) [13:10:33.416] invokeRestart("muffleWarning") [13:10:33.416] } [13:10:33.416] else if (inherits(cond, "condition")) { [13:10:33.416] if (!is.null(pattern)) { [13:10:33.416] computeRestarts <- base::computeRestarts [13:10:33.416] grepl <- base::grepl [13:10:33.416] restarts <- computeRestarts(cond) [13:10:33.416] for (restart in restarts) { [13:10:33.416] name <- restart$name [13:10:33.416] if (is.null(name)) [13:10:33.416] next [13:10:33.416] if (!grepl(pattern, name)) [13:10:33.416] next [13:10:33.416] invokeRestart(restart) [13:10:33.416] muffled <- TRUE [13:10:33.416] break [13:10:33.416] } [13:10:33.416] } [13:10:33.416] } [13:10:33.416] invisible(muffled) [13:10:33.416] } [13:10:33.416] muffleCondition(cond, pattern = "^muffle") [13:10:33.416] } [13:10:33.416] } [13:10:33.416] else { [13:10:33.416] if (TRUE) { [13:10:33.416] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.416] { [13:10:33.416] inherits <- base::inherits [13:10:33.416] invokeRestart <- base::invokeRestart [13:10:33.416] is.null <- base::is.null [13:10:33.416] muffled <- FALSE [13:10:33.416] if (inherits(cond, "message")) { [13:10:33.416] muffled <- grepl(pattern, "muffleMessage") [13:10:33.416] if (muffled) [13:10:33.416] invokeRestart("muffleMessage") [13:10:33.416] } [13:10:33.416] else if (inherits(cond, "warning")) { [13:10:33.416] muffled <- grepl(pattern, "muffleWarning") [13:10:33.416] if (muffled) [13:10:33.416] invokeRestart("muffleWarning") [13:10:33.416] } [13:10:33.416] else if (inherits(cond, "condition")) { [13:10:33.416] if (!is.null(pattern)) { [13:10:33.416] computeRestarts <- base::computeRestarts [13:10:33.416] grepl <- base::grepl [13:10:33.416] restarts <- computeRestarts(cond) [13:10:33.416] for (restart in restarts) { [13:10:33.416] name <- restart$name [13:10:33.416] if (is.null(name)) [13:10:33.416] next [13:10:33.416] if (!grepl(pattern, name)) [13:10:33.416] next [13:10:33.416] invokeRestart(restart) [13:10:33.416] muffled <- TRUE [13:10:33.416] break [13:10:33.416] } [13:10:33.416] } [13:10:33.416] } [13:10:33.416] invisible(muffled) [13:10:33.416] } [13:10:33.416] muffleCondition(cond, pattern = "^muffle") [13:10:33.416] } [13:10:33.416] } [13:10:33.416] } [13:10:33.416] })) [13:10:33.416] }, error = function(ex) { [13:10:33.416] base::structure(base::list(value = NULL, visible = NULL, [13:10:33.416] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.416] ...future.rng), started = ...future.startTime, [13:10:33.416] finished = Sys.time(), session_uuid = NA_character_, [13:10:33.416] version = "1.8"), class = "FutureResult") [13:10:33.416] }, finally = { [13:10:33.416] if (!identical(...future.workdir, getwd())) [13:10:33.416] setwd(...future.workdir) [13:10:33.416] { [13:10:33.416] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:10:33.416] ...future.oldOptions$nwarnings <- NULL [13:10:33.416] } [13:10:33.416] base::options(...future.oldOptions) [13:10:33.416] if (.Platform$OS.type == "windows") { [13:10:33.416] old_names <- names(...future.oldEnvVars) [13:10:33.416] envs <- base::Sys.getenv() [13:10:33.416] names <- names(envs) [13:10:33.416] common <- intersect(names, old_names) [13:10:33.416] added <- setdiff(names, old_names) [13:10:33.416] removed <- setdiff(old_names, names) [13:10:33.416] changed <- common[...future.oldEnvVars[common] != [13:10:33.416] envs[common]] [13:10:33.416] NAMES <- toupper(changed) [13:10:33.416] args <- list() [13:10:33.416] for (kk in seq_along(NAMES)) { [13:10:33.416] name <- changed[[kk]] [13:10:33.416] NAME <- NAMES[[kk]] [13:10:33.416] if (name != NAME && is.element(NAME, old_names)) [13:10:33.416] next [13:10:33.416] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.416] } [13:10:33.416] NAMES <- toupper(added) [13:10:33.416] for (kk in seq_along(NAMES)) { [13:10:33.416] name <- added[[kk]] [13:10:33.416] NAME <- NAMES[[kk]] [13:10:33.416] if (name != NAME && is.element(NAME, old_names)) [13:10:33.416] next [13:10:33.416] args[[name]] <- "" [13:10:33.416] } [13:10:33.416] NAMES <- toupper(removed) [13:10:33.416] for (kk in seq_along(NAMES)) { [13:10:33.416] name <- removed[[kk]] [13:10:33.416] NAME <- NAMES[[kk]] [13:10:33.416] if (name != NAME && is.element(NAME, old_names)) [13:10:33.416] next [13:10:33.416] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.416] } [13:10:33.416] if (length(args) > 0) [13:10:33.416] base::do.call(base::Sys.setenv, args = args) [13:10:33.416] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:10:33.416] } [13:10:33.416] else { [13:10:33.416] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:10:33.416] } [13:10:33.416] { [13:10:33.416] if (base::length(...future.futureOptionsAdded) > [13:10:33.416] 0L) { [13:10:33.416] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:10:33.416] base::names(opts) <- ...future.futureOptionsAdded [13:10:33.416] base::options(opts) [13:10:33.416] } [13:10:33.416] { [13:10:33.416] NULL [13:10:33.416] options(future.plan = NULL) [13:10:33.416] if (is.na(NA_character_)) [13:10:33.416] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.416] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:10:33.416] future::plan(...future.strategy.old, .cleanup = FALSE, [13:10:33.416] .init = FALSE) [13:10:33.416] } [13:10:33.416] } [13:10:33.416] } [13:10:33.416] }) [13:10:33.416] if (TRUE) { [13:10:33.416] base::sink(type = "output", split = FALSE) [13:10:33.416] if (TRUE) { [13:10:33.416] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:10:33.416] } [13:10:33.416] else { [13:10:33.416] ...future.result["stdout"] <- base::list(NULL) [13:10:33.416] } [13:10:33.416] base::close(...future.stdout) [13:10:33.416] ...future.stdout <- NULL [13:10:33.416] } [13:10:33.416] ...future.result$conditions <- ...future.conditions [13:10:33.416] ...future.result$finished <- base::Sys.time() [13:10:33.416] ...future.result [13:10:33.416] } [13:10:33.419] - Launch lazy future ... done [13:10:33.420] run() for 'MiraiFuture' ... done [1] 6 [13:10:33.421] ** 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:10:33.424] getGlobalsAndPackages() ... [13:10:33.425] Searching for globals... [13:10:33.426] - globals found: [5] '{', 'sum', 'x', 'y', '...' [13:10:33.426] Searching for globals ... DONE [13:10:33.427] Resolving globals: FALSE [13:10:33.427] Tweak future expression to call with '...' arguments ... [13:10:33.427] The total size of the 2 globals is 112 bytes (112 bytes) [13:10:33.428] 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:10:33.428] - globals: [2] 'x', 'y' [13:10:33.428] [13:10:33.428] getGlobalsAndPackages() ... DONE [13:10:33.429] run() for 'Future' ... [13:10:33.429] - state: 'created' [13:10:33.429] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:10:33.431] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:10:33.431] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:10:33.432] - Field: 'label' [13:10:33.432] - Field: 'local' [13:10:33.432] - Field: 'owner' [13:10:33.432] - Field: 'envir' [13:10:33.432] - Field: 'packages' [13:10:33.432] - Field: 'gc' [13:10:33.433] - Field: 'conditions' [13:10:33.433] - Field: 'expr' [13:10:33.433] - Field: 'uuid' [13:10:33.433] - Field: 'seed' [13:10:33.433] - Field: 'version' [13:10:33.433] - Field: 'result' [13:10:33.434] - Field: 'asynchronous' [13:10:33.434] - Field: 'calls' [13:10:33.434] - Field: 'globals' [13:10:33.434] - Field: 'stdout' [13:10:33.434] - Field: 'earlySignal' [13:10:33.434] - Field: 'lazy' [13:10:33.435] - Field: 'state' [13:10:33.435] - Field: '.cluster' [13:10:33.435] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:10:33.435] - Launch lazy future ... [13:10:33.435] Packages needed by the future expression (n = 0): [13:10:33.435] Packages needed by future strategies (n = 0): [13:10:33.436] { [13:10:33.436] { [13:10:33.436] { [13:10:33.436] ...future.startTime <- base::Sys.time() [13:10:33.436] { [13:10:33.436] { [13:10:33.436] { [13:10:33.436] base::local({ [13:10:33.436] has_future <- base::requireNamespace("future", [13:10:33.436] quietly = TRUE) [13:10:33.436] if (has_future) { [13:10:33.436] ns <- base::getNamespace("future") [13:10:33.436] version <- ns[[".package"]][["version"]] [13:10:33.436] if (is.null(version)) [13:10:33.436] version <- utils::packageVersion("future") [13:10:33.436] } [13:10:33.436] else { [13:10:33.436] version <- NULL [13:10:33.436] } [13:10:33.436] if (!has_future || version < "1.8.0") { [13:10:33.436] info <- base::c(r_version = base::gsub("R version ", [13:10:33.436] "", base::R.version$version.string), [13:10:33.436] platform = base::sprintf("%s (%s-bit)", [13:10:33.436] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:10:33.436] os = base::paste(base::Sys.info()[base::c("sysname", [13:10:33.436] "release", "version")], collapse = " "), [13:10:33.436] hostname = base::Sys.info()[["nodename"]]) [13:10:33.436] info <- base::sprintf("%s: %s", base::names(info), [13:10:33.436] info) [13:10:33.436] info <- base::paste(info, collapse = "; ") [13:10:33.436] if (!has_future) { [13:10:33.436] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:10:33.436] info) [13:10:33.436] } [13:10:33.436] else { [13:10:33.436] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:10:33.436] info, version) [13:10:33.436] } [13:10:33.436] base::stop(msg) [13:10:33.436] } [13:10:33.436] }) [13:10:33.436] } [13:10:33.436] ...future.strategy.old <- future::plan("list") [13:10:33.436] options(future.plan = NULL) [13:10:33.436] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.436] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:10:33.436] } [13:10:33.436] ...future.workdir <- getwd() [13:10:33.436] } [13:10:33.436] ...future.oldOptions <- base::as.list(base::.Options) [13:10:33.436] ...future.oldEnvVars <- base::Sys.getenv() [13:10:33.436] } [13:10:33.436] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:10:33.436] future.globals.maxSize = NULL, future.globals.method = NULL, [13:10:33.436] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:10:33.436] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:10:33.436] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:10:33.436] future.stdout.windows.reencode = NULL, width = 80L) [13:10:33.436] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:10:33.436] base::names(...future.oldOptions)) [13:10:33.436] } [13:10:33.436] if (FALSE) { [13:10:33.436] } [13:10:33.436] else { [13:10:33.436] if (TRUE) { [13:10:33.436] ...future.stdout <- base::rawConnection(base::raw(0L), [13:10:33.436] open = "w") [13:10:33.436] } [13:10:33.436] else { [13:10:33.436] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:10:33.436] windows = "NUL", "/dev/null"), open = "w") [13:10:33.436] } [13:10:33.436] base::sink(...future.stdout, type = "output", split = FALSE) [13:10:33.436] base::on.exit(if (!base::is.null(...future.stdout)) { [13:10:33.436] base::sink(type = "output", split = FALSE) [13:10:33.436] base::close(...future.stdout) [13:10:33.436] }, add = TRUE) [13:10:33.436] } [13:10:33.436] ...future.frame <- base::sys.nframe() [13:10:33.436] ...future.conditions <- base::list() [13:10:33.436] ...future.rng <- base::globalenv()$.Random.seed [13:10:33.436] if (FALSE) { [13:10:33.436] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:10:33.436] "...future.value", "...future.globalenv.names", ".Random.seed") [13:10:33.436] } [13:10:33.436] ...future.result <- base::tryCatch({ [13:10:33.436] base::withCallingHandlers({ [13:10:33.436] ...future.value <- base::withVisible(base::local({ [13:10:33.436] sum(x, y, ...) [13:10:33.436] })) [13:10:33.436] future::FutureResult(value = ...future.value$value, [13:10:33.436] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.436] ...future.rng), globalenv = if (FALSE) [13:10:33.436] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:10:33.436] ...future.globalenv.names)) [13:10:33.436] else NULL, started = ...future.startTime, version = "1.8") [13:10:33.436] }, condition = base::local({ [13:10:33.436] c <- base::c [13:10:33.436] inherits <- base::inherits [13:10:33.436] invokeRestart <- base::invokeRestart [13:10:33.436] length <- base::length [13:10:33.436] list <- base::list [13:10:33.436] seq.int <- base::seq.int [13:10:33.436] signalCondition <- base::signalCondition [13:10:33.436] sys.calls <- base::sys.calls [13:10:33.436] `[[` <- base::`[[` [13:10:33.436] `+` <- base::`+` [13:10:33.436] `<<-` <- base::`<<-` [13:10:33.436] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:10:33.436] calls[seq.int(from = from + 12L, to = length(calls) - [13:10:33.436] 3L)] [13:10:33.436] } [13:10:33.436] function(cond) { [13:10:33.436] is_error <- inherits(cond, "error") [13:10:33.436] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:10:33.436] NULL) [13:10:33.436] if (is_error) { [13:10:33.436] sessionInformation <- function() { [13:10:33.436] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:10:33.436] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:10:33.436] search = base::search(), system = base::Sys.info()) [13:10:33.436] } [13:10:33.436] ...future.conditions[[length(...future.conditions) + [13:10:33.436] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:10:33.436] cond$call), session = sessionInformation(), [13:10:33.436] timestamp = base::Sys.time(), signaled = 0L) [13:10:33.436] signalCondition(cond) [13:10:33.436] } [13:10:33.436] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:10:33.436] signal <- FALSE && inherits(cond, character(0)) [13:10:33.436] ...future.conditions[[length(...future.conditions) + [13:10:33.436] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:10:33.436] if (FALSE && !signal) { [13:10:33.436] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.436] { [13:10:33.436] inherits <- base::inherits [13:10:33.436] invokeRestart <- base::invokeRestart [13:10:33.436] is.null <- base::is.null [13:10:33.436] muffled <- FALSE [13:10:33.436] if (inherits(cond, "message")) { [13:10:33.436] muffled <- grepl(pattern, "muffleMessage") [13:10:33.436] if (muffled) [13:10:33.436] invokeRestart("muffleMessage") [13:10:33.436] } [13:10:33.436] else if (inherits(cond, "warning")) { [13:10:33.436] muffled <- grepl(pattern, "muffleWarning") [13:10:33.436] if (muffled) [13:10:33.436] invokeRestart("muffleWarning") [13:10:33.436] } [13:10:33.436] else if (inherits(cond, "condition")) { [13:10:33.436] if (!is.null(pattern)) { [13:10:33.436] computeRestarts <- base::computeRestarts [13:10:33.436] grepl <- base::grepl [13:10:33.436] restarts <- computeRestarts(cond) [13:10:33.436] for (restart in restarts) { [13:10:33.436] name <- restart$name [13:10:33.436] if (is.null(name)) [13:10:33.436] next [13:10:33.436] if (!grepl(pattern, name)) [13:10:33.436] next [13:10:33.436] invokeRestart(restart) [13:10:33.436] muffled <- TRUE [13:10:33.436] break [13:10:33.436] } [13:10:33.436] } [13:10:33.436] } [13:10:33.436] invisible(muffled) [13:10:33.436] } [13:10:33.436] muffleCondition(cond, pattern = "^muffle") [13:10:33.436] } [13:10:33.436] } [13:10:33.436] else { [13:10:33.436] if (TRUE) { [13:10:33.436] muffleCondition <- function (cond, pattern = "^muffle") [13:10:33.436] { [13:10:33.436] inherits <- base::inherits [13:10:33.436] invokeRestart <- base::invokeRestart [13:10:33.436] is.null <- base::is.null [13:10:33.436] muffled <- FALSE [13:10:33.436] if (inherits(cond, "message")) { [13:10:33.436] muffled <- grepl(pattern, "muffleMessage") [13:10:33.436] if (muffled) [13:10:33.436] invokeRestart("muffleMessage") [13:10:33.436] } [13:10:33.436] else if (inherits(cond, "warning")) { [13:10:33.436] muffled <- grepl(pattern, "muffleWarning") [13:10:33.436] if (muffled) [13:10:33.436] invokeRestart("muffleWarning") [13:10:33.436] } [13:10:33.436] else if (inherits(cond, "condition")) { [13:10:33.436] if (!is.null(pattern)) { [13:10:33.436] computeRestarts <- base::computeRestarts [13:10:33.436] grepl <- base::grepl [13:10:33.436] restarts <- computeRestarts(cond) [13:10:33.436] for (restart in restarts) { [13:10:33.436] name <- restart$name [13:10:33.436] if (is.null(name)) [13:10:33.436] next [13:10:33.436] if (!grepl(pattern, name)) [13:10:33.436] next [13:10:33.436] invokeRestart(restart) [13:10:33.436] muffled <- TRUE [13:10:33.436] break [13:10:33.436] } [13:10:33.436] } [13:10:33.436] } [13:10:33.436] invisible(muffled) [13:10:33.436] } [13:10:33.436] muffleCondition(cond, pattern = "^muffle") [13:10:33.436] } [13:10:33.436] } [13:10:33.436] } [13:10:33.436] })) [13:10:33.436] }, error = function(ex) { [13:10:33.436] base::structure(base::list(value = NULL, visible = NULL, [13:10:33.436] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:10:33.436] ...future.rng), started = ...future.startTime, [13:10:33.436] finished = Sys.time(), session_uuid = NA_character_, [13:10:33.436] version = "1.8"), class = "FutureResult") [13:10:33.436] }, finally = { [13:10:33.436] if (!identical(...future.workdir, getwd())) [13:10:33.436] setwd(...future.workdir) [13:10:33.436] { [13:10:33.436] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:10:33.436] ...future.oldOptions$nwarnings <- NULL [13:10:33.436] } [13:10:33.436] base::options(...future.oldOptions) [13:10:33.436] if (.Platform$OS.type == "windows") { [13:10:33.436] old_names <- names(...future.oldEnvVars) [13:10:33.436] envs <- base::Sys.getenv() [13:10:33.436] names <- names(envs) [13:10:33.436] common <- intersect(names, old_names) [13:10:33.436] added <- setdiff(names, old_names) [13:10:33.436] removed <- setdiff(old_names, names) [13:10:33.436] changed <- common[...future.oldEnvVars[common] != [13:10:33.436] envs[common]] [13:10:33.436] NAMES <- toupper(changed) [13:10:33.436] args <- list() [13:10:33.436] for (kk in seq_along(NAMES)) { [13:10:33.436] name <- changed[[kk]] [13:10:33.436] NAME <- NAMES[[kk]] [13:10:33.436] if (name != NAME && is.element(NAME, old_names)) [13:10:33.436] next [13:10:33.436] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.436] } [13:10:33.436] NAMES <- toupper(added) [13:10:33.436] for (kk in seq_along(NAMES)) { [13:10:33.436] name <- added[[kk]] [13:10:33.436] NAME <- NAMES[[kk]] [13:10:33.436] if (name != NAME && is.element(NAME, old_names)) [13:10:33.436] next [13:10:33.436] args[[name]] <- "" [13:10:33.436] } [13:10:33.436] NAMES <- toupper(removed) [13:10:33.436] for (kk in seq_along(NAMES)) { [13:10:33.436] name <- removed[[kk]] [13:10:33.436] NAME <- NAMES[[kk]] [13:10:33.436] if (name != NAME && is.element(NAME, old_names)) [13:10:33.436] next [13:10:33.436] args[[name]] <- ...future.oldEnvVars[[name]] [13:10:33.436] } [13:10:33.436] if (length(args) > 0) [13:10:33.436] base::do.call(base::Sys.setenv, args = args) [13:10:33.436] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:10:33.436] } [13:10:33.436] else { [13:10:33.436] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:10:33.436] } [13:10:33.436] { [13:10:33.436] if (base::length(...future.futureOptionsAdded) > [13:10:33.436] 0L) { [13:10:33.436] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:10:33.436] base::names(opts) <- ...future.futureOptionsAdded [13:10:33.436] base::options(opts) [13:10:33.436] } [13:10:33.436] { [13:10:33.436] NULL [13:10:33.436] options(future.plan = NULL) [13:10:33.436] if (is.na(NA_character_)) [13:10:33.436] Sys.unsetenv("R_FUTURE_PLAN") [13:10:33.436] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:10:33.436] future::plan(...future.strategy.old, .cleanup = FALSE, [13:10:33.436] .init = FALSE) [13:10:33.436] } [13:10:33.436] } [13:10:33.436] } [13:10:33.436] }) [13:10:33.436] if (TRUE) { [13:10:33.436] base::sink(type = "output", split = FALSE) [13:10:33.436] if (TRUE) { [13:10:33.436] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:10:33.436] } [13:10:33.436] else { [13:10:33.436] ...future.result["stdout"] <- base::list(NULL) [13:10:33.436] } [13:10:33.436] base::close(...future.stdout) [13:10:33.436] ...future.stdout <- NULL [13:10:33.436] } [13:10:33.436] ...future.result$conditions <- ...future.conditions [13:10:33.436] ...future.result$finished <- base::Sys.time() [13:10:33.436] ...future.result [13:10:33.436] } [13:10:33.440] - Launch lazy future ... done [13:10:33.440] run() for 'MiraiFuture' ... done [13:10:33.442] signalConditions() ... [13:10:33.443] - include = 'immediateCondition' [13:10:33.443] - exclude = [13:10:33.443] - resignal = FALSE [13:10:33.443] - Number of conditions: 1 [13:10:33.443] signalConditions() ... done [13:10:33.443] Future state: 'finished' [13:10:33.444] signalConditions() ... [13:10:33.444] - include = 'condition' [13:10:33.444] - exclude = 'immediateCondition' [13:10:33.444] - resignal = TRUE [13:10:33.444] - Number of conditions: 1 [13:10:33.444] - Condition #1: 'simpleError', 'error', 'condition' [13:10:33.445] signalConditions() ... done > > message("*** Global argument '...' in futures ... DONE") *** Global argument '...' in futures ... DONE > > source("incl/end.R") > > proc.time() user system elapsed 0.45 0.10 1.00