R Under development (unstable) (2024-07-02 r86866 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > source("incl/start.R") Loading required package: future [13:31:18.884] plan(): Setting new future strategy stack: [13:31:18.885] List of future strategies: [13:31:18.885] 1. mirai_multisession: [13:31:18.885] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:31:18.885] - tweaked: FALSE [13:31:18.885] - call: future::plan(future.mirai::mirai_multisession) [13:31:18.898] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:31:18.898] < mirai [$data] > [13:31:18.903] getGlobalsAndPackages() ... [13:31:18.903] Not searching for globals [13:31:18.904] - globals: [0] [13:31:18.904] getGlobalsAndPackages() ... DONE [13:31:18.904] getGlobalsAndPackages() ... [13:31:18.904] [13:31:18.905] - globals: [0] [13:31:18.905] getGlobalsAndPackages() ... DONE [13:31:19.151] Packages needed by the future expression (n = 0): [13:31:19.152] Packages needed by future strategies (n = 0): [13:31:19.153] { [13:31:19.153] { [13:31:19.153] { [13:31:19.153] ...future.startTime <- base::Sys.time() [13:31:19.153] { [13:31:19.153] { [13:31:19.153] { [13:31:19.153] base::local({ [13:31:19.153] has_future <- base::requireNamespace("future", [13:31:19.153] quietly = TRUE) [13:31:19.153] if (has_future) { [13:31:19.153] ns <- base::getNamespace("future") [13:31:19.153] version <- ns[[".package"]][["version"]] [13:31:19.153] if (is.null(version)) [13:31:19.153] version <- utils::packageVersion("future") [13:31:19.153] } [13:31:19.153] else { [13:31:19.153] version <- NULL [13:31:19.153] } [13:31:19.153] if (!has_future || version < "1.8.0") { [13:31:19.153] info <- base::c(r_version = base::gsub("R version ", [13:31:19.153] "", base::R.version$version.string), [13:31:19.153] platform = base::sprintf("%s (%s-bit)", [13:31:19.153] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:19.153] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:19.153] "release", "version")], collapse = " "), [13:31:19.153] hostname = base::Sys.info()[["nodename"]]) [13:31:19.153] info <- base::sprintf("%s: %s", base::names(info), [13:31:19.153] info) [13:31:19.153] info <- base::paste(info, collapse = "; ") [13:31:19.153] if (!has_future) { [13:31:19.153] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:19.153] info) [13:31:19.153] } [13:31:19.153] else { [13:31:19.153] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:19.153] info, version) [13:31:19.153] } [13:31:19.153] base::stop(msg) [13:31:19.153] } [13:31:19.153] }) [13:31:19.153] } [13:31:19.153] ...future.strategy.old <- future::plan("list") [13:31:19.153] options(future.plan = NULL) [13:31:19.153] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.153] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:19.153] } [13:31:19.153] ...future.workdir <- getwd() [13:31:19.153] } [13:31:19.153] ...future.oldOptions <- base::as.list(base::.Options) [13:31:19.153] ...future.oldEnvVars <- base::Sys.getenv() [13:31:19.153] } [13:31:19.153] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:19.153] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:19.153] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:19.153] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:19.153] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:19.153] future.stdout.windows.reencode = NULL, width = 80L) [13:31:19.153] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:19.153] base::names(...future.oldOptions)) [13:31:19.153] } [13:31:19.153] if (FALSE) { [13:31:19.153] } [13:31:19.153] else { [13:31:19.153] if (TRUE) { [13:31:19.153] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:19.153] open = "w") [13:31:19.153] } [13:31:19.153] else { [13:31:19.153] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:19.153] windows = "NUL", "/dev/null"), open = "w") [13:31:19.153] } [13:31:19.153] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:19.153] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:19.153] base::sink(type = "output", split = FALSE) [13:31:19.153] base::close(...future.stdout) [13:31:19.153] }, add = TRUE) [13:31:19.153] } [13:31:19.153] ...future.frame <- base::sys.nframe() [13:31:19.153] ...future.conditions <- base::list() [13:31:19.153] ...future.rng <- base::globalenv()$.Random.seed [13:31:19.153] if (FALSE) { [13:31:19.153] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:19.153] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:19.153] } [13:31:19.153] ...future.result <- base::tryCatch({ [13:31:19.153] base::withCallingHandlers({ [13:31:19.153] ...future.value <- base::withVisible(base::local(NA)) [13:31:19.153] future::FutureResult(value = ...future.value$value, [13:31:19.153] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.153] ...future.rng), globalenv = if (FALSE) [13:31:19.153] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:19.153] ...future.globalenv.names)) [13:31:19.153] else NULL, started = ...future.startTime, version = "1.8") [13:31:19.153] }, condition = base::local({ [13:31:19.153] c <- base::c [13:31:19.153] inherits <- base::inherits [13:31:19.153] invokeRestart <- base::invokeRestart [13:31:19.153] length <- base::length [13:31:19.153] list <- base::list [13:31:19.153] seq.int <- base::seq.int [13:31:19.153] signalCondition <- base::signalCondition [13:31:19.153] sys.calls <- base::sys.calls [13:31:19.153] `[[` <- base::`[[` [13:31:19.153] `+` <- base::`+` [13:31:19.153] `<<-` <- base::`<<-` [13:31:19.153] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:19.153] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:19.153] 3L)] [13:31:19.153] } [13:31:19.153] function(cond) { [13:31:19.153] is_error <- inherits(cond, "error") [13:31:19.153] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:19.153] NULL) [13:31:19.153] if (is_error) { [13:31:19.153] sessionInformation <- function() { [13:31:19.153] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:19.153] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:19.153] search = base::search(), system = base::Sys.info()) [13:31:19.153] } [13:31:19.153] ...future.conditions[[length(...future.conditions) + [13:31:19.153] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:19.153] cond$call), session = sessionInformation(), [13:31:19.153] timestamp = base::Sys.time(), signaled = 0L) [13:31:19.153] signalCondition(cond) [13:31:19.153] } [13:31:19.153] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:19.153] signal <- FALSE && inherits(cond, character(0)) [13:31:19.153] ...future.conditions[[length(...future.conditions) + [13:31:19.153] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:19.153] if (FALSE && !signal) { [13:31:19.153] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.153] { [13:31:19.153] inherits <- base::inherits [13:31:19.153] invokeRestart <- base::invokeRestart [13:31:19.153] is.null <- base::is.null [13:31:19.153] muffled <- FALSE [13:31:19.153] if (inherits(cond, "message")) { [13:31:19.153] muffled <- grepl(pattern, "muffleMessage") [13:31:19.153] if (muffled) [13:31:19.153] invokeRestart("muffleMessage") [13:31:19.153] } [13:31:19.153] else if (inherits(cond, "warning")) { [13:31:19.153] muffled <- grepl(pattern, "muffleWarning") [13:31:19.153] if (muffled) [13:31:19.153] invokeRestart("muffleWarning") [13:31:19.153] } [13:31:19.153] else if (inherits(cond, "condition")) { [13:31:19.153] if (!is.null(pattern)) { [13:31:19.153] computeRestarts <- base::computeRestarts [13:31:19.153] grepl <- base::grepl [13:31:19.153] restarts <- computeRestarts(cond) [13:31:19.153] for (restart in restarts) { [13:31:19.153] name <- restart$name [13:31:19.153] if (is.null(name)) [13:31:19.153] next [13:31:19.153] if (!grepl(pattern, name)) [13:31:19.153] next [13:31:19.153] invokeRestart(restart) [13:31:19.153] muffled <- TRUE [13:31:19.153] break [13:31:19.153] } [13:31:19.153] } [13:31:19.153] } [13:31:19.153] invisible(muffled) [13:31:19.153] } [13:31:19.153] muffleCondition(cond, pattern = "^muffle") [13:31:19.153] } [13:31:19.153] } [13:31:19.153] else { [13:31:19.153] if (TRUE) { [13:31:19.153] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.153] { [13:31:19.153] inherits <- base::inherits [13:31:19.153] invokeRestart <- base::invokeRestart [13:31:19.153] is.null <- base::is.null [13:31:19.153] muffled <- FALSE [13:31:19.153] if (inherits(cond, "message")) { [13:31:19.153] muffled <- grepl(pattern, "muffleMessage") [13:31:19.153] if (muffled) [13:31:19.153] invokeRestart("muffleMessage") [13:31:19.153] } [13:31:19.153] else if (inherits(cond, "warning")) { [13:31:19.153] muffled <- grepl(pattern, "muffleWarning") [13:31:19.153] if (muffled) [13:31:19.153] invokeRestart("muffleWarning") [13:31:19.153] } [13:31:19.153] else if (inherits(cond, "condition")) { [13:31:19.153] if (!is.null(pattern)) { [13:31:19.153] computeRestarts <- base::computeRestarts [13:31:19.153] grepl <- base::grepl [13:31:19.153] restarts <- computeRestarts(cond) [13:31:19.153] for (restart in restarts) { [13:31:19.153] name <- restart$name [13:31:19.153] if (is.null(name)) [13:31:19.153] next [13:31:19.153] if (!grepl(pattern, name)) [13:31:19.153] next [13:31:19.153] invokeRestart(restart) [13:31:19.153] muffled <- TRUE [13:31:19.153] break [13:31:19.153] } [13:31:19.153] } [13:31:19.153] } [13:31:19.153] invisible(muffled) [13:31:19.153] } [13:31:19.153] muffleCondition(cond, pattern = "^muffle") [13:31:19.153] } [13:31:19.153] } [13:31:19.153] } [13:31:19.153] })) [13:31:19.153] }, error = function(ex) { [13:31:19.153] base::structure(base::list(value = NULL, visible = NULL, [13:31:19.153] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.153] ...future.rng), started = ...future.startTime, [13:31:19.153] finished = Sys.time(), session_uuid = NA_character_, [13:31:19.153] version = "1.8"), class = "FutureResult") [13:31:19.153] }, finally = { [13:31:19.153] if (!identical(...future.workdir, getwd())) [13:31:19.153] setwd(...future.workdir) [13:31:19.153] { [13:31:19.153] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:19.153] ...future.oldOptions$nwarnings <- NULL [13:31:19.153] } [13:31:19.153] base::options(...future.oldOptions) [13:31:19.153] if (.Platform$OS.type == "windows") { [13:31:19.153] old_names <- names(...future.oldEnvVars) [13:31:19.153] envs <- base::Sys.getenv() [13:31:19.153] names <- names(envs) [13:31:19.153] common <- intersect(names, old_names) [13:31:19.153] added <- setdiff(names, old_names) [13:31:19.153] removed <- setdiff(old_names, names) [13:31:19.153] changed <- common[...future.oldEnvVars[common] != [13:31:19.153] envs[common]] [13:31:19.153] NAMES <- toupper(changed) [13:31:19.153] args <- list() [13:31:19.153] for (kk in seq_along(NAMES)) { [13:31:19.153] name <- changed[[kk]] [13:31:19.153] NAME <- NAMES[[kk]] [13:31:19.153] if (name != NAME && is.element(NAME, old_names)) [13:31:19.153] next [13:31:19.153] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.153] } [13:31:19.153] NAMES <- toupper(added) [13:31:19.153] for (kk in seq_along(NAMES)) { [13:31:19.153] name <- added[[kk]] [13:31:19.153] NAME <- NAMES[[kk]] [13:31:19.153] if (name != NAME && is.element(NAME, old_names)) [13:31:19.153] next [13:31:19.153] args[[name]] <- "" [13:31:19.153] } [13:31:19.153] NAMES <- toupper(removed) [13:31:19.153] for (kk in seq_along(NAMES)) { [13:31:19.153] name <- removed[[kk]] [13:31:19.153] NAME <- NAMES[[kk]] [13:31:19.153] if (name != NAME && is.element(NAME, old_names)) [13:31:19.153] next [13:31:19.153] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.153] } [13:31:19.153] if (length(args) > 0) [13:31:19.153] base::do.call(base::Sys.setenv, args = args) [13:31:19.153] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:19.153] } [13:31:19.153] else { [13:31:19.153] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:19.153] } [13:31:19.153] { [13:31:19.153] if (base::length(...future.futureOptionsAdded) > [13:31:19.153] 0L) { [13:31:19.153] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:19.153] base::names(opts) <- ...future.futureOptionsAdded [13:31:19.153] base::options(opts) [13:31:19.153] } [13:31:19.153] { [13:31:19.153] NULL [13:31:19.153] options(future.plan = NULL) [13:31:19.153] if (is.na(NA_character_)) [13:31:19.153] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.153] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:19.153] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:19.153] .init = FALSE) [13:31:19.153] } [13:31:19.153] } [13:31:19.153] } [13:31:19.153] }) [13:31:19.153] if (TRUE) { [13:31:19.153] base::sink(type = "output", split = FALSE) [13:31:19.153] if (TRUE) { [13:31:19.153] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:19.153] } [13:31:19.153] else { [13:31:19.153] ...future.result["stdout"] <- base::list(NULL) [13:31:19.153] } [13:31:19.153] base::close(...future.stdout) [13:31:19.153] ...future.stdout <- NULL [13:31:19.153] } [13:31:19.153] ...future.result$conditions <- ...future.conditions [13:31:19.153] ...future.result$finished <- base::Sys.time() [13:31:19.153] ...future.result [13:31:19.153] } [13:31:19.271] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:31:19.271] 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:31:19.277] plan(): Setting new future strategy stack: [13:31:19.277] List of future strategies: [13:31:19.277] 1. mirai_multisession: [13:31:19.277] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:31:19.277] - tweaked: FALSE [13:31:19.277] - call: plan(mirai_multisession) [13:31:19.290] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:31:19.291] < mirai [$data] > [13:31:19.293] getGlobalsAndPackages() ... [13:31:19.293] Not searching for globals [13:31:19.293] - globals: [0] [13:31:19.293] getGlobalsAndPackages() ... DONE [13:31:19.294] getGlobalsAndPackages() ... [13:31:19.294] [13:31:19.294] - globals: [0] [13:31:19.294] getGlobalsAndPackages() ... DONE [13:31:19.295] Packages needed by the future expression (n = 0): [13:31:19.295] Packages needed by future strategies (n = 0): [13:31:19.295] { [13:31:19.295] { [13:31:19.295] { [13:31:19.295] ...future.startTime <- base::Sys.time() [13:31:19.295] { [13:31:19.295] { [13:31:19.295] { [13:31:19.295] base::local({ [13:31:19.295] has_future <- base::requireNamespace("future", [13:31:19.295] quietly = TRUE) [13:31:19.295] if (has_future) { [13:31:19.295] ns <- base::getNamespace("future") [13:31:19.295] version <- ns[[".package"]][["version"]] [13:31:19.295] if (is.null(version)) [13:31:19.295] version <- utils::packageVersion("future") [13:31:19.295] } [13:31:19.295] else { [13:31:19.295] version <- NULL [13:31:19.295] } [13:31:19.295] if (!has_future || version < "1.8.0") { [13:31:19.295] info <- base::c(r_version = base::gsub("R version ", [13:31:19.295] "", base::R.version$version.string), [13:31:19.295] platform = base::sprintf("%s (%s-bit)", [13:31:19.295] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:19.295] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:19.295] "release", "version")], collapse = " "), [13:31:19.295] hostname = base::Sys.info()[["nodename"]]) [13:31:19.295] info <- base::sprintf("%s: %s", base::names(info), [13:31:19.295] info) [13:31:19.295] info <- base::paste(info, collapse = "; ") [13:31:19.295] if (!has_future) { [13:31:19.295] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:19.295] info) [13:31:19.295] } [13:31:19.295] else { [13:31:19.295] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:19.295] info, version) [13:31:19.295] } [13:31:19.295] base::stop(msg) [13:31:19.295] } [13:31:19.295] }) [13:31:19.295] } [13:31:19.295] ...future.strategy.old <- future::plan("list") [13:31:19.295] options(future.plan = NULL) [13:31:19.295] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.295] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:19.295] } [13:31:19.295] ...future.workdir <- getwd() [13:31:19.295] } [13:31:19.295] ...future.oldOptions <- base::as.list(base::.Options) [13:31:19.295] ...future.oldEnvVars <- base::Sys.getenv() [13:31:19.295] } [13:31:19.295] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:19.295] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:19.295] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:19.295] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:19.295] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:19.295] future.stdout.windows.reencode = NULL, width = 80L) [13:31:19.295] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:19.295] base::names(...future.oldOptions)) [13:31:19.295] } [13:31:19.295] if (FALSE) { [13:31:19.295] } [13:31:19.295] else { [13:31:19.295] if (TRUE) { [13:31:19.295] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:19.295] open = "w") [13:31:19.295] } [13:31:19.295] else { [13:31:19.295] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:19.295] windows = "NUL", "/dev/null"), open = "w") [13:31:19.295] } [13:31:19.295] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:19.295] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:19.295] base::sink(type = "output", split = FALSE) [13:31:19.295] base::close(...future.stdout) [13:31:19.295] }, add = TRUE) [13:31:19.295] } [13:31:19.295] ...future.frame <- base::sys.nframe() [13:31:19.295] ...future.conditions <- base::list() [13:31:19.295] ...future.rng <- base::globalenv()$.Random.seed [13:31:19.295] if (FALSE) { [13:31:19.295] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:19.295] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:19.295] } [13:31:19.295] ...future.result <- base::tryCatch({ [13:31:19.295] base::withCallingHandlers({ [13:31:19.295] ...future.value <- base::withVisible(base::local(NA)) [13:31:19.295] future::FutureResult(value = ...future.value$value, [13:31:19.295] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.295] ...future.rng), globalenv = if (FALSE) [13:31:19.295] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:19.295] ...future.globalenv.names)) [13:31:19.295] else NULL, started = ...future.startTime, version = "1.8") [13:31:19.295] }, condition = base::local({ [13:31:19.295] c <- base::c [13:31:19.295] inherits <- base::inherits [13:31:19.295] invokeRestart <- base::invokeRestart [13:31:19.295] length <- base::length [13:31:19.295] list <- base::list [13:31:19.295] seq.int <- base::seq.int [13:31:19.295] signalCondition <- base::signalCondition [13:31:19.295] sys.calls <- base::sys.calls [13:31:19.295] `[[` <- base::`[[` [13:31:19.295] `+` <- base::`+` [13:31:19.295] `<<-` <- base::`<<-` [13:31:19.295] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:19.295] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:19.295] 3L)] [13:31:19.295] } [13:31:19.295] function(cond) { [13:31:19.295] is_error <- inherits(cond, "error") [13:31:19.295] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:19.295] NULL) [13:31:19.295] if (is_error) { [13:31:19.295] sessionInformation <- function() { [13:31:19.295] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:19.295] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:19.295] search = base::search(), system = base::Sys.info()) [13:31:19.295] } [13:31:19.295] ...future.conditions[[length(...future.conditions) + [13:31:19.295] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:19.295] cond$call), session = sessionInformation(), [13:31:19.295] timestamp = base::Sys.time(), signaled = 0L) [13:31:19.295] signalCondition(cond) [13:31:19.295] } [13:31:19.295] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:19.295] signal <- FALSE && inherits(cond, character(0)) [13:31:19.295] ...future.conditions[[length(...future.conditions) + [13:31:19.295] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:19.295] if (FALSE && !signal) { [13:31:19.295] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.295] { [13:31:19.295] inherits <- base::inherits [13:31:19.295] invokeRestart <- base::invokeRestart [13:31:19.295] is.null <- base::is.null [13:31:19.295] muffled <- FALSE [13:31:19.295] if (inherits(cond, "message")) { [13:31:19.295] muffled <- grepl(pattern, "muffleMessage") [13:31:19.295] if (muffled) [13:31:19.295] invokeRestart("muffleMessage") [13:31:19.295] } [13:31:19.295] else if (inherits(cond, "warning")) { [13:31:19.295] muffled <- grepl(pattern, "muffleWarning") [13:31:19.295] if (muffled) [13:31:19.295] invokeRestart("muffleWarning") [13:31:19.295] } [13:31:19.295] else if (inherits(cond, "condition")) { [13:31:19.295] if (!is.null(pattern)) { [13:31:19.295] computeRestarts <- base::computeRestarts [13:31:19.295] grepl <- base::grepl [13:31:19.295] restarts <- computeRestarts(cond) [13:31:19.295] for (restart in restarts) { [13:31:19.295] name <- restart$name [13:31:19.295] if (is.null(name)) [13:31:19.295] next [13:31:19.295] if (!grepl(pattern, name)) [13:31:19.295] next [13:31:19.295] invokeRestart(restart) [13:31:19.295] muffled <- TRUE [13:31:19.295] break [13:31:19.295] } [13:31:19.295] } [13:31:19.295] } [13:31:19.295] invisible(muffled) [13:31:19.295] } [13:31:19.295] muffleCondition(cond, pattern = "^muffle") [13:31:19.295] } [13:31:19.295] } [13:31:19.295] else { [13:31:19.295] if (TRUE) { [13:31:19.295] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.295] { [13:31:19.295] inherits <- base::inherits [13:31:19.295] invokeRestart <- base::invokeRestart [13:31:19.295] is.null <- base::is.null [13:31:19.295] muffled <- FALSE [13:31:19.295] if (inherits(cond, "message")) { [13:31:19.295] muffled <- grepl(pattern, "muffleMessage") [13:31:19.295] if (muffled) [13:31:19.295] invokeRestart("muffleMessage") [13:31:19.295] } [13:31:19.295] else if (inherits(cond, "warning")) { [13:31:19.295] muffled <- grepl(pattern, "muffleWarning") [13:31:19.295] if (muffled) [13:31:19.295] invokeRestart("muffleWarning") [13:31:19.295] } [13:31:19.295] else if (inherits(cond, "condition")) { [13:31:19.295] if (!is.null(pattern)) { [13:31:19.295] computeRestarts <- base::computeRestarts [13:31:19.295] grepl <- base::grepl [13:31:19.295] restarts <- computeRestarts(cond) [13:31:19.295] for (restart in restarts) { [13:31:19.295] name <- restart$name [13:31:19.295] if (is.null(name)) [13:31:19.295] next [13:31:19.295] if (!grepl(pattern, name)) [13:31:19.295] next [13:31:19.295] invokeRestart(restart) [13:31:19.295] muffled <- TRUE [13:31:19.295] break [13:31:19.295] } [13:31:19.295] } [13:31:19.295] } [13:31:19.295] invisible(muffled) [13:31:19.295] } [13:31:19.295] muffleCondition(cond, pattern = "^muffle") [13:31:19.295] } [13:31:19.295] } [13:31:19.295] } [13:31:19.295] })) [13:31:19.295] }, error = function(ex) { [13:31:19.295] base::structure(base::list(value = NULL, visible = NULL, [13:31:19.295] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.295] ...future.rng), started = ...future.startTime, [13:31:19.295] finished = Sys.time(), session_uuid = NA_character_, [13:31:19.295] version = "1.8"), class = "FutureResult") [13:31:19.295] }, finally = { [13:31:19.295] if (!identical(...future.workdir, getwd())) [13:31:19.295] setwd(...future.workdir) [13:31:19.295] { [13:31:19.295] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:19.295] ...future.oldOptions$nwarnings <- NULL [13:31:19.295] } [13:31:19.295] base::options(...future.oldOptions) [13:31:19.295] if (.Platform$OS.type == "windows") { [13:31:19.295] old_names <- names(...future.oldEnvVars) [13:31:19.295] envs <- base::Sys.getenv() [13:31:19.295] names <- names(envs) [13:31:19.295] common <- intersect(names, old_names) [13:31:19.295] added <- setdiff(names, old_names) [13:31:19.295] removed <- setdiff(old_names, names) [13:31:19.295] changed <- common[...future.oldEnvVars[common] != [13:31:19.295] envs[common]] [13:31:19.295] NAMES <- toupper(changed) [13:31:19.295] args <- list() [13:31:19.295] for (kk in seq_along(NAMES)) { [13:31:19.295] name <- changed[[kk]] [13:31:19.295] NAME <- NAMES[[kk]] [13:31:19.295] if (name != NAME && is.element(NAME, old_names)) [13:31:19.295] next [13:31:19.295] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.295] } [13:31:19.295] NAMES <- toupper(added) [13:31:19.295] for (kk in seq_along(NAMES)) { [13:31:19.295] name <- added[[kk]] [13:31:19.295] NAME <- NAMES[[kk]] [13:31:19.295] if (name != NAME && is.element(NAME, old_names)) [13:31:19.295] next [13:31:19.295] args[[name]] <- "" [13:31:19.295] } [13:31:19.295] NAMES <- toupper(removed) [13:31:19.295] for (kk in seq_along(NAMES)) { [13:31:19.295] name <- removed[[kk]] [13:31:19.295] NAME <- NAMES[[kk]] [13:31:19.295] if (name != NAME && is.element(NAME, old_names)) [13:31:19.295] next [13:31:19.295] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.295] } [13:31:19.295] if (length(args) > 0) [13:31:19.295] base::do.call(base::Sys.setenv, args = args) [13:31:19.295] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:19.295] } [13:31:19.295] else { [13:31:19.295] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:19.295] } [13:31:19.295] { [13:31:19.295] if (base::length(...future.futureOptionsAdded) > [13:31:19.295] 0L) { [13:31:19.295] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:19.295] base::names(opts) <- ...future.futureOptionsAdded [13:31:19.295] base::options(opts) [13:31:19.295] } [13:31:19.295] { [13:31:19.295] NULL [13:31:19.295] options(future.plan = NULL) [13:31:19.295] if (is.na(NA_character_)) [13:31:19.295] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.295] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:19.295] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:19.295] .init = FALSE) [13:31:19.295] } [13:31:19.295] } [13:31:19.295] } [13:31:19.295] }) [13:31:19.295] if (TRUE) { [13:31:19.295] base::sink(type = "output", split = FALSE) [13:31:19.295] if (TRUE) { [13:31:19.295] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:19.295] } [13:31:19.295] else { [13:31:19.295] ...future.result["stdout"] <- base::list(NULL) [13:31:19.295] } [13:31:19.295] base::close(...future.stdout) [13:31:19.295] ...future.stdout <- NULL [13:31:19.295] } [13:31:19.295] ...future.result$conditions <- ...future.conditions [13:31:19.295] ...future.result$finished <- base::Sys.time() [13:31:19.295] ...future.result [13:31:19.295] } [13:31:19.412] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:31:19.413] 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:31:19.441] getGlobalsAndPackages() ... [13:31:19.441] Searching for globals... [13:31:19.450] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:31:19.450] Searching for globals ... DONE [13:31:19.451] Resolving globals: FALSE [13:31:19.451] [13:31:19.452] - packages: [1] 'utils' [13:31:19.452] getGlobalsAndPackages() ... DONE [13:31:19.452] run() for 'Future' ... [13:31:19.453] - state: 'created' [13:31:19.453] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:19.455] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:19.455] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:19.456] - Field: 'label' [13:31:19.456] - Field: 'local' [13:31:19.456] - Field: 'owner' [13:31:19.456] - Field: 'envir' [13:31:19.456] - Field: 'packages' [13:31:19.456] - Field: 'gc' [13:31:19.457] - Field: 'conditions' [13:31:19.457] - Field: 'expr' [13:31:19.457] - Field: 'uuid' [13:31:19.457] - Field: 'seed' [13:31:19.457] - Field: 'version' [13:31:19.457] - Field: 'result' [13:31:19.458] - Field: 'asynchronous' [13:31:19.458] - Field: 'calls' [13:31:19.458] - Field: 'globals' [13:31:19.458] - Field: 'stdout' [13:31:19.458] - Field: 'earlySignal' [13:31:19.458] - Field: 'lazy' [13:31:19.459] - Field: 'state' [13:31:19.459] - Field: '.cluster' [13:31:19.459] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:19.459] - Launch lazy future ... [13:31:19.459] Packages needed by the future expression (n = 1): 'utils' [13:31:19.460] Packages needed by future strategies (n = 0): [13:31:19.460] { [13:31:19.460] { [13:31:19.460] { [13:31:19.460] ...future.startTime <- base::Sys.time() [13:31:19.460] { [13:31:19.460] { [13:31:19.460] { [13:31:19.460] { [13:31:19.460] base::local({ [13:31:19.460] has_future <- base::requireNamespace("future", [13:31:19.460] quietly = TRUE) [13:31:19.460] if (has_future) { [13:31:19.460] ns <- base::getNamespace("future") [13:31:19.460] version <- ns[[".package"]][["version"]] [13:31:19.460] if (is.null(version)) [13:31:19.460] version <- utils::packageVersion("future") [13:31:19.460] } [13:31:19.460] else { [13:31:19.460] version <- NULL [13:31:19.460] } [13:31:19.460] if (!has_future || version < "1.8.0") { [13:31:19.460] info <- base::c(r_version = base::gsub("R version ", [13:31:19.460] "", base::R.version$version.string), [13:31:19.460] platform = base::sprintf("%s (%s-bit)", [13:31:19.460] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:19.460] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:19.460] "release", "version")], collapse = " "), [13:31:19.460] hostname = base::Sys.info()[["nodename"]]) [13:31:19.460] info <- base::sprintf("%s: %s", base::names(info), [13:31:19.460] info) [13:31:19.460] info <- base::paste(info, collapse = "; ") [13:31:19.460] if (!has_future) { [13:31:19.460] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:19.460] info) [13:31:19.460] } [13:31:19.460] else { [13:31:19.460] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:19.460] info, version) [13:31:19.460] } [13:31:19.460] base::stop(msg) [13:31:19.460] } [13:31:19.460] }) [13:31:19.460] } [13:31:19.460] base::local({ [13:31:19.460] for (pkg in "utils") { [13:31:19.460] base::loadNamespace(pkg) [13:31:19.460] base::library(pkg, character.only = TRUE) [13:31:19.460] } [13:31:19.460] }) [13:31:19.460] } [13:31:19.460] ...future.strategy.old <- future::plan("list") [13:31:19.460] options(future.plan = NULL) [13:31:19.460] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.460] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:19.460] } [13:31:19.460] ...future.workdir <- getwd() [13:31:19.460] } [13:31:19.460] ...future.oldOptions <- base::as.list(base::.Options) [13:31:19.460] ...future.oldEnvVars <- base::Sys.getenv() [13:31:19.460] } [13:31:19.460] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:19.460] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:19.460] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:19.460] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:19.460] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:19.460] future.stdout.windows.reencode = NULL, width = 80L) [13:31:19.460] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:19.460] base::names(...future.oldOptions)) [13:31:19.460] } [13:31:19.460] if (FALSE) { [13:31:19.460] } [13:31:19.460] else { [13:31:19.460] if (TRUE) { [13:31:19.460] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:19.460] open = "w") [13:31:19.460] } [13:31:19.460] else { [13:31:19.460] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:19.460] windows = "NUL", "/dev/null"), open = "w") [13:31:19.460] } [13:31:19.460] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:19.460] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:19.460] base::sink(type = "output", split = FALSE) [13:31:19.460] base::close(...future.stdout) [13:31:19.460] }, add = TRUE) [13:31:19.460] } [13:31:19.460] ...future.frame <- base::sys.nframe() [13:31:19.460] ...future.conditions <- base::list() [13:31:19.460] ...future.rng <- base::globalenv()$.Random.seed [13:31:19.460] if (FALSE) { [13:31:19.460] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:19.460] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:19.460] } [13:31:19.460] ...future.result <- base::tryCatch({ [13:31:19.460] base::withCallingHandlers({ [13:31:19.460] ...future.value <- base::withVisible(base::local({ [13:31:19.460] print(1:50) [13:31:19.460] str(1:50) [13:31:19.460] cat(letters, sep = "-") [13:31:19.460] cat(1:6, collapse = "\n") [13:31:19.460] write.table(datasets::iris[1:10, ], sep = "\t") [13:31:19.460] 42L [13:31:19.460] })) [13:31:19.460] future::FutureResult(value = ...future.value$value, [13:31:19.460] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.460] ...future.rng), globalenv = if (FALSE) [13:31:19.460] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:19.460] ...future.globalenv.names)) [13:31:19.460] else NULL, started = ...future.startTime, version = "1.8") [13:31:19.460] }, condition = base::local({ [13:31:19.460] c <- base::c [13:31:19.460] inherits <- base::inherits [13:31:19.460] invokeRestart <- base::invokeRestart [13:31:19.460] length <- base::length [13:31:19.460] list <- base::list [13:31:19.460] seq.int <- base::seq.int [13:31:19.460] signalCondition <- base::signalCondition [13:31:19.460] sys.calls <- base::sys.calls [13:31:19.460] `[[` <- base::`[[` [13:31:19.460] `+` <- base::`+` [13:31:19.460] `<<-` <- base::`<<-` [13:31:19.460] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:19.460] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:19.460] 3L)] [13:31:19.460] } [13:31:19.460] function(cond) { [13:31:19.460] is_error <- inherits(cond, "error") [13:31:19.460] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:19.460] NULL) [13:31:19.460] if (is_error) { [13:31:19.460] sessionInformation <- function() { [13:31:19.460] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:19.460] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:19.460] search = base::search(), system = base::Sys.info()) [13:31:19.460] } [13:31:19.460] ...future.conditions[[length(...future.conditions) + [13:31:19.460] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:19.460] cond$call), session = sessionInformation(), [13:31:19.460] timestamp = base::Sys.time(), signaled = 0L) [13:31:19.460] signalCondition(cond) [13:31:19.460] } [13:31:19.460] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:19.460] signal <- FALSE && inherits(cond, character(0)) [13:31:19.460] ...future.conditions[[length(...future.conditions) + [13:31:19.460] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:19.460] if (FALSE && !signal) { [13:31:19.460] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.460] { [13:31:19.460] inherits <- base::inherits [13:31:19.460] invokeRestart <- base::invokeRestart [13:31:19.460] is.null <- base::is.null [13:31:19.460] muffled <- FALSE [13:31:19.460] if (inherits(cond, "message")) { [13:31:19.460] muffled <- grepl(pattern, "muffleMessage") [13:31:19.460] if (muffled) [13:31:19.460] invokeRestart("muffleMessage") [13:31:19.460] } [13:31:19.460] else if (inherits(cond, "warning")) { [13:31:19.460] muffled <- grepl(pattern, "muffleWarning") [13:31:19.460] if (muffled) [13:31:19.460] invokeRestart("muffleWarning") [13:31:19.460] } [13:31:19.460] else if (inherits(cond, "condition")) { [13:31:19.460] if (!is.null(pattern)) { [13:31:19.460] computeRestarts <- base::computeRestarts [13:31:19.460] grepl <- base::grepl [13:31:19.460] restarts <- computeRestarts(cond) [13:31:19.460] for (restart in restarts) { [13:31:19.460] name <- restart$name [13:31:19.460] if (is.null(name)) [13:31:19.460] next [13:31:19.460] if (!grepl(pattern, name)) [13:31:19.460] next [13:31:19.460] invokeRestart(restart) [13:31:19.460] muffled <- TRUE [13:31:19.460] break [13:31:19.460] } [13:31:19.460] } [13:31:19.460] } [13:31:19.460] invisible(muffled) [13:31:19.460] } [13:31:19.460] muffleCondition(cond, pattern = "^muffle") [13:31:19.460] } [13:31:19.460] } [13:31:19.460] else { [13:31:19.460] if (TRUE) { [13:31:19.460] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.460] { [13:31:19.460] inherits <- base::inherits [13:31:19.460] invokeRestart <- base::invokeRestart [13:31:19.460] is.null <- base::is.null [13:31:19.460] muffled <- FALSE [13:31:19.460] if (inherits(cond, "message")) { [13:31:19.460] muffled <- grepl(pattern, "muffleMessage") [13:31:19.460] if (muffled) [13:31:19.460] invokeRestart("muffleMessage") [13:31:19.460] } [13:31:19.460] else if (inherits(cond, "warning")) { [13:31:19.460] muffled <- grepl(pattern, "muffleWarning") [13:31:19.460] if (muffled) [13:31:19.460] invokeRestart("muffleWarning") [13:31:19.460] } [13:31:19.460] else if (inherits(cond, "condition")) { [13:31:19.460] if (!is.null(pattern)) { [13:31:19.460] computeRestarts <- base::computeRestarts [13:31:19.460] grepl <- base::grepl [13:31:19.460] restarts <- computeRestarts(cond) [13:31:19.460] for (restart in restarts) { [13:31:19.460] name <- restart$name [13:31:19.460] if (is.null(name)) [13:31:19.460] next [13:31:19.460] if (!grepl(pattern, name)) [13:31:19.460] next [13:31:19.460] invokeRestart(restart) [13:31:19.460] muffled <- TRUE [13:31:19.460] break [13:31:19.460] } [13:31:19.460] } [13:31:19.460] } [13:31:19.460] invisible(muffled) [13:31:19.460] } [13:31:19.460] muffleCondition(cond, pattern = "^muffle") [13:31:19.460] } [13:31:19.460] } [13:31:19.460] } [13:31:19.460] })) [13:31:19.460] }, error = function(ex) { [13:31:19.460] base::structure(base::list(value = NULL, visible = NULL, [13:31:19.460] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.460] ...future.rng), started = ...future.startTime, [13:31:19.460] finished = Sys.time(), session_uuid = NA_character_, [13:31:19.460] version = "1.8"), class = "FutureResult") [13:31:19.460] }, finally = { [13:31:19.460] if (!identical(...future.workdir, getwd())) [13:31:19.460] setwd(...future.workdir) [13:31:19.460] { [13:31:19.460] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:19.460] ...future.oldOptions$nwarnings <- NULL [13:31:19.460] } [13:31:19.460] base::options(...future.oldOptions) [13:31:19.460] if (.Platform$OS.type == "windows") { [13:31:19.460] old_names <- names(...future.oldEnvVars) [13:31:19.460] envs <- base::Sys.getenv() [13:31:19.460] names <- names(envs) [13:31:19.460] common <- intersect(names, old_names) [13:31:19.460] added <- setdiff(names, old_names) [13:31:19.460] removed <- setdiff(old_names, names) [13:31:19.460] changed <- common[...future.oldEnvVars[common] != [13:31:19.460] envs[common]] [13:31:19.460] NAMES <- toupper(changed) [13:31:19.460] args <- list() [13:31:19.460] for (kk in seq_along(NAMES)) { [13:31:19.460] name <- changed[[kk]] [13:31:19.460] NAME <- NAMES[[kk]] [13:31:19.460] if (name != NAME && is.element(NAME, old_names)) [13:31:19.460] next [13:31:19.460] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.460] } [13:31:19.460] NAMES <- toupper(added) [13:31:19.460] for (kk in seq_along(NAMES)) { [13:31:19.460] name <- added[[kk]] [13:31:19.460] NAME <- NAMES[[kk]] [13:31:19.460] if (name != NAME && is.element(NAME, old_names)) [13:31:19.460] next [13:31:19.460] args[[name]] <- "" [13:31:19.460] } [13:31:19.460] NAMES <- toupper(removed) [13:31:19.460] for (kk in seq_along(NAMES)) { [13:31:19.460] name <- removed[[kk]] [13:31:19.460] NAME <- NAMES[[kk]] [13:31:19.460] if (name != NAME && is.element(NAME, old_names)) [13:31:19.460] next [13:31:19.460] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.460] } [13:31:19.460] if (length(args) > 0) [13:31:19.460] base::do.call(base::Sys.setenv, args = args) [13:31:19.460] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:19.460] } [13:31:19.460] else { [13:31:19.460] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:19.460] } [13:31:19.460] { [13:31:19.460] if (base::length(...future.futureOptionsAdded) > [13:31:19.460] 0L) { [13:31:19.460] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:19.460] base::names(opts) <- ...future.futureOptionsAdded [13:31:19.460] base::options(opts) [13:31:19.460] } [13:31:19.460] { [13:31:19.460] NULL [13:31:19.460] options(future.plan = NULL) [13:31:19.460] if (is.na(NA_character_)) [13:31:19.460] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.460] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:19.460] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:19.460] .init = FALSE) [13:31:19.460] } [13:31:19.460] } [13:31:19.460] } [13:31:19.460] }) [13:31:19.460] if (TRUE) { [13:31:19.460] base::sink(type = "output", split = FALSE) [13:31:19.460] if (TRUE) { [13:31:19.460] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:19.460] } [13:31:19.460] else { [13:31:19.460] ...future.result["stdout"] <- base::list(NULL) [13:31:19.460] } [13:31:19.460] base::close(...future.stdout) [13:31:19.460] ...future.stdout <- NULL [13:31:19.460] } [13:31:19.460] ...future.result$conditions <- ...future.conditions [13:31:19.460] ...future.result$finished <- base::Sys.time() [13:31:19.460] ...future.result [13:31:19.460] } [13:31:19.464] - Launch lazy future ... done [13:31:19.464] 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-07-03 13:31:19" $ finished : POSIXct[1:1], format: "2024-07-03 13:31:19" $ session_uuid: chr "ffd33dd7-c102-630d-f6af-5ef068cea91e" ..- 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 111168 .. ..$ time : POSIXct[1:1], format: "2024-07-03 13:31:19" .. ..$ 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 5 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.006211996 secs (started 2024-07-03 13:31:19.465141) version: 1.8 [13:31:19.484] getGlobalsAndPackages() ... [13:31:19.484] Searching for globals... [13:31:19.487] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:31:19.488] Searching for globals ... DONE [13:31:19.488] Resolving globals: FALSE [13:31:19.488] [13:31:19.488] - packages: [1] 'utils' [13:31:19.489] getGlobalsAndPackages() ... DONE [13:31:19.489] run() for 'Future' ... [13:31:19.489] - state: 'created' [13:31:19.489] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:19.492] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:19.492] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:19.492] - Field: 'label' [13:31:19.492] - Field: 'local' [13:31:19.492] - Field: 'owner' [13:31:19.493] - Field: 'envir' [13:31:19.493] - Field: 'packages' [13:31:19.493] - Field: 'gc' [13:31:19.493] - Field: 'conditions' [13:31:19.493] - Field: 'expr' [13:31:19.493] - Field: 'uuid' [13:31:19.494] - Field: 'seed' [13:31:19.494] - Field: 'version' [13:31:19.494] - Field: 'result' [13:31:19.494] - Field: 'asynchronous' [13:31:19.494] - Field: 'calls' [13:31:19.494] - Field: 'globals' [13:31:19.495] - Field: 'stdout' [13:31:19.495] - Field: 'earlySignal' [13:31:19.495] - Field: 'lazy' [13:31:19.495] - Field: 'state' [13:31:19.495] - Field: '.cluster' [13:31:19.495] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:19.496] - Launch lazy future ... [13:31:19.496] Packages needed by the future expression (n = 1): 'utils' [13:31:19.496] Packages needed by future strategies (n = 0): [13:31:19.497] { [13:31:19.497] { [13:31:19.497] { [13:31:19.497] ...future.startTime <- base::Sys.time() [13:31:19.497] { [13:31:19.497] { [13:31:19.497] { [13:31:19.497] { [13:31:19.497] base::local({ [13:31:19.497] has_future <- base::requireNamespace("future", [13:31:19.497] quietly = TRUE) [13:31:19.497] if (has_future) { [13:31:19.497] ns <- base::getNamespace("future") [13:31:19.497] version <- ns[[".package"]][["version"]] [13:31:19.497] if (is.null(version)) [13:31:19.497] version <- utils::packageVersion("future") [13:31:19.497] } [13:31:19.497] else { [13:31:19.497] version <- NULL [13:31:19.497] } [13:31:19.497] if (!has_future || version < "1.8.0") { [13:31:19.497] info <- base::c(r_version = base::gsub("R version ", [13:31:19.497] "", base::R.version$version.string), [13:31:19.497] platform = base::sprintf("%s (%s-bit)", [13:31:19.497] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:19.497] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:19.497] "release", "version")], collapse = " "), [13:31:19.497] hostname = base::Sys.info()[["nodename"]]) [13:31:19.497] info <- base::sprintf("%s: %s", base::names(info), [13:31:19.497] info) [13:31:19.497] info <- base::paste(info, collapse = "; ") [13:31:19.497] if (!has_future) { [13:31:19.497] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:19.497] info) [13:31:19.497] } [13:31:19.497] else { [13:31:19.497] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:19.497] info, version) [13:31:19.497] } [13:31:19.497] base::stop(msg) [13:31:19.497] } [13:31:19.497] }) [13:31:19.497] } [13:31:19.497] base::local({ [13:31:19.497] for (pkg in "utils") { [13:31:19.497] base::loadNamespace(pkg) [13:31:19.497] base::library(pkg, character.only = TRUE) [13:31:19.497] } [13:31:19.497] }) [13:31:19.497] } [13:31:19.497] ...future.strategy.old <- future::plan("list") [13:31:19.497] options(future.plan = NULL) [13:31:19.497] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.497] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:19.497] } [13:31:19.497] ...future.workdir <- getwd() [13:31:19.497] } [13:31:19.497] ...future.oldOptions <- base::as.list(base::.Options) [13:31:19.497] ...future.oldEnvVars <- base::Sys.getenv() [13:31:19.497] } [13:31:19.497] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:19.497] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:19.497] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:19.497] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:19.497] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:19.497] future.stdout.windows.reencode = NULL, width = 80L) [13:31:19.497] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:19.497] base::names(...future.oldOptions)) [13:31:19.497] } [13:31:19.497] if (FALSE) { [13:31:19.497] } [13:31:19.497] else { [13:31:19.497] if (TRUE) { [13:31:19.497] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:19.497] open = "w") [13:31:19.497] } [13:31:19.497] else { [13:31:19.497] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:19.497] windows = "NUL", "/dev/null"), open = "w") [13:31:19.497] } [13:31:19.497] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:19.497] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:19.497] base::sink(type = "output", split = FALSE) [13:31:19.497] base::close(...future.stdout) [13:31:19.497] }, add = TRUE) [13:31:19.497] } [13:31:19.497] ...future.frame <- base::sys.nframe() [13:31:19.497] ...future.conditions <- base::list() [13:31:19.497] ...future.rng <- base::globalenv()$.Random.seed [13:31:19.497] if (FALSE) { [13:31:19.497] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:19.497] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:19.497] } [13:31:19.497] ...future.result <- base::tryCatch({ [13:31:19.497] base::withCallingHandlers({ [13:31:19.497] ...future.value <- base::withVisible(base::local({ [13:31:19.497] print(1:50) [13:31:19.497] str(1:50) [13:31:19.497] cat(letters, sep = "-") [13:31:19.497] cat(1:6, collapse = "\n") [13:31:19.497] write.table(datasets::iris[1:10, ], sep = "\t") [13:31:19.497] 42L [13:31:19.497] })) [13:31:19.497] future::FutureResult(value = ...future.value$value, [13:31:19.497] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.497] ...future.rng), globalenv = if (FALSE) [13:31:19.497] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:19.497] ...future.globalenv.names)) [13:31:19.497] else NULL, started = ...future.startTime, version = "1.8") [13:31:19.497] }, condition = base::local({ [13:31:19.497] c <- base::c [13:31:19.497] inherits <- base::inherits [13:31:19.497] invokeRestart <- base::invokeRestart [13:31:19.497] length <- base::length [13:31:19.497] list <- base::list [13:31:19.497] seq.int <- base::seq.int [13:31:19.497] signalCondition <- base::signalCondition [13:31:19.497] sys.calls <- base::sys.calls [13:31:19.497] `[[` <- base::`[[` [13:31:19.497] `+` <- base::`+` [13:31:19.497] `<<-` <- base::`<<-` [13:31:19.497] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:19.497] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:19.497] 3L)] [13:31:19.497] } [13:31:19.497] function(cond) { [13:31:19.497] is_error <- inherits(cond, "error") [13:31:19.497] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:19.497] NULL) [13:31:19.497] if (is_error) { [13:31:19.497] sessionInformation <- function() { [13:31:19.497] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:19.497] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:19.497] search = base::search(), system = base::Sys.info()) [13:31:19.497] } [13:31:19.497] ...future.conditions[[length(...future.conditions) + [13:31:19.497] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:19.497] cond$call), session = sessionInformation(), [13:31:19.497] timestamp = base::Sys.time(), signaled = 0L) [13:31:19.497] signalCondition(cond) [13:31:19.497] } [13:31:19.497] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:19.497] signal <- FALSE && inherits(cond, character(0)) [13:31:19.497] ...future.conditions[[length(...future.conditions) + [13:31:19.497] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:19.497] if (FALSE && !signal) { [13:31:19.497] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.497] { [13:31:19.497] inherits <- base::inherits [13:31:19.497] invokeRestart <- base::invokeRestart [13:31:19.497] is.null <- base::is.null [13:31:19.497] muffled <- FALSE [13:31:19.497] if (inherits(cond, "message")) { [13:31:19.497] muffled <- grepl(pattern, "muffleMessage") [13:31:19.497] if (muffled) [13:31:19.497] invokeRestart("muffleMessage") [13:31:19.497] } [13:31:19.497] else if (inherits(cond, "warning")) { [13:31:19.497] muffled <- grepl(pattern, "muffleWarning") [13:31:19.497] if (muffled) [13:31:19.497] invokeRestart("muffleWarning") [13:31:19.497] } [13:31:19.497] else if (inherits(cond, "condition")) { [13:31:19.497] if (!is.null(pattern)) { [13:31:19.497] computeRestarts <- base::computeRestarts [13:31:19.497] grepl <- base::grepl [13:31:19.497] restarts <- computeRestarts(cond) [13:31:19.497] for (restart in restarts) { [13:31:19.497] name <- restart$name [13:31:19.497] if (is.null(name)) [13:31:19.497] next [13:31:19.497] if (!grepl(pattern, name)) [13:31:19.497] next [13:31:19.497] invokeRestart(restart) [13:31:19.497] muffled <- TRUE [13:31:19.497] break [13:31:19.497] } [13:31:19.497] } [13:31:19.497] } [13:31:19.497] invisible(muffled) [13:31:19.497] } [13:31:19.497] muffleCondition(cond, pattern = "^muffle") [13:31:19.497] } [13:31:19.497] } [13:31:19.497] else { [13:31:19.497] if (TRUE) { [13:31:19.497] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.497] { [13:31:19.497] inherits <- base::inherits [13:31:19.497] invokeRestart <- base::invokeRestart [13:31:19.497] is.null <- base::is.null [13:31:19.497] muffled <- FALSE [13:31:19.497] if (inherits(cond, "message")) { [13:31:19.497] muffled <- grepl(pattern, "muffleMessage") [13:31:19.497] if (muffled) [13:31:19.497] invokeRestart("muffleMessage") [13:31:19.497] } [13:31:19.497] else if (inherits(cond, "warning")) { [13:31:19.497] muffled <- grepl(pattern, "muffleWarning") [13:31:19.497] if (muffled) [13:31:19.497] invokeRestart("muffleWarning") [13:31:19.497] } [13:31:19.497] else if (inherits(cond, "condition")) { [13:31:19.497] if (!is.null(pattern)) { [13:31:19.497] computeRestarts <- base::computeRestarts [13:31:19.497] grepl <- base::grepl [13:31:19.497] restarts <- computeRestarts(cond) [13:31:19.497] for (restart in restarts) { [13:31:19.497] name <- restart$name [13:31:19.497] if (is.null(name)) [13:31:19.497] next [13:31:19.497] if (!grepl(pattern, name)) [13:31:19.497] next [13:31:19.497] invokeRestart(restart) [13:31:19.497] muffled <- TRUE [13:31:19.497] break [13:31:19.497] } [13:31:19.497] } [13:31:19.497] } [13:31:19.497] invisible(muffled) [13:31:19.497] } [13:31:19.497] muffleCondition(cond, pattern = "^muffle") [13:31:19.497] } [13:31:19.497] } [13:31:19.497] } [13:31:19.497] })) [13:31:19.497] }, error = function(ex) { [13:31:19.497] base::structure(base::list(value = NULL, visible = NULL, [13:31:19.497] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.497] ...future.rng), started = ...future.startTime, [13:31:19.497] finished = Sys.time(), session_uuid = NA_character_, [13:31:19.497] version = "1.8"), class = "FutureResult") [13:31:19.497] }, finally = { [13:31:19.497] if (!identical(...future.workdir, getwd())) [13:31:19.497] setwd(...future.workdir) [13:31:19.497] { [13:31:19.497] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:19.497] ...future.oldOptions$nwarnings <- NULL [13:31:19.497] } [13:31:19.497] base::options(...future.oldOptions) [13:31:19.497] if (.Platform$OS.type == "windows") { [13:31:19.497] old_names <- names(...future.oldEnvVars) [13:31:19.497] envs <- base::Sys.getenv() [13:31:19.497] names <- names(envs) [13:31:19.497] common <- intersect(names, old_names) [13:31:19.497] added <- setdiff(names, old_names) [13:31:19.497] removed <- setdiff(old_names, names) [13:31:19.497] changed <- common[...future.oldEnvVars[common] != [13:31:19.497] envs[common]] [13:31:19.497] NAMES <- toupper(changed) [13:31:19.497] args <- list() [13:31:19.497] for (kk in seq_along(NAMES)) { [13:31:19.497] name <- changed[[kk]] [13:31:19.497] NAME <- NAMES[[kk]] [13:31:19.497] if (name != NAME && is.element(NAME, old_names)) [13:31:19.497] next [13:31:19.497] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.497] } [13:31:19.497] NAMES <- toupper(added) [13:31:19.497] for (kk in seq_along(NAMES)) { [13:31:19.497] name <- added[[kk]] [13:31:19.497] NAME <- NAMES[[kk]] [13:31:19.497] if (name != NAME && is.element(NAME, old_names)) [13:31:19.497] next [13:31:19.497] args[[name]] <- "" [13:31:19.497] } [13:31:19.497] NAMES <- toupper(removed) [13:31:19.497] for (kk in seq_along(NAMES)) { [13:31:19.497] name <- removed[[kk]] [13:31:19.497] NAME <- NAMES[[kk]] [13:31:19.497] if (name != NAME && is.element(NAME, old_names)) [13:31:19.497] next [13:31:19.497] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.497] } [13:31:19.497] if (length(args) > 0) [13:31:19.497] base::do.call(base::Sys.setenv, args = args) [13:31:19.497] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:19.497] } [13:31:19.497] else { [13:31:19.497] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:19.497] } [13:31:19.497] { [13:31:19.497] if (base::length(...future.futureOptionsAdded) > [13:31:19.497] 0L) { [13:31:19.497] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:19.497] base::names(opts) <- ...future.futureOptionsAdded [13:31:19.497] base::options(opts) [13:31:19.497] } [13:31:19.497] { [13:31:19.497] NULL [13:31:19.497] options(future.plan = NULL) [13:31:19.497] if (is.na(NA_character_)) [13:31:19.497] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.497] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:19.497] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:19.497] .init = FALSE) [13:31:19.497] } [13:31:19.497] } [13:31:19.497] } [13:31:19.497] }) [13:31:19.497] if (TRUE) { [13:31:19.497] base::sink(type = "output", split = FALSE) [13:31:19.497] if (TRUE) { [13:31:19.497] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:19.497] } [13:31:19.497] else { [13:31:19.497] ...future.result["stdout"] <- base::list(NULL) [13:31:19.497] } [13:31:19.497] base::close(...future.stdout) [13:31:19.497] ...future.stdout <- NULL [13:31:19.497] } [13:31:19.497] ...future.result$conditions <- ...future.conditions [13:31:19.497] ...future.result$finished <- base::Sys.time() [13:31:19.497] ...future.result [13:31:19.497] } [13:31:19.500] - Launch lazy future ... done [13:31:19.501] 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:31:19.507] getGlobalsAndPackages() ... [13:31:19.508] Searching for globals... [13:31:19.512] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:31:19.513] Searching for globals ... DONE [13:31:19.513] Resolving globals: FALSE [13:31:19.513] [13:31:19.513] - packages: [1] 'utils' [13:31:19.514] getGlobalsAndPackages() ... DONE [13:31:19.514] run() for 'Future' ... [13:31:19.514] - state: 'created' [13:31:19.514] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:19.517] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:19.517] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:19.517] - Field: 'label' [13:31:19.517] - Field: 'local' [13:31:19.517] - Field: 'owner' [13:31:19.518] - Field: 'envir' [13:31:19.518] - Field: 'packages' [13:31:19.518] - Field: 'gc' [13:31:19.518] - Field: 'conditions' [13:31:19.518] - Field: 'expr' [13:31:19.518] - Field: 'uuid' [13:31:19.519] - Field: 'seed' [13:31:19.519] - Field: 'version' [13:31:19.519] - Field: 'result' [13:31:19.519] - Field: 'asynchronous' [13:31:19.519] - Field: 'calls' [13:31:19.519] - Field: 'globals' [13:31:19.520] - Field: 'stdout' [13:31:19.520] - Field: 'earlySignal' [13:31:19.520] - Field: 'lazy' [13:31:19.520] - Field: 'state' [13:31:19.520] - Field: '.cluster' [13:31:19.520] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:19.521] - Launch lazy future ... [13:31:19.521] Packages needed by the future expression (n = 1): 'utils' [13:31:19.521] Packages needed by future strategies (n = 0): [13:31:19.521] { [13:31:19.521] { [13:31:19.521] { [13:31:19.521] ...future.startTime <- base::Sys.time() [13:31:19.521] { [13:31:19.521] { [13:31:19.521] { [13:31:19.521] { [13:31:19.521] base::local({ [13:31:19.521] has_future <- base::requireNamespace("future", [13:31:19.521] quietly = TRUE) [13:31:19.521] if (has_future) { [13:31:19.521] ns <- base::getNamespace("future") [13:31:19.521] version <- ns[[".package"]][["version"]] [13:31:19.521] if (is.null(version)) [13:31:19.521] version <- utils::packageVersion("future") [13:31:19.521] } [13:31:19.521] else { [13:31:19.521] version <- NULL [13:31:19.521] } [13:31:19.521] if (!has_future || version < "1.8.0") { [13:31:19.521] info <- base::c(r_version = base::gsub("R version ", [13:31:19.521] "", base::R.version$version.string), [13:31:19.521] platform = base::sprintf("%s (%s-bit)", [13:31:19.521] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:19.521] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:19.521] "release", "version")], collapse = " "), [13:31:19.521] hostname = base::Sys.info()[["nodename"]]) [13:31:19.521] info <- base::sprintf("%s: %s", base::names(info), [13:31:19.521] info) [13:31:19.521] info <- base::paste(info, collapse = "; ") [13:31:19.521] if (!has_future) { [13:31:19.521] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:19.521] info) [13:31:19.521] } [13:31:19.521] else { [13:31:19.521] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:19.521] info, version) [13:31:19.521] } [13:31:19.521] base::stop(msg) [13:31:19.521] } [13:31:19.521] }) [13:31:19.521] } [13:31:19.521] base::local({ [13:31:19.521] for (pkg in "utils") { [13:31:19.521] base::loadNamespace(pkg) [13:31:19.521] base::library(pkg, character.only = TRUE) [13:31:19.521] } [13:31:19.521] }) [13:31:19.521] } [13:31:19.521] ...future.strategy.old <- future::plan("list") [13:31:19.521] options(future.plan = NULL) [13:31:19.521] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.521] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:19.521] } [13:31:19.521] ...future.workdir <- getwd() [13:31:19.521] } [13:31:19.521] ...future.oldOptions <- base::as.list(base::.Options) [13:31:19.521] ...future.oldEnvVars <- base::Sys.getenv() [13:31:19.521] } [13:31:19.521] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:19.521] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:19.521] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:19.521] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:19.521] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:19.521] future.stdout.windows.reencode = NULL, width = 80L) [13:31:19.521] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:19.521] base::names(...future.oldOptions)) [13:31:19.521] } [13:31:19.521] if (FALSE) { [13:31:19.521] } [13:31:19.521] else { [13:31:19.521] if (FALSE) { [13:31:19.521] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:19.521] open = "w") [13:31:19.521] } [13:31:19.521] else { [13:31:19.521] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:19.521] windows = "NUL", "/dev/null"), open = "w") [13:31:19.521] } [13:31:19.521] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:19.521] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:19.521] base::sink(type = "output", split = FALSE) [13:31:19.521] base::close(...future.stdout) [13:31:19.521] }, add = TRUE) [13:31:19.521] } [13:31:19.521] ...future.frame <- base::sys.nframe() [13:31:19.521] ...future.conditions <- base::list() [13:31:19.521] ...future.rng <- base::globalenv()$.Random.seed [13:31:19.521] if (FALSE) { [13:31:19.521] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:19.521] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:19.521] } [13:31:19.521] ...future.result <- base::tryCatch({ [13:31:19.521] base::withCallingHandlers({ [13:31:19.521] ...future.value <- base::withVisible(base::local({ [13:31:19.521] print(1:50) [13:31:19.521] str(1:50) [13:31:19.521] cat(letters, sep = "-") [13:31:19.521] cat(1:6, collapse = "\n") [13:31:19.521] write.table(datasets::iris[1:10, ], sep = "\t") [13:31:19.521] 42L [13:31:19.521] })) [13:31:19.521] future::FutureResult(value = ...future.value$value, [13:31:19.521] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.521] ...future.rng), globalenv = if (FALSE) [13:31:19.521] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:19.521] ...future.globalenv.names)) [13:31:19.521] else NULL, started = ...future.startTime, version = "1.8") [13:31:19.521] }, condition = base::local({ [13:31:19.521] c <- base::c [13:31:19.521] inherits <- base::inherits [13:31:19.521] invokeRestart <- base::invokeRestart [13:31:19.521] length <- base::length [13:31:19.521] list <- base::list [13:31:19.521] seq.int <- base::seq.int [13:31:19.521] signalCondition <- base::signalCondition [13:31:19.521] sys.calls <- base::sys.calls [13:31:19.521] `[[` <- base::`[[` [13:31:19.521] `+` <- base::`+` [13:31:19.521] `<<-` <- base::`<<-` [13:31:19.521] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:19.521] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:19.521] 3L)] [13:31:19.521] } [13:31:19.521] function(cond) { [13:31:19.521] is_error <- inherits(cond, "error") [13:31:19.521] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:19.521] NULL) [13:31:19.521] if (is_error) { [13:31:19.521] sessionInformation <- function() { [13:31:19.521] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:19.521] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:19.521] search = base::search(), system = base::Sys.info()) [13:31:19.521] } [13:31:19.521] ...future.conditions[[length(...future.conditions) + [13:31:19.521] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:19.521] cond$call), session = sessionInformation(), [13:31:19.521] timestamp = base::Sys.time(), signaled = 0L) [13:31:19.521] signalCondition(cond) [13:31:19.521] } [13:31:19.521] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:19.521] signal <- FALSE && inherits(cond, character(0)) [13:31:19.521] ...future.conditions[[length(...future.conditions) + [13:31:19.521] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:19.521] if (FALSE && !signal) { [13:31:19.521] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.521] { [13:31:19.521] inherits <- base::inherits [13:31:19.521] invokeRestart <- base::invokeRestart [13:31:19.521] is.null <- base::is.null [13:31:19.521] muffled <- FALSE [13:31:19.521] if (inherits(cond, "message")) { [13:31:19.521] muffled <- grepl(pattern, "muffleMessage") [13:31:19.521] if (muffled) [13:31:19.521] invokeRestart("muffleMessage") [13:31:19.521] } [13:31:19.521] else if (inherits(cond, "warning")) { [13:31:19.521] muffled <- grepl(pattern, "muffleWarning") [13:31:19.521] if (muffled) [13:31:19.521] invokeRestart("muffleWarning") [13:31:19.521] } [13:31:19.521] else if (inherits(cond, "condition")) { [13:31:19.521] if (!is.null(pattern)) { [13:31:19.521] computeRestarts <- base::computeRestarts [13:31:19.521] grepl <- base::grepl [13:31:19.521] restarts <- computeRestarts(cond) [13:31:19.521] for (restart in restarts) { [13:31:19.521] name <- restart$name [13:31:19.521] if (is.null(name)) [13:31:19.521] next [13:31:19.521] if (!grepl(pattern, name)) [13:31:19.521] next [13:31:19.521] invokeRestart(restart) [13:31:19.521] muffled <- TRUE [13:31:19.521] break [13:31:19.521] } [13:31:19.521] } [13:31:19.521] } [13:31:19.521] invisible(muffled) [13:31:19.521] } [13:31:19.521] muffleCondition(cond, pattern = "^muffle") [13:31:19.521] } [13:31:19.521] } [13:31:19.521] else { [13:31:19.521] if (TRUE) { [13:31:19.521] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.521] { [13:31:19.521] inherits <- base::inherits [13:31:19.521] invokeRestart <- base::invokeRestart [13:31:19.521] is.null <- base::is.null [13:31:19.521] muffled <- FALSE [13:31:19.521] if (inherits(cond, "message")) { [13:31:19.521] muffled <- grepl(pattern, "muffleMessage") [13:31:19.521] if (muffled) [13:31:19.521] invokeRestart("muffleMessage") [13:31:19.521] } [13:31:19.521] else if (inherits(cond, "warning")) { [13:31:19.521] muffled <- grepl(pattern, "muffleWarning") [13:31:19.521] if (muffled) [13:31:19.521] invokeRestart("muffleWarning") [13:31:19.521] } [13:31:19.521] else if (inherits(cond, "condition")) { [13:31:19.521] if (!is.null(pattern)) { [13:31:19.521] computeRestarts <- base::computeRestarts [13:31:19.521] grepl <- base::grepl [13:31:19.521] restarts <- computeRestarts(cond) [13:31:19.521] for (restart in restarts) { [13:31:19.521] name <- restart$name [13:31:19.521] if (is.null(name)) [13:31:19.521] next [13:31:19.521] if (!grepl(pattern, name)) [13:31:19.521] next [13:31:19.521] invokeRestart(restart) [13:31:19.521] muffled <- TRUE [13:31:19.521] break [13:31:19.521] } [13:31:19.521] } [13:31:19.521] } [13:31:19.521] invisible(muffled) [13:31:19.521] } [13:31:19.521] muffleCondition(cond, pattern = "^muffle") [13:31:19.521] } [13:31:19.521] } [13:31:19.521] } [13:31:19.521] })) [13:31:19.521] }, error = function(ex) { [13:31:19.521] base::structure(base::list(value = NULL, visible = NULL, [13:31:19.521] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.521] ...future.rng), started = ...future.startTime, [13:31:19.521] finished = Sys.time(), session_uuid = NA_character_, [13:31:19.521] version = "1.8"), class = "FutureResult") [13:31:19.521] }, finally = { [13:31:19.521] if (!identical(...future.workdir, getwd())) [13:31:19.521] setwd(...future.workdir) [13:31:19.521] { [13:31:19.521] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:19.521] ...future.oldOptions$nwarnings <- NULL [13:31:19.521] } [13:31:19.521] base::options(...future.oldOptions) [13:31:19.521] if (.Platform$OS.type == "windows") { [13:31:19.521] old_names <- names(...future.oldEnvVars) [13:31:19.521] envs <- base::Sys.getenv() [13:31:19.521] names <- names(envs) [13:31:19.521] common <- intersect(names, old_names) [13:31:19.521] added <- setdiff(names, old_names) [13:31:19.521] removed <- setdiff(old_names, names) [13:31:19.521] changed <- common[...future.oldEnvVars[common] != [13:31:19.521] envs[common]] [13:31:19.521] NAMES <- toupper(changed) [13:31:19.521] args <- list() [13:31:19.521] for (kk in seq_along(NAMES)) { [13:31:19.521] name <- changed[[kk]] [13:31:19.521] NAME <- NAMES[[kk]] [13:31:19.521] if (name != NAME && is.element(NAME, old_names)) [13:31:19.521] next [13:31:19.521] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.521] } [13:31:19.521] NAMES <- toupper(added) [13:31:19.521] for (kk in seq_along(NAMES)) { [13:31:19.521] name <- added[[kk]] [13:31:19.521] NAME <- NAMES[[kk]] [13:31:19.521] if (name != NAME && is.element(NAME, old_names)) [13:31:19.521] next [13:31:19.521] args[[name]] <- "" [13:31:19.521] } [13:31:19.521] NAMES <- toupper(removed) [13:31:19.521] for (kk in seq_along(NAMES)) { [13:31:19.521] name <- removed[[kk]] [13:31:19.521] NAME <- NAMES[[kk]] [13:31:19.521] if (name != NAME && is.element(NAME, old_names)) [13:31:19.521] next [13:31:19.521] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.521] } [13:31:19.521] if (length(args) > 0) [13:31:19.521] base::do.call(base::Sys.setenv, args = args) [13:31:19.521] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:19.521] } [13:31:19.521] else { [13:31:19.521] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:19.521] } [13:31:19.521] { [13:31:19.521] if (base::length(...future.futureOptionsAdded) > [13:31:19.521] 0L) { [13:31:19.521] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:19.521] base::names(opts) <- ...future.futureOptionsAdded [13:31:19.521] base::options(opts) [13:31:19.521] } [13:31:19.521] { [13:31:19.521] NULL [13:31:19.521] options(future.plan = NULL) [13:31:19.521] if (is.na(NA_character_)) [13:31:19.521] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.521] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:19.521] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:19.521] .init = FALSE) [13:31:19.521] } [13:31:19.521] } [13:31:19.521] } [13:31:19.521] }) [13:31:19.521] if (TRUE) { [13:31:19.521] base::sink(type = "output", split = FALSE) [13:31:19.521] if (FALSE) { [13:31:19.521] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:19.521] } [13:31:19.521] else { [13:31:19.521] ...future.result["stdout"] <- base::list(NULL) [13:31:19.521] } [13:31:19.521] base::close(...future.stdout) [13:31:19.521] ...future.stdout <- NULL [13:31:19.521] } [13:31:19.521] ...future.result$conditions <- ...future.conditions [13:31:19.521] ...future.result$finished <- base::Sys.time() [13:31:19.521] ...future.result [13:31:19.521] } [13:31:19.525] - Launch lazy future ... done [13:31:19.526] 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-07-03 13:31:19" $ finished : POSIXct[1:1], format: "2024-07-03 13:31:19" $ session_uuid: chr "ffd33dd7-c102-630d-f6af-5ef068cea91e" ..- 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 111168 .. ..$ time : POSIXct[1:1], format: "2024-07-03 13:31:19" .. ..$ 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 5 0 ..$ os : chr "windows" ..$ os_name : chr "Windows" ..$ captures_utf8: logi TRUE $ version : chr "1.8" - attr(*, "class")= chr "FutureResult" [13:31:19.538] getGlobalsAndPackages() ... [13:31:19.538] Searching for globals... [13:31:19.542] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:31:19.543] Searching for globals ... DONE [13:31:19.543] Resolving globals: FALSE [13:31:19.543] [13:31:19.544] - packages: [1] 'utils' [13:31:19.544] getGlobalsAndPackages() ... DONE [13:31:19.544] run() for 'Future' ... [13:31:19.544] - state: 'created' [13:31:19.544] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:19.547] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:19.547] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:19.547] - Field: 'label' [13:31:19.547] - Field: 'local' [13:31:19.547] - Field: 'owner' [13:31:19.548] - Field: 'envir' [13:31:19.548] - Field: 'packages' [13:31:19.548] - Field: 'gc' [13:31:19.548] - Field: 'conditions' [13:31:19.548] - Field: 'expr' [13:31:19.548] - Field: 'uuid' [13:31:19.549] - Field: 'seed' [13:31:19.549] - Field: 'version' [13:31:19.549] - Field: 'result' [13:31:19.549] - Field: 'asynchronous' [13:31:19.549] - Field: 'calls' [13:31:19.549] - Field: 'globals' [13:31:19.550] - Field: 'stdout' [13:31:19.550] - Field: 'earlySignal' [13:31:19.550] - Field: 'lazy' [13:31:19.550] - Field: 'state' [13:31:19.550] - Field: '.cluster' [13:31:19.550] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:19.551] - Launch lazy future ... [13:31:19.551] Packages needed by the future expression (n = 1): 'utils' [13:31:19.551] Packages needed by future strategies (n = 0): [13:31:19.552] { [13:31:19.552] { [13:31:19.552] { [13:31:19.552] ...future.startTime <- base::Sys.time() [13:31:19.552] { [13:31:19.552] { [13:31:19.552] { [13:31:19.552] { [13:31:19.552] base::local({ [13:31:19.552] has_future <- base::requireNamespace("future", [13:31:19.552] quietly = TRUE) [13:31:19.552] if (has_future) { [13:31:19.552] ns <- base::getNamespace("future") [13:31:19.552] version <- ns[[".package"]][["version"]] [13:31:19.552] if (is.null(version)) [13:31:19.552] version <- utils::packageVersion("future") [13:31:19.552] } [13:31:19.552] else { [13:31:19.552] version <- NULL [13:31:19.552] } [13:31:19.552] if (!has_future || version < "1.8.0") { [13:31:19.552] info <- base::c(r_version = base::gsub("R version ", [13:31:19.552] "", base::R.version$version.string), [13:31:19.552] platform = base::sprintf("%s (%s-bit)", [13:31:19.552] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:19.552] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:19.552] "release", "version")], collapse = " "), [13:31:19.552] hostname = base::Sys.info()[["nodename"]]) [13:31:19.552] info <- base::sprintf("%s: %s", base::names(info), [13:31:19.552] info) [13:31:19.552] info <- base::paste(info, collapse = "; ") [13:31:19.552] if (!has_future) { [13:31:19.552] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:19.552] info) [13:31:19.552] } [13:31:19.552] else { [13:31:19.552] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:19.552] info, version) [13:31:19.552] } [13:31:19.552] base::stop(msg) [13:31:19.552] } [13:31:19.552] }) [13:31:19.552] } [13:31:19.552] base::local({ [13:31:19.552] for (pkg in "utils") { [13:31:19.552] base::loadNamespace(pkg) [13:31:19.552] base::library(pkg, character.only = TRUE) [13:31:19.552] } [13:31:19.552] }) [13:31:19.552] } [13:31:19.552] ...future.strategy.old <- future::plan("list") [13:31:19.552] options(future.plan = NULL) [13:31:19.552] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.552] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:19.552] } [13:31:19.552] ...future.workdir <- getwd() [13:31:19.552] } [13:31:19.552] ...future.oldOptions <- base::as.list(base::.Options) [13:31:19.552] ...future.oldEnvVars <- base::Sys.getenv() [13:31:19.552] } [13:31:19.552] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:19.552] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:19.552] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:19.552] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:19.552] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:19.552] future.stdout.windows.reencode = NULL, width = 80L) [13:31:19.552] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:19.552] base::names(...future.oldOptions)) [13:31:19.552] } [13:31:19.552] if (FALSE) { [13:31:19.552] } [13:31:19.552] else { [13:31:19.552] if (FALSE) { [13:31:19.552] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:19.552] open = "w") [13:31:19.552] } [13:31:19.552] else { [13:31:19.552] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:19.552] windows = "NUL", "/dev/null"), open = "w") [13:31:19.552] } [13:31:19.552] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:19.552] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:19.552] base::sink(type = "output", split = FALSE) [13:31:19.552] base::close(...future.stdout) [13:31:19.552] }, add = TRUE) [13:31:19.552] } [13:31:19.552] ...future.frame <- base::sys.nframe() [13:31:19.552] ...future.conditions <- base::list() [13:31:19.552] ...future.rng <- base::globalenv()$.Random.seed [13:31:19.552] if (FALSE) { [13:31:19.552] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:19.552] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:19.552] } [13:31:19.552] ...future.result <- base::tryCatch({ [13:31:19.552] base::withCallingHandlers({ [13:31:19.552] ...future.value <- base::withVisible(base::local({ [13:31:19.552] print(1:50) [13:31:19.552] str(1:50) [13:31:19.552] cat(letters, sep = "-") [13:31:19.552] cat(1:6, collapse = "\n") [13:31:19.552] write.table(datasets::iris[1:10, ], sep = "\t") [13:31:19.552] 42L [13:31:19.552] })) [13:31:19.552] future::FutureResult(value = ...future.value$value, [13:31:19.552] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.552] ...future.rng), globalenv = if (FALSE) [13:31:19.552] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:19.552] ...future.globalenv.names)) [13:31:19.552] else NULL, started = ...future.startTime, version = "1.8") [13:31:19.552] }, condition = base::local({ [13:31:19.552] c <- base::c [13:31:19.552] inherits <- base::inherits [13:31:19.552] invokeRestart <- base::invokeRestart [13:31:19.552] length <- base::length [13:31:19.552] list <- base::list [13:31:19.552] seq.int <- base::seq.int [13:31:19.552] signalCondition <- base::signalCondition [13:31:19.552] sys.calls <- base::sys.calls [13:31:19.552] `[[` <- base::`[[` [13:31:19.552] `+` <- base::`+` [13:31:19.552] `<<-` <- base::`<<-` [13:31:19.552] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:19.552] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:19.552] 3L)] [13:31:19.552] } [13:31:19.552] function(cond) { [13:31:19.552] is_error <- inherits(cond, "error") [13:31:19.552] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:19.552] NULL) [13:31:19.552] if (is_error) { [13:31:19.552] sessionInformation <- function() { [13:31:19.552] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:19.552] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:19.552] search = base::search(), system = base::Sys.info()) [13:31:19.552] } [13:31:19.552] ...future.conditions[[length(...future.conditions) + [13:31:19.552] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:19.552] cond$call), session = sessionInformation(), [13:31:19.552] timestamp = base::Sys.time(), signaled = 0L) [13:31:19.552] signalCondition(cond) [13:31:19.552] } [13:31:19.552] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:19.552] signal <- FALSE && inherits(cond, character(0)) [13:31:19.552] ...future.conditions[[length(...future.conditions) + [13:31:19.552] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:19.552] if (FALSE && !signal) { [13:31:19.552] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.552] { [13:31:19.552] inherits <- base::inherits [13:31:19.552] invokeRestart <- base::invokeRestart [13:31:19.552] is.null <- base::is.null [13:31:19.552] muffled <- FALSE [13:31:19.552] if (inherits(cond, "message")) { [13:31:19.552] muffled <- grepl(pattern, "muffleMessage") [13:31:19.552] if (muffled) [13:31:19.552] invokeRestart("muffleMessage") [13:31:19.552] } [13:31:19.552] else if (inherits(cond, "warning")) { [13:31:19.552] muffled <- grepl(pattern, "muffleWarning") [13:31:19.552] if (muffled) [13:31:19.552] invokeRestart("muffleWarning") [13:31:19.552] } [13:31:19.552] else if (inherits(cond, "condition")) { [13:31:19.552] if (!is.null(pattern)) { [13:31:19.552] computeRestarts <- base::computeRestarts [13:31:19.552] grepl <- base::grepl [13:31:19.552] restarts <- computeRestarts(cond) [13:31:19.552] for (restart in restarts) { [13:31:19.552] name <- restart$name [13:31:19.552] if (is.null(name)) [13:31:19.552] next [13:31:19.552] if (!grepl(pattern, name)) [13:31:19.552] next [13:31:19.552] invokeRestart(restart) [13:31:19.552] muffled <- TRUE [13:31:19.552] break [13:31:19.552] } [13:31:19.552] } [13:31:19.552] } [13:31:19.552] invisible(muffled) [13:31:19.552] } [13:31:19.552] muffleCondition(cond, pattern = "^muffle") [13:31:19.552] } [13:31:19.552] } [13:31:19.552] else { [13:31:19.552] if (TRUE) { [13:31:19.552] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.552] { [13:31:19.552] inherits <- base::inherits [13:31:19.552] invokeRestart <- base::invokeRestart [13:31:19.552] is.null <- base::is.null [13:31:19.552] muffled <- FALSE [13:31:19.552] if (inherits(cond, "message")) { [13:31:19.552] muffled <- grepl(pattern, "muffleMessage") [13:31:19.552] if (muffled) [13:31:19.552] invokeRestart("muffleMessage") [13:31:19.552] } [13:31:19.552] else if (inherits(cond, "warning")) { [13:31:19.552] muffled <- grepl(pattern, "muffleWarning") [13:31:19.552] if (muffled) [13:31:19.552] invokeRestart("muffleWarning") [13:31:19.552] } [13:31:19.552] else if (inherits(cond, "condition")) { [13:31:19.552] if (!is.null(pattern)) { [13:31:19.552] computeRestarts <- base::computeRestarts [13:31:19.552] grepl <- base::grepl [13:31:19.552] restarts <- computeRestarts(cond) [13:31:19.552] for (restart in restarts) { [13:31:19.552] name <- restart$name [13:31:19.552] if (is.null(name)) [13:31:19.552] next [13:31:19.552] if (!grepl(pattern, name)) [13:31:19.552] next [13:31:19.552] invokeRestart(restart) [13:31:19.552] muffled <- TRUE [13:31:19.552] break [13:31:19.552] } [13:31:19.552] } [13:31:19.552] } [13:31:19.552] invisible(muffled) [13:31:19.552] } [13:31:19.552] muffleCondition(cond, pattern = "^muffle") [13:31:19.552] } [13:31:19.552] } [13:31:19.552] } [13:31:19.552] })) [13:31:19.552] }, error = function(ex) { [13:31:19.552] base::structure(base::list(value = NULL, visible = NULL, [13:31:19.552] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.552] ...future.rng), started = ...future.startTime, [13:31:19.552] finished = Sys.time(), session_uuid = NA_character_, [13:31:19.552] version = "1.8"), class = "FutureResult") [13:31:19.552] }, finally = { [13:31:19.552] if (!identical(...future.workdir, getwd())) [13:31:19.552] setwd(...future.workdir) [13:31:19.552] { [13:31:19.552] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:19.552] ...future.oldOptions$nwarnings <- NULL [13:31:19.552] } [13:31:19.552] base::options(...future.oldOptions) [13:31:19.552] if (.Platform$OS.type == "windows") { [13:31:19.552] old_names <- names(...future.oldEnvVars) [13:31:19.552] envs <- base::Sys.getenv() [13:31:19.552] names <- names(envs) [13:31:19.552] common <- intersect(names, old_names) [13:31:19.552] added <- setdiff(names, old_names) [13:31:19.552] removed <- setdiff(old_names, names) [13:31:19.552] changed <- common[...future.oldEnvVars[common] != [13:31:19.552] envs[common]] [13:31:19.552] NAMES <- toupper(changed) [13:31:19.552] args <- list() [13:31:19.552] for (kk in seq_along(NAMES)) { [13:31:19.552] name <- changed[[kk]] [13:31:19.552] NAME <- NAMES[[kk]] [13:31:19.552] if (name != NAME && is.element(NAME, old_names)) [13:31:19.552] next [13:31:19.552] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.552] } [13:31:19.552] NAMES <- toupper(added) [13:31:19.552] for (kk in seq_along(NAMES)) { [13:31:19.552] name <- added[[kk]] [13:31:19.552] NAME <- NAMES[[kk]] [13:31:19.552] if (name != NAME && is.element(NAME, old_names)) [13:31:19.552] next [13:31:19.552] args[[name]] <- "" [13:31:19.552] } [13:31:19.552] NAMES <- toupper(removed) [13:31:19.552] for (kk in seq_along(NAMES)) { [13:31:19.552] name <- removed[[kk]] [13:31:19.552] NAME <- NAMES[[kk]] [13:31:19.552] if (name != NAME && is.element(NAME, old_names)) [13:31:19.552] next [13:31:19.552] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.552] } [13:31:19.552] if (length(args) > 0) [13:31:19.552] base::do.call(base::Sys.setenv, args = args) [13:31:19.552] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:19.552] } [13:31:19.552] else { [13:31:19.552] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:19.552] } [13:31:19.552] { [13:31:19.552] if (base::length(...future.futureOptionsAdded) > [13:31:19.552] 0L) { [13:31:19.552] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:19.552] base::names(opts) <- ...future.futureOptionsAdded [13:31:19.552] base::options(opts) [13:31:19.552] } [13:31:19.552] { [13:31:19.552] NULL [13:31:19.552] options(future.plan = NULL) [13:31:19.552] if (is.na(NA_character_)) [13:31:19.552] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.552] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:19.552] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:19.552] .init = FALSE) [13:31:19.552] } [13:31:19.552] } [13:31:19.552] } [13:31:19.552] }) [13:31:19.552] if (TRUE) { [13:31:19.552] base::sink(type = "output", split = FALSE) [13:31:19.552] if (FALSE) { [13:31:19.552] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:19.552] } [13:31:19.552] else { [13:31:19.552] ...future.result["stdout"] <- base::list(NULL) [13:31:19.552] } [13:31:19.552] base::close(...future.stdout) [13:31:19.552] ...future.stdout <- NULL [13:31:19.552] } [13:31:19.552] ...future.result$conditions <- ...future.conditions [13:31:19.552] ...future.result$finished <- base::Sys.time() [13:31:19.552] ...future.result [13:31:19.552] } [13:31:19.555] - Launch lazy future ... done [13:31:19.556] run() for 'MiraiFuture' ... done - stdout = NA [13:31:19.561] getGlobalsAndPackages() ... [13:31:19.561] Searching for globals... [13:31:19.565] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:31:19.565] Searching for globals ... DONE [13:31:19.565] Resolving globals: FALSE [13:31:19.566] [13:31:19.566] - packages: [1] 'utils' [13:31:19.566] getGlobalsAndPackages() ... DONE [13:31:19.566] run() for 'Future' ... [13:31:19.567] - state: 'created' [13:31:19.567] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:19.569] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:19.569] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:19.570] - Field: 'label' [13:31:19.570] - Field: 'local' [13:31:19.571] - Field: 'owner' [13:31:19.571] - Field: 'envir' [13:31:19.571] - Field: 'packages' [13:31:19.571] - Field: 'gc' [13:31:19.572] - Field: 'conditions' [13:31:19.572] - Field: 'expr' [13:31:19.572] - Field: 'uuid' [13:31:19.572] - Field: 'seed' [13:31:19.572] - Field: 'version' [13:31:19.572] - Field: 'result' [13:31:19.573] - Field: 'asynchronous' [13:31:19.573] - Field: 'calls' [13:31:19.573] - Field: 'globals' [13:31:19.573] - Field: 'stdout' [13:31:19.573] - Field: 'earlySignal' [13:31:19.574] - Field: 'lazy' [13:31:19.574] - Field: 'state' [13:31:19.574] - Field: '.cluster' [13:31:19.574] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:19.574] - Launch lazy future ... [13:31:19.574] Packages needed by the future expression (n = 1): 'utils' [13:31:19.575] Packages needed by future strategies (n = 0): [13:31:19.575] { [13:31:19.575] { [13:31:19.575] { [13:31:19.575] ...future.startTime <- base::Sys.time() [13:31:19.575] { [13:31:19.575] { [13:31:19.575] { [13:31:19.575] { [13:31:19.575] base::local({ [13:31:19.575] has_future <- base::requireNamespace("future", [13:31:19.575] quietly = TRUE) [13:31:19.575] if (has_future) { [13:31:19.575] ns <- base::getNamespace("future") [13:31:19.575] version <- ns[[".package"]][["version"]] [13:31:19.575] if (is.null(version)) [13:31:19.575] version <- utils::packageVersion("future") [13:31:19.575] } [13:31:19.575] else { [13:31:19.575] version <- NULL [13:31:19.575] } [13:31:19.575] if (!has_future || version < "1.8.0") { [13:31:19.575] info <- base::c(r_version = base::gsub("R version ", [13:31:19.575] "", base::R.version$version.string), [13:31:19.575] platform = base::sprintf("%s (%s-bit)", [13:31:19.575] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:19.575] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:19.575] "release", "version")], collapse = " "), [13:31:19.575] hostname = base::Sys.info()[["nodename"]]) [13:31:19.575] info <- base::sprintf("%s: %s", base::names(info), [13:31:19.575] info) [13:31:19.575] info <- base::paste(info, collapse = "; ") [13:31:19.575] if (!has_future) { [13:31:19.575] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:19.575] info) [13:31:19.575] } [13:31:19.575] else { [13:31:19.575] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:19.575] info, version) [13:31:19.575] } [13:31:19.575] base::stop(msg) [13:31:19.575] } [13:31:19.575] }) [13:31:19.575] } [13:31:19.575] base::local({ [13:31:19.575] for (pkg in "utils") { [13:31:19.575] base::loadNamespace(pkg) [13:31:19.575] base::library(pkg, character.only = TRUE) [13:31:19.575] } [13:31:19.575] }) [13:31:19.575] } [13:31:19.575] ...future.strategy.old <- future::plan("list") [13:31:19.575] options(future.plan = NULL) [13:31:19.575] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.575] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:19.575] } [13:31:19.575] ...future.workdir <- getwd() [13:31:19.575] } [13:31:19.575] ...future.oldOptions <- base::as.list(base::.Options) [13:31:19.575] ...future.oldEnvVars <- base::Sys.getenv() [13:31:19.575] } [13:31:19.575] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:19.575] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:19.575] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:19.575] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:19.575] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:19.575] future.stdout.windows.reencode = NULL, width = 80L) [13:31:19.575] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:19.575] base::names(...future.oldOptions)) [13:31:19.575] } [13:31:19.575] if (TRUE) { [13:31:19.575] } [13:31:19.575] else { [13:31:19.575] if (NA) { [13:31:19.575] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:19.575] open = "w") [13:31:19.575] } [13:31:19.575] else { [13:31:19.575] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:19.575] windows = "NUL", "/dev/null"), open = "w") [13:31:19.575] } [13:31:19.575] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:19.575] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:19.575] base::sink(type = "output", split = FALSE) [13:31:19.575] base::close(...future.stdout) [13:31:19.575] }, add = TRUE) [13:31:19.575] } [13:31:19.575] ...future.frame <- base::sys.nframe() [13:31:19.575] ...future.conditions <- base::list() [13:31:19.575] ...future.rng <- base::globalenv()$.Random.seed [13:31:19.575] if (FALSE) { [13:31:19.575] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:19.575] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:19.575] } [13:31:19.575] ...future.result <- base::tryCatch({ [13:31:19.575] base::withCallingHandlers({ [13:31:19.575] ...future.value <- base::withVisible(base::local({ [13:31:19.575] print(1:50) [13:31:19.575] str(1:50) [13:31:19.575] cat(letters, sep = "-") [13:31:19.575] cat(1:6, collapse = "\n") [13:31:19.575] write.table(datasets::iris[1:10, ], sep = "\t") [13:31:19.575] 42L [13:31:19.575] })) [13:31:19.575] future::FutureResult(value = ...future.value$value, [13:31:19.575] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.575] ...future.rng), globalenv = if (FALSE) [13:31:19.575] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:19.575] ...future.globalenv.names)) [13:31:19.575] else NULL, started = ...future.startTime, version = "1.8") [13:31:19.575] }, condition = base::local({ [13:31:19.575] c <- base::c [13:31:19.575] inherits <- base::inherits [13:31:19.575] invokeRestart <- base::invokeRestart [13:31:19.575] length <- base::length [13:31:19.575] list <- base::list [13:31:19.575] seq.int <- base::seq.int [13:31:19.575] signalCondition <- base::signalCondition [13:31:19.575] sys.calls <- base::sys.calls [13:31:19.575] `[[` <- base::`[[` [13:31:19.575] `+` <- base::`+` [13:31:19.575] `<<-` <- base::`<<-` [13:31:19.575] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:19.575] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:19.575] 3L)] [13:31:19.575] } [13:31:19.575] function(cond) { [13:31:19.575] is_error <- inherits(cond, "error") [13:31:19.575] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:19.575] NULL) [13:31:19.575] if (is_error) { [13:31:19.575] sessionInformation <- function() { [13:31:19.575] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:19.575] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:19.575] search = base::search(), system = base::Sys.info()) [13:31:19.575] } [13:31:19.575] ...future.conditions[[length(...future.conditions) + [13:31:19.575] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:19.575] cond$call), session = sessionInformation(), [13:31:19.575] timestamp = base::Sys.time(), signaled = 0L) [13:31:19.575] signalCondition(cond) [13:31:19.575] } [13:31:19.575] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:19.575] signal <- FALSE && inherits(cond, character(0)) [13:31:19.575] ...future.conditions[[length(...future.conditions) + [13:31:19.575] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:19.575] if (FALSE && !signal) { [13:31:19.575] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.575] { [13:31:19.575] inherits <- base::inherits [13:31:19.575] invokeRestart <- base::invokeRestart [13:31:19.575] is.null <- base::is.null [13:31:19.575] muffled <- FALSE [13:31:19.575] if (inherits(cond, "message")) { [13:31:19.575] muffled <- grepl(pattern, "muffleMessage") [13:31:19.575] if (muffled) [13:31:19.575] invokeRestart("muffleMessage") [13:31:19.575] } [13:31:19.575] else if (inherits(cond, "warning")) { [13:31:19.575] muffled <- grepl(pattern, "muffleWarning") [13:31:19.575] if (muffled) [13:31:19.575] invokeRestart("muffleWarning") [13:31:19.575] } [13:31:19.575] else if (inherits(cond, "condition")) { [13:31:19.575] if (!is.null(pattern)) { [13:31:19.575] computeRestarts <- base::computeRestarts [13:31:19.575] grepl <- base::grepl [13:31:19.575] restarts <- computeRestarts(cond) [13:31:19.575] for (restart in restarts) { [13:31:19.575] name <- restart$name [13:31:19.575] if (is.null(name)) [13:31:19.575] next [13:31:19.575] if (!grepl(pattern, name)) [13:31:19.575] next [13:31:19.575] invokeRestart(restart) [13:31:19.575] muffled <- TRUE [13:31:19.575] break [13:31:19.575] } [13:31:19.575] } [13:31:19.575] } [13:31:19.575] invisible(muffled) [13:31:19.575] } [13:31:19.575] muffleCondition(cond, pattern = "^muffle") [13:31:19.575] } [13:31:19.575] } [13:31:19.575] else { [13:31:19.575] if (TRUE) { [13:31:19.575] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.575] { [13:31:19.575] inherits <- base::inherits [13:31:19.575] invokeRestart <- base::invokeRestart [13:31:19.575] is.null <- base::is.null [13:31:19.575] muffled <- FALSE [13:31:19.575] if (inherits(cond, "message")) { [13:31:19.575] muffled <- grepl(pattern, "muffleMessage") [13:31:19.575] if (muffled) [13:31:19.575] invokeRestart("muffleMessage") [13:31:19.575] } [13:31:19.575] else if (inherits(cond, "warning")) { [13:31:19.575] muffled <- grepl(pattern, "muffleWarning") [13:31:19.575] if (muffled) [13:31:19.575] invokeRestart("muffleWarning") [13:31:19.575] } [13:31:19.575] else if (inherits(cond, "condition")) { [13:31:19.575] if (!is.null(pattern)) { [13:31:19.575] computeRestarts <- base::computeRestarts [13:31:19.575] grepl <- base::grepl [13:31:19.575] restarts <- computeRestarts(cond) [13:31:19.575] for (restart in restarts) { [13:31:19.575] name <- restart$name [13:31:19.575] if (is.null(name)) [13:31:19.575] next [13:31:19.575] if (!grepl(pattern, name)) [13:31:19.575] next [13:31:19.575] invokeRestart(restart) [13:31:19.575] muffled <- TRUE [13:31:19.575] break [13:31:19.575] } [13:31:19.575] } [13:31:19.575] } [13:31:19.575] invisible(muffled) [13:31:19.575] } [13:31:19.575] muffleCondition(cond, pattern = "^muffle") [13:31:19.575] } [13:31:19.575] } [13:31:19.575] } [13:31:19.575] })) [13:31:19.575] }, error = function(ex) { [13:31:19.575] base::structure(base::list(value = NULL, visible = NULL, [13:31:19.575] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.575] ...future.rng), started = ...future.startTime, [13:31:19.575] finished = Sys.time(), session_uuid = NA_character_, [13:31:19.575] version = "1.8"), class = "FutureResult") [13:31:19.575] }, finally = { [13:31:19.575] if (!identical(...future.workdir, getwd())) [13:31:19.575] setwd(...future.workdir) [13:31:19.575] { [13:31:19.575] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:19.575] ...future.oldOptions$nwarnings <- NULL [13:31:19.575] } [13:31:19.575] base::options(...future.oldOptions) [13:31:19.575] if (.Platform$OS.type == "windows") { [13:31:19.575] old_names <- names(...future.oldEnvVars) [13:31:19.575] envs <- base::Sys.getenv() [13:31:19.575] names <- names(envs) [13:31:19.575] common <- intersect(names, old_names) [13:31:19.575] added <- setdiff(names, old_names) [13:31:19.575] removed <- setdiff(old_names, names) [13:31:19.575] changed <- common[...future.oldEnvVars[common] != [13:31:19.575] envs[common]] [13:31:19.575] NAMES <- toupper(changed) [13:31:19.575] args <- list() [13:31:19.575] for (kk in seq_along(NAMES)) { [13:31:19.575] name <- changed[[kk]] [13:31:19.575] NAME <- NAMES[[kk]] [13:31:19.575] if (name != NAME && is.element(NAME, old_names)) [13:31:19.575] next [13:31:19.575] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.575] } [13:31:19.575] NAMES <- toupper(added) [13:31:19.575] for (kk in seq_along(NAMES)) { [13:31:19.575] name <- added[[kk]] [13:31:19.575] NAME <- NAMES[[kk]] [13:31:19.575] if (name != NAME && is.element(NAME, old_names)) [13:31:19.575] next [13:31:19.575] args[[name]] <- "" [13:31:19.575] } [13:31:19.575] NAMES <- toupper(removed) [13:31:19.575] for (kk in seq_along(NAMES)) { [13:31:19.575] name <- removed[[kk]] [13:31:19.575] NAME <- NAMES[[kk]] [13:31:19.575] if (name != NAME && is.element(NAME, old_names)) [13:31:19.575] next [13:31:19.575] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.575] } [13:31:19.575] if (length(args) > 0) [13:31:19.575] base::do.call(base::Sys.setenv, args = args) [13:31:19.575] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:19.575] } [13:31:19.575] else { [13:31:19.575] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:19.575] } [13:31:19.575] { [13:31:19.575] if (base::length(...future.futureOptionsAdded) > [13:31:19.575] 0L) { [13:31:19.575] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:19.575] base::names(opts) <- ...future.futureOptionsAdded [13:31:19.575] base::options(opts) [13:31:19.575] } [13:31:19.575] { [13:31:19.575] NULL [13:31:19.575] options(future.plan = NULL) [13:31:19.575] if (is.na(NA_character_)) [13:31:19.575] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.575] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:19.575] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:19.575] .init = FALSE) [13:31:19.575] } [13:31:19.575] } [13:31:19.575] } [13:31:19.575] }) [13:31:19.575] if (FALSE) { [13:31:19.575] base::sink(type = "output", split = FALSE) [13:31:19.575] if (NA) { [13:31:19.575] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:19.575] } [13:31:19.575] else { [13:31:19.575] ...future.result["stdout"] <- base::list(NULL) [13:31:19.575] } [13:31:19.575] base::close(...future.stdout) [13:31:19.575] ...future.stdout <- NULL [13:31:19.575] } [13:31:19.575] ...future.result$conditions <- ...future.conditions [13:31:19.575] ...future.result$finished <- base::Sys.time() [13:31:19.575] ...future.result [13:31:19.575] } [13:31:19.579] - Launch lazy future ... done [13:31:19.579] 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-07-03 13:31:19" $ finished : POSIXct[1:1], format: "2024-07-03 13:31:19" $ session_uuid: chr "ffd33dd7-c102-630d-f6af-5ef068cea91e" ..- 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 111168 .. ..$ time : POSIXct[1:1], format: "2024-07-03 13:31:19" .. ..$ 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 5 0 ..$ os : chr "windows" ..$ os_name : chr "Windows" ..$ captures_utf8: logi TRUE $ version : chr "1.8" - attr(*, "class")= chr "FutureResult" [13:31:19.591] getGlobalsAndPackages() ... [13:31:19.591] Searching for globals... [13:31:19.595] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:31:19.595] Searching for globals ... DONE [13:31:19.595] Resolving globals: FALSE [13:31:19.596] [13:31:19.596] - packages: [1] 'utils' [13:31:19.596] getGlobalsAndPackages() ... DONE [13:31:19.596] run() for 'Future' ... [13:31:19.596] - state: 'created' [13:31:19.597] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:19.600] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:19.600] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:19.600] - Field: 'label' [13:31:19.600] - Field: 'local' [13:31:19.601] - Field: 'owner' [13:31:19.601] - Field: 'envir' [13:31:19.601] - Field: 'packages' [13:31:19.601] - Field: 'gc' [13:31:19.601] - Field: 'conditions' [13:31:19.601] - Field: 'expr' [13:31:19.602] - Field: 'uuid' [13:31:19.602] - Field: 'seed' [13:31:19.602] - Field: 'version' [13:31:19.602] - Field: 'result' [13:31:19.602] - Field: 'asynchronous' [13:31:19.602] - Field: 'calls' [13:31:19.603] - Field: 'globals' [13:31:19.603] - Field: 'stdout' [13:31:19.603] - Field: 'earlySignal' [13:31:19.603] - Field: 'lazy' [13:31:19.603] - Field: 'state' [13:31:19.603] - Field: '.cluster' [13:31:19.604] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:19.604] - Launch lazy future ... [13:31:19.604] Packages needed by the future expression (n = 1): 'utils' [13:31:19.604] Packages needed by future strategies (n = 0): [13:31:19.605] { [13:31:19.605] { [13:31:19.605] { [13:31:19.605] ...future.startTime <- base::Sys.time() [13:31:19.605] { [13:31:19.605] { [13:31:19.605] { [13:31:19.605] { [13:31:19.605] base::local({ [13:31:19.605] has_future <- base::requireNamespace("future", [13:31:19.605] quietly = TRUE) [13:31:19.605] if (has_future) { [13:31:19.605] ns <- base::getNamespace("future") [13:31:19.605] version <- ns[[".package"]][["version"]] [13:31:19.605] if (is.null(version)) [13:31:19.605] version <- utils::packageVersion("future") [13:31:19.605] } [13:31:19.605] else { [13:31:19.605] version <- NULL [13:31:19.605] } [13:31:19.605] if (!has_future || version < "1.8.0") { [13:31:19.605] info <- base::c(r_version = base::gsub("R version ", [13:31:19.605] "", base::R.version$version.string), [13:31:19.605] platform = base::sprintf("%s (%s-bit)", [13:31:19.605] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:19.605] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:19.605] "release", "version")], collapse = " "), [13:31:19.605] hostname = base::Sys.info()[["nodename"]]) [13:31:19.605] info <- base::sprintf("%s: %s", base::names(info), [13:31:19.605] info) [13:31:19.605] info <- base::paste(info, collapse = "; ") [13:31:19.605] if (!has_future) { [13:31:19.605] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:19.605] info) [13:31:19.605] } [13:31:19.605] else { [13:31:19.605] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:19.605] info, version) [13:31:19.605] } [13:31:19.605] base::stop(msg) [13:31:19.605] } [13:31:19.605] }) [13:31:19.605] } [13:31:19.605] base::local({ [13:31:19.605] for (pkg in "utils") { [13:31:19.605] base::loadNamespace(pkg) [13:31:19.605] base::library(pkg, character.only = TRUE) [13:31:19.605] } [13:31:19.605] }) [13:31:19.605] } [13:31:19.605] ...future.strategy.old <- future::plan("list") [13:31:19.605] options(future.plan = NULL) [13:31:19.605] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.605] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:19.605] } [13:31:19.605] ...future.workdir <- getwd() [13:31:19.605] } [13:31:19.605] ...future.oldOptions <- base::as.list(base::.Options) [13:31:19.605] ...future.oldEnvVars <- base::Sys.getenv() [13:31:19.605] } [13:31:19.605] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:19.605] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:19.605] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:19.605] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:19.605] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:19.605] future.stdout.windows.reencode = NULL, width = 80L) [13:31:19.605] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:19.605] base::names(...future.oldOptions)) [13:31:19.605] } [13:31:19.605] if (TRUE) { [13:31:19.605] } [13:31:19.605] else { [13:31:19.605] if (NA) { [13:31:19.605] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:19.605] open = "w") [13:31:19.605] } [13:31:19.605] else { [13:31:19.605] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:19.605] windows = "NUL", "/dev/null"), open = "w") [13:31:19.605] } [13:31:19.605] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:19.605] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:19.605] base::sink(type = "output", split = FALSE) [13:31:19.605] base::close(...future.stdout) [13:31:19.605] }, add = TRUE) [13:31:19.605] } [13:31:19.605] ...future.frame <- base::sys.nframe() [13:31:19.605] ...future.conditions <- base::list() [13:31:19.605] ...future.rng <- base::globalenv()$.Random.seed [13:31:19.605] if (FALSE) { [13:31:19.605] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:19.605] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:19.605] } [13:31:19.605] ...future.result <- base::tryCatch({ [13:31:19.605] base::withCallingHandlers({ [13:31:19.605] ...future.value <- base::withVisible(base::local({ [13:31:19.605] print(1:50) [13:31:19.605] str(1:50) [13:31:19.605] cat(letters, sep = "-") [13:31:19.605] cat(1:6, collapse = "\n") [13:31:19.605] write.table(datasets::iris[1:10, ], sep = "\t") [13:31:19.605] 42L [13:31:19.605] })) [13:31:19.605] future::FutureResult(value = ...future.value$value, [13:31:19.605] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.605] ...future.rng), globalenv = if (FALSE) [13:31:19.605] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:19.605] ...future.globalenv.names)) [13:31:19.605] else NULL, started = ...future.startTime, version = "1.8") [13:31:19.605] }, condition = base::local({ [13:31:19.605] c <- base::c [13:31:19.605] inherits <- base::inherits [13:31:19.605] invokeRestart <- base::invokeRestart [13:31:19.605] length <- base::length [13:31:19.605] list <- base::list [13:31:19.605] seq.int <- base::seq.int [13:31:19.605] signalCondition <- base::signalCondition [13:31:19.605] sys.calls <- base::sys.calls [13:31:19.605] `[[` <- base::`[[` [13:31:19.605] `+` <- base::`+` [13:31:19.605] `<<-` <- base::`<<-` [13:31:19.605] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:19.605] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:19.605] 3L)] [13:31:19.605] } [13:31:19.605] function(cond) { [13:31:19.605] is_error <- inherits(cond, "error") [13:31:19.605] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:19.605] NULL) [13:31:19.605] if (is_error) { [13:31:19.605] sessionInformation <- function() { [13:31:19.605] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:19.605] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:19.605] search = base::search(), system = base::Sys.info()) [13:31:19.605] } [13:31:19.605] ...future.conditions[[length(...future.conditions) + [13:31:19.605] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:19.605] cond$call), session = sessionInformation(), [13:31:19.605] timestamp = base::Sys.time(), signaled = 0L) [13:31:19.605] signalCondition(cond) [13:31:19.605] } [13:31:19.605] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:19.605] signal <- FALSE && inherits(cond, character(0)) [13:31:19.605] ...future.conditions[[length(...future.conditions) + [13:31:19.605] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:19.605] if (FALSE && !signal) { [13:31:19.605] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.605] { [13:31:19.605] inherits <- base::inherits [13:31:19.605] invokeRestart <- base::invokeRestart [13:31:19.605] is.null <- base::is.null [13:31:19.605] muffled <- FALSE [13:31:19.605] if (inherits(cond, "message")) { [13:31:19.605] muffled <- grepl(pattern, "muffleMessage") [13:31:19.605] if (muffled) [13:31:19.605] invokeRestart("muffleMessage") [13:31:19.605] } [13:31:19.605] else if (inherits(cond, "warning")) { [13:31:19.605] muffled <- grepl(pattern, "muffleWarning") [13:31:19.605] if (muffled) [13:31:19.605] invokeRestart("muffleWarning") [13:31:19.605] } [13:31:19.605] else if (inherits(cond, "condition")) { [13:31:19.605] if (!is.null(pattern)) { [13:31:19.605] computeRestarts <- base::computeRestarts [13:31:19.605] grepl <- base::grepl [13:31:19.605] restarts <- computeRestarts(cond) [13:31:19.605] for (restart in restarts) { [13:31:19.605] name <- restart$name [13:31:19.605] if (is.null(name)) [13:31:19.605] next [13:31:19.605] if (!grepl(pattern, name)) [13:31:19.605] next [13:31:19.605] invokeRestart(restart) [13:31:19.605] muffled <- TRUE [13:31:19.605] break [13:31:19.605] } [13:31:19.605] } [13:31:19.605] } [13:31:19.605] invisible(muffled) [13:31:19.605] } [13:31:19.605] muffleCondition(cond, pattern = "^muffle") [13:31:19.605] } [13:31:19.605] } [13:31:19.605] else { [13:31:19.605] if (TRUE) { [13:31:19.605] muffleCondition <- function (cond, pattern = "^muffle") [13:31:19.605] { [13:31:19.605] inherits <- base::inherits [13:31:19.605] invokeRestart <- base::invokeRestart [13:31:19.605] is.null <- base::is.null [13:31:19.605] muffled <- FALSE [13:31:19.605] if (inherits(cond, "message")) { [13:31:19.605] muffled <- grepl(pattern, "muffleMessage") [13:31:19.605] if (muffled) [13:31:19.605] invokeRestart("muffleMessage") [13:31:19.605] } [13:31:19.605] else if (inherits(cond, "warning")) { [13:31:19.605] muffled <- grepl(pattern, "muffleWarning") [13:31:19.605] if (muffled) [13:31:19.605] invokeRestart("muffleWarning") [13:31:19.605] } [13:31:19.605] else if (inherits(cond, "condition")) { [13:31:19.605] if (!is.null(pattern)) { [13:31:19.605] computeRestarts <- base::computeRestarts [13:31:19.605] grepl <- base::grepl [13:31:19.605] restarts <- computeRestarts(cond) [13:31:19.605] for (restart in restarts) { [13:31:19.605] name <- restart$name [13:31:19.605] if (is.null(name)) [13:31:19.605] next [13:31:19.605] if (!grepl(pattern, name)) [13:31:19.605] next [13:31:19.605] invokeRestart(restart) [13:31:19.605] muffled <- TRUE [13:31:19.605] break [13:31:19.605] } [13:31:19.605] } [13:31:19.605] } [13:31:19.605] invisible(muffled) [13:31:19.605] } [13:31:19.605] muffleCondition(cond, pattern = "^muffle") [13:31:19.605] } [13:31:19.605] } [13:31:19.605] } [13:31:19.605] })) [13:31:19.605] }, error = function(ex) { [13:31:19.605] base::structure(base::list(value = NULL, visible = NULL, [13:31:19.605] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:19.605] ...future.rng), started = ...future.startTime, [13:31:19.605] finished = Sys.time(), session_uuid = NA_character_, [13:31:19.605] version = "1.8"), class = "FutureResult") [13:31:19.605] }, finally = { [13:31:19.605] if (!identical(...future.workdir, getwd())) [13:31:19.605] setwd(...future.workdir) [13:31:19.605] { [13:31:19.605] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:19.605] ...future.oldOptions$nwarnings <- NULL [13:31:19.605] } [13:31:19.605] base::options(...future.oldOptions) [13:31:19.605] if (.Platform$OS.type == "windows") { [13:31:19.605] old_names <- names(...future.oldEnvVars) [13:31:19.605] envs <- base::Sys.getenv() [13:31:19.605] names <- names(envs) [13:31:19.605] common <- intersect(names, old_names) [13:31:19.605] added <- setdiff(names, old_names) [13:31:19.605] removed <- setdiff(old_names, names) [13:31:19.605] changed <- common[...future.oldEnvVars[common] != [13:31:19.605] envs[common]] [13:31:19.605] NAMES <- toupper(changed) [13:31:19.605] args <- list() [13:31:19.605] for (kk in seq_along(NAMES)) { [13:31:19.605] name <- changed[[kk]] [13:31:19.605] NAME <- NAMES[[kk]] [13:31:19.605] if (name != NAME && is.element(NAME, old_names)) [13:31:19.605] next [13:31:19.605] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.605] } [13:31:19.605] NAMES <- toupper(added) [13:31:19.605] for (kk in seq_along(NAMES)) { [13:31:19.605] name <- added[[kk]] [13:31:19.605] NAME <- NAMES[[kk]] [13:31:19.605] if (name != NAME && is.element(NAME, old_names)) [13:31:19.605] next [13:31:19.605] args[[name]] <- "" [13:31:19.605] } [13:31:19.605] NAMES <- toupper(removed) [13:31:19.605] for (kk in seq_along(NAMES)) { [13:31:19.605] name <- removed[[kk]] [13:31:19.605] NAME <- NAMES[[kk]] [13:31:19.605] if (name != NAME && is.element(NAME, old_names)) [13:31:19.605] next [13:31:19.605] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:19.605] } [13:31:19.605] if (length(args) > 0) [13:31:19.605] base::do.call(base::Sys.setenv, args = args) [13:31:19.605] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:19.605] } [13:31:19.605] else { [13:31:19.605] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:19.605] } [13:31:19.605] { [13:31:19.605] if (base::length(...future.futureOptionsAdded) > [13:31:19.605] 0L) { [13:31:19.605] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:19.605] base::names(opts) <- ...future.futureOptionsAdded [13:31:19.605] base::options(opts) [13:31:19.605] } [13:31:19.605] { [13:31:19.605] NULL [13:31:19.605] options(future.plan = NULL) [13:31:19.605] if (is.na(NA_character_)) [13:31:19.605] Sys.unsetenv("R_FUTURE_PLAN") [13:31:19.605] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:19.605] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:19.605] .init = FALSE) [13:31:19.605] } [13:31:19.605] } [13:31:19.605] } [13:31:19.605] }) [13:31:19.605] if (FALSE) { [13:31:19.605] base::sink(type = "output", split = FALSE) [13:31:19.605] if (NA) { [13:31:19.605] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:19.605] } [13:31:19.605] else { [13:31:19.605] ...future.result["stdout"] <- base::list(NULL) [13:31:19.605] } [13:31:19.605] base::close(...future.stdout) [13:31:19.605] ...future.stdout <- NULL [13:31:19.605] } [13:31:19.605] ...future.result$conditions <- ...future.conditions [13:31:19.605] ...future.result$finished <- base::Sys.time() [13:31:19.605] ...future.result [13:31:19.605] } [13:31:19.609] - Launch lazy future ... done [13:31:19.609] 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.45 0.09 1.00