R Under development (unstable) (2024-05-14 r86553 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 [10:56:24.940] plan(): Setting new future strategy stack: [10:56:24.942] List of future strategies: [10:56:24.942] 1. mirai_multisession: [10:56:24.942] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [10:56:24.942] - tweaked: FALSE [10:56:24.942] - call: future::plan(future.mirai::mirai_multisession) [10:56:24.954] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [10:56:24.954] < mirai | $data > [10:56:24.959] getGlobalsAndPackages() ... [10:56:24.959] Not searching for globals [10:56:24.960] - globals: [0] [10:56:24.960] getGlobalsAndPackages() ... DONE [10:56:24.960] getGlobalsAndPackages() ... [10:56:24.961] [10:56:24.961] - globals: [0] [10:56:24.961] getGlobalsAndPackages() ... DONE [10:56:25.271] Packages needed by the future expression (n = 0): [10:56:25.272] Packages needed by future strategies (n = 0): [10:56:25.274] { [10:56:25.274] { [10:56:25.274] { [10:56:25.274] ...future.startTime <- base::Sys.time() [10:56:25.274] { [10:56:25.274] { [10:56:25.274] { [10:56:25.274] base::local({ [10:56:25.274] has_future <- base::requireNamespace("future", [10:56:25.274] quietly = TRUE) [10:56:25.274] if (has_future) { [10:56:25.274] ns <- base::getNamespace("future") [10:56:25.274] version <- ns[[".package"]][["version"]] [10:56:25.274] if (is.null(version)) [10:56:25.274] version <- utils::packageVersion("future") [10:56:25.274] } [10:56:25.274] else { [10:56:25.274] version <- NULL [10:56:25.274] } [10:56:25.274] if (!has_future || version < "1.8.0") { [10:56:25.274] info <- base::c(r_version = base::gsub("R version ", [10:56:25.274] "", base::R.version$version.string), [10:56:25.274] platform = base::sprintf("%s (%s-bit)", [10:56:25.274] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:25.274] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:25.274] "release", "version")], collapse = " "), [10:56:25.274] hostname = base::Sys.info()[["nodename"]]) [10:56:25.274] info <- base::sprintf("%s: %s", base::names(info), [10:56:25.274] info) [10:56:25.274] info <- base::paste(info, collapse = "; ") [10:56:25.274] if (!has_future) { [10:56:25.274] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:25.274] info) [10:56:25.274] } [10:56:25.274] else { [10:56:25.274] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:25.274] info, version) [10:56:25.274] } [10:56:25.274] base::stop(msg) [10:56:25.274] } [10:56:25.274] }) [10:56:25.274] } [10:56:25.274] ...future.strategy.old <- future::plan("list") [10:56:25.274] options(future.plan = NULL) [10:56:25.274] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.274] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:25.274] } [10:56:25.274] ...future.workdir <- getwd() [10:56:25.274] } [10:56:25.274] ...future.oldOptions <- base::as.list(base::.Options) [10:56:25.274] ...future.oldEnvVars <- base::Sys.getenv() [10:56:25.274] } [10:56:25.274] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:25.274] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:25.274] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:25.274] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:25.274] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:25.274] future.stdout.windows.reencode = NULL, width = 80L) [10:56:25.274] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:25.274] base::names(...future.oldOptions)) [10:56:25.274] } [10:56:25.274] if (FALSE) { [10:56:25.274] } [10:56:25.274] else { [10:56:25.274] if (TRUE) { [10:56:25.274] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:25.274] open = "w") [10:56:25.274] } [10:56:25.274] else { [10:56:25.274] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:25.274] windows = "NUL", "/dev/null"), open = "w") [10:56:25.274] } [10:56:25.274] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:25.274] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:25.274] base::sink(type = "output", split = FALSE) [10:56:25.274] base::close(...future.stdout) [10:56:25.274] }, add = TRUE) [10:56:25.274] } [10:56:25.274] ...future.frame <- base::sys.nframe() [10:56:25.274] ...future.conditions <- base::list() [10:56:25.274] ...future.rng <- base::globalenv()$.Random.seed [10:56:25.274] if (FALSE) { [10:56:25.274] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:25.274] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:25.274] } [10:56:25.274] ...future.result <- base::tryCatch({ [10:56:25.274] base::withCallingHandlers({ [10:56:25.274] ...future.value <- base::withVisible(base::local(NA)) [10:56:25.274] future::FutureResult(value = ...future.value$value, [10:56:25.274] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.274] ...future.rng), globalenv = if (FALSE) [10:56:25.274] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:25.274] ...future.globalenv.names)) [10:56:25.274] else NULL, started = ...future.startTime, version = "1.8") [10:56:25.274] }, condition = base::local({ [10:56:25.274] c <- base::c [10:56:25.274] inherits <- base::inherits [10:56:25.274] invokeRestart <- base::invokeRestart [10:56:25.274] length <- base::length [10:56:25.274] list <- base::list [10:56:25.274] seq.int <- base::seq.int [10:56:25.274] signalCondition <- base::signalCondition [10:56:25.274] sys.calls <- base::sys.calls [10:56:25.274] `[[` <- base::`[[` [10:56:25.274] `+` <- base::`+` [10:56:25.274] `<<-` <- base::`<<-` [10:56:25.274] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:25.274] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:25.274] 3L)] [10:56:25.274] } [10:56:25.274] function(cond) { [10:56:25.274] is_error <- inherits(cond, "error") [10:56:25.274] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:25.274] NULL) [10:56:25.274] if (is_error) { [10:56:25.274] sessionInformation <- function() { [10:56:25.274] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:25.274] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:25.274] search = base::search(), system = base::Sys.info()) [10:56:25.274] } [10:56:25.274] ...future.conditions[[length(...future.conditions) + [10:56:25.274] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:25.274] cond$call), session = sessionInformation(), [10:56:25.274] timestamp = base::Sys.time(), signaled = 0L) [10:56:25.274] signalCondition(cond) [10:56:25.274] } [10:56:25.274] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:25.274] signal <- FALSE && inherits(cond, character(0)) [10:56:25.274] ...future.conditions[[length(...future.conditions) + [10:56:25.274] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:25.274] if (FALSE && !signal) { [10:56:25.274] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.274] { [10:56:25.274] inherits <- base::inherits [10:56:25.274] invokeRestart <- base::invokeRestart [10:56:25.274] is.null <- base::is.null [10:56:25.274] muffled <- FALSE [10:56:25.274] if (inherits(cond, "message")) { [10:56:25.274] muffled <- grepl(pattern, "muffleMessage") [10:56:25.274] if (muffled) [10:56:25.274] invokeRestart("muffleMessage") [10:56:25.274] } [10:56:25.274] else if (inherits(cond, "warning")) { [10:56:25.274] muffled <- grepl(pattern, "muffleWarning") [10:56:25.274] if (muffled) [10:56:25.274] invokeRestart("muffleWarning") [10:56:25.274] } [10:56:25.274] else if (inherits(cond, "condition")) { [10:56:25.274] if (!is.null(pattern)) { [10:56:25.274] computeRestarts <- base::computeRestarts [10:56:25.274] grepl <- base::grepl [10:56:25.274] restarts <- computeRestarts(cond) [10:56:25.274] for (restart in restarts) { [10:56:25.274] name <- restart$name [10:56:25.274] if (is.null(name)) [10:56:25.274] next [10:56:25.274] if (!grepl(pattern, name)) [10:56:25.274] next [10:56:25.274] invokeRestart(restart) [10:56:25.274] muffled <- TRUE [10:56:25.274] break [10:56:25.274] } [10:56:25.274] } [10:56:25.274] } [10:56:25.274] invisible(muffled) [10:56:25.274] } [10:56:25.274] muffleCondition(cond, pattern = "^muffle") [10:56:25.274] } [10:56:25.274] } [10:56:25.274] else { [10:56:25.274] if (TRUE) { [10:56:25.274] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.274] { [10:56:25.274] inherits <- base::inherits [10:56:25.274] invokeRestart <- base::invokeRestart [10:56:25.274] is.null <- base::is.null [10:56:25.274] muffled <- FALSE [10:56:25.274] if (inherits(cond, "message")) { [10:56:25.274] muffled <- grepl(pattern, "muffleMessage") [10:56:25.274] if (muffled) [10:56:25.274] invokeRestart("muffleMessage") [10:56:25.274] } [10:56:25.274] else if (inherits(cond, "warning")) { [10:56:25.274] muffled <- grepl(pattern, "muffleWarning") [10:56:25.274] if (muffled) [10:56:25.274] invokeRestart("muffleWarning") [10:56:25.274] } [10:56:25.274] else if (inherits(cond, "condition")) { [10:56:25.274] if (!is.null(pattern)) { [10:56:25.274] computeRestarts <- base::computeRestarts [10:56:25.274] grepl <- base::grepl [10:56:25.274] restarts <- computeRestarts(cond) [10:56:25.274] for (restart in restarts) { [10:56:25.274] name <- restart$name [10:56:25.274] if (is.null(name)) [10:56:25.274] next [10:56:25.274] if (!grepl(pattern, name)) [10:56:25.274] next [10:56:25.274] invokeRestart(restart) [10:56:25.274] muffled <- TRUE [10:56:25.274] break [10:56:25.274] } [10:56:25.274] } [10:56:25.274] } [10:56:25.274] invisible(muffled) [10:56:25.274] } [10:56:25.274] muffleCondition(cond, pattern = "^muffle") [10:56:25.274] } [10:56:25.274] } [10:56:25.274] } [10:56:25.274] })) [10:56:25.274] }, error = function(ex) { [10:56:25.274] base::structure(base::list(value = NULL, visible = NULL, [10:56:25.274] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.274] ...future.rng), started = ...future.startTime, [10:56:25.274] finished = Sys.time(), session_uuid = NA_character_, [10:56:25.274] version = "1.8"), class = "FutureResult") [10:56:25.274] }, finally = { [10:56:25.274] if (!identical(...future.workdir, getwd())) [10:56:25.274] setwd(...future.workdir) [10:56:25.274] { [10:56:25.274] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:25.274] ...future.oldOptions$nwarnings <- NULL [10:56:25.274] } [10:56:25.274] base::options(...future.oldOptions) [10:56:25.274] if (.Platform$OS.type == "windows") { [10:56:25.274] old_names <- names(...future.oldEnvVars) [10:56:25.274] envs <- base::Sys.getenv() [10:56:25.274] names <- names(envs) [10:56:25.274] common <- intersect(names, old_names) [10:56:25.274] added <- setdiff(names, old_names) [10:56:25.274] removed <- setdiff(old_names, names) [10:56:25.274] changed <- common[...future.oldEnvVars[common] != [10:56:25.274] envs[common]] [10:56:25.274] NAMES <- toupper(changed) [10:56:25.274] args <- list() [10:56:25.274] for (kk in seq_along(NAMES)) { [10:56:25.274] name <- changed[[kk]] [10:56:25.274] NAME <- NAMES[[kk]] [10:56:25.274] if (name != NAME && is.element(NAME, old_names)) [10:56:25.274] next [10:56:25.274] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.274] } [10:56:25.274] NAMES <- toupper(added) [10:56:25.274] for (kk in seq_along(NAMES)) { [10:56:25.274] name <- added[[kk]] [10:56:25.274] NAME <- NAMES[[kk]] [10:56:25.274] if (name != NAME && is.element(NAME, old_names)) [10:56:25.274] next [10:56:25.274] args[[name]] <- "" [10:56:25.274] } [10:56:25.274] NAMES <- toupper(removed) [10:56:25.274] for (kk in seq_along(NAMES)) { [10:56:25.274] name <- removed[[kk]] [10:56:25.274] NAME <- NAMES[[kk]] [10:56:25.274] if (name != NAME && is.element(NAME, old_names)) [10:56:25.274] next [10:56:25.274] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.274] } [10:56:25.274] if (length(args) > 0) [10:56:25.274] base::do.call(base::Sys.setenv, args = args) [10:56:25.274] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:25.274] } [10:56:25.274] else { [10:56:25.274] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:25.274] } [10:56:25.274] { [10:56:25.274] if (base::length(...future.futureOptionsAdded) > [10:56:25.274] 0L) { [10:56:25.274] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:25.274] base::names(opts) <- ...future.futureOptionsAdded [10:56:25.274] base::options(opts) [10:56:25.274] } [10:56:25.274] { [10:56:25.274] NULL [10:56:25.274] options(future.plan = NULL) [10:56:25.274] if (is.na(NA_character_)) [10:56:25.274] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.274] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:25.274] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:25.274] .init = FALSE) [10:56:25.274] } [10:56:25.274] } [10:56:25.274] } [10:56:25.274] }) [10:56:25.274] if (TRUE) { [10:56:25.274] base::sink(type = "output", split = FALSE) [10:56:25.274] if (TRUE) { [10:56:25.274] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:25.274] } [10:56:25.274] else { [10:56:25.274] ...future.result["stdout"] <- base::list(NULL) [10:56:25.274] } [10:56:25.274] base::close(...future.stdout) [10:56:25.274] ...future.stdout <- NULL [10:56:25.274] } [10:56:25.274] ...future.result$conditions <- ...future.conditions [10:56:25.274] ...future.result$finished <- base::Sys.time() [10:56:25.274] ...future.result [10:56:25.274] } [10:56:25.422] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [10:56:25.423] 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) [10:56:25.429] plan(): Setting new future strategy stack: [10:56:25.429] List of future strategies: [10:56:25.429] 1. mirai_multisession: [10:56:25.429] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [10:56:25.429] - tweaked: FALSE [10:56:25.429] - call: plan(mirai_multisession) [10:56:25.443] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [10:56:25.443] < mirai | $data > [10:56:25.446] getGlobalsAndPackages() ... [10:56:25.446] Not searching for globals [10:56:25.446] - globals: [0] [10:56:25.446] getGlobalsAndPackages() ... DONE [10:56:25.447] getGlobalsAndPackages() ... [10:56:25.447] [10:56:25.447] - globals: [0] [10:56:25.447] getGlobalsAndPackages() ... DONE [10:56:25.448] Packages needed by the future expression (n = 0): [10:56:25.448] Packages needed by future strategies (n = 0): [10:56:25.449] { [10:56:25.449] { [10:56:25.449] { [10:56:25.449] ...future.startTime <- base::Sys.time() [10:56:25.449] { [10:56:25.449] { [10:56:25.449] { [10:56:25.449] base::local({ [10:56:25.449] has_future <- base::requireNamespace("future", [10:56:25.449] quietly = TRUE) [10:56:25.449] if (has_future) { [10:56:25.449] ns <- base::getNamespace("future") [10:56:25.449] version <- ns[[".package"]][["version"]] [10:56:25.449] if (is.null(version)) [10:56:25.449] version <- utils::packageVersion("future") [10:56:25.449] } [10:56:25.449] else { [10:56:25.449] version <- NULL [10:56:25.449] } [10:56:25.449] if (!has_future || version < "1.8.0") { [10:56:25.449] info <- base::c(r_version = base::gsub("R version ", [10:56:25.449] "", base::R.version$version.string), [10:56:25.449] platform = base::sprintf("%s (%s-bit)", [10:56:25.449] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:25.449] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:25.449] "release", "version")], collapse = " "), [10:56:25.449] hostname = base::Sys.info()[["nodename"]]) [10:56:25.449] info <- base::sprintf("%s: %s", base::names(info), [10:56:25.449] info) [10:56:25.449] info <- base::paste(info, collapse = "; ") [10:56:25.449] if (!has_future) { [10:56:25.449] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:25.449] info) [10:56:25.449] } [10:56:25.449] else { [10:56:25.449] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:25.449] info, version) [10:56:25.449] } [10:56:25.449] base::stop(msg) [10:56:25.449] } [10:56:25.449] }) [10:56:25.449] } [10:56:25.449] ...future.strategy.old <- future::plan("list") [10:56:25.449] options(future.plan = NULL) [10:56:25.449] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.449] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:25.449] } [10:56:25.449] ...future.workdir <- getwd() [10:56:25.449] } [10:56:25.449] ...future.oldOptions <- base::as.list(base::.Options) [10:56:25.449] ...future.oldEnvVars <- base::Sys.getenv() [10:56:25.449] } [10:56:25.449] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:25.449] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:25.449] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:25.449] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:25.449] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:25.449] future.stdout.windows.reencode = NULL, width = 80L) [10:56:25.449] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:25.449] base::names(...future.oldOptions)) [10:56:25.449] } [10:56:25.449] if (FALSE) { [10:56:25.449] } [10:56:25.449] else { [10:56:25.449] if (TRUE) { [10:56:25.449] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:25.449] open = "w") [10:56:25.449] } [10:56:25.449] else { [10:56:25.449] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:25.449] windows = "NUL", "/dev/null"), open = "w") [10:56:25.449] } [10:56:25.449] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:25.449] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:25.449] base::sink(type = "output", split = FALSE) [10:56:25.449] base::close(...future.stdout) [10:56:25.449] }, add = TRUE) [10:56:25.449] } [10:56:25.449] ...future.frame <- base::sys.nframe() [10:56:25.449] ...future.conditions <- base::list() [10:56:25.449] ...future.rng <- base::globalenv()$.Random.seed [10:56:25.449] if (FALSE) { [10:56:25.449] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:25.449] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:25.449] } [10:56:25.449] ...future.result <- base::tryCatch({ [10:56:25.449] base::withCallingHandlers({ [10:56:25.449] ...future.value <- base::withVisible(base::local(NA)) [10:56:25.449] future::FutureResult(value = ...future.value$value, [10:56:25.449] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.449] ...future.rng), globalenv = if (FALSE) [10:56:25.449] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:25.449] ...future.globalenv.names)) [10:56:25.449] else NULL, started = ...future.startTime, version = "1.8") [10:56:25.449] }, condition = base::local({ [10:56:25.449] c <- base::c [10:56:25.449] inherits <- base::inherits [10:56:25.449] invokeRestart <- base::invokeRestart [10:56:25.449] length <- base::length [10:56:25.449] list <- base::list [10:56:25.449] seq.int <- base::seq.int [10:56:25.449] signalCondition <- base::signalCondition [10:56:25.449] sys.calls <- base::sys.calls [10:56:25.449] `[[` <- base::`[[` [10:56:25.449] `+` <- base::`+` [10:56:25.449] `<<-` <- base::`<<-` [10:56:25.449] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:25.449] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:25.449] 3L)] [10:56:25.449] } [10:56:25.449] function(cond) { [10:56:25.449] is_error <- inherits(cond, "error") [10:56:25.449] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:25.449] NULL) [10:56:25.449] if (is_error) { [10:56:25.449] sessionInformation <- function() { [10:56:25.449] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:25.449] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:25.449] search = base::search(), system = base::Sys.info()) [10:56:25.449] } [10:56:25.449] ...future.conditions[[length(...future.conditions) + [10:56:25.449] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:25.449] cond$call), session = sessionInformation(), [10:56:25.449] timestamp = base::Sys.time(), signaled = 0L) [10:56:25.449] signalCondition(cond) [10:56:25.449] } [10:56:25.449] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:25.449] signal <- FALSE && inherits(cond, character(0)) [10:56:25.449] ...future.conditions[[length(...future.conditions) + [10:56:25.449] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:25.449] if (FALSE && !signal) { [10:56:25.449] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.449] { [10:56:25.449] inherits <- base::inherits [10:56:25.449] invokeRestart <- base::invokeRestart [10:56:25.449] is.null <- base::is.null [10:56:25.449] muffled <- FALSE [10:56:25.449] if (inherits(cond, "message")) { [10:56:25.449] muffled <- grepl(pattern, "muffleMessage") [10:56:25.449] if (muffled) [10:56:25.449] invokeRestart("muffleMessage") [10:56:25.449] } [10:56:25.449] else if (inherits(cond, "warning")) { [10:56:25.449] muffled <- grepl(pattern, "muffleWarning") [10:56:25.449] if (muffled) [10:56:25.449] invokeRestart("muffleWarning") [10:56:25.449] } [10:56:25.449] else if (inherits(cond, "condition")) { [10:56:25.449] if (!is.null(pattern)) { [10:56:25.449] computeRestarts <- base::computeRestarts [10:56:25.449] grepl <- base::grepl [10:56:25.449] restarts <- computeRestarts(cond) [10:56:25.449] for (restart in restarts) { [10:56:25.449] name <- restart$name [10:56:25.449] if (is.null(name)) [10:56:25.449] next [10:56:25.449] if (!grepl(pattern, name)) [10:56:25.449] next [10:56:25.449] invokeRestart(restart) [10:56:25.449] muffled <- TRUE [10:56:25.449] break [10:56:25.449] } [10:56:25.449] } [10:56:25.449] } [10:56:25.449] invisible(muffled) [10:56:25.449] } [10:56:25.449] muffleCondition(cond, pattern = "^muffle") [10:56:25.449] } [10:56:25.449] } [10:56:25.449] else { [10:56:25.449] if (TRUE) { [10:56:25.449] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.449] { [10:56:25.449] inherits <- base::inherits [10:56:25.449] invokeRestart <- base::invokeRestart [10:56:25.449] is.null <- base::is.null [10:56:25.449] muffled <- FALSE [10:56:25.449] if (inherits(cond, "message")) { [10:56:25.449] muffled <- grepl(pattern, "muffleMessage") [10:56:25.449] if (muffled) [10:56:25.449] invokeRestart("muffleMessage") [10:56:25.449] } [10:56:25.449] else if (inherits(cond, "warning")) { [10:56:25.449] muffled <- grepl(pattern, "muffleWarning") [10:56:25.449] if (muffled) [10:56:25.449] invokeRestart("muffleWarning") [10:56:25.449] } [10:56:25.449] else if (inherits(cond, "condition")) { [10:56:25.449] if (!is.null(pattern)) { [10:56:25.449] computeRestarts <- base::computeRestarts [10:56:25.449] grepl <- base::grepl [10:56:25.449] restarts <- computeRestarts(cond) [10:56:25.449] for (restart in restarts) { [10:56:25.449] name <- restart$name [10:56:25.449] if (is.null(name)) [10:56:25.449] next [10:56:25.449] if (!grepl(pattern, name)) [10:56:25.449] next [10:56:25.449] invokeRestart(restart) [10:56:25.449] muffled <- TRUE [10:56:25.449] break [10:56:25.449] } [10:56:25.449] } [10:56:25.449] } [10:56:25.449] invisible(muffled) [10:56:25.449] } [10:56:25.449] muffleCondition(cond, pattern = "^muffle") [10:56:25.449] } [10:56:25.449] } [10:56:25.449] } [10:56:25.449] })) [10:56:25.449] }, error = function(ex) { [10:56:25.449] base::structure(base::list(value = NULL, visible = NULL, [10:56:25.449] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.449] ...future.rng), started = ...future.startTime, [10:56:25.449] finished = Sys.time(), session_uuid = NA_character_, [10:56:25.449] version = "1.8"), class = "FutureResult") [10:56:25.449] }, finally = { [10:56:25.449] if (!identical(...future.workdir, getwd())) [10:56:25.449] setwd(...future.workdir) [10:56:25.449] { [10:56:25.449] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:25.449] ...future.oldOptions$nwarnings <- NULL [10:56:25.449] } [10:56:25.449] base::options(...future.oldOptions) [10:56:25.449] if (.Platform$OS.type == "windows") { [10:56:25.449] old_names <- names(...future.oldEnvVars) [10:56:25.449] envs <- base::Sys.getenv() [10:56:25.449] names <- names(envs) [10:56:25.449] common <- intersect(names, old_names) [10:56:25.449] added <- setdiff(names, old_names) [10:56:25.449] removed <- setdiff(old_names, names) [10:56:25.449] changed <- common[...future.oldEnvVars[common] != [10:56:25.449] envs[common]] [10:56:25.449] NAMES <- toupper(changed) [10:56:25.449] args <- list() [10:56:25.449] for (kk in seq_along(NAMES)) { [10:56:25.449] name <- changed[[kk]] [10:56:25.449] NAME <- NAMES[[kk]] [10:56:25.449] if (name != NAME && is.element(NAME, old_names)) [10:56:25.449] next [10:56:25.449] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.449] } [10:56:25.449] NAMES <- toupper(added) [10:56:25.449] for (kk in seq_along(NAMES)) { [10:56:25.449] name <- added[[kk]] [10:56:25.449] NAME <- NAMES[[kk]] [10:56:25.449] if (name != NAME && is.element(NAME, old_names)) [10:56:25.449] next [10:56:25.449] args[[name]] <- "" [10:56:25.449] } [10:56:25.449] NAMES <- toupper(removed) [10:56:25.449] for (kk in seq_along(NAMES)) { [10:56:25.449] name <- removed[[kk]] [10:56:25.449] NAME <- NAMES[[kk]] [10:56:25.449] if (name != NAME && is.element(NAME, old_names)) [10:56:25.449] next [10:56:25.449] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.449] } [10:56:25.449] if (length(args) > 0) [10:56:25.449] base::do.call(base::Sys.setenv, args = args) [10:56:25.449] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:25.449] } [10:56:25.449] else { [10:56:25.449] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:25.449] } [10:56:25.449] { [10:56:25.449] if (base::length(...future.futureOptionsAdded) > [10:56:25.449] 0L) { [10:56:25.449] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:25.449] base::names(opts) <- ...future.futureOptionsAdded [10:56:25.449] base::options(opts) [10:56:25.449] } [10:56:25.449] { [10:56:25.449] NULL [10:56:25.449] options(future.plan = NULL) [10:56:25.449] if (is.na(NA_character_)) [10:56:25.449] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.449] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:25.449] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:25.449] .init = FALSE) [10:56:25.449] } [10:56:25.449] } [10:56:25.449] } [10:56:25.449] }) [10:56:25.449] if (TRUE) { [10:56:25.449] base::sink(type = "output", split = FALSE) [10:56:25.449] if (TRUE) { [10:56:25.449] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:25.449] } [10:56:25.449] else { [10:56:25.449] ...future.result["stdout"] <- base::list(NULL) [10:56:25.449] } [10:56:25.449] base::close(...future.stdout) [10:56:25.449] ...future.stdout <- NULL [10:56:25.449] } [10:56:25.449] ...future.result$conditions <- ...future.conditions [10:56:25.449] ...future.result$finished <- base::Sys.time() [10:56:25.449] ...future.result [10:56:25.449] } [10:56:25.561] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [10:56:25.562] 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 [10:56:25.597] getGlobalsAndPackages() ... [10:56:25.597] Searching for globals... [10:56:25.609] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [10:56:25.609] Searching for globals ... DONE [10:56:25.610] Resolving globals: FALSE [10:56:25.610] [10:56:25.611] - packages: [1] 'utils' [10:56:25.611] getGlobalsAndPackages() ... DONE [10:56:25.611] run() for 'Future' ... [10:56:25.612] - state: 'created' [10:56:25.612] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:56:25.614] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:56:25.615] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:56:25.615] - Field: 'label' [10:56:25.615] - Field: 'local' [10:56:25.615] - Field: 'owner' [10:56:25.615] - Field: 'envir' [10:56:25.615] - Field: 'packages' [10:56:25.616] - Field: 'gc' [10:56:25.616] - Field: 'conditions' [10:56:25.616] - Field: 'expr' [10:56:25.616] - Field: 'uuid' [10:56:25.616] - Field: 'seed' [10:56:25.616] - Field: 'version' [10:56:25.617] - Field: 'result' [10:56:25.617] - Field: 'asynchronous' [10:56:25.617] - Field: 'calls' [10:56:25.617] - Field: 'globals' [10:56:25.617] - Field: 'stdout' [10:56:25.618] - Field: 'earlySignal' [10:56:25.618] - Field: 'lazy' [10:56:25.618] - Field: 'state' [10:56:25.618] - Field: '.cluster' [10:56:25.618] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:56:25.618] - Launch lazy future ... [10:56:25.619] Packages needed by the future expression (n = 1): 'utils' [10:56:25.619] Packages needed by future strategies (n = 0): [10:56:25.620] { [10:56:25.620] { [10:56:25.620] { [10:56:25.620] ...future.startTime <- base::Sys.time() [10:56:25.620] { [10:56:25.620] { [10:56:25.620] { [10:56:25.620] { [10:56:25.620] base::local({ [10:56:25.620] has_future <- base::requireNamespace("future", [10:56:25.620] quietly = TRUE) [10:56:25.620] if (has_future) { [10:56:25.620] ns <- base::getNamespace("future") [10:56:25.620] version <- ns[[".package"]][["version"]] [10:56:25.620] if (is.null(version)) [10:56:25.620] version <- utils::packageVersion("future") [10:56:25.620] } [10:56:25.620] else { [10:56:25.620] version <- NULL [10:56:25.620] } [10:56:25.620] if (!has_future || version < "1.8.0") { [10:56:25.620] info <- base::c(r_version = base::gsub("R version ", [10:56:25.620] "", base::R.version$version.string), [10:56:25.620] platform = base::sprintf("%s (%s-bit)", [10:56:25.620] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:25.620] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:25.620] "release", "version")], collapse = " "), [10:56:25.620] hostname = base::Sys.info()[["nodename"]]) [10:56:25.620] info <- base::sprintf("%s: %s", base::names(info), [10:56:25.620] info) [10:56:25.620] info <- base::paste(info, collapse = "; ") [10:56:25.620] if (!has_future) { [10:56:25.620] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:25.620] info) [10:56:25.620] } [10:56:25.620] else { [10:56:25.620] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:25.620] info, version) [10:56:25.620] } [10:56:25.620] base::stop(msg) [10:56:25.620] } [10:56:25.620] }) [10:56:25.620] } [10:56:25.620] base::local({ [10:56:25.620] for (pkg in "utils") { [10:56:25.620] base::loadNamespace(pkg) [10:56:25.620] base::library(pkg, character.only = TRUE) [10:56:25.620] } [10:56:25.620] }) [10:56:25.620] } [10:56:25.620] ...future.strategy.old <- future::plan("list") [10:56:25.620] options(future.plan = NULL) [10:56:25.620] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.620] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:25.620] } [10:56:25.620] ...future.workdir <- getwd() [10:56:25.620] } [10:56:25.620] ...future.oldOptions <- base::as.list(base::.Options) [10:56:25.620] ...future.oldEnvVars <- base::Sys.getenv() [10:56:25.620] } [10:56:25.620] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:25.620] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:25.620] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:25.620] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:25.620] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:25.620] future.stdout.windows.reencode = NULL, width = 80L) [10:56:25.620] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:25.620] base::names(...future.oldOptions)) [10:56:25.620] } [10:56:25.620] if (FALSE) { [10:56:25.620] } [10:56:25.620] else { [10:56:25.620] if (TRUE) { [10:56:25.620] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:25.620] open = "w") [10:56:25.620] } [10:56:25.620] else { [10:56:25.620] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:25.620] windows = "NUL", "/dev/null"), open = "w") [10:56:25.620] } [10:56:25.620] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:25.620] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:25.620] base::sink(type = "output", split = FALSE) [10:56:25.620] base::close(...future.stdout) [10:56:25.620] }, add = TRUE) [10:56:25.620] } [10:56:25.620] ...future.frame <- base::sys.nframe() [10:56:25.620] ...future.conditions <- base::list() [10:56:25.620] ...future.rng <- base::globalenv()$.Random.seed [10:56:25.620] if (FALSE) { [10:56:25.620] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:25.620] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:25.620] } [10:56:25.620] ...future.result <- base::tryCatch({ [10:56:25.620] base::withCallingHandlers({ [10:56:25.620] ...future.value <- base::withVisible(base::local({ [10:56:25.620] print(1:50) [10:56:25.620] str(1:50) [10:56:25.620] cat(letters, sep = "-") [10:56:25.620] cat(1:6, collapse = "\n") [10:56:25.620] write.table(datasets::iris[1:10, ], sep = "\t") [10:56:25.620] 42L [10:56:25.620] })) [10:56:25.620] future::FutureResult(value = ...future.value$value, [10:56:25.620] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.620] ...future.rng), globalenv = if (FALSE) [10:56:25.620] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:25.620] ...future.globalenv.names)) [10:56:25.620] else NULL, started = ...future.startTime, version = "1.8") [10:56:25.620] }, condition = base::local({ [10:56:25.620] c <- base::c [10:56:25.620] inherits <- base::inherits [10:56:25.620] invokeRestart <- base::invokeRestart [10:56:25.620] length <- base::length [10:56:25.620] list <- base::list [10:56:25.620] seq.int <- base::seq.int [10:56:25.620] signalCondition <- base::signalCondition [10:56:25.620] sys.calls <- base::sys.calls [10:56:25.620] `[[` <- base::`[[` [10:56:25.620] `+` <- base::`+` [10:56:25.620] `<<-` <- base::`<<-` [10:56:25.620] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:25.620] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:25.620] 3L)] [10:56:25.620] } [10:56:25.620] function(cond) { [10:56:25.620] is_error <- inherits(cond, "error") [10:56:25.620] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:25.620] NULL) [10:56:25.620] if (is_error) { [10:56:25.620] sessionInformation <- function() { [10:56:25.620] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:25.620] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:25.620] search = base::search(), system = base::Sys.info()) [10:56:25.620] } [10:56:25.620] ...future.conditions[[length(...future.conditions) + [10:56:25.620] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:25.620] cond$call), session = sessionInformation(), [10:56:25.620] timestamp = base::Sys.time(), signaled = 0L) [10:56:25.620] signalCondition(cond) [10:56:25.620] } [10:56:25.620] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:25.620] signal <- FALSE && inherits(cond, character(0)) [10:56:25.620] ...future.conditions[[length(...future.conditions) + [10:56:25.620] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:25.620] if (FALSE && !signal) { [10:56:25.620] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.620] { [10:56:25.620] inherits <- base::inherits [10:56:25.620] invokeRestart <- base::invokeRestart [10:56:25.620] is.null <- base::is.null [10:56:25.620] muffled <- FALSE [10:56:25.620] if (inherits(cond, "message")) { [10:56:25.620] muffled <- grepl(pattern, "muffleMessage") [10:56:25.620] if (muffled) [10:56:25.620] invokeRestart("muffleMessage") [10:56:25.620] } [10:56:25.620] else if (inherits(cond, "warning")) { [10:56:25.620] muffled <- grepl(pattern, "muffleWarning") [10:56:25.620] if (muffled) [10:56:25.620] invokeRestart("muffleWarning") [10:56:25.620] } [10:56:25.620] else if (inherits(cond, "condition")) { [10:56:25.620] if (!is.null(pattern)) { [10:56:25.620] computeRestarts <- base::computeRestarts [10:56:25.620] grepl <- base::grepl [10:56:25.620] restarts <- computeRestarts(cond) [10:56:25.620] for (restart in restarts) { [10:56:25.620] name <- restart$name [10:56:25.620] if (is.null(name)) [10:56:25.620] next [10:56:25.620] if (!grepl(pattern, name)) [10:56:25.620] next [10:56:25.620] invokeRestart(restart) [10:56:25.620] muffled <- TRUE [10:56:25.620] break [10:56:25.620] } [10:56:25.620] } [10:56:25.620] } [10:56:25.620] invisible(muffled) [10:56:25.620] } [10:56:25.620] muffleCondition(cond, pattern = "^muffle") [10:56:25.620] } [10:56:25.620] } [10:56:25.620] else { [10:56:25.620] if (TRUE) { [10:56:25.620] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.620] { [10:56:25.620] inherits <- base::inherits [10:56:25.620] invokeRestart <- base::invokeRestart [10:56:25.620] is.null <- base::is.null [10:56:25.620] muffled <- FALSE [10:56:25.620] if (inherits(cond, "message")) { [10:56:25.620] muffled <- grepl(pattern, "muffleMessage") [10:56:25.620] if (muffled) [10:56:25.620] invokeRestart("muffleMessage") [10:56:25.620] } [10:56:25.620] else if (inherits(cond, "warning")) { [10:56:25.620] muffled <- grepl(pattern, "muffleWarning") [10:56:25.620] if (muffled) [10:56:25.620] invokeRestart("muffleWarning") [10:56:25.620] } [10:56:25.620] else if (inherits(cond, "condition")) { [10:56:25.620] if (!is.null(pattern)) { [10:56:25.620] computeRestarts <- base::computeRestarts [10:56:25.620] grepl <- base::grepl [10:56:25.620] restarts <- computeRestarts(cond) [10:56:25.620] for (restart in restarts) { [10:56:25.620] name <- restart$name [10:56:25.620] if (is.null(name)) [10:56:25.620] next [10:56:25.620] if (!grepl(pattern, name)) [10:56:25.620] next [10:56:25.620] invokeRestart(restart) [10:56:25.620] muffled <- TRUE [10:56:25.620] break [10:56:25.620] } [10:56:25.620] } [10:56:25.620] } [10:56:25.620] invisible(muffled) [10:56:25.620] } [10:56:25.620] muffleCondition(cond, pattern = "^muffle") [10:56:25.620] } [10:56:25.620] } [10:56:25.620] } [10:56:25.620] })) [10:56:25.620] }, error = function(ex) { [10:56:25.620] base::structure(base::list(value = NULL, visible = NULL, [10:56:25.620] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.620] ...future.rng), started = ...future.startTime, [10:56:25.620] finished = Sys.time(), session_uuid = NA_character_, [10:56:25.620] version = "1.8"), class = "FutureResult") [10:56:25.620] }, finally = { [10:56:25.620] if (!identical(...future.workdir, getwd())) [10:56:25.620] setwd(...future.workdir) [10:56:25.620] { [10:56:25.620] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:25.620] ...future.oldOptions$nwarnings <- NULL [10:56:25.620] } [10:56:25.620] base::options(...future.oldOptions) [10:56:25.620] if (.Platform$OS.type == "windows") { [10:56:25.620] old_names <- names(...future.oldEnvVars) [10:56:25.620] envs <- base::Sys.getenv() [10:56:25.620] names <- names(envs) [10:56:25.620] common <- intersect(names, old_names) [10:56:25.620] added <- setdiff(names, old_names) [10:56:25.620] removed <- setdiff(old_names, names) [10:56:25.620] changed <- common[...future.oldEnvVars[common] != [10:56:25.620] envs[common]] [10:56:25.620] NAMES <- toupper(changed) [10:56:25.620] args <- list() [10:56:25.620] for (kk in seq_along(NAMES)) { [10:56:25.620] name <- changed[[kk]] [10:56:25.620] NAME <- NAMES[[kk]] [10:56:25.620] if (name != NAME && is.element(NAME, old_names)) [10:56:25.620] next [10:56:25.620] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.620] } [10:56:25.620] NAMES <- toupper(added) [10:56:25.620] for (kk in seq_along(NAMES)) { [10:56:25.620] name <- added[[kk]] [10:56:25.620] NAME <- NAMES[[kk]] [10:56:25.620] if (name != NAME && is.element(NAME, old_names)) [10:56:25.620] next [10:56:25.620] args[[name]] <- "" [10:56:25.620] } [10:56:25.620] NAMES <- toupper(removed) [10:56:25.620] for (kk in seq_along(NAMES)) { [10:56:25.620] name <- removed[[kk]] [10:56:25.620] NAME <- NAMES[[kk]] [10:56:25.620] if (name != NAME && is.element(NAME, old_names)) [10:56:25.620] next [10:56:25.620] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.620] } [10:56:25.620] if (length(args) > 0) [10:56:25.620] base::do.call(base::Sys.setenv, args = args) [10:56:25.620] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:25.620] } [10:56:25.620] else { [10:56:25.620] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:25.620] } [10:56:25.620] { [10:56:25.620] if (base::length(...future.futureOptionsAdded) > [10:56:25.620] 0L) { [10:56:25.620] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:25.620] base::names(opts) <- ...future.futureOptionsAdded [10:56:25.620] base::options(opts) [10:56:25.620] } [10:56:25.620] { [10:56:25.620] NULL [10:56:25.620] options(future.plan = NULL) [10:56:25.620] if (is.na(NA_character_)) [10:56:25.620] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.620] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:25.620] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:25.620] .init = FALSE) [10:56:25.620] } [10:56:25.620] } [10:56:25.620] } [10:56:25.620] }) [10:56:25.620] if (TRUE) { [10:56:25.620] base::sink(type = "output", split = FALSE) [10:56:25.620] if (TRUE) { [10:56:25.620] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:25.620] } [10:56:25.620] else { [10:56:25.620] ...future.result["stdout"] <- base::list(NULL) [10:56:25.620] } [10:56:25.620] base::close(...future.stdout) [10:56:25.620] ...future.stdout <- NULL [10:56:25.620] } [10:56:25.620] ...future.result$conditions <- ...future.conditions [10:56:25.620] ...future.result$finished <- base::Sys.time() [10:56:25.620] ...future.result [10:56:25.620] } [10:56:25.624] - Launch lazy future ... done [10:56:25.624] 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-05-15 10:56:25" $ finished : POSIXct[1:1], format: "2024-05-15 10:56:25" $ session_uuid: chr "8fc96e1b-173c-b6a6-9ad7-aa9c007fc8ae" ..- 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 109048 .. ..$ time : POSIXct[1:1], format: "2024-05-15 10:56:25" .. ..$ 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.009150982 secs (started 2024-05-15 10:56:25.624897) version: 1.8 [10:56:25.647] getGlobalsAndPackages() ... [10:56:25.648] Searching for globals... [10:56:25.653] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [10:56:25.654] Searching for globals ... DONE [10:56:25.654] Resolving globals: FALSE [10:56:25.655] [10:56:25.655] - packages: [1] 'utils' [10:56:25.655] getGlobalsAndPackages() ... DONE [10:56:25.656] run() for 'Future' ... [10:56:25.656] - state: 'created' [10:56:25.657] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:56:25.660] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:56:25.661] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:56:25.661] - Field: 'label' [10:56:25.661] - Field: 'local' [10:56:25.661] - Field: 'owner' [10:56:25.661] - Field: 'envir' [10:56:25.662] - Field: 'packages' [10:56:25.662] - Field: 'gc' [10:56:25.662] - Field: 'conditions' [10:56:25.662] - Field: 'expr' [10:56:25.663] - Field: 'uuid' [10:56:25.663] - Field: 'seed' [10:56:25.663] - Field: 'version' [10:56:25.663] - Field: 'result' [10:56:25.663] - Field: 'asynchronous' [10:56:25.664] - Field: 'calls' [10:56:25.664] - Field: 'globals' [10:56:25.664] - Field: 'stdout' [10:56:25.664] - Field: 'earlySignal' [10:56:25.664] - Field: 'lazy' [10:56:25.665] - Field: 'state' [10:56:25.665] - Field: '.cluster' [10:56:25.665] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:56:25.665] - Launch lazy future ... [10:56:25.666] Packages needed by the future expression (n = 1): 'utils' [10:56:25.666] Packages needed by future strategies (n = 0): [10:56:25.667] { [10:56:25.667] { [10:56:25.667] { [10:56:25.667] ...future.startTime <- base::Sys.time() [10:56:25.667] { [10:56:25.667] { [10:56:25.667] { [10:56:25.667] { [10:56:25.667] base::local({ [10:56:25.667] has_future <- base::requireNamespace("future", [10:56:25.667] quietly = TRUE) [10:56:25.667] if (has_future) { [10:56:25.667] ns <- base::getNamespace("future") [10:56:25.667] version <- ns[[".package"]][["version"]] [10:56:25.667] if (is.null(version)) [10:56:25.667] version <- utils::packageVersion("future") [10:56:25.667] } [10:56:25.667] else { [10:56:25.667] version <- NULL [10:56:25.667] } [10:56:25.667] if (!has_future || version < "1.8.0") { [10:56:25.667] info <- base::c(r_version = base::gsub("R version ", [10:56:25.667] "", base::R.version$version.string), [10:56:25.667] platform = base::sprintf("%s (%s-bit)", [10:56:25.667] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:25.667] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:25.667] "release", "version")], collapse = " "), [10:56:25.667] hostname = base::Sys.info()[["nodename"]]) [10:56:25.667] info <- base::sprintf("%s: %s", base::names(info), [10:56:25.667] info) [10:56:25.667] info <- base::paste(info, collapse = "; ") [10:56:25.667] if (!has_future) { [10:56:25.667] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:25.667] info) [10:56:25.667] } [10:56:25.667] else { [10:56:25.667] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:25.667] info, version) [10:56:25.667] } [10:56:25.667] base::stop(msg) [10:56:25.667] } [10:56:25.667] }) [10:56:25.667] } [10:56:25.667] base::local({ [10:56:25.667] for (pkg in "utils") { [10:56:25.667] base::loadNamespace(pkg) [10:56:25.667] base::library(pkg, character.only = TRUE) [10:56:25.667] } [10:56:25.667] }) [10:56:25.667] } [10:56:25.667] ...future.strategy.old <- future::plan("list") [10:56:25.667] options(future.plan = NULL) [10:56:25.667] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.667] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:25.667] } [10:56:25.667] ...future.workdir <- getwd() [10:56:25.667] } [10:56:25.667] ...future.oldOptions <- base::as.list(base::.Options) [10:56:25.667] ...future.oldEnvVars <- base::Sys.getenv() [10:56:25.667] } [10:56:25.667] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:25.667] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:25.667] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:25.667] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:25.667] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:25.667] future.stdout.windows.reencode = NULL, width = 80L) [10:56:25.667] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:25.667] base::names(...future.oldOptions)) [10:56:25.667] } [10:56:25.667] if (FALSE) { [10:56:25.667] } [10:56:25.667] else { [10:56:25.667] if (TRUE) { [10:56:25.667] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:25.667] open = "w") [10:56:25.667] } [10:56:25.667] else { [10:56:25.667] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:25.667] windows = "NUL", "/dev/null"), open = "w") [10:56:25.667] } [10:56:25.667] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:25.667] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:25.667] base::sink(type = "output", split = FALSE) [10:56:25.667] base::close(...future.stdout) [10:56:25.667] }, add = TRUE) [10:56:25.667] } [10:56:25.667] ...future.frame <- base::sys.nframe() [10:56:25.667] ...future.conditions <- base::list() [10:56:25.667] ...future.rng <- base::globalenv()$.Random.seed [10:56:25.667] if (FALSE) { [10:56:25.667] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:25.667] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:25.667] } [10:56:25.667] ...future.result <- base::tryCatch({ [10:56:25.667] base::withCallingHandlers({ [10:56:25.667] ...future.value <- base::withVisible(base::local({ [10:56:25.667] print(1:50) [10:56:25.667] str(1:50) [10:56:25.667] cat(letters, sep = "-") [10:56:25.667] cat(1:6, collapse = "\n") [10:56:25.667] write.table(datasets::iris[1:10, ], sep = "\t") [10:56:25.667] 42L [10:56:25.667] })) [10:56:25.667] future::FutureResult(value = ...future.value$value, [10:56:25.667] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.667] ...future.rng), globalenv = if (FALSE) [10:56:25.667] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:25.667] ...future.globalenv.names)) [10:56:25.667] else NULL, started = ...future.startTime, version = "1.8") [10:56:25.667] }, condition = base::local({ [10:56:25.667] c <- base::c [10:56:25.667] inherits <- base::inherits [10:56:25.667] invokeRestart <- base::invokeRestart [10:56:25.667] length <- base::length [10:56:25.667] list <- base::list [10:56:25.667] seq.int <- base::seq.int [10:56:25.667] signalCondition <- base::signalCondition [10:56:25.667] sys.calls <- base::sys.calls [10:56:25.667] `[[` <- base::`[[` [10:56:25.667] `+` <- base::`+` [10:56:25.667] `<<-` <- base::`<<-` [10:56:25.667] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:25.667] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:25.667] 3L)] [10:56:25.667] } [10:56:25.667] function(cond) { [10:56:25.667] is_error <- inherits(cond, "error") [10:56:25.667] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:25.667] NULL) [10:56:25.667] if (is_error) { [10:56:25.667] sessionInformation <- function() { [10:56:25.667] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:25.667] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:25.667] search = base::search(), system = base::Sys.info()) [10:56:25.667] } [10:56:25.667] ...future.conditions[[length(...future.conditions) + [10:56:25.667] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:25.667] cond$call), session = sessionInformation(), [10:56:25.667] timestamp = base::Sys.time(), signaled = 0L) [10:56:25.667] signalCondition(cond) [10:56:25.667] } [10:56:25.667] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:25.667] signal <- FALSE && inherits(cond, character(0)) [10:56:25.667] ...future.conditions[[length(...future.conditions) + [10:56:25.667] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:25.667] if (FALSE && !signal) { [10:56:25.667] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.667] { [10:56:25.667] inherits <- base::inherits [10:56:25.667] invokeRestart <- base::invokeRestart [10:56:25.667] is.null <- base::is.null [10:56:25.667] muffled <- FALSE [10:56:25.667] if (inherits(cond, "message")) { [10:56:25.667] muffled <- grepl(pattern, "muffleMessage") [10:56:25.667] if (muffled) [10:56:25.667] invokeRestart("muffleMessage") [10:56:25.667] } [10:56:25.667] else if (inherits(cond, "warning")) { [10:56:25.667] muffled <- grepl(pattern, "muffleWarning") [10:56:25.667] if (muffled) [10:56:25.667] invokeRestart("muffleWarning") [10:56:25.667] } [10:56:25.667] else if (inherits(cond, "condition")) { [10:56:25.667] if (!is.null(pattern)) { [10:56:25.667] computeRestarts <- base::computeRestarts [10:56:25.667] grepl <- base::grepl [10:56:25.667] restarts <- computeRestarts(cond) [10:56:25.667] for (restart in restarts) { [10:56:25.667] name <- restart$name [10:56:25.667] if (is.null(name)) [10:56:25.667] next [10:56:25.667] if (!grepl(pattern, name)) [10:56:25.667] next [10:56:25.667] invokeRestart(restart) [10:56:25.667] muffled <- TRUE [10:56:25.667] break [10:56:25.667] } [10:56:25.667] } [10:56:25.667] } [10:56:25.667] invisible(muffled) [10:56:25.667] } [10:56:25.667] muffleCondition(cond, pattern = "^muffle") [10:56:25.667] } [10:56:25.667] } [10:56:25.667] else { [10:56:25.667] if (TRUE) { [10:56:25.667] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.667] { [10:56:25.667] inherits <- base::inherits [10:56:25.667] invokeRestart <- base::invokeRestart [10:56:25.667] is.null <- base::is.null [10:56:25.667] muffled <- FALSE [10:56:25.667] if (inherits(cond, "message")) { [10:56:25.667] muffled <- grepl(pattern, "muffleMessage") [10:56:25.667] if (muffled) [10:56:25.667] invokeRestart("muffleMessage") [10:56:25.667] } [10:56:25.667] else if (inherits(cond, "warning")) { [10:56:25.667] muffled <- grepl(pattern, "muffleWarning") [10:56:25.667] if (muffled) [10:56:25.667] invokeRestart("muffleWarning") [10:56:25.667] } [10:56:25.667] else if (inherits(cond, "condition")) { [10:56:25.667] if (!is.null(pattern)) { [10:56:25.667] computeRestarts <- base::computeRestarts [10:56:25.667] grepl <- base::grepl [10:56:25.667] restarts <- computeRestarts(cond) [10:56:25.667] for (restart in restarts) { [10:56:25.667] name <- restart$name [10:56:25.667] if (is.null(name)) [10:56:25.667] next [10:56:25.667] if (!grepl(pattern, name)) [10:56:25.667] next [10:56:25.667] invokeRestart(restart) [10:56:25.667] muffled <- TRUE [10:56:25.667] break [10:56:25.667] } [10:56:25.667] } [10:56:25.667] } [10:56:25.667] invisible(muffled) [10:56:25.667] } [10:56:25.667] muffleCondition(cond, pattern = "^muffle") [10:56:25.667] } [10:56:25.667] } [10:56:25.667] } [10:56:25.667] })) [10:56:25.667] }, error = function(ex) { [10:56:25.667] base::structure(base::list(value = NULL, visible = NULL, [10:56:25.667] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.667] ...future.rng), started = ...future.startTime, [10:56:25.667] finished = Sys.time(), session_uuid = NA_character_, [10:56:25.667] version = "1.8"), class = "FutureResult") [10:56:25.667] }, finally = { [10:56:25.667] if (!identical(...future.workdir, getwd())) [10:56:25.667] setwd(...future.workdir) [10:56:25.667] { [10:56:25.667] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:25.667] ...future.oldOptions$nwarnings <- NULL [10:56:25.667] } [10:56:25.667] base::options(...future.oldOptions) [10:56:25.667] if (.Platform$OS.type == "windows") { [10:56:25.667] old_names <- names(...future.oldEnvVars) [10:56:25.667] envs <- base::Sys.getenv() [10:56:25.667] names <- names(envs) [10:56:25.667] common <- intersect(names, old_names) [10:56:25.667] added <- setdiff(names, old_names) [10:56:25.667] removed <- setdiff(old_names, names) [10:56:25.667] changed <- common[...future.oldEnvVars[common] != [10:56:25.667] envs[common]] [10:56:25.667] NAMES <- toupper(changed) [10:56:25.667] args <- list() [10:56:25.667] for (kk in seq_along(NAMES)) { [10:56:25.667] name <- changed[[kk]] [10:56:25.667] NAME <- NAMES[[kk]] [10:56:25.667] if (name != NAME && is.element(NAME, old_names)) [10:56:25.667] next [10:56:25.667] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.667] } [10:56:25.667] NAMES <- toupper(added) [10:56:25.667] for (kk in seq_along(NAMES)) { [10:56:25.667] name <- added[[kk]] [10:56:25.667] NAME <- NAMES[[kk]] [10:56:25.667] if (name != NAME && is.element(NAME, old_names)) [10:56:25.667] next [10:56:25.667] args[[name]] <- "" [10:56:25.667] } [10:56:25.667] NAMES <- toupper(removed) [10:56:25.667] for (kk in seq_along(NAMES)) { [10:56:25.667] name <- removed[[kk]] [10:56:25.667] NAME <- NAMES[[kk]] [10:56:25.667] if (name != NAME && is.element(NAME, old_names)) [10:56:25.667] next [10:56:25.667] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.667] } [10:56:25.667] if (length(args) > 0) [10:56:25.667] base::do.call(base::Sys.setenv, args = args) [10:56:25.667] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:25.667] } [10:56:25.667] else { [10:56:25.667] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:25.667] } [10:56:25.667] { [10:56:25.667] if (base::length(...future.futureOptionsAdded) > [10:56:25.667] 0L) { [10:56:25.667] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:25.667] base::names(opts) <- ...future.futureOptionsAdded [10:56:25.667] base::options(opts) [10:56:25.667] } [10:56:25.667] { [10:56:25.667] NULL [10:56:25.667] options(future.plan = NULL) [10:56:25.667] if (is.na(NA_character_)) [10:56:25.667] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.667] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:25.667] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:25.667] .init = FALSE) [10:56:25.667] } [10:56:25.667] } [10:56:25.667] } [10:56:25.667] }) [10:56:25.667] if (TRUE) { [10:56:25.667] base::sink(type = "output", split = FALSE) [10:56:25.667] if (TRUE) { [10:56:25.667] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:25.667] } [10:56:25.667] else { [10:56:25.667] ...future.result["stdout"] <- base::list(NULL) [10:56:25.667] } [10:56:25.667] base::close(...future.stdout) [10:56:25.667] ...future.stdout <- NULL [10:56:25.667] } [10:56:25.667] ...future.result$conditions <- ...future.conditions [10:56:25.667] ...future.result$finished <- base::Sys.time() [10:56:25.667] ...future.result [10:56:25.667] } [10:56:25.672] - Launch lazy future ... done [10:56:25.672] 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 [10:56:25.679] getGlobalsAndPackages() ... [10:56:25.679] Searching for globals... [10:56:25.690] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [10:56:25.690] Searching for globals ... DONE [10:56:25.690] Resolving globals: FALSE [10:56:25.691] [10:56:25.692] - packages: [1] 'utils' [10:56:25.692] getGlobalsAndPackages() ... DONE [10:56:25.693] run() for 'Future' ... [10:56:25.693] - state: 'created' [10:56:25.693] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:56:25.697] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:56:25.697] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:56:25.698] - Field: 'label' [10:56:25.698] - Field: 'local' [10:56:25.698] - Field: 'owner' [10:56:25.699] - Field: 'envir' [10:56:25.699] - Field: 'packages' [10:56:25.699] - Field: 'gc' [10:56:25.699] - Field: 'conditions' [10:56:25.700] - Field: 'expr' [10:56:25.700] - Field: 'uuid' [10:56:25.700] - Field: 'seed' [10:56:25.700] - Field: 'version' [10:56:25.701] - Field: 'result' [10:56:25.701] - Field: 'asynchronous' [10:56:25.701] - Field: 'calls' [10:56:25.702] - Field: 'globals' [10:56:25.702] - Field: 'stdout' [10:56:25.702] - Field: 'earlySignal' [10:56:25.702] - Field: 'lazy' [10:56:25.703] - Field: 'state' [10:56:25.703] - Field: '.cluster' [10:56:25.703] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:56:25.703] - Launch lazy future ... [10:56:25.704] Packages needed by the future expression (n = 1): 'utils' [10:56:25.704] Packages needed by future strategies (n = 0): [10:56:25.706] { [10:56:25.706] { [10:56:25.706] { [10:56:25.706] ...future.startTime <- base::Sys.time() [10:56:25.706] { [10:56:25.706] { [10:56:25.706] { [10:56:25.706] { [10:56:25.706] base::local({ [10:56:25.706] has_future <- base::requireNamespace("future", [10:56:25.706] quietly = TRUE) [10:56:25.706] if (has_future) { [10:56:25.706] ns <- base::getNamespace("future") [10:56:25.706] version <- ns[[".package"]][["version"]] [10:56:25.706] if (is.null(version)) [10:56:25.706] version <- utils::packageVersion("future") [10:56:25.706] } [10:56:25.706] else { [10:56:25.706] version <- NULL [10:56:25.706] } [10:56:25.706] if (!has_future || version < "1.8.0") { [10:56:25.706] info <- base::c(r_version = base::gsub("R version ", [10:56:25.706] "", base::R.version$version.string), [10:56:25.706] platform = base::sprintf("%s (%s-bit)", [10:56:25.706] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:25.706] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:25.706] "release", "version")], collapse = " "), [10:56:25.706] hostname = base::Sys.info()[["nodename"]]) [10:56:25.706] info <- base::sprintf("%s: %s", base::names(info), [10:56:25.706] info) [10:56:25.706] info <- base::paste(info, collapse = "; ") [10:56:25.706] if (!has_future) { [10:56:25.706] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:25.706] info) [10:56:25.706] } [10:56:25.706] else { [10:56:25.706] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:25.706] info, version) [10:56:25.706] } [10:56:25.706] base::stop(msg) [10:56:25.706] } [10:56:25.706] }) [10:56:25.706] } [10:56:25.706] base::local({ [10:56:25.706] for (pkg in "utils") { [10:56:25.706] base::loadNamespace(pkg) [10:56:25.706] base::library(pkg, character.only = TRUE) [10:56:25.706] } [10:56:25.706] }) [10:56:25.706] } [10:56:25.706] ...future.strategy.old <- future::plan("list") [10:56:25.706] options(future.plan = NULL) [10:56:25.706] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.706] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:25.706] } [10:56:25.706] ...future.workdir <- getwd() [10:56:25.706] } [10:56:25.706] ...future.oldOptions <- base::as.list(base::.Options) [10:56:25.706] ...future.oldEnvVars <- base::Sys.getenv() [10:56:25.706] } [10:56:25.706] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:25.706] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:25.706] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:25.706] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:25.706] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:25.706] future.stdout.windows.reencode = NULL, width = 80L) [10:56:25.706] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:25.706] base::names(...future.oldOptions)) [10:56:25.706] } [10:56:25.706] if (FALSE) { [10:56:25.706] } [10:56:25.706] else { [10:56:25.706] if (FALSE) { [10:56:25.706] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:25.706] open = "w") [10:56:25.706] } [10:56:25.706] else { [10:56:25.706] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:25.706] windows = "NUL", "/dev/null"), open = "w") [10:56:25.706] } [10:56:25.706] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:25.706] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:25.706] base::sink(type = "output", split = FALSE) [10:56:25.706] base::close(...future.stdout) [10:56:25.706] }, add = TRUE) [10:56:25.706] } [10:56:25.706] ...future.frame <- base::sys.nframe() [10:56:25.706] ...future.conditions <- base::list() [10:56:25.706] ...future.rng <- base::globalenv()$.Random.seed [10:56:25.706] if (FALSE) { [10:56:25.706] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:25.706] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:25.706] } [10:56:25.706] ...future.result <- base::tryCatch({ [10:56:25.706] base::withCallingHandlers({ [10:56:25.706] ...future.value <- base::withVisible(base::local({ [10:56:25.706] print(1:50) [10:56:25.706] str(1:50) [10:56:25.706] cat(letters, sep = "-") [10:56:25.706] cat(1:6, collapse = "\n") [10:56:25.706] write.table(datasets::iris[1:10, ], sep = "\t") [10:56:25.706] 42L [10:56:25.706] })) [10:56:25.706] future::FutureResult(value = ...future.value$value, [10:56:25.706] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.706] ...future.rng), globalenv = if (FALSE) [10:56:25.706] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:25.706] ...future.globalenv.names)) [10:56:25.706] else NULL, started = ...future.startTime, version = "1.8") [10:56:25.706] }, condition = base::local({ [10:56:25.706] c <- base::c [10:56:25.706] inherits <- base::inherits [10:56:25.706] invokeRestart <- base::invokeRestart [10:56:25.706] length <- base::length [10:56:25.706] list <- base::list [10:56:25.706] seq.int <- base::seq.int [10:56:25.706] signalCondition <- base::signalCondition [10:56:25.706] sys.calls <- base::sys.calls [10:56:25.706] `[[` <- base::`[[` [10:56:25.706] `+` <- base::`+` [10:56:25.706] `<<-` <- base::`<<-` [10:56:25.706] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:25.706] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:25.706] 3L)] [10:56:25.706] } [10:56:25.706] function(cond) { [10:56:25.706] is_error <- inherits(cond, "error") [10:56:25.706] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:25.706] NULL) [10:56:25.706] if (is_error) { [10:56:25.706] sessionInformation <- function() { [10:56:25.706] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:25.706] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:25.706] search = base::search(), system = base::Sys.info()) [10:56:25.706] } [10:56:25.706] ...future.conditions[[length(...future.conditions) + [10:56:25.706] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:25.706] cond$call), session = sessionInformation(), [10:56:25.706] timestamp = base::Sys.time(), signaled = 0L) [10:56:25.706] signalCondition(cond) [10:56:25.706] } [10:56:25.706] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:25.706] signal <- FALSE && inherits(cond, character(0)) [10:56:25.706] ...future.conditions[[length(...future.conditions) + [10:56:25.706] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:25.706] if (FALSE && !signal) { [10:56:25.706] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.706] { [10:56:25.706] inherits <- base::inherits [10:56:25.706] invokeRestart <- base::invokeRestart [10:56:25.706] is.null <- base::is.null [10:56:25.706] muffled <- FALSE [10:56:25.706] if (inherits(cond, "message")) { [10:56:25.706] muffled <- grepl(pattern, "muffleMessage") [10:56:25.706] if (muffled) [10:56:25.706] invokeRestart("muffleMessage") [10:56:25.706] } [10:56:25.706] else if (inherits(cond, "warning")) { [10:56:25.706] muffled <- grepl(pattern, "muffleWarning") [10:56:25.706] if (muffled) [10:56:25.706] invokeRestart("muffleWarning") [10:56:25.706] } [10:56:25.706] else if (inherits(cond, "condition")) { [10:56:25.706] if (!is.null(pattern)) { [10:56:25.706] computeRestarts <- base::computeRestarts [10:56:25.706] grepl <- base::grepl [10:56:25.706] restarts <- computeRestarts(cond) [10:56:25.706] for (restart in restarts) { [10:56:25.706] name <- restart$name [10:56:25.706] if (is.null(name)) [10:56:25.706] next [10:56:25.706] if (!grepl(pattern, name)) [10:56:25.706] next [10:56:25.706] invokeRestart(restart) [10:56:25.706] muffled <- TRUE [10:56:25.706] break [10:56:25.706] } [10:56:25.706] } [10:56:25.706] } [10:56:25.706] invisible(muffled) [10:56:25.706] } [10:56:25.706] muffleCondition(cond, pattern = "^muffle") [10:56:25.706] } [10:56:25.706] } [10:56:25.706] else { [10:56:25.706] if (TRUE) { [10:56:25.706] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.706] { [10:56:25.706] inherits <- base::inherits [10:56:25.706] invokeRestart <- base::invokeRestart [10:56:25.706] is.null <- base::is.null [10:56:25.706] muffled <- FALSE [10:56:25.706] if (inherits(cond, "message")) { [10:56:25.706] muffled <- grepl(pattern, "muffleMessage") [10:56:25.706] if (muffled) [10:56:25.706] invokeRestart("muffleMessage") [10:56:25.706] } [10:56:25.706] else if (inherits(cond, "warning")) { [10:56:25.706] muffled <- grepl(pattern, "muffleWarning") [10:56:25.706] if (muffled) [10:56:25.706] invokeRestart("muffleWarning") [10:56:25.706] } [10:56:25.706] else if (inherits(cond, "condition")) { [10:56:25.706] if (!is.null(pattern)) { [10:56:25.706] computeRestarts <- base::computeRestarts [10:56:25.706] grepl <- base::grepl [10:56:25.706] restarts <- computeRestarts(cond) [10:56:25.706] for (restart in restarts) { [10:56:25.706] name <- restart$name [10:56:25.706] if (is.null(name)) [10:56:25.706] next [10:56:25.706] if (!grepl(pattern, name)) [10:56:25.706] next [10:56:25.706] invokeRestart(restart) [10:56:25.706] muffled <- TRUE [10:56:25.706] break [10:56:25.706] } [10:56:25.706] } [10:56:25.706] } [10:56:25.706] invisible(muffled) [10:56:25.706] } [10:56:25.706] muffleCondition(cond, pattern = "^muffle") [10:56:25.706] } [10:56:25.706] } [10:56:25.706] } [10:56:25.706] })) [10:56:25.706] }, error = function(ex) { [10:56:25.706] base::structure(base::list(value = NULL, visible = NULL, [10:56:25.706] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.706] ...future.rng), started = ...future.startTime, [10:56:25.706] finished = Sys.time(), session_uuid = NA_character_, [10:56:25.706] version = "1.8"), class = "FutureResult") [10:56:25.706] }, finally = { [10:56:25.706] if (!identical(...future.workdir, getwd())) [10:56:25.706] setwd(...future.workdir) [10:56:25.706] { [10:56:25.706] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:25.706] ...future.oldOptions$nwarnings <- NULL [10:56:25.706] } [10:56:25.706] base::options(...future.oldOptions) [10:56:25.706] if (.Platform$OS.type == "windows") { [10:56:25.706] old_names <- names(...future.oldEnvVars) [10:56:25.706] envs <- base::Sys.getenv() [10:56:25.706] names <- names(envs) [10:56:25.706] common <- intersect(names, old_names) [10:56:25.706] added <- setdiff(names, old_names) [10:56:25.706] removed <- setdiff(old_names, names) [10:56:25.706] changed <- common[...future.oldEnvVars[common] != [10:56:25.706] envs[common]] [10:56:25.706] NAMES <- toupper(changed) [10:56:25.706] args <- list() [10:56:25.706] for (kk in seq_along(NAMES)) { [10:56:25.706] name <- changed[[kk]] [10:56:25.706] NAME <- NAMES[[kk]] [10:56:25.706] if (name != NAME && is.element(NAME, old_names)) [10:56:25.706] next [10:56:25.706] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.706] } [10:56:25.706] NAMES <- toupper(added) [10:56:25.706] for (kk in seq_along(NAMES)) { [10:56:25.706] name <- added[[kk]] [10:56:25.706] NAME <- NAMES[[kk]] [10:56:25.706] if (name != NAME && is.element(NAME, old_names)) [10:56:25.706] next [10:56:25.706] args[[name]] <- "" [10:56:25.706] } [10:56:25.706] NAMES <- toupper(removed) [10:56:25.706] for (kk in seq_along(NAMES)) { [10:56:25.706] name <- removed[[kk]] [10:56:25.706] NAME <- NAMES[[kk]] [10:56:25.706] if (name != NAME && is.element(NAME, old_names)) [10:56:25.706] next [10:56:25.706] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.706] } [10:56:25.706] if (length(args) > 0) [10:56:25.706] base::do.call(base::Sys.setenv, args = args) [10:56:25.706] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:25.706] } [10:56:25.706] else { [10:56:25.706] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:25.706] } [10:56:25.706] { [10:56:25.706] if (base::length(...future.futureOptionsAdded) > [10:56:25.706] 0L) { [10:56:25.706] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:25.706] base::names(opts) <- ...future.futureOptionsAdded [10:56:25.706] base::options(opts) [10:56:25.706] } [10:56:25.706] { [10:56:25.706] NULL [10:56:25.706] options(future.plan = NULL) [10:56:25.706] if (is.na(NA_character_)) [10:56:25.706] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.706] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:25.706] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:25.706] .init = FALSE) [10:56:25.706] } [10:56:25.706] } [10:56:25.706] } [10:56:25.706] }) [10:56:25.706] if (TRUE) { [10:56:25.706] base::sink(type = "output", split = FALSE) [10:56:25.706] if (FALSE) { [10:56:25.706] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:25.706] } [10:56:25.706] else { [10:56:25.706] ...future.result["stdout"] <- base::list(NULL) [10:56:25.706] } [10:56:25.706] base::close(...future.stdout) [10:56:25.706] ...future.stdout <- NULL [10:56:25.706] } [10:56:25.706] ...future.result$conditions <- ...future.conditions [10:56:25.706] ...future.result$finished <- base::Sys.time() [10:56:25.706] ...future.result [10:56:25.706] } [10:56:25.712] - Launch lazy future ... done [10:56:25.712] 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-05-15 10:56:25" $ finished : POSIXct[1:1], format: "2024-05-15 10:56:25" $ session_uuid: chr "8fc96e1b-173c-b6a6-9ad7-aa9c007fc8ae" ..- 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 109048 .. ..$ time : POSIXct[1:1], format: "2024-05-15 10:56:25" .. ..$ 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" [10:56:25.731] getGlobalsAndPackages() ... [10:56:25.731] Searching for globals... [10:56:25.738] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [10:56:25.738] Searching for globals ... DONE [10:56:25.738] Resolving globals: FALSE [10:56:25.739] [10:56:25.739] - packages: [1] 'utils' [10:56:25.739] getGlobalsAndPackages() ... DONE [10:56:25.740] run() for 'Future' ... [10:56:25.740] - state: 'created' [10:56:25.740] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:56:25.743] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:56:25.743] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:56:25.743] - Field: 'label' [10:56:25.744] - Field: 'local' [10:56:25.744] - Field: 'owner' [10:56:25.744] - Field: 'envir' [10:56:25.744] - Field: 'packages' [10:56:25.744] - Field: 'gc' [10:56:25.745] - Field: 'conditions' [10:56:25.745] - Field: 'expr' [10:56:25.745] - Field: 'uuid' [10:56:25.745] - Field: 'seed' [10:56:25.745] - Field: 'version' [10:56:25.746] - Field: 'result' [10:56:25.746] - Field: 'asynchronous' [10:56:25.746] - Field: 'calls' [10:56:25.746] - Field: 'globals' [10:56:25.746] - Field: 'stdout' [10:56:25.746] - Field: 'earlySignal' [10:56:25.747] - Field: 'lazy' [10:56:25.747] - Field: 'state' [10:56:25.747] - Field: '.cluster' [10:56:25.747] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:56:25.748] - Launch lazy future ... [10:56:25.748] Packages needed by the future expression (n = 1): 'utils' [10:56:25.748] Packages needed by future strategies (n = 0): [10:56:25.749] { [10:56:25.749] { [10:56:25.749] { [10:56:25.749] ...future.startTime <- base::Sys.time() [10:56:25.749] { [10:56:25.749] { [10:56:25.749] { [10:56:25.749] { [10:56:25.749] base::local({ [10:56:25.749] has_future <- base::requireNamespace("future", [10:56:25.749] quietly = TRUE) [10:56:25.749] if (has_future) { [10:56:25.749] ns <- base::getNamespace("future") [10:56:25.749] version <- ns[[".package"]][["version"]] [10:56:25.749] if (is.null(version)) [10:56:25.749] version <- utils::packageVersion("future") [10:56:25.749] } [10:56:25.749] else { [10:56:25.749] version <- NULL [10:56:25.749] } [10:56:25.749] if (!has_future || version < "1.8.0") { [10:56:25.749] info <- base::c(r_version = base::gsub("R version ", [10:56:25.749] "", base::R.version$version.string), [10:56:25.749] platform = base::sprintf("%s (%s-bit)", [10:56:25.749] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:25.749] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:25.749] "release", "version")], collapse = " "), [10:56:25.749] hostname = base::Sys.info()[["nodename"]]) [10:56:25.749] info <- base::sprintf("%s: %s", base::names(info), [10:56:25.749] info) [10:56:25.749] info <- base::paste(info, collapse = "; ") [10:56:25.749] if (!has_future) { [10:56:25.749] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:25.749] info) [10:56:25.749] } [10:56:25.749] else { [10:56:25.749] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:25.749] info, version) [10:56:25.749] } [10:56:25.749] base::stop(msg) [10:56:25.749] } [10:56:25.749] }) [10:56:25.749] } [10:56:25.749] base::local({ [10:56:25.749] for (pkg in "utils") { [10:56:25.749] base::loadNamespace(pkg) [10:56:25.749] base::library(pkg, character.only = TRUE) [10:56:25.749] } [10:56:25.749] }) [10:56:25.749] } [10:56:25.749] ...future.strategy.old <- future::plan("list") [10:56:25.749] options(future.plan = NULL) [10:56:25.749] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.749] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:25.749] } [10:56:25.749] ...future.workdir <- getwd() [10:56:25.749] } [10:56:25.749] ...future.oldOptions <- base::as.list(base::.Options) [10:56:25.749] ...future.oldEnvVars <- base::Sys.getenv() [10:56:25.749] } [10:56:25.749] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:25.749] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:25.749] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:25.749] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:25.749] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:25.749] future.stdout.windows.reencode = NULL, width = 80L) [10:56:25.749] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:25.749] base::names(...future.oldOptions)) [10:56:25.749] } [10:56:25.749] if (FALSE) { [10:56:25.749] } [10:56:25.749] else { [10:56:25.749] if (FALSE) { [10:56:25.749] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:25.749] open = "w") [10:56:25.749] } [10:56:25.749] else { [10:56:25.749] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:25.749] windows = "NUL", "/dev/null"), open = "w") [10:56:25.749] } [10:56:25.749] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:25.749] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:25.749] base::sink(type = "output", split = FALSE) [10:56:25.749] base::close(...future.stdout) [10:56:25.749] }, add = TRUE) [10:56:25.749] } [10:56:25.749] ...future.frame <- base::sys.nframe() [10:56:25.749] ...future.conditions <- base::list() [10:56:25.749] ...future.rng <- base::globalenv()$.Random.seed [10:56:25.749] if (FALSE) { [10:56:25.749] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:25.749] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:25.749] } [10:56:25.749] ...future.result <- base::tryCatch({ [10:56:25.749] base::withCallingHandlers({ [10:56:25.749] ...future.value <- base::withVisible(base::local({ [10:56:25.749] print(1:50) [10:56:25.749] str(1:50) [10:56:25.749] cat(letters, sep = "-") [10:56:25.749] cat(1:6, collapse = "\n") [10:56:25.749] write.table(datasets::iris[1:10, ], sep = "\t") [10:56:25.749] 42L [10:56:25.749] })) [10:56:25.749] future::FutureResult(value = ...future.value$value, [10:56:25.749] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.749] ...future.rng), globalenv = if (FALSE) [10:56:25.749] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:25.749] ...future.globalenv.names)) [10:56:25.749] else NULL, started = ...future.startTime, version = "1.8") [10:56:25.749] }, condition = base::local({ [10:56:25.749] c <- base::c [10:56:25.749] inherits <- base::inherits [10:56:25.749] invokeRestart <- base::invokeRestart [10:56:25.749] length <- base::length [10:56:25.749] list <- base::list [10:56:25.749] seq.int <- base::seq.int [10:56:25.749] signalCondition <- base::signalCondition [10:56:25.749] sys.calls <- base::sys.calls [10:56:25.749] `[[` <- base::`[[` [10:56:25.749] `+` <- base::`+` [10:56:25.749] `<<-` <- base::`<<-` [10:56:25.749] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:25.749] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:25.749] 3L)] [10:56:25.749] } [10:56:25.749] function(cond) { [10:56:25.749] is_error <- inherits(cond, "error") [10:56:25.749] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:25.749] NULL) [10:56:25.749] if (is_error) { [10:56:25.749] sessionInformation <- function() { [10:56:25.749] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:25.749] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:25.749] search = base::search(), system = base::Sys.info()) [10:56:25.749] } [10:56:25.749] ...future.conditions[[length(...future.conditions) + [10:56:25.749] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:25.749] cond$call), session = sessionInformation(), [10:56:25.749] timestamp = base::Sys.time(), signaled = 0L) [10:56:25.749] signalCondition(cond) [10:56:25.749] } [10:56:25.749] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:25.749] signal <- FALSE && inherits(cond, character(0)) [10:56:25.749] ...future.conditions[[length(...future.conditions) + [10:56:25.749] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:25.749] if (FALSE && !signal) { [10:56:25.749] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.749] { [10:56:25.749] inherits <- base::inherits [10:56:25.749] invokeRestart <- base::invokeRestart [10:56:25.749] is.null <- base::is.null [10:56:25.749] muffled <- FALSE [10:56:25.749] if (inherits(cond, "message")) { [10:56:25.749] muffled <- grepl(pattern, "muffleMessage") [10:56:25.749] if (muffled) [10:56:25.749] invokeRestart("muffleMessage") [10:56:25.749] } [10:56:25.749] else if (inherits(cond, "warning")) { [10:56:25.749] muffled <- grepl(pattern, "muffleWarning") [10:56:25.749] if (muffled) [10:56:25.749] invokeRestart("muffleWarning") [10:56:25.749] } [10:56:25.749] else if (inherits(cond, "condition")) { [10:56:25.749] if (!is.null(pattern)) { [10:56:25.749] computeRestarts <- base::computeRestarts [10:56:25.749] grepl <- base::grepl [10:56:25.749] restarts <- computeRestarts(cond) [10:56:25.749] for (restart in restarts) { [10:56:25.749] name <- restart$name [10:56:25.749] if (is.null(name)) [10:56:25.749] next [10:56:25.749] if (!grepl(pattern, name)) [10:56:25.749] next [10:56:25.749] invokeRestart(restart) [10:56:25.749] muffled <- TRUE [10:56:25.749] break [10:56:25.749] } [10:56:25.749] } [10:56:25.749] } [10:56:25.749] invisible(muffled) [10:56:25.749] } [10:56:25.749] muffleCondition(cond, pattern = "^muffle") [10:56:25.749] } [10:56:25.749] } [10:56:25.749] else { [10:56:25.749] if (TRUE) { [10:56:25.749] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.749] { [10:56:25.749] inherits <- base::inherits [10:56:25.749] invokeRestart <- base::invokeRestart [10:56:25.749] is.null <- base::is.null [10:56:25.749] muffled <- FALSE [10:56:25.749] if (inherits(cond, "message")) { [10:56:25.749] muffled <- grepl(pattern, "muffleMessage") [10:56:25.749] if (muffled) [10:56:25.749] invokeRestart("muffleMessage") [10:56:25.749] } [10:56:25.749] else if (inherits(cond, "warning")) { [10:56:25.749] muffled <- grepl(pattern, "muffleWarning") [10:56:25.749] if (muffled) [10:56:25.749] invokeRestart("muffleWarning") [10:56:25.749] } [10:56:25.749] else if (inherits(cond, "condition")) { [10:56:25.749] if (!is.null(pattern)) { [10:56:25.749] computeRestarts <- base::computeRestarts [10:56:25.749] grepl <- base::grepl [10:56:25.749] restarts <- computeRestarts(cond) [10:56:25.749] for (restart in restarts) { [10:56:25.749] name <- restart$name [10:56:25.749] if (is.null(name)) [10:56:25.749] next [10:56:25.749] if (!grepl(pattern, name)) [10:56:25.749] next [10:56:25.749] invokeRestart(restart) [10:56:25.749] muffled <- TRUE [10:56:25.749] break [10:56:25.749] } [10:56:25.749] } [10:56:25.749] } [10:56:25.749] invisible(muffled) [10:56:25.749] } [10:56:25.749] muffleCondition(cond, pattern = "^muffle") [10:56:25.749] } [10:56:25.749] } [10:56:25.749] } [10:56:25.749] })) [10:56:25.749] }, error = function(ex) { [10:56:25.749] base::structure(base::list(value = NULL, visible = NULL, [10:56:25.749] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.749] ...future.rng), started = ...future.startTime, [10:56:25.749] finished = Sys.time(), session_uuid = NA_character_, [10:56:25.749] version = "1.8"), class = "FutureResult") [10:56:25.749] }, finally = { [10:56:25.749] if (!identical(...future.workdir, getwd())) [10:56:25.749] setwd(...future.workdir) [10:56:25.749] { [10:56:25.749] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:25.749] ...future.oldOptions$nwarnings <- NULL [10:56:25.749] } [10:56:25.749] base::options(...future.oldOptions) [10:56:25.749] if (.Platform$OS.type == "windows") { [10:56:25.749] old_names <- names(...future.oldEnvVars) [10:56:25.749] envs <- base::Sys.getenv() [10:56:25.749] names <- names(envs) [10:56:25.749] common <- intersect(names, old_names) [10:56:25.749] added <- setdiff(names, old_names) [10:56:25.749] removed <- setdiff(old_names, names) [10:56:25.749] changed <- common[...future.oldEnvVars[common] != [10:56:25.749] envs[common]] [10:56:25.749] NAMES <- toupper(changed) [10:56:25.749] args <- list() [10:56:25.749] for (kk in seq_along(NAMES)) { [10:56:25.749] name <- changed[[kk]] [10:56:25.749] NAME <- NAMES[[kk]] [10:56:25.749] if (name != NAME && is.element(NAME, old_names)) [10:56:25.749] next [10:56:25.749] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.749] } [10:56:25.749] NAMES <- toupper(added) [10:56:25.749] for (kk in seq_along(NAMES)) { [10:56:25.749] name <- added[[kk]] [10:56:25.749] NAME <- NAMES[[kk]] [10:56:25.749] if (name != NAME && is.element(NAME, old_names)) [10:56:25.749] next [10:56:25.749] args[[name]] <- "" [10:56:25.749] } [10:56:25.749] NAMES <- toupper(removed) [10:56:25.749] for (kk in seq_along(NAMES)) { [10:56:25.749] name <- removed[[kk]] [10:56:25.749] NAME <- NAMES[[kk]] [10:56:25.749] if (name != NAME && is.element(NAME, old_names)) [10:56:25.749] next [10:56:25.749] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.749] } [10:56:25.749] if (length(args) > 0) [10:56:25.749] base::do.call(base::Sys.setenv, args = args) [10:56:25.749] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:25.749] } [10:56:25.749] else { [10:56:25.749] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:25.749] } [10:56:25.749] { [10:56:25.749] if (base::length(...future.futureOptionsAdded) > [10:56:25.749] 0L) { [10:56:25.749] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:25.749] base::names(opts) <- ...future.futureOptionsAdded [10:56:25.749] base::options(opts) [10:56:25.749] } [10:56:25.749] { [10:56:25.749] NULL [10:56:25.749] options(future.plan = NULL) [10:56:25.749] if (is.na(NA_character_)) [10:56:25.749] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.749] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:25.749] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:25.749] .init = FALSE) [10:56:25.749] } [10:56:25.749] } [10:56:25.749] } [10:56:25.749] }) [10:56:25.749] if (TRUE) { [10:56:25.749] base::sink(type = "output", split = FALSE) [10:56:25.749] if (FALSE) { [10:56:25.749] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:25.749] } [10:56:25.749] else { [10:56:25.749] ...future.result["stdout"] <- base::list(NULL) [10:56:25.749] } [10:56:25.749] base::close(...future.stdout) [10:56:25.749] ...future.stdout <- NULL [10:56:25.749] } [10:56:25.749] ...future.result$conditions <- ...future.conditions [10:56:25.749] ...future.result$finished <- base::Sys.time() [10:56:25.749] ...future.result [10:56:25.749] } [10:56:25.753] - Launch lazy future ... done [10:56:25.754] run() for 'MiraiFuture' ... done - stdout = NA [10:56:25.757] getGlobalsAndPackages() ... [10:56:25.757] Searching for globals... [10:56:25.762] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [10:56:25.763] Searching for globals ... DONE [10:56:25.763] Resolving globals: FALSE [10:56:25.764] [10:56:25.764] - packages: [1] 'utils' [10:56:25.764] getGlobalsAndPackages() ... DONE [10:56:25.764] run() for 'Future' ... [10:56:25.765] - state: 'created' [10:56:25.765] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:56:25.768] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:56:25.768] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:56:25.768] - Field: 'label' [10:56:25.768] - Field: 'local' [10:56:25.768] - Field: 'owner' [10:56:25.769] - Field: 'envir' [10:56:25.769] - Field: 'packages' [10:56:25.769] - Field: 'gc' [10:56:25.769] - Field: 'conditions' [10:56:25.769] - Field: 'expr' [10:56:25.770] - Field: 'uuid' [10:56:25.770] - Field: 'seed' [10:56:25.770] - Field: 'version' [10:56:25.770] - Field: 'result' [10:56:25.770] - Field: 'asynchronous' [10:56:25.773] - Field: 'calls' [10:56:25.773] - Field: 'globals' [10:56:25.773] - Field: 'stdout' [10:56:25.773] - Field: 'earlySignal' [10:56:25.774] - Field: 'lazy' [10:56:25.774] - Field: 'state' [10:56:25.774] - Field: '.cluster' [10:56:25.774] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:56:25.775] - Launch lazy future ... [10:56:25.775] Packages needed by the future expression (n = 1): 'utils' [10:56:25.775] Packages needed by future strategies (n = 0): [10:56:25.777] { [10:56:25.777] { [10:56:25.777] { [10:56:25.777] ...future.startTime <- base::Sys.time() [10:56:25.777] { [10:56:25.777] { [10:56:25.777] { [10:56:25.777] { [10:56:25.777] base::local({ [10:56:25.777] has_future <- base::requireNamespace("future", [10:56:25.777] quietly = TRUE) [10:56:25.777] if (has_future) { [10:56:25.777] ns <- base::getNamespace("future") [10:56:25.777] version <- ns[[".package"]][["version"]] [10:56:25.777] if (is.null(version)) [10:56:25.777] version <- utils::packageVersion("future") [10:56:25.777] } [10:56:25.777] else { [10:56:25.777] version <- NULL [10:56:25.777] } [10:56:25.777] if (!has_future || version < "1.8.0") { [10:56:25.777] info <- base::c(r_version = base::gsub("R version ", [10:56:25.777] "", base::R.version$version.string), [10:56:25.777] platform = base::sprintf("%s (%s-bit)", [10:56:25.777] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:25.777] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:25.777] "release", "version")], collapse = " "), [10:56:25.777] hostname = base::Sys.info()[["nodename"]]) [10:56:25.777] info <- base::sprintf("%s: %s", base::names(info), [10:56:25.777] info) [10:56:25.777] info <- base::paste(info, collapse = "; ") [10:56:25.777] if (!has_future) { [10:56:25.777] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:25.777] info) [10:56:25.777] } [10:56:25.777] else { [10:56:25.777] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:25.777] info, version) [10:56:25.777] } [10:56:25.777] base::stop(msg) [10:56:25.777] } [10:56:25.777] }) [10:56:25.777] } [10:56:25.777] base::local({ [10:56:25.777] for (pkg in "utils") { [10:56:25.777] base::loadNamespace(pkg) [10:56:25.777] base::library(pkg, character.only = TRUE) [10:56:25.777] } [10:56:25.777] }) [10:56:25.777] } [10:56:25.777] ...future.strategy.old <- future::plan("list") [10:56:25.777] options(future.plan = NULL) [10:56:25.777] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.777] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:25.777] } [10:56:25.777] ...future.workdir <- getwd() [10:56:25.777] } [10:56:25.777] ...future.oldOptions <- base::as.list(base::.Options) [10:56:25.777] ...future.oldEnvVars <- base::Sys.getenv() [10:56:25.777] } [10:56:25.777] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:25.777] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:25.777] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:25.777] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:25.777] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:25.777] future.stdout.windows.reencode = NULL, width = 80L) [10:56:25.777] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:25.777] base::names(...future.oldOptions)) [10:56:25.777] } [10:56:25.777] if (TRUE) { [10:56:25.777] } [10:56:25.777] else { [10:56:25.777] if (NA) { [10:56:25.777] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:25.777] open = "w") [10:56:25.777] } [10:56:25.777] else { [10:56:25.777] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:25.777] windows = "NUL", "/dev/null"), open = "w") [10:56:25.777] } [10:56:25.777] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:25.777] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:25.777] base::sink(type = "output", split = FALSE) [10:56:25.777] base::close(...future.stdout) [10:56:25.777] }, add = TRUE) [10:56:25.777] } [10:56:25.777] ...future.frame <- base::sys.nframe() [10:56:25.777] ...future.conditions <- base::list() [10:56:25.777] ...future.rng <- base::globalenv()$.Random.seed [10:56:25.777] if (FALSE) { [10:56:25.777] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:25.777] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:25.777] } [10:56:25.777] ...future.result <- base::tryCatch({ [10:56:25.777] base::withCallingHandlers({ [10:56:25.777] ...future.value <- base::withVisible(base::local({ [10:56:25.777] print(1:50) [10:56:25.777] str(1:50) [10:56:25.777] cat(letters, sep = "-") [10:56:25.777] cat(1:6, collapse = "\n") [10:56:25.777] write.table(datasets::iris[1:10, ], sep = "\t") [10:56:25.777] 42L [10:56:25.777] })) [10:56:25.777] future::FutureResult(value = ...future.value$value, [10:56:25.777] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.777] ...future.rng), globalenv = if (FALSE) [10:56:25.777] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:25.777] ...future.globalenv.names)) [10:56:25.777] else NULL, started = ...future.startTime, version = "1.8") [10:56:25.777] }, condition = base::local({ [10:56:25.777] c <- base::c [10:56:25.777] inherits <- base::inherits [10:56:25.777] invokeRestart <- base::invokeRestart [10:56:25.777] length <- base::length [10:56:25.777] list <- base::list [10:56:25.777] seq.int <- base::seq.int [10:56:25.777] signalCondition <- base::signalCondition [10:56:25.777] sys.calls <- base::sys.calls [10:56:25.777] `[[` <- base::`[[` [10:56:25.777] `+` <- base::`+` [10:56:25.777] `<<-` <- base::`<<-` [10:56:25.777] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:25.777] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:25.777] 3L)] [10:56:25.777] } [10:56:25.777] function(cond) { [10:56:25.777] is_error <- inherits(cond, "error") [10:56:25.777] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:25.777] NULL) [10:56:25.777] if (is_error) { [10:56:25.777] sessionInformation <- function() { [10:56:25.777] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:25.777] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:25.777] search = base::search(), system = base::Sys.info()) [10:56:25.777] } [10:56:25.777] ...future.conditions[[length(...future.conditions) + [10:56:25.777] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:25.777] cond$call), session = sessionInformation(), [10:56:25.777] timestamp = base::Sys.time(), signaled = 0L) [10:56:25.777] signalCondition(cond) [10:56:25.777] } [10:56:25.777] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:25.777] signal <- FALSE && inherits(cond, character(0)) [10:56:25.777] ...future.conditions[[length(...future.conditions) + [10:56:25.777] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:25.777] if (FALSE && !signal) { [10:56:25.777] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.777] { [10:56:25.777] inherits <- base::inherits [10:56:25.777] invokeRestart <- base::invokeRestart [10:56:25.777] is.null <- base::is.null [10:56:25.777] muffled <- FALSE [10:56:25.777] if (inherits(cond, "message")) { [10:56:25.777] muffled <- grepl(pattern, "muffleMessage") [10:56:25.777] if (muffled) [10:56:25.777] invokeRestart("muffleMessage") [10:56:25.777] } [10:56:25.777] else if (inherits(cond, "warning")) { [10:56:25.777] muffled <- grepl(pattern, "muffleWarning") [10:56:25.777] if (muffled) [10:56:25.777] invokeRestart("muffleWarning") [10:56:25.777] } [10:56:25.777] else if (inherits(cond, "condition")) { [10:56:25.777] if (!is.null(pattern)) { [10:56:25.777] computeRestarts <- base::computeRestarts [10:56:25.777] grepl <- base::grepl [10:56:25.777] restarts <- computeRestarts(cond) [10:56:25.777] for (restart in restarts) { [10:56:25.777] name <- restart$name [10:56:25.777] if (is.null(name)) [10:56:25.777] next [10:56:25.777] if (!grepl(pattern, name)) [10:56:25.777] next [10:56:25.777] invokeRestart(restart) [10:56:25.777] muffled <- TRUE [10:56:25.777] break [10:56:25.777] } [10:56:25.777] } [10:56:25.777] } [10:56:25.777] invisible(muffled) [10:56:25.777] } [10:56:25.777] muffleCondition(cond, pattern = "^muffle") [10:56:25.777] } [10:56:25.777] } [10:56:25.777] else { [10:56:25.777] if (TRUE) { [10:56:25.777] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.777] { [10:56:25.777] inherits <- base::inherits [10:56:25.777] invokeRestart <- base::invokeRestart [10:56:25.777] is.null <- base::is.null [10:56:25.777] muffled <- FALSE [10:56:25.777] if (inherits(cond, "message")) { [10:56:25.777] muffled <- grepl(pattern, "muffleMessage") [10:56:25.777] if (muffled) [10:56:25.777] invokeRestart("muffleMessage") [10:56:25.777] } [10:56:25.777] else if (inherits(cond, "warning")) { [10:56:25.777] muffled <- grepl(pattern, "muffleWarning") [10:56:25.777] if (muffled) [10:56:25.777] invokeRestart("muffleWarning") [10:56:25.777] } [10:56:25.777] else if (inherits(cond, "condition")) { [10:56:25.777] if (!is.null(pattern)) { [10:56:25.777] computeRestarts <- base::computeRestarts [10:56:25.777] grepl <- base::grepl [10:56:25.777] restarts <- computeRestarts(cond) [10:56:25.777] for (restart in restarts) { [10:56:25.777] name <- restart$name [10:56:25.777] if (is.null(name)) [10:56:25.777] next [10:56:25.777] if (!grepl(pattern, name)) [10:56:25.777] next [10:56:25.777] invokeRestart(restart) [10:56:25.777] muffled <- TRUE [10:56:25.777] break [10:56:25.777] } [10:56:25.777] } [10:56:25.777] } [10:56:25.777] invisible(muffled) [10:56:25.777] } [10:56:25.777] muffleCondition(cond, pattern = "^muffle") [10:56:25.777] } [10:56:25.777] } [10:56:25.777] } [10:56:25.777] })) [10:56:25.777] }, error = function(ex) { [10:56:25.777] base::structure(base::list(value = NULL, visible = NULL, [10:56:25.777] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.777] ...future.rng), started = ...future.startTime, [10:56:25.777] finished = Sys.time(), session_uuid = NA_character_, [10:56:25.777] version = "1.8"), class = "FutureResult") [10:56:25.777] }, finally = { [10:56:25.777] if (!identical(...future.workdir, getwd())) [10:56:25.777] setwd(...future.workdir) [10:56:25.777] { [10:56:25.777] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:25.777] ...future.oldOptions$nwarnings <- NULL [10:56:25.777] } [10:56:25.777] base::options(...future.oldOptions) [10:56:25.777] if (.Platform$OS.type == "windows") { [10:56:25.777] old_names <- names(...future.oldEnvVars) [10:56:25.777] envs <- base::Sys.getenv() [10:56:25.777] names <- names(envs) [10:56:25.777] common <- intersect(names, old_names) [10:56:25.777] added <- setdiff(names, old_names) [10:56:25.777] removed <- setdiff(old_names, names) [10:56:25.777] changed <- common[...future.oldEnvVars[common] != [10:56:25.777] envs[common]] [10:56:25.777] NAMES <- toupper(changed) [10:56:25.777] args <- list() [10:56:25.777] for (kk in seq_along(NAMES)) { [10:56:25.777] name <- changed[[kk]] [10:56:25.777] NAME <- NAMES[[kk]] [10:56:25.777] if (name != NAME && is.element(NAME, old_names)) [10:56:25.777] next [10:56:25.777] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.777] } [10:56:25.777] NAMES <- toupper(added) [10:56:25.777] for (kk in seq_along(NAMES)) { [10:56:25.777] name <- added[[kk]] [10:56:25.777] NAME <- NAMES[[kk]] [10:56:25.777] if (name != NAME && is.element(NAME, old_names)) [10:56:25.777] next [10:56:25.777] args[[name]] <- "" [10:56:25.777] } [10:56:25.777] NAMES <- toupper(removed) [10:56:25.777] for (kk in seq_along(NAMES)) { [10:56:25.777] name <- removed[[kk]] [10:56:25.777] NAME <- NAMES[[kk]] [10:56:25.777] if (name != NAME && is.element(NAME, old_names)) [10:56:25.777] next [10:56:25.777] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.777] } [10:56:25.777] if (length(args) > 0) [10:56:25.777] base::do.call(base::Sys.setenv, args = args) [10:56:25.777] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:25.777] } [10:56:25.777] else { [10:56:25.777] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:25.777] } [10:56:25.777] { [10:56:25.777] if (base::length(...future.futureOptionsAdded) > [10:56:25.777] 0L) { [10:56:25.777] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:25.777] base::names(opts) <- ...future.futureOptionsAdded [10:56:25.777] base::options(opts) [10:56:25.777] } [10:56:25.777] { [10:56:25.777] NULL [10:56:25.777] options(future.plan = NULL) [10:56:25.777] if (is.na(NA_character_)) [10:56:25.777] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.777] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:25.777] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:25.777] .init = FALSE) [10:56:25.777] } [10:56:25.777] } [10:56:25.777] } [10:56:25.777] }) [10:56:25.777] if (FALSE) { [10:56:25.777] base::sink(type = "output", split = FALSE) [10:56:25.777] if (NA) { [10:56:25.777] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:25.777] } [10:56:25.777] else { [10:56:25.777] ...future.result["stdout"] <- base::list(NULL) [10:56:25.777] } [10:56:25.777] base::close(...future.stdout) [10:56:25.777] ...future.stdout <- NULL [10:56:25.777] } [10:56:25.777] ...future.result$conditions <- ...future.conditions [10:56:25.777] ...future.result$finished <- base::Sys.time() [10:56:25.777] ...future.result [10:56:25.777] } [10:56:25.783] - Launch lazy future ... done [10:56:25.783] 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-05-15 10:56:25" $ finished : POSIXct[1:1], format: "2024-05-15 10:56:25" $ session_uuid: chr "8fc96e1b-173c-b6a6-9ad7-aa9c007fc8ae" ..- 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 109048 .. ..$ time : POSIXct[1:1], format: "2024-05-15 10:56:25" .. ..$ 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" [10:56:25.805] getGlobalsAndPackages() ... [10:56:25.805] Searching for globals... [10:56:25.813] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [10:56:25.814] Searching for globals ... DONE [10:56:25.814] Resolving globals: FALSE [10:56:25.815] [10:56:25.816] - packages: [1] 'utils' [10:56:25.816] getGlobalsAndPackages() ... DONE [10:56:25.817] run() for 'Future' ... [10:56:25.817] - state: 'created' [10:56:25.817] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [10:56:25.822] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [10:56:25.822] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [10:56:25.822] - Field: 'label' [10:56:25.822] - Field: 'local' [10:56:25.823] - Field: 'owner' [10:56:25.823] - Field: 'envir' [10:56:25.823] - Field: 'packages' [10:56:25.827] - Field: 'gc' [10:56:25.827] - Field: 'conditions' [10:56:25.828] - Field: 'expr' [10:56:25.828] - Field: 'uuid' [10:56:25.828] - Field: 'seed' [10:56:25.828] - Field: 'version' [10:56:25.829] - Field: 'result' [10:56:25.829] - Field: 'asynchronous' [10:56:25.829] - Field: 'calls' [10:56:25.829] - Field: 'globals' [10:56:25.830] - Field: 'stdout' [10:56:25.830] - Field: 'earlySignal' [10:56:25.830] - Field: 'lazy' [10:56:25.831] - Field: 'state' [10:56:25.831] - Field: '.cluster' [10:56:25.831] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [10:56:25.831] - Launch lazy future ... [10:56:25.832] Packages needed by the future expression (n = 1): 'utils' [10:56:25.832] Packages needed by future strategies (n = 0): [10:56:25.833] { [10:56:25.833] { [10:56:25.833] { [10:56:25.833] ...future.startTime <- base::Sys.time() [10:56:25.833] { [10:56:25.833] { [10:56:25.833] { [10:56:25.833] { [10:56:25.833] base::local({ [10:56:25.833] has_future <- base::requireNamespace("future", [10:56:25.833] quietly = TRUE) [10:56:25.833] if (has_future) { [10:56:25.833] ns <- base::getNamespace("future") [10:56:25.833] version <- ns[[".package"]][["version"]] [10:56:25.833] if (is.null(version)) [10:56:25.833] version <- utils::packageVersion("future") [10:56:25.833] } [10:56:25.833] else { [10:56:25.833] version <- NULL [10:56:25.833] } [10:56:25.833] if (!has_future || version < "1.8.0") { [10:56:25.833] info <- base::c(r_version = base::gsub("R version ", [10:56:25.833] "", base::R.version$version.string), [10:56:25.833] platform = base::sprintf("%s (%s-bit)", [10:56:25.833] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [10:56:25.833] os = base::paste(base::Sys.info()[base::c("sysname", [10:56:25.833] "release", "version")], collapse = " "), [10:56:25.833] hostname = base::Sys.info()[["nodename"]]) [10:56:25.833] info <- base::sprintf("%s: %s", base::names(info), [10:56:25.833] info) [10:56:25.833] info <- base::paste(info, collapse = "; ") [10:56:25.833] if (!has_future) { [10:56:25.833] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [10:56:25.833] info) [10:56:25.833] } [10:56:25.833] else { [10:56:25.833] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [10:56:25.833] info, version) [10:56:25.833] } [10:56:25.833] base::stop(msg) [10:56:25.833] } [10:56:25.833] }) [10:56:25.833] } [10:56:25.833] base::local({ [10:56:25.833] for (pkg in "utils") { [10:56:25.833] base::loadNamespace(pkg) [10:56:25.833] base::library(pkg, character.only = TRUE) [10:56:25.833] } [10:56:25.833] }) [10:56:25.833] } [10:56:25.833] ...future.strategy.old <- future::plan("list") [10:56:25.833] options(future.plan = NULL) [10:56:25.833] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.833] future::plan("default", .cleanup = FALSE, .init = FALSE) [10:56:25.833] } [10:56:25.833] ...future.workdir <- getwd() [10:56:25.833] } [10:56:25.833] ...future.oldOptions <- base::as.list(base::.Options) [10:56:25.833] ...future.oldEnvVars <- base::Sys.getenv() [10:56:25.833] } [10:56:25.833] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [10:56:25.833] future.globals.maxSize = NULL, future.globals.method = NULL, [10:56:25.833] future.globals.onMissing = NULL, future.globals.onReference = NULL, [10:56:25.833] future.globals.resolve = NULL, future.resolve.recursive = NULL, [10:56:25.833] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [10:56:25.833] future.stdout.windows.reencode = NULL, width = 80L) [10:56:25.833] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [10:56:25.833] base::names(...future.oldOptions)) [10:56:25.833] } [10:56:25.833] if (TRUE) { [10:56:25.833] } [10:56:25.833] else { [10:56:25.833] if (NA) { [10:56:25.833] ...future.stdout <- base::rawConnection(base::raw(0L), [10:56:25.833] open = "w") [10:56:25.833] } [10:56:25.833] else { [10:56:25.833] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [10:56:25.833] windows = "NUL", "/dev/null"), open = "w") [10:56:25.833] } [10:56:25.833] base::sink(...future.stdout, type = "output", split = FALSE) [10:56:25.833] base::on.exit(if (!base::is.null(...future.stdout)) { [10:56:25.833] base::sink(type = "output", split = FALSE) [10:56:25.833] base::close(...future.stdout) [10:56:25.833] }, add = TRUE) [10:56:25.833] } [10:56:25.833] ...future.frame <- base::sys.nframe() [10:56:25.833] ...future.conditions <- base::list() [10:56:25.833] ...future.rng <- base::globalenv()$.Random.seed [10:56:25.833] if (FALSE) { [10:56:25.833] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [10:56:25.833] "...future.value", "...future.globalenv.names", ".Random.seed") [10:56:25.833] } [10:56:25.833] ...future.result <- base::tryCatch({ [10:56:25.833] base::withCallingHandlers({ [10:56:25.833] ...future.value <- base::withVisible(base::local({ [10:56:25.833] print(1:50) [10:56:25.833] str(1:50) [10:56:25.833] cat(letters, sep = "-") [10:56:25.833] cat(1:6, collapse = "\n") [10:56:25.833] write.table(datasets::iris[1:10, ], sep = "\t") [10:56:25.833] 42L [10:56:25.833] })) [10:56:25.833] future::FutureResult(value = ...future.value$value, [10:56:25.833] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.833] ...future.rng), globalenv = if (FALSE) [10:56:25.833] list(added = base::setdiff(base::names(base::.GlobalEnv), [10:56:25.833] ...future.globalenv.names)) [10:56:25.833] else NULL, started = ...future.startTime, version = "1.8") [10:56:25.833] }, condition = base::local({ [10:56:25.833] c <- base::c [10:56:25.833] inherits <- base::inherits [10:56:25.833] invokeRestart <- base::invokeRestart [10:56:25.833] length <- base::length [10:56:25.833] list <- base::list [10:56:25.833] seq.int <- base::seq.int [10:56:25.833] signalCondition <- base::signalCondition [10:56:25.833] sys.calls <- base::sys.calls [10:56:25.833] `[[` <- base::`[[` [10:56:25.833] `+` <- base::`+` [10:56:25.833] `<<-` <- base::`<<-` [10:56:25.833] sysCalls <- function(calls = sys.calls(), from = 1L) { [10:56:25.833] calls[seq.int(from = from + 12L, to = length(calls) - [10:56:25.833] 3L)] [10:56:25.833] } [10:56:25.833] function(cond) { [10:56:25.833] is_error <- inherits(cond, "error") [10:56:25.833] ignore <- !is_error && !is.null(NULL) && inherits(cond, [10:56:25.833] NULL) [10:56:25.833] if (is_error) { [10:56:25.833] sessionInformation <- function() { [10:56:25.833] list(r = base::R.Version(), locale = base::Sys.getlocale(), [10:56:25.833] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [10:56:25.833] search = base::search(), system = base::Sys.info()) [10:56:25.833] } [10:56:25.833] ...future.conditions[[length(...future.conditions) + [10:56:25.833] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [10:56:25.833] cond$call), session = sessionInformation(), [10:56:25.833] timestamp = base::Sys.time(), signaled = 0L) [10:56:25.833] signalCondition(cond) [10:56:25.833] } [10:56:25.833] else if (!ignore && TRUE && inherits(cond, "condition")) { [10:56:25.833] signal <- FALSE && inherits(cond, character(0)) [10:56:25.833] ...future.conditions[[length(...future.conditions) + [10:56:25.833] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [10:56:25.833] if (FALSE && !signal) { [10:56:25.833] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.833] { [10:56:25.833] inherits <- base::inherits [10:56:25.833] invokeRestart <- base::invokeRestart [10:56:25.833] is.null <- base::is.null [10:56:25.833] muffled <- FALSE [10:56:25.833] if (inherits(cond, "message")) { [10:56:25.833] muffled <- grepl(pattern, "muffleMessage") [10:56:25.833] if (muffled) [10:56:25.833] invokeRestart("muffleMessage") [10:56:25.833] } [10:56:25.833] else if (inherits(cond, "warning")) { [10:56:25.833] muffled <- grepl(pattern, "muffleWarning") [10:56:25.833] if (muffled) [10:56:25.833] invokeRestart("muffleWarning") [10:56:25.833] } [10:56:25.833] else if (inherits(cond, "condition")) { [10:56:25.833] if (!is.null(pattern)) { [10:56:25.833] computeRestarts <- base::computeRestarts [10:56:25.833] grepl <- base::grepl [10:56:25.833] restarts <- computeRestarts(cond) [10:56:25.833] for (restart in restarts) { [10:56:25.833] name <- restart$name [10:56:25.833] if (is.null(name)) [10:56:25.833] next [10:56:25.833] if (!grepl(pattern, name)) [10:56:25.833] next [10:56:25.833] invokeRestart(restart) [10:56:25.833] muffled <- TRUE [10:56:25.833] break [10:56:25.833] } [10:56:25.833] } [10:56:25.833] } [10:56:25.833] invisible(muffled) [10:56:25.833] } [10:56:25.833] muffleCondition(cond, pattern = "^muffle") [10:56:25.833] } [10:56:25.833] } [10:56:25.833] else { [10:56:25.833] if (TRUE) { [10:56:25.833] muffleCondition <- function (cond, pattern = "^muffle") [10:56:25.833] { [10:56:25.833] inherits <- base::inherits [10:56:25.833] invokeRestart <- base::invokeRestart [10:56:25.833] is.null <- base::is.null [10:56:25.833] muffled <- FALSE [10:56:25.833] if (inherits(cond, "message")) { [10:56:25.833] muffled <- grepl(pattern, "muffleMessage") [10:56:25.833] if (muffled) [10:56:25.833] invokeRestart("muffleMessage") [10:56:25.833] } [10:56:25.833] else if (inherits(cond, "warning")) { [10:56:25.833] muffled <- grepl(pattern, "muffleWarning") [10:56:25.833] if (muffled) [10:56:25.833] invokeRestart("muffleWarning") [10:56:25.833] } [10:56:25.833] else if (inherits(cond, "condition")) { [10:56:25.833] if (!is.null(pattern)) { [10:56:25.833] computeRestarts <- base::computeRestarts [10:56:25.833] grepl <- base::grepl [10:56:25.833] restarts <- computeRestarts(cond) [10:56:25.833] for (restart in restarts) { [10:56:25.833] name <- restart$name [10:56:25.833] if (is.null(name)) [10:56:25.833] next [10:56:25.833] if (!grepl(pattern, name)) [10:56:25.833] next [10:56:25.833] invokeRestart(restart) [10:56:25.833] muffled <- TRUE [10:56:25.833] break [10:56:25.833] } [10:56:25.833] } [10:56:25.833] } [10:56:25.833] invisible(muffled) [10:56:25.833] } [10:56:25.833] muffleCondition(cond, pattern = "^muffle") [10:56:25.833] } [10:56:25.833] } [10:56:25.833] } [10:56:25.833] })) [10:56:25.833] }, error = function(ex) { [10:56:25.833] base::structure(base::list(value = NULL, visible = NULL, [10:56:25.833] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [10:56:25.833] ...future.rng), started = ...future.startTime, [10:56:25.833] finished = Sys.time(), session_uuid = NA_character_, [10:56:25.833] version = "1.8"), class = "FutureResult") [10:56:25.833] }, finally = { [10:56:25.833] if (!identical(...future.workdir, getwd())) [10:56:25.833] setwd(...future.workdir) [10:56:25.833] { [10:56:25.833] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [10:56:25.833] ...future.oldOptions$nwarnings <- NULL [10:56:25.833] } [10:56:25.833] base::options(...future.oldOptions) [10:56:25.833] if (.Platform$OS.type == "windows") { [10:56:25.833] old_names <- names(...future.oldEnvVars) [10:56:25.833] envs <- base::Sys.getenv() [10:56:25.833] names <- names(envs) [10:56:25.833] common <- intersect(names, old_names) [10:56:25.833] added <- setdiff(names, old_names) [10:56:25.833] removed <- setdiff(old_names, names) [10:56:25.833] changed <- common[...future.oldEnvVars[common] != [10:56:25.833] envs[common]] [10:56:25.833] NAMES <- toupper(changed) [10:56:25.833] args <- list() [10:56:25.833] for (kk in seq_along(NAMES)) { [10:56:25.833] name <- changed[[kk]] [10:56:25.833] NAME <- NAMES[[kk]] [10:56:25.833] if (name != NAME && is.element(NAME, old_names)) [10:56:25.833] next [10:56:25.833] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.833] } [10:56:25.833] NAMES <- toupper(added) [10:56:25.833] for (kk in seq_along(NAMES)) { [10:56:25.833] name <- added[[kk]] [10:56:25.833] NAME <- NAMES[[kk]] [10:56:25.833] if (name != NAME && is.element(NAME, old_names)) [10:56:25.833] next [10:56:25.833] args[[name]] <- "" [10:56:25.833] } [10:56:25.833] NAMES <- toupper(removed) [10:56:25.833] for (kk in seq_along(NAMES)) { [10:56:25.833] name <- removed[[kk]] [10:56:25.833] NAME <- NAMES[[kk]] [10:56:25.833] if (name != NAME && is.element(NAME, old_names)) [10:56:25.833] next [10:56:25.833] args[[name]] <- ...future.oldEnvVars[[name]] [10:56:25.833] } [10:56:25.833] if (length(args) > 0) [10:56:25.833] base::do.call(base::Sys.setenv, args = args) [10:56:25.833] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [10:56:25.833] } [10:56:25.833] else { [10:56:25.833] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [10:56:25.833] } [10:56:25.833] { [10:56:25.833] if (base::length(...future.futureOptionsAdded) > [10:56:25.833] 0L) { [10:56:25.833] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [10:56:25.833] base::names(opts) <- ...future.futureOptionsAdded [10:56:25.833] base::options(opts) [10:56:25.833] } [10:56:25.833] { [10:56:25.833] NULL [10:56:25.833] options(future.plan = NULL) [10:56:25.833] if (is.na(NA_character_)) [10:56:25.833] Sys.unsetenv("R_FUTURE_PLAN") [10:56:25.833] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [10:56:25.833] future::plan(...future.strategy.old, .cleanup = FALSE, [10:56:25.833] .init = FALSE) [10:56:25.833] } [10:56:25.833] } [10:56:25.833] } [10:56:25.833] }) [10:56:25.833] if (FALSE) { [10:56:25.833] base::sink(type = "output", split = FALSE) [10:56:25.833] if (NA) { [10:56:25.833] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [10:56:25.833] } [10:56:25.833] else { [10:56:25.833] ...future.result["stdout"] <- base::list(NULL) [10:56:25.833] } [10:56:25.833] base::close(...future.stdout) [10:56:25.833] ...future.stdout <- NULL [10:56:25.833] } [10:56:25.833] ...future.result$conditions <- ...future.conditions [10:56:25.833] ...future.result$finished <- base::Sys.time() [10:56:25.833] ...future.result [10:56:25.833] } [10:56:25.840] - Launch lazy future ... done [10:56:25.840] 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.57 0.07 1.20