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:30:33.579] plan(): Setting new future strategy stack: [13:30:33.580] List of future strategies: [13:30:33.580] 1. mirai_multisession: [13:30:33.580] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:30:33.580] - tweaked: FALSE [13:30:33.580] - call: future::plan(future.mirai::mirai_multisession) [13:30:33.592] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:30:33.592] < mirai | $data > [13:30:33.597] getGlobalsAndPackages() ... [13:30:33.597] Not searching for globals [13:30:33.597] - globals: [0] [13:30:33.598] getGlobalsAndPackages() ... DONE [13:30:33.598] getGlobalsAndPackages() ... [13:30:33.598] [13:30:33.598] - globals: [0] [13:30:33.599] getGlobalsAndPackages() ... DONE [13:30:33.877] Packages needed by the future expression (n = 0): [13:30:33.877] Packages needed by future strategies (n = 0): [13:30:33.878] { [13:30:33.878] { [13:30:33.878] { [13:30:33.878] ...future.startTime <- base::Sys.time() [13:30:33.878] { [13:30:33.878] { [13:30:33.878] { [13:30:33.878] base::local({ [13:30:33.878] has_future <- base::requireNamespace("future", [13:30:33.878] quietly = TRUE) [13:30:33.878] if (has_future) { [13:30:33.878] ns <- base::getNamespace("future") [13:30:33.878] version <- ns[[".package"]][["version"]] [13:30:33.878] if (is.null(version)) [13:30:33.878] version <- utils::packageVersion("future") [13:30:33.878] } [13:30:33.878] else { [13:30:33.878] version <- NULL [13:30:33.878] } [13:30:33.878] if (!has_future || version < "1.8.0") { [13:30:33.878] info <- base::c(r_version = base::gsub("R version ", [13:30:33.878] "", base::R.version$version.string), [13:30:33.878] platform = base::sprintf("%s (%s-bit)", [13:30:33.878] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:33.878] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:33.878] "release", "version")], collapse = " "), [13:30:33.878] hostname = base::Sys.info()[["nodename"]]) [13:30:33.878] info <- base::sprintf("%s: %s", base::names(info), [13:30:33.878] info) [13:30:33.878] info <- base::paste(info, collapse = "; ") [13:30:33.878] if (!has_future) { [13:30:33.878] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:33.878] info) [13:30:33.878] } [13:30:33.878] else { [13:30:33.878] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:33.878] info, version) [13:30:33.878] } [13:30:33.878] base::stop(msg) [13:30:33.878] } [13:30:33.878] }) [13:30:33.878] } [13:30:33.878] ...future.strategy.old <- future::plan("list") [13:30:33.878] options(future.plan = NULL) [13:30:33.878] Sys.unsetenv("R_FUTURE_PLAN") [13:30:33.878] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:33.878] } [13:30:33.878] ...future.workdir <- getwd() [13:30:33.878] } [13:30:33.878] ...future.oldOptions <- base::as.list(base::.Options) [13:30:33.878] ...future.oldEnvVars <- base::Sys.getenv() [13:30:33.878] } [13:30:33.878] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:33.878] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:33.878] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:33.878] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:33.878] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:33.878] future.stdout.windows.reencode = NULL, width = 80L) [13:30:33.878] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:33.878] base::names(...future.oldOptions)) [13:30:33.878] } [13:30:33.878] if (FALSE) { [13:30:33.878] } [13:30:33.878] else { [13:30:33.878] if (TRUE) { [13:30:33.878] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:33.878] open = "w") [13:30:33.878] } [13:30:33.878] else { [13:30:33.878] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:33.878] windows = "NUL", "/dev/null"), open = "w") [13:30:33.878] } [13:30:33.878] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:33.878] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:33.878] base::sink(type = "output", split = FALSE) [13:30:33.878] base::close(...future.stdout) [13:30:33.878] }, add = TRUE) [13:30:33.878] } [13:30:33.878] ...future.frame <- base::sys.nframe() [13:30:33.878] ...future.conditions <- base::list() [13:30:33.878] ...future.rng <- base::globalenv()$.Random.seed [13:30:33.878] if (FALSE) { [13:30:33.878] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:33.878] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:33.878] } [13:30:33.878] ...future.result <- base::tryCatch({ [13:30:33.878] base::withCallingHandlers({ [13:30:33.878] ...future.value <- base::withVisible(base::local(NA)) [13:30:33.878] future::FutureResult(value = ...future.value$value, [13:30:33.878] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:33.878] ...future.rng), globalenv = if (FALSE) [13:30:33.878] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:33.878] ...future.globalenv.names)) [13:30:33.878] else NULL, started = ...future.startTime, version = "1.8") [13:30:33.878] }, condition = base::local({ [13:30:33.878] c <- base::c [13:30:33.878] inherits <- base::inherits [13:30:33.878] invokeRestart <- base::invokeRestart [13:30:33.878] length <- base::length [13:30:33.878] list <- base::list [13:30:33.878] seq.int <- base::seq.int [13:30:33.878] signalCondition <- base::signalCondition [13:30:33.878] sys.calls <- base::sys.calls [13:30:33.878] `[[` <- base::`[[` [13:30:33.878] `+` <- base::`+` [13:30:33.878] `<<-` <- base::`<<-` [13:30:33.878] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:33.878] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:33.878] 3L)] [13:30:33.878] } [13:30:33.878] function(cond) { [13:30:33.878] is_error <- inherits(cond, "error") [13:30:33.878] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:33.878] NULL) [13:30:33.878] if (is_error) { [13:30:33.878] sessionInformation <- function() { [13:30:33.878] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:33.878] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:33.878] search = base::search(), system = base::Sys.info()) [13:30:33.878] } [13:30:33.878] ...future.conditions[[length(...future.conditions) + [13:30:33.878] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:33.878] cond$call), session = sessionInformation(), [13:30:33.878] timestamp = base::Sys.time(), signaled = 0L) [13:30:33.878] signalCondition(cond) [13:30:33.878] } [13:30:33.878] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:33.878] signal <- FALSE && inherits(cond, character(0)) [13:30:33.878] ...future.conditions[[length(...future.conditions) + [13:30:33.878] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:33.878] if (FALSE && !signal) { [13:30:33.878] muffleCondition <- function (cond, pattern = "^muffle") [13:30:33.878] { [13:30:33.878] inherits <- base::inherits [13:30:33.878] invokeRestart <- base::invokeRestart [13:30:33.878] is.null <- base::is.null [13:30:33.878] muffled <- FALSE [13:30:33.878] if (inherits(cond, "message")) { [13:30:33.878] muffled <- grepl(pattern, "muffleMessage") [13:30:33.878] if (muffled) [13:30:33.878] invokeRestart("muffleMessage") [13:30:33.878] } [13:30:33.878] else if (inherits(cond, "warning")) { [13:30:33.878] muffled <- grepl(pattern, "muffleWarning") [13:30:33.878] if (muffled) [13:30:33.878] invokeRestart("muffleWarning") [13:30:33.878] } [13:30:33.878] else if (inherits(cond, "condition")) { [13:30:33.878] if (!is.null(pattern)) { [13:30:33.878] computeRestarts <- base::computeRestarts [13:30:33.878] grepl <- base::grepl [13:30:33.878] restarts <- computeRestarts(cond) [13:30:33.878] for (restart in restarts) { [13:30:33.878] name <- restart$name [13:30:33.878] if (is.null(name)) [13:30:33.878] next [13:30:33.878] if (!grepl(pattern, name)) [13:30:33.878] next [13:30:33.878] invokeRestart(restart) [13:30:33.878] muffled <- TRUE [13:30:33.878] break [13:30:33.878] } [13:30:33.878] } [13:30:33.878] } [13:30:33.878] invisible(muffled) [13:30:33.878] } [13:30:33.878] muffleCondition(cond, pattern = "^muffle") [13:30:33.878] } [13:30:33.878] } [13:30:33.878] else { [13:30:33.878] if (TRUE) { [13:30:33.878] muffleCondition <- function (cond, pattern = "^muffle") [13:30:33.878] { [13:30:33.878] inherits <- base::inherits [13:30:33.878] invokeRestart <- base::invokeRestart [13:30:33.878] is.null <- base::is.null [13:30:33.878] muffled <- FALSE [13:30:33.878] if (inherits(cond, "message")) { [13:30:33.878] muffled <- grepl(pattern, "muffleMessage") [13:30:33.878] if (muffled) [13:30:33.878] invokeRestart("muffleMessage") [13:30:33.878] } [13:30:33.878] else if (inherits(cond, "warning")) { [13:30:33.878] muffled <- grepl(pattern, "muffleWarning") [13:30:33.878] if (muffled) [13:30:33.878] invokeRestart("muffleWarning") [13:30:33.878] } [13:30:33.878] else if (inherits(cond, "condition")) { [13:30:33.878] if (!is.null(pattern)) { [13:30:33.878] computeRestarts <- base::computeRestarts [13:30:33.878] grepl <- base::grepl [13:30:33.878] restarts <- computeRestarts(cond) [13:30:33.878] for (restart in restarts) { [13:30:33.878] name <- restart$name [13:30:33.878] if (is.null(name)) [13:30:33.878] next [13:30:33.878] if (!grepl(pattern, name)) [13:30:33.878] next [13:30:33.878] invokeRestart(restart) [13:30:33.878] muffled <- TRUE [13:30:33.878] break [13:30:33.878] } [13:30:33.878] } [13:30:33.878] } [13:30:33.878] invisible(muffled) [13:30:33.878] } [13:30:33.878] muffleCondition(cond, pattern = "^muffle") [13:30:33.878] } [13:30:33.878] } [13:30:33.878] } [13:30:33.878] })) [13:30:33.878] }, error = function(ex) { [13:30:33.878] base::structure(base::list(value = NULL, visible = NULL, [13:30:33.878] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:33.878] ...future.rng), started = ...future.startTime, [13:30:33.878] finished = Sys.time(), session_uuid = NA_character_, [13:30:33.878] version = "1.8"), class = "FutureResult") [13:30:33.878] }, finally = { [13:30:33.878] if (!identical(...future.workdir, getwd())) [13:30:33.878] setwd(...future.workdir) [13:30:33.878] { [13:30:33.878] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:33.878] ...future.oldOptions$nwarnings <- NULL [13:30:33.878] } [13:30:33.878] base::options(...future.oldOptions) [13:30:33.878] if (.Platform$OS.type == "windows") { [13:30:33.878] old_names <- names(...future.oldEnvVars) [13:30:33.878] envs <- base::Sys.getenv() [13:30:33.878] names <- names(envs) [13:30:33.878] common <- intersect(names, old_names) [13:30:33.878] added <- setdiff(names, old_names) [13:30:33.878] removed <- setdiff(old_names, names) [13:30:33.878] changed <- common[...future.oldEnvVars[common] != [13:30:33.878] envs[common]] [13:30:33.878] NAMES <- toupper(changed) [13:30:33.878] args <- list() [13:30:33.878] for (kk in seq_along(NAMES)) { [13:30:33.878] name <- changed[[kk]] [13:30:33.878] NAME <- NAMES[[kk]] [13:30:33.878] if (name != NAME && is.element(NAME, old_names)) [13:30:33.878] next [13:30:33.878] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:33.878] } [13:30:33.878] NAMES <- toupper(added) [13:30:33.878] for (kk in seq_along(NAMES)) { [13:30:33.878] name <- added[[kk]] [13:30:33.878] NAME <- NAMES[[kk]] [13:30:33.878] if (name != NAME && is.element(NAME, old_names)) [13:30:33.878] next [13:30:33.878] args[[name]] <- "" [13:30:33.878] } [13:30:33.878] NAMES <- toupper(removed) [13:30:33.878] for (kk in seq_along(NAMES)) { [13:30:33.878] name <- removed[[kk]] [13:30:33.878] NAME <- NAMES[[kk]] [13:30:33.878] if (name != NAME && is.element(NAME, old_names)) [13:30:33.878] next [13:30:33.878] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:33.878] } [13:30:33.878] if (length(args) > 0) [13:30:33.878] base::do.call(base::Sys.setenv, args = args) [13:30:33.878] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:33.878] } [13:30:33.878] else { [13:30:33.878] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:33.878] } [13:30:33.878] { [13:30:33.878] if (base::length(...future.futureOptionsAdded) > [13:30:33.878] 0L) { [13:30:33.878] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:33.878] base::names(opts) <- ...future.futureOptionsAdded [13:30:33.878] base::options(opts) [13:30:33.878] } [13:30:33.878] { [13:30:33.878] NULL [13:30:33.878] options(future.plan = NULL) [13:30:33.878] if (is.na(NA_character_)) [13:30:33.878] Sys.unsetenv("R_FUTURE_PLAN") [13:30:33.878] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:33.878] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:33.878] .init = FALSE) [13:30:33.878] } [13:30:33.878] } [13:30:33.878] } [13:30:33.878] }) [13:30:33.878] if (TRUE) { [13:30:33.878] base::sink(type = "output", split = FALSE) [13:30:33.878] if (TRUE) { [13:30:33.878] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:33.878] } [13:30:33.878] else { [13:30:33.878] ...future.result["stdout"] <- base::list(NULL) [13:30:33.878] } [13:30:33.878] base::close(...future.stdout) [13:30:33.878] ...future.stdout <- NULL [13:30:33.878] } [13:30:33.878] ...future.result$conditions <- ...future.conditions [13:30:33.878] ...future.result$finished <- base::Sys.time() [13:30:33.878] ...future.result [13:30:33.878] } [13:30:33.977] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:30:33.977] plan(): nbrOfWorkers() = 2 > library("listenv") > > message("*** Global argument '...' in futures ...") *** Global argument '...' in futures ... > > sum_fcns <- list() > > sum_fcns$A <- function(x, ...) { + message("Arguments '...' exists: ", exists("...", inherits = TRUE)) + y %<-% { sum(x, ...) } + y + } > > > sum_fcns$B <- function(x, ...) { + sumt <- function(x) { + message("Arguments '...' exists: ", exists("...", inherits = TRUE)) + y %<-% { sum(x, ...) } + y + } + sumt(x) + } > > sum_fcns$C <- function(x, y) { + message("Arguments '...' exists: ", exists("...", inherits = TRUE)) + y %<-% { sum(x, y) } + y + } > > sum_fcns$D <- function(x, y) { + message("Arguments '...' exists: ", exists("...", inherits = TRUE)) + y %<-% { sum(x, y, ...) } + y + } > > > for (strategy in c("mirai_cluster", "mirai_multisession")) { + plan(strategy, substitute = FALSE) + + for (name in names(sum_fcns)) { + mprintf("** Sum function '%s' with plan('%s') ...", name, strategy) + sum_fcn <- sum_fcns[[name]] + print(sum_fcn) + y <- tryCatch({ + sum_fcn(1:2, 3) + }, error = identity) + print(y) + if (name %in% c("D")) { + stopifnot(inherits(y, "error")) + } else { + stopifnot(y == 6) + } + } + } [13:30:33.993] plan(): Setting new future strategy stack: [13:30:33.993] List of future strategies: [13:30:33.993] 1. mirai_cluster: [13:30:33.993] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = "") [13:30:33.993] - tweaked: FALSE [13:30:33.993] - call: plan(strategy, substitute = FALSE) [13:30:34.007] plan(): plan_init() of 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:30:34.008] < mirai | $data > [13:30:34.008] getGlobalsAndPackages() ... [13:30:34.008] Not searching for globals [13:30:34.008] - globals: [0] [13:30:34.008] getGlobalsAndPackages() ... DONE [13:30:34.009] getGlobalsAndPackages() ... [13:30:34.009] [13:30:34.009] - globals: [0] [13:30:34.009] getGlobalsAndPackages() ... DONE [13:30:34.009] Packages needed by the future expression (n = 0): [13:30:34.010] Packages needed by future strategies (n = 0): [13:30:34.010] { [13:30:34.010] { [13:30:34.010] { [13:30:34.010] ...future.startTime <- base::Sys.time() [13:30:34.010] { [13:30:34.010] { [13:30:34.010] { [13:30:34.010] base::local({ [13:30:34.010] has_future <- base::requireNamespace("future", [13:30:34.010] quietly = TRUE) [13:30:34.010] if (has_future) { [13:30:34.010] ns <- base::getNamespace("future") [13:30:34.010] version <- ns[[".package"]][["version"]] [13:30:34.010] if (is.null(version)) [13:30:34.010] version <- utils::packageVersion("future") [13:30:34.010] } [13:30:34.010] else { [13:30:34.010] version <- NULL [13:30:34.010] } [13:30:34.010] if (!has_future || version < "1.8.0") { [13:30:34.010] info <- base::c(r_version = base::gsub("R version ", [13:30:34.010] "", base::R.version$version.string), [13:30:34.010] platform = base::sprintf("%s (%s-bit)", [13:30:34.010] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:34.010] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:34.010] "release", "version")], collapse = " "), [13:30:34.010] hostname = base::Sys.info()[["nodename"]]) [13:30:34.010] info <- base::sprintf("%s: %s", base::names(info), [13:30:34.010] info) [13:30:34.010] info <- base::paste(info, collapse = "; ") [13:30:34.010] if (!has_future) { [13:30:34.010] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:34.010] info) [13:30:34.010] } [13:30:34.010] else { [13:30:34.010] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:34.010] info, version) [13:30:34.010] } [13:30:34.010] base::stop(msg) [13:30:34.010] } [13:30:34.010] }) [13:30:34.010] } [13:30:34.010] ...future.strategy.old <- future::plan("list") [13:30:34.010] options(future.plan = NULL) [13:30:34.010] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.010] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:34.010] } [13:30:34.010] ...future.workdir <- getwd() [13:30:34.010] } [13:30:34.010] ...future.oldOptions <- base::as.list(base::.Options) [13:30:34.010] ...future.oldEnvVars <- base::Sys.getenv() [13:30:34.010] } [13:30:34.010] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:34.010] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:34.010] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:34.010] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:34.010] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:34.010] future.stdout.windows.reencode = NULL, width = 80L) [13:30:34.010] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:34.010] base::names(...future.oldOptions)) [13:30:34.010] } [13:30:34.010] if (FALSE) { [13:30:34.010] } [13:30:34.010] else { [13:30:34.010] if (TRUE) { [13:30:34.010] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:34.010] open = "w") [13:30:34.010] } [13:30:34.010] else { [13:30:34.010] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:34.010] windows = "NUL", "/dev/null"), open = "w") [13:30:34.010] } [13:30:34.010] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:34.010] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:34.010] base::sink(type = "output", split = FALSE) [13:30:34.010] base::close(...future.stdout) [13:30:34.010] }, add = TRUE) [13:30:34.010] } [13:30:34.010] ...future.frame <- base::sys.nframe() [13:30:34.010] ...future.conditions <- base::list() [13:30:34.010] ...future.rng <- base::globalenv()$.Random.seed [13:30:34.010] if (FALSE) { [13:30:34.010] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:34.010] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:34.010] } [13:30:34.010] ...future.result <- base::tryCatch({ [13:30:34.010] base::withCallingHandlers({ [13:30:34.010] ...future.value <- base::withVisible(base::local(NA)) [13:30:34.010] future::FutureResult(value = ...future.value$value, [13:30:34.010] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.010] ...future.rng), globalenv = if (FALSE) [13:30:34.010] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:34.010] ...future.globalenv.names)) [13:30:34.010] else NULL, started = ...future.startTime, version = "1.8") [13:30:34.010] }, condition = base::local({ [13:30:34.010] c <- base::c [13:30:34.010] inherits <- base::inherits [13:30:34.010] invokeRestart <- base::invokeRestart [13:30:34.010] length <- base::length [13:30:34.010] list <- base::list [13:30:34.010] seq.int <- base::seq.int [13:30:34.010] signalCondition <- base::signalCondition [13:30:34.010] sys.calls <- base::sys.calls [13:30:34.010] `[[` <- base::`[[` [13:30:34.010] `+` <- base::`+` [13:30:34.010] `<<-` <- base::`<<-` [13:30:34.010] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:34.010] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:34.010] 3L)] [13:30:34.010] } [13:30:34.010] function(cond) { [13:30:34.010] is_error <- inherits(cond, "error") [13:30:34.010] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:34.010] NULL) [13:30:34.010] if (is_error) { [13:30:34.010] sessionInformation <- function() { [13:30:34.010] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:34.010] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:34.010] search = base::search(), system = base::Sys.info()) [13:30:34.010] } [13:30:34.010] ...future.conditions[[length(...future.conditions) + [13:30:34.010] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:34.010] cond$call), session = sessionInformation(), [13:30:34.010] timestamp = base::Sys.time(), signaled = 0L) [13:30:34.010] signalCondition(cond) [13:30:34.010] } [13:30:34.010] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:34.010] signal <- FALSE && inherits(cond, character(0)) [13:30:34.010] ...future.conditions[[length(...future.conditions) + [13:30:34.010] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:34.010] if (FALSE && !signal) { [13:30:34.010] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.010] { [13:30:34.010] inherits <- base::inherits [13:30:34.010] invokeRestart <- base::invokeRestart [13:30:34.010] is.null <- base::is.null [13:30:34.010] muffled <- FALSE [13:30:34.010] if (inherits(cond, "message")) { [13:30:34.010] muffled <- grepl(pattern, "muffleMessage") [13:30:34.010] if (muffled) [13:30:34.010] invokeRestart("muffleMessage") [13:30:34.010] } [13:30:34.010] else if (inherits(cond, "warning")) { [13:30:34.010] muffled <- grepl(pattern, "muffleWarning") [13:30:34.010] if (muffled) [13:30:34.010] invokeRestart("muffleWarning") [13:30:34.010] } [13:30:34.010] else if (inherits(cond, "condition")) { [13:30:34.010] if (!is.null(pattern)) { [13:30:34.010] computeRestarts <- base::computeRestarts [13:30:34.010] grepl <- base::grepl [13:30:34.010] restarts <- computeRestarts(cond) [13:30:34.010] for (restart in restarts) { [13:30:34.010] name <- restart$name [13:30:34.010] if (is.null(name)) [13:30:34.010] next [13:30:34.010] if (!grepl(pattern, name)) [13:30:34.010] next [13:30:34.010] invokeRestart(restart) [13:30:34.010] muffled <- TRUE [13:30:34.010] break [13:30:34.010] } [13:30:34.010] } [13:30:34.010] } [13:30:34.010] invisible(muffled) [13:30:34.010] } [13:30:34.010] muffleCondition(cond, pattern = "^muffle") [13:30:34.010] } [13:30:34.010] } [13:30:34.010] else { [13:30:34.010] if (TRUE) { [13:30:34.010] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.010] { [13:30:34.010] inherits <- base::inherits [13:30:34.010] invokeRestart <- base::invokeRestart [13:30:34.010] is.null <- base::is.null [13:30:34.010] muffled <- FALSE [13:30:34.010] if (inherits(cond, "message")) { [13:30:34.010] muffled <- grepl(pattern, "muffleMessage") [13:30:34.010] if (muffled) [13:30:34.010] invokeRestart("muffleMessage") [13:30:34.010] } [13:30:34.010] else if (inherits(cond, "warning")) { [13:30:34.010] muffled <- grepl(pattern, "muffleWarning") [13:30:34.010] if (muffled) [13:30:34.010] invokeRestart("muffleWarning") [13:30:34.010] } [13:30:34.010] else if (inherits(cond, "condition")) { [13:30:34.010] if (!is.null(pattern)) { [13:30:34.010] computeRestarts <- base::computeRestarts [13:30:34.010] grepl <- base::grepl [13:30:34.010] restarts <- computeRestarts(cond) [13:30:34.010] for (restart in restarts) { [13:30:34.010] name <- restart$name [13:30:34.010] if (is.null(name)) [13:30:34.010] next [13:30:34.010] if (!grepl(pattern, name)) [13:30:34.010] next [13:30:34.010] invokeRestart(restart) [13:30:34.010] muffled <- TRUE [13:30:34.010] break [13:30:34.010] } [13:30:34.010] } [13:30:34.010] } [13:30:34.010] invisible(muffled) [13:30:34.010] } [13:30:34.010] muffleCondition(cond, pattern = "^muffle") [13:30:34.010] } [13:30:34.010] } [13:30:34.010] } [13:30:34.010] })) [13:30:34.010] }, error = function(ex) { [13:30:34.010] base::structure(base::list(value = NULL, visible = NULL, [13:30:34.010] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.010] ...future.rng), started = ...future.startTime, [13:30:34.010] finished = Sys.time(), session_uuid = NA_character_, [13:30:34.010] version = "1.8"), class = "FutureResult") [13:30:34.010] }, finally = { [13:30:34.010] if (!identical(...future.workdir, getwd())) [13:30:34.010] setwd(...future.workdir) [13:30:34.010] { [13:30:34.010] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:34.010] ...future.oldOptions$nwarnings <- NULL [13:30:34.010] } [13:30:34.010] base::options(...future.oldOptions) [13:30:34.010] if (.Platform$OS.type == "windows") { [13:30:34.010] old_names <- names(...future.oldEnvVars) [13:30:34.010] envs <- base::Sys.getenv() [13:30:34.010] names <- names(envs) [13:30:34.010] common <- intersect(names, old_names) [13:30:34.010] added <- setdiff(names, old_names) [13:30:34.010] removed <- setdiff(old_names, names) [13:30:34.010] changed <- common[...future.oldEnvVars[common] != [13:30:34.010] envs[common]] [13:30:34.010] NAMES <- toupper(changed) [13:30:34.010] args <- list() [13:30:34.010] for (kk in seq_along(NAMES)) { [13:30:34.010] name <- changed[[kk]] [13:30:34.010] NAME <- NAMES[[kk]] [13:30:34.010] if (name != NAME && is.element(NAME, old_names)) [13:30:34.010] next [13:30:34.010] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.010] } [13:30:34.010] NAMES <- toupper(added) [13:30:34.010] for (kk in seq_along(NAMES)) { [13:30:34.010] name <- added[[kk]] [13:30:34.010] NAME <- NAMES[[kk]] [13:30:34.010] if (name != NAME && is.element(NAME, old_names)) [13:30:34.010] next [13:30:34.010] args[[name]] <- "" [13:30:34.010] } [13:30:34.010] NAMES <- toupper(removed) [13:30:34.010] for (kk in seq_along(NAMES)) { [13:30:34.010] name <- removed[[kk]] [13:30:34.010] NAME <- NAMES[[kk]] [13:30:34.010] if (name != NAME && is.element(NAME, old_names)) [13:30:34.010] next [13:30:34.010] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.010] } [13:30:34.010] if (length(args) > 0) [13:30:34.010] base::do.call(base::Sys.setenv, args = args) [13:30:34.010] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:34.010] } [13:30:34.010] else { [13:30:34.010] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:34.010] } [13:30:34.010] { [13:30:34.010] if (base::length(...future.futureOptionsAdded) > [13:30:34.010] 0L) { [13:30:34.010] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:34.010] base::names(opts) <- ...future.futureOptionsAdded [13:30:34.010] base::options(opts) [13:30:34.010] } [13:30:34.010] { [13:30:34.010] NULL [13:30:34.010] options(future.plan = NULL) [13:30:34.010] if (is.na(NA_character_)) [13:30:34.010] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.010] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:34.010] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:34.010] .init = FALSE) [13:30:34.010] } [13:30:34.010] } [13:30:34.010] } [13:30:34.010] }) [13:30:34.010] if (TRUE) { [13:30:34.010] base::sink(type = "output", split = FALSE) [13:30:34.010] if (TRUE) { [13:30:34.010] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:34.010] } [13:30:34.010] else { [13:30:34.010] ...future.result["stdout"] <- base::list(NULL) [13:30:34.010] } [13:30:34.010] base::close(...future.stdout) [13:30:34.010] ...future.stdout <- NULL [13:30:34.010] } [13:30:34.010] ...future.result$conditions <- ...future.conditions [13:30:34.010] ...future.result$finished <- base::Sys.time() [13:30:34.010] ...future.result [13:30:34.010] } [13:30:34.124] plan(): plan_init() of 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:30:34.124] plan(): nbrOfWorkers() = 2 [13:30:34.124] ** Sum function 'A' with plan('mirai_cluster') ...function (x, ...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } Arguments '...' exists: TRUE [13:30:34.126] getGlobalsAndPackages() ... [13:30:34.126] Searching for globals... [13:30:34.134] - globals found: [4] '{', 'sum', 'x', '...' [13:30:34.134] Searching for globals ... DONE [13:30:34.134] Resolving globals: FALSE [13:30:34.134] Tweak future expression to call with '...' arguments ... [13:30:34.134] { [13:30:34.134] do.call(function(...) { [13:30:34.134] sum(x, ...) [13:30:34.134] }, args = future.call.arguments) [13:30:34.134] } [13:30:34.135] Tweak future expression to call with '...' arguments ... DONE [13:30:34.136] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:34.137] The total size of the 2 globals exported for future expression ('{; sum(x, ...); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'future.call.arguments' (56 bytes of class 'list') [13:30:34.137] - globals: [2] 'x', 'future.call.arguments' [13:30:34.137] [13:30:34.138] getGlobalsAndPackages() ... DONE [13:30:34.138] run() for 'Future' ... [13:30:34.138] - state: 'created' [13:30:34.139] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:34.139] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:34.139] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:34.139] - Field: 'label' [13:30:34.140] - Field: 'local' [13:30:34.140] - Field: 'owner' [13:30:34.140] - Field: 'envir' [13:30:34.140] - Field: 'packages' [13:30:34.140] - Field: 'gc' [13:30:34.140] - Field: 'conditions' [13:30:34.141] - Field: 'expr' [13:30:34.141] - Field: 'uuid' [13:30:34.141] - Field: 'seed' [13:30:34.141] - Field: 'version' [13:30:34.141] - Field: 'result' [13:30:34.141] - Field: 'asynchronous' [13:30:34.142] - Field: 'calls' [13:30:34.142] - Field: 'globals' [13:30:34.142] - Field: 'stdout' [13:30:34.142] - Field: 'earlySignal' [13:30:34.142] - Field: 'lazy' [13:30:34.143] - Field: 'state' [13:30:34.143] - Field: '.cluster' [13:30:34.143] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:34.143] - Launch lazy future ... [13:30:34.143] Packages needed by the future expression (n = 0): [13:30:34.143] Packages needed by future strategies (n = 0): [13:30:34.144] { [13:30:34.144] { [13:30:34.144] { [13:30:34.144] ...future.startTime <- base::Sys.time() [13:30:34.144] { [13:30:34.144] { [13:30:34.144] { [13:30:34.144] base::local({ [13:30:34.144] has_future <- base::requireNamespace("future", [13:30:34.144] quietly = TRUE) [13:30:34.144] if (has_future) { [13:30:34.144] ns <- base::getNamespace("future") [13:30:34.144] version <- ns[[".package"]][["version"]] [13:30:34.144] if (is.null(version)) [13:30:34.144] version <- utils::packageVersion("future") [13:30:34.144] } [13:30:34.144] else { [13:30:34.144] version <- NULL [13:30:34.144] } [13:30:34.144] if (!has_future || version < "1.8.0") { [13:30:34.144] info <- base::c(r_version = base::gsub("R version ", [13:30:34.144] "", base::R.version$version.string), [13:30:34.144] platform = base::sprintf("%s (%s-bit)", [13:30:34.144] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:34.144] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:34.144] "release", "version")], collapse = " "), [13:30:34.144] hostname = base::Sys.info()[["nodename"]]) [13:30:34.144] info <- base::sprintf("%s: %s", base::names(info), [13:30:34.144] info) [13:30:34.144] info <- base::paste(info, collapse = "; ") [13:30:34.144] if (!has_future) { [13:30:34.144] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:34.144] info) [13:30:34.144] } [13:30:34.144] else { [13:30:34.144] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:34.144] info, version) [13:30:34.144] } [13:30:34.144] base::stop(msg) [13:30:34.144] } [13:30:34.144] }) [13:30:34.144] } [13:30:34.144] ...future.strategy.old <- future::plan("list") [13:30:34.144] options(future.plan = NULL) [13:30:34.144] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.144] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:34.144] } [13:30:34.144] ...future.workdir <- getwd() [13:30:34.144] } [13:30:34.144] ...future.oldOptions <- base::as.list(base::.Options) [13:30:34.144] ...future.oldEnvVars <- base::Sys.getenv() [13:30:34.144] } [13:30:34.144] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:34.144] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:34.144] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:34.144] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:34.144] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:34.144] future.stdout.windows.reencode = NULL, width = 80L) [13:30:34.144] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:34.144] base::names(...future.oldOptions)) [13:30:34.144] } [13:30:34.144] if (FALSE) { [13:30:34.144] } [13:30:34.144] else { [13:30:34.144] if (TRUE) { [13:30:34.144] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:34.144] open = "w") [13:30:34.144] } [13:30:34.144] else { [13:30:34.144] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:34.144] windows = "NUL", "/dev/null"), open = "w") [13:30:34.144] } [13:30:34.144] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:34.144] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:34.144] base::sink(type = "output", split = FALSE) [13:30:34.144] base::close(...future.stdout) [13:30:34.144] }, add = TRUE) [13:30:34.144] } [13:30:34.144] ...future.frame <- base::sys.nframe() [13:30:34.144] ...future.conditions <- base::list() [13:30:34.144] ...future.rng <- base::globalenv()$.Random.seed [13:30:34.144] if (FALSE) { [13:30:34.144] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:34.144] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:34.144] } [13:30:34.144] ...future.result <- base::tryCatch({ [13:30:34.144] base::withCallingHandlers({ [13:30:34.144] ...future.value <- base::withVisible(base::local({ [13:30:34.144] do.call(function(...) { [13:30:34.144] sum(x, ...) [13:30:34.144] }, args = future.call.arguments) [13:30:34.144] })) [13:30:34.144] future::FutureResult(value = ...future.value$value, [13:30:34.144] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.144] ...future.rng), globalenv = if (FALSE) [13:30:34.144] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:34.144] ...future.globalenv.names)) [13:30:34.144] else NULL, started = ...future.startTime, version = "1.8") [13:30:34.144] }, condition = base::local({ [13:30:34.144] c <- base::c [13:30:34.144] inherits <- base::inherits [13:30:34.144] invokeRestart <- base::invokeRestart [13:30:34.144] length <- base::length [13:30:34.144] list <- base::list [13:30:34.144] seq.int <- base::seq.int [13:30:34.144] signalCondition <- base::signalCondition [13:30:34.144] sys.calls <- base::sys.calls [13:30:34.144] `[[` <- base::`[[` [13:30:34.144] `+` <- base::`+` [13:30:34.144] `<<-` <- base::`<<-` [13:30:34.144] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:34.144] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:34.144] 3L)] [13:30:34.144] } [13:30:34.144] function(cond) { [13:30:34.144] is_error <- inherits(cond, "error") [13:30:34.144] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:34.144] NULL) [13:30:34.144] if (is_error) { [13:30:34.144] sessionInformation <- function() { [13:30:34.144] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:34.144] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:34.144] search = base::search(), system = base::Sys.info()) [13:30:34.144] } [13:30:34.144] ...future.conditions[[length(...future.conditions) + [13:30:34.144] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:34.144] cond$call), session = sessionInformation(), [13:30:34.144] timestamp = base::Sys.time(), signaled = 0L) [13:30:34.144] signalCondition(cond) [13:30:34.144] } [13:30:34.144] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:34.144] signal <- FALSE && inherits(cond, character(0)) [13:30:34.144] ...future.conditions[[length(...future.conditions) + [13:30:34.144] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:34.144] if (FALSE && !signal) { [13:30:34.144] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.144] { [13:30:34.144] inherits <- base::inherits [13:30:34.144] invokeRestart <- base::invokeRestart [13:30:34.144] is.null <- base::is.null [13:30:34.144] muffled <- FALSE [13:30:34.144] if (inherits(cond, "message")) { [13:30:34.144] muffled <- grepl(pattern, "muffleMessage") [13:30:34.144] if (muffled) [13:30:34.144] invokeRestart("muffleMessage") [13:30:34.144] } [13:30:34.144] else if (inherits(cond, "warning")) { [13:30:34.144] muffled <- grepl(pattern, "muffleWarning") [13:30:34.144] if (muffled) [13:30:34.144] invokeRestart("muffleWarning") [13:30:34.144] } [13:30:34.144] else if (inherits(cond, "condition")) { [13:30:34.144] if (!is.null(pattern)) { [13:30:34.144] computeRestarts <- base::computeRestarts [13:30:34.144] grepl <- base::grepl [13:30:34.144] restarts <- computeRestarts(cond) [13:30:34.144] for (restart in restarts) { [13:30:34.144] name <- restart$name [13:30:34.144] if (is.null(name)) [13:30:34.144] next [13:30:34.144] if (!grepl(pattern, name)) [13:30:34.144] next [13:30:34.144] invokeRestart(restart) [13:30:34.144] muffled <- TRUE [13:30:34.144] break [13:30:34.144] } [13:30:34.144] } [13:30:34.144] } [13:30:34.144] invisible(muffled) [13:30:34.144] } [13:30:34.144] muffleCondition(cond, pattern = "^muffle") [13:30:34.144] } [13:30:34.144] } [13:30:34.144] else { [13:30:34.144] if (TRUE) { [13:30:34.144] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.144] { [13:30:34.144] inherits <- base::inherits [13:30:34.144] invokeRestart <- base::invokeRestart [13:30:34.144] is.null <- base::is.null [13:30:34.144] muffled <- FALSE [13:30:34.144] if (inherits(cond, "message")) { [13:30:34.144] muffled <- grepl(pattern, "muffleMessage") [13:30:34.144] if (muffled) [13:30:34.144] invokeRestart("muffleMessage") [13:30:34.144] } [13:30:34.144] else if (inherits(cond, "warning")) { [13:30:34.144] muffled <- grepl(pattern, "muffleWarning") [13:30:34.144] if (muffled) [13:30:34.144] invokeRestart("muffleWarning") [13:30:34.144] } [13:30:34.144] else if (inherits(cond, "condition")) { [13:30:34.144] if (!is.null(pattern)) { [13:30:34.144] computeRestarts <- base::computeRestarts [13:30:34.144] grepl <- base::grepl [13:30:34.144] restarts <- computeRestarts(cond) [13:30:34.144] for (restart in restarts) { [13:30:34.144] name <- restart$name [13:30:34.144] if (is.null(name)) [13:30:34.144] next [13:30:34.144] if (!grepl(pattern, name)) [13:30:34.144] next [13:30:34.144] invokeRestart(restart) [13:30:34.144] muffled <- TRUE [13:30:34.144] break [13:30:34.144] } [13:30:34.144] } [13:30:34.144] } [13:30:34.144] invisible(muffled) [13:30:34.144] } [13:30:34.144] muffleCondition(cond, pattern = "^muffle") [13:30:34.144] } [13:30:34.144] } [13:30:34.144] } [13:30:34.144] })) [13:30:34.144] }, error = function(ex) { [13:30:34.144] base::structure(base::list(value = NULL, visible = NULL, [13:30:34.144] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.144] ...future.rng), started = ...future.startTime, [13:30:34.144] finished = Sys.time(), session_uuid = NA_character_, [13:30:34.144] version = "1.8"), class = "FutureResult") [13:30:34.144] }, finally = { [13:30:34.144] if (!identical(...future.workdir, getwd())) [13:30:34.144] setwd(...future.workdir) [13:30:34.144] { [13:30:34.144] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:34.144] ...future.oldOptions$nwarnings <- NULL [13:30:34.144] } [13:30:34.144] base::options(...future.oldOptions) [13:30:34.144] if (.Platform$OS.type == "windows") { [13:30:34.144] old_names <- names(...future.oldEnvVars) [13:30:34.144] envs <- base::Sys.getenv() [13:30:34.144] names <- names(envs) [13:30:34.144] common <- intersect(names, old_names) [13:30:34.144] added <- setdiff(names, old_names) [13:30:34.144] removed <- setdiff(old_names, names) [13:30:34.144] changed <- common[...future.oldEnvVars[common] != [13:30:34.144] envs[common]] [13:30:34.144] NAMES <- toupper(changed) [13:30:34.144] args <- list() [13:30:34.144] for (kk in seq_along(NAMES)) { [13:30:34.144] name <- changed[[kk]] [13:30:34.144] NAME <- NAMES[[kk]] [13:30:34.144] if (name != NAME && is.element(NAME, old_names)) [13:30:34.144] next [13:30:34.144] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.144] } [13:30:34.144] NAMES <- toupper(added) [13:30:34.144] for (kk in seq_along(NAMES)) { [13:30:34.144] name <- added[[kk]] [13:30:34.144] NAME <- NAMES[[kk]] [13:30:34.144] if (name != NAME && is.element(NAME, old_names)) [13:30:34.144] next [13:30:34.144] args[[name]] <- "" [13:30:34.144] } [13:30:34.144] NAMES <- toupper(removed) [13:30:34.144] for (kk in seq_along(NAMES)) { [13:30:34.144] name <- removed[[kk]] [13:30:34.144] NAME <- NAMES[[kk]] [13:30:34.144] if (name != NAME && is.element(NAME, old_names)) [13:30:34.144] next [13:30:34.144] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.144] } [13:30:34.144] if (length(args) > 0) [13:30:34.144] base::do.call(base::Sys.setenv, args = args) [13:30:34.144] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:34.144] } [13:30:34.144] else { [13:30:34.144] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:34.144] } [13:30:34.144] { [13:30:34.144] if (base::length(...future.futureOptionsAdded) > [13:30:34.144] 0L) { [13:30:34.144] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:34.144] base::names(opts) <- ...future.futureOptionsAdded [13:30:34.144] base::options(opts) [13:30:34.144] } [13:30:34.144] { [13:30:34.144] NULL [13:30:34.144] options(future.plan = NULL) [13:30:34.144] if (is.na(NA_character_)) [13:30:34.144] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.144] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:34.144] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:34.144] .init = FALSE) [13:30:34.144] } [13:30:34.144] } [13:30:34.144] } [13:30:34.144] }) [13:30:34.144] if (TRUE) { [13:30:34.144] base::sink(type = "output", split = FALSE) [13:30:34.144] if (TRUE) { [13:30:34.144] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:34.144] } [13:30:34.144] else { [13:30:34.144] ...future.result["stdout"] <- base::list(NULL) [13:30:34.144] } [13:30:34.144] base::close(...future.stdout) [13:30:34.144] ...future.stdout <- NULL [13:30:34.144] } [13:30:34.144] ...future.result$conditions <- ...future.conditions [13:30:34.144] ...future.result$finished <- base::Sys.time() [13:30:34.144] ...future.result [13:30:34.144] } [13:30:34.148] - Launch lazy future ... done [13:30:34.148] run() for 'MiraiFuture' ... done [1] 6 [13:30:34.150] ** Sum function 'B' with plan('mirai_cluster') ...function (x, ...) { sumt <- function(x) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } sumt(x) } Arguments '...' exists: TRUE [13:30:34.151] getGlobalsAndPackages() ... [13:30:34.151] Searching for globals... [13:30:34.153] - globals found: [4] '{', 'sum', 'x', '...' [13:30:34.153] Searching for globals ... DONE [13:30:34.153] Resolving globals: FALSE [13:30:34.153] Tweak future expression to call with '...' arguments ... [13:30:34.153] { [13:30:34.153] do.call(function(...) { [13:30:34.153] sum(x, ...) [13:30:34.153] }, args = future.call.arguments) [13:30:34.153] } [13:30:34.154] Tweak future expression to call with '...' arguments ... DONE [13:30:34.154] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:34.155] The total size of the 2 globals exported for future expression ('{; sum(x, ...); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'future.call.arguments' (56 bytes of class 'list') [13:30:34.155] - globals: [2] 'x', 'future.call.arguments' [13:30:34.155] [13:30:34.155] getGlobalsAndPackages() ... DONE [13:30:34.156] run() for 'Future' ... [13:30:34.156] - state: 'created' [13:30:34.156] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:34.157] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:34.159] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:34.159] - Field: 'label' [13:30:34.159] - Field: 'local' [13:30:34.159] - Field: 'owner' [13:30:34.160] - Field: 'envir' [13:30:34.160] - Field: 'packages' [13:30:34.160] - Field: 'gc' [13:30:34.160] - Field: 'conditions' [13:30:34.160] - Field: 'expr' [13:30:34.160] - Field: 'uuid' [13:30:34.161] - Field: 'seed' [13:30:34.161] - Field: 'version' [13:30:34.161] - Field: 'result' [13:30:34.161] - Field: 'asynchronous' [13:30:34.161] - Field: 'calls' [13:30:34.161] - Field: 'globals' [13:30:34.162] - Field: 'stdout' [13:30:34.162] - Field: 'earlySignal' [13:30:34.162] - Field: 'lazy' [13:30:34.162] - Field: 'state' [13:30:34.162] - Field: '.cluster' [13:30:34.162] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:34.163] - Launch lazy future ... [13:30:34.163] Packages needed by the future expression (n = 0): [13:30:34.163] Packages needed by future strategies (n = 0): [13:30:34.164] { [13:30:34.164] { [13:30:34.164] { [13:30:34.164] ...future.startTime <- base::Sys.time() [13:30:34.164] { [13:30:34.164] { [13:30:34.164] { [13:30:34.164] base::local({ [13:30:34.164] has_future <- base::requireNamespace("future", [13:30:34.164] quietly = TRUE) [13:30:34.164] if (has_future) { [13:30:34.164] ns <- base::getNamespace("future") [13:30:34.164] version <- ns[[".package"]][["version"]] [13:30:34.164] if (is.null(version)) [13:30:34.164] version <- utils::packageVersion("future") [13:30:34.164] } [13:30:34.164] else { [13:30:34.164] version <- NULL [13:30:34.164] } [13:30:34.164] if (!has_future || version < "1.8.0") { [13:30:34.164] info <- base::c(r_version = base::gsub("R version ", [13:30:34.164] "", base::R.version$version.string), [13:30:34.164] platform = base::sprintf("%s (%s-bit)", [13:30:34.164] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:34.164] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:34.164] "release", "version")], collapse = " "), [13:30:34.164] hostname = base::Sys.info()[["nodename"]]) [13:30:34.164] info <- base::sprintf("%s: %s", base::names(info), [13:30:34.164] info) [13:30:34.164] info <- base::paste(info, collapse = "; ") [13:30:34.164] if (!has_future) { [13:30:34.164] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:34.164] info) [13:30:34.164] } [13:30:34.164] else { [13:30:34.164] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:34.164] info, version) [13:30:34.164] } [13:30:34.164] base::stop(msg) [13:30:34.164] } [13:30:34.164] }) [13:30:34.164] } [13:30:34.164] ...future.strategy.old <- future::plan("list") [13:30:34.164] options(future.plan = NULL) [13:30:34.164] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.164] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:34.164] } [13:30:34.164] ...future.workdir <- getwd() [13:30:34.164] } [13:30:34.164] ...future.oldOptions <- base::as.list(base::.Options) [13:30:34.164] ...future.oldEnvVars <- base::Sys.getenv() [13:30:34.164] } [13:30:34.164] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:34.164] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:34.164] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:34.164] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:34.164] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:34.164] future.stdout.windows.reencode = NULL, width = 80L) [13:30:34.164] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:34.164] base::names(...future.oldOptions)) [13:30:34.164] } [13:30:34.164] if (FALSE) { [13:30:34.164] } [13:30:34.164] else { [13:30:34.164] if (TRUE) { [13:30:34.164] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:34.164] open = "w") [13:30:34.164] } [13:30:34.164] else { [13:30:34.164] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:34.164] windows = "NUL", "/dev/null"), open = "w") [13:30:34.164] } [13:30:34.164] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:34.164] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:34.164] base::sink(type = "output", split = FALSE) [13:30:34.164] base::close(...future.stdout) [13:30:34.164] }, add = TRUE) [13:30:34.164] } [13:30:34.164] ...future.frame <- base::sys.nframe() [13:30:34.164] ...future.conditions <- base::list() [13:30:34.164] ...future.rng <- base::globalenv()$.Random.seed [13:30:34.164] if (FALSE) { [13:30:34.164] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:34.164] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:34.164] } [13:30:34.164] ...future.result <- base::tryCatch({ [13:30:34.164] base::withCallingHandlers({ [13:30:34.164] ...future.value <- base::withVisible(base::local({ [13:30:34.164] do.call(function(...) { [13:30:34.164] sum(x, ...) [13:30:34.164] }, args = future.call.arguments) [13:30:34.164] })) [13:30:34.164] future::FutureResult(value = ...future.value$value, [13:30:34.164] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.164] ...future.rng), globalenv = if (FALSE) [13:30:34.164] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:34.164] ...future.globalenv.names)) [13:30:34.164] else NULL, started = ...future.startTime, version = "1.8") [13:30:34.164] }, condition = base::local({ [13:30:34.164] c <- base::c [13:30:34.164] inherits <- base::inherits [13:30:34.164] invokeRestart <- base::invokeRestart [13:30:34.164] length <- base::length [13:30:34.164] list <- base::list [13:30:34.164] seq.int <- base::seq.int [13:30:34.164] signalCondition <- base::signalCondition [13:30:34.164] sys.calls <- base::sys.calls [13:30:34.164] `[[` <- base::`[[` [13:30:34.164] `+` <- base::`+` [13:30:34.164] `<<-` <- base::`<<-` [13:30:34.164] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:34.164] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:34.164] 3L)] [13:30:34.164] } [13:30:34.164] function(cond) { [13:30:34.164] is_error <- inherits(cond, "error") [13:30:34.164] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:34.164] NULL) [13:30:34.164] if (is_error) { [13:30:34.164] sessionInformation <- function() { [13:30:34.164] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:34.164] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:34.164] search = base::search(), system = base::Sys.info()) [13:30:34.164] } [13:30:34.164] ...future.conditions[[length(...future.conditions) + [13:30:34.164] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:34.164] cond$call), session = sessionInformation(), [13:30:34.164] timestamp = base::Sys.time(), signaled = 0L) [13:30:34.164] signalCondition(cond) [13:30:34.164] } [13:30:34.164] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:34.164] signal <- FALSE && inherits(cond, character(0)) [13:30:34.164] ...future.conditions[[length(...future.conditions) + [13:30:34.164] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:34.164] if (FALSE && !signal) { [13:30:34.164] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.164] { [13:30:34.164] inherits <- base::inherits [13:30:34.164] invokeRestart <- base::invokeRestart [13:30:34.164] is.null <- base::is.null [13:30:34.164] muffled <- FALSE [13:30:34.164] if (inherits(cond, "message")) { [13:30:34.164] muffled <- grepl(pattern, "muffleMessage") [13:30:34.164] if (muffled) [13:30:34.164] invokeRestart("muffleMessage") [13:30:34.164] } [13:30:34.164] else if (inherits(cond, "warning")) { [13:30:34.164] muffled <- grepl(pattern, "muffleWarning") [13:30:34.164] if (muffled) [13:30:34.164] invokeRestart("muffleWarning") [13:30:34.164] } [13:30:34.164] else if (inherits(cond, "condition")) { [13:30:34.164] if (!is.null(pattern)) { [13:30:34.164] computeRestarts <- base::computeRestarts [13:30:34.164] grepl <- base::grepl [13:30:34.164] restarts <- computeRestarts(cond) [13:30:34.164] for (restart in restarts) { [13:30:34.164] name <- restart$name [13:30:34.164] if (is.null(name)) [13:30:34.164] next [13:30:34.164] if (!grepl(pattern, name)) [13:30:34.164] next [13:30:34.164] invokeRestart(restart) [13:30:34.164] muffled <- TRUE [13:30:34.164] break [13:30:34.164] } [13:30:34.164] } [13:30:34.164] } [13:30:34.164] invisible(muffled) [13:30:34.164] } [13:30:34.164] muffleCondition(cond, pattern = "^muffle") [13:30:34.164] } [13:30:34.164] } [13:30:34.164] else { [13:30:34.164] if (TRUE) { [13:30:34.164] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.164] { [13:30:34.164] inherits <- base::inherits [13:30:34.164] invokeRestart <- base::invokeRestart [13:30:34.164] is.null <- base::is.null [13:30:34.164] muffled <- FALSE [13:30:34.164] if (inherits(cond, "message")) { [13:30:34.164] muffled <- grepl(pattern, "muffleMessage") [13:30:34.164] if (muffled) [13:30:34.164] invokeRestart("muffleMessage") [13:30:34.164] } [13:30:34.164] else if (inherits(cond, "warning")) { [13:30:34.164] muffled <- grepl(pattern, "muffleWarning") [13:30:34.164] if (muffled) [13:30:34.164] invokeRestart("muffleWarning") [13:30:34.164] } [13:30:34.164] else if (inherits(cond, "condition")) { [13:30:34.164] if (!is.null(pattern)) { [13:30:34.164] computeRestarts <- base::computeRestarts [13:30:34.164] grepl <- base::grepl [13:30:34.164] restarts <- computeRestarts(cond) [13:30:34.164] for (restart in restarts) { [13:30:34.164] name <- restart$name [13:30:34.164] if (is.null(name)) [13:30:34.164] next [13:30:34.164] if (!grepl(pattern, name)) [13:30:34.164] next [13:30:34.164] invokeRestart(restart) [13:30:34.164] muffled <- TRUE [13:30:34.164] break [13:30:34.164] } [13:30:34.164] } [13:30:34.164] } [13:30:34.164] invisible(muffled) [13:30:34.164] } [13:30:34.164] muffleCondition(cond, pattern = "^muffle") [13:30:34.164] } [13:30:34.164] } [13:30:34.164] } [13:30:34.164] })) [13:30:34.164] }, error = function(ex) { [13:30:34.164] base::structure(base::list(value = NULL, visible = NULL, [13:30:34.164] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.164] ...future.rng), started = ...future.startTime, [13:30:34.164] finished = Sys.time(), session_uuid = NA_character_, [13:30:34.164] version = "1.8"), class = "FutureResult") [13:30:34.164] }, finally = { [13:30:34.164] if (!identical(...future.workdir, getwd())) [13:30:34.164] setwd(...future.workdir) [13:30:34.164] { [13:30:34.164] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:34.164] ...future.oldOptions$nwarnings <- NULL [13:30:34.164] } [13:30:34.164] base::options(...future.oldOptions) [13:30:34.164] if (.Platform$OS.type == "windows") { [13:30:34.164] old_names <- names(...future.oldEnvVars) [13:30:34.164] envs <- base::Sys.getenv() [13:30:34.164] names <- names(envs) [13:30:34.164] common <- intersect(names, old_names) [13:30:34.164] added <- setdiff(names, old_names) [13:30:34.164] removed <- setdiff(old_names, names) [13:30:34.164] changed <- common[...future.oldEnvVars[common] != [13:30:34.164] envs[common]] [13:30:34.164] NAMES <- toupper(changed) [13:30:34.164] args <- list() [13:30:34.164] for (kk in seq_along(NAMES)) { [13:30:34.164] name <- changed[[kk]] [13:30:34.164] NAME <- NAMES[[kk]] [13:30:34.164] if (name != NAME && is.element(NAME, old_names)) [13:30:34.164] next [13:30:34.164] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.164] } [13:30:34.164] NAMES <- toupper(added) [13:30:34.164] for (kk in seq_along(NAMES)) { [13:30:34.164] name <- added[[kk]] [13:30:34.164] NAME <- NAMES[[kk]] [13:30:34.164] if (name != NAME && is.element(NAME, old_names)) [13:30:34.164] next [13:30:34.164] args[[name]] <- "" [13:30:34.164] } [13:30:34.164] NAMES <- toupper(removed) [13:30:34.164] for (kk in seq_along(NAMES)) { [13:30:34.164] name <- removed[[kk]] [13:30:34.164] NAME <- NAMES[[kk]] [13:30:34.164] if (name != NAME && is.element(NAME, old_names)) [13:30:34.164] next [13:30:34.164] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.164] } [13:30:34.164] if (length(args) > 0) [13:30:34.164] base::do.call(base::Sys.setenv, args = args) [13:30:34.164] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:34.164] } [13:30:34.164] else { [13:30:34.164] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:34.164] } [13:30:34.164] { [13:30:34.164] if (base::length(...future.futureOptionsAdded) > [13:30:34.164] 0L) { [13:30:34.164] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:34.164] base::names(opts) <- ...future.futureOptionsAdded [13:30:34.164] base::options(opts) [13:30:34.164] } [13:30:34.164] { [13:30:34.164] NULL [13:30:34.164] options(future.plan = NULL) [13:30:34.164] if (is.na(NA_character_)) [13:30:34.164] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.164] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:34.164] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:34.164] .init = FALSE) [13:30:34.164] } [13:30:34.164] } [13:30:34.164] } [13:30:34.164] }) [13:30:34.164] if (TRUE) { [13:30:34.164] base::sink(type = "output", split = FALSE) [13:30:34.164] if (TRUE) { [13:30:34.164] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:34.164] } [13:30:34.164] else { [13:30:34.164] ...future.result["stdout"] <- base::list(NULL) [13:30:34.164] } [13:30:34.164] base::close(...future.stdout) [13:30:34.164] ...future.stdout <- NULL [13:30:34.164] } [13:30:34.164] ...future.result$conditions <- ...future.conditions [13:30:34.164] ...future.result$finished <- base::Sys.time() [13:30:34.164] ...future.result [13:30:34.164] } [13:30:34.168] - Launch lazy future ... done [13:30:34.168] run() for 'MiraiFuture' ... done [1] 6 [13:30:34.171] ** Sum function 'C' with plan('mirai_cluster') ...function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y) } y } Arguments '...' exists: FALSE [13:30:34.171] getGlobalsAndPackages() ... [13:30:34.172] Searching for globals... [13:30:34.173] - globals found: [4] '{', 'sum', 'x', 'y' [13:30:34.173] Searching for globals ... DONE [13:30:34.173] Resolving globals: FALSE [13:30:34.174] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:34.174] The total size of the 2 globals exported for future expression ('{; sum(x, y); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'y' (56 bytes of class 'numeric') [13:30:34.174] - globals: [2] 'x', 'y' [13:30:34.175] [13:30:34.175] getGlobalsAndPackages() ... DONE [13:30:34.175] run() for 'Future' ... [13:30:34.175] - state: 'created' [13:30:34.175] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:34.176] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:34.176] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:34.176] - Field: 'label' [13:30:34.176] - Field: 'local' [13:30:34.177] - Field: 'owner' [13:30:34.177] - Field: 'envir' [13:30:34.177] - Field: 'packages' [13:30:34.177] - Field: 'gc' [13:30:34.177] - Field: 'conditions' [13:30:34.177] - Field: 'expr' [13:30:34.178] - Field: 'uuid' [13:30:34.178] - Field: 'seed' [13:30:34.178] - Field: 'version' [13:30:34.178] - Field: 'result' [13:30:34.178] - Field: 'asynchronous' [13:30:34.178] - Field: 'calls' [13:30:34.179] - Field: 'globals' [13:30:34.179] - Field: 'stdout' [13:30:34.179] - Field: 'earlySignal' [13:30:34.179] - Field: 'lazy' [13:30:34.179] - Field: 'state' [13:30:34.179] - Field: '.cluster' [13:30:34.180] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:34.180] - Launch lazy future ... [13:30:34.180] Packages needed by the future expression (n = 0): [13:30:34.180] Packages needed by future strategies (n = 0): [13:30:34.181] { [13:30:34.181] { [13:30:34.181] { [13:30:34.181] ...future.startTime <- base::Sys.time() [13:30:34.181] { [13:30:34.181] { [13:30:34.181] { [13:30:34.181] base::local({ [13:30:34.181] has_future <- base::requireNamespace("future", [13:30:34.181] quietly = TRUE) [13:30:34.181] if (has_future) { [13:30:34.181] ns <- base::getNamespace("future") [13:30:34.181] version <- ns[[".package"]][["version"]] [13:30:34.181] if (is.null(version)) [13:30:34.181] version <- utils::packageVersion("future") [13:30:34.181] } [13:30:34.181] else { [13:30:34.181] version <- NULL [13:30:34.181] } [13:30:34.181] if (!has_future || version < "1.8.0") { [13:30:34.181] info <- base::c(r_version = base::gsub("R version ", [13:30:34.181] "", base::R.version$version.string), [13:30:34.181] platform = base::sprintf("%s (%s-bit)", [13:30:34.181] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:34.181] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:34.181] "release", "version")], collapse = " "), [13:30:34.181] hostname = base::Sys.info()[["nodename"]]) [13:30:34.181] info <- base::sprintf("%s: %s", base::names(info), [13:30:34.181] info) [13:30:34.181] info <- base::paste(info, collapse = "; ") [13:30:34.181] if (!has_future) { [13:30:34.181] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:34.181] info) [13:30:34.181] } [13:30:34.181] else { [13:30:34.181] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:34.181] info, version) [13:30:34.181] } [13:30:34.181] base::stop(msg) [13:30:34.181] } [13:30:34.181] }) [13:30:34.181] } [13:30:34.181] ...future.strategy.old <- future::plan("list") [13:30:34.181] options(future.plan = NULL) [13:30:34.181] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.181] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:34.181] } [13:30:34.181] ...future.workdir <- getwd() [13:30:34.181] } [13:30:34.181] ...future.oldOptions <- base::as.list(base::.Options) [13:30:34.181] ...future.oldEnvVars <- base::Sys.getenv() [13:30:34.181] } [13:30:34.181] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:34.181] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:34.181] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:34.181] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:34.181] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:34.181] future.stdout.windows.reencode = NULL, width = 80L) [13:30:34.181] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:34.181] base::names(...future.oldOptions)) [13:30:34.181] } [13:30:34.181] if (FALSE) { [13:30:34.181] } [13:30:34.181] else { [13:30:34.181] if (TRUE) { [13:30:34.181] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:34.181] open = "w") [13:30:34.181] } [13:30:34.181] else { [13:30:34.181] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:34.181] windows = "NUL", "/dev/null"), open = "w") [13:30:34.181] } [13:30:34.181] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:34.181] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:34.181] base::sink(type = "output", split = FALSE) [13:30:34.181] base::close(...future.stdout) [13:30:34.181] }, add = TRUE) [13:30:34.181] } [13:30:34.181] ...future.frame <- base::sys.nframe() [13:30:34.181] ...future.conditions <- base::list() [13:30:34.181] ...future.rng <- base::globalenv()$.Random.seed [13:30:34.181] if (FALSE) { [13:30:34.181] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:34.181] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:34.181] } [13:30:34.181] ...future.result <- base::tryCatch({ [13:30:34.181] base::withCallingHandlers({ [13:30:34.181] ...future.value <- base::withVisible(base::local({ [13:30:34.181] sum(x, y) [13:30:34.181] })) [13:30:34.181] future::FutureResult(value = ...future.value$value, [13:30:34.181] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.181] ...future.rng), globalenv = if (FALSE) [13:30:34.181] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:34.181] ...future.globalenv.names)) [13:30:34.181] else NULL, started = ...future.startTime, version = "1.8") [13:30:34.181] }, condition = base::local({ [13:30:34.181] c <- base::c [13:30:34.181] inherits <- base::inherits [13:30:34.181] invokeRestart <- base::invokeRestart [13:30:34.181] length <- base::length [13:30:34.181] list <- base::list [13:30:34.181] seq.int <- base::seq.int [13:30:34.181] signalCondition <- base::signalCondition [13:30:34.181] sys.calls <- base::sys.calls [13:30:34.181] `[[` <- base::`[[` [13:30:34.181] `+` <- base::`+` [13:30:34.181] `<<-` <- base::`<<-` [13:30:34.181] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:34.181] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:34.181] 3L)] [13:30:34.181] } [13:30:34.181] function(cond) { [13:30:34.181] is_error <- inherits(cond, "error") [13:30:34.181] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:34.181] NULL) [13:30:34.181] if (is_error) { [13:30:34.181] sessionInformation <- function() { [13:30:34.181] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:34.181] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:34.181] search = base::search(), system = base::Sys.info()) [13:30:34.181] } [13:30:34.181] ...future.conditions[[length(...future.conditions) + [13:30:34.181] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:34.181] cond$call), session = sessionInformation(), [13:30:34.181] timestamp = base::Sys.time(), signaled = 0L) [13:30:34.181] signalCondition(cond) [13:30:34.181] } [13:30:34.181] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:34.181] signal <- FALSE && inherits(cond, character(0)) [13:30:34.181] ...future.conditions[[length(...future.conditions) + [13:30:34.181] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:34.181] if (FALSE && !signal) { [13:30:34.181] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.181] { [13:30:34.181] inherits <- base::inherits [13:30:34.181] invokeRestart <- base::invokeRestart [13:30:34.181] is.null <- base::is.null [13:30:34.181] muffled <- FALSE [13:30:34.181] if (inherits(cond, "message")) { [13:30:34.181] muffled <- grepl(pattern, "muffleMessage") [13:30:34.181] if (muffled) [13:30:34.181] invokeRestart("muffleMessage") [13:30:34.181] } [13:30:34.181] else if (inherits(cond, "warning")) { [13:30:34.181] muffled <- grepl(pattern, "muffleWarning") [13:30:34.181] if (muffled) [13:30:34.181] invokeRestart("muffleWarning") [13:30:34.181] } [13:30:34.181] else if (inherits(cond, "condition")) { [13:30:34.181] if (!is.null(pattern)) { [13:30:34.181] computeRestarts <- base::computeRestarts [13:30:34.181] grepl <- base::grepl [13:30:34.181] restarts <- computeRestarts(cond) [13:30:34.181] for (restart in restarts) { [13:30:34.181] name <- restart$name [13:30:34.181] if (is.null(name)) [13:30:34.181] next [13:30:34.181] if (!grepl(pattern, name)) [13:30:34.181] next [13:30:34.181] invokeRestart(restart) [13:30:34.181] muffled <- TRUE [13:30:34.181] break [13:30:34.181] } [13:30:34.181] } [13:30:34.181] } [13:30:34.181] invisible(muffled) [13:30:34.181] } [13:30:34.181] muffleCondition(cond, pattern = "^muffle") [13:30:34.181] } [13:30:34.181] } [13:30:34.181] else { [13:30:34.181] if (TRUE) { [13:30:34.181] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.181] { [13:30:34.181] inherits <- base::inherits [13:30:34.181] invokeRestart <- base::invokeRestart [13:30:34.181] is.null <- base::is.null [13:30:34.181] muffled <- FALSE [13:30:34.181] if (inherits(cond, "message")) { [13:30:34.181] muffled <- grepl(pattern, "muffleMessage") [13:30:34.181] if (muffled) [13:30:34.181] invokeRestart("muffleMessage") [13:30:34.181] } [13:30:34.181] else if (inherits(cond, "warning")) { [13:30:34.181] muffled <- grepl(pattern, "muffleWarning") [13:30:34.181] if (muffled) [13:30:34.181] invokeRestart("muffleWarning") [13:30:34.181] } [13:30:34.181] else if (inherits(cond, "condition")) { [13:30:34.181] if (!is.null(pattern)) { [13:30:34.181] computeRestarts <- base::computeRestarts [13:30:34.181] grepl <- base::grepl [13:30:34.181] restarts <- computeRestarts(cond) [13:30:34.181] for (restart in restarts) { [13:30:34.181] name <- restart$name [13:30:34.181] if (is.null(name)) [13:30:34.181] next [13:30:34.181] if (!grepl(pattern, name)) [13:30:34.181] next [13:30:34.181] invokeRestart(restart) [13:30:34.181] muffled <- TRUE [13:30:34.181] break [13:30:34.181] } [13:30:34.181] } [13:30:34.181] } [13:30:34.181] invisible(muffled) [13:30:34.181] } [13:30:34.181] muffleCondition(cond, pattern = "^muffle") [13:30:34.181] } [13:30:34.181] } [13:30:34.181] } [13:30:34.181] })) [13:30:34.181] }, error = function(ex) { [13:30:34.181] base::structure(base::list(value = NULL, visible = NULL, [13:30:34.181] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.181] ...future.rng), started = ...future.startTime, [13:30:34.181] finished = Sys.time(), session_uuid = NA_character_, [13:30:34.181] version = "1.8"), class = "FutureResult") [13:30:34.181] }, finally = { [13:30:34.181] if (!identical(...future.workdir, getwd())) [13:30:34.181] setwd(...future.workdir) [13:30:34.181] { [13:30:34.181] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:34.181] ...future.oldOptions$nwarnings <- NULL [13:30:34.181] } [13:30:34.181] base::options(...future.oldOptions) [13:30:34.181] if (.Platform$OS.type == "windows") { [13:30:34.181] old_names <- names(...future.oldEnvVars) [13:30:34.181] envs <- base::Sys.getenv() [13:30:34.181] names <- names(envs) [13:30:34.181] common <- intersect(names, old_names) [13:30:34.181] added <- setdiff(names, old_names) [13:30:34.181] removed <- setdiff(old_names, names) [13:30:34.181] changed <- common[...future.oldEnvVars[common] != [13:30:34.181] envs[common]] [13:30:34.181] NAMES <- toupper(changed) [13:30:34.181] args <- list() [13:30:34.181] for (kk in seq_along(NAMES)) { [13:30:34.181] name <- changed[[kk]] [13:30:34.181] NAME <- NAMES[[kk]] [13:30:34.181] if (name != NAME && is.element(NAME, old_names)) [13:30:34.181] next [13:30:34.181] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.181] } [13:30:34.181] NAMES <- toupper(added) [13:30:34.181] for (kk in seq_along(NAMES)) { [13:30:34.181] name <- added[[kk]] [13:30:34.181] NAME <- NAMES[[kk]] [13:30:34.181] if (name != NAME && is.element(NAME, old_names)) [13:30:34.181] next [13:30:34.181] args[[name]] <- "" [13:30:34.181] } [13:30:34.181] NAMES <- toupper(removed) [13:30:34.181] for (kk in seq_along(NAMES)) { [13:30:34.181] name <- removed[[kk]] [13:30:34.181] NAME <- NAMES[[kk]] [13:30:34.181] if (name != NAME && is.element(NAME, old_names)) [13:30:34.181] next [13:30:34.181] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.181] } [13:30:34.181] if (length(args) > 0) [13:30:34.181] base::do.call(base::Sys.setenv, args = args) [13:30:34.181] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:34.181] } [13:30:34.181] else { [13:30:34.181] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:34.181] } [13:30:34.181] { [13:30:34.181] if (base::length(...future.futureOptionsAdded) > [13:30:34.181] 0L) { [13:30:34.181] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:34.181] base::names(opts) <- ...future.futureOptionsAdded [13:30:34.181] base::options(opts) [13:30:34.181] } [13:30:34.181] { [13:30:34.181] NULL [13:30:34.181] options(future.plan = NULL) [13:30:34.181] if (is.na(NA_character_)) [13:30:34.181] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.181] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:34.181] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:34.181] .init = FALSE) [13:30:34.181] } [13:30:34.181] } [13:30:34.181] } [13:30:34.181] }) [13:30:34.181] if (TRUE) { [13:30:34.181] base::sink(type = "output", split = FALSE) [13:30:34.181] if (TRUE) { [13:30:34.181] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:34.181] } [13:30:34.181] else { [13:30:34.181] ...future.result["stdout"] <- base::list(NULL) [13:30:34.181] } [13:30:34.181] base::close(...future.stdout) [13:30:34.181] ...future.stdout <- NULL [13:30:34.181] } [13:30:34.181] ...future.result$conditions <- ...future.conditions [13:30:34.181] ...future.result$finished <- base::Sys.time() [13:30:34.181] ...future.result [13:30:34.181] } [13:30:34.184] - Launch lazy future ... done [13:30:34.185] run() for 'MiraiFuture' ... done [1] 6 [13:30:34.186] ** Sum function 'D' with plan('mirai_cluster') ...function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y, ...) } y } Arguments '...' exists: FALSE [13:30:34.187] getGlobalsAndPackages() ... [13:30:34.187] Searching for globals... [13:30:34.189] - globals found: [5] '{', 'sum', 'x', 'y', '...' [13:30:34.189] Searching for globals ... DONE [13:30:34.189] Resolving globals: FALSE [13:30:34.189] Tweak future expression to call with '...' arguments ... [13:30:34.190] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:34.190] The total size of the 2 globals exported for future expression ('{; sum(x, y, ...); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'y' (56 bytes of class 'numeric') [13:30:34.191] - globals: [2] 'x', 'y' [13:30:34.191] [13:30:34.191] getGlobalsAndPackages() ... DONE [13:30:34.191] run() for 'Future' ... [13:30:34.191] - state: 'created' [13:30:34.192] - Future backend: 'FutureStrategy', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:34.192] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:34.192] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:34.192] - Field: 'label' [13:30:34.193] - Field: 'local' [13:30:34.193] - Field: 'owner' [13:30:34.193] - Field: 'envir' [13:30:34.193] - Field: 'packages' [13:30:34.193] - Field: 'gc' [13:30:34.193] - Field: 'conditions' [13:30:34.194] - Field: 'expr' [13:30:34.194] - Field: 'uuid' [13:30:34.194] - Field: 'seed' [13:30:34.194] - Field: 'version' [13:30:34.194] - Field: 'result' [13:30:34.194] - Field: 'asynchronous' [13:30:34.195] - Field: 'calls' [13:30:34.195] - Field: 'globals' [13:30:34.195] - Field: 'stdout' [13:30:34.195] - Field: 'earlySignal' [13:30:34.195] - Field: 'lazy' [13:30:34.195] - Field: 'state' [13:30:34.196] - Field: '.cluster' [13:30:34.196] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:34.196] - Launch lazy future ... [13:30:34.196] Packages needed by the future expression (n = 0): [13:30:34.196] Packages needed by future strategies (n = 0): [13:30:34.197] { [13:30:34.197] { [13:30:34.197] { [13:30:34.197] ...future.startTime <- base::Sys.time() [13:30:34.197] { [13:30:34.197] { [13:30:34.197] { [13:30:34.197] base::local({ [13:30:34.197] has_future <- base::requireNamespace("future", [13:30:34.197] quietly = TRUE) [13:30:34.197] if (has_future) { [13:30:34.197] ns <- base::getNamespace("future") [13:30:34.197] version <- ns[[".package"]][["version"]] [13:30:34.197] if (is.null(version)) [13:30:34.197] version <- utils::packageVersion("future") [13:30:34.197] } [13:30:34.197] else { [13:30:34.197] version <- NULL [13:30:34.197] } [13:30:34.197] if (!has_future || version < "1.8.0") { [13:30:34.197] info <- base::c(r_version = base::gsub("R version ", [13:30:34.197] "", base::R.version$version.string), [13:30:34.197] platform = base::sprintf("%s (%s-bit)", [13:30:34.197] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:34.197] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:34.197] "release", "version")], collapse = " "), [13:30:34.197] hostname = base::Sys.info()[["nodename"]]) [13:30:34.197] info <- base::sprintf("%s: %s", base::names(info), [13:30:34.197] info) [13:30:34.197] info <- base::paste(info, collapse = "; ") [13:30:34.197] if (!has_future) { [13:30:34.197] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:34.197] info) [13:30:34.197] } [13:30:34.197] else { [13:30:34.197] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:34.197] info, version) [13:30:34.197] } [13:30:34.197] base::stop(msg) [13:30:34.197] } [13:30:34.197] }) [13:30:34.197] } [13:30:34.197] ...future.strategy.old <- future::plan("list") [13:30:34.197] options(future.plan = NULL) [13:30:34.197] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.197] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:34.197] } [13:30:34.197] ...future.workdir <- getwd() [13:30:34.197] } [13:30:34.197] ...future.oldOptions <- base::as.list(base::.Options) [13:30:34.197] ...future.oldEnvVars <- base::Sys.getenv() [13:30:34.197] } [13:30:34.197] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:34.197] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:34.197] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:34.197] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:34.197] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:34.197] future.stdout.windows.reencode = NULL, width = 80L) [13:30:34.197] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:34.197] base::names(...future.oldOptions)) [13:30:34.197] } [13:30:34.197] if (FALSE) { [13:30:34.197] } [13:30:34.197] else { [13:30:34.197] if (TRUE) { [13:30:34.197] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:34.197] open = "w") [13:30:34.197] } [13:30:34.197] else { [13:30:34.197] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:34.197] windows = "NUL", "/dev/null"), open = "w") [13:30:34.197] } [13:30:34.197] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:34.197] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:34.197] base::sink(type = "output", split = FALSE) [13:30:34.197] base::close(...future.stdout) [13:30:34.197] }, add = TRUE) [13:30:34.197] } [13:30:34.197] ...future.frame <- base::sys.nframe() [13:30:34.197] ...future.conditions <- base::list() [13:30:34.197] ...future.rng <- base::globalenv()$.Random.seed [13:30:34.197] if (FALSE) { [13:30:34.197] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:34.197] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:34.197] } [13:30:34.197] ...future.result <- base::tryCatch({ [13:30:34.197] base::withCallingHandlers({ [13:30:34.197] ...future.value <- base::withVisible(base::local({ [13:30:34.197] sum(x, y, ...) [13:30:34.197] })) [13:30:34.197] future::FutureResult(value = ...future.value$value, [13:30:34.197] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.197] ...future.rng), globalenv = if (FALSE) [13:30:34.197] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:34.197] ...future.globalenv.names)) [13:30:34.197] else NULL, started = ...future.startTime, version = "1.8") [13:30:34.197] }, condition = base::local({ [13:30:34.197] c <- base::c [13:30:34.197] inherits <- base::inherits [13:30:34.197] invokeRestart <- base::invokeRestart [13:30:34.197] length <- base::length [13:30:34.197] list <- base::list [13:30:34.197] seq.int <- base::seq.int [13:30:34.197] signalCondition <- base::signalCondition [13:30:34.197] sys.calls <- base::sys.calls [13:30:34.197] `[[` <- base::`[[` [13:30:34.197] `+` <- base::`+` [13:30:34.197] `<<-` <- base::`<<-` [13:30:34.197] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:34.197] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:34.197] 3L)] [13:30:34.197] } [13:30:34.197] function(cond) { [13:30:34.197] is_error <- inherits(cond, "error") [13:30:34.197] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:34.197] NULL) [13:30:34.197] if (is_error) { [13:30:34.197] sessionInformation <- function() { [13:30:34.197] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:34.197] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:34.197] search = base::search(), system = base::Sys.info()) [13:30:34.197] } [13:30:34.197] ...future.conditions[[length(...future.conditions) + [13:30:34.197] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:34.197] cond$call), session = sessionInformation(), [13:30:34.197] timestamp = base::Sys.time(), signaled = 0L) [13:30:34.197] signalCondition(cond) [13:30:34.197] } [13:30:34.197] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:34.197] signal <- FALSE && inherits(cond, character(0)) [13:30:34.197] ...future.conditions[[length(...future.conditions) + [13:30:34.197] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:34.197] if (FALSE && !signal) { [13:30:34.197] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.197] { [13:30:34.197] inherits <- base::inherits [13:30:34.197] invokeRestart <- base::invokeRestart [13:30:34.197] is.null <- base::is.null [13:30:34.197] muffled <- FALSE [13:30:34.197] if (inherits(cond, "message")) { [13:30:34.197] muffled <- grepl(pattern, "muffleMessage") [13:30:34.197] if (muffled) [13:30:34.197] invokeRestart("muffleMessage") [13:30:34.197] } [13:30:34.197] else if (inherits(cond, "warning")) { [13:30:34.197] muffled <- grepl(pattern, "muffleWarning") [13:30:34.197] if (muffled) [13:30:34.197] invokeRestart("muffleWarning") [13:30:34.197] } [13:30:34.197] else if (inherits(cond, "condition")) { [13:30:34.197] if (!is.null(pattern)) { [13:30:34.197] computeRestarts <- base::computeRestarts [13:30:34.197] grepl <- base::grepl [13:30:34.197] restarts <- computeRestarts(cond) [13:30:34.197] for (restart in restarts) { [13:30:34.197] name <- restart$name [13:30:34.197] if (is.null(name)) [13:30:34.197] next [13:30:34.197] if (!grepl(pattern, name)) [13:30:34.197] next [13:30:34.197] invokeRestart(restart) [13:30:34.197] muffled <- TRUE [13:30:34.197] break [13:30:34.197] } [13:30:34.197] } [13:30:34.197] } [13:30:34.197] invisible(muffled) [13:30:34.197] } [13:30:34.197] muffleCondition(cond, pattern = "^muffle") [13:30:34.197] } [13:30:34.197] } [13:30:34.197] else { [13:30:34.197] if (TRUE) { [13:30:34.197] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.197] { [13:30:34.197] inherits <- base::inherits [13:30:34.197] invokeRestart <- base::invokeRestart [13:30:34.197] is.null <- base::is.null [13:30:34.197] muffled <- FALSE [13:30:34.197] if (inherits(cond, "message")) { [13:30:34.197] muffled <- grepl(pattern, "muffleMessage") [13:30:34.197] if (muffled) [13:30:34.197] invokeRestart("muffleMessage") [13:30:34.197] } [13:30:34.197] else if (inherits(cond, "warning")) { [13:30:34.197] muffled <- grepl(pattern, "muffleWarning") [13:30:34.197] if (muffled) [13:30:34.197] invokeRestart("muffleWarning") [13:30:34.197] } [13:30:34.197] else if (inherits(cond, "condition")) { [13:30:34.197] if (!is.null(pattern)) { [13:30:34.197] computeRestarts <- base::computeRestarts [13:30:34.197] grepl <- base::grepl [13:30:34.197] restarts <- computeRestarts(cond) [13:30:34.197] for (restart in restarts) { [13:30:34.197] name <- restart$name [13:30:34.197] if (is.null(name)) [13:30:34.197] next [13:30:34.197] if (!grepl(pattern, name)) [13:30:34.197] next [13:30:34.197] invokeRestart(restart) [13:30:34.197] muffled <- TRUE [13:30:34.197] break [13:30:34.197] } [13:30:34.197] } [13:30:34.197] } [13:30:34.197] invisible(muffled) [13:30:34.197] } [13:30:34.197] muffleCondition(cond, pattern = "^muffle") [13:30:34.197] } [13:30:34.197] } [13:30:34.197] } [13:30:34.197] })) [13:30:34.197] }, error = function(ex) { [13:30:34.197] base::structure(base::list(value = NULL, visible = NULL, [13:30:34.197] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.197] ...future.rng), started = ...future.startTime, [13:30:34.197] finished = Sys.time(), session_uuid = NA_character_, [13:30:34.197] version = "1.8"), class = "FutureResult") [13:30:34.197] }, finally = { [13:30:34.197] if (!identical(...future.workdir, getwd())) [13:30:34.197] setwd(...future.workdir) [13:30:34.197] { [13:30:34.197] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:34.197] ...future.oldOptions$nwarnings <- NULL [13:30:34.197] } [13:30:34.197] base::options(...future.oldOptions) [13:30:34.197] if (.Platform$OS.type == "windows") { [13:30:34.197] old_names <- names(...future.oldEnvVars) [13:30:34.197] envs <- base::Sys.getenv() [13:30:34.197] names <- names(envs) [13:30:34.197] common <- intersect(names, old_names) [13:30:34.197] added <- setdiff(names, old_names) [13:30:34.197] removed <- setdiff(old_names, names) [13:30:34.197] changed <- common[...future.oldEnvVars[common] != [13:30:34.197] envs[common]] [13:30:34.197] NAMES <- toupper(changed) [13:30:34.197] args <- list() [13:30:34.197] for (kk in seq_along(NAMES)) { [13:30:34.197] name <- changed[[kk]] [13:30:34.197] NAME <- NAMES[[kk]] [13:30:34.197] if (name != NAME && is.element(NAME, old_names)) [13:30:34.197] next [13:30:34.197] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.197] } [13:30:34.197] NAMES <- toupper(added) [13:30:34.197] for (kk in seq_along(NAMES)) { [13:30:34.197] name <- added[[kk]] [13:30:34.197] NAME <- NAMES[[kk]] [13:30:34.197] if (name != NAME && is.element(NAME, old_names)) [13:30:34.197] next [13:30:34.197] args[[name]] <- "" [13:30:34.197] } [13:30:34.197] NAMES <- toupper(removed) [13:30:34.197] for (kk in seq_along(NAMES)) { [13:30:34.197] name <- removed[[kk]] [13:30:34.197] NAME <- NAMES[[kk]] [13:30:34.197] if (name != NAME && is.element(NAME, old_names)) [13:30:34.197] next [13:30:34.197] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.197] } [13:30:34.197] if (length(args) > 0) [13:30:34.197] base::do.call(base::Sys.setenv, args = args) [13:30:34.197] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:34.197] } [13:30:34.197] else { [13:30:34.197] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:34.197] } [13:30:34.197] { [13:30:34.197] if (base::length(...future.futureOptionsAdded) > [13:30:34.197] 0L) { [13:30:34.197] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:34.197] base::names(opts) <- ...future.futureOptionsAdded [13:30:34.197] base::options(opts) [13:30:34.197] } [13:30:34.197] { [13:30:34.197] NULL [13:30:34.197] options(future.plan = NULL) [13:30:34.197] if (is.na(NA_character_)) [13:30:34.197] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.197] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:34.197] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:34.197] .init = FALSE) [13:30:34.197] } [13:30:34.197] } [13:30:34.197] } [13:30:34.197] }) [13:30:34.197] if (TRUE) { [13:30:34.197] base::sink(type = "output", split = FALSE) [13:30:34.197] if (TRUE) { [13:30:34.197] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:34.197] } [13:30:34.197] else { [13:30:34.197] ...future.result["stdout"] <- base::list(NULL) [13:30:34.197] } [13:30:34.197] base::close(...future.stdout) [13:30:34.197] ...future.stdout <- NULL [13:30:34.197] } [13:30:34.197] ...future.result$conditions <- ...future.conditions [13:30:34.197] ...future.result$finished <- base::Sys.time() [13:30:34.197] ...future.result [13:30:34.197] } [13:30:34.201] - Launch lazy future ... done [13:30:34.201] run() for 'MiraiFuture' ... done [13:30:34.204] signalConditions() ... [13:30:34.204] - include = 'immediateCondition' [13:30:34.204] - exclude = [13:30:34.205] - resignal = FALSE [13:30:34.205] - Number of conditions: 1 [13:30:34.205] signalConditions() ... done [13:30:34.205] Future state: 'finished' [13:30:34.205] signalConditions() ... [13:30:34.206] - include = 'condition' [13:30:34.206] - exclude = 'immediateCondition' [13:30:34.206] - resignal = TRUE [13:30:34.206] - Number of conditions: 1 [13:30:34.206] - Condition #1: 'simpleError', 'error', 'condition' [13:30:34.207] signalConditions() ... done [13:30:34.209] plan(): Setting new future strategy stack: [13:30:34.209] List of future strategies: [13:30:34.209] 1. mirai_multisession: [13:30:34.209] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:30:34.209] - tweaked: FALSE [13:30:34.209] - call: plan(strategy, substitute = FALSE) [13:30:34.209] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:30:34.209] < mirai | $data > [13:30:34.212] getGlobalsAndPackages() ... [13:30:34.212] Not searching for globals [13:30:34.212] - globals: [0] [13:30:34.212] getGlobalsAndPackages() ... DONE [13:30:34.212] getGlobalsAndPackages() ... [13:30:34.212] [13:30:34.213] - globals: [0] [13:30:34.213] getGlobalsAndPackages() ... DONE [13:30:34.213] Packages needed by the future expression (n = 0): [13:30:34.213] Packages needed by future strategies (n = 0): [13:30:34.214] { [13:30:34.214] { [13:30:34.214] { [13:30:34.214] ...future.startTime <- base::Sys.time() [13:30:34.214] { [13:30:34.214] { [13:30:34.214] { [13:30:34.214] base::local({ [13:30:34.214] has_future <- base::requireNamespace("future", [13:30:34.214] quietly = TRUE) [13:30:34.214] if (has_future) { [13:30:34.214] ns <- base::getNamespace("future") [13:30:34.214] version <- ns[[".package"]][["version"]] [13:30:34.214] if (is.null(version)) [13:30:34.214] version <- utils::packageVersion("future") [13:30:34.214] } [13:30:34.214] else { [13:30:34.214] version <- NULL [13:30:34.214] } [13:30:34.214] if (!has_future || version < "1.8.0") { [13:30:34.214] info <- base::c(r_version = base::gsub("R version ", [13:30:34.214] "", base::R.version$version.string), [13:30:34.214] platform = base::sprintf("%s (%s-bit)", [13:30:34.214] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:34.214] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:34.214] "release", "version")], collapse = " "), [13:30:34.214] hostname = base::Sys.info()[["nodename"]]) [13:30:34.214] info <- base::sprintf("%s: %s", base::names(info), [13:30:34.214] info) [13:30:34.214] info <- base::paste(info, collapse = "; ") [13:30:34.214] if (!has_future) { [13:30:34.214] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:34.214] info) [13:30:34.214] } [13:30:34.214] else { [13:30:34.214] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:34.214] info, version) [13:30:34.214] } [13:30:34.214] base::stop(msg) [13:30:34.214] } [13:30:34.214] }) [13:30:34.214] } [13:30:34.214] ...future.strategy.old <- future::plan("list") [13:30:34.214] options(future.plan = NULL) [13:30:34.214] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.214] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:34.214] } [13:30:34.214] ...future.workdir <- getwd() [13:30:34.214] } [13:30:34.214] ...future.oldOptions <- base::as.list(base::.Options) [13:30:34.214] ...future.oldEnvVars <- base::Sys.getenv() [13:30:34.214] } [13:30:34.214] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:34.214] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:34.214] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:34.214] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:34.214] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:34.214] future.stdout.windows.reencode = NULL, width = 80L) [13:30:34.214] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:34.214] base::names(...future.oldOptions)) [13:30:34.214] } [13:30:34.214] if (FALSE) { [13:30:34.214] } [13:30:34.214] else { [13:30:34.214] if (TRUE) { [13:30:34.214] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:34.214] open = "w") [13:30:34.214] } [13:30:34.214] else { [13:30:34.214] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:34.214] windows = "NUL", "/dev/null"), open = "w") [13:30:34.214] } [13:30:34.214] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:34.214] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:34.214] base::sink(type = "output", split = FALSE) [13:30:34.214] base::close(...future.stdout) [13:30:34.214] }, add = TRUE) [13:30:34.214] } [13:30:34.214] ...future.frame <- base::sys.nframe() [13:30:34.214] ...future.conditions <- base::list() [13:30:34.214] ...future.rng <- base::globalenv()$.Random.seed [13:30:34.214] if (FALSE) { [13:30:34.214] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:34.214] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:34.214] } [13:30:34.214] ...future.result <- base::tryCatch({ [13:30:34.214] base::withCallingHandlers({ [13:30:34.214] ...future.value <- base::withVisible(base::local(NA)) [13:30:34.214] future::FutureResult(value = ...future.value$value, [13:30:34.214] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.214] ...future.rng), globalenv = if (FALSE) [13:30:34.214] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:34.214] ...future.globalenv.names)) [13:30:34.214] else NULL, started = ...future.startTime, version = "1.8") [13:30:34.214] }, condition = base::local({ [13:30:34.214] c <- base::c [13:30:34.214] inherits <- base::inherits [13:30:34.214] invokeRestart <- base::invokeRestart [13:30:34.214] length <- base::length [13:30:34.214] list <- base::list [13:30:34.214] seq.int <- base::seq.int [13:30:34.214] signalCondition <- base::signalCondition [13:30:34.214] sys.calls <- base::sys.calls [13:30:34.214] `[[` <- base::`[[` [13:30:34.214] `+` <- base::`+` [13:30:34.214] `<<-` <- base::`<<-` [13:30:34.214] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:34.214] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:34.214] 3L)] [13:30:34.214] } [13:30:34.214] function(cond) { [13:30:34.214] is_error <- inherits(cond, "error") [13:30:34.214] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:34.214] NULL) [13:30:34.214] if (is_error) { [13:30:34.214] sessionInformation <- function() { [13:30:34.214] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:34.214] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:34.214] search = base::search(), system = base::Sys.info()) [13:30:34.214] } [13:30:34.214] ...future.conditions[[length(...future.conditions) + [13:30:34.214] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:34.214] cond$call), session = sessionInformation(), [13:30:34.214] timestamp = base::Sys.time(), signaled = 0L) [13:30:34.214] signalCondition(cond) [13:30:34.214] } [13:30:34.214] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:34.214] signal <- FALSE && inherits(cond, character(0)) [13:30:34.214] ...future.conditions[[length(...future.conditions) + [13:30:34.214] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:34.214] if (FALSE && !signal) { [13:30:34.214] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.214] { [13:30:34.214] inherits <- base::inherits [13:30:34.214] invokeRestart <- base::invokeRestart [13:30:34.214] is.null <- base::is.null [13:30:34.214] muffled <- FALSE [13:30:34.214] if (inherits(cond, "message")) { [13:30:34.214] muffled <- grepl(pattern, "muffleMessage") [13:30:34.214] if (muffled) [13:30:34.214] invokeRestart("muffleMessage") [13:30:34.214] } [13:30:34.214] else if (inherits(cond, "warning")) { [13:30:34.214] muffled <- grepl(pattern, "muffleWarning") [13:30:34.214] if (muffled) [13:30:34.214] invokeRestart("muffleWarning") [13:30:34.214] } [13:30:34.214] else if (inherits(cond, "condition")) { [13:30:34.214] if (!is.null(pattern)) { [13:30:34.214] computeRestarts <- base::computeRestarts [13:30:34.214] grepl <- base::grepl [13:30:34.214] restarts <- computeRestarts(cond) [13:30:34.214] for (restart in restarts) { [13:30:34.214] name <- restart$name [13:30:34.214] if (is.null(name)) [13:30:34.214] next [13:30:34.214] if (!grepl(pattern, name)) [13:30:34.214] next [13:30:34.214] invokeRestart(restart) [13:30:34.214] muffled <- TRUE [13:30:34.214] break [13:30:34.214] } [13:30:34.214] } [13:30:34.214] } [13:30:34.214] invisible(muffled) [13:30:34.214] } [13:30:34.214] muffleCondition(cond, pattern = "^muffle") [13:30:34.214] } [13:30:34.214] } [13:30:34.214] else { [13:30:34.214] if (TRUE) { [13:30:34.214] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.214] { [13:30:34.214] inherits <- base::inherits [13:30:34.214] invokeRestart <- base::invokeRestart [13:30:34.214] is.null <- base::is.null [13:30:34.214] muffled <- FALSE [13:30:34.214] if (inherits(cond, "message")) { [13:30:34.214] muffled <- grepl(pattern, "muffleMessage") [13:30:34.214] if (muffled) [13:30:34.214] invokeRestart("muffleMessage") [13:30:34.214] } [13:30:34.214] else if (inherits(cond, "warning")) { [13:30:34.214] muffled <- grepl(pattern, "muffleWarning") [13:30:34.214] if (muffled) [13:30:34.214] invokeRestart("muffleWarning") [13:30:34.214] } [13:30:34.214] else if (inherits(cond, "condition")) { [13:30:34.214] if (!is.null(pattern)) { [13:30:34.214] computeRestarts <- base::computeRestarts [13:30:34.214] grepl <- base::grepl [13:30:34.214] restarts <- computeRestarts(cond) [13:30:34.214] for (restart in restarts) { [13:30:34.214] name <- restart$name [13:30:34.214] if (is.null(name)) [13:30:34.214] next [13:30:34.214] if (!grepl(pattern, name)) [13:30:34.214] next [13:30:34.214] invokeRestart(restart) [13:30:34.214] muffled <- TRUE [13:30:34.214] break [13:30:34.214] } [13:30:34.214] } [13:30:34.214] } [13:30:34.214] invisible(muffled) [13:30:34.214] } [13:30:34.214] muffleCondition(cond, pattern = "^muffle") [13:30:34.214] } [13:30:34.214] } [13:30:34.214] } [13:30:34.214] })) [13:30:34.214] }, error = function(ex) { [13:30:34.214] base::structure(base::list(value = NULL, visible = NULL, [13:30:34.214] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.214] ...future.rng), started = ...future.startTime, [13:30:34.214] finished = Sys.time(), session_uuid = NA_character_, [13:30:34.214] version = "1.8"), class = "FutureResult") [13:30:34.214] }, finally = { [13:30:34.214] if (!identical(...future.workdir, getwd())) [13:30:34.214] setwd(...future.workdir) [13:30:34.214] { [13:30:34.214] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:34.214] ...future.oldOptions$nwarnings <- NULL [13:30:34.214] } [13:30:34.214] base::options(...future.oldOptions) [13:30:34.214] if (.Platform$OS.type == "windows") { [13:30:34.214] old_names <- names(...future.oldEnvVars) [13:30:34.214] envs <- base::Sys.getenv() [13:30:34.214] names <- names(envs) [13:30:34.214] common <- intersect(names, old_names) [13:30:34.214] added <- setdiff(names, old_names) [13:30:34.214] removed <- setdiff(old_names, names) [13:30:34.214] changed <- common[...future.oldEnvVars[common] != [13:30:34.214] envs[common]] [13:30:34.214] NAMES <- toupper(changed) [13:30:34.214] args <- list() [13:30:34.214] for (kk in seq_along(NAMES)) { [13:30:34.214] name <- changed[[kk]] [13:30:34.214] NAME <- NAMES[[kk]] [13:30:34.214] if (name != NAME && is.element(NAME, old_names)) [13:30:34.214] next [13:30:34.214] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.214] } [13:30:34.214] NAMES <- toupper(added) [13:30:34.214] for (kk in seq_along(NAMES)) { [13:30:34.214] name <- added[[kk]] [13:30:34.214] NAME <- NAMES[[kk]] [13:30:34.214] if (name != NAME && is.element(NAME, old_names)) [13:30:34.214] next [13:30:34.214] args[[name]] <- "" [13:30:34.214] } [13:30:34.214] NAMES <- toupper(removed) [13:30:34.214] for (kk in seq_along(NAMES)) { [13:30:34.214] name <- removed[[kk]] [13:30:34.214] NAME <- NAMES[[kk]] [13:30:34.214] if (name != NAME && is.element(NAME, old_names)) [13:30:34.214] next [13:30:34.214] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.214] } [13:30:34.214] if (length(args) > 0) [13:30:34.214] base::do.call(base::Sys.setenv, args = args) [13:30:34.214] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:34.214] } [13:30:34.214] else { [13:30:34.214] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:34.214] } [13:30:34.214] { [13:30:34.214] if (base::length(...future.futureOptionsAdded) > [13:30:34.214] 0L) { [13:30:34.214] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:34.214] base::names(opts) <- ...future.futureOptionsAdded [13:30:34.214] base::options(opts) [13:30:34.214] } [13:30:34.214] { [13:30:34.214] NULL [13:30:34.214] options(future.plan = NULL) [13:30:34.214] if (is.na(NA_character_)) [13:30:34.214] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.214] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:34.214] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:34.214] .init = FALSE) [13:30:34.214] } [13:30:34.214] } [13:30:34.214] } [13:30:34.214] }) [13:30:34.214] if (TRUE) { [13:30:34.214] base::sink(type = "output", split = FALSE) [13:30:34.214] if (TRUE) { [13:30:34.214] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:34.214] } [13:30:34.214] else { [13:30:34.214] ...future.result["stdout"] <- base::list(NULL) [13:30:34.214] } [13:30:34.214] base::close(...future.stdout) [13:30:34.214] ...future.stdout <- NULL [13:30:34.214] } [13:30:34.214] ...future.result$conditions <- ...future.conditions [13:30:34.214] ...future.result$finished <- base::Sys.time() [13:30:34.214] ...future.result [13:30:34.214] } [13:30:34.220] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:30:34.220] plan(): nbrOfWorkers() = 2 [13:30:34.220] ** Sum function 'A' with plan('mirai_multisession') ...function (x, ...) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } Arguments '...' exists: TRUE [13:30:34.223] getGlobalsAndPackages() ... [13:30:34.223] Searching for globals... [13:30:34.225] - globals found: [4] '{', 'sum', 'x', '...' [13:30:34.225] Searching for globals ... DONE [13:30:34.225] Resolving globals: FALSE [13:30:34.225] Tweak future expression to call with '...' arguments ... [13:30:34.226] { [13:30:34.226] do.call(function(...) { [13:30:34.226] sum(x, ...) [13:30:34.226] }, args = future.call.arguments) [13:30:34.226] } [13:30:34.226] Tweak future expression to call with '...' arguments ... DONE [13:30:34.226] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:34.227] The total size of the 2 globals exported for future expression ('{; sum(x, ...); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'future.call.arguments' (56 bytes of class 'list') [13:30:34.227] - globals: [2] 'x', 'future.call.arguments' [13:30:34.227] [13:30:34.227] getGlobalsAndPackages() ... DONE [13:30:34.228] run() for 'Future' ... [13:30:34.228] - state: 'created' [13:30:34.228] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:34.230] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:34.231] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:34.231] - Field: 'label' [13:30:34.231] - Field: 'local' [13:30:34.231] - Field: 'owner' [13:30:34.231] - Field: 'envir' [13:30:34.232] - Field: 'packages' [13:30:34.232] - Field: 'gc' [13:30:34.232] - Field: 'conditions' [13:30:34.232] - Field: 'expr' [13:30:34.232] - Field: 'uuid' [13:30:34.232] - Field: 'seed' [13:30:34.233] - Field: 'version' [13:30:34.233] - Field: 'result' [13:30:34.233] - Field: 'asynchronous' [13:30:34.233] - Field: 'calls' [13:30:34.233] - Field: 'globals' [13:30:34.233] - Field: 'stdout' [13:30:34.234] - Field: 'earlySignal' [13:30:34.234] - Field: 'lazy' [13:30:34.234] - Field: 'state' [13:30:34.234] - Field: '.cluster' [13:30:34.234] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:34.234] - Launch lazy future ... [13:30:34.235] Packages needed by the future expression (n = 0): [13:30:34.235] Packages needed by future strategies (n = 0): [13:30:34.235] { [13:30:34.235] { [13:30:34.235] { [13:30:34.235] ...future.startTime <- base::Sys.time() [13:30:34.235] { [13:30:34.235] { [13:30:34.235] { [13:30:34.235] base::local({ [13:30:34.235] has_future <- base::requireNamespace("future", [13:30:34.235] quietly = TRUE) [13:30:34.235] if (has_future) { [13:30:34.235] ns <- base::getNamespace("future") [13:30:34.235] version <- ns[[".package"]][["version"]] [13:30:34.235] if (is.null(version)) [13:30:34.235] version <- utils::packageVersion("future") [13:30:34.235] } [13:30:34.235] else { [13:30:34.235] version <- NULL [13:30:34.235] } [13:30:34.235] if (!has_future || version < "1.8.0") { [13:30:34.235] info <- base::c(r_version = base::gsub("R version ", [13:30:34.235] "", base::R.version$version.string), [13:30:34.235] platform = base::sprintf("%s (%s-bit)", [13:30:34.235] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:34.235] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:34.235] "release", "version")], collapse = " "), [13:30:34.235] hostname = base::Sys.info()[["nodename"]]) [13:30:34.235] info <- base::sprintf("%s: %s", base::names(info), [13:30:34.235] info) [13:30:34.235] info <- base::paste(info, collapse = "; ") [13:30:34.235] if (!has_future) { [13:30:34.235] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:34.235] info) [13:30:34.235] } [13:30:34.235] else { [13:30:34.235] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:34.235] info, version) [13:30:34.235] } [13:30:34.235] base::stop(msg) [13:30:34.235] } [13:30:34.235] }) [13:30:34.235] } [13:30:34.235] ...future.strategy.old <- future::plan("list") [13:30:34.235] options(future.plan = NULL) [13:30:34.235] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.235] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:34.235] } [13:30:34.235] ...future.workdir <- getwd() [13:30:34.235] } [13:30:34.235] ...future.oldOptions <- base::as.list(base::.Options) [13:30:34.235] ...future.oldEnvVars <- base::Sys.getenv() [13:30:34.235] } [13:30:34.235] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:34.235] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:34.235] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:34.235] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:34.235] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:34.235] future.stdout.windows.reencode = NULL, width = 80L) [13:30:34.235] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:34.235] base::names(...future.oldOptions)) [13:30:34.235] } [13:30:34.235] if (FALSE) { [13:30:34.235] } [13:30:34.235] else { [13:30:34.235] if (TRUE) { [13:30:34.235] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:34.235] open = "w") [13:30:34.235] } [13:30:34.235] else { [13:30:34.235] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:34.235] windows = "NUL", "/dev/null"), open = "w") [13:30:34.235] } [13:30:34.235] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:34.235] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:34.235] base::sink(type = "output", split = FALSE) [13:30:34.235] base::close(...future.stdout) [13:30:34.235] }, add = TRUE) [13:30:34.235] } [13:30:34.235] ...future.frame <- base::sys.nframe() [13:30:34.235] ...future.conditions <- base::list() [13:30:34.235] ...future.rng <- base::globalenv()$.Random.seed [13:30:34.235] if (FALSE) { [13:30:34.235] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:34.235] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:34.235] } [13:30:34.235] ...future.result <- base::tryCatch({ [13:30:34.235] base::withCallingHandlers({ [13:30:34.235] ...future.value <- base::withVisible(base::local({ [13:30:34.235] do.call(function(...) { [13:30:34.235] sum(x, ...) [13:30:34.235] }, args = future.call.arguments) [13:30:34.235] })) [13:30:34.235] future::FutureResult(value = ...future.value$value, [13:30:34.235] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.235] ...future.rng), globalenv = if (FALSE) [13:30:34.235] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:34.235] ...future.globalenv.names)) [13:30:34.235] else NULL, started = ...future.startTime, version = "1.8") [13:30:34.235] }, condition = base::local({ [13:30:34.235] c <- base::c [13:30:34.235] inherits <- base::inherits [13:30:34.235] invokeRestart <- base::invokeRestart [13:30:34.235] length <- base::length [13:30:34.235] list <- base::list [13:30:34.235] seq.int <- base::seq.int [13:30:34.235] signalCondition <- base::signalCondition [13:30:34.235] sys.calls <- base::sys.calls [13:30:34.235] `[[` <- base::`[[` [13:30:34.235] `+` <- base::`+` [13:30:34.235] `<<-` <- base::`<<-` [13:30:34.235] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:34.235] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:34.235] 3L)] [13:30:34.235] } [13:30:34.235] function(cond) { [13:30:34.235] is_error <- inherits(cond, "error") [13:30:34.235] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:34.235] NULL) [13:30:34.235] if (is_error) { [13:30:34.235] sessionInformation <- function() { [13:30:34.235] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:34.235] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:34.235] search = base::search(), system = base::Sys.info()) [13:30:34.235] } [13:30:34.235] ...future.conditions[[length(...future.conditions) + [13:30:34.235] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:34.235] cond$call), session = sessionInformation(), [13:30:34.235] timestamp = base::Sys.time(), signaled = 0L) [13:30:34.235] signalCondition(cond) [13:30:34.235] } [13:30:34.235] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:34.235] signal <- FALSE && inherits(cond, character(0)) [13:30:34.235] ...future.conditions[[length(...future.conditions) + [13:30:34.235] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:34.235] if (FALSE && !signal) { [13:30:34.235] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.235] { [13:30:34.235] inherits <- base::inherits [13:30:34.235] invokeRestart <- base::invokeRestart [13:30:34.235] is.null <- base::is.null [13:30:34.235] muffled <- FALSE [13:30:34.235] if (inherits(cond, "message")) { [13:30:34.235] muffled <- grepl(pattern, "muffleMessage") [13:30:34.235] if (muffled) [13:30:34.235] invokeRestart("muffleMessage") [13:30:34.235] } [13:30:34.235] else if (inherits(cond, "warning")) { [13:30:34.235] muffled <- grepl(pattern, "muffleWarning") [13:30:34.235] if (muffled) [13:30:34.235] invokeRestart("muffleWarning") [13:30:34.235] } [13:30:34.235] else if (inherits(cond, "condition")) { [13:30:34.235] if (!is.null(pattern)) { [13:30:34.235] computeRestarts <- base::computeRestarts [13:30:34.235] grepl <- base::grepl [13:30:34.235] restarts <- computeRestarts(cond) [13:30:34.235] for (restart in restarts) { [13:30:34.235] name <- restart$name [13:30:34.235] if (is.null(name)) [13:30:34.235] next [13:30:34.235] if (!grepl(pattern, name)) [13:30:34.235] next [13:30:34.235] invokeRestart(restart) [13:30:34.235] muffled <- TRUE [13:30:34.235] break [13:30:34.235] } [13:30:34.235] } [13:30:34.235] } [13:30:34.235] invisible(muffled) [13:30:34.235] } [13:30:34.235] muffleCondition(cond, pattern = "^muffle") [13:30:34.235] } [13:30:34.235] } [13:30:34.235] else { [13:30:34.235] if (TRUE) { [13:30:34.235] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.235] { [13:30:34.235] inherits <- base::inherits [13:30:34.235] invokeRestart <- base::invokeRestart [13:30:34.235] is.null <- base::is.null [13:30:34.235] muffled <- FALSE [13:30:34.235] if (inherits(cond, "message")) { [13:30:34.235] muffled <- grepl(pattern, "muffleMessage") [13:30:34.235] if (muffled) [13:30:34.235] invokeRestart("muffleMessage") [13:30:34.235] } [13:30:34.235] else if (inherits(cond, "warning")) { [13:30:34.235] muffled <- grepl(pattern, "muffleWarning") [13:30:34.235] if (muffled) [13:30:34.235] invokeRestart("muffleWarning") [13:30:34.235] } [13:30:34.235] else if (inherits(cond, "condition")) { [13:30:34.235] if (!is.null(pattern)) { [13:30:34.235] computeRestarts <- base::computeRestarts [13:30:34.235] grepl <- base::grepl [13:30:34.235] restarts <- computeRestarts(cond) [13:30:34.235] for (restart in restarts) { [13:30:34.235] name <- restart$name [13:30:34.235] if (is.null(name)) [13:30:34.235] next [13:30:34.235] if (!grepl(pattern, name)) [13:30:34.235] next [13:30:34.235] invokeRestart(restart) [13:30:34.235] muffled <- TRUE [13:30:34.235] break [13:30:34.235] } [13:30:34.235] } [13:30:34.235] } [13:30:34.235] invisible(muffled) [13:30:34.235] } [13:30:34.235] muffleCondition(cond, pattern = "^muffle") [13:30:34.235] } [13:30:34.235] } [13:30:34.235] } [13:30:34.235] })) [13:30:34.235] }, error = function(ex) { [13:30:34.235] base::structure(base::list(value = NULL, visible = NULL, [13:30:34.235] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.235] ...future.rng), started = ...future.startTime, [13:30:34.235] finished = Sys.time(), session_uuid = NA_character_, [13:30:34.235] version = "1.8"), class = "FutureResult") [13:30:34.235] }, finally = { [13:30:34.235] if (!identical(...future.workdir, getwd())) [13:30:34.235] setwd(...future.workdir) [13:30:34.235] { [13:30:34.235] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:34.235] ...future.oldOptions$nwarnings <- NULL [13:30:34.235] } [13:30:34.235] base::options(...future.oldOptions) [13:30:34.235] if (.Platform$OS.type == "windows") { [13:30:34.235] old_names <- names(...future.oldEnvVars) [13:30:34.235] envs <- base::Sys.getenv() [13:30:34.235] names <- names(envs) [13:30:34.235] common <- intersect(names, old_names) [13:30:34.235] added <- setdiff(names, old_names) [13:30:34.235] removed <- setdiff(old_names, names) [13:30:34.235] changed <- common[...future.oldEnvVars[common] != [13:30:34.235] envs[common]] [13:30:34.235] NAMES <- toupper(changed) [13:30:34.235] args <- list() [13:30:34.235] for (kk in seq_along(NAMES)) { [13:30:34.235] name <- changed[[kk]] [13:30:34.235] NAME <- NAMES[[kk]] [13:30:34.235] if (name != NAME && is.element(NAME, old_names)) [13:30:34.235] next [13:30:34.235] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.235] } [13:30:34.235] NAMES <- toupper(added) [13:30:34.235] for (kk in seq_along(NAMES)) { [13:30:34.235] name <- added[[kk]] [13:30:34.235] NAME <- NAMES[[kk]] [13:30:34.235] if (name != NAME && is.element(NAME, old_names)) [13:30:34.235] next [13:30:34.235] args[[name]] <- "" [13:30:34.235] } [13:30:34.235] NAMES <- toupper(removed) [13:30:34.235] for (kk in seq_along(NAMES)) { [13:30:34.235] name <- removed[[kk]] [13:30:34.235] NAME <- NAMES[[kk]] [13:30:34.235] if (name != NAME && is.element(NAME, old_names)) [13:30:34.235] next [13:30:34.235] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.235] } [13:30:34.235] if (length(args) > 0) [13:30:34.235] base::do.call(base::Sys.setenv, args = args) [13:30:34.235] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:34.235] } [13:30:34.235] else { [13:30:34.235] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:34.235] } [13:30:34.235] { [13:30:34.235] if (base::length(...future.futureOptionsAdded) > [13:30:34.235] 0L) { [13:30:34.235] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:34.235] base::names(opts) <- ...future.futureOptionsAdded [13:30:34.235] base::options(opts) [13:30:34.235] } [13:30:34.235] { [13:30:34.235] NULL [13:30:34.235] options(future.plan = NULL) [13:30:34.235] if (is.na(NA_character_)) [13:30:34.235] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.235] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:34.235] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:34.235] .init = FALSE) [13:30:34.235] } [13:30:34.235] } [13:30:34.235] } [13:30:34.235] }) [13:30:34.235] if (TRUE) { [13:30:34.235] base::sink(type = "output", split = FALSE) [13:30:34.235] if (TRUE) { [13:30:34.235] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:34.235] } [13:30:34.235] else { [13:30:34.235] ...future.result["stdout"] <- base::list(NULL) [13:30:34.235] } [13:30:34.235] base::close(...future.stdout) [13:30:34.235] ...future.stdout <- NULL [13:30:34.235] } [13:30:34.235] ...future.result$conditions <- ...future.conditions [13:30:34.235] ...future.result$finished <- base::Sys.time() [13:30:34.235] ...future.result [13:30:34.235] } [13:30:34.239] - Launch lazy future ... done [13:30:34.239] run() for 'MiraiFuture' ... done [1] 6 [13:30:34.242] ** Sum function 'B' with plan('mirai_multisession') ...function (x, ...) { sumt <- function(x) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, ...) } y } sumt(x) } Arguments '...' exists: TRUE [13:30:34.248] getGlobalsAndPackages() ... [13:30:34.248] Searching for globals... [13:30:34.249] - globals found: [4] '{', 'sum', 'x', '...' [13:30:34.250] Searching for globals ... DONE [13:30:34.250] Resolving globals: FALSE [13:30:34.250] Tweak future expression to call with '...' arguments ... [13:30:34.250] { [13:30:34.250] do.call(function(...) { [13:30:34.250] sum(x, ...) [13:30:34.250] }, args = future.call.arguments) [13:30:34.250] } [13:30:34.250] Tweak future expression to call with '...' arguments ... DONE [13:30:34.251] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:34.251] The total size of the 2 globals exported for future expression ('{; sum(x, ...); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'future.call.arguments' (56 bytes of class 'list') [13:30:34.252] - globals: [2] 'x', 'future.call.arguments' [13:30:34.252] [13:30:34.252] getGlobalsAndPackages() ... DONE [13:30:34.252] run() for 'Future' ... [13:30:34.252] - state: 'created' [13:30:34.253] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:34.255] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:34.255] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:34.255] - Field: 'label' [13:30:34.256] - Field: 'local' [13:30:34.256] - Field: 'owner' [13:30:34.256] - Field: 'envir' [13:30:34.256] - Field: 'packages' [13:30:34.256] - Field: 'gc' [13:30:34.257] - Field: 'conditions' [13:30:34.257] - Field: 'expr' [13:30:34.257] - Field: 'uuid' [13:30:34.257] - Field: 'seed' [13:30:34.257] - Field: 'version' [13:30:34.257] - Field: 'result' [13:30:34.258] - Field: 'asynchronous' [13:30:34.258] - Field: 'calls' [13:30:34.258] - Field: 'globals' [13:30:34.258] - Field: 'stdout' [13:30:34.258] - Field: 'earlySignal' [13:30:34.258] - Field: 'lazy' [13:30:34.259] - Field: 'state' [13:30:34.259] - Field: '.cluster' [13:30:34.259] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:34.259] - Launch lazy future ... [13:30:34.259] Packages needed by the future expression (n = 0): [13:30:34.259] Packages needed by future strategies (n = 0): [13:30:34.260] { [13:30:34.260] { [13:30:34.260] { [13:30:34.260] ...future.startTime <- base::Sys.time() [13:30:34.260] { [13:30:34.260] { [13:30:34.260] { [13:30:34.260] base::local({ [13:30:34.260] has_future <- base::requireNamespace("future", [13:30:34.260] quietly = TRUE) [13:30:34.260] if (has_future) { [13:30:34.260] ns <- base::getNamespace("future") [13:30:34.260] version <- ns[[".package"]][["version"]] [13:30:34.260] if (is.null(version)) [13:30:34.260] version <- utils::packageVersion("future") [13:30:34.260] } [13:30:34.260] else { [13:30:34.260] version <- NULL [13:30:34.260] } [13:30:34.260] if (!has_future || version < "1.8.0") { [13:30:34.260] info <- base::c(r_version = base::gsub("R version ", [13:30:34.260] "", base::R.version$version.string), [13:30:34.260] platform = base::sprintf("%s (%s-bit)", [13:30:34.260] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:34.260] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:34.260] "release", "version")], collapse = " "), [13:30:34.260] hostname = base::Sys.info()[["nodename"]]) [13:30:34.260] info <- base::sprintf("%s: %s", base::names(info), [13:30:34.260] info) [13:30:34.260] info <- base::paste(info, collapse = "; ") [13:30:34.260] if (!has_future) { [13:30:34.260] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:34.260] info) [13:30:34.260] } [13:30:34.260] else { [13:30:34.260] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:34.260] info, version) [13:30:34.260] } [13:30:34.260] base::stop(msg) [13:30:34.260] } [13:30:34.260] }) [13:30:34.260] } [13:30:34.260] ...future.strategy.old <- future::plan("list") [13:30:34.260] options(future.plan = NULL) [13:30:34.260] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.260] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:34.260] } [13:30:34.260] ...future.workdir <- getwd() [13:30:34.260] } [13:30:34.260] ...future.oldOptions <- base::as.list(base::.Options) [13:30:34.260] ...future.oldEnvVars <- base::Sys.getenv() [13:30:34.260] } [13:30:34.260] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:34.260] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:34.260] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:34.260] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:34.260] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:34.260] future.stdout.windows.reencode = NULL, width = 80L) [13:30:34.260] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:34.260] base::names(...future.oldOptions)) [13:30:34.260] } [13:30:34.260] if (FALSE) { [13:30:34.260] } [13:30:34.260] else { [13:30:34.260] if (TRUE) { [13:30:34.260] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:34.260] open = "w") [13:30:34.260] } [13:30:34.260] else { [13:30:34.260] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:34.260] windows = "NUL", "/dev/null"), open = "w") [13:30:34.260] } [13:30:34.260] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:34.260] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:34.260] base::sink(type = "output", split = FALSE) [13:30:34.260] base::close(...future.stdout) [13:30:34.260] }, add = TRUE) [13:30:34.260] } [13:30:34.260] ...future.frame <- base::sys.nframe() [13:30:34.260] ...future.conditions <- base::list() [13:30:34.260] ...future.rng <- base::globalenv()$.Random.seed [13:30:34.260] if (FALSE) { [13:30:34.260] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:34.260] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:34.260] } [13:30:34.260] ...future.result <- base::tryCatch({ [13:30:34.260] base::withCallingHandlers({ [13:30:34.260] ...future.value <- base::withVisible(base::local({ [13:30:34.260] do.call(function(...) { [13:30:34.260] sum(x, ...) [13:30:34.260] }, args = future.call.arguments) [13:30:34.260] })) [13:30:34.260] future::FutureResult(value = ...future.value$value, [13:30:34.260] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.260] ...future.rng), globalenv = if (FALSE) [13:30:34.260] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:34.260] ...future.globalenv.names)) [13:30:34.260] else NULL, started = ...future.startTime, version = "1.8") [13:30:34.260] }, condition = base::local({ [13:30:34.260] c <- base::c [13:30:34.260] inherits <- base::inherits [13:30:34.260] invokeRestart <- base::invokeRestart [13:30:34.260] length <- base::length [13:30:34.260] list <- base::list [13:30:34.260] seq.int <- base::seq.int [13:30:34.260] signalCondition <- base::signalCondition [13:30:34.260] sys.calls <- base::sys.calls [13:30:34.260] `[[` <- base::`[[` [13:30:34.260] `+` <- base::`+` [13:30:34.260] `<<-` <- base::`<<-` [13:30:34.260] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:34.260] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:34.260] 3L)] [13:30:34.260] } [13:30:34.260] function(cond) { [13:30:34.260] is_error <- inherits(cond, "error") [13:30:34.260] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:34.260] NULL) [13:30:34.260] if (is_error) { [13:30:34.260] sessionInformation <- function() { [13:30:34.260] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:34.260] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:34.260] search = base::search(), system = base::Sys.info()) [13:30:34.260] } [13:30:34.260] ...future.conditions[[length(...future.conditions) + [13:30:34.260] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:34.260] cond$call), session = sessionInformation(), [13:30:34.260] timestamp = base::Sys.time(), signaled = 0L) [13:30:34.260] signalCondition(cond) [13:30:34.260] } [13:30:34.260] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:34.260] signal <- FALSE && inherits(cond, character(0)) [13:30:34.260] ...future.conditions[[length(...future.conditions) + [13:30:34.260] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:34.260] if (FALSE && !signal) { [13:30:34.260] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.260] { [13:30:34.260] inherits <- base::inherits [13:30:34.260] invokeRestart <- base::invokeRestart [13:30:34.260] is.null <- base::is.null [13:30:34.260] muffled <- FALSE [13:30:34.260] if (inherits(cond, "message")) { [13:30:34.260] muffled <- grepl(pattern, "muffleMessage") [13:30:34.260] if (muffled) [13:30:34.260] invokeRestart("muffleMessage") [13:30:34.260] } [13:30:34.260] else if (inherits(cond, "warning")) { [13:30:34.260] muffled <- grepl(pattern, "muffleWarning") [13:30:34.260] if (muffled) [13:30:34.260] invokeRestart("muffleWarning") [13:30:34.260] } [13:30:34.260] else if (inherits(cond, "condition")) { [13:30:34.260] if (!is.null(pattern)) { [13:30:34.260] computeRestarts <- base::computeRestarts [13:30:34.260] grepl <- base::grepl [13:30:34.260] restarts <- computeRestarts(cond) [13:30:34.260] for (restart in restarts) { [13:30:34.260] name <- restart$name [13:30:34.260] if (is.null(name)) [13:30:34.260] next [13:30:34.260] if (!grepl(pattern, name)) [13:30:34.260] next [13:30:34.260] invokeRestart(restart) [13:30:34.260] muffled <- TRUE [13:30:34.260] break [13:30:34.260] } [13:30:34.260] } [13:30:34.260] } [13:30:34.260] invisible(muffled) [13:30:34.260] } [13:30:34.260] muffleCondition(cond, pattern = "^muffle") [13:30:34.260] } [13:30:34.260] } [13:30:34.260] else { [13:30:34.260] if (TRUE) { [13:30:34.260] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.260] { [13:30:34.260] inherits <- base::inherits [13:30:34.260] invokeRestart <- base::invokeRestart [13:30:34.260] is.null <- base::is.null [13:30:34.260] muffled <- FALSE [13:30:34.260] if (inherits(cond, "message")) { [13:30:34.260] muffled <- grepl(pattern, "muffleMessage") [13:30:34.260] if (muffled) [13:30:34.260] invokeRestart("muffleMessage") [13:30:34.260] } [13:30:34.260] else if (inherits(cond, "warning")) { [13:30:34.260] muffled <- grepl(pattern, "muffleWarning") [13:30:34.260] if (muffled) [13:30:34.260] invokeRestart("muffleWarning") [13:30:34.260] } [13:30:34.260] else if (inherits(cond, "condition")) { [13:30:34.260] if (!is.null(pattern)) { [13:30:34.260] computeRestarts <- base::computeRestarts [13:30:34.260] grepl <- base::grepl [13:30:34.260] restarts <- computeRestarts(cond) [13:30:34.260] for (restart in restarts) { [13:30:34.260] name <- restart$name [13:30:34.260] if (is.null(name)) [13:30:34.260] next [13:30:34.260] if (!grepl(pattern, name)) [13:30:34.260] next [13:30:34.260] invokeRestart(restart) [13:30:34.260] muffled <- TRUE [13:30:34.260] break [13:30:34.260] } [13:30:34.260] } [13:30:34.260] } [13:30:34.260] invisible(muffled) [13:30:34.260] } [13:30:34.260] muffleCondition(cond, pattern = "^muffle") [13:30:34.260] } [13:30:34.260] } [13:30:34.260] } [13:30:34.260] })) [13:30:34.260] }, error = function(ex) { [13:30:34.260] base::structure(base::list(value = NULL, visible = NULL, [13:30:34.260] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.260] ...future.rng), started = ...future.startTime, [13:30:34.260] finished = Sys.time(), session_uuid = NA_character_, [13:30:34.260] version = "1.8"), class = "FutureResult") [13:30:34.260] }, finally = { [13:30:34.260] if (!identical(...future.workdir, getwd())) [13:30:34.260] setwd(...future.workdir) [13:30:34.260] { [13:30:34.260] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:34.260] ...future.oldOptions$nwarnings <- NULL [13:30:34.260] } [13:30:34.260] base::options(...future.oldOptions) [13:30:34.260] if (.Platform$OS.type == "windows") { [13:30:34.260] old_names <- names(...future.oldEnvVars) [13:30:34.260] envs <- base::Sys.getenv() [13:30:34.260] names <- names(envs) [13:30:34.260] common <- intersect(names, old_names) [13:30:34.260] added <- setdiff(names, old_names) [13:30:34.260] removed <- setdiff(old_names, names) [13:30:34.260] changed <- common[...future.oldEnvVars[common] != [13:30:34.260] envs[common]] [13:30:34.260] NAMES <- toupper(changed) [13:30:34.260] args <- list() [13:30:34.260] for (kk in seq_along(NAMES)) { [13:30:34.260] name <- changed[[kk]] [13:30:34.260] NAME <- NAMES[[kk]] [13:30:34.260] if (name != NAME && is.element(NAME, old_names)) [13:30:34.260] next [13:30:34.260] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.260] } [13:30:34.260] NAMES <- toupper(added) [13:30:34.260] for (kk in seq_along(NAMES)) { [13:30:34.260] name <- added[[kk]] [13:30:34.260] NAME <- NAMES[[kk]] [13:30:34.260] if (name != NAME && is.element(NAME, old_names)) [13:30:34.260] next [13:30:34.260] args[[name]] <- "" [13:30:34.260] } [13:30:34.260] NAMES <- toupper(removed) [13:30:34.260] for (kk in seq_along(NAMES)) { [13:30:34.260] name <- removed[[kk]] [13:30:34.260] NAME <- NAMES[[kk]] [13:30:34.260] if (name != NAME && is.element(NAME, old_names)) [13:30:34.260] next [13:30:34.260] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.260] } [13:30:34.260] if (length(args) > 0) [13:30:34.260] base::do.call(base::Sys.setenv, args = args) [13:30:34.260] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:34.260] } [13:30:34.260] else { [13:30:34.260] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:34.260] } [13:30:34.260] { [13:30:34.260] if (base::length(...future.futureOptionsAdded) > [13:30:34.260] 0L) { [13:30:34.260] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:34.260] base::names(opts) <- ...future.futureOptionsAdded [13:30:34.260] base::options(opts) [13:30:34.260] } [13:30:34.260] { [13:30:34.260] NULL [13:30:34.260] options(future.plan = NULL) [13:30:34.260] if (is.na(NA_character_)) [13:30:34.260] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.260] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:34.260] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:34.260] .init = FALSE) [13:30:34.260] } [13:30:34.260] } [13:30:34.260] } [13:30:34.260] }) [13:30:34.260] if (TRUE) { [13:30:34.260] base::sink(type = "output", split = FALSE) [13:30:34.260] if (TRUE) { [13:30:34.260] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:34.260] } [13:30:34.260] else { [13:30:34.260] ...future.result["stdout"] <- base::list(NULL) [13:30:34.260] } [13:30:34.260] base::close(...future.stdout) [13:30:34.260] ...future.stdout <- NULL [13:30:34.260] } [13:30:34.260] ...future.result$conditions <- ...future.conditions [13:30:34.260] ...future.result$finished <- base::Sys.time() [13:30:34.260] ...future.result [13:30:34.260] } [13:30:34.264] - Launch lazy future ... done [13:30:34.264] run() for 'MiraiFuture' ... done [1] 6 [13:30:34.266] ** Sum function 'C' with plan('mirai_multisession') ...function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y) } y } Arguments '...' exists: FALSE [13:30:34.268] getGlobalsAndPackages() ... [13:30:34.269] Searching for globals... [13:30:34.270] - globals found: [4] '{', 'sum', 'x', 'y' [13:30:34.270] Searching for globals ... DONE [13:30:34.270] Resolving globals: FALSE [13:30:34.271] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:34.271] The total size of the 2 globals exported for future expression ('{; sum(x, y); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'y' (56 bytes of class 'numeric') [13:30:34.271] - globals: [2] 'x', 'y' [13:30:34.272] [13:30:34.272] getGlobalsAndPackages() ... DONE [13:30:34.272] run() for 'Future' ... [13:30:34.272] - state: 'created' [13:30:34.272] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:34.275] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:34.275] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:34.275] - Field: 'label' [13:30:34.275] - Field: 'local' [13:30:34.275] - Field: 'owner' [13:30:34.276] - Field: 'envir' [13:30:34.276] - Field: 'packages' [13:30:34.276] - Field: 'gc' [13:30:34.276] - Field: 'conditions' [13:30:34.276] - Field: 'expr' [13:30:34.277] - Field: 'uuid' [13:30:34.277] - Field: 'seed' [13:30:34.277] - Field: 'version' [13:30:34.277] - Field: 'result' [13:30:34.277] - Field: 'asynchronous' [13:30:34.277] - Field: 'calls' [13:30:34.278] - Field: 'globals' [13:30:34.278] - Field: 'stdout' [13:30:34.278] - Field: 'earlySignal' [13:30:34.278] - Field: 'lazy' [13:30:34.278] - Field: 'state' [13:30:34.278] - Field: '.cluster' [13:30:34.279] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:34.279] - Launch lazy future ... [13:30:34.279] Packages needed by the future expression (n = 0): [13:30:34.279] Packages needed by future strategies (n = 0): [13:30:34.280] { [13:30:34.280] { [13:30:34.280] { [13:30:34.280] ...future.startTime <- base::Sys.time() [13:30:34.280] { [13:30:34.280] { [13:30:34.280] { [13:30:34.280] base::local({ [13:30:34.280] has_future <- base::requireNamespace("future", [13:30:34.280] quietly = TRUE) [13:30:34.280] if (has_future) { [13:30:34.280] ns <- base::getNamespace("future") [13:30:34.280] version <- ns[[".package"]][["version"]] [13:30:34.280] if (is.null(version)) [13:30:34.280] version <- utils::packageVersion("future") [13:30:34.280] } [13:30:34.280] else { [13:30:34.280] version <- NULL [13:30:34.280] } [13:30:34.280] if (!has_future || version < "1.8.0") { [13:30:34.280] info <- base::c(r_version = base::gsub("R version ", [13:30:34.280] "", base::R.version$version.string), [13:30:34.280] platform = base::sprintf("%s (%s-bit)", [13:30:34.280] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:34.280] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:34.280] "release", "version")], collapse = " "), [13:30:34.280] hostname = base::Sys.info()[["nodename"]]) [13:30:34.280] info <- base::sprintf("%s: %s", base::names(info), [13:30:34.280] info) [13:30:34.280] info <- base::paste(info, collapse = "; ") [13:30:34.280] if (!has_future) { [13:30:34.280] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:34.280] info) [13:30:34.280] } [13:30:34.280] else { [13:30:34.280] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:34.280] info, version) [13:30:34.280] } [13:30:34.280] base::stop(msg) [13:30:34.280] } [13:30:34.280] }) [13:30:34.280] } [13:30:34.280] ...future.strategy.old <- future::plan("list") [13:30:34.280] options(future.plan = NULL) [13:30:34.280] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.280] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:34.280] } [13:30:34.280] ...future.workdir <- getwd() [13:30:34.280] } [13:30:34.280] ...future.oldOptions <- base::as.list(base::.Options) [13:30:34.280] ...future.oldEnvVars <- base::Sys.getenv() [13:30:34.280] } [13:30:34.280] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:34.280] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:34.280] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:34.280] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:34.280] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:34.280] future.stdout.windows.reencode = NULL, width = 80L) [13:30:34.280] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:34.280] base::names(...future.oldOptions)) [13:30:34.280] } [13:30:34.280] if (FALSE) { [13:30:34.280] } [13:30:34.280] else { [13:30:34.280] if (TRUE) { [13:30:34.280] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:34.280] open = "w") [13:30:34.280] } [13:30:34.280] else { [13:30:34.280] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:34.280] windows = "NUL", "/dev/null"), open = "w") [13:30:34.280] } [13:30:34.280] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:34.280] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:34.280] base::sink(type = "output", split = FALSE) [13:30:34.280] base::close(...future.stdout) [13:30:34.280] }, add = TRUE) [13:30:34.280] } [13:30:34.280] ...future.frame <- base::sys.nframe() [13:30:34.280] ...future.conditions <- base::list() [13:30:34.280] ...future.rng <- base::globalenv()$.Random.seed [13:30:34.280] if (FALSE) { [13:30:34.280] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:34.280] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:34.280] } [13:30:34.280] ...future.result <- base::tryCatch({ [13:30:34.280] base::withCallingHandlers({ [13:30:34.280] ...future.value <- base::withVisible(base::local({ [13:30:34.280] sum(x, y) [13:30:34.280] })) [13:30:34.280] future::FutureResult(value = ...future.value$value, [13:30:34.280] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.280] ...future.rng), globalenv = if (FALSE) [13:30:34.280] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:34.280] ...future.globalenv.names)) [13:30:34.280] else NULL, started = ...future.startTime, version = "1.8") [13:30:34.280] }, condition = base::local({ [13:30:34.280] c <- base::c [13:30:34.280] inherits <- base::inherits [13:30:34.280] invokeRestart <- base::invokeRestart [13:30:34.280] length <- base::length [13:30:34.280] list <- base::list [13:30:34.280] seq.int <- base::seq.int [13:30:34.280] signalCondition <- base::signalCondition [13:30:34.280] sys.calls <- base::sys.calls [13:30:34.280] `[[` <- base::`[[` [13:30:34.280] `+` <- base::`+` [13:30:34.280] `<<-` <- base::`<<-` [13:30:34.280] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:34.280] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:34.280] 3L)] [13:30:34.280] } [13:30:34.280] function(cond) { [13:30:34.280] is_error <- inherits(cond, "error") [13:30:34.280] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:34.280] NULL) [13:30:34.280] if (is_error) { [13:30:34.280] sessionInformation <- function() { [13:30:34.280] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:34.280] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:34.280] search = base::search(), system = base::Sys.info()) [13:30:34.280] } [13:30:34.280] ...future.conditions[[length(...future.conditions) + [13:30:34.280] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:34.280] cond$call), session = sessionInformation(), [13:30:34.280] timestamp = base::Sys.time(), signaled = 0L) [13:30:34.280] signalCondition(cond) [13:30:34.280] } [13:30:34.280] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:34.280] signal <- FALSE && inherits(cond, character(0)) [13:30:34.280] ...future.conditions[[length(...future.conditions) + [13:30:34.280] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:34.280] if (FALSE && !signal) { [13:30:34.280] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.280] { [13:30:34.280] inherits <- base::inherits [13:30:34.280] invokeRestart <- base::invokeRestart [13:30:34.280] is.null <- base::is.null [13:30:34.280] muffled <- FALSE [13:30:34.280] if (inherits(cond, "message")) { [13:30:34.280] muffled <- grepl(pattern, "muffleMessage") [13:30:34.280] if (muffled) [13:30:34.280] invokeRestart("muffleMessage") [13:30:34.280] } [13:30:34.280] else if (inherits(cond, "warning")) { [13:30:34.280] muffled <- grepl(pattern, "muffleWarning") [13:30:34.280] if (muffled) [13:30:34.280] invokeRestart("muffleWarning") [13:30:34.280] } [13:30:34.280] else if (inherits(cond, "condition")) { [13:30:34.280] if (!is.null(pattern)) { [13:30:34.280] computeRestarts <- base::computeRestarts [13:30:34.280] grepl <- base::grepl [13:30:34.280] restarts <- computeRestarts(cond) [13:30:34.280] for (restart in restarts) { [13:30:34.280] name <- restart$name [13:30:34.280] if (is.null(name)) [13:30:34.280] next [13:30:34.280] if (!grepl(pattern, name)) [13:30:34.280] next [13:30:34.280] invokeRestart(restart) [13:30:34.280] muffled <- TRUE [13:30:34.280] break [13:30:34.280] } [13:30:34.280] } [13:30:34.280] } [13:30:34.280] invisible(muffled) [13:30:34.280] } [13:30:34.280] muffleCondition(cond, pattern = "^muffle") [13:30:34.280] } [13:30:34.280] } [13:30:34.280] else { [13:30:34.280] if (TRUE) { [13:30:34.280] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.280] { [13:30:34.280] inherits <- base::inherits [13:30:34.280] invokeRestart <- base::invokeRestart [13:30:34.280] is.null <- base::is.null [13:30:34.280] muffled <- FALSE [13:30:34.280] if (inherits(cond, "message")) { [13:30:34.280] muffled <- grepl(pattern, "muffleMessage") [13:30:34.280] if (muffled) [13:30:34.280] invokeRestart("muffleMessage") [13:30:34.280] } [13:30:34.280] else if (inherits(cond, "warning")) { [13:30:34.280] muffled <- grepl(pattern, "muffleWarning") [13:30:34.280] if (muffled) [13:30:34.280] invokeRestart("muffleWarning") [13:30:34.280] } [13:30:34.280] else if (inherits(cond, "condition")) { [13:30:34.280] if (!is.null(pattern)) { [13:30:34.280] computeRestarts <- base::computeRestarts [13:30:34.280] grepl <- base::grepl [13:30:34.280] restarts <- computeRestarts(cond) [13:30:34.280] for (restart in restarts) { [13:30:34.280] name <- restart$name [13:30:34.280] if (is.null(name)) [13:30:34.280] next [13:30:34.280] if (!grepl(pattern, name)) [13:30:34.280] next [13:30:34.280] invokeRestart(restart) [13:30:34.280] muffled <- TRUE [13:30:34.280] break [13:30:34.280] } [13:30:34.280] } [13:30:34.280] } [13:30:34.280] invisible(muffled) [13:30:34.280] } [13:30:34.280] muffleCondition(cond, pattern = "^muffle") [13:30:34.280] } [13:30:34.280] } [13:30:34.280] } [13:30:34.280] })) [13:30:34.280] }, error = function(ex) { [13:30:34.280] base::structure(base::list(value = NULL, visible = NULL, [13:30:34.280] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.280] ...future.rng), started = ...future.startTime, [13:30:34.280] finished = Sys.time(), session_uuid = NA_character_, [13:30:34.280] version = "1.8"), class = "FutureResult") [13:30:34.280] }, finally = { [13:30:34.280] if (!identical(...future.workdir, getwd())) [13:30:34.280] setwd(...future.workdir) [13:30:34.280] { [13:30:34.280] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:34.280] ...future.oldOptions$nwarnings <- NULL [13:30:34.280] } [13:30:34.280] base::options(...future.oldOptions) [13:30:34.280] if (.Platform$OS.type == "windows") { [13:30:34.280] old_names <- names(...future.oldEnvVars) [13:30:34.280] envs <- base::Sys.getenv() [13:30:34.280] names <- names(envs) [13:30:34.280] common <- intersect(names, old_names) [13:30:34.280] added <- setdiff(names, old_names) [13:30:34.280] removed <- setdiff(old_names, names) [13:30:34.280] changed <- common[...future.oldEnvVars[common] != [13:30:34.280] envs[common]] [13:30:34.280] NAMES <- toupper(changed) [13:30:34.280] args <- list() [13:30:34.280] for (kk in seq_along(NAMES)) { [13:30:34.280] name <- changed[[kk]] [13:30:34.280] NAME <- NAMES[[kk]] [13:30:34.280] if (name != NAME && is.element(NAME, old_names)) [13:30:34.280] next [13:30:34.280] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.280] } [13:30:34.280] NAMES <- toupper(added) [13:30:34.280] for (kk in seq_along(NAMES)) { [13:30:34.280] name <- added[[kk]] [13:30:34.280] NAME <- NAMES[[kk]] [13:30:34.280] if (name != NAME && is.element(NAME, old_names)) [13:30:34.280] next [13:30:34.280] args[[name]] <- "" [13:30:34.280] } [13:30:34.280] NAMES <- toupper(removed) [13:30:34.280] for (kk in seq_along(NAMES)) { [13:30:34.280] name <- removed[[kk]] [13:30:34.280] NAME <- NAMES[[kk]] [13:30:34.280] if (name != NAME && is.element(NAME, old_names)) [13:30:34.280] next [13:30:34.280] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.280] } [13:30:34.280] if (length(args) > 0) [13:30:34.280] base::do.call(base::Sys.setenv, args = args) [13:30:34.280] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:34.280] } [13:30:34.280] else { [13:30:34.280] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:34.280] } [13:30:34.280] { [13:30:34.280] if (base::length(...future.futureOptionsAdded) > [13:30:34.280] 0L) { [13:30:34.280] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:34.280] base::names(opts) <- ...future.futureOptionsAdded [13:30:34.280] base::options(opts) [13:30:34.280] } [13:30:34.280] { [13:30:34.280] NULL [13:30:34.280] options(future.plan = NULL) [13:30:34.280] if (is.na(NA_character_)) [13:30:34.280] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.280] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:34.280] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:34.280] .init = FALSE) [13:30:34.280] } [13:30:34.280] } [13:30:34.280] } [13:30:34.280] }) [13:30:34.280] if (TRUE) { [13:30:34.280] base::sink(type = "output", split = FALSE) [13:30:34.280] if (TRUE) { [13:30:34.280] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:34.280] } [13:30:34.280] else { [13:30:34.280] ...future.result["stdout"] <- base::list(NULL) [13:30:34.280] } [13:30:34.280] base::close(...future.stdout) [13:30:34.280] ...future.stdout <- NULL [13:30:34.280] } [13:30:34.280] ...future.result$conditions <- ...future.conditions [13:30:34.280] ...future.result$finished <- base::Sys.time() [13:30:34.280] ...future.result [13:30:34.280] } [13:30:34.283] - Launch lazy future ... done [13:30:34.284] run() for 'MiraiFuture' ... done [1] 6 [13:30:34.286] ** Sum function 'D' with plan('mirai_multisession') ...function (x, y) { message("Arguments '...' exists: ", exists("...", inherits = TRUE)) y %<-% { sum(x, y, ...) } y } Arguments '...' exists: FALSE [13:30:34.289] getGlobalsAndPackages() ... [13:30:34.289] Searching for globals... [13:30:34.291] - globals found: [5] '{', 'sum', 'x', 'y', '...' [13:30:34.291] Searching for globals ... DONE [13:30:34.291] Resolving globals: FALSE [13:30:34.291] Tweak future expression to call with '...' arguments ... [13:30:34.292] The total size of the 2 globals is 112 bytes (112 bytes) [13:30:34.292] The total size of the 2 globals exported for future expression ('{; sum(x, y, ...); }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'x' (56 bytes of class 'numeric') and 'y' (56 bytes of class 'numeric') [13:30:34.293] - globals: [2] 'x', 'y' [13:30:34.293] [13:30:34.293] getGlobalsAndPackages() ... DONE [13:30:34.293] run() for 'Future' ... [13:30:34.293] - state: 'created' [13:30:34.294] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:34.296] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:34.296] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:34.296] - Field: 'label' [13:30:34.296] - Field: 'local' [13:30:34.297] - Field: 'owner' [13:30:34.297] - Field: 'envir' [13:30:34.297] - Field: 'packages' [13:30:34.297] - Field: 'gc' [13:30:34.297] - Field: 'conditions' [13:30:34.297] - Field: 'expr' [13:30:34.298] - Field: 'uuid' [13:30:34.298] - Field: 'seed' [13:30:34.298] - Field: 'version' [13:30:34.298] - Field: 'result' [13:30:34.298] - Field: 'asynchronous' [13:30:34.298] - Field: 'calls' [13:30:34.299] - Field: 'globals' [13:30:34.299] - Field: 'stdout' [13:30:34.299] - Field: 'earlySignal' [13:30:34.299] - Field: 'lazy' [13:30:34.299] - Field: 'state' [13:30:34.299] - Field: '.cluster' [13:30:34.300] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:34.300] - Launch lazy future ... [13:30:34.300] Packages needed by the future expression (n = 0): [13:30:34.300] Packages needed by future strategies (n = 0): [13:30:34.301] { [13:30:34.301] { [13:30:34.301] { [13:30:34.301] ...future.startTime <- base::Sys.time() [13:30:34.301] { [13:30:34.301] { [13:30:34.301] { [13:30:34.301] base::local({ [13:30:34.301] has_future <- base::requireNamespace("future", [13:30:34.301] quietly = TRUE) [13:30:34.301] if (has_future) { [13:30:34.301] ns <- base::getNamespace("future") [13:30:34.301] version <- ns[[".package"]][["version"]] [13:30:34.301] if (is.null(version)) [13:30:34.301] version <- utils::packageVersion("future") [13:30:34.301] } [13:30:34.301] else { [13:30:34.301] version <- NULL [13:30:34.301] } [13:30:34.301] if (!has_future || version < "1.8.0") { [13:30:34.301] info <- base::c(r_version = base::gsub("R version ", [13:30:34.301] "", base::R.version$version.string), [13:30:34.301] platform = base::sprintf("%s (%s-bit)", [13:30:34.301] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:34.301] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:34.301] "release", "version")], collapse = " "), [13:30:34.301] hostname = base::Sys.info()[["nodename"]]) [13:30:34.301] info <- base::sprintf("%s: %s", base::names(info), [13:30:34.301] info) [13:30:34.301] info <- base::paste(info, collapse = "; ") [13:30:34.301] if (!has_future) { [13:30:34.301] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:34.301] info) [13:30:34.301] } [13:30:34.301] else { [13:30:34.301] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:34.301] info, version) [13:30:34.301] } [13:30:34.301] base::stop(msg) [13:30:34.301] } [13:30:34.301] }) [13:30:34.301] } [13:30:34.301] ...future.strategy.old <- future::plan("list") [13:30:34.301] options(future.plan = NULL) [13:30:34.301] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.301] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:34.301] } [13:30:34.301] ...future.workdir <- getwd() [13:30:34.301] } [13:30:34.301] ...future.oldOptions <- base::as.list(base::.Options) [13:30:34.301] ...future.oldEnvVars <- base::Sys.getenv() [13:30:34.301] } [13:30:34.301] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:34.301] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:34.301] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:34.301] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:34.301] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:34.301] future.stdout.windows.reencode = NULL, width = 80L) [13:30:34.301] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:34.301] base::names(...future.oldOptions)) [13:30:34.301] } [13:30:34.301] if (FALSE) { [13:30:34.301] } [13:30:34.301] else { [13:30:34.301] if (TRUE) { [13:30:34.301] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:34.301] open = "w") [13:30:34.301] } [13:30:34.301] else { [13:30:34.301] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:34.301] windows = "NUL", "/dev/null"), open = "w") [13:30:34.301] } [13:30:34.301] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:34.301] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:34.301] base::sink(type = "output", split = FALSE) [13:30:34.301] base::close(...future.stdout) [13:30:34.301] }, add = TRUE) [13:30:34.301] } [13:30:34.301] ...future.frame <- base::sys.nframe() [13:30:34.301] ...future.conditions <- base::list() [13:30:34.301] ...future.rng <- base::globalenv()$.Random.seed [13:30:34.301] if (FALSE) { [13:30:34.301] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:34.301] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:34.301] } [13:30:34.301] ...future.result <- base::tryCatch({ [13:30:34.301] base::withCallingHandlers({ [13:30:34.301] ...future.value <- base::withVisible(base::local({ [13:30:34.301] sum(x, y, ...) [13:30:34.301] })) [13:30:34.301] future::FutureResult(value = ...future.value$value, [13:30:34.301] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.301] ...future.rng), globalenv = if (FALSE) [13:30:34.301] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:34.301] ...future.globalenv.names)) [13:30:34.301] else NULL, started = ...future.startTime, version = "1.8") [13:30:34.301] }, condition = base::local({ [13:30:34.301] c <- base::c [13:30:34.301] inherits <- base::inherits [13:30:34.301] invokeRestart <- base::invokeRestart [13:30:34.301] length <- base::length [13:30:34.301] list <- base::list [13:30:34.301] seq.int <- base::seq.int [13:30:34.301] signalCondition <- base::signalCondition [13:30:34.301] sys.calls <- base::sys.calls [13:30:34.301] `[[` <- base::`[[` [13:30:34.301] `+` <- base::`+` [13:30:34.301] `<<-` <- base::`<<-` [13:30:34.301] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:34.301] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:34.301] 3L)] [13:30:34.301] } [13:30:34.301] function(cond) { [13:30:34.301] is_error <- inherits(cond, "error") [13:30:34.301] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:34.301] NULL) [13:30:34.301] if (is_error) { [13:30:34.301] sessionInformation <- function() { [13:30:34.301] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:34.301] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:34.301] search = base::search(), system = base::Sys.info()) [13:30:34.301] } [13:30:34.301] ...future.conditions[[length(...future.conditions) + [13:30:34.301] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:34.301] cond$call), session = sessionInformation(), [13:30:34.301] timestamp = base::Sys.time(), signaled = 0L) [13:30:34.301] signalCondition(cond) [13:30:34.301] } [13:30:34.301] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:34.301] signal <- FALSE && inherits(cond, character(0)) [13:30:34.301] ...future.conditions[[length(...future.conditions) + [13:30:34.301] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:34.301] if (FALSE && !signal) { [13:30:34.301] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.301] { [13:30:34.301] inherits <- base::inherits [13:30:34.301] invokeRestart <- base::invokeRestart [13:30:34.301] is.null <- base::is.null [13:30:34.301] muffled <- FALSE [13:30:34.301] if (inherits(cond, "message")) { [13:30:34.301] muffled <- grepl(pattern, "muffleMessage") [13:30:34.301] if (muffled) [13:30:34.301] invokeRestart("muffleMessage") [13:30:34.301] } [13:30:34.301] else if (inherits(cond, "warning")) { [13:30:34.301] muffled <- grepl(pattern, "muffleWarning") [13:30:34.301] if (muffled) [13:30:34.301] invokeRestart("muffleWarning") [13:30:34.301] } [13:30:34.301] else if (inherits(cond, "condition")) { [13:30:34.301] if (!is.null(pattern)) { [13:30:34.301] computeRestarts <- base::computeRestarts [13:30:34.301] grepl <- base::grepl [13:30:34.301] restarts <- computeRestarts(cond) [13:30:34.301] for (restart in restarts) { [13:30:34.301] name <- restart$name [13:30:34.301] if (is.null(name)) [13:30:34.301] next [13:30:34.301] if (!grepl(pattern, name)) [13:30:34.301] next [13:30:34.301] invokeRestart(restart) [13:30:34.301] muffled <- TRUE [13:30:34.301] break [13:30:34.301] } [13:30:34.301] } [13:30:34.301] } [13:30:34.301] invisible(muffled) [13:30:34.301] } [13:30:34.301] muffleCondition(cond, pattern = "^muffle") [13:30:34.301] } [13:30:34.301] } [13:30:34.301] else { [13:30:34.301] if (TRUE) { [13:30:34.301] muffleCondition <- function (cond, pattern = "^muffle") [13:30:34.301] { [13:30:34.301] inherits <- base::inherits [13:30:34.301] invokeRestart <- base::invokeRestart [13:30:34.301] is.null <- base::is.null [13:30:34.301] muffled <- FALSE [13:30:34.301] if (inherits(cond, "message")) { [13:30:34.301] muffled <- grepl(pattern, "muffleMessage") [13:30:34.301] if (muffled) [13:30:34.301] invokeRestart("muffleMessage") [13:30:34.301] } [13:30:34.301] else if (inherits(cond, "warning")) { [13:30:34.301] muffled <- grepl(pattern, "muffleWarning") [13:30:34.301] if (muffled) [13:30:34.301] invokeRestart("muffleWarning") [13:30:34.301] } [13:30:34.301] else if (inherits(cond, "condition")) { [13:30:34.301] if (!is.null(pattern)) { [13:30:34.301] computeRestarts <- base::computeRestarts [13:30:34.301] grepl <- base::grepl [13:30:34.301] restarts <- computeRestarts(cond) [13:30:34.301] for (restart in restarts) { [13:30:34.301] name <- restart$name [13:30:34.301] if (is.null(name)) [13:30:34.301] next [13:30:34.301] if (!grepl(pattern, name)) [13:30:34.301] next [13:30:34.301] invokeRestart(restart) [13:30:34.301] muffled <- TRUE [13:30:34.301] break [13:30:34.301] } [13:30:34.301] } [13:30:34.301] } [13:30:34.301] invisible(muffled) [13:30:34.301] } [13:30:34.301] muffleCondition(cond, pattern = "^muffle") [13:30:34.301] } [13:30:34.301] } [13:30:34.301] } [13:30:34.301] })) [13:30:34.301] }, error = function(ex) { [13:30:34.301] base::structure(base::list(value = NULL, visible = NULL, [13:30:34.301] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:34.301] ...future.rng), started = ...future.startTime, [13:30:34.301] finished = Sys.time(), session_uuid = NA_character_, [13:30:34.301] version = "1.8"), class = "FutureResult") [13:30:34.301] }, finally = { [13:30:34.301] if (!identical(...future.workdir, getwd())) [13:30:34.301] setwd(...future.workdir) [13:30:34.301] { [13:30:34.301] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:34.301] ...future.oldOptions$nwarnings <- NULL [13:30:34.301] } [13:30:34.301] base::options(...future.oldOptions) [13:30:34.301] if (.Platform$OS.type == "windows") { [13:30:34.301] old_names <- names(...future.oldEnvVars) [13:30:34.301] envs <- base::Sys.getenv() [13:30:34.301] names <- names(envs) [13:30:34.301] common <- intersect(names, old_names) [13:30:34.301] added <- setdiff(names, old_names) [13:30:34.301] removed <- setdiff(old_names, names) [13:30:34.301] changed <- common[...future.oldEnvVars[common] != [13:30:34.301] envs[common]] [13:30:34.301] NAMES <- toupper(changed) [13:30:34.301] args <- list() [13:30:34.301] for (kk in seq_along(NAMES)) { [13:30:34.301] name <- changed[[kk]] [13:30:34.301] NAME <- NAMES[[kk]] [13:30:34.301] if (name != NAME && is.element(NAME, old_names)) [13:30:34.301] next [13:30:34.301] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.301] } [13:30:34.301] NAMES <- toupper(added) [13:30:34.301] for (kk in seq_along(NAMES)) { [13:30:34.301] name <- added[[kk]] [13:30:34.301] NAME <- NAMES[[kk]] [13:30:34.301] if (name != NAME && is.element(NAME, old_names)) [13:30:34.301] next [13:30:34.301] args[[name]] <- "" [13:30:34.301] } [13:30:34.301] NAMES <- toupper(removed) [13:30:34.301] for (kk in seq_along(NAMES)) { [13:30:34.301] name <- removed[[kk]] [13:30:34.301] NAME <- NAMES[[kk]] [13:30:34.301] if (name != NAME && is.element(NAME, old_names)) [13:30:34.301] next [13:30:34.301] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:34.301] } [13:30:34.301] if (length(args) > 0) [13:30:34.301] base::do.call(base::Sys.setenv, args = args) [13:30:34.301] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:34.301] } [13:30:34.301] else { [13:30:34.301] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:34.301] } [13:30:34.301] { [13:30:34.301] if (base::length(...future.futureOptionsAdded) > [13:30:34.301] 0L) { [13:30:34.301] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:34.301] base::names(opts) <- ...future.futureOptionsAdded [13:30:34.301] base::options(opts) [13:30:34.301] } [13:30:34.301] { [13:30:34.301] NULL [13:30:34.301] options(future.plan = NULL) [13:30:34.301] if (is.na(NA_character_)) [13:30:34.301] Sys.unsetenv("R_FUTURE_PLAN") [13:30:34.301] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:34.301] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:34.301] .init = FALSE) [13:30:34.301] } [13:30:34.301] } [13:30:34.301] } [13:30:34.301] }) [13:30:34.301] if (TRUE) { [13:30:34.301] base::sink(type = "output", split = FALSE) [13:30:34.301] if (TRUE) { [13:30:34.301] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:34.301] } [13:30:34.301] else { [13:30:34.301] ...future.result["stdout"] <- base::list(NULL) [13:30:34.301] } [13:30:34.301] base::close(...future.stdout) [13:30:34.301] ...future.stdout <- NULL [13:30:34.301] } [13:30:34.301] ...future.result$conditions <- ...future.conditions [13:30:34.301] ...future.result$finished <- base::Sys.time() [13:30:34.301] ...future.result [13:30:34.301] } [13:30:34.305] - Launch lazy future ... done [13:30:34.305] run() for 'MiraiFuture' ... done [13:30:34.307] signalConditions() ... [13:30:34.307] - include = 'immediateCondition' [13:30:34.307] - exclude = [13:30:34.308] - resignal = FALSE [13:30:34.308] - Number of conditions: 1 [13:30:34.308] signalConditions() ... done [13:30:34.308] Future state: 'finished' [13:30:34.308] signalConditions() ... [13:30:34.308] - include = 'condition' [13:30:34.309] - exclude = 'immediateCondition' [13:30:34.309] - resignal = TRUE [13:30:34.309] - Number of conditions: 1 [13:30:34.309] - Condition #1: 'simpleError', 'error', 'condition' [13:30:34.309] 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.12 1.01