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:11:13.484] plan(): Setting new future strategy stack: [13:11:13.485] List of future strategies: [13:11:13.485] 1. mirai_multisession: [13:11:13.485] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:11:13.485] - tweaked: FALSE [13:11:13.485] - call: future::plan(future.mirai::mirai_multisession) [13:11:13.498] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:11:13.498] < mirai | $data > [13:11:13.503] getGlobalsAndPackages() ... [13:11:13.503] Not searching for globals [13:11:13.503] - globals: [0] [13:11:13.503] getGlobalsAndPackages() ... DONE [13:11:13.504] getGlobalsAndPackages() ... [13:11:13.504] [13:11:13.504] - globals: [0] [13:11:13.504] getGlobalsAndPackages() ... DONE [13:11:13.785] Packages needed by the future expression (n = 0): [13:11:13.785] Packages needed by future strategies (n = 0): [13:11:13.786] { [13:11:13.786] { [13:11:13.786] { [13:11:13.786] ...future.startTime <- base::Sys.time() [13:11:13.786] { [13:11:13.786] { [13:11:13.786] { [13:11:13.786] base::local({ [13:11:13.786] has_future <- base::requireNamespace("future", [13:11:13.786] quietly = TRUE) [13:11:13.786] if (has_future) { [13:11:13.786] ns <- base::getNamespace("future") [13:11:13.786] version <- ns[[".package"]][["version"]] [13:11:13.786] if (is.null(version)) [13:11:13.786] version <- utils::packageVersion("future") [13:11:13.786] } [13:11:13.786] else { [13:11:13.786] version <- NULL [13:11:13.786] } [13:11:13.786] if (!has_future || version < "1.8.0") { [13:11:13.786] info <- base::c(r_version = base::gsub("R version ", [13:11:13.786] "", base::R.version$version.string), [13:11:13.786] platform = base::sprintf("%s (%s-bit)", [13:11:13.786] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:11:13.786] os = base::paste(base::Sys.info()[base::c("sysname", [13:11:13.786] "release", "version")], collapse = " "), [13:11:13.786] hostname = base::Sys.info()[["nodename"]]) [13:11:13.786] info <- base::sprintf("%s: %s", base::names(info), [13:11:13.786] info) [13:11:13.786] info <- base::paste(info, collapse = "; ") [13:11:13.786] if (!has_future) { [13:11:13.786] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:11:13.786] info) [13:11:13.786] } [13:11:13.786] else { [13:11:13.786] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:11:13.786] info, version) [13:11:13.786] } [13:11:13.786] base::stop(msg) [13:11:13.786] } [13:11:13.786] }) [13:11:13.786] } [13:11:13.786] ...future.strategy.old <- future::plan("list") [13:11:13.786] options(future.plan = NULL) [13:11:13.786] Sys.unsetenv("R_FUTURE_PLAN") [13:11:13.786] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:11:13.786] } [13:11:13.786] ...future.workdir <- getwd() [13:11:13.786] } [13:11:13.786] ...future.oldOptions <- base::as.list(base::.Options) [13:11:13.786] ...future.oldEnvVars <- base::Sys.getenv() [13:11:13.786] } [13:11:13.786] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:11:13.786] future.globals.maxSize = NULL, future.globals.method = NULL, [13:11:13.786] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:11:13.786] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:11:13.786] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:11:13.786] future.stdout.windows.reencode = NULL, width = 80L) [13:11:13.786] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:11:13.786] base::names(...future.oldOptions)) [13:11:13.786] } [13:11:13.786] if (FALSE) { [13:11:13.786] } [13:11:13.786] else { [13:11:13.786] if (TRUE) { [13:11:13.786] ...future.stdout <- base::rawConnection(base::raw(0L), [13:11:13.786] open = "w") [13:11:13.786] } [13:11:13.786] else { [13:11:13.786] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:11:13.786] windows = "NUL", "/dev/null"), open = "w") [13:11:13.786] } [13:11:13.786] base::sink(...future.stdout, type = "output", split = FALSE) [13:11:13.786] base::on.exit(if (!base::is.null(...future.stdout)) { [13:11:13.786] base::sink(type = "output", split = FALSE) [13:11:13.786] base::close(...future.stdout) [13:11:13.786] }, add = TRUE) [13:11:13.786] } [13:11:13.786] ...future.frame <- base::sys.nframe() [13:11:13.786] ...future.conditions <- base::list() [13:11:13.786] ...future.rng <- base::globalenv()$.Random.seed [13:11:13.786] if (FALSE) { [13:11:13.786] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:11:13.786] "...future.value", "...future.globalenv.names", ".Random.seed") [13:11:13.786] } [13:11:13.786] ...future.result <- base::tryCatch({ [13:11:13.786] base::withCallingHandlers({ [13:11:13.786] ...future.value <- base::withVisible(base::local(NA)) [13:11:13.786] future::FutureResult(value = ...future.value$value, [13:11:13.786] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:11:13.786] ...future.rng), globalenv = if (FALSE) [13:11:13.786] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:11:13.786] ...future.globalenv.names)) [13:11:13.786] else NULL, started = ...future.startTime, version = "1.8") [13:11:13.786] }, condition = base::local({ [13:11:13.786] c <- base::c [13:11:13.786] inherits <- base::inherits [13:11:13.786] invokeRestart <- base::invokeRestart [13:11:13.786] length <- base::length [13:11:13.786] list <- base::list [13:11:13.786] seq.int <- base::seq.int [13:11:13.786] signalCondition <- base::signalCondition [13:11:13.786] sys.calls <- base::sys.calls [13:11:13.786] `[[` <- base::`[[` [13:11:13.786] `+` <- base::`+` [13:11:13.786] `<<-` <- base::`<<-` [13:11:13.786] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:11:13.786] calls[seq.int(from = from + 12L, to = length(calls) - [13:11:13.786] 3L)] [13:11:13.786] } [13:11:13.786] function(cond) { [13:11:13.786] is_error <- inherits(cond, "error") [13:11:13.786] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:11:13.786] NULL) [13:11:13.786] if (is_error) { [13:11:13.786] sessionInformation <- function() { [13:11:13.786] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:11:13.786] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:11:13.786] search = base::search(), system = base::Sys.info()) [13:11:13.786] } [13:11:13.786] ...future.conditions[[length(...future.conditions) + [13:11:13.786] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:11:13.786] cond$call), session = sessionInformation(), [13:11:13.786] timestamp = base::Sys.time(), signaled = 0L) [13:11:13.786] signalCondition(cond) [13:11:13.786] } [13:11:13.786] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:11:13.786] signal <- FALSE && inherits(cond, character(0)) [13:11:13.786] ...future.conditions[[length(...future.conditions) + [13:11:13.786] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:11:13.786] if (FALSE && !signal) { [13:11:13.786] muffleCondition <- function (cond, pattern = "^muffle") [13:11:13.786] { [13:11:13.786] inherits <- base::inherits [13:11:13.786] invokeRestart <- base::invokeRestart [13:11:13.786] is.null <- base::is.null [13:11:13.786] muffled <- FALSE [13:11:13.786] if (inherits(cond, "message")) { [13:11:13.786] muffled <- grepl(pattern, "muffleMessage") [13:11:13.786] if (muffled) [13:11:13.786] invokeRestart("muffleMessage") [13:11:13.786] } [13:11:13.786] else if (inherits(cond, "warning")) { [13:11:13.786] muffled <- grepl(pattern, "muffleWarning") [13:11:13.786] if (muffled) [13:11:13.786] invokeRestart("muffleWarning") [13:11:13.786] } [13:11:13.786] else if (inherits(cond, "condition")) { [13:11:13.786] if (!is.null(pattern)) { [13:11:13.786] computeRestarts <- base::computeRestarts [13:11:13.786] grepl <- base::grepl [13:11:13.786] restarts <- computeRestarts(cond) [13:11:13.786] for (restart in restarts) { [13:11:13.786] name <- restart$name [13:11:13.786] if (is.null(name)) [13:11:13.786] next [13:11:13.786] if (!grepl(pattern, name)) [13:11:13.786] next [13:11:13.786] invokeRestart(restart) [13:11:13.786] muffled <- TRUE [13:11:13.786] break [13:11:13.786] } [13:11:13.786] } [13:11:13.786] } [13:11:13.786] invisible(muffled) [13:11:13.786] } [13:11:13.786] muffleCondition(cond, pattern = "^muffle") [13:11:13.786] } [13:11:13.786] } [13:11:13.786] else { [13:11:13.786] if (TRUE) { [13:11:13.786] muffleCondition <- function (cond, pattern = "^muffle") [13:11:13.786] { [13:11:13.786] inherits <- base::inherits [13:11:13.786] invokeRestart <- base::invokeRestart [13:11:13.786] is.null <- base::is.null [13:11:13.786] muffled <- FALSE [13:11:13.786] if (inherits(cond, "message")) { [13:11:13.786] muffled <- grepl(pattern, "muffleMessage") [13:11:13.786] if (muffled) [13:11:13.786] invokeRestart("muffleMessage") [13:11:13.786] } [13:11:13.786] else if (inherits(cond, "warning")) { [13:11:13.786] muffled <- grepl(pattern, "muffleWarning") [13:11:13.786] if (muffled) [13:11:13.786] invokeRestart("muffleWarning") [13:11:13.786] } [13:11:13.786] else if (inherits(cond, "condition")) { [13:11:13.786] if (!is.null(pattern)) { [13:11:13.786] computeRestarts <- base::computeRestarts [13:11:13.786] grepl <- base::grepl [13:11:13.786] restarts <- computeRestarts(cond) [13:11:13.786] for (restart in restarts) { [13:11:13.786] name <- restart$name [13:11:13.786] if (is.null(name)) [13:11:13.786] next [13:11:13.786] if (!grepl(pattern, name)) [13:11:13.786] next [13:11:13.786] invokeRestart(restart) [13:11:13.786] muffled <- TRUE [13:11:13.786] break [13:11:13.786] } [13:11:13.786] } [13:11:13.786] } [13:11:13.786] invisible(muffled) [13:11:13.786] } [13:11:13.786] muffleCondition(cond, pattern = "^muffle") [13:11:13.786] } [13:11:13.786] } [13:11:13.786] } [13:11:13.786] })) [13:11:13.786] }, error = function(ex) { [13:11:13.786] base::structure(base::list(value = NULL, visible = NULL, [13:11:13.786] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:11:13.786] ...future.rng), started = ...future.startTime, [13:11:13.786] finished = Sys.time(), session_uuid = NA_character_, [13:11:13.786] version = "1.8"), class = "FutureResult") [13:11:13.786] }, finally = { [13:11:13.786] if (!identical(...future.workdir, getwd())) [13:11:13.786] setwd(...future.workdir) [13:11:13.786] { [13:11:13.786] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:11:13.786] ...future.oldOptions$nwarnings <- NULL [13:11:13.786] } [13:11:13.786] base::options(...future.oldOptions) [13:11:13.786] if (.Platform$OS.type == "windows") { [13:11:13.786] old_names <- names(...future.oldEnvVars) [13:11:13.786] envs <- base::Sys.getenv() [13:11:13.786] names <- names(envs) [13:11:13.786] common <- intersect(names, old_names) [13:11:13.786] added <- setdiff(names, old_names) [13:11:13.786] removed <- setdiff(old_names, names) [13:11:13.786] changed <- common[...future.oldEnvVars[common] != [13:11:13.786] envs[common]] [13:11:13.786] NAMES <- toupper(changed) [13:11:13.786] args <- list() [13:11:13.786] for (kk in seq_along(NAMES)) { [13:11:13.786] name <- changed[[kk]] [13:11:13.786] NAME <- NAMES[[kk]] [13:11:13.786] if (name != NAME && is.element(NAME, old_names)) [13:11:13.786] next [13:11:13.786] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:13.786] } [13:11:13.786] NAMES <- toupper(added) [13:11:13.786] for (kk in seq_along(NAMES)) { [13:11:13.786] name <- added[[kk]] [13:11:13.786] NAME <- NAMES[[kk]] [13:11:13.786] if (name != NAME && is.element(NAME, old_names)) [13:11:13.786] next [13:11:13.786] args[[name]] <- "" [13:11:13.786] } [13:11:13.786] NAMES <- toupper(removed) [13:11:13.786] for (kk in seq_along(NAMES)) { [13:11:13.786] name <- removed[[kk]] [13:11:13.786] NAME <- NAMES[[kk]] [13:11:13.786] if (name != NAME && is.element(NAME, old_names)) [13:11:13.786] next [13:11:13.786] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:13.786] } [13:11:13.786] if (length(args) > 0) [13:11:13.786] base::do.call(base::Sys.setenv, args = args) [13:11:13.786] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:11:13.786] } [13:11:13.786] else { [13:11:13.786] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:11:13.786] } [13:11:13.786] { [13:11:13.786] if (base::length(...future.futureOptionsAdded) > [13:11:13.786] 0L) { [13:11:13.786] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:11:13.786] base::names(opts) <- ...future.futureOptionsAdded [13:11:13.786] base::options(opts) [13:11:13.786] } [13:11:13.786] { [13:11:13.786] NULL [13:11:13.786] options(future.plan = NULL) [13:11:13.786] if (is.na(NA_character_)) [13:11:13.786] Sys.unsetenv("R_FUTURE_PLAN") [13:11:13.786] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:11:13.786] future::plan(...future.strategy.old, .cleanup = FALSE, [13:11:13.786] .init = FALSE) [13:11:13.786] } [13:11:13.786] } [13:11:13.786] } [13:11:13.786] }) [13:11:13.786] if (TRUE) { [13:11:13.786] base::sink(type = "output", split = FALSE) [13:11:13.786] if (TRUE) { [13:11:13.786] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:11:13.786] } [13:11:13.786] else { [13:11:13.786] ...future.result["stdout"] <- base::list(NULL) [13:11:13.786] } [13:11:13.786] base::close(...future.stdout) [13:11:13.786] ...future.stdout <- NULL [13:11:13.786] } [13:11:13.786] ...future.result$conditions <- ...future.conditions [13:11:13.786] ...future.result$finished <- base::Sys.time() [13:11:13.786] ...future.result [13:11:13.786] } [13:11:13.888] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:11:13.889] plan(): nbrOfWorkers() = 2 > > message("*** Standard output ...") *** Standard output ... > > truth_rows <- utils::capture.output({ + print(1:50) + str(1:50) + cat(letters, sep = "-") + cat(1:6, collapse = "\n") + write.table(datasets::iris[1:10,], sep = "\t") + }) > truth <- paste0(paste(truth_rows, collapse = "\n"), "\n") > print(truth) [1] " [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25\n[26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50\n int [1:50] 1 2 3 4 5 6 7 8 9 10 ...\na-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z1 2 3 4 5 6 \n\"Sepal.Length\"\t\"Sepal.Width\"\t\"Petal.Length\"\t\"Petal.Width\"\t\"Species\"\n\"1\"\t5.1\t3.5\t1.4\t0.2\t\"setosa\"\n\"2\"\t4.9\t3\t1.4\t0.2\t\"setosa\"\n\"3\"\t4.7\t3.2\t1.3\t0.2\t\"setosa\"\n\"4\"\t4.6\t3.1\t1.5\t0.2\t\"setosa\"\n\"5\"\t5\t3.6\t1.4\t0.2\t\"setosa\"\n\"6\"\t5.4\t3.9\t1.7\t0.4\t\"setosa\"\n\"7\"\t4.6\t3.4\t1.4\t0.3\t\"setosa\"\n\"8\"\t5\t3.4\t1.5\t0.2\t\"setosa\"\n\"9\"\t4.4\t2.9\t1.4\t0.2\t\"setosa\"\n\"10\"\t4.9\t3.1\t1.5\t0.1\t\"setosa\"\n" > > message("mirai_multisession ...") mirai_multisession ... > plan(mirai_multisession) [13:11:13.895] plan(): Setting new future strategy stack: [13:11:13.895] List of future strategies: [13:11:13.895] 1. mirai_multisession: [13:11:13.895] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:11:13.895] - tweaked: FALSE [13:11:13.895] - call: plan(mirai_multisession) [13:11:13.908] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:11:13.909] < mirai | $data > [13:11:13.911] getGlobalsAndPackages() ... [13:11:13.911] Not searching for globals [13:11:13.911] - globals: [0] [13:11:13.912] getGlobalsAndPackages() ... DONE [13:11:13.912] getGlobalsAndPackages() ... [13:11:13.912] [13:11:13.912] - globals: [0] [13:11:13.912] getGlobalsAndPackages() ... DONE [13:11:13.913] Packages needed by the future expression (n = 0): [13:11:13.913] Packages needed by future strategies (n = 0): [13:11:13.914] { [13:11:13.914] { [13:11:13.914] { [13:11:13.914] ...future.startTime <- base::Sys.time() [13:11:13.914] { [13:11:13.914] { [13:11:13.914] { [13:11:13.914] base::local({ [13:11:13.914] has_future <- base::requireNamespace("future", [13:11:13.914] quietly = TRUE) [13:11:13.914] if (has_future) { [13:11:13.914] ns <- base::getNamespace("future") [13:11:13.914] version <- ns[[".package"]][["version"]] [13:11:13.914] if (is.null(version)) [13:11:13.914] version <- utils::packageVersion("future") [13:11:13.914] } [13:11:13.914] else { [13:11:13.914] version <- NULL [13:11:13.914] } [13:11:13.914] if (!has_future || version < "1.8.0") { [13:11:13.914] info <- base::c(r_version = base::gsub("R version ", [13:11:13.914] "", base::R.version$version.string), [13:11:13.914] platform = base::sprintf("%s (%s-bit)", [13:11:13.914] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:11:13.914] os = base::paste(base::Sys.info()[base::c("sysname", [13:11:13.914] "release", "version")], collapse = " "), [13:11:13.914] hostname = base::Sys.info()[["nodename"]]) [13:11:13.914] info <- base::sprintf("%s: %s", base::names(info), [13:11:13.914] info) [13:11:13.914] info <- base::paste(info, collapse = "; ") [13:11:13.914] if (!has_future) { [13:11:13.914] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:11:13.914] info) [13:11:13.914] } [13:11:13.914] else { [13:11:13.914] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:11:13.914] info, version) [13:11:13.914] } [13:11:13.914] base::stop(msg) [13:11:13.914] } [13:11:13.914] }) [13:11:13.914] } [13:11:13.914] ...future.strategy.old <- future::plan("list") [13:11:13.914] options(future.plan = NULL) [13:11:13.914] Sys.unsetenv("R_FUTURE_PLAN") [13:11:13.914] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:11:13.914] } [13:11:13.914] ...future.workdir <- getwd() [13:11:13.914] } [13:11:13.914] ...future.oldOptions <- base::as.list(base::.Options) [13:11:13.914] ...future.oldEnvVars <- base::Sys.getenv() [13:11:13.914] } [13:11:13.914] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:11:13.914] future.globals.maxSize = NULL, future.globals.method = NULL, [13:11:13.914] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:11:13.914] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:11:13.914] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:11:13.914] future.stdout.windows.reencode = NULL, width = 80L) [13:11:13.914] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:11:13.914] base::names(...future.oldOptions)) [13:11:13.914] } [13:11:13.914] if (FALSE) { [13:11:13.914] } [13:11:13.914] else { [13:11:13.914] if (TRUE) { [13:11:13.914] ...future.stdout <- base::rawConnection(base::raw(0L), [13:11:13.914] open = "w") [13:11:13.914] } [13:11:13.914] else { [13:11:13.914] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:11:13.914] windows = "NUL", "/dev/null"), open = "w") [13:11:13.914] } [13:11:13.914] base::sink(...future.stdout, type = "output", split = FALSE) [13:11:13.914] base::on.exit(if (!base::is.null(...future.stdout)) { [13:11:13.914] base::sink(type = "output", split = FALSE) [13:11:13.914] base::close(...future.stdout) [13:11:13.914] }, add = TRUE) [13:11:13.914] } [13:11:13.914] ...future.frame <- base::sys.nframe() [13:11:13.914] ...future.conditions <- base::list() [13:11:13.914] ...future.rng <- base::globalenv()$.Random.seed [13:11:13.914] if (FALSE) { [13:11:13.914] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:11:13.914] "...future.value", "...future.globalenv.names", ".Random.seed") [13:11:13.914] } [13:11:13.914] ...future.result <- base::tryCatch({ [13:11:13.914] base::withCallingHandlers({ [13:11:13.914] ...future.value <- base::withVisible(base::local(NA)) [13:11:13.914] future::FutureResult(value = ...future.value$value, [13:11:13.914] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:11:13.914] ...future.rng), globalenv = if (FALSE) [13:11:13.914] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:11:13.914] ...future.globalenv.names)) [13:11:13.914] else NULL, started = ...future.startTime, version = "1.8") [13:11:13.914] }, condition = base::local({ [13:11:13.914] c <- base::c [13:11:13.914] inherits <- base::inherits [13:11:13.914] invokeRestart <- base::invokeRestart [13:11:13.914] length <- base::length [13:11:13.914] list <- base::list [13:11:13.914] seq.int <- base::seq.int [13:11:13.914] signalCondition <- base::signalCondition [13:11:13.914] sys.calls <- base::sys.calls [13:11:13.914] `[[` <- base::`[[` [13:11:13.914] `+` <- base::`+` [13:11:13.914] `<<-` <- base::`<<-` [13:11:13.914] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:11:13.914] calls[seq.int(from = from + 12L, to = length(calls) - [13:11:13.914] 3L)] [13:11:13.914] } [13:11:13.914] function(cond) { [13:11:13.914] is_error <- inherits(cond, "error") [13:11:13.914] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:11:13.914] NULL) [13:11:13.914] if (is_error) { [13:11:13.914] sessionInformation <- function() { [13:11:13.914] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:11:13.914] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:11:13.914] search = base::search(), system = base::Sys.info()) [13:11:13.914] } [13:11:13.914] ...future.conditions[[length(...future.conditions) + [13:11:13.914] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:11:13.914] cond$call), session = sessionInformation(), [13:11:13.914] timestamp = base::Sys.time(), signaled = 0L) [13:11:13.914] signalCondition(cond) [13:11:13.914] } [13:11:13.914] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:11:13.914] signal <- FALSE && inherits(cond, character(0)) [13:11:13.914] ...future.conditions[[length(...future.conditions) + [13:11:13.914] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:11:13.914] if (FALSE && !signal) { [13:11:13.914] muffleCondition <- function (cond, pattern = "^muffle") [13:11:13.914] { [13:11:13.914] inherits <- base::inherits [13:11:13.914] invokeRestart <- base::invokeRestart [13:11:13.914] is.null <- base::is.null [13:11:13.914] muffled <- FALSE [13:11:13.914] if (inherits(cond, "message")) { [13:11:13.914] muffled <- grepl(pattern, "muffleMessage") [13:11:13.914] if (muffled) [13:11:13.914] invokeRestart("muffleMessage") [13:11:13.914] } [13:11:13.914] else if (inherits(cond, "warning")) { [13:11:13.914] muffled <- grepl(pattern, "muffleWarning") [13:11:13.914] if (muffled) [13:11:13.914] invokeRestart("muffleWarning") [13:11:13.914] } [13:11:13.914] else if (inherits(cond, "condition")) { [13:11:13.914] if (!is.null(pattern)) { [13:11:13.914] computeRestarts <- base::computeRestarts [13:11:13.914] grepl <- base::grepl [13:11:13.914] restarts <- computeRestarts(cond) [13:11:13.914] for (restart in restarts) { [13:11:13.914] name <- restart$name [13:11:13.914] if (is.null(name)) [13:11:13.914] next [13:11:13.914] if (!grepl(pattern, name)) [13:11:13.914] next [13:11:13.914] invokeRestart(restart) [13:11:13.914] muffled <- TRUE [13:11:13.914] break [13:11:13.914] } [13:11:13.914] } [13:11:13.914] } [13:11:13.914] invisible(muffled) [13:11:13.914] } [13:11:13.914] muffleCondition(cond, pattern = "^muffle") [13:11:13.914] } [13:11:13.914] } [13:11:13.914] else { [13:11:13.914] if (TRUE) { [13:11:13.914] muffleCondition <- function (cond, pattern = "^muffle") [13:11:13.914] { [13:11:13.914] inherits <- base::inherits [13:11:13.914] invokeRestart <- base::invokeRestart [13:11:13.914] is.null <- base::is.null [13:11:13.914] muffled <- FALSE [13:11:13.914] if (inherits(cond, "message")) { [13:11:13.914] muffled <- grepl(pattern, "muffleMessage") [13:11:13.914] if (muffled) [13:11:13.914] invokeRestart("muffleMessage") [13:11:13.914] } [13:11:13.914] else if (inherits(cond, "warning")) { [13:11:13.914] muffled <- grepl(pattern, "muffleWarning") [13:11:13.914] if (muffled) [13:11:13.914] invokeRestart("muffleWarning") [13:11:13.914] } [13:11:13.914] else if (inherits(cond, "condition")) { [13:11:13.914] if (!is.null(pattern)) { [13:11:13.914] computeRestarts <- base::computeRestarts [13:11:13.914] grepl <- base::grepl [13:11:13.914] restarts <- computeRestarts(cond) [13:11:13.914] for (restart in restarts) { [13:11:13.914] name <- restart$name [13:11:13.914] if (is.null(name)) [13:11:13.914] next [13:11:13.914] if (!grepl(pattern, name)) [13:11:13.914] next [13:11:13.914] invokeRestart(restart) [13:11:13.914] muffled <- TRUE [13:11:13.914] break [13:11:13.914] } [13:11:13.914] } [13:11:13.914] } [13:11:13.914] invisible(muffled) [13:11:13.914] } [13:11:13.914] muffleCondition(cond, pattern = "^muffle") [13:11:13.914] } [13:11:13.914] } [13:11:13.914] } [13:11:13.914] })) [13:11:13.914] }, error = function(ex) { [13:11:13.914] base::structure(base::list(value = NULL, visible = NULL, [13:11:13.914] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:11:13.914] ...future.rng), started = ...future.startTime, [13:11:13.914] finished = Sys.time(), session_uuid = NA_character_, [13:11:13.914] version = "1.8"), class = "FutureResult") [13:11:13.914] }, finally = { [13:11:13.914] if (!identical(...future.workdir, getwd())) [13:11:13.914] setwd(...future.workdir) [13:11:13.914] { [13:11:13.914] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:11:13.914] ...future.oldOptions$nwarnings <- NULL [13:11:13.914] } [13:11:13.914] base::options(...future.oldOptions) [13:11:13.914] if (.Platform$OS.type == "windows") { [13:11:13.914] old_names <- names(...future.oldEnvVars) [13:11:13.914] envs <- base::Sys.getenv() [13:11:13.914] names <- names(envs) [13:11:13.914] common <- intersect(names, old_names) [13:11:13.914] added <- setdiff(names, old_names) [13:11:13.914] removed <- setdiff(old_names, names) [13:11:13.914] changed <- common[...future.oldEnvVars[common] != [13:11:13.914] envs[common]] [13:11:13.914] NAMES <- toupper(changed) [13:11:13.914] args <- list() [13:11:13.914] for (kk in seq_along(NAMES)) { [13:11:13.914] name <- changed[[kk]] [13:11:13.914] NAME <- NAMES[[kk]] [13:11:13.914] if (name != NAME && is.element(NAME, old_names)) [13:11:13.914] next [13:11:13.914] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:13.914] } [13:11:13.914] NAMES <- toupper(added) [13:11:13.914] for (kk in seq_along(NAMES)) { [13:11:13.914] name <- added[[kk]] [13:11:13.914] NAME <- NAMES[[kk]] [13:11:13.914] if (name != NAME && is.element(NAME, old_names)) [13:11:13.914] next [13:11:13.914] args[[name]] <- "" [13:11:13.914] } [13:11:13.914] NAMES <- toupper(removed) [13:11:13.914] for (kk in seq_along(NAMES)) { [13:11:13.914] name <- removed[[kk]] [13:11:13.914] NAME <- NAMES[[kk]] [13:11:13.914] if (name != NAME && is.element(NAME, old_names)) [13:11:13.914] next [13:11:13.914] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:13.914] } [13:11:13.914] if (length(args) > 0) [13:11:13.914] base::do.call(base::Sys.setenv, args = args) [13:11:13.914] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:11:13.914] } [13:11:13.914] else { [13:11:13.914] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:11:13.914] } [13:11:13.914] { [13:11:13.914] if (base::length(...future.futureOptionsAdded) > [13:11:13.914] 0L) { [13:11:13.914] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:11:13.914] base::names(opts) <- ...future.futureOptionsAdded [13:11:13.914] base::options(opts) [13:11:13.914] } [13:11:13.914] { [13:11:13.914] NULL [13:11:13.914] options(future.plan = NULL) [13:11:13.914] if (is.na(NA_character_)) [13:11:13.914] Sys.unsetenv("R_FUTURE_PLAN") [13:11:13.914] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:11:13.914] future::plan(...future.strategy.old, .cleanup = FALSE, [13:11:13.914] .init = FALSE) [13:11:13.914] } [13:11:13.914] } [13:11:13.914] } [13:11:13.914] }) [13:11:13.914] if (TRUE) { [13:11:13.914] base::sink(type = "output", split = FALSE) [13:11:13.914] if (TRUE) { [13:11:13.914] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:11:13.914] } [13:11:13.914] else { [13:11:13.914] ...future.result["stdout"] <- base::list(NULL) [13:11:13.914] } [13:11:13.914] base::close(...future.stdout) [13:11:13.914] ...future.stdout <- NULL [13:11:13.914] } [13:11:13.914] ...future.result$conditions <- ...future.conditions [13:11:13.914] ...future.result$finished <- base::Sys.time() [13:11:13.914] ...future.result [13:11:13.914] } [13:11:14.016] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:11:14.017] plan(): nbrOfWorkers() = 2 > > for (stdout in c(TRUE, FALSE, NA)) { + message(sprintf("- stdout = %s", stdout)) + + f <- future({ + print(1:50) + str(1:50) + cat(letters, sep = "-") + cat(1:6, collapse = "\n") + write.table(datasets::iris[1:10,], sep = "\t") + 42L + }, stdout = stdout) + r <- result(f) + str(r) + stopifnot(value(f) == 42L) + + if (is.na(stdout)) { + stopifnot(is.null(r$stdout)) + } else if (stdout) { + print(r) + stopifnot(identical(r$stdout, truth)) + } else { + stopifnot(is.null(r$stdout)) + } + + v %<-% { + print(1:50) + str(1:50) + cat(letters, sep = "-") + cat(1:6, collapse = "\n") + write.table(datasets::iris[1:10,], sep = "\t") + 42L + } %stdout% stdout + out <- utils::capture.output(y <- v) + stopifnot(y == 42L) + + if (is.na(stdout) || !stdout) { + stopifnot(out == "") + } else { + print(out) + stopifnot(identical(out, truth_rows)) + } + } ## for (stdout ...) - stdout = TRUE [13:11:14.044] getGlobalsAndPackages() ... [13:11:14.044] Searching for globals... [13:11:14.054] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:11:14.054] Searching for globals ... DONE [13:11:14.054] Resolving globals: FALSE [13:11:14.055] [13:11:14.055] - packages: [1] 'utils' [13:11:14.055] getGlobalsAndPackages() ... DONE [13:11:14.056] run() for 'Future' ... [13:11:14.056] - state: 'created' [13:11:14.056] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:11:14.059] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:11:14.059] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:11:14.059] - Field: 'label' [13:11:14.059] - Field: 'local' [13:11:14.059] - Field: 'owner' [13:11:14.060] - Field: 'envir' [13:11:14.060] - Field: 'packages' [13:11:14.060] - Field: 'gc' [13:11:14.060] - Field: 'conditions' [13:11:14.060] - Field: 'expr' [13:11:14.060] - Field: 'uuid' [13:11:14.061] - Field: 'seed' [13:11:14.061] - Field: 'version' [13:11:14.061] - Field: 'result' [13:11:14.061] - Field: 'asynchronous' [13:11:14.061] - Field: 'calls' [13:11:14.061] - Field: 'globals' [13:11:14.062] - Field: 'stdout' [13:11:14.062] - Field: 'earlySignal' [13:11:14.062] - Field: 'lazy' [13:11:14.062] - Field: 'state' [13:11:14.062] - Field: '.cluster' [13:11:14.062] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:11:14.063] - Launch lazy future ... [13:11:14.063] Packages needed by the future expression (n = 1): 'utils' [13:11:14.063] Packages needed by future strategies (n = 0): [13:11:14.064] { [13:11:14.064] { [13:11:14.064] { [13:11:14.064] ...future.startTime <- base::Sys.time() [13:11:14.064] { [13:11:14.064] { [13:11:14.064] { [13:11:14.064] { [13:11:14.064] base::local({ [13:11:14.064] has_future <- base::requireNamespace("future", [13:11:14.064] quietly = TRUE) [13:11:14.064] if (has_future) { [13:11:14.064] ns <- base::getNamespace("future") [13:11:14.064] version <- ns[[".package"]][["version"]] [13:11:14.064] if (is.null(version)) [13:11:14.064] version <- utils::packageVersion("future") [13:11:14.064] } [13:11:14.064] else { [13:11:14.064] version <- NULL [13:11:14.064] } [13:11:14.064] if (!has_future || version < "1.8.0") { [13:11:14.064] info <- base::c(r_version = base::gsub("R version ", [13:11:14.064] "", base::R.version$version.string), [13:11:14.064] platform = base::sprintf("%s (%s-bit)", [13:11:14.064] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:11:14.064] os = base::paste(base::Sys.info()[base::c("sysname", [13:11:14.064] "release", "version")], collapse = " "), [13:11:14.064] hostname = base::Sys.info()[["nodename"]]) [13:11:14.064] info <- base::sprintf("%s: %s", base::names(info), [13:11:14.064] info) [13:11:14.064] info <- base::paste(info, collapse = "; ") [13:11:14.064] if (!has_future) { [13:11:14.064] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:11:14.064] info) [13:11:14.064] } [13:11:14.064] else { [13:11:14.064] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:11:14.064] info, version) [13:11:14.064] } [13:11:14.064] base::stop(msg) [13:11:14.064] } [13:11:14.064] }) [13:11:14.064] } [13:11:14.064] base::local({ [13:11:14.064] for (pkg in "utils") { [13:11:14.064] base::loadNamespace(pkg) [13:11:14.064] base::library(pkg, character.only = TRUE) [13:11:14.064] } [13:11:14.064] }) [13:11:14.064] } [13:11:14.064] ...future.strategy.old <- future::plan("list") [13:11:14.064] options(future.plan = NULL) [13:11:14.064] Sys.unsetenv("R_FUTURE_PLAN") [13:11:14.064] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:11:14.064] } [13:11:14.064] ...future.workdir <- getwd() [13:11:14.064] } [13:11:14.064] ...future.oldOptions <- base::as.list(base::.Options) [13:11:14.064] ...future.oldEnvVars <- base::Sys.getenv() [13:11:14.064] } [13:11:14.064] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:11:14.064] future.globals.maxSize = NULL, future.globals.method = NULL, [13:11:14.064] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:11:14.064] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:11:14.064] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:11:14.064] future.stdout.windows.reencode = NULL, width = 80L) [13:11:14.064] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:11:14.064] base::names(...future.oldOptions)) [13:11:14.064] } [13:11:14.064] if (FALSE) { [13:11:14.064] } [13:11:14.064] else { [13:11:14.064] if (TRUE) { [13:11:14.064] ...future.stdout <- base::rawConnection(base::raw(0L), [13:11:14.064] open = "w") [13:11:14.064] } [13:11:14.064] else { [13:11:14.064] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:11:14.064] windows = "NUL", "/dev/null"), open = "w") [13:11:14.064] } [13:11:14.064] base::sink(...future.stdout, type = "output", split = FALSE) [13:11:14.064] base::on.exit(if (!base::is.null(...future.stdout)) { [13:11:14.064] base::sink(type = "output", split = FALSE) [13:11:14.064] base::close(...future.stdout) [13:11:14.064] }, add = TRUE) [13:11:14.064] } [13:11:14.064] ...future.frame <- base::sys.nframe() [13:11:14.064] ...future.conditions <- base::list() [13:11:14.064] ...future.rng <- base::globalenv()$.Random.seed [13:11:14.064] if (FALSE) { [13:11:14.064] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:11:14.064] "...future.value", "...future.globalenv.names", ".Random.seed") [13:11:14.064] } [13:11:14.064] ...future.result <- base::tryCatch({ [13:11:14.064] base::withCallingHandlers({ [13:11:14.064] ...future.value <- base::withVisible(base::local({ [13:11:14.064] print(1:50) [13:11:14.064] str(1:50) [13:11:14.064] cat(letters, sep = "-") [13:11:14.064] cat(1:6, collapse = "\n") [13:11:14.064] write.table(datasets::iris[1:10, ], sep = "\t") [13:11:14.064] 42L [13:11:14.064] })) [13:11:14.064] future::FutureResult(value = ...future.value$value, [13:11:14.064] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:11:14.064] ...future.rng), globalenv = if (FALSE) [13:11:14.064] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:11:14.064] ...future.globalenv.names)) [13:11:14.064] else NULL, started = ...future.startTime, version = "1.8") [13:11:14.064] }, condition = base::local({ [13:11:14.064] c <- base::c [13:11:14.064] inherits <- base::inherits [13:11:14.064] invokeRestart <- base::invokeRestart [13:11:14.064] length <- base::length [13:11:14.064] list <- base::list [13:11:14.064] seq.int <- base::seq.int [13:11:14.064] signalCondition <- base::signalCondition [13:11:14.064] sys.calls <- base::sys.calls [13:11:14.064] `[[` <- base::`[[` [13:11:14.064] `+` <- base::`+` [13:11:14.064] `<<-` <- base::`<<-` [13:11:14.064] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:11:14.064] calls[seq.int(from = from + 12L, to = length(calls) - [13:11:14.064] 3L)] [13:11:14.064] } [13:11:14.064] function(cond) { [13:11:14.064] is_error <- inherits(cond, "error") [13:11:14.064] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:11:14.064] NULL) [13:11:14.064] if (is_error) { [13:11:14.064] sessionInformation <- function() { [13:11:14.064] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:11:14.064] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:11:14.064] search = base::search(), system = base::Sys.info()) [13:11:14.064] } [13:11:14.064] ...future.conditions[[length(...future.conditions) + [13:11:14.064] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:11:14.064] cond$call), session = sessionInformation(), [13:11:14.064] timestamp = base::Sys.time(), signaled = 0L) [13:11:14.064] signalCondition(cond) [13:11:14.064] } [13:11:14.064] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:11:14.064] signal <- FALSE && inherits(cond, character(0)) [13:11:14.064] ...future.conditions[[length(...future.conditions) + [13:11:14.064] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:11:14.064] if (FALSE && !signal) { [13:11:14.064] muffleCondition <- function (cond, pattern = "^muffle") [13:11:14.064] { [13:11:14.064] inherits <- base::inherits [13:11:14.064] invokeRestart <- base::invokeRestart [13:11:14.064] is.null <- base::is.null [13:11:14.064] muffled <- FALSE [13:11:14.064] if (inherits(cond, "message")) { [13:11:14.064] muffled <- grepl(pattern, "muffleMessage") [13:11:14.064] if (muffled) [13:11:14.064] invokeRestart("muffleMessage") [13:11:14.064] } [13:11:14.064] else if (inherits(cond, "warning")) { [13:11:14.064] muffled <- grepl(pattern, "muffleWarning") [13:11:14.064] if (muffled) [13:11:14.064] invokeRestart("muffleWarning") [13:11:14.064] } [13:11:14.064] else if (inherits(cond, "condition")) { [13:11:14.064] if (!is.null(pattern)) { [13:11:14.064] computeRestarts <- base::computeRestarts [13:11:14.064] grepl <- base::grepl [13:11:14.064] restarts <- computeRestarts(cond) [13:11:14.064] for (restart in restarts) { [13:11:14.064] name <- restart$name [13:11:14.064] if (is.null(name)) [13:11:14.064] next [13:11:14.064] if (!grepl(pattern, name)) [13:11:14.064] next [13:11:14.064] invokeRestart(restart) [13:11:14.064] muffled <- TRUE [13:11:14.064] break [13:11:14.064] } [13:11:14.064] } [13:11:14.064] } [13:11:14.064] invisible(muffled) [13:11:14.064] } [13:11:14.064] muffleCondition(cond, pattern = "^muffle") [13:11:14.064] } [13:11:14.064] } [13:11:14.064] else { [13:11:14.064] if (TRUE) { [13:11:14.064] muffleCondition <- function (cond, pattern = "^muffle") [13:11:14.064] { [13:11:14.064] inherits <- base::inherits [13:11:14.064] invokeRestart <- base::invokeRestart [13:11:14.064] is.null <- base::is.null [13:11:14.064] muffled <- FALSE [13:11:14.064] if (inherits(cond, "message")) { [13:11:14.064] muffled <- grepl(pattern, "muffleMessage") [13:11:14.064] if (muffled) [13:11:14.064] invokeRestart("muffleMessage") [13:11:14.064] } [13:11:14.064] else if (inherits(cond, "warning")) { [13:11:14.064] muffled <- grepl(pattern, "muffleWarning") [13:11:14.064] if (muffled) [13:11:14.064] invokeRestart("muffleWarning") [13:11:14.064] } [13:11:14.064] else if (inherits(cond, "condition")) { [13:11:14.064] if (!is.null(pattern)) { [13:11:14.064] computeRestarts <- base::computeRestarts [13:11:14.064] grepl <- base::grepl [13:11:14.064] restarts <- computeRestarts(cond) [13:11:14.064] for (restart in restarts) { [13:11:14.064] name <- restart$name [13:11:14.064] if (is.null(name)) [13:11:14.064] next [13:11:14.064] if (!grepl(pattern, name)) [13:11:14.064] next [13:11:14.064] invokeRestart(restart) [13:11:14.064] muffled <- TRUE [13:11:14.064] break [13:11:14.064] } [13:11:14.064] } [13:11:14.064] } [13:11:14.064] invisible(muffled) [13:11:14.064] } [13:11:14.064] muffleCondition(cond, pattern = "^muffle") [13:11:14.064] } [13:11:14.064] } [13:11:14.064] } [13:11:14.064] })) [13:11:14.064] }, error = function(ex) { [13:11:14.064] base::structure(base::list(value = NULL, visible = NULL, [13:11:14.064] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:11:14.064] ...future.rng), started = ...future.startTime, [13:11:14.064] finished = Sys.time(), session_uuid = NA_character_, [13:11:14.064] version = "1.8"), class = "FutureResult") [13:11:14.064] }, finally = { [13:11:14.064] if (!identical(...future.workdir, getwd())) [13:11:14.064] setwd(...future.workdir) [13:11:14.064] { [13:11:14.064] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:11:14.064] ...future.oldOptions$nwarnings <- NULL [13:11:14.064] } [13:11:14.064] base::options(...future.oldOptions) [13:11:14.064] if (.Platform$OS.type == "windows") { [13:11:14.064] old_names <- names(...future.oldEnvVars) [13:11:14.064] envs <- base::Sys.getenv() [13:11:14.064] names <- names(envs) [13:11:14.064] common <- intersect(names, old_names) [13:11:14.064] added <- setdiff(names, old_names) [13:11:14.064] removed <- setdiff(old_names, names) [13:11:14.064] changed <- common[...future.oldEnvVars[common] != [13:11:14.064] envs[common]] [13:11:14.064] NAMES <- toupper(changed) [13:11:14.064] args <- list() [13:11:14.064] for (kk in seq_along(NAMES)) { [13:11:14.064] name <- changed[[kk]] [13:11:14.064] NAME <- NAMES[[kk]] [13:11:14.064] if (name != NAME && is.element(NAME, old_names)) [13:11:14.064] next [13:11:14.064] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:14.064] } [13:11:14.064] NAMES <- toupper(added) [13:11:14.064] for (kk in seq_along(NAMES)) { [13:11:14.064] name <- added[[kk]] [13:11:14.064] NAME <- NAMES[[kk]] [13:11:14.064] if (name != NAME && is.element(NAME, old_names)) [13:11:14.064] next [13:11:14.064] args[[name]] <- "" [13:11:14.064] } [13:11:14.064] NAMES <- toupper(removed) [13:11:14.064] for (kk in seq_along(NAMES)) { [13:11:14.064] name <- removed[[kk]] [13:11:14.064] NAME <- NAMES[[kk]] [13:11:14.064] if (name != NAME && is.element(NAME, old_names)) [13:11:14.064] next [13:11:14.064] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:14.064] } [13:11:14.064] if (length(args) > 0) [13:11:14.064] base::do.call(base::Sys.setenv, args = args) [13:11:14.064] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:11:14.064] } [13:11:14.064] else { [13:11:14.064] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:11:14.064] } [13:11:14.064] { [13:11:14.064] if (base::length(...future.futureOptionsAdded) > [13:11:14.064] 0L) { [13:11:14.064] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:11:14.064] base::names(opts) <- ...future.futureOptionsAdded [13:11:14.064] base::options(opts) [13:11:14.064] } [13:11:14.064] { [13:11:14.064] NULL [13:11:14.064] options(future.plan = NULL) [13:11:14.064] if (is.na(NA_character_)) [13:11:14.064] Sys.unsetenv("R_FUTURE_PLAN") [13:11:14.064] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:11:14.064] future::plan(...future.strategy.old, .cleanup = FALSE, [13:11:14.064] .init = FALSE) [13:11:14.064] } [13:11:14.064] } [13:11:14.064] } [13:11:14.064] }) [13:11:14.064] if (TRUE) { [13:11:14.064] base::sink(type = "output", split = FALSE) [13:11:14.064] if (TRUE) { [13:11:14.064] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:11:14.064] } [13:11:14.064] else { [13:11:14.064] ...future.result["stdout"] <- base::list(NULL) [13:11:14.064] } [13:11:14.064] base::close(...future.stdout) [13:11:14.064] ...future.stdout <- NULL [13:11:14.064] } [13:11:14.064] ...future.result$conditions <- ...future.conditions [13:11:14.064] ...future.result$finished <- base::Sys.time() [13:11:14.064] ...future.result [13:11:14.064] } [13:11:14.068] - Launch lazy future ... done [13:11:14.068] run() for 'MiraiFuture' ... done List of 11 $ value : int 42 $ visible : logi TRUE $ stdout : chr " [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25\n[26] 26 27 28 29 30 31 32 33 3"| __truncated__ $ conditions : list() $ rng : logi FALSE $ globalenv : NULL $ started : POSIXct[1:1], format: "2024-04-16 13:11:14" $ finished : POSIXct[1:1], format: "2024-04-16 13:11:14" $ session_uuid: chr "2b09bb46-4a2b-e254-e9ad-b957726e71c1" ..- attr(*, "source")=List of 5 .. ..$ host : Named chr "CRANWIN3" .. .. ..- attr(*, "names")= chr "COMPUTERNAME" .. ..$ info : Named chr [1:8] "Windows" "Server x64" "build 20348" "CRANWIN3" ... .. .. ..- attr(*, "names")= chr [1:8] "sysname" "release" "version" "nodename" ... .. ..$ pid : int 34336 .. ..$ time : POSIXct[1:1], format: "2024-04-16 13:11:13" .. ..$ random: int 2147483647 $ r_info :List of 4 ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 .. ..$ : int [1:3] 4 4 0 ..$ os : chr "windows" ..$ os_name : chr "Windows" ..$ captures_utf8: logi TRUE $ version : chr "1.8" - attr(*, "class")= chr "FutureResult" [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 int [1:50] 1 2 3 4 5 6 7 8 9 10 ... a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z1 2 3 4 5 6 "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species" "1" 5.1 3.5 1.4 0.2 "setosa" "2" 4.9 3 1.4 0.2 "setosa" "3" 4.7 3.2 1.3 0.2 "setosa" "4" 4.6 3.1 1.5 0.2 "setosa" "5" 5 3.6 1.4 0.2 "setosa" "6" 5.4 3.9 1.7 0.4 "setosa" "7" 4.6 3.4 1.4 0.3 "setosa" "8" 5 3.4 1.5 0.2 "setosa" "9" 4.4 2.9 1.4 0.2 "setosa" "10" 4.9 3.1 1.5 0.1 "setosa" FutureResult: value: 'integer' visible: TRUE stdout: character conditions: [n = 0] RNG used: FALSE duration: 0.006123066 secs (started 2024-04-16 13:11:14.068613) version: 1.8 [13:11:14.087] getGlobalsAndPackages() ... [13:11:14.087] Searching for globals... [13:11:14.091] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:11:14.091] Searching for globals ... DONE [13:11:14.091] Resolving globals: FALSE [13:11:14.092] [13:11:14.092] - packages: [1] 'utils' [13:11:14.092] getGlobalsAndPackages() ... DONE [13:11:14.092] run() for 'Future' ... [13:11:14.093] - state: 'created' [13:11:14.093] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:11:14.095] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:11:14.096] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:11:14.096] - Field: 'label' [13:11:14.096] - Field: 'local' [13:11:14.097] - Field: 'owner' [13:11:14.097] - Field: 'envir' [13:11:14.097] - Field: 'packages' [13:11:14.097] - Field: 'gc' [13:11:14.097] - Field: 'conditions' [13:11:14.097] - Field: 'expr' [13:11:14.098] - Field: 'uuid' [13:11:14.098] - Field: 'seed' [13:11:14.098] - Field: 'version' [13:11:14.098] - Field: 'result' [13:11:14.098] - Field: 'asynchronous' [13:11:14.098] - Field: 'calls' [13:11:14.099] - Field: 'globals' [13:11:14.099] - Field: 'stdout' [13:11:14.099] - Field: 'earlySignal' [13:11:14.099] - Field: 'lazy' [13:11:14.099] - Field: 'state' [13:11:14.099] - Field: '.cluster' [13:11:14.100] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:11:14.100] - Launch lazy future ... [13:11:14.100] Packages needed by the future expression (n = 1): 'utils' [13:11:14.100] Packages needed by future strategies (n = 0): [13:11:14.101] { [13:11:14.101] { [13:11:14.101] { [13:11:14.101] ...future.startTime <- base::Sys.time() [13:11:14.101] { [13:11:14.101] { [13:11:14.101] { [13:11:14.101] { [13:11:14.101] base::local({ [13:11:14.101] has_future <- base::requireNamespace("future", [13:11:14.101] quietly = TRUE) [13:11:14.101] if (has_future) { [13:11:14.101] ns <- base::getNamespace("future") [13:11:14.101] version <- ns[[".package"]][["version"]] [13:11:14.101] if (is.null(version)) [13:11:14.101] version <- utils::packageVersion("future") [13:11:14.101] } [13:11:14.101] else { [13:11:14.101] version <- NULL [13:11:14.101] } [13:11:14.101] if (!has_future || version < "1.8.0") { [13:11:14.101] info <- base::c(r_version = base::gsub("R version ", [13:11:14.101] "", base::R.version$version.string), [13:11:14.101] platform = base::sprintf("%s (%s-bit)", [13:11:14.101] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:11:14.101] os = base::paste(base::Sys.info()[base::c("sysname", [13:11:14.101] "release", "version")], collapse = " "), [13:11:14.101] hostname = base::Sys.info()[["nodename"]]) [13:11:14.101] info <- base::sprintf("%s: %s", base::names(info), [13:11:14.101] info) [13:11:14.101] info <- base::paste(info, collapse = "; ") [13:11:14.101] if (!has_future) { [13:11:14.101] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:11:14.101] info) [13:11:14.101] } [13:11:14.101] else { [13:11:14.101] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:11:14.101] info, version) [13:11:14.101] } [13:11:14.101] base::stop(msg) [13:11:14.101] } [13:11:14.101] }) [13:11:14.101] } [13:11:14.101] base::local({ [13:11:14.101] for (pkg in "utils") { [13:11:14.101] base::loadNamespace(pkg) [13:11:14.101] base::library(pkg, character.only = TRUE) [13:11:14.101] } [13:11:14.101] }) [13:11:14.101] } [13:11:14.101] ...future.strategy.old <- future::plan("list") [13:11:14.101] options(future.plan = NULL) [13:11:14.101] Sys.unsetenv("R_FUTURE_PLAN") [13:11:14.101] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:11:14.101] } [13:11:14.101] ...future.workdir <- getwd() [13:11:14.101] } [13:11:14.101] ...future.oldOptions <- base::as.list(base::.Options) [13:11:14.101] ...future.oldEnvVars <- base::Sys.getenv() [13:11:14.101] } [13:11:14.101] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:11:14.101] future.globals.maxSize = NULL, future.globals.method = NULL, [13:11:14.101] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:11:14.101] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:11:14.101] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:11:14.101] future.stdout.windows.reencode = NULL, width = 80L) [13:11:14.101] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:11:14.101] base::names(...future.oldOptions)) [13:11:14.101] } [13:11:14.101] if (FALSE) { [13:11:14.101] } [13:11:14.101] else { [13:11:14.101] if (TRUE) { [13:11:14.101] ...future.stdout <- base::rawConnection(base::raw(0L), [13:11:14.101] open = "w") [13:11:14.101] } [13:11:14.101] else { [13:11:14.101] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:11:14.101] windows = "NUL", "/dev/null"), open = "w") [13:11:14.101] } [13:11:14.101] base::sink(...future.stdout, type = "output", split = FALSE) [13:11:14.101] base::on.exit(if (!base::is.null(...future.stdout)) { [13:11:14.101] base::sink(type = "output", split = FALSE) [13:11:14.101] base::close(...future.stdout) [13:11:14.101] }, add = TRUE) [13:11:14.101] } [13:11:14.101] ...future.frame <- base::sys.nframe() [13:11:14.101] ...future.conditions <- base::list() [13:11:14.101] ...future.rng <- base::globalenv()$.Random.seed [13:11:14.101] if (FALSE) { [13:11:14.101] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:11:14.101] "...future.value", "...future.globalenv.names", ".Random.seed") [13:11:14.101] } [13:11:14.101] ...future.result <- base::tryCatch({ [13:11:14.101] base::withCallingHandlers({ [13:11:14.101] ...future.value <- base::withVisible(base::local({ [13:11:14.101] print(1:50) [13:11:14.101] str(1:50) [13:11:14.101] cat(letters, sep = "-") [13:11:14.101] cat(1:6, collapse = "\n") [13:11:14.101] write.table(datasets::iris[1:10, ], sep = "\t") [13:11:14.101] 42L [13:11:14.101] })) [13:11:14.101] future::FutureResult(value = ...future.value$value, [13:11:14.101] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:11:14.101] ...future.rng), globalenv = if (FALSE) [13:11:14.101] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:11:14.101] ...future.globalenv.names)) [13:11:14.101] else NULL, started = ...future.startTime, version = "1.8") [13:11:14.101] }, condition = base::local({ [13:11:14.101] c <- base::c [13:11:14.101] inherits <- base::inherits [13:11:14.101] invokeRestart <- base::invokeRestart [13:11:14.101] length <- base::length [13:11:14.101] list <- base::list [13:11:14.101] seq.int <- base::seq.int [13:11:14.101] signalCondition <- base::signalCondition [13:11:14.101] sys.calls <- base::sys.calls [13:11:14.101] `[[` <- base::`[[` [13:11:14.101] `+` <- base::`+` [13:11:14.101] `<<-` <- base::`<<-` [13:11:14.101] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:11:14.101] calls[seq.int(from = from + 12L, to = length(calls) - [13:11:14.101] 3L)] [13:11:14.101] } [13:11:14.101] function(cond) { [13:11:14.101] is_error <- inherits(cond, "error") [13:11:14.101] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:11:14.101] NULL) [13:11:14.101] if (is_error) { [13:11:14.101] sessionInformation <- function() { [13:11:14.101] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:11:14.101] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:11:14.101] search = base::search(), system = base::Sys.info()) [13:11:14.101] } [13:11:14.101] ...future.conditions[[length(...future.conditions) + [13:11:14.101] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:11:14.101] cond$call), session = sessionInformation(), [13:11:14.101] timestamp = base::Sys.time(), signaled = 0L) [13:11:14.101] signalCondition(cond) [13:11:14.101] } [13:11:14.101] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:11:14.101] signal <- FALSE && inherits(cond, character(0)) [13:11:14.101] ...future.conditions[[length(...future.conditions) + [13:11:14.101] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:11:14.101] if (FALSE && !signal) { [13:11:14.101] muffleCondition <- function (cond, pattern = "^muffle") [13:11:14.101] { [13:11:14.101] inherits <- base::inherits [13:11:14.101] invokeRestart <- base::invokeRestart [13:11:14.101] is.null <- base::is.null [13:11:14.101] muffled <- FALSE [13:11:14.101] if (inherits(cond, "message")) { [13:11:14.101] muffled <- grepl(pattern, "muffleMessage") [13:11:14.101] if (muffled) [13:11:14.101] invokeRestart("muffleMessage") [13:11:14.101] } [13:11:14.101] else if (inherits(cond, "warning")) { [13:11:14.101] muffled <- grepl(pattern, "muffleWarning") [13:11:14.101] if (muffled) [13:11:14.101] invokeRestart("muffleWarning") [13:11:14.101] } [13:11:14.101] else if (inherits(cond, "condition")) { [13:11:14.101] if (!is.null(pattern)) { [13:11:14.101] computeRestarts <- base::computeRestarts [13:11:14.101] grepl <- base::grepl [13:11:14.101] restarts <- computeRestarts(cond) [13:11:14.101] for (restart in restarts) { [13:11:14.101] name <- restart$name [13:11:14.101] if (is.null(name)) [13:11:14.101] next [13:11:14.101] if (!grepl(pattern, name)) [13:11:14.101] next [13:11:14.101] invokeRestart(restart) [13:11:14.101] muffled <- TRUE [13:11:14.101] break [13:11:14.101] } [13:11:14.101] } [13:11:14.101] } [13:11:14.101] invisible(muffled) [13:11:14.101] } [13:11:14.101] muffleCondition(cond, pattern = "^muffle") [13:11:14.101] } [13:11:14.101] } [13:11:14.101] else { [13:11:14.101] if (TRUE) { [13:11:14.101] muffleCondition <- function (cond, pattern = "^muffle") [13:11:14.101] { [13:11:14.101] inherits <- base::inherits [13:11:14.101] invokeRestart <- base::invokeRestart [13:11:14.101] is.null <- base::is.null [13:11:14.101] muffled <- FALSE [13:11:14.101] if (inherits(cond, "message")) { [13:11:14.101] muffled <- grepl(pattern, "muffleMessage") [13:11:14.101] if (muffled) [13:11:14.101] invokeRestart("muffleMessage") [13:11:14.101] } [13:11:14.101] else if (inherits(cond, "warning")) { [13:11:14.101] muffled <- grepl(pattern, "muffleWarning") [13:11:14.101] if (muffled) [13:11:14.101] invokeRestart("muffleWarning") [13:11:14.101] } [13:11:14.101] else if (inherits(cond, "condition")) { [13:11:14.101] if (!is.null(pattern)) { [13:11:14.101] computeRestarts <- base::computeRestarts [13:11:14.101] grepl <- base::grepl [13:11:14.101] restarts <- computeRestarts(cond) [13:11:14.101] for (restart in restarts) { [13:11:14.101] name <- restart$name [13:11:14.101] if (is.null(name)) [13:11:14.101] next [13:11:14.101] if (!grepl(pattern, name)) [13:11:14.101] next [13:11:14.101] invokeRestart(restart) [13:11:14.101] muffled <- TRUE [13:11:14.101] break [13:11:14.101] } [13:11:14.101] } [13:11:14.101] } [13:11:14.101] invisible(muffled) [13:11:14.101] } [13:11:14.101] muffleCondition(cond, pattern = "^muffle") [13:11:14.101] } [13:11:14.101] } [13:11:14.101] } [13:11:14.101] })) [13:11:14.101] }, error = function(ex) { [13:11:14.101] base::structure(base::list(value = NULL, visible = NULL, [13:11:14.101] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:11:14.101] ...future.rng), started = ...future.startTime, [13:11:14.101] finished = Sys.time(), session_uuid = NA_character_, [13:11:14.101] version = "1.8"), class = "FutureResult") [13:11:14.101] }, finally = { [13:11:14.101] if (!identical(...future.workdir, getwd())) [13:11:14.101] setwd(...future.workdir) [13:11:14.101] { [13:11:14.101] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:11:14.101] ...future.oldOptions$nwarnings <- NULL [13:11:14.101] } [13:11:14.101] base::options(...future.oldOptions) [13:11:14.101] if (.Platform$OS.type == "windows") { [13:11:14.101] old_names <- names(...future.oldEnvVars) [13:11:14.101] envs <- base::Sys.getenv() [13:11:14.101] names <- names(envs) [13:11:14.101] common <- intersect(names, old_names) [13:11:14.101] added <- setdiff(names, old_names) [13:11:14.101] removed <- setdiff(old_names, names) [13:11:14.101] changed <- common[...future.oldEnvVars[common] != [13:11:14.101] envs[common]] [13:11:14.101] NAMES <- toupper(changed) [13:11:14.101] args <- list() [13:11:14.101] for (kk in seq_along(NAMES)) { [13:11:14.101] name <- changed[[kk]] [13:11:14.101] NAME <- NAMES[[kk]] [13:11:14.101] if (name != NAME && is.element(NAME, old_names)) [13:11:14.101] next [13:11:14.101] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:14.101] } [13:11:14.101] NAMES <- toupper(added) [13:11:14.101] for (kk in seq_along(NAMES)) { [13:11:14.101] name <- added[[kk]] [13:11:14.101] NAME <- NAMES[[kk]] [13:11:14.101] if (name != NAME && is.element(NAME, old_names)) [13:11:14.101] next [13:11:14.101] args[[name]] <- "" [13:11:14.101] } [13:11:14.101] NAMES <- toupper(removed) [13:11:14.101] for (kk in seq_along(NAMES)) { [13:11:14.101] name <- removed[[kk]] [13:11:14.101] NAME <- NAMES[[kk]] [13:11:14.101] if (name != NAME && is.element(NAME, old_names)) [13:11:14.101] next [13:11:14.101] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:14.101] } [13:11:14.101] if (length(args) > 0) [13:11:14.101] base::do.call(base::Sys.setenv, args = args) [13:11:14.101] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:11:14.101] } [13:11:14.101] else { [13:11:14.101] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:11:14.101] } [13:11:14.101] { [13:11:14.101] if (base::length(...future.futureOptionsAdded) > [13:11:14.101] 0L) { [13:11:14.101] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:11:14.101] base::names(opts) <- ...future.futureOptionsAdded [13:11:14.101] base::options(opts) [13:11:14.101] } [13:11:14.101] { [13:11:14.101] NULL [13:11:14.101] options(future.plan = NULL) [13:11:14.101] if (is.na(NA_character_)) [13:11:14.101] Sys.unsetenv("R_FUTURE_PLAN") [13:11:14.101] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:11:14.101] future::plan(...future.strategy.old, .cleanup = FALSE, [13:11:14.101] .init = FALSE) [13:11:14.101] } [13:11:14.101] } [13:11:14.101] } [13:11:14.101] }) [13:11:14.101] if (TRUE) { [13:11:14.101] base::sink(type = "output", split = FALSE) [13:11:14.101] if (TRUE) { [13:11:14.101] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:11:14.101] } [13:11:14.101] else { [13:11:14.101] ...future.result["stdout"] <- base::list(NULL) [13:11:14.101] } [13:11:14.101] base::close(...future.stdout) [13:11:14.101] ...future.stdout <- NULL [13:11:14.101] } [13:11:14.101] ...future.result$conditions <- ...future.conditions [13:11:14.101] ...future.result$finished <- base::Sys.time() [13:11:14.101] ...future.result [13:11:14.101] } [13:11:14.105] - Launch lazy future ... done [13:11:14.105] run() for 'MiraiFuture' ... done [1] " [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25" [2] "[26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50" [3] " int [1:50] 1 2 3 4 5 6 7 8 9 10 ..." [4] "a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z1 2 3 4 5 6 " [5] "\"Sepal.Length\"\t\"Sepal.Width\"\t\"Petal.Length\"\t\"Petal.Width\"\t\"Species\"" [6] "\"1\"\t5.1\t3.5\t1.4\t0.2\t\"setosa\"" [7] "\"2\"\t4.9\t3\t1.4\t0.2\t\"setosa\"" [8] "\"3\"\t4.7\t3.2\t1.3\t0.2\t\"setosa\"" [9] "\"4\"\t4.6\t3.1\t1.5\t0.2\t\"setosa\"" [10] "\"5\"\t5\t3.6\t1.4\t0.2\t\"setosa\"" [11] "\"6\"\t5.4\t3.9\t1.7\t0.4\t\"setosa\"" [12] "\"7\"\t4.6\t3.4\t1.4\t0.3\t\"setosa\"" [13] "\"8\"\t5\t3.4\t1.5\t0.2\t\"setosa\"" [14] "\"9\"\t4.4\t2.9\t1.4\t0.2\t\"setosa\"" [15] "\"10\"\t4.9\t3.1\t1.5\t0.1\t\"setosa\"" - stdout = FALSE [13:11:14.112] getGlobalsAndPackages() ... [13:11:14.112] Searching for globals... [13:11:14.115] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:11:14.116] Searching for globals ... DONE [13:11:14.117] Resolving globals: FALSE [13:11:14.118] [13:11:14.118] - packages: [1] 'utils' [13:11:14.118] getGlobalsAndPackages() ... DONE [13:11:14.118] run() for 'Future' ... [13:11:14.118] - state: 'created' [13:11:14.119] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:11:14.121] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:11:14.121] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:11:14.121] - Field: 'label' [13:11:14.121] - Field: 'local' [13:11:14.122] - Field: 'owner' [13:11:14.122] - Field: 'envir' [13:11:14.122] - Field: 'packages' [13:11:14.122] - Field: 'gc' [13:11:14.122] - Field: 'conditions' [13:11:14.123] - Field: 'expr' [13:11:14.123] - Field: 'uuid' [13:11:14.123] - Field: 'seed' [13:11:14.123] - Field: 'version' [13:11:14.123] - Field: 'result' [13:11:14.123] - Field: 'asynchronous' [13:11:14.124] - Field: 'calls' [13:11:14.124] - Field: 'globals' [13:11:14.124] - Field: 'stdout' [13:11:14.124] - Field: 'earlySignal' [13:11:14.124] - Field: 'lazy' [13:11:14.124] - Field: 'state' [13:11:14.125] - Field: '.cluster' [13:11:14.125] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:11:14.125] - Launch lazy future ... [13:11:14.125] Packages needed by the future expression (n = 1): 'utils' [13:11:14.125] Packages needed by future strategies (n = 0): [13:11:14.126] { [13:11:14.126] { [13:11:14.126] { [13:11:14.126] ...future.startTime <- base::Sys.time() [13:11:14.126] { [13:11:14.126] { [13:11:14.126] { [13:11:14.126] { [13:11:14.126] base::local({ [13:11:14.126] has_future <- base::requireNamespace("future", [13:11:14.126] quietly = TRUE) [13:11:14.126] if (has_future) { [13:11:14.126] ns <- base::getNamespace("future") [13:11:14.126] version <- ns[[".package"]][["version"]] [13:11:14.126] if (is.null(version)) [13:11:14.126] version <- utils::packageVersion("future") [13:11:14.126] } [13:11:14.126] else { [13:11:14.126] version <- NULL [13:11:14.126] } [13:11:14.126] if (!has_future || version < "1.8.0") { [13:11:14.126] info <- base::c(r_version = base::gsub("R version ", [13:11:14.126] "", base::R.version$version.string), [13:11:14.126] platform = base::sprintf("%s (%s-bit)", [13:11:14.126] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:11:14.126] os = base::paste(base::Sys.info()[base::c("sysname", [13:11:14.126] "release", "version")], collapse = " "), [13:11:14.126] hostname = base::Sys.info()[["nodename"]]) [13:11:14.126] info <- base::sprintf("%s: %s", base::names(info), [13:11:14.126] info) [13:11:14.126] info <- base::paste(info, collapse = "; ") [13:11:14.126] if (!has_future) { [13:11:14.126] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:11:14.126] info) [13:11:14.126] } [13:11:14.126] else { [13:11:14.126] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:11:14.126] info, version) [13:11:14.126] } [13:11:14.126] base::stop(msg) [13:11:14.126] } [13:11:14.126] }) [13:11:14.126] } [13:11:14.126] base::local({ [13:11:14.126] for (pkg in "utils") { [13:11:14.126] base::loadNamespace(pkg) [13:11:14.126] base::library(pkg, character.only = TRUE) [13:11:14.126] } [13:11:14.126] }) [13:11:14.126] } [13:11:14.126] ...future.strategy.old <- future::plan("list") [13:11:14.126] options(future.plan = NULL) [13:11:14.126] Sys.unsetenv("R_FUTURE_PLAN") [13:11:14.126] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:11:14.126] } [13:11:14.126] ...future.workdir <- getwd() [13:11:14.126] } [13:11:14.126] ...future.oldOptions <- base::as.list(base::.Options) [13:11:14.126] ...future.oldEnvVars <- base::Sys.getenv() [13:11:14.126] } [13:11:14.126] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:11:14.126] future.globals.maxSize = NULL, future.globals.method = NULL, [13:11:14.126] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:11:14.126] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:11:14.126] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:11:14.126] future.stdout.windows.reencode = NULL, width = 80L) [13:11:14.126] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:11:14.126] base::names(...future.oldOptions)) [13:11:14.126] } [13:11:14.126] if (FALSE) { [13:11:14.126] } [13:11:14.126] else { [13:11:14.126] if (FALSE) { [13:11:14.126] ...future.stdout <- base::rawConnection(base::raw(0L), [13:11:14.126] open = "w") [13:11:14.126] } [13:11:14.126] else { [13:11:14.126] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:11:14.126] windows = "NUL", "/dev/null"), open = "w") [13:11:14.126] } [13:11:14.126] base::sink(...future.stdout, type = "output", split = FALSE) [13:11:14.126] base::on.exit(if (!base::is.null(...future.stdout)) { [13:11:14.126] base::sink(type = "output", split = FALSE) [13:11:14.126] base::close(...future.stdout) [13:11:14.126] }, add = TRUE) [13:11:14.126] } [13:11:14.126] ...future.frame <- base::sys.nframe() [13:11:14.126] ...future.conditions <- base::list() [13:11:14.126] ...future.rng <- base::globalenv()$.Random.seed [13:11:14.126] if (FALSE) { [13:11:14.126] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:11:14.126] "...future.value", "...future.globalenv.names", ".Random.seed") [13:11:14.126] } [13:11:14.126] ...future.result <- base::tryCatch({ [13:11:14.126] base::withCallingHandlers({ [13:11:14.126] ...future.value <- base::withVisible(base::local({ [13:11:14.126] print(1:50) [13:11:14.126] str(1:50) [13:11:14.126] cat(letters, sep = "-") [13:11:14.126] cat(1:6, collapse = "\n") [13:11:14.126] write.table(datasets::iris[1:10, ], sep = "\t") [13:11:14.126] 42L [13:11:14.126] })) [13:11:14.126] future::FutureResult(value = ...future.value$value, [13:11:14.126] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:11:14.126] ...future.rng), globalenv = if (FALSE) [13:11:14.126] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:11:14.126] ...future.globalenv.names)) [13:11:14.126] else NULL, started = ...future.startTime, version = "1.8") [13:11:14.126] }, condition = base::local({ [13:11:14.126] c <- base::c [13:11:14.126] inherits <- base::inherits [13:11:14.126] invokeRestart <- base::invokeRestart [13:11:14.126] length <- base::length [13:11:14.126] list <- base::list [13:11:14.126] seq.int <- base::seq.int [13:11:14.126] signalCondition <- base::signalCondition [13:11:14.126] sys.calls <- base::sys.calls [13:11:14.126] `[[` <- base::`[[` [13:11:14.126] `+` <- base::`+` [13:11:14.126] `<<-` <- base::`<<-` [13:11:14.126] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:11:14.126] calls[seq.int(from = from + 12L, to = length(calls) - [13:11:14.126] 3L)] [13:11:14.126] } [13:11:14.126] function(cond) { [13:11:14.126] is_error <- inherits(cond, "error") [13:11:14.126] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:11:14.126] NULL) [13:11:14.126] if (is_error) { [13:11:14.126] sessionInformation <- function() { [13:11:14.126] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:11:14.126] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:11:14.126] search = base::search(), system = base::Sys.info()) [13:11:14.126] } [13:11:14.126] ...future.conditions[[length(...future.conditions) + [13:11:14.126] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:11:14.126] cond$call), session = sessionInformation(), [13:11:14.126] timestamp = base::Sys.time(), signaled = 0L) [13:11:14.126] signalCondition(cond) [13:11:14.126] } [13:11:14.126] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:11:14.126] signal <- FALSE && inherits(cond, character(0)) [13:11:14.126] ...future.conditions[[length(...future.conditions) + [13:11:14.126] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:11:14.126] if (FALSE && !signal) { [13:11:14.126] muffleCondition <- function (cond, pattern = "^muffle") [13:11:14.126] { [13:11:14.126] inherits <- base::inherits [13:11:14.126] invokeRestart <- base::invokeRestart [13:11:14.126] is.null <- base::is.null [13:11:14.126] muffled <- FALSE [13:11:14.126] if (inherits(cond, "message")) { [13:11:14.126] muffled <- grepl(pattern, "muffleMessage") [13:11:14.126] if (muffled) [13:11:14.126] invokeRestart("muffleMessage") [13:11:14.126] } [13:11:14.126] else if (inherits(cond, "warning")) { [13:11:14.126] muffled <- grepl(pattern, "muffleWarning") [13:11:14.126] if (muffled) [13:11:14.126] invokeRestart("muffleWarning") [13:11:14.126] } [13:11:14.126] else if (inherits(cond, "condition")) { [13:11:14.126] if (!is.null(pattern)) { [13:11:14.126] computeRestarts <- base::computeRestarts [13:11:14.126] grepl <- base::grepl [13:11:14.126] restarts <- computeRestarts(cond) [13:11:14.126] for (restart in restarts) { [13:11:14.126] name <- restart$name [13:11:14.126] if (is.null(name)) [13:11:14.126] next [13:11:14.126] if (!grepl(pattern, name)) [13:11:14.126] next [13:11:14.126] invokeRestart(restart) [13:11:14.126] muffled <- TRUE [13:11:14.126] break [13:11:14.126] } [13:11:14.126] } [13:11:14.126] } [13:11:14.126] invisible(muffled) [13:11:14.126] } [13:11:14.126] muffleCondition(cond, pattern = "^muffle") [13:11:14.126] } [13:11:14.126] } [13:11:14.126] else { [13:11:14.126] if (TRUE) { [13:11:14.126] muffleCondition <- function (cond, pattern = "^muffle") [13:11:14.126] { [13:11:14.126] inherits <- base::inherits [13:11:14.126] invokeRestart <- base::invokeRestart [13:11:14.126] is.null <- base::is.null [13:11:14.126] muffled <- FALSE [13:11:14.126] if (inherits(cond, "message")) { [13:11:14.126] muffled <- grepl(pattern, "muffleMessage") [13:11:14.126] if (muffled) [13:11:14.126] invokeRestart("muffleMessage") [13:11:14.126] } [13:11:14.126] else if (inherits(cond, "warning")) { [13:11:14.126] muffled <- grepl(pattern, "muffleWarning") [13:11:14.126] if (muffled) [13:11:14.126] invokeRestart("muffleWarning") [13:11:14.126] } [13:11:14.126] else if (inherits(cond, "condition")) { [13:11:14.126] if (!is.null(pattern)) { [13:11:14.126] computeRestarts <- base::computeRestarts [13:11:14.126] grepl <- base::grepl [13:11:14.126] restarts <- computeRestarts(cond) [13:11:14.126] for (restart in restarts) { [13:11:14.126] name <- restart$name [13:11:14.126] if (is.null(name)) [13:11:14.126] next [13:11:14.126] if (!grepl(pattern, name)) [13:11:14.126] next [13:11:14.126] invokeRestart(restart) [13:11:14.126] muffled <- TRUE [13:11:14.126] break [13:11:14.126] } [13:11:14.126] } [13:11:14.126] } [13:11:14.126] invisible(muffled) [13:11:14.126] } [13:11:14.126] muffleCondition(cond, pattern = "^muffle") [13:11:14.126] } [13:11:14.126] } [13:11:14.126] } [13:11:14.126] })) [13:11:14.126] }, error = function(ex) { [13:11:14.126] base::structure(base::list(value = NULL, visible = NULL, [13:11:14.126] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:11:14.126] ...future.rng), started = ...future.startTime, [13:11:14.126] finished = Sys.time(), session_uuid = NA_character_, [13:11:14.126] version = "1.8"), class = "FutureResult") [13:11:14.126] }, finally = { [13:11:14.126] if (!identical(...future.workdir, getwd())) [13:11:14.126] setwd(...future.workdir) [13:11:14.126] { [13:11:14.126] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:11:14.126] ...future.oldOptions$nwarnings <- NULL [13:11:14.126] } [13:11:14.126] base::options(...future.oldOptions) [13:11:14.126] if (.Platform$OS.type == "windows") { [13:11:14.126] old_names <- names(...future.oldEnvVars) [13:11:14.126] envs <- base::Sys.getenv() [13:11:14.126] names <- names(envs) [13:11:14.126] common <- intersect(names, old_names) [13:11:14.126] added <- setdiff(names, old_names) [13:11:14.126] removed <- setdiff(old_names, names) [13:11:14.126] changed <- common[...future.oldEnvVars[common] != [13:11:14.126] envs[common]] [13:11:14.126] NAMES <- toupper(changed) [13:11:14.126] args <- list() [13:11:14.126] for (kk in seq_along(NAMES)) { [13:11:14.126] name <- changed[[kk]] [13:11:14.126] NAME <- NAMES[[kk]] [13:11:14.126] if (name != NAME && is.element(NAME, old_names)) [13:11:14.126] next [13:11:14.126] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:14.126] } [13:11:14.126] NAMES <- toupper(added) [13:11:14.126] for (kk in seq_along(NAMES)) { [13:11:14.126] name <- added[[kk]] [13:11:14.126] NAME <- NAMES[[kk]] [13:11:14.126] if (name != NAME && is.element(NAME, old_names)) [13:11:14.126] next [13:11:14.126] args[[name]] <- "" [13:11:14.126] } [13:11:14.126] NAMES <- toupper(removed) [13:11:14.126] for (kk in seq_along(NAMES)) { [13:11:14.126] name <- removed[[kk]] [13:11:14.126] NAME <- NAMES[[kk]] [13:11:14.126] if (name != NAME && is.element(NAME, old_names)) [13:11:14.126] next [13:11:14.126] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:14.126] } [13:11:14.126] if (length(args) > 0) [13:11:14.126] base::do.call(base::Sys.setenv, args = args) [13:11:14.126] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:11:14.126] } [13:11:14.126] else { [13:11:14.126] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:11:14.126] } [13:11:14.126] { [13:11:14.126] if (base::length(...future.futureOptionsAdded) > [13:11:14.126] 0L) { [13:11:14.126] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:11:14.126] base::names(opts) <- ...future.futureOptionsAdded [13:11:14.126] base::options(opts) [13:11:14.126] } [13:11:14.126] { [13:11:14.126] NULL [13:11:14.126] options(future.plan = NULL) [13:11:14.126] if (is.na(NA_character_)) [13:11:14.126] Sys.unsetenv("R_FUTURE_PLAN") [13:11:14.126] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:11:14.126] future::plan(...future.strategy.old, .cleanup = FALSE, [13:11:14.126] .init = FALSE) [13:11:14.126] } [13:11:14.126] } [13:11:14.126] } [13:11:14.126] }) [13:11:14.126] if (TRUE) { [13:11:14.126] base::sink(type = "output", split = FALSE) [13:11:14.126] if (FALSE) { [13:11:14.126] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:11:14.126] } [13:11:14.126] else { [13:11:14.126] ...future.result["stdout"] <- base::list(NULL) [13:11:14.126] } [13:11:14.126] base::close(...future.stdout) [13:11:14.126] ...future.stdout <- NULL [13:11:14.126] } [13:11:14.126] ...future.result$conditions <- ...future.conditions [13:11:14.126] ...future.result$finished <- base::Sys.time() [13:11:14.126] ...future.result [13:11:14.126] } [13:11:14.130] - Launch lazy future ... done [13:11:14.130] run() for 'MiraiFuture' ... done List of 11 $ value : int 42 $ visible : logi TRUE $ stdout : NULL $ conditions : list() $ rng : logi FALSE $ globalenv : NULL $ started : POSIXct[1:1], format: "2024-04-16 13:11:14" $ finished : POSIXct[1:1], format: "2024-04-16 13:11:14" $ session_uuid: chr "2b09bb46-4a2b-e254-e9ad-b957726e71c1" ..- attr(*, "source")=List of 5 .. ..$ host : Named chr "CRANWIN3" .. .. ..- attr(*, "names")= chr "COMPUTERNAME" .. ..$ info : Named chr [1:8] "Windows" "Server x64" "build 20348" "CRANWIN3" ... .. .. ..- attr(*, "names")= chr [1:8] "sysname" "release" "version" "nodename" ... .. ..$ pid : int 34336 .. ..$ time : POSIXct[1:1], format: "2024-04-16 13:11:13" .. ..$ random: int 2147483647 $ r_info :List of 4 ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 .. ..$ : int [1:3] 4 4 0 ..$ os : chr "windows" ..$ os_name : chr "Windows" ..$ captures_utf8: logi TRUE $ version : chr "1.8" - attr(*, "class")= chr "FutureResult" [13:11:14.143] getGlobalsAndPackages() ... [13:11:14.143] Searching for globals... [13:11:14.146] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:11:14.146] Searching for globals ... DONE [13:11:14.147] Resolving globals: FALSE [13:11:14.148] [13:11:14.148] - packages: [1] 'utils' [13:11:14.148] getGlobalsAndPackages() ... DONE [13:11:14.149] run() for 'Future' ... [13:11:14.149] - state: 'created' [13:11:14.149] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:11:14.151] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:11:14.152] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:11:14.152] - Field: 'label' [13:11:14.152] - Field: 'local' [13:11:14.152] - Field: 'owner' [13:11:14.152] - Field: 'envir' [13:11:14.152] - Field: 'packages' [13:11:14.153] - Field: 'gc' [13:11:14.153] - Field: 'conditions' [13:11:14.153] - Field: 'expr' [13:11:14.153] - Field: 'uuid' [13:11:14.153] - Field: 'seed' [13:11:14.153] - Field: 'version' [13:11:14.154] - Field: 'result' [13:11:14.154] - Field: 'asynchronous' [13:11:14.154] - Field: 'calls' [13:11:14.154] - Field: 'globals' [13:11:14.154] - Field: 'stdout' [13:11:14.154] - Field: 'earlySignal' [13:11:14.155] - Field: 'lazy' [13:11:14.155] - Field: 'state' [13:11:14.155] - Field: '.cluster' [13:11:14.155] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:11:14.155] - Launch lazy future ... [13:11:14.156] Packages needed by the future expression (n = 1): 'utils' [13:11:14.156] Packages needed by future strategies (n = 0): [13:11:14.156] { [13:11:14.156] { [13:11:14.156] { [13:11:14.156] ...future.startTime <- base::Sys.time() [13:11:14.156] { [13:11:14.156] { [13:11:14.156] { [13:11:14.156] { [13:11:14.156] base::local({ [13:11:14.156] has_future <- base::requireNamespace("future", [13:11:14.156] quietly = TRUE) [13:11:14.156] if (has_future) { [13:11:14.156] ns <- base::getNamespace("future") [13:11:14.156] version <- ns[[".package"]][["version"]] [13:11:14.156] if (is.null(version)) [13:11:14.156] version <- utils::packageVersion("future") [13:11:14.156] } [13:11:14.156] else { [13:11:14.156] version <- NULL [13:11:14.156] } [13:11:14.156] if (!has_future || version < "1.8.0") { [13:11:14.156] info <- base::c(r_version = base::gsub("R version ", [13:11:14.156] "", base::R.version$version.string), [13:11:14.156] platform = base::sprintf("%s (%s-bit)", [13:11:14.156] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:11:14.156] os = base::paste(base::Sys.info()[base::c("sysname", [13:11:14.156] "release", "version")], collapse = " "), [13:11:14.156] hostname = base::Sys.info()[["nodename"]]) [13:11:14.156] info <- base::sprintf("%s: %s", base::names(info), [13:11:14.156] info) [13:11:14.156] info <- base::paste(info, collapse = "; ") [13:11:14.156] if (!has_future) { [13:11:14.156] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:11:14.156] info) [13:11:14.156] } [13:11:14.156] else { [13:11:14.156] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:11:14.156] info, version) [13:11:14.156] } [13:11:14.156] base::stop(msg) [13:11:14.156] } [13:11:14.156] }) [13:11:14.156] } [13:11:14.156] base::local({ [13:11:14.156] for (pkg in "utils") { [13:11:14.156] base::loadNamespace(pkg) [13:11:14.156] base::library(pkg, character.only = TRUE) [13:11:14.156] } [13:11:14.156] }) [13:11:14.156] } [13:11:14.156] ...future.strategy.old <- future::plan("list") [13:11:14.156] options(future.plan = NULL) [13:11:14.156] Sys.unsetenv("R_FUTURE_PLAN") [13:11:14.156] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:11:14.156] } [13:11:14.156] ...future.workdir <- getwd() [13:11:14.156] } [13:11:14.156] ...future.oldOptions <- base::as.list(base::.Options) [13:11:14.156] ...future.oldEnvVars <- base::Sys.getenv() [13:11:14.156] } [13:11:14.156] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:11:14.156] future.globals.maxSize = NULL, future.globals.method = NULL, [13:11:14.156] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:11:14.156] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:11:14.156] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:11:14.156] future.stdout.windows.reencode = NULL, width = 80L) [13:11:14.156] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:11:14.156] base::names(...future.oldOptions)) [13:11:14.156] } [13:11:14.156] if (FALSE) { [13:11:14.156] } [13:11:14.156] else { [13:11:14.156] if (FALSE) { [13:11:14.156] ...future.stdout <- base::rawConnection(base::raw(0L), [13:11:14.156] open = "w") [13:11:14.156] } [13:11:14.156] else { [13:11:14.156] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:11:14.156] windows = "NUL", "/dev/null"), open = "w") [13:11:14.156] } [13:11:14.156] base::sink(...future.stdout, type = "output", split = FALSE) [13:11:14.156] base::on.exit(if (!base::is.null(...future.stdout)) { [13:11:14.156] base::sink(type = "output", split = FALSE) [13:11:14.156] base::close(...future.stdout) [13:11:14.156] }, add = TRUE) [13:11:14.156] } [13:11:14.156] ...future.frame <- base::sys.nframe() [13:11:14.156] ...future.conditions <- base::list() [13:11:14.156] ...future.rng <- base::globalenv()$.Random.seed [13:11:14.156] if (FALSE) { [13:11:14.156] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:11:14.156] "...future.value", "...future.globalenv.names", ".Random.seed") [13:11:14.156] } [13:11:14.156] ...future.result <- base::tryCatch({ [13:11:14.156] base::withCallingHandlers({ [13:11:14.156] ...future.value <- base::withVisible(base::local({ [13:11:14.156] print(1:50) [13:11:14.156] str(1:50) [13:11:14.156] cat(letters, sep = "-") [13:11:14.156] cat(1:6, collapse = "\n") [13:11:14.156] write.table(datasets::iris[1:10, ], sep = "\t") [13:11:14.156] 42L [13:11:14.156] })) [13:11:14.156] future::FutureResult(value = ...future.value$value, [13:11:14.156] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:11:14.156] ...future.rng), globalenv = if (FALSE) [13:11:14.156] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:11:14.156] ...future.globalenv.names)) [13:11:14.156] else NULL, started = ...future.startTime, version = "1.8") [13:11:14.156] }, condition = base::local({ [13:11:14.156] c <- base::c [13:11:14.156] inherits <- base::inherits [13:11:14.156] invokeRestart <- base::invokeRestart [13:11:14.156] length <- base::length [13:11:14.156] list <- base::list [13:11:14.156] seq.int <- base::seq.int [13:11:14.156] signalCondition <- base::signalCondition [13:11:14.156] sys.calls <- base::sys.calls [13:11:14.156] `[[` <- base::`[[` [13:11:14.156] `+` <- base::`+` [13:11:14.156] `<<-` <- base::`<<-` [13:11:14.156] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:11:14.156] calls[seq.int(from = from + 12L, to = length(calls) - [13:11:14.156] 3L)] [13:11:14.156] } [13:11:14.156] function(cond) { [13:11:14.156] is_error <- inherits(cond, "error") [13:11:14.156] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:11:14.156] NULL) [13:11:14.156] if (is_error) { [13:11:14.156] sessionInformation <- function() { [13:11:14.156] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:11:14.156] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:11:14.156] search = base::search(), system = base::Sys.info()) [13:11:14.156] } [13:11:14.156] ...future.conditions[[length(...future.conditions) + [13:11:14.156] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:11:14.156] cond$call), session = sessionInformation(), [13:11:14.156] timestamp = base::Sys.time(), signaled = 0L) [13:11:14.156] signalCondition(cond) [13:11:14.156] } [13:11:14.156] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:11:14.156] signal <- FALSE && inherits(cond, character(0)) [13:11:14.156] ...future.conditions[[length(...future.conditions) + [13:11:14.156] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:11:14.156] if (FALSE && !signal) { [13:11:14.156] muffleCondition <- function (cond, pattern = "^muffle") [13:11:14.156] { [13:11:14.156] inherits <- base::inherits [13:11:14.156] invokeRestart <- base::invokeRestart [13:11:14.156] is.null <- base::is.null [13:11:14.156] muffled <- FALSE [13:11:14.156] if (inherits(cond, "message")) { [13:11:14.156] muffled <- grepl(pattern, "muffleMessage") [13:11:14.156] if (muffled) [13:11:14.156] invokeRestart("muffleMessage") [13:11:14.156] } [13:11:14.156] else if (inherits(cond, "warning")) { [13:11:14.156] muffled <- grepl(pattern, "muffleWarning") [13:11:14.156] if (muffled) [13:11:14.156] invokeRestart("muffleWarning") [13:11:14.156] } [13:11:14.156] else if (inherits(cond, "condition")) { [13:11:14.156] if (!is.null(pattern)) { [13:11:14.156] computeRestarts <- base::computeRestarts [13:11:14.156] grepl <- base::grepl [13:11:14.156] restarts <- computeRestarts(cond) [13:11:14.156] for (restart in restarts) { [13:11:14.156] name <- restart$name [13:11:14.156] if (is.null(name)) [13:11:14.156] next [13:11:14.156] if (!grepl(pattern, name)) [13:11:14.156] next [13:11:14.156] invokeRestart(restart) [13:11:14.156] muffled <- TRUE [13:11:14.156] break [13:11:14.156] } [13:11:14.156] } [13:11:14.156] } [13:11:14.156] invisible(muffled) [13:11:14.156] } [13:11:14.156] muffleCondition(cond, pattern = "^muffle") [13:11:14.156] } [13:11:14.156] } [13:11:14.156] else { [13:11:14.156] if (TRUE) { [13:11:14.156] muffleCondition <- function (cond, pattern = "^muffle") [13:11:14.156] { [13:11:14.156] inherits <- base::inherits [13:11:14.156] invokeRestart <- base::invokeRestart [13:11:14.156] is.null <- base::is.null [13:11:14.156] muffled <- FALSE [13:11:14.156] if (inherits(cond, "message")) { [13:11:14.156] muffled <- grepl(pattern, "muffleMessage") [13:11:14.156] if (muffled) [13:11:14.156] invokeRestart("muffleMessage") [13:11:14.156] } [13:11:14.156] else if (inherits(cond, "warning")) { [13:11:14.156] muffled <- grepl(pattern, "muffleWarning") [13:11:14.156] if (muffled) [13:11:14.156] invokeRestart("muffleWarning") [13:11:14.156] } [13:11:14.156] else if (inherits(cond, "condition")) { [13:11:14.156] if (!is.null(pattern)) { [13:11:14.156] computeRestarts <- base::computeRestarts [13:11:14.156] grepl <- base::grepl [13:11:14.156] restarts <- computeRestarts(cond) [13:11:14.156] for (restart in restarts) { [13:11:14.156] name <- restart$name [13:11:14.156] if (is.null(name)) [13:11:14.156] next [13:11:14.156] if (!grepl(pattern, name)) [13:11:14.156] next [13:11:14.156] invokeRestart(restart) [13:11:14.156] muffled <- TRUE [13:11:14.156] break [13:11:14.156] } [13:11:14.156] } [13:11:14.156] } [13:11:14.156] invisible(muffled) [13:11:14.156] } [13:11:14.156] muffleCondition(cond, pattern = "^muffle") [13:11:14.156] } [13:11:14.156] } [13:11:14.156] } [13:11:14.156] })) [13:11:14.156] }, error = function(ex) { [13:11:14.156] base::structure(base::list(value = NULL, visible = NULL, [13:11:14.156] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:11:14.156] ...future.rng), started = ...future.startTime, [13:11:14.156] finished = Sys.time(), session_uuid = NA_character_, [13:11:14.156] version = "1.8"), class = "FutureResult") [13:11:14.156] }, finally = { [13:11:14.156] if (!identical(...future.workdir, getwd())) [13:11:14.156] setwd(...future.workdir) [13:11:14.156] { [13:11:14.156] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:11:14.156] ...future.oldOptions$nwarnings <- NULL [13:11:14.156] } [13:11:14.156] base::options(...future.oldOptions) [13:11:14.156] if (.Platform$OS.type == "windows") { [13:11:14.156] old_names <- names(...future.oldEnvVars) [13:11:14.156] envs <- base::Sys.getenv() [13:11:14.156] names <- names(envs) [13:11:14.156] common <- intersect(names, old_names) [13:11:14.156] added <- setdiff(names, old_names) [13:11:14.156] removed <- setdiff(old_names, names) [13:11:14.156] changed <- common[...future.oldEnvVars[common] != [13:11:14.156] envs[common]] [13:11:14.156] NAMES <- toupper(changed) [13:11:14.156] args <- list() [13:11:14.156] for (kk in seq_along(NAMES)) { [13:11:14.156] name <- changed[[kk]] [13:11:14.156] NAME <- NAMES[[kk]] [13:11:14.156] if (name != NAME && is.element(NAME, old_names)) [13:11:14.156] next [13:11:14.156] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:14.156] } [13:11:14.156] NAMES <- toupper(added) [13:11:14.156] for (kk in seq_along(NAMES)) { [13:11:14.156] name <- added[[kk]] [13:11:14.156] NAME <- NAMES[[kk]] [13:11:14.156] if (name != NAME && is.element(NAME, old_names)) [13:11:14.156] next [13:11:14.156] args[[name]] <- "" [13:11:14.156] } [13:11:14.156] NAMES <- toupper(removed) [13:11:14.156] for (kk in seq_along(NAMES)) { [13:11:14.156] name <- removed[[kk]] [13:11:14.156] NAME <- NAMES[[kk]] [13:11:14.156] if (name != NAME && is.element(NAME, old_names)) [13:11:14.156] next [13:11:14.156] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:14.156] } [13:11:14.156] if (length(args) > 0) [13:11:14.156] base::do.call(base::Sys.setenv, args = args) [13:11:14.156] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:11:14.156] } [13:11:14.156] else { [13:11:14.156] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:11:14.156] } [13:11:14.156] { [13:11:14.156] if (base::length(...future.futureOptionsAdded) > [13:11:14.156] 0L) { [13:11:14.156] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:11:14.156] base::names(opts) <- ...future.futureOptionsAdded [13:11:14.156] base::options(opts) [13:11:14.156] } [13:11:14.156] { [13:11:14.156] NULL [13:11:14.156] options(future.plan = NULL) [13:11:14.156] if (is.na(NA_character_)) [13:11:14.156] Sys.unsetenv("R_FUTURE_PLAN") [13:11:14.156] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:11:14.156] future::plan(...future.strategy.old, .cleanup = FALSE, [13:11:14.156] .init = FALSE) [13:11:14.156] } [13:11:14.156] } [13:11:14.156] } [13:11:14.156] }) [13:11:14.156] if (TRUE) { [13:11:14.156] base::sink(type = "output", split = FALSE) [13:11:14.156] if (FALSE) { [13:11:14.156] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:11:14.156] } [13:11:14.156] else { [13:11:14.156] ...future.result["stdout"] <- base::list(NULL) [13:11:14.156] } [13:11:14.156] base::close(...future.stdout) [13:11:14.156] ...future.stdout <- NULL [13:11:14.156] } [13:11:14.156] ...future.result$conditions <- ...future.conditions [13:11:14.156] ...future.result$finished <- base::Sys.time() [13:11:14.156] ...future.result [13:11:14.156] } [13:11:14.160] - Launch lazy future ... done [13:11:14.160] run() for 'MiraiFuture' ... done - stdout = NA [13:11:14.164] getGlobalsAndPackages() ... [13:11:14.164] Searching for globals... [13:11:14.167] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:11:14.167] Searching for globals ... DONE [13:11:14.168] Resolving globals: FALSE [13:11:14.168] [13:11:14.168] - packages: [1] 'utils' [13:11:14.168] getGlobalsAndPackages() ... DONE [13:11:14.169] run() for 'Future' ... [13:11:14.169] - state: 'created' [13:11:14.169] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:11:14.171] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:11:14.172] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:11:14.172] - Field: 'label' [13:11:14.172] - Field: 'local' [13:11:14.172] - Field: 'owner' [13:11:14.172] - Field: 'envir' [13:11:14.173] - Field: 'packages' [13:11:14.173] - Field: 'gc' [13:11:14.173] - Field: 'conditions' [13:11:14.173] - Field: 'expr' [13:11:14.173] - Field: 'uuid' [13:11:14.173] - Field: 'seed' [13:11:14.174] - Field: 'version' [13:11:14.174] - Field: 'result' [13:11:14.174] - Field: 'asynchronous' [13:11:14.174] - Field: 'calls' [13:11:14.174] - Field: 'globals' [13:11:14.174] - Field: 'stdout' [13:11:14.175] - Field: 'earlySignal' [13:11:14.175] - Field: 'lazy' [13:11:14.175] - Field: 'state' [13:11:14.175] - Field: '.cluster' [13:11:14.175] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:11:14.175] - Launch lazy future ... [13:11:14.176] Packages needed by the future expression (n = 1): 'utils' [13:11:14.176] Packages needed by future strategies (n = 0): [13:11:14.176] { [13:11:14.176] { [13:11:14.176] { [13:11:14.176] ...future.startTime <- base::Sys.time() [13:11:14.176] { [13:11:14.176] { [13:11:14.176] { [13:11:14.176] { [13:11:14.176] base::local({ [13:11:14.176] has_future <- base::requireNamespace("future", [13:11:14.176] quietly = TRUE) [13:11:14.176] if (has_future) { [13:11:14.176] ns <- base::getNamespace("future") [13:11:14.176] version <- ns[[".package"]][["version"]] [13:11:14.176] if (is.null(version)) [13:11:14.176] version <- utils::packageVersion("future") [13:11:14.176] } [13:11:14.176] else { [13:11:14.176] version <- NULL [13:11:14.176] } [13:11:14.176] if (!has_future || version < "1.8.0") { [13:11:14.176] info <- base::c(r_version = base::gsub("R version ", [13:11:14.176] "", base::R.version$version.string), [13:11:14.176] platform = base::sprintf("%s (%s-bit)", [13:11:14.176] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:11:14.176] os = base::paste(base::Sys.info()[base::c("sysname", [13:11:14.176] "release", "version")], collapse = " "), [13:11:14.176] hostname = base::Sys.info()[["nodename"]]) [13:11:14.176] info <- base::sprintf("%s: %s", base::names(info), [13:11:14.176] info) [13:11:14.176] info <- base::paste(info, collapse = "; ") [13:11:14.176] if (!has_future) { [13:11:14.176] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:11:14.176] info) [13:11:14.176] } [13:11:14.176] else { [13:11:14.176] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:11:14.176] info, version) [13:11:14.176] } [13:11:14.176] base::stop(msg) [13:11:14.176] } [13:11:14.176] }) [13:11:14.176] } [13:11:14.176] base::local({ [13:11:14.176] for (pkg in "utils") { [13:11:14.176] base::loadNamespace(pkg) [13:11:14.176] base::library(pkg, character.only = TRUE) [13:11:14.176] } [13:11:14.176] }) [13:11:14.176] } [13:11:14.176] ...future.strategy.old <- future::plan("list") [13:11:14.176] options(future.plan = NULL) [13:11:14.176] Sys.unsetenv("R_FUTURE_PLAN") [13:11:14.176] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:11:14.176] } [13:11:14.176] ...future.workdir <- getwd() [13:11:14.176] } [13:11:14.176] ...future.oldOptions <- base::as.list(base::.Options) [13:11:14.176] ...future.oldEnvVars <- base::Sys.getenv() [13:11:14.176] } [13:11:14.176] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:11:14.176] future.globals.maxSize = NULL, future.globals.method = NULL, [13:11:14.176] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:11:14.176] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:11:14.176] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:11:14.176] future.stdout.windows.reencode = NULL, width = 80L) [13:11:14.176] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:11:14.176] base::names(...future.oldOptions)) [13:11:14.176] } [13:11:14.176] if (TRUE) { [13:11:14.176] } [13:11:14.176] else { [13:11:14.176] if (NA) { [13:11:14.176] ...future.stdout <- base::rawConnection(base::raw(0L), [13:11:14.176] open = "w") [13:11:14.176] } [13:11:14.176] else { [13:11:14.176] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:11:14.176] windows = "NUL", "/dev/null"), open = "w") [13:11:14.176] } [13:11:14.176] base::sink(...future.stdout, type = "output", split = FALSE) [13:11:14.176] base::on.exit(if (!base::is.null(...future.stdout)) { [13:11:14.176] base::sink(type = "output", split = FALSE) [13:11:14.176] base::close(...future.stdout) [13:11:14.176] }, add = TRUE) [13:11:14.176] } [13:11:14.176] ...future.frame <- base::sys.nframe() [13:11:14.176] ...future.conditions <- base::list() [13:11:14.176] ...future.rng <- base::globalenv()$.Random.seed [13:11:14.176] if (FALSE) { [13:11:14.176] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:11:14.176] "...future.value", "...future.globalenv.names", ".Random.seed") [13:11:14.176] } [13:11:14.176] ...future.result <- base::tryCatch({ [13:11:14.176] base::withCallingHandlers({ [13:11:14.176] ...future.value <- base::withVisible(base::local({ [13:11:14.176] print(1:50) [13:11:14.176] str(1:50) [13:11:14.176] cat(letters, sep = "-") [13:11:14.176] cat(1:6, collapse = "\n") [13:11:14.176] write.table(datasets::iris[1:10, ], sep = "\t") [13:11:14.176] 42L [13:11:14.176] })) [13:11:14.176] future::FutureResult(value = ...future.value$value, [13:11:14.176] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:11:14.176] ...future.rng), globalenv = if (FALSE) [13:11:14.176] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:11:14.176] ...future.globalenv.names)) [13:11:14.176] else NULL, started = ...future.startTime, version = "1.8") [13:11:14.176] }, condition = base::local({ [13:11:14.176] c <- base::c [13:11:14.176] inherits <- base::inherits [13:11:14.176] invokeRestart <- base::invokeRestart [13:11:14.176] length <- base::length [13:11:14.176] list <- base::list [13:11:14.176] seq.int <- base::seq.int [13:11:14.176] signalCondition <- base::signalCondition [13:11:14.176] sys.calls <- base::sys.calls [13:11:14.176] `[[` <- base::`[[` [13:11:14.176] `+` <- base::`+` [13:11:14.176] `<<-` <- base::`<<-` [13:11:14.176] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:11:14.176] calls[seq.int(from = from + 12L, to = length(calls) - [13:11:14.176] 3L)] [13:11:14.176] } [13:11:14.176] function(cond) { [13:11:14.176] is_error <- inherits(cond, "error") [13:11:14.176] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:11:14.176] NULL) [13:11:14.176] if (is_error) { [13:11:14.176] sessionInformation <- function() { [13:11:14.176] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:11:14.176] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:11:14.176] search = base::search(), system = base::Sys.info()) [13:11:14.176] } [13:11:14.176] ...future.conditions[[length(...future.conditions) + [13:11:14.176] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:11:14.176] cond$call), session = sessionInformation(), [13:11:14.176] timestamp = base::Sys.time(), signaled = 0L) [13:11:14.176] signalCondition(cond) [13:11:14.176] } [13:11:14.176] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:11:14.176] signal <- FALSE && inherits(cond, character(0)) [13:11:14.176] ...future.conditions[[length(...future.conditions) + [13:11:14.176] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:11:14.176] if (FALSE && !signal) { [13:11:14.176] muffleCondition <- function (cond, pattern = "^muffle") [13:11:14.176] { [13:11:14.176] inherits <- base::inherits [13:11:14.176] invokeRestart <- base::invokeRestart [13:11:14.176] is.null <- base::is.null [13:11:14.176] muffled <- FALSE [13:11:14.176] if (inherits(cond, "message")) { [13:11:14.176] muffled <- grepl(pattern, "muffleMessage") [13:11:14.176] if (muffled) [13:11:14.176] invokeRestart("muffleMessage") [13:11:14.176] } [13:11:14.176] else if (inherits(cond, "warning")) { [13:11:14.176] muffled <- grepl(pattern, "muffleWarning") [13:11:14.176] if (muffled) [13:11:14.176] invokeRestart("muffleWarning") [13:11:14.176] } [13:11:14.176] else if (inherits(cond, "condition")) { [13:11:14.176] if (!is.null(pattern)) { [13:11:14.176] computeRestarts <- base::computeRestarts [13:11:14.176] grepl <- base::grepl [13:11:14.176] restarts <- computeRestarts(cond) [13:11:14.176] for (restart in restarts) { [13:11:14.176] name <- restart$name [13:11:14.176] if (is.null(name)) [13:11:14.176] next [13:11:14.176] if (!grepl(pattern, name)) [13:11:14.176] next [13:11:14.176] invokeRestart(restart) [13:11:14.176] muffled <- TRUE [13:11:14.176] break [13:11:14.176] } [13:11:14.176] } [13:11:14.176] } [13:11:14.176] invisible(muffled) [13:11:14.176] } [13:11:14.176] muffleCondition(cond, pattern = "^muffle") [13:11:14.176] } [13:11:14.176] } [13:11:14.176] else { [13:11:14.176] if (TRUE) { [13:11:14.176] muffleCondition <- function (cond, pattern = "^muffle") [13:11:14.176] { [13:11:14.176] inherits <- base::inherits [13:11:14.176] invokeRestart <- base::invokeRestart [13:11:14.176] is.null <- base::is.null [13:11:14.176] muffled <- FALSE [13:11:14.176] if (inherits(cond, "message")) { [13:11:14.176] muffled <- grepl(pattern, "muffleMessage") [13:11:14.176] if (muffled) [13:11:14.176] invokeRestart("muffleMessage") [13:11:14.176] } [13:11:14.176] else if (inherits(cond, "warning")) { [13:11:14.176] muffled <- grepl(pattern, "muffleWarning") [13:11:14.176] if (muffled) [13:11:14.176] invokeRestart("muffleWarning") [13:11:14.176] } [13:11:14.176] else if (inherits(cond, "condition")) { [13:11:14.176] if (!is.null(pattern)) { [13:11:14.176] computeRestarts <- base::computeRestarts [13:11:14.176] grepl <- base::grepl [13:11:14.176] restarts <- computeRestarts(cond) [13:11:14.176] for (restart in restarts) { [13:11:14.176] name <- restart$name [13:11:14.176] if (is.null(name)) [13:11:14.176] next [13:11:14.176] if (!grepl(pattern, name)) [13:11:14.176] next [13:11:14.176] invokeRestart(restart) [13:11:14.176] muffled <- TRUE [13:11:14.176] break [13:11:14.176] } [13:11:14.176] } [13:11:14.176] } [13:11:14.176] invisible(muffled) [13:11:14.176] } [13:11:14.176] muffleCondition(cond, pattern = "^muffle") [13:11:14.176] } [13:11:14.176] } [13:11:14.176] } [13:11:14.176] })) [13:11:14.176] }, error = function(ex) { [13:11:14.176] base::structure(base::list(value = NULL, visible = NULL, [13:11:14.176] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:11:14.176] ...future.rng), started = ...future.startTime, [13:11:14.176] finished = Sys.time(), session_uuid = NA_character_, [13:11:14.176] version = "1.8"), class = "FutureResult") [13:11:14.176] }, finally = { [13:11:14.176] if (!identical(...future.workdir, getwd())) [13:11:14.176] setwd(...future.workdir) [13:11:14.176] { [13:11:14.176] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:11:14.176] ...future.oldOptions$nwarnings <- NULL [13:11:14.176] } [13:11:14.176] base::options(...future.oldOptions) [13:11:14.176] if (.Platform$OS.type == "windows") { [13:11:14.176] old_names <- names(...future.oldEnvVars) [13:11:14.176] envs <- base::Sys.getenv() [13:11:14.176] names <- names(envs) [13:11:14.176] common <- intersect(names, old_names) [13:11:14.176] added <- setdiff(names, old_names) [13:11:14.176] removed <- setdiff(old_names, names) [13:11:14.176] changed <- common[...future.oldEnvVars[common] != [13:11:14.176] envs[common]] [13:11:14.176] NAMES <- toupper(changed) [13:11:14.176] args <- list() [13:11:14.176] for (kk in seq_along(NAMES)) { [13:11:14.176] name <- changed[[kk]] [13:11:14.176] NAME <- NAMES[[kk]] [13:11:14.176] if (name != NAME && is.element(NAME, old_names)) [13:11:14.176] next [13:11:14.176] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:14.176] } [13:11:14.176] NAMES <- toupper(added) [13:11:14.176] for (kk in seq_along(NAMES)) { [13:11:14.176] name <- added[[kk]] [13:11:14.176] NAME <- NAMES[[kk]] [13:11:14.176] if (name != NAME && is.element(NAME, old_names)) [13:11:14.176] next [13:11:14.176] args[[name]] <- "" [13:11:14.176] } [13:11:14.176] NAMES <- toupper(removed) [13:11:14.176] for (kk in seq_along(NAMES)) { [13:11:14.176] name <- removed[[kk]] [13:11:14.176] NAME <- NAMES[[kk]] [13:11:14.176] if (name != NAME && is.element(NAME, old_names)) [13:11:14.176] next [13:11:14.176] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:14.176] } [13:11:14.176] if (length(args) > 0) [13:11:14.176] base::do.call(base::Sys.setenv, args = args) [13:11:14.176] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:11:14.176] } [13:11:14.176] else { [13:11:14.176] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:11:14.176] } [13:11:14.176] { [13:11:14.176] if (base::length(...future.futureOptionsAdded) > [13:11:14.176] 0L) { [13:11:14.176] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:11:14.176] base::names(opts) <- ...future.futureOptionsAdded [13:11:14.176] base::options(opts) [13:11:14.176] } [13:11:14.176] { [13:11:14.176] NULL [13:11:14.176] options(future.plan = NULL) [13:11:14.176] if (is.na(NA_character_)) [13:11:14.176] Sys.unsetenv("R_FUTURE_PLAN") [13:11:14.176] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:11:14.176] future::plan(...future.strategy.old, .cleanup = FALSE, [13:11:14.176] .init = FALSE) [13:11:14.176] } [13:11:14.176] } [13:11:14.176] } [13:11:14.176] }) [13:11:14.176] if (FALSE) { [13:11:14.176] base::sink(type = "output", split = FALSE) [13:11:14.176] if (NA) { [13:11:14.176] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:11:14.176] } [13:11:14.176] else { [13:11:14.176] ...future.result["stdout"] <- base::list(NULL) [13:11:14.176] } [13:11:14.176] base::close(...future.stdout) [13:11:14.176] ...future.stdout <- NULL [13:11:14.176] } [13:11:14.176] ...future.result$conditions <- ...future.conditions [13:11:14.176] ...future.result$finished <- base::Sys.time() [13:11:14.176] ...future.result [13:11:14.176] } [13:11:14.181] - Launch lazy future ... done [13:11:14.181] run() for 'MiraiFuture' ... done List of 11 $ value : int 42 $ visible : logi TRUE $ stdout : NULL $ conditions : list() $ rng : logi FALSE $ globalenv : NULL $ started : POSIXct[1:1], format: "2024-04-16 13:11:14" $ finished : POSIXct[1:1], format: "2024-04-16 13:11:14" $ session_uuid: chr "2b09bb46-4a2b-e254-e9ad-b957726e71c1" ..- attr(*, "source")=List of 5 .. ..$ host : Named chr "CRANWIN3" .. .. ..- attr(*, "names")= chr "COMPUTERNAME" .. ..$ info : Named chr [1:8] "Windows" "Server x64" "build 20348" "CRANWIN3" ... .. .. ..- attr(*, "names")= chr [1:8] "sysname" "release" "version" "nodename" ... .. ..$ pid : int 34336 .. ..$ time : POSIXct[1:1], format: "2024-04-16 13:11:13" .. ..$ random: int 2147483647 $ r_info :List of 4 ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 .. ..$ : int [1:3] 4 4 0 ..$ os : chr "windows" ..$ os_name : chr "Windows" ..$ captures_utf8: logi TRUE $ version : chr "1.8" - attr(*, "class")= chr "FutureResult" [13:11:14.194] getGlobalsAndPackages() ... [13:11:14.194] Searching for globals... [13:11:14.197] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:11:14.198] Searching for globals ... DONE [13:11:14.198] Resolving globals: FALSE [13:11:14.198] [13:11:14.199] - packages: [1] 'utils' [13:11:14.199] getGlobalsAndPackages() ... DONE [13:11:14.199] run() for 'Future' ... [13:11:14.199] - state: 'created' [13:11:14.199] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:11:14.202] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:11:14.202] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:11:14.202] - Field: 'label' [13:11:14.202] - Field: 'local' [13:11:14.203] - Field: 'owner' [13:11:14.203] - Field: 'envir' [13:11:14.203] - Field: 'packages' [13:11:14.203] - Field: 'gc' [13:11:14.203] - Field: 'conditions' [13:11:14.203] - Field: 'expr' [13:11:14.204] - Field: 'uuid' [13:11:14.204] - Field: 'seed' [13:11:14.204] - Field: 'version' [13:11:14.204] - Field: 'result' [13:11:14.204] - Field: 'asynchronous' [13:11:14.204] - Field: 'calls' [13:11:14.205] - Field: 'globals' [13:11:14.205] - Field: 'stdout' [13:11:14.205] - Field: 'earlySignal' [13:11:14.205] - Field: 'lazy' [13:11:14.205] - Field: 'state' [13:11:14.205] - Field: '.cluster' [13:11:14.206] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:11:14.206] - Launch lazy future ... [13:11:14.206] Packages needed by the future expression (n = 1): 'utils' [13:11:14.206] Packages needed by future strategies (n = 0): [13:11:14.207] { [13:11:14.207] { [13:11:14.207] { [13:11:14.207] ...future.startTime <- base::Sys.time() [13:11:14.207] { [13:11:14.207] { [13:11:14.207] { [13:11:14.207] { [13:11:14.207] base::local({ [13:11:14.207] has_future <- base::requireNamespace("future", [13:11:14.207] quietly = TRUE) [13:11:14.207] if (has_future) { [13:11:14.207] ns <- base::getNamespace("future") [13:11:14.207] version <- ns[[".package"]][["version"]] [13:11:14.207] if (is.null(version)) [13:11:14.207] version <- utils::packageVersion("future") [13:11:14.207] } [13:11:14.207] else { [13:11:14.207] version <- NULL [13:11:14.207] } [13:11:14.207] if (!has_future || version < "1.8.0") { [13:11:14.207] info <- base::c(r_version = base::gsub("R version ", [13:11:14.207] "", base::R.version$version.string), [13:11:14.207] platform = base::sprintf("%s (%s-bit)", [13:11:14.207] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:11:14.207] os = base::paste(base::Sys.info()[base::c("sysname", [13:11:14.207] "release", "version")], collapse = " "), [13:11:14.207] hostname = base::Sys.info()[["nodename"]]) [13:11:14.207] info <- base::sprintf("%s: %s", base::names(info), [13:11:14.207] info) [13:11:14.207] info <- base::paste(info, collapse = "; ") [13:11:14.207] if (!has_future) { [13:11:14.207] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:11:14.207] info) [13:11:14.207] } [13:11:14.207] else { [13:11:14.207] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:11:14.207] info, version) [13:11:14.207] } [13:11:14.207] base::stop(msg) [13:11:14.207] } [13:11:14.207] }) [13:11:14.207] } [13:11:14.207] base::local({ [13:11:14.207] for (pkg in "utils") { [13:11:14.207] base::loadNamespace(pkg) [13:11:14.207] base::library(pkg, character.only = TRUE) [13:11:14.207] } [13:11:14.207] }) [13:11:14.207] } [13:11:14.207] ...future.strategy.old <- future::plan("list") [13:11:14.207] options(future.plan = NULL) [13:11:14.207] Sys.unsetenv("R_FUTURE_PLAN") [13:11:14.207] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:11:14.207] } [13:11:14.207] ...future.workdir <- getwd() [13:11:14.207] } [13:11:14.207] ...future.oldOptions <- base::as.list(base::.Options) [13:11:14.207] ...future.oldEnvVars <- base::Sys.getenv() [13:11:14.207] } [13:11:14.207] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:11:14.207] future.globals.maxSize = NULL, future.globals.method = NULL, [13:11:14.207] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:11:14.207] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:11:14.207] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:11:14.207] future.stdout.windows.reencode = NULL, width = 80L) [13:11:14.207] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:11:14.207] base::names(...future.oldOptions)) [13:11:14.207] } [13:11:14.207] if (TRUE) { [13:11:14.207] } [13:11:14.207] else { [13:11:14.207] if (NA) { [13:11:14.207] ...future.stdout <- base::rawConnection(base::raw(0L), [13:11:14.207] open = "w") [13:11:14.207] } [13:11:14.207] else { [13:11:14.207] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:11:14.207] windows = "NUL", "/dev/null"), open = "w") [13:11:14.207] } [13:11:14.207] base::sink(...future.stdout, type = "output", split = FALSE) [13:11:14.207] base::on.exit(if (!base::is.null(...future.stdout)) { [13:11:14.207] base::sink(type = "output", split = FALSE) [13:11:14.207] base::close(...future.stdout) [13:11:14.207] }, add = TRUE) [13:11:14.207] } [13:11:14.207] ...future.frame <- base::sys.nframe() [13:11:14.207] ...future.conditions <- base::list() [13:11:14.207] ...future.rng <- base::globalenv()$.Random.seed [13:11:14.207] if (FALSE) { [13:11:14.207] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:11:14.207] "...future.value", "...future.globalenv.names", ".Random.seed") [13:11:14.207] } [13:11:14.207] ...future.result <- base::tryCatch({ [13:11:14.207] base::withCallingHandlers({ [13:11:14.207] ...future.value <- base::withVisible(base::local({ [13:11:14.207] print(1:50) [13:11:14.207] str(1:50) [13:11:14.207] cat(letters, sep = "-") [13:11:14.207] cat(1:6, collapse = "\n") [13:11:14.207] write.table(datasets::iris[1:10, ], sep = "\t") [13:11:14.207] 42L [13:11:14.207] })) [13:11:14.207] future::FutureResult(value = ...future.value$value, [13:11:14.207] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:11:14.207] ...future.rng), globalenv = if (FALSE) [13:11:14.207] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:11:14.207] ...future.globalenv.names)) [13:11:14.207] else NULL, started = ...future.startTime, version = "1.8") [13:11:14.207] }, condition = base::local({ [13:11:14.207] c <- base::c [13:11:14.207] inherits <- base::inherits [13:11:14.207] invokeRestart <- base::invokeRestart [13:11:14.207] length <- base::length [13:11:14.207] list <- base::list [13:11:14.207] seq.int <- base::seq.int [13:11:14.207] signalCondition <- base::signalCondition [13:11:14.207] sys.calls <- base::sys.calls [13:11:14.207] `[[` <- base::`[[` [13:11:14.207] `+` <- base::`+` [13:11:14.207] `<<-` <- base::`<<-` [13:11:14.207] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:11:14.207] calls[seq.int(from = from + 12L, to = length(calls) - [13:11:14.207] 3L)] [13:11:14.207] } [13:11:14.207] function(cond) { [13:11:14.207] is_error <- inherits(cond, "error") [13:11:14.207] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:11:14.207] NULL) [13:11:14.207] if (is_error) { [13:11:14.207] sessionInformation <- function() { [13:11:14.207] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:11:14.207] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:11:14.207] search = base::search(), system = base::Sys.info()) [13:11:14.207] } [13:11:14.207] ...future.conditions[[length(...future.conditions) + [13:11:14.207] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:11:14.207] cond$call), session = sessionInformation(), [13:11:14.207] timestamp = base::Sys.time(), signaled = 0L) [13:11:14.207] signalCondition(cond) [13:11:14.207] } [13:11:14.207] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:11:14.207] signal <- FALSE && inherits(cond, character(0)) [13:11:14.207] ...future.conditions[[length(...future.conditions) + [13:11:14.207] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:11:14.207] if (FALSE && !signal) { [13:11:14.207] muffleCondition <- function (cond, pattern = "^muffle") [13:11:14.207] { [13:11:14.207] inherits <- base::inherits [13:11:14.207] invokeRestart <- base::invokeRestart [13:11:14.207] is.null <- base::is.null [13:11:14.207] muffled <- FALSE [13:11:14.207] if (inherits(cond, "message")) { [13:11:14.207] muffled <- grepl(pattern, "muffleMessage") [13:11:14.207] if (muffled) [13:11:14.207] invokeRestart("muffleMessage") [13:11:14.207] } [13:11:14.207] else if (inherits(cond, "warning")) { [13:11:14.207] muffled <- grepl(pattern, "muffleWarning") [13:11:14.207] if (muffled) [13:11:14.207] invokeRestart("muffleWarning") [13:11:14.207] } [13:11:14.207] else if (inherits(cond, "condition")) { [13:11:14.207] if (!is.null(pattern)) { [13:11:14.207] computeRestarts <- base::computeRestarts [13:11:14.207] grepl <- base::grepl [13:11:14.207] restarts <- computeRestarts(cond) [13:11:14.207] for (restart in restarts) { [13:11:14.207] name <- restart$name [13:11:14.207] if (is.null(name)) [13:11:14.207] next [13:11:14.207] if (!grepl(pattern, name)) [13:11:14.207] next [13:11:14.207] invokeRestart(restart) [13:11:14.207] muffled <- TRUE [13:11:14.207] break [13:11:14.207] } [13:11:14.207] } [13:11:14.207] } [13:11:14.207] invisible(muffled) [13:11:14.207] } [13:11:14.207] muffleCondition(cond, pattern = "^muffle") [13:11:14.207] } [13:11:14.207] } [13:11:14.207] else { [13:11:14.207] if (TRUE) { [13:11:14.207] muffleCondition <- function (cond, pattern = "^muffle") [13:11:14.207] { [13:11:14.207] inherits <- base::inherits [13:11:14.207] invokeRestart <- base::invokeRestart [13:11:14.207] is.null <- base::is.null [13:11:14.207] muffled <- FALSE [13:11:14.207] if (inherits(cond, "message")) { [13:11:14.207] muffled <- grepl(pattern, "muffleMessage") [13:11:14.207] if (muffled) [13:11:14.207] invokeRestart("muffleMessage") [13:11:14.207] } [13:11:14.207] else if (inherits(cond, "warning")) { [13:11:14.207] muffled <- grepl(pattern, "muffleWarning") [13:11:14.207] if (muffled) [13:11:14.207] invokeRestart("muffleWarning") [13:11:14.207] } [13:11:14.207] else if (inherits(cond, "condition")) { [13:11:14.207] if (!is.null(pattern)) { [13:11:14.207] computeRestarts <- base::computeRestarts [13:11:14.207] grepl <- base::grepl [13:11:14.207] restarts <- computeRestarts(cond) [13:11:14.207] for (restart in restarts) { [13:11:14.207] name <- restart$name [13:11:14.207] if (is.null(name)) [13:11:14.207] next [13:11:14.207] if (!grepl(pattern, name)) [13:11:14.207] next [13:11:14.207] invokeRestart(restart) [13:11:14.207] muffled <- TRUE [13:11:14.207] break [13:11:14.207] } [13:11:14.207] } [13:11:14.207] } [13:11:14.207] invisible(muffled) [13:11:14.207] } [13:11:14.207] muffleCondition(cond, pattern = "^muffle") [13:11:14.207] } [13:11:14.207] } [13:11:14.207] } [13:11:14.207] })) [13:11:14.207] }, error = function(ex) { [13:11:14.207] base::structure(base::list(value = NULL, visible = NULL, [13:11:14.207] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:11:14.207] ...future.rng), started = ...future.startTime, [13:11:14.207] finished = Sys.time(), session_uuid = NA_character_, [13:11:14.207] version = "1.8"), class = "FutureResult") [13:11:14.207] }, finally = { [13:11:14.207] if (!identical(...future.workdir, getwd())) [13:11:14.207] setwd(...future.workdir) [13:11:14.207] { [13:11:14.207] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:11:14.207] ...future.oldOptions$nwarnings <- NULL [13:11:14.207] } [13:11:14.207] base::options(...future.oldOptions) [13:11:14.207] if (.Platform$OS.type == "windows") { [13:11:14.207] old_names <- names(...future.oldEnvVars) [13:11:14.207] envs <- base::Sys.getenv() [13:11:14.207] names <- names(envs) [13:11:14.207] common <- intersect(names, old_names) [13:11:14.207] added <- setdiff(names, old_names) [13:11:14.207] removed <- setdiff(old_names, names) [13:11:14.207] changed <- common[...future.oldEnvVars[common] != [13:11:14.207] envs[common]] [13:11:14.207] NAMES <- toupper(changed) [13:11:14.207] args <- list() [13:11:14.207] for (kk in seq_along(NAMES)) { [13:11:14.207] name <- changed[[kk]] [13:11:14.207] NAME <- NAMES[[kk]] [13:11:14.207] if (name != NAME && is.element(NAME, old_names)) [13:11:14.207] next [13:11:14.207] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:14.207] } [13:11:14.207] NAMES <- toupper(added) [13:11:14.207] for (kk in seq_along(NAMES)) { [13:11:14.207] name <- added[[kk]] [13:11:14.207] NAME <- NAMES[[kk]] [13:11:14.207] if (name != NAME && is.element(NAME, old_names)) [13:11:14.207] next [13:11:14.207] args[[name]] <- "" [13:11:14.207] } [13:11:14.207] NAMES <- toupper(removed) [13:11:14.207] for (kk in seq_along(NAMES)) { [13:11:14.207] name <- removed[[kk]] [13:11:14.207] NAME <- NAMES[[kk]] [13:11:14.207] if (name != NAME && is.element(NAME, old_names)) [13:11:14.207] next [13:11:14.207] args[[name]] <- ...future.oldEnvVars[[name]] [13:11:14.207] } [13:11:14.207] if (length(args) > 0) [13:11:14.207] base::do.call(base::Sys.setenv, args = args) [13:11:14.207] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:11:14.207] } [13:11:14.207] else { [13:11:14.207] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:11:14.207] } [13:11:14.207] { [13:11:14.207] if (base::length(...future.futureOptionsAdded) > [13:11:14.207] 0L) { [13:11:14.207] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:11:14.207] base::names(opts) <- ...future.futureOptionsAdded [13:11:14.207] base::options(opts) [13:11:14.207] } [13:11:14.207] { [13:11:14.207] NULL [13:11:14.207] options(future.plan = NULL) [13:11:14.207] if (is.na(NA_character_)) [13:11:14.207] Sys.unsetenv("R_FUTURE_PLAN") [13:11:14.207] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:11:14.207] future::plan(...future.strategy.old, .cleanup = FALSE, [13:11:14.207] .init = FALSE) [13:11:14.207] } [13:11:14.207] } [13:11:14.207] } [13:11:14.207] }) [13:11:14.207] if (FALSE) { [13:11:14.207] base::sink(type = "output", split = FALSE) [13:11:14.207] if (NA) { [13:11:14.207] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:11:14.207] } [13:11:14.207] else { [13:11:14.207] ...future.result["stdout"] <- base::list(NULL) [13:11:14.207] } [13:11:14.207] base::close(...future.stdout) [13:11:14.207] ...future.stdout <- NULL [13:11:14.207] } [13:11:14.207] ...future.result$conditions <- ...future.conditions [13:11:14.207] ...future.result$finished <- base::Sys.time() [13:11:14.207] ...future.result [13:11:14.207] } [13:11:14.211] - Launch lazy future ... done [13:11:14.211] run() for 'MiraiFuture' ... done > > message("mirai_multisession ... DONE") mirai_multisession ... DONE > > message("*** Standard output ... DONE") *** Standard output ... DONE > > source("incl/end.R") > > proc.time() user system elapsed 0.50 0.04 1.01