R version 4.4.0 beta (2024-04-15 r86425 ucrt) -- "Puppy Cup" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > source("incl/start.R") Loading required package: future [13:31:14.772] plan(): Setting new future strategy stack: [13:31:14.773] List of future strategies: [13:31:14.773] 1. mirai_multisession: [13:31:14.773] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:31:14.773] - tweaked: FALSE [13:31:14.773] - call: future::plan(future.mirai::mirai_multisession) [13:31:14.788] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:31:14.788] < mirai | $data > [13:31:14.794] getGlobalsAndPackages() ... [13:31:14.794] Not searching for globals [13:31:14.795] - globals: [0] [13:31:14.795] getGlobalsAndPackages() ... DONE [13:31:14.795] getGlobalsAndPackages() ... [13:31:14.795] [13:31:14.796] - globals: [0] [13:31:14.796] getGlobalsAndPackages() ... DONE [13:31:15.075] Packages needed by the future expression (n = 0): [13:31:15.076] Packages needed by future strategies (n = 0): [13:31:15.077] { [13:31:15.077] { [13:31:15.077] { [13:31:15.077] ...future.startTime <- base::Sys.time() [13:31:15.077] { [13:31:15.077] { [13:31:15.077] { [13:31:15.077] base::local({ [13:31:15.077] has_future <- base::requireNamespace("future", [13:31:15.077] quietly = TRUE) [13:31:15.077] if (has_future) { [13:31:15.077] ns <- base::getNamespace("future") [13:31:15.077] version <- ns[[".package"]][["version"]] [13:31:15.077] if (is.null(version)) [13:31:15.077] version <- utils::packageVersion("future") [13:31:15.077] } [13:31:15.077] else { [13:31:15.077] version <- NULL [13:31:15.077] } [13:31:15.077] if (!has_future || version < "1.8.0") { [13:31:15.077] info <- base::c(r_version = base::gsub("R version ", [13:31:15.077] "", base::R.version$version.string), [13:31:15.077] platform = base::sprintf("%s (%s-bit)", [13:31:15.077] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:15.077] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:15.077] "release", "version")], collapse = " "), [13:31:15.077] hostname = base::Sys.info()[["nodename"]]) [13:31:15.077] info <- base::sprintf("%s: %s", base::names(info), [13:31:15.077] info) [13:31:15.077] info <- base::paste(info, collapse = "; ") [13:31:15.077] if (!has_future) { [13:31:15.077] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:15.077] info) [13:31:15.077] } [13:31:15.077] else { [13:31:15.077] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:15.077] info, version) [13:31:15.077] } [13:31:15.077] base::stop(msg) [13:31:15.077] } [13:31:15.077] }) [13:31:15.077] } [13:31:15.077] ...future.strategy.old <- future::plan("list") [13:31:15.077] options(future.plan = NULL) [13:31:15.077] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.077] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:15.077] } [13:31:15.077] ...future.workdir <- getwd() [13:31:15.077] } [13:31:15.077] ...future.oldOptions <- base::as.list(base::.Options) [13:31:15.077] ...future.oldEnvVars <- base::Sys.getenv() [13:31:15.077] } [13:31:15.077] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:15.077] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:15.077] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:15.077] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:15.077] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:15.077] future.stdout.windows.reencode = NULL, width = 80L) [13:31:15.077] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:15.077] base::names(...future.oldOptions)) [13:31:15.077] } [13:31:15.077] if (FALSE) { [13:31:15.077] } [13:31:15.077] else { [13:31:15.077] if (TRUE) { [13:31:15.077] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:15.077] open = "w") [13:31:15.077] } [13:31:15.077] else { [13:31:15.077] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:15.077] windows = "NUL", "/dev/null"), open = "w") [13:31:15.077] } [13:31:15.077] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:15.077] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:15.077] base::sink(type = "output", split = FALSE) [13:31:15.077] base::close(...future.stdout) [13:31:15.077] }, add = TRUE) [13:31:15.077] } [13:31:15.077] ...future.frame <- base::sys.nframe() [13:31:15.077] ...future.conditions <- base::list() [13:31:15.077] ...future.rng <- base::globalenv()$.Random.seed [13:31:15.077] if (FALSE) { [13:31:15.077] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:15.077] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:15.077] } [13:31:15.077] ...future.result <- base::tryCatch({ [13:31:15.077] base::withCallingHandlers({ [13:31:15.077] ...future.value <- base::withVisible(base::local(NA)) [13:31:15.077] future::FutureResult(value = ...future.value$value, [13:31:15.077] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.077] ...future.rng), globalenv = if (FALSE) [13:31:15.077] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:15.077] ...future.globalenv.names)) [13:31:15.077] else NULL, started = ...future.startTime, version = "1.8") [13:31:15.077] }, condition = base::local({ [13:31:15.077] c <- base::c [13:31:15.077] inherits <- base::inherits [13:31:15.077] invokeRestart <- base::invokeRestart [13:31:15.077] length <- base::length [13:31:15.077] list <- base::list [13:31:15.077] seq.int <- base::seq.int [13:31:15.077] signalCondition <- base::signalCondition [13:31:15.077] sys.calls <- base::sys.calls [13:31:15.077] `[[` <- base::`[[` [13:31:15.077] `+` <- base::`+` [13:31:15.077] `<<-` <- base::`<<-` [13:31:15.077] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:15.077] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:15.077] 3L)] [13:31:15.077] } [13:31:15.077] function(cond) { [13:31:15.077] is_error <- inherits(cond, "error") [13:31:15.077] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:15.077] NULL) [13:31:15.077] if (is_error) { [13:31:15.077] sessionInformation <- function() { [13:31:15.077] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:15.077] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:15.077] search = base::search(), system = base::Sys.info()) [13:31:15.077] } [13:31:15.077] ...future.conditions[[length(...future.conditions) + [13:31:15.077] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:15.077] cond$call), session = sessionInformation(), [13:31:15.077] timestamp = base::Sys.time(), signaled = 0L) [13:31:15.077] signalCondition(cond) [13:31:15.077] } [13:31:15.077] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:15.077] signal <- FALSE && inherits(cond, character(0)) [13:31:15.077] ...future.conditions[[length(...future.conditions) + [13:31:15.077] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:15.077] if (FALSE && !signal) { [13:31:15.077] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.077] { [13:31:15.077] inherits <- base::inherits [13:31:15.077] invokeRestart <- base::invokeRestart [13:31:15.077] is.null <- base::is.null [13:31:15.077] muffled <- FALSE [13:31:15.077] if (inherits(cond, "message")) { [13:31:15.077] muffled <- grepl(pattern, "muffleMessage") [13:31:15.077] if (muffled) [13:31:15.077] invokeRestart("muffleMessage") [13:31:15.077] } [13:31:15.077] else if (inherits(cond, "warning")) { [13:31:15.077] muffled <- grepl(pattern, "muffleWarning") [13:31:15.077] if (muffled) [13:31:15.077] invokeRestart("muffleWarning") [13:31:15.077] } [13:31:15.077] else if (inherits(cond, "condition")) { [13:31:15.077] if (!is.null(pattern)) { [13:31:15.077] computeRestarts <- base::computeRestarts [13:31:15.077] grepl <- base::grepl [13:31:15.077] restarts <- computeRestarts(cond) [13:31:15.077] for (restart in restarts) { [13:31:15.077] name <- restart$name [13:31:15.077] if (is.null(name)) [13:31:15.077] next [13:31:15.077] if (!grepl(pattern, name)) [13:31:15.077] next [13:31:15.077] invokeRestart(restart) [13:31:15.077] muffled <- TRUE [13:31:15.077] break [13:31:15.077] } [13:31:15.077] } [13:31:15.077] } [13:31:15.077] invisible(muffled) [13:31:15.077] } [13:31:15.077] muffleCondition(cond, pattern = "^muffle") [13:31:15.077] } [13:31:15.077] } [13:31:15.077] else { [13:31:15.077] if (TRUE) { [13:31:15.077] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.077] { [13:31:15.077] inherits <- base::inherits [13:31:15.077] invokeRestart <- base::invokeRestart [13:31:15.077] is.null <- base::is.null [13:31:15.077] muffled <- FALSE [13:31:15.077] if (inherits(cond, "message")) { [13:31:15.077] muffled <- grepl(pattern, "muffleMessage") [13:31:15.077] if (muffled) [13:31:15.077] invokeRestart("muffleMessage") [13:31:15.077] } [13:31:15.077] else if (inherits(cond, "warning")) { [13:31:15.077] muffled <- grepl(pattern, "muffleWarning") [13:31:15.077] if (muffled) [13:31:15.077] invokeRestart("muffleWarning") [13:31:15.077] } [13:31:15.077] else if (inherits(cond, "condition")) { [13:31:15.077] if (!is.null(pattern)) { [13:31:15.077] computeRestarts <- base::computeRestarts [13:31:15.077] grepl <- base::grepl [13:31:15.077] restarts <- computeRestarts(cond) [13:31:15.077] for (restart in restarts) { [13:31:15.077] name <- restart$name [13:31:15.077] if (is.null(name)) [13:31:15.077] next [13:31:15.077] if (!grepl(pattern, name)) [13:31:15.077] next [13:31:15.077] invokeRestart(restart) [13:31:15.077] muffled <- TRUE [13:31:15.077] break [13:31:15.077] } [13:31:15.077] } [13:31:15.077] } [13:31:15.077] invisible(muffled) [13:31:15.077] } [13:31:15.077] muffleCondition(cond, pattern = "^muffle") [13:31:15.077] } [13:31:15.077] } [13:31:15.077] } [13:31:15.077] })) [13:31:15.077] }, error = function(ex) { [13:31:15.077] base::structure(base::list(value = NULL, visible = NULL, [13:31:15.077] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.077] ...future.rng), started = ...future.startTime, [13:31:15.077] finished = Sys.time(), session_uuid = NA_character_, [13:31:15.077] version = "1.8"), class = "FutureResult") [13:31:15.077] }, finally = { [13:31:15.077] if (!identical(...future.workdir, getwd())) [13:31:15.077] setwd(...future.workdir) [13:31:15.077] { [13:31:15.077] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:15.077] ...future.oldOptions$nwarnings <- NULL [13:31:15.077] } [13:31:15.077] base::options(...future.oldOptions) [13:31:15.077] if (.Platform$OS.type == "windows") { [13:31:15.077] old_names <- names(...future.oldEnvVars) [13:31:15.077] envs <- base::Sys.getenv() [13:31:15.077] names <- names(envs) [13:31:15.077] common <- intersect(names, old_names) [13:31:15.077] added <- setdiff(names, old_names) [13:31:15.077] removed <- setdiff(old_names, names) [13:31:15.077] changed <- common[...future.oldEnvVars[common] != [13:31:15.077] envs[common]] [13:31:15.077] NAMES <- toupper(changed) [13:31:15.077] args <- list() [13:31:15.077] for (kk in seq_along(NAMES)) { [13:31:15.077] name <- changed[[kk]] [13:31:15.077] NAME <- NAMES[[kk]] [13:31:15.077] if (name != NAME && is.element(NAME, old_names)) [13:31:15.077] next [13:31:15.077] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.077] } [13:31:15.077] NAMES <- toupper(added) [13:31:15.077] for (kk in seq_along(NAMES)) { [13:31:15.077] name <- added[[kk]] [13:31:15.077] NAME <- NAMES[[kk]] [13:31:15.077] if (name != NAME && is.element(NAME, old_names)) [13:31:15.077] next [13:31:15.077] args[[name]] <- "" [13:31:15.077] } [13:31:15.077] NAMES <- toupper(removed) [13:31:15.077] for (kk in seq_along(NAMES)) { [13:31:15.077] name <- removed[[kk]] [13:31:15.077] NAME <- NAMES[[kk]] [13:31:15.077] if (name != NAME && is.element(NAME, old_names)) [13:31:15.077] next [13:31:15.077] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.077] } [13:31:15.077] if (length(args) > 0) [13:31:15.077] base::do.call(base::Sys.setenv, args = args) [13:31:15.077] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:15.077] } [13:31:15.077] else { [13:31:15.077] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:15.077] } [13:31:15.077] { [13:31:15.077] if (base::length(...future.futureOptionsAdded) > [13:31:15.077] 0L) { [13:31:15.077] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:15.077] base::names(opts) <- ...future.futureOptionsAdded [13:31:15.077] base::options(opts) [13:31:15.077] } [13:31:15.077] { [13:31:15.077] NULL [13:31:15.077] options(future.plan = NULL) [13:31:15.077] if (is.na(NA_character_)) [13:31:15.077] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.077] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:15.077] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:15.077] .init = FALSE) [13:31:15.077] } [13:31:15.077] } [13:31:15.077] } [13:31:15.077] }) [13:31:15.077] if (TRUE) { [13:31:15.077] base::sink(type = "output", split = FALSE) [13:31:15.077] if (TRUE) { [13:31:15.077] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:15.077] } [13:31:15.077] else { [13:31:15.077] ...future.result["stdout"] <- base::list(NULL) [13:31:15.077] } [13:31:15.077] base::close(...future.stdout) [13:31:15.077] ...future.stdout <- NULL [13:31:15.077] } [13:31:15.077] ...future.result$conditions <- ...future.conditions [13:31:15.077] ...future.result$finished <- base::Sys.time() [13:31:15.077] ...future.result [13:31:15.077] } [13:31:15.175] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:31:15.176] plan(): nbrOfWorkers() = 2 > > message("*** Standard output ...") *** Standard output ... > > truth_rows <- utils::capture.output({ + print(1:50) + str(1:50) + cat(letters, sep = "-") + cat(1:6, collapse = "\n") + write.table(datasets::iris[1:10,], sep = "\t") + }) > truth <- paste0(paste(truth_rows, collapse = "\n"), "\n") > print(truth) [1] " [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25\n[26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50\n int [1:50] 1 2 3 4 5 6 7 8 9 10 ...\na-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z1 2 3 4 5 6 \n\"Sepal.Length\"\t\"Sepal.Width\"\t\"Petal.Length\"\t\"Petal.Width\"\t\"Species\"\n\"1\"\t5.1\t3.5\t1.4\t0.2\t\"setosa\"\n\"2\"\t4.9\t3\t1.4\t0.2\t\"setosa\"\n\"3\"\t4.7\t3.2\t1.3\t0.2\t\"setosa\"\n\"4\"\t4.6\t3.1\t1.5\t0.2\t\"setosa\"\n\"5\"\t5\t3.6\t1.4\t0.2\t\"setosa\"\n\"6\"\t5.4\t3.9\t1.7\t0.4\t\"setosa\"\n\"7\"\t4.6\t3.4\t1.4\t0.3\t\"setosa\"\n\"8\"\t5\t3.4\t1.5\t0.2\t\"setosa\"\n\"9\"\t4.4\t2.9\t1.4\t0.2\t\"setosa\"\n\"10\"\t4.9\t3.1\t1.5\t0.1\t\"setosa\"\n" > > message("mirai_multisession ...") mirai_multisession ... > plan(mirai_multisession) [13:31:15.181] plan(): Setting new future strategy stack: [13:31:15.181] List of future strategies: [13:31:15.181] 1. mirai_multisession: [13:31:15.181] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:31:15.181] - tweaked: FALSE [13:31:15.181] - call: plan(mirai_multisession) [13:31:15.195] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:31:15.195] < mirai | $data > [13:31:15.197] getGlobalsAndPackages() ... [13:31:15.197] Not searching for globals [13:31:15.198] - globals: [0] [13:31:15.198] getGlobalsAndPackages() ... DONE [13:31:15.198] getGlobalsAndPackages() ... [13:31:15.198] [13:31:15.198] - globals: [0] [13:31:15.198] getGlobalsAndPackages() ... DONE [13:31:15.199] Packages needed by the future expression (n = 0): [13:31:15.199] Packages needed by future strategies (n = 0): [13:31:15.200] { [13:31:15.200] { [13:31:15.200] { [13:31:15.200] ...future.startTime <- base::Sys.time() [13:31:15.200] { [13:31:15.200] { [13:31:15.200] { [13:31:15.200] base::local({ [13:31:15.200] has_future <- base::requireNamespace("future", [13:31:15.200] quietly = TRUE) [13:31:15.200] if (has_future) { [13:31:15.200] ns <- base::getNamespace("future") [13:31:15.200] version <- ns[[".package"]][["version"]] [13:31:15.200] if (is.null(version)) [13:31:15.200] version <- utils::packageVersion("future") [13:31:15.200] } [13:31:15.200] else { [13:31:15.200] version <- NULL [13:31:15.200] } [13:31:15.200] if (!has_future || version < "1.8.0") { [13:31:15.200] info <- base::c(r_version = base::gsub("R version ", [13:31:15.200] "", base::R.version$version.string), [13:31:15.200] platform = base::sprintf("%s (%s-bit)", [13:31:15.200] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:15.200] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:15.200] "release", "version")], collapse = " "), [13:31:15.200] hostname = base::Sys.info()[["nodename"]]) [13:31:15.200] info <- base::sprintf("%s: %s", base::names(info), [13:31:15.200] info) [13:31:15.200] info <- base::paste(info, collapse = "; ") [13:31:15.200] if (!has_future) { [13:31:15.200] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:15.200] info) [13:31:15.200] } [13:31:15.200] else { [13:31:15.200] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:15.200] info, version) [13:31:15.200] } [13:31:15.200] base::stop(msg) [13:31:15.200] } [13:31:15.200] }) [13:31:15.200] } [13:31:15.200] ...future.strategy.old <- future::plan("list") [13:31:15.200] options(future.plan = NULL) [13:31:15.200] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.200] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:15.200] } [13:31:15.200] ...future.workdir <- getwd() [13:31:15.200] } [13:31:15.200] ...future.oldOptions <- base::as.list(base::.Options) [13:31:15.200] ...future.oldEnvVars <- base::Sys.getenv() [13:31:15.200] } [13:31:15.200] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:15.200] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:15.200] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:15.200] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:15.200] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:15.200] future.stdout.windows.reencode = NULL, width = 80L) [13:31:15.200] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:15.200] base::names(...future.oldOptions)) [13:31:15.200] } [13:31:15.200] if (FALSE) { [13:31:15.200] } [13:31:15.200] else { [13:31:15.200] if (TRUE) { [13:31:15.200] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:15.200] open = "w") [13:31:15.200] } [13:31:15.200] else { [13:31:15.200] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:15.200] windows = "NUL", "/dev/null"), open = "w") [13:31:15.200] } [13:31:15.200] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:15.200] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:15.200] base::sink(type = "output", split = FALSE) [13:31:15.200] base::close(...future.stdout) [13:31:15.200] }, add = TRUE) [13:31:15.200] } [13:31:15.200] ...future.frame <- base::sys.nframe() [13:31:15.200] ...future.conditions <- base::list() [13:31:15.200] ...future.rng <- base::globalenv()$.Random.seed [13:31:15.200] if (FALSE) { [13:31:15.200] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:15.200] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:15.200] } [13:31:15.200] ...future.result <- base::tryCatch({ [13:31:15.200] base::withCallingHandlers({ [13:31:15.200] ...future.value <- base::withVisible(base::local(NA)) [13:31:15.200] future::FutureResult(value = ...future.value$value, [13:31:15.200] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.200] ...future.rng), globalenv = if (FALSE) [13:31:15.200] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:15.200] ...future.globalenv.names)) [13:31:15.200] else NULL, started = ...future.startTime, version = "1.8") [13:31:15.200] }, condition = base::local({ [13:31:15.200] c <- base::c [13:31:15.200] inherits <- base::inherits [13:31:15.200] invokeRestart <- base::invokeRestart [13:31:15.200] length <- base::length [13:31:15.200] list <- base::list [13:31:15.200] seq.int <- base::seq.int [13:31:15.200] signalCondition <- base::signalCondition [13:31:15.200] sys.calls <- base::sys.calls [13:31:15.200] `[[` <- base::`[[` [13:31:15.200] `+` <- base::`+` [13:31:15.200] `<<-` <- base::`<<-` [13:31:15.200] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:15.200] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:15.200] 3L)] [13:31:15.200] } [13:31:15.200] function(cond) { [13:31:15.200] is_error <- inherits(cond, "error") [13:31:15.200] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:15.200] NULL) [13:31:15.200] if (is_error) { [13:31:15.200] sessionInformation <- function() { [13:31:15.200] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:15.200] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:15.200] search = base::search(), system = base::Sys.info()) [13:31:15.200] } [13:31:15.200] ...future.conditions[[length(...future.conditions) + [13:31:15.200] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:15.200] cond$call), session = sessionInformation(), [13:31:15.200] timestamp = base::Sys.time(), signaled = 0L) [13:31:15.200] signalCondition(cond) [13:31:15.200] } [13:31:15.200] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:15.200] signal <- FALSE && inherits(cond, character(0)) [13:31:15.200] ...future.conditions[[length(...future.conditions) + [13:31:15.200] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:15.200] if (FALSE && !signal) { [13:31:15.200] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.200] { [13:31:15.200] inherits <- base::inherits [13:31:15.200] invokeRestart <- base::invokeRestart [13:31:15.200] is.null <- base::is.null [13:31:15.200] muffled <- FALSE [13:31:15.200] if (inherits(cond, "message")) { [13:31:15.200] muffled <- grepl(pattern, "muffleMessage") [13:31:15.200] if (muffled) [13:31:15.200] invokeRestart("muffleMessage") [13:31:15.200] } [13:31:15.200] else if (inherits(cond, "warning")) { [13:31:15.200] muffled <- grepl(pattern, "muffleWarning") [13:31:15.200] if (muffled) [13:31:15.200] invokeRestart("muffleWarning") [13:31:15.200] } [13:31:15.200] else if (inherits(cond, "condition")) { [13:31:15.200] if (!is.null(pattern)) { [13:31:15.200] computeRestarts <- base::computeRestarts [13:31:15.200] grepl <- base::grepl [13:31:15.200] restarts <- computeRestarts(cond) [13:31:15.200] for (restart in restarts) { [13:31:15.200] name <- restart$name [13:31:15.200] if (is.null(name)) [13:31:15.200] next [13:31:15.200] if (!grepl(pattern, name)) [13:31:15.200] next [13:31:15.200] invokeRestart(restart) [13:31:15.200] muffled <- TRUE [13:31:15.200] break [13:31:15.200] } [13:31:15.200] } [13:31:15.200] } [13:31:15.200] invisible(muffled) [13:31:15.200] } [13:31:15.200] muffleCondition(cond, pattern = "^muffle") [13:31:15.200] } [13:31:15.200] } [13:31:15.200] else { [13:31:15.200] if (TRUE) { [13:31:15.200] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.200] { [13:31:15.200] inherits <- base::inherits [13:31:15.200] invokeRestart <- base::invokeRestart [13:31:15.200] is.null <- base::is.null [13:31:15.200] muffled <- FALSE [13:31:15.200] if (inherits(cond, "message")) { [13:31:15.200] muffled <- grepl(pattern, "muffleMessage") [13:31:15.200] if (muffled) [13:31:15.200] invokeRestart("muffleMessage") [13:31:15.200] } [13:31:15.200] else if (inherits(cond, "warning")) { [13:31:15.200] muffled <- grepl(pattern, "muffleWarning") [13:31:15.200] if (muffled) [13:31:15.200] invokeRestart("muffleWarning") [13:31:15.200] } [13:31:15.200] else if (inherits(cond, "condition")) { [13:31:15.200] if (!is.null(pattern)) { [13:31:15.200] computeRestarts <- base::computeRestarts [13:31:15.200] grepl <- base::grepl [13:31:15.200] restarts <- computeRestarts(cond) [13:31:15.200] for (restart in restarts) { [13:31:15.200] name <- restart$name [13:31:15.200] if (is.null(name)) [13:31:15.200] next [13:31:15.200] if (!grepl(pattern, name)) [13:31:15.200] next [13:31:15.200] invokeRestart(restart) [13:31:15.200] muffled <- TRUE [13:31:15.200] break [13:31:15.200] } [13:31:15.200] } [13:31:15.200] } [13:31:15.200] invisible(muffled) [13:31:15.200] } [13:31:15.200] muffleCondition(cond, pattern = "^muffle") [13:31:15.200] } [13:31:15.200] } [13:31:15.200] } [13:31:15.200] })) [13:31:15.200] }, error = function(ex) { [13:31:15.200] base::structure(base::list(value = NULL, visible = NULL, [13:31:15.200] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.200] ...future.rng), started = ...future.startTime, [13:31:15.200] finished = Sys.time(), session_uuid = NA_character_, [13:31:15.200] version = "1.8"), class = "FutureResult") [13:31:15.200] }, finally = { [13:31:15.200] if (!identical(...future.workdir, getwd())) [13:31:15.200] setwd(...future.workdir) [13:31:15.200] { [13:31:15.200] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:15.200] ...future.oldOptions$nwarnings <- NULL [13:31:15.200] } [13:31:15.200] base::options(...future.oldOptions) [13:31:15.200] if (.Platform$OS.type == "windows") { [13:31:15.200] old_names <- names(...future.oldEnvVars) [13:31:15.200] envs <- base::Sys.getenv() [13:31:15.200] names <- names(envs) [13:31:15.200] common <- intersect(names, old_names) [13:31:15.200] added <- setdiff(names, old_names) [13:31:15.200] removed <- setdiff(old_names, names) [13:31:15.200] changed <- common[...future.oldEnvVars[common] != [13:31:15.200] envs[common]] [13:31:15.200] NAMES <- toupper(changed) [13:31:15.200] args <- list() [13:31:15.200] for (kk in seq_along(NAMES)) { [13:31:15.200] name <- changed[[kk]] [13:31:15.200] NAME <- NAMES[[kk]] [13:31:15.200] if (name != NAME && is.element(NAME, old_names)) [13:31:15.200] next [13:31:15.200] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.200] } [13:31:15.200] NAMES <- toupper(added) [13:31:15.200] for (kk in seq_along(NAMES)) { [13:31:15.200] name <- added[[kk]] [13:31:15.200] NAME <- NAMES[[kk]] [13:31:15.200] if (name != NAME && is.element(NAME, old_names)) [13:31:15.200] next [13:31:15.200] args[[name]] <- "" [13:31:15.200] } [13:31:15.200] NAMES <- toupper(removed) [13:31:15.200] for (kk in seq_along(NAMES)) { [13:31:15.200] name <- removed[[kk]] [13:31:15.200] NAME <- NAMES[[kk]] [13:31:15.200] if (name != NAME && is.element(NAME, old_names)) [13:31:15.200] next [13:31:15.200] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.200] } [13:31:15.200] if (length(args) > 0) [13:31:15.200] base::do.call(base::Sys.setenv, args = args) [13:31:15.200] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:15.200] } [13:31:15.200] else { [13:31:15.200] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:15.200] } [13:31:15.200] { [13:31:15.200] if (base::length(...future.futureOptionsAdded) > [13:31:15.200] 0L) { [13:31:15.200] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:15.200] base::names(opts) <- ...future.futureOptionsAdded [13:31:15.200] base::options(opts) [13:31:15.200] } [13:31:15.200] { [13:31:15.200] NULL [13:31:15.200] options(future.plan = NULL) [13:31:15.200] if (is.na(NA_character_)) [13:31:15.200] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.200] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:15.200] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:15.200] .init = FALSE) [13:31:15.200] } [13:31:15.200] } [13:31:15.200] } [13:31:15.200] }) [13:31:15.200] if (TRUE) { [13:31:15.200] base::sink(type = "output", split = FALSE) [13:31:15.200] if (TRUE) { [13:31:15.200] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:15.200] } [13:31:15.200] else { [13:31:15.200] ...future.result["stdout"] <- base::list(NULL) [13:31:15.200] } [13:31:15.200] base::close(...future.stdout) [13:31:15.200] ...future.stdout <- NULL [13:31:15.200] } [13:31:15.200] ...future.result$conditions <- ...future.conditions [13:31:15.200] ...future.result$finished <- base::Sys.time() [13:31:15.200] ...future.result [13:31:15.200] } [13:31:15.305] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:31:15.305] plan(): nbrOfWorkers() = 2 > > for (stdout in c(TRUE, FALSE, NA)) { + message(sprintf("- stdout = %s", stdout)) + + f <- future({ + print(1:50) + str(1:50) + cat(letters, sep = "-") + cat(1:6, collapse = "\n") + write.table(datasets::iris[1:10,], sep = "\t") + 42L + }, stdout = stdout) + r <- result(f) + str(r) + stopifnot(value(f) == 42L) + + if (is.na(stdout)) { + stopifnot(is.null(r$stdout)) + } else if (stdout) { + print(r) + stopifnot(identical(r$stdout, truth)) + } else { + stopifnot(is.null(r$stdout)) + } + + v %<-% { + print(1:50) + str(1:50) + cat(letters, sep = "-") + cat(1:6, collapse = "\n") + write.table(datasets::iris[1:10,], sep = "\t") + 42L + } %stdout% stdout + out <- utils::capture.output(y <- v) + stopifnot(y == 42L) + + if (is.na(stdout) || !stdout) { + stopifnot(out == "") + } else { + print(out) + stopifnot(identical(out, truth_rows)) + } + } ## for (stdout ...) - stdout = TRUE [13:31:15.334] getGlobalsAndPackages() ... [13:31:15.334] Searching for globals... [13:31:15.343] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:31:15.343] Searching for globals ... DONE [13:31:15.343] Resolving globals: FALSE [13:31:15.344] [13:31:15.344] - packages: [1] 'utils' [13:31:15.345] getGlobalsAndPackages() ... DONE [13:31:15.345] run() for 'Future' ... [13:31:15.345] - state: 'created' [13:31:15.346] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:15.348] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:15.348] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:15.348] - Field: 'label' [13:31:15.349] - Field: 'local' [13:31:15.349] - Field: 'owner' [13:31:15.349] - Field: 'envir' [13:31:15.349] - Field: 'packages' [13:31:15.349] - Field: 'gc' [13:31:15.349] - Field: 'conditions' [13:31:15.350] - Field: 'expr' [13:31:15.350] - Field: 'uuid' [13:31:15.350] - Field: 'seed' [13:31:15.350] - Field: 'version' [13:31:15.350] - Field: 'result' [13:31:15.350] - Field: 'asynchronous' [13:31:15.351] - Field: 'calls' [13:31:15.351] - Field: 'globals' [13:31:15.351] - Field: 'stdout' [13:31:15.351] - Field: 'earlySignal' [13:31:15.351] - Field: 'lazy' [13:31:15.351] - Field: 'state' [13:31:15.352] - Field: '.cluster' [13:31:15.352] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:15.352] - Launch lazy future ... [13:31:15.352] Packages needed by the future expression (n = 1): 'utils' [13:31:15.352] Packages needed by future strategies (n = 0): [13:31:15.353] { [13:31:15.353] { [13:31:15.353] { [13:31:15.353] ...future.startTime <- base::Sys.time() [13:31:15.353] { [13:31:15.353] { [13:31:15.353] { [13:31:15.353] { [13:31:15.353] base::local({ [13:31:15.353] has_future <- base::requireNamespace("future", [13:31:15.353] quietly = TRUE) [13:31:15.353] if (has_future) { [13:31:15.353] ns <- base::getNamespace("future") [13:31:15.353] version <- ns[[".package"]][["version"]] [13:31:15.353] if (is.null(version)) [13:31:15.353] version <- utils::packageVersion("future") [13:31:15.353] } [13:31:15.353] else { [13:31:15.353] version <- NULL [13:31:15.353] } [13:31:15.353] if (!has_future || version < "1.8.0") { [13:31:15.353] info <- base::c(r_version = base::gsub("R version ", [13:31:15.353] "", base::R.version$version.string), [13:31:15.353] platform = base::sprintf("%s (%s-bit)", [13:31:15.353] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:15.353] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:15.353] "release", "version")], collapse = " "), [13:31:15.353] hostname = base::Sys.info()[["nodename"]]) [13:31:15.353] info <- base::sprintf("%s: %s", base::names(info), [13:31:15.353] info) [13:31:15.353] info <- base::paste(info, collapse = "; ") [13:31:15.353] if (!has_future) { [13:31:15.353] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:15.353] info) [13:31:15.353] } [13:31:15.353] else { [13:31:15.353] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:15.353] info, version) [13:31:15.353] } [13:31:15.353] base::stop(msg) [13:31:15.353] } [13:31:15.353] }) [13:31:15.353] } [13:31:15.353] base::local({ [13:31:15.353] for (pkg in "utils") { [13:31:15.353] base::loadNamespace(pkg) [13:31:15.353] base::library(pkg, character.only = TRUE) [13:31:15.353] } [13:31:15.353] }) [13:31:15.353] } [13:31:15.353] ...future.strategy.old <- future::plan("list") [13:31:15.353] options(future.plan = NULL) [13:31:15.353] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.353] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:15.353] } [13:31:15.353] ...future.workdir <- getwd() [13:31:15.353] } [13:31:15.353] ...future.oldOptions <- base::as.list(base::.Options) [13:31:15.353] ...future.oldEnvVars <- base::Sys.getenv() [13:31:15.353] } [13:31:15.353] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:15.353] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:15.353] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:15.353] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:15.353] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:15.353] future.stdout.windows.reencode = NULL, width = 80L) [13:31:15.353] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:15.353] base::names(...future.oldOptions)) [13:31:15.353] } [13:31:15.353] if (FALSE) { [13:31:15.353] } [13:31:15.353] else { [13:31:15.353] if (TRUE) { [13:31:15.353] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:15.353] open = "w") [13:31:15.353] } [13:31:15.353] else { [13:31:15.353] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:15.353] windows = "NUL", "/dev/null"), open = "w") [13:31:15.353] } [13:31:15.353] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:15.353] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:15.353] base::sink(type = "output", split = FALSE) [13:31:15.353] base::close(...future.stdout) [13:31:15.353] }, add = TRUE) [13:31:15.353] } [13:31:15.353] ...future.frame <- base::sys.nframe() [13:31:15.353] ...future.conditions <- base::list() [13:31:15.353] ...future.rng <- base::globalenv()$.Random.seed [13:31:15.353] if (FALSE) { [13:31:15.353] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:15.353] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:15.353] } [13:31:15.353] ...future.result <- base::tryCatch({ [13:31:15.353] base::withCallingHandlers({ [13:31:15.353] ...future.value <- base::withVisible(base::local({ [13:31:15.353] print(1:50) [13:31:15.353] str(1:50) [13:31:15.353] cat(letters, sep = "-") [13:31:15.353] cat(1:6, collapse = "\n") [13:31:15.353] write.table(datasets::iris[1:10, ], sep = "\t") [13:31:15.353] 42L [13:31:15.353] })) [13:31:15.353] future::FutureResult(value = ...future.value$value, [13:31:15.353] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.353] ...future.rng), globalenv = if (FALSE) [13:31:15.353] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:15.353] ...future.globalenv.names)) [13:31:15.353] else NULL, started = ...future.startTime, version = "1.8") [13:31:15.353] }, condition = base::local({ [13:31:15.353] c <- base::c [13:31:15.353] inherits <- base::inherits [13:31:15.353] invokeRestart <- base::invokeRestart [13:31:15.353] length <- base::length [13:31:15.353] list <- base::list [13:31:15.353] seq.int <- base::seq.int [13:31:15.353] signalCondition <- base::signalCondition [13:31:15.353] sys.calls <- base::sys.calls [13:31:15.353] `[[` <- base::`[[` [13:31:15.353] `+` <- base::`+` [13:31:15.353] `<<-` <- base::`<<-` [13:31:15.353] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:15.353] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:15.353] 3L)] [13:31:15.353] } [13:31:15.353] function(cond) { [13:31:15.353] is_error <- inherits(cond, "error") [13:31:15.353] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:15.353] NULL) [13:31:15.353] if (is_error) { [13:31:15.353] sessionInformation <- function() { [13:31:15.353] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:15.353] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:15.353] search = base::search(), system = base::Sys.info()) [13:31:15.353] } [13:31:15.353] ...future.conditions[[length(...future.conditions) + [13:31:15.353] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:15.353] cond$call), session = sessionInformation(), [13:31:15.353] timestamp = base::Sys.time(), signaled = 0L) [13:31:15.353] signalCondition(cond) [13:31:15.353] } [13:31:15.353] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:15.353] signal <- FALSE && inherits(cond, character(0)) [13:31:15.353] ...future.conditions[[length(...future.conditions) + [13:31:15.353] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:15.353] if (FALSE && !signal) { [13:31:15.353] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.353] { [13:31:15.353] inherits <- base::inherits [13:31:15.353] invokeRestart <- base::invokeRestart [13:31:15.353] is.null <- base::is.null [13:31:15.353] muffled <- FALSE [13:31:15.353] if (inherits(cond, "message")) { [13:31:15.353] muffled <- grepl(pattern, "muffleMessage") [13:31:15.353] if (muffled) [13:31:15.353] invokeRestart("muffleMessage") [13:31:15.353] } [13:31:15.353] else if (inherits(cond, "warning")) { [13:31:15.353] muffled <- grepl(pattern, "muffleWarning") [13:31:15.353] if (muffled) [13:31:15.353] invokeRestart("muffleWarning") [13:31:15.353] } [13:31:15.353] else if (inherits(cond, "condition")) { [13:31:15.353] if (!is.null(pattern)) { [13:31:15.353] computeRestarts <- base::computeRestarts [13:31:15.353] grepl <- base::grepl [13:31:15.353] restarts <- computeRestarts(cond) [13:31:15.353] for (restart in restarts) { [13:31:15.353] name <- restart$name [13:31:15.353] if (is.null(name)) [13:31:15.353] next [13:31:15.353] if (!grepl(pattern, name)) [13:31:15.353] next [13:31:15.353] invokeRestart(restart) [13:31:15.353] muffled <- TRUE [13:31:15.353] break [13:31:15.353] } [13:31:15.353] } [13:31:15.353] } [13:31:15.353] invisible(muffled) [13:31:15.353] } [13:31:15.353] muffleCondition(cond, pattern = "^muffle") [13:31:15.353] } [13:31:15.353] } [13:31:15.353] else { [13:31:15.353] if (TRUE) { [13:31:15.353] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.353] { [13:31:15.353] inherits <- base::inherits [13:31:15.353] invokeRestart <- base::invokeRestart [13:31:15.353] is.null <- base::is.null [13:31:15.353] muffled <- FALSE [13:31:15.353] if (inherits(cond, "message")) { [13:31:15.353] muffled <- grepl(pattern, "muffleMessage") [13:31:15.353] if (muffled) [13:31:15.353] invokeRestart("muffleMessage") [13:31:15.353] } [13:31:15.353] else if (inherits(cond, "warning")) { [13:31:15.353] muffled <- grepl(pattern, "muffleWarning") [13:31:15.353] if (muffled) [13:31:15.353] invokeRestart("muffleWarning") [13:31:15.353] } [13:31:15.353] else if (inherits(cond, "condition")) { [13:31:15.353] if (!is.null(pattern)) { [13:31:15.353] computeRestarts <- base::computeRestarts [13:31:15.353] grepl <- base::grepl [13:31:15.353] restarts <- computeRestarts(cond) [13:31:15.353] for (restart in restarts) { [13:31:15.353] name <- restart$name [13:31:15.353] if (is.null(name)) [13:31:15.353] next [13:31:15.353] if (!grepl(pattern, name)) [13:31:15.353] next [13:31:15.353] invokeRestart(restart) [13:31:15.353] muffled <- TRUE [13:31:15.353] break [13:31:15.353] } [13:31:15.353] } [13:31:15.353] } [13:31:15.353] invisible(muffled) [13:31:15.353] } [13:31:15.353] muffleCondition(cond, pattern = "^muffle") [13:31:15.353] } [13:31:15.353] } [13:31:15.353] } [13:31:15.353] })) [13:31:15.353] }, error = function(ex) { [13:31:15.353] base::structure(base::list(value = NULL, visible = NULL, [13:31:15.353] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.353] ...future.rng), started = ...future.startTime, [13:31:15.353] finished = Sys.time(), session_uuid = NA_character_, [13:31:15.353] version = "1.8"), class = "FutureResult") [13:31:15.353] }, finally = { [13:31:15.353] if (!identical(...future.workdir, getwd())) [13:31:15.353] setwd(...future.workdir) [13:31:15.353] { [13:31:15.353] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:15.353] ...future.oldOptions$nwarnings <- NULL [13:31:15.353] } [13:31:15.353] base::options(...future.oldOptions) [13:31:15.353] if (.Platform$OS.type == "windows") { [13:31:15.353] old_names <- names(...future.oldEnvVars) [13:31:15.353] envs <- base::Sys.getenv() [13:31:15.353] names <- names(envs) [13:31:15.353] common <- intersect(names, old_names) [13:31:15.353] added <- setdiff(names, old_names) [13:31:15.353] removed <- setdiff(old_names, names) [13:31:15.353] changed <- common[...future.oldEnvVars[common] != [13:31:15.353] envs[common]] [13:31:15.353] NAMES <- toupper(changed) [13:31:15.353] args <- list() [13:31:15.353] for (kk in seq_along(NAMES)) { [13:31:15.353] name <- changed[[kk]] [13:31:15.353] NAME <- NAMES[[kk]] [13:31:15.353] if (name != NAME && is.element(NAME, old_names)) [13:31:15.353] next [13:31:15.353] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.353] } [13:31:15.353] NAMES <- toupper(added) [13:31:15.353] for (kk in seq_along(NAMES)) { [13:31:15.353] name <- added[[kk]] [13:31:15.353] NAME <- NAMES[[kk]] [13:31:15.353] if (name != NAME && is.element(NAME, old_names)) [13:31:15.353] next [13:31:15.353] args[[name]] <- "" [13:31:15.353] } [13:31:15.353] NAMES <- toupper(removed) [13:31:15.353] for (kk in seq_along(NAMES)) { [13:31:15.353] name <- removed[[kk]] [13:31:15.353] NAME <- NAMES[[kk]] [13:31:15.353] if (name != NAME && is.element(NAME, old_names)) [13:31:15.353] next [13:31:15.353] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.353] } [13:31:15.353] if (length(args) > 0) [13:31:15.353] base::do.call(base::Sys.setenv, args = args) [13:31:15.353] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:15.353] } [13:31:15.353] else { [13:31:15.353] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:15.353] } [13:31:15.353] { [13:31:15.353] if (base::length(...future.futureOptionsAdded) > [13:31:15.353] 0L) { [13:31:15.353] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:15.353] base::names(opts) <- ...future.futureOptionsAdded [13:31:15.353] base::options(opts) [13:31:15.353] } [13:31:15.353] { [13:31:15.353] NULL [13:31:15.353] options(future.plan = NULL) [13:31:15.353] if (is.na(NA_character_)) [13:31:15.353] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.353] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:15.353] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:15.353] .init = FALSE) [13:31:15.353] } [13:31:15.353] } [13:31:15.353] } [13:31:15.353] }) [13:31:15.353] if (TRUE) { [13:31:15.353] base::sink(type = "output", split = FALSE) [13:31:15.353] if (TRUE) { [13:31:15.353] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:15.353] } [13:31:15.353] else { [13:31:15.353] ...future.result["stdout"] <- base::list(NULL) [13:31:15.353] } [13:31:15.353] base::close(...future.stdout) [13:31:15.353] ...future.stdout <- NULL [13:31:15.353] } [13:31:15.353] ...future.result$conditions <- ...future.conditions [13:31:15.353] ...future.result$finished <- base::Sys.time() [13:31:15.353] ...future.result [13:31:15.353] } [13:31:15.357] - Launch lazy future ... done [13:31:15.357] run() for 'MiraiFuture' ... done List of 11 $ value : int 42 $ visible : logi TRUE $ stdout : chr " [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25\n[26] 26 27 28 29 30 31 32 33 3"| __truncated__ $ conditions : list() $ rng : logi FALSE $ globalenv : NULL $ started : POSIXct[1:1], format: "2024-04-16 13:31:15" $ finished : POSIXct[1:1], format: "2024-04-16 13:31:15" $ session_uuid: chr "b3129514-32db-424f-0a2d-e2812d7f5cc9" ..- 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 126548 .. ..$ time : POSIXct[1:1], format: "2024-04-16 13:31:15" .. ..$ random: int 2147483647 $ r_info :List of 4 ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 .. ..$ : int [1:3] 4 4 0 ..$ os : chr "windows" ..$ os_name : chr "Windows" ..$ captures_utf8: logi TRUE $ version : chr "1.8" - attr(*, "class")= chr "FutureResult" [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 int [1:50] 1 2 3 4 5 6 7 8 9 10 ... a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z1 2 3 4 5 6 "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species" "1" 5.1 3.5 1.4 0.2 "setosa" "2" 4.9 3 1.4 0.2 "setosa" "3" 4.7 3.2 1.3 0.2 "setosa" "4" 4.6 3.1 1.5 0.2 "setosa" "5" 5 3.6 1.4 0.2 "setosa" "6" 5.4 3.9 1.7 0.4 "setosa" "7" 4.6 3.4 1.4 0.3 "setosa" "8" 5 3.4 1.5 0.2 "setosa" "9" 4.4 2.9 1.4 0.2 "setosa" "10" 4.9 3.1 1.5 0.1 "setosa" FutureResult: value: 'integer' visible: TRUE stdout: character conditions: [n = 0] RNG used: FALSE duration: 0.005369902 secs (started 2024-04-16 13:31:15.357923) version: 1.8 [13:31:15.376] getGlobalsAndPackages() ... [13:31:15.376] Searching for globals... [13:31:15.379] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:31:15.379] Searching for globals ... DONE [13:31:15.380] Resolving globals: FALSE [13:31:15.380] [13:31:15.380] - packages: [1] 'utils' [13:31:15.381] getGlobalsAndPackages() ... DONE [13:31:15.381] run() for 'Future' ... [13:31:15.381] - state: 'created' [13:31:15.381] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:15.383] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:15.384] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:15.384] - Field: 'label' [13:31:15.384] - Field: 'local' [13:31:15.384] - Field: 'owner' [13:31:15.384] - Field: 'envir' [13:31:15.385] - Field: 'packages' [13:31:15.385] - Field: 'gc' [13:31:15.385] - Field: 'conditions' [13:31:15.385] - Field: 'expr' [13:31:15.385] - Field: 'uuid' [13:31:15.386] - Field: 'seed' [13:31:15.386] - Field: 'version' [13:31:15.386] - Field: 'result' [13:31:15.386] - Field: 'asynchronous' [13:31:15.386] - Field: 'calls' [13:31:15.386] - Field: 'globals' [13:31:15.387] - Field: 'stdout' [13:31:15.387] - Field: 'earlySignal' [13:31:15.387] - Field: 'lazy' [13:31:15.387] - Field: 'state' [13:31:15.387] - Field: '.cluster' [13:31:15.387] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:15.388] - Launch lazy future ... [13:31:15.388] Packages needed by the future expression (n = 1): 'utils' [13:31:15.388] Packages needed by future strategies (n = 0): [13:31:15.388] { [13:31:15.388] { [13:31:15.388] { [13:31:15.388] ...future.startTime <- base::Sys.time() [13:31:15.388] { [13:31:15.388] { [13:31:15.388] { [13:31:15.388] { [13:31:15.388] base::local({ [13:31:15.388] has_future <- base::requireNamespace("future", [13:31:15.388] quietly = TRUE) [13:31:15.388] if (has_future) { [13:31:15.388] ns <- base::getNamespace("future") [13:31:15.388] version <- ns[[".package"]][["version"]] [13:31:15.388] if (is.null(version)) [13:31:15.388] version <- utils::packageVersion("future") [13:31:15.388] } [13:31:15.388] else { [13:31:15.388] version <- NULL [13:31:15.388] } [13:31:15.388] if (!has_future || version < "1.8.0") { [13:31:15.388] info <- base::c(r_version = base::gsub("R version ", [13:31:15.388] "", base::R.version$version.string), [13:31:15.388] platform = base::sprintf("%s (%s-bit)", [13:31:15.388] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:15.388] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:15.388] "release", "version")], collapse = " "), [13:31:15.388] hostname = base::Sys.info()[["nodename"]]) [13:31:15.388] info <- base::sprintf("%s: %s", base::names(info), [13:31:15.388] info) [13:31:15.388] info <- base::paste(info, collapse = "; ") [13:31:15.388] if (!has_future) { [13:31:15.388] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:15.388] info) [13:31:15.388] } [13:31:15.388] else { [13:31:15.388] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:15.388] info, version) [13:31:15.388] } [13:31:15.388] base::stop(msg) [13:31:15.388] } [13:31:15.388] }) [13:31:15.388] } [13:31:15.388] base::local({ [13:31:15.388] for (pkg in "utils") { [13:31:15.388] base::loadNamespace(pkg) [13:31:15.388] base::library(pkg, character.only = TRUE) [13:31:15.388] } [13:31:15.388] }) [13:31:15.388] } [13:31:15.388] ...future.strategy.old <- future::plan("list") [13:31:15.388] options(future.plan = NULL) [13:31:15.388] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.388] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:15.388] } [13:31:15.388] ...future.workdir <- getwd() [13:31:15.388] } [13:31:15.388] ...future.oldOptions <- base::as.list(base::.Options) [13:31:15.388] ...future.oldEnvVars <- base::Sys.getenv() [13:31:15.388] } [13:31:15.388] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:15.388] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:15.388] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:15.388] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:15.388] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:15.388] future.stdout.windows.reencode = NULL, width = 80L) [13:31:15.388] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:15.388] base::names(...future.oldOptions)) [13:31:15.388] } [13:31:15.388] if (FALSE) { [13:31:15.388] } [13:31:15.388] else { [13:31:15.388] if (TRUE) { [13:31:15.388] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:15.388] open = "w") [13:31:15.388] } [13:31:15.388] else { [13:31:15.388] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:15.388] windows = "NUL", "/dev/null"), open = "w") [13:31:15.388] } [13:31:15.388] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:15.388] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:15.388] base::sink(type = "output", split = FALSE) [13:31:15.388] base::close(...future.stdout) [13:31:15.388] }, add = TRUE) [13:31:15.388] } [13:31:15.388] ...future.frame <- base::sys.nframe() [13:31:15.388] ...future.conditions <- base::list() [13:31:15.388] ...future.rng <- base::globalenv()$.Random.seed [13:31:15.388] if (FALSE) { [13:31:15.388] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:15.388] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:15.388] } [13:31:15.388] ...future.result <- base::tryCatch({ [13:31:15.388] base::withCallingHandlers({ [13:31:15.388] ...future.value <- base::withVisible(base::local({ [13:31:15.388] print(1:50) [13:31:15.388] str(1:50) [13:31:15.388] cat(letters, sep = "-") [13:31:15.388] cat(1:6, collapse = "\n") [13:31:15.388] write.table(datasets::iris[1:10, ], sep = "\t") [13:31:15.388] 42L [13:31:15.388] })) [13:31:15.388] future::FutureResult(value = ...future.value$value, [13:31:15.388] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.388] ...future.rng), globalenv = if (FALSE) [13:31:15.388] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:15.388] ...future.globalenv.names)) [13:31:15.388] else NULL, started = ...future.startTime, version = "1.8") [13:31:15.388] }, condition = base::local({ [13:31:15.388] c <- base::c [13:31:15.388] inherits <- base::inherits [13:31:15.388] invokeRestart <- base::invokeRestart [13:31:15.388] length <- base::length [13:31:15.388] list <- base::list [13:31:15.388] seq.int <- base::seq.int [13:31:15.388] signalCondition <- base::signalCondition [13:31:15.388] sys.calls <- base::sys.calls [13:31:15.388] `[[` <- base::`[[` [13:31:15.388] `+` <- base::`+` [13:31:15.388] `<<-` <- base::`<<-` [13:31:15.388] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:15.388] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:15.388] 3L)] [13:31:15.388] } [13:31:15.388] function(cond) { [13:31:15.388] is_error <- inherits(cond, "error") [13:31:15.388] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:15.388] NULL) [13:31:15.388] if (is_error) { [13:31:15.388] sessionInformation <- function() { [13:31:15.388] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:15.388] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:15.388] search = base::search(), system = base::Sys.info()) [13:31:15.388] } [13:31:15.388] ...future.conditions[[length(...future.conditions) + [13:31:15.388] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:15.388] cond$call), session = sessionInformation(), [13:31:15.388] timestamp = base::Sys.time(), signaled = 0L) [13:31:15.388] signalCondition(cond) [13:31:15.388] } [13:31:15.388] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:15.388] signal <- FALSE && inherits(cond, character(0)) [13:31:15.388] ...future.conditions[[length(...future.conditions) + [13:31:15.388] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:15.388] if (FALSE && !signal) { [13:31:15.388] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.388] { [13:31:15.388] inherits <- base::inherits [13:31:15.388] invokeRestart <- base::invokeRestart [13:31:15.388] is.null <- base::is.null [13:31:15.388] muffled <- FALSE [13:31:15.388] if (inherits(cond, "message")) { [13:31:15.388] muffled <- grepl(pattern, "muffleMessage") [13:31:15.388] if (muffled) [13:31:15.388] invokeRestart("muffleMessage") [13:31:15.388] } [13:31:15.388] else if (inherits(cond, "warning")) { [13:31:15.388] muffled <- grepl(pattern, "muffleWarning") [13:31:15.388] if (muffled) [13:31:15.388] invokeRestart("muffleWarning") [13:31:15.388] } [13:31:15.388] else if (inherits(cond, "condition")) { [13:31:15.388] if (!is.null(pattern)) { [13:31:15.388] computeRestarts <- base::computeRestarts [13:31:15.388] grepl <- base::grepl [13:31:15.388] restarts <- computeRestarts(cond) [13:31:15.388] for (restart in restarts) { [13:31:15.388] name <- restart$name [13:31:15.388] if (is.null(name)) [13:31:15.388] next [13:31:15.388] if (!grepl(pattern, name)) [13:31:15.388] next [13:31:15.388] invokeRestart(restart) [13:31:15.388] muffled <- TRUE [13:31:15.388] break [13:31:15.388] } [13:31:15.388] } [13:31:15.388] } [13:31:15.388] invisible(muffled) [13:31:15.388] } [13:31:15.388] muffleCondition(cond, pattern = "^muffle") [13:31:15.388] } [13:31:15.388] } [13:31:15.388] else { [13:31:15.388] if (TRUE) { [13:31:15.388] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.388] { [13:31:15.388] inherits <- base::inherits [13:31:15.388] invokeRestart <- base::invokeRestart [13:31:15.388] is.null <- base::is.null [13:31:15.388] muffled <- FALSE [13:31:15.388] if (inherits(cond, "message")) { [13:31:15.388] muffled <- grepl(pattern, "muffleMessage") [13:31:15.388] if (muffled) [13:31:15.388] invokeRestart("muffleMessage") [13:31:15.388] } [13:31:15.388] else if (inherits(cond, "warning")) { [13:31:15.388] muffled <- grepl(pattern, "muffleWarning") [13:31:15.388] if (muffled) [13:31:15.388] invokeRestart("muffleWarning") [13:31:15.388] } [13:31:15.388] else if (inherits(cond, "condition")) { [13:31:15.388] if (!is.null(pattern)) { [13:31:15.388] computeRestarts <- base::computeRestarts [13:31:15.388] grepl <- base::grepl [13:31:15.388] restarts <- computeRestarts(cond) [13:31:15.388] for (restart in restarts) { [13:31:15.388] name <- restart$name [13:31:15.388] if (is.null(name)) [13:31:15.388] next [13:31:15.388] if (!grepl(pattern, name)) [13:31:15.388] next [13:31:15.388] invokeRestart(restart) [13:31:15.388] muffled <- TRUE [13:31:15.388] break [13:31:15.388] } [13:31:15.388] } [13:31:15.388] } [13:31:15.388] invisible(muffled) [13:31:15.388] } [13:31:15.388] muffleCondition(cond, pattern = "^muffle") [13:31:15.388] } [13:31:15.388] } [13:31:15.388] } [13:31:15.388] })) [13:31:15.388] }, error = function(ex) { [13:31:15.388] base::structure(base::list(value = NULL, visible = NULL, [13:31:15.388] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.388] ...future.rng), started = ...future.startTime, [13:31:15.388] finished = Sys.time(), session_uuid = NA_character_, [13:31:15.388] version = "1.8"), class = "FutureResult") [13:31:15.388] }, finally = { [13:31:15.388] if (!identical(...future.workdir, getwd())) [13:31:15.388] setwd(...future.workdir) [13:31:15.388] { [13:31:15.388] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:15.388] ...future.oldOptions$nwarnings <- NULL [13:31:15.388] } [13:31:15.388] base::options(...future.oldOptions) [13:31:15.388] if (.Platform$OS.type == "windows") { [13:31:15.388] old_names <- names(...future.oldEnvVars) [13:31:15.388] envs <- base::Sys.getenv() [13:31:15.388] names <- names(envs) [13:31:15.388] common <- intersect(names, old_names) [13:31:15.388] added <- setdiff(names, old_names) [13:31:15.388] removed <- setdiff(old_names, names) [13:31:15.388] changed <- common[...future.oldEnvVars[common] != [13:31:15.388] envs[common]] [13:31:15.388] NAMES <- toupper(changed) [13:31:15.388] args <- list() [13:31:15.388] for (kk in seq_along(NAMES)) { [13:31:15.388] name <- changed[[kk]] [13:31:15.388] NAME <- NAMES[[kk]] [13:31:15.388] if (name != NAME && is.element(NAME, old_names)) [13:31:15.388] next [13:31:15.388] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.388] } [13:31:15.388] NAMES <- toupper(added) [13:31:15.388] for (kk in seq_along(NAMES)) { [13:31:15.388] name <- added[[kk]] [13:31:15.388] NAME <- NAMES[[kk]] [13:31:15.388] if (name != NAME && is.element(NAME, old_names)) [13:31:15.388] next [13:31:15.388] args[[name]] <- "" [13:31:15.388] } [13:31:15.388] NAMES <- toupper(removed) [13:31:15.388] for (kk in seq_along(NAMES)) { [13:31:15.388] name <- removed[[kk]] [13:31:15.388] NAME <- NAMES[[kk]] [13:31:15.388] if (name != NAME && is.element(NAME, old_names)) [13:31:15.388] next [13:31:15.388] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.388] } [13:31:15.388] if (length(args) > 0) [13:31:15.388] base::do.call(base::Sys.setenv, args = args) [13:31:15.388] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:15.388] } [13:31:15.388] else { [13:31:15.388] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:15.388] } [13:31:15.388] { [13:31:15.388] if (base::length(...future.futureOptionsAdded) > [13:31:15.388] 0L) { [13:31:15.388] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:15.388] base::names(opts) <- ...future.futureOptionsAdded [13:31:15.388] base::options(opts) [13:31:15.388] } [13:31:15.388] { [13:31:15.388] NULL [13:31:15.388] options(future.plan = NULL) [13:31:15.388] if (is.na(NA_character_)) [13:31:15.388] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.388] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:15.388] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:15.388] .init = FALSE) [13:31:15.388] } [13:31:15.388] } [13:31:15.388] } [13:31:15.388] }) [13:31:15.388] if (TRUE) { [13:31:15.388] base::sink(type = "output", split = FALSE) [13:31:15.388] if (TRUE) { [13:31:15.388] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:15.388] } [13:31:15.388] else { [13:31:15.388] ...future.result["stdout"] <- base::list(NULL) [13:31:15.388] } [13:31:15.388] base::close(...future.stdout) [13:31:15.388] ...future.stdout <- NULL [13:31:15.388] } [13:31:15.388] ...future.result$conditions <- ...future.conditions [13:31:15.388] ...future.result$finished <- base::Sys.time() [13:31:15.388] ...future.result [13:31:15.388] } [13:31:15.392] - Launch lazy future ... done [13:31:15.393] run() for 'MiraiFuture' ... done [1] " [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25" [2] "[26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50" [3] " int [1:50] 1 2 3 4 5 6 7 8 9 10 ..." [4] "a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z1 2 3 4 5 6 " [5] "\"Sepal.Length\"\t\"Sepal.Width\"\t\"Petal.Length\"\t\"Petal.Width\"\t\"Species\"" [6] "\"1\"\t5.1\t3.5\t1.4\t0.2\t\"setosa\"" [7] "\"2\"\t4.9\t3\t1.4\t0.2\t\"setosa\"" [8] "\"3\"\t4.7\t3.2\t1.3\t0.2\t\"setosa\"" [9] "\"4\"\t4.6\t3.1\t1.5\t0.2\t\"setosa\"" [10] "\"5\"\t5\t3.6\t1.4\t0.2\t\"setosa\"" [11] "\"6\"\t5.4\t3.9\t1.7\t0.4\t\"setosa\"" [12] "\"7\"\t4.6\t3.4\t1.4\t0.3\t\"setosa\"" [13] "\"8\"\t5\t3.4\t1.5\t0.2\t\"setosa\"" [14] "\"9\"\t4.4\t2.9\t1.4\t0.2\t\"setosa\"" [15] "\"10\"\t4.9\t3.1\t1.5\t0.1\t\"setosa\"" - stdout = FALSE [13:31:15.400] getGlobalsAndPackages() ... [13:31:15.400] Searching for globals... [13:31:15.403] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:31:15.403] Searching for globals ... DONE [13:31:15.405] Resolving globals: FALSE [13:31:15.406] [13:31:15.406] - packages: [1] 'utils' [13:31:15.406] getGlobalsAndPackages() ... DONE [13:31:15.406] run() for 'Future' ... [13:31:15.406] - state: 'created' [13:31:15.407] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:15.409] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:15.409] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:15.409] - Field: 'label' [13:31:15.409] - Field: 'local' [13:31:15.410] - Field: 'owner' [13:31:15.410] - Field: 'envir' [13:31:15.410] - Field: 'packages' [13:31:15.410] - Field: 'gc' [13:31:15.410] - Field: 'conditions' [13:31:15.410] - Field: 'expr' [13:31:15.411] - Field: 'uuid' [13:31:15.411] - Field: 'seed' [13:31:15.411] - Field: 'version' [13:31:15.411] - Field: 'result' [13:31:15.411] - Field: 'asynchronous' [13:31:15.411] - Field: 'calls' [13:31:15.412] - Field: 'globals' [13:31:15.412] - Field: 'stdout' [13:31:15.412] - Field: 'earlySignal' [13:31:15.412] - Field: 'lazy' [13:31:15.412] - Field: 'state' [13:31:15.412] - Field: '.cluster' [13:31:15.413] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:15.413] - Launch lazy future ... [13:31:15.413] Packages needed by the future expression (n = 1): 'utils' [13:31:15.413] Packages needed by future strategies (n = 0): [13:31:15.414] { [13:31:15.414] { [13:31:15.414] { [13:31:15.414] ...future.startTime <- base::Sys.time() [13:31:15.414] { [13:31:15.414] { [13:31:15.414] { [13:31:15.414] { [13:31:15.414] base::local({ [13:31:15.414] has_future <- base::requireNamespace("future", [13:31:15.414] quietly = TRUE) [13:31:15.414] if (has_future) { [13:31:15.414] ns <- base::getNamespace("future") [13:31:15.414] version <- ns[[".package"]][["version"]] [13:31:15.414] if (is.null(version)) [13:31:15.414] version <- utils::packageVersion("future") [13:31:15.414] } [13:31:15.414] else { [13:31:15.414] version <- NULL [13:31:15.414] } [13:31:15.414] if (!has_future || version < "1.8.0") { [13:31:15.414] info <- base::c(r_version = base::gsub("R version ", [13:31:15.414] "", base::R.version$version.string), [13:31:15.414] platform = base::sprintf("%s (%s-bit)", [13:31:15.414] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:15.414] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:15.414] "release", "version")], collapse = " "), [13:31:15.414] hostname = base::Sys.info()[["nodename"]]) [13:31:15.414] info <- base::sprintf("%s: %s", base::names(info), [13:31:15.414] info) [13:31:15.414] info <- base::paste(info, collapse = "; ") [13:31:15.414] if (!has_future) { [13:31:15.414] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:15.414] info) [13:31:15.414] } [13:31:15.414] else { [13:31:15.414] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:15.414] info, version) [13:31:15.414] } [13:31:15.414] base::stop(msg) [13:31:15.414] } [13:31:15.414] }) [13:31:15.414] } [13:31:15.414] base::local({ [13:31:15.414] for (pkg in "utils") { [13:31:15.414] base::loadNamespace(pkg) [13:31:15.414] base::library(pkg, character.only = TRUE) [13:31:15.414] } [13:31:15.414] }) [13:31:15.414] } [13:31:15.414] ...future.strategy.old <- future::plan("list") [13:31:15.414] options(future.plan = NULL) [13:31:15.414] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.414] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:15.414] } [13:31:15.414] ...future.workdir <- getwd() [13:31:15.414] } [13:31:15.414] ...future.oldOptions <- base::as.list(base::.Options) [13:31:15.414] ...future.oldEnvVars <- base::Sys.getenv() [13:31:15.414] } [13:31:15.414] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:15.414] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:15.414] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:15.414] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:15.414] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:15.414] future.stdout.windows.reencode = NULL, width = 80L) [13:31:15.414] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:15.414] base::names(...future.oldOptions)) [13:31:15.414] } [13:31:15.414] if (FALSE) { [13:31:15.414] } [13:31:15.414] else { [13:31:15.414] if (FALSE) { [13:31:15.414] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:15.414] open = "w") [13:31:15.414] } [13:31:15.414] else { [13:31:15.414] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:15.414] windows = "NUL", "/dev/null"), open = "w") [13:31:15.414] } [13:31:15.414] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:15.414] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:15.414] base::sink(type = "output", split = FALSE) [13:31:15.414] base::close(...future.stdout) [13:31:15.414] }, add = TRUE) [13:31:15.414] } [13:31:15.414] ...future.frame <- base::sys.nframe() [13:31:15.414] ...future.conditions <- base::list() [13:31:15.414] ...future.rng <- base::globalenv()$.Random.seed [13:31:15.414] if (FALSE) { [13:31:15.414] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:15.414] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:15.414] } [13:31:15.414] ...future.result <- base::tryCatch({ [13:31:15.414] base::withCallingHandlers({ [13:31:15.414] ...future.value <- base::withVisible(base::local({ [13:31:15.414] print(1:50) [13:31:15.414] str(1:50) [13:31:15.414] cat(letters, sep = "-") [13:31:15.414] cat(1:6, collapse = "\n") [13:31:15.414] write.table(datasets::iris[1:10, ], sep = "\t") [13:31:15.414] 42L [13:31:15.414] })) [13:31:15.414] future::FutureResult(value = ...future.value$value, [13:31:15.414] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.414] ...future.rng), globalenv = if (FALSE) [13:31:15.414] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:15.414] ...future.globalenv.names)) [13:31:15.414] else NULL, started = ...future.startTime, version = "1.8") [13:31:15.414] }, condition = base::local({ [13:31:15.414] c <- base::c [13:31:15.414] inherits <- base::inherits [13:31:15.414] invokeRestart <- base::invokeRestart [13:31:15.414] length <- base::length [13:31:15.414] list <- base::list [13:31:15.414] seq.int <- base::seq.int [13:31:15.414] signalCondition <- base::signalCondition [13:31:15.414] sys.calls <- base::sys.calls [13:31:15.414] `[[` <- base::`[[` [13:31:15.414] `+` <- base::`+` [13:31:15.414] `<<-` <- base::`<<-` [13:31:15.414] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:15.414] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:15.414] 3L)] [13:31:15.414] } [13:31:15.414] function(cond) { [13:31:15.414] is_error <- inherits(cond, "error") [13:31:15.414] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:15.414] NULL) [13:31:15.414] if (is_error) { [13:31:15.414] sessionInformation <- function() { [13:31:15.414] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:15.414] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:15.414] search = base::search(), system = base::Sys.info()) [13:31:15.414] } [13:31:15.414] ...future.conditions[[length(...future.conditions) + [13:31:15.414] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:15.414] cond$call), session = sessionInformation(), [13:31:15.414] timestamp = base::Sys.time(), signaled = 0L) [13:31:15.414] signalCondition(cond) [13:31:15.414] } [13:31:15.414] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:15.414] signal <- FALSE && inherits(cond, character(0)) [13:31:15.414] ...future.conditions[[length(...future.conditions) + [13:31:15.414] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:15.414] if (FALSE && !signal) { [13:31:15.414] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.414] { [13:31:15.414] inherits <- base::inherits [13:31:15.414] invokeRestart <- base::invokeRestart [13:31:15.414] is.null <- base::is.null [13:31:15.414] muffled <- FALSE [13:31:15.414] if (inherits(cond, "message")) { [13:31:15.414] muffled <- grepl(pattern, "muffleMessage") [13:31:15.414] if (muffled) [13:31:15.414] invokeRestart("muffleMessage") [13:31:15.414] } [13:31:15.414] else if (inherits(cond, "warning")) { [13:31:15.414] muffled <- grepl(pattern, "muffleWarning") [13:31:15.414] if (muffled) [13:31:15.414] invokeRestart("muffleWarning") [13:31:15.414] } [13:31:15.414] else if (inherits(cond, "condition")) { [13:31:15.414] if (!is.null(pattern)) { [13:31:15.414] computeRestarts <- base::computeRestarts [13:31:15.414] grepl <- base::grepl [13:31:15.414] restarts <- computeRestarts(cond) [13:31:15.414] for (restart in restarts) { [13:31:15.414] name <- restart$name [13:31:15.414] if (is.null(name)) [13:31:15.414] next [13:31:15.414] if (!grepl(pattern, name)) [13:31:15.414] next [13:31:15.414] invokeRestart(restart) [13:31:15.414] muffled <- TRUE [13:31:15.414] break [13:31:15.414] } [13:31:15.414] } [13:31:15.414] } [13:31:15.414] invisible(muffled) [13:31:15.414] } [13:31:15.414] muffleCondition(cond, pattern = "^muffle") [13:31:15.414] } [13:31:15.414] } [13:31:15.414] else { [13:31:15.414] if (TRUE) { [13:31:15.414] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.414] { [13:31:15.414] inherits <- base::inherits [13:31:15.414] invokeRestart <- base::invokeRestart [13:31:15.414] is.null <- base::is.null [13:31:15.414] muffled <- FALSE [13:31:15.414] if (inherits(cond, "message")) { [13:31:15.414] muffled <- grepl(pattern, "muffleMessage") [13:31:15.414] if (muffled) [13:31:15.414] invokeRestart("muffleMessage") [13:31:15.414] } [13:31:15.414] else if (inherits(cond, "warning")) { [13:31:15.414] muffled <- grepl(pattern, "muffleWarning") [13:31:15.414] if (muffled) [13:31:15.414] invokeRestart("muffleWarning") [13:31:15.414] } [13:31:15.414] else if (inherits(cond, "condition")) { [13:31:15.414] if (!is.null(pattern)) { [13:31:15.414] computeRestarts <- base::computeRestarts [13:31:15.414] grepl <- base::grepl [13:31:15.414] restarts <- computeRestarts(cond) [13:31:15.414] for (restart in restarts) { [13:31:15.414] name <- restart$name [13:31:15.414] if (is.null(name)) [13:31:15.414] next [13:31:15.414] if (!grepl(pattern, name)) [13:31:15.414] next [13:31:15.414] invokeRestart(restart) [13:31:15.414] muffled <- TRUE [13:31:15.414] break [13:31:15.414] } [13:31:15.414] } [13:31:15.414] } [13:31:15.414] invisible(muffled) [13:31:15.414] } [13:31:15.414] muffleCondition(cond, pattern = "^muffle") [13:31:15.414] } [13:31:15.414] } [13:31:15.414] } [13:31:15.414] })) [13:31:15.414] }, error = function(ex) { [13:31:15.414] base::structure(base::list(value = NULL, visible = NULL, [13:31:15.414] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.414] ...future.rng), started = ...future.startTime, [13:31:15.414] finished = Sys.time(), session_uuid = NA_character_, [13:31:15.414] version = "1.8"), class = "FutureResult") [13:31:15.414] }, finally = { [13:31:15.414] if (!identical(...future.workdir, getwd())) [13:31:15.414] setwd(...future.workdir) [13:31:15.414] { [13:31:15.414] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:15.414] ...future.oldOptions$nwarnings <- NULL [13:31:15.414] } [13:31:15.414] base::options(...future.oldOptions) [13:31:15.414] if (.Platform$OS.type == "windows") { [13:31:15.414] old_names <- names(...future.oldEnvVars) [13:31:15.414] envs <- base::Sys.getenv() [13:31:15.414] names <- names(envs) [13:31:15.414] common <- intersect(names, old_names) [13:31:15.414] added <- setdiff(names, old_names) [13:31:15.414] removed <- setdiff(old_names, names) [13:31:15.414] changed <- common[...future.oldEnvVars[common] != [13:31:15.414] envs[common]] [13:31:15.414] NAMES <- toupper(changed) [13:31:15.414] args <- list() [13:31:15.414] for (kk in seq_along(NAMES)) { [13:31:15.414] name <- changed[[kk]] [13:31:15.414] NAME <- NAMES[[kk]] [13:31:15.414] if (name != NAME && is.element(NAME, old_names)) [13:31:15.414] next [13:31:15.414] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.414] } [13:31:15.414] NAMES <- toupper(added) [13:31:15.414] for (kk in seq_along(NAMES)) { [13:31:15.414] name <- added[[kk]] [13:31:15.414] NAME <- NAMES[[kk]] [13:31:15.414] if (name != NAME && is.element(NAME, old_names)) [13:31:15.414] next [13:31:15.414] args[[name]] <- "" [13:31:15.414] } [13:31:15.414] NAMES <- toupper(removed) [13:31:15.414] for (kk in seq_along(NAMES)) { [13:31:15.414] name <- removed[[kk]] [13:31:15.414] NAME <- NAMES[[kk]] [13:31:15.414] if (name != NAME && is.element(NAME, old_names)) [13:31:15.414] next [13:31:15.414] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.414] } [13:31:15.414] if (length(args) > 0) [13:31:15.414] base::do.call(base::Sys.setenv, args = args) [13:31:15.414] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:15.414] } [13:31:15.414] else { [13:31:15.414] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:15.414] } [13:31:15.414] { [13:31:15.414] if (base::length(...future.futureOptionsAdded) > [13:31:15.414] 0L) { [13:31:15.414] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:15.414] base::names(opts) <- ...future.futureOptionsAdded [13:31:15.414] base::options(opts) [13:31:15.414] } [13:31:15.414] { [13:31:15.414] NULL [13:31:15.414] options(future.plan = NULL) [13:31:15.414] if (is.na(NA_character_)) [13:31:15.414] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.414] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:15.414] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:15.414] .init = FALSE) [13:31:15.414] } [13:31:15.414] } [13:31:15.414] } [13:31:15.414] }) [13:31:15.414] if (TRUE) { [13:31:15.414] base::sink(type = "output", split = FALSE) [13:31:15.414] if (FALSE) { [13:31:15.414] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:15.414] } [13:31:15.414] else { [13:31:15.414] ...future.result["stdout"] <- base::list(NULL) [13:31:15.414] } [13:31:15.414] base::close(...future.stdout) [13:31:15.414] ...future.stdout <- NULL [13:31:15.414] } [13:31:15.414] ...future.result$conditions <- ...future.conditions [13:31:15.414] ...future.result$finished <- base::Sys.time() [13:31:15.414] ...future.result [13:31:15.414] } [13:31:15.418] - Launch lazy future ... done [13:31:15.418] run() for 'MiraiFuture' ... done List of 11 $ value : int 42 $ visible : logi TRUE $ stdout : NULL $ conditions : list() $ rng : logi FALSE $ globalenv : NULL $ started : POSIXct[1:1], format: "2024-04-16 13:31:15" $ finished : POSIXct[1:1], format: "2024-04-16 13:31:15" $ session_uuid: chr "b3129514-32db-424f-0a2d-e2812d7f5cc9" ..- 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 126548 .. ..$ time : POSIXct[1:1], format: "2024-04-16 13:31:15" .. ..$ random: int 2147483647 $ r_info :List of 4 ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 .. ..$ : int [1:3] 4 4 0 ..$ os : chr "windows" ..$ os_name : chr "Windows" ..$ captures_utf8: logi TRUE $ version : chr "1.8" - attr(*, "class")= chr "FutureResult" [13:31:15.430] getGlobalsAndPackages() ... [13:31:15.430] Searching for globals... [13:31:15.433] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:31:15.434] Searching for globals ... DONE [13:31:15.435] Resolving globals: FALSE [13:31:15.435] [13:31:15.436] - packages: [1] 'utils' [13:31:15.436] getGlobalsAndPackages() ... DONE [13:31:15.436] run() for 'Future' ... [13:31:15.436] - state: 'created' [13:31:15.437] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:15.439] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:15.439] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:15.439] - Field: 'label' [13:31:15.439] - Field: 'local' [13:31:15.440] - Field: 'owner' [13:31:15.440] - Field: 'envir' [13:31:15.440] - Field: 'packages' [13:31:15.440] - Field: 'gc' [13:31:15.440] - Field: 'conditions' [13:31:15.440] - Field: 'expr' [13:31:15.441] - Field: 'uuid' [13:31:15.441] - Field: 'seed' [13:31:15.441] - Field: 'version' [13:31:15.441] - Field: 'result' [13:31:15.441] - Field: 'asynchronous' [13:31:15.441] - Field: 'calls' [13:31:15.442] - Field: 'globals' [13:31:15.442] - Field: 'stdout' [13:31:15.442] - Field: 'earlySignal' [13:31:15.442] - Field: 'lazy' [13:31:15.442] - Field: 'state' [13:31:15.442] - Field: '.cluster' [13:31:15.443] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:15.443] - Launch lazy future ... [13:31:15.443] Packages needed by the future expression (n = 1): 'utils' [13:31:15.443] Packages needed by future strategies (n = 0): [13:31:15.444] { [13:31:15.444] { [13:31:15.444] { [13:31:15.444] ...future.startTime <- base::Sys.time() [13:31:15.444] { [13:31:15.444] { [13:31:15.444] { [13:31:15.444] { [13:31:15.444] base::local({ [13:31:15.444] has_future <- base::requireNamespace("future", [13:31:15.444] quietly = TRUE) [13:31:15.444] if (has_future) { [13:31:15.444] ns <- base::getNamespace("future") [13:31:15.444] version <- ns[[".package"]][["version"]] [13:31:15.444] if (is.null(version)) [13:31:15.444] version <- utils::packageVersion("future") [13:31:15.444] } [13:31:15.444] else { [13:31:15.444] version <- NULL [13:31:15.444] } [13:31:15.444] if (!has_future || version < "1.8.0") { [13:31:15.444] info <- base::c(r_version = base::gsub("R version ", [13:31:15.444] "", base::R.version$version.string), [13:31:15.444] platform = base::sprintf("%s (%s-bit)", [13:31:15.444] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:15.444] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:15.444] "release", "version")], collapse = " "), [13:31:15.444] hostname = base::Sys.info()[["nodename"]]) [13:31:15.444] info <- base::sprintf("%s: %s", base::names(info), [13:31:15.444] info) [13:31:15.444] info <- base::paste(info, collapse = "; ") [13:31:15.444] if (!has_future) { [13:31:15.444] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:15.444] info) [13:31:15.444] } [13:31:15.444] else { [13:31:15.444] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:15.444] info, version) [13:31:15.444] } [13:31:15.444] base::stop(msg) [13:31:15.444] } [13:31:15.444] }) [13:31:15.444] } [13:31:15.444] base::local({ [13:31:15.444] for (pkg in "utils") { [13:31:15.444] base::loadNamespace(pkg) [13:31:15.444] base::library(pkg, character.only = TRUE) [13:31:15.444] } [13:31:15.444] }) [13:31:15.444] } [13:31:15.444] ...future.strategy.old <- future::plan("list") [13:31:15.444] options(future.plan = NULL) [13:31:15.444] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.444] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:15.444] } [13:31:15.444] ...future.workdir <- getwd() [13:31:15.444] } [13:31:15.444] ...future.oldOptions <- base::as.list(base::.Options) [13:31:15.444] ...future.oldEnvVars <- base::Sys.getenv() [13:31:15.444] } [13:31:15.444] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:15.444] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:15.444] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:15.444] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:15.444] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:15.444] future.stdout.windows.reencode = NULL, width = 80L) [13:31:15.444] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:15.444] base::names(...future.oldOptions)) [13:31:15.444] } [13:31:15.444] if (FALSE) { [13:31:15.444] } [13:31:15.444] else { [13:31:15.444] if (FALSE) { [13:31:15.444] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:15.444] open = "w") [13:31:15.444] } [13:31:15.444] else { [13:31:15.444] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:15.444] windows = "NUL", "/dev/null"), open = "w") [13:31:15.444] } [13:31:15.444] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:15.444] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:15.444] base::sink(type = "output", split = FALSE) [13:31:15.444] base::close(...future.stdout) [13:31:15.444] }, add = TRUE) [13:31:15.444] } [13:31:15.444] ...future.frame <- base::sys.nframe() [13:31:15.444] ...future.conditions <- base::list() [13:31:15.444] ...future.rng <- base::globalenv()$.Random.seed [13:31:15.444] if (FALSE) { [13:31:15.444] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:15.444] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:15.444] } [13:31:15.444] ...future.result <- base::tryCatch({ [13:31:15.444] base::withCallingHandlers({ [13:31:15.444] ...future.value <- base::withVisible(base::local({ [13:31:15.444] print(1:50) [13:31:15.444] str(1:50) [13:31:15.444] cat(letters, sep = "-") [13:31:15.444] cat(1:6, collapse = "\n") [13:31:15.444] write.table(datasets::iris[1:10, ], sep = "\t") [13:31:15.444] 42L [13:31:15.444] })) [13:31:15.444] future::FutureResult(value = ...future.value$value, [13:31:15.444] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.444] ...future.rng), globalenv = if (FALSE) [13:31:15.444] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:15.444] ...future.globalenv.names)) [13:31:15.444] else NULL, started = ...future.startTime, version = "1.8") [13:31:15.444] }, condition = base::local({ [13:31:15.444] c <- base::c [13:31:15.444] inherits <- base::inherits [13:31:15.444] invokeRestart <- base::invokeRestart [13:31:15.444] length <- base::length [13:31:15.444] list <- base::list [13:31:15.444] seq.int <- base::seq.int [13:31:15.444] signalCondition <- base::signalCondition [13:31:15.444] sys.calls <- base::sys.calls [13:31:15.444] `[[` <- base::`[[` [13:31:15.444] `+` <- base::`+` [13:31:15.444] `<<-` <- base::`<<-` [13:31:15.444] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:15.444] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:15.444] 3L)] [13:31:15.444] } [13:31:15.444] function(cond) { [13:31:15.444] is_error <- inherits(cond, "error") [13:31:15.444] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:15.444] NULL) [13:31:15.444] if (is_error) { [13:31:15.444] sessionInformation <- function() { [13:31:15.444] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:15.444] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:15.444] search = base::search(), system = base::Sys.info()) [13:31:15.444] } [13:31:15.444] ...future.conditions[[length(...future.conditions) + [13:31:15.444] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:15.444] cond$call), session = sessionInformation(), [13:31:15.444] timestamp = base::Sys.time(), signaled = 0L) [13:31:15.444] signalCondition(cond) [13:31:15.444] } [13:31:15.444] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:15.444] signal <- FALSE && inherits(cond, character(0)) [13:31:15.444] ...future.conditions[[length(...future.conditions) + [13:31:15.444] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:15.444] if (FALSE && !signal) { [13:31:15.444] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.444] { [13:31:15.444] inherits <- base::inherits [13:31:15.444] invokeRestart <- base::invokeRestart [13:31:15.444] is.null <- base::is.null [13:31:15.444] muffled <- FALSE [13:31:15.444] if (inherits(cond, "message")) { [13:31:15.444] muffled <- grepl(pattern, "muffleMessage") [13:31:15.444] if (muffled) [13:31:15.444] invokeRestart("muffleMessage") [13:31:15.444] } [13:31:15.444] else if (inherits(cond, "warning")) { [13:31:15.444] muffled <- grepl(pattern, "muffleWarning") [13:31:15.444] if (muffled) [13:31:15.444] invokeRestart("muffleWarning") [13:31:15.444] } [13:31:15.444] else if (inherits(cond, "condition")) { [13:31:15.444] if (!is.null(pattern)) { [13:31:15.444] computeRestarts <- base::computeRestarts [13:31:15.444] grepl <- base::grepl [13:31:15.444] restarts <- computeRestarts(cond) [13:31:15.444] for (restart in restarts) { [13:31:15.444] name <- restart$name [13:31:15.444] if (is.null(name)) [13:31:15.444] next [13:31:15.444] if (!grepl(pattern, name)) [13:31:15.444] next [13:31:15.444] invokeRestart(restart) [13:31:15.444] muffled <- TRUE [13:31:15.444] break [13:31:15.444] } [13:31:15.444] } [13:31:15.444] } [13:31:15.444] invisible(muffled) [13:31:15.444] } [13:31:15.444] muffleCondition(cond, pattern = "^muffle") [13:31:15.444] } [13:31:15.444] } [13:31:15.444] else { [13:31:15.444] if (TRUE) { [13:31:15.444] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.444] { [13:31:15.444] inherits <- base::inherits [13:31:15.444] invokeRestart <- base::invokeRestart [13:31:15.444] is.null <- base::is.null [13:31:15.444] muffled <- FALSE [13:31:15.444] if (inherits(cond, "message")) { [13:31:15.444] muffled <- grepl(pattern, "muffleMessage") [13:31:15.444] if (muffled) [13:31:15.444] invokeRestart("muffleMessage") [13:31:15.444] } [13:31:15.444] else if (inherits(cond, "warning")) { [13:31:15.444] muffled <- grepl(pattern, "muffleWarning") [13:31:15.444] if (muffled) [13:31:15.444] invokeRestart("muffleWarning") [13:31:15.444] } [13:31:15.444] else if (inherits(cond, "condition")) { [13:31:15.444] if (!is.null(pattern)) { [13:31:15.444] computeRestarts <- base::computeRestarts [13:31:15.444] grepl <- base::grepl [13:31:15.444] restarts <- computeRestarts(cond) [13:31:15.444] for (restart in restarts) { [13:31:15.444] name <- restart$name [13:31:15.444] if (is.null(name)) [13:31:15.444] next [13:31:15.444] if (!grepl(pattern, name)) [13:31:15.444] next [13:31:15.444] invokeRestart(restart) [13:31:15.444] muffled <- TRUE [13:31:15.444] break [13:31:15.444] } [13:31:15.444] } [13:31:15.444] } [13:31:15.444] invisible(muffled) [13:31:15.444] } [13:31:15.444] muffleCondition(cond, pattern = "^muffle") [13:31:15.444] } [13:31:15.444] } [13:31:15.444] } [13:31:15.444] })) [13:31:15.444] }, error = function(ex) { [13:31:15.444] base::structure(base::list(value = NULL, visible = NULL, [13:31:15.444] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.444] ...future.rng), started = ...future.startTime, [13:31:15.444] finished = Sys.time(), session_uuid = NA_character_, [13:31:15.444] version = "1.8"), class = "FutureResult") [13:31:15.444] }, finally = { [13:31:15.444] if (!identical(...future.workdir, getwd())) [13:31:15.444] setwd(...future.workdir) [13:31:15.444] { [13:31:15.444] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:15.444] ...future.oldOptions$nwarnings <- NULL [13:31:15.444] } [13:31:15.444] base::options(...future.oldOptions) [13:31:15.444] if (.Platform$OS.type == "windows") { [13:31:15.444] old_names <- names(...future.oldEnvVars) [13:31:15.444] envs <- base::Sys.getenv() [13:31:15.444] names <- names(envs) [13:31:15.444] common <- intersect(names, old_names) [13:31:15.444] added <- setdiff(names, old_names) [13:31:15.444] removed <- setdiff(old_names, names) [13:31:15.444] changed <- common[...future.oldEnvVars[common] != [13:31:15.444] envs[common]] [13:31:15.444] NAMES <- toupper(changed) [13:31:15.444] args <- list() [13:31:15.444] for (kk in seq_along(NAMES)) { [13:31:15.444] name <- changed[[kk]] [13:31:15.444] NAME <- NAMES[[kk]] [13:31:15.444] if (name != NAME && is.element(NAME, old_names)) [13:31:15.444] next [13:31:15.444] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.444] } [13:31:15.444] NAMES <- toupper(added) [13:31:15.444] for (kk in seq_along(NAMES)) { [13:31:15.444] name <- added[[kk]] [13:31:15.444] NAME <- NAMES[[kk]] [13:31:15.444] if (name != NAME && is.element(NAME, old_names)) [13:31:15.444] next [13:31:15.444] args[[name]] <- "" [13:31:15.444] } [13:31:15.444] NAMES <- toupper(removed) [13:31:15.444] for (kk in seq_along(NAMES)) { [13:31:15.444] name <- removed[[kk]] [13:31:15.444] NAME <- NAMES[[kk]] [13:31:15.444] if (name != NAME && is.element(NAME, old_names)) [13:31:15.444] next [13:31:15.444] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.444] } [13:31:15.444] if (length(args) > 0) [13:31:15.444] base::do.call(base::Sys.setenv, args = args) [13:31:15.444] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:15.444] } [13:31:15.444] else { [13:31:15.444] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:15.444] } [13:31:15.444] { [13:31:15.444] if (base::length(...future.futureOptionsAdded) > [13:31:15.444] 0L) { [13:31:15.444] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:15.444] base::names(opts) <- ...future.futureOptionsAdded [13:31:15.444] base::options(opts) [13:31:15.444] } [13:31:15.444] { [13:31:15.444] NULL [13:31:15.444] options(future.plan = NULL) [13:31:15.444] if (is.na(NA_character_)) [13:31:15.444] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.444] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:15.444] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:15.444] .init = FALSE) [13:31:15.444] } [13:31:15.444] } [13:31:15.444] } [13:31:15.444] }) [13:31:15.444] if (TRUE) { [13:31:15.444] base::sink(type = "output", split = FALSE) [13:31:15.444] if (FALSE) { [13:31:15.444] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:15.444] } [13:31:15.444] else { [13:31:15.444] ...future.result["stdout"] <- base::list(NULL) [13:31:15.444] } [13:31:15.444] base::close(...future.stdout) [13:31:15.444] ...future.stdout <- NULL [13:31:15.444] } [13:31:15.444] ...future.result$conditions <- ...future.conditions [13:31:15.444] ...future.result$finished <- base::Sys.time() [13:31:15.444] ...future.result [13:31:15.444] } [13:31:15.448] - Launch lazy future ... done [13:31:15.448] run() for 'MiraiFuture' ... done - stdout = NA [13:31:15.451] getGlobalsAndPackages() ... [13:31:15.451] Searching for globals... [13:31:15.455] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:31:15.455] Searching for globals ... DONE [13:31:15.455] Resolving globals: FALSE [13:31:15.456] [13:31:15.456] - packages: [1] 'utils' [13:31:15.456] getGlobalsAndPackages() ... DONE [13:31:15.456] run() for 'Future' ... [13:31:15.457] - state: 'created' [13:31:15.457] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:15.459] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:15.459] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:15.460] - Field: 'label' [13:31:15.460] - Field: 'local' [13:31:15.460] - Field: 'owner' [13:31:15.460] - Field: 'envir' [13:31:15.460] - Field: 'packages' [13:31:15.460] - Field: 'gc' [13:31:15.461] - Field: 'conditions' [13:31:15.461] - Field: 'expr' [13:31:15.461] - Field: 'uuid' [13:31:15.461] - Field: 'seed' [13:31:15.461] - Field: 'version' [13:31:15.462] - Field: 'result' [13:31:15.462] - Field: 'asynchronous' [13:31:15.462] - Field: 'calls' [13:31:15.462] - Field: 'globals' [13:31:15.462] - Field: 'stdout' [13:31:15.462] - Field: 'earlySignal' [13:31:15.463] - Field: 'lazy' [13:31:15.463] - Field: 'state' [13:31:15.463] - Field: '.cluster' [13:31:15.463] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:15.463] - Launch lazy future ... [13:31:15.463] Packages needed by the future expression (n = 1): 'utils' [13:31:15.464] Packages needed by future strategies (n = 0): [13:31:15.464] { [13:31:15.464] { [13:31:15.464] { [13:31:15.464] ...future.startTime <- base::Sys.time() [13:31:15.464] { [13:31:15.464] { [13:31:15.464] { [13:31:15.464] { [13:31:15.464] base::local({ [13:31:15.464] has_future <- base::requireNamespace("future", [13:31:15.464] quietly = TRUE) [13:31:15.464] if (has_future) { [13:31:15.464] ns <- base::getNamespace("future") [13:31:15.464] version <- ns[[".package"]][["version"]] [13:31:15.464] if (is.null(version)) [13:31:15.464] version <- utils::packageVersion("future") [13:31:15.464] } [13:31:15.464] else { [13:31:15.464] version <- NULL [13:31:15.464] } [13:31:15.464] if (!has_future || version < "1.8.0") { [13:31:15.464] info <- base::c(r_version = base::gsub("R version ", [13:31:15.464] "", base::R.version$version.string), [13:31:15.464] platform = base::sprintf("%s (%s-bit)", [13:31:15.464] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:15.464] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:15.464] "release", "version")], collapse = " "), [13:31:15.464] hostname = base::Sys.info()[["nodename"]]) [13:31:15.464] info <- base::sprintf("%s: %s", base::names(info), [13:31:15.464] info) [13:31:15.464] info <- base::paste(info, collapse = "; ") [13:31:15.464] if (!has_future) { [13:31:15.464] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:15.464] info) [13:31:15.464] } [13:31:15.464] else { [13:31:15.464] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:15.464] info, version) [13:31:15.464] } [13:31:15.464] base::stop(msg) [13:31:15.464] } [13:31:15.464] }) [13:31:15.464] } [13:31:15.464] base::local({ [13:31:15.464] for (pkg in "utils") { [13:31:15.464] base::loadNamespace(pkg) [13:31:15.464] base::library(pkg, character.only = TRUE) [13:31:15.464] } [13:31:15.464] }) [13:31:15.464] } [13:31:15.464] ...future.strategy.old <- future::plan("list") [13:31:15.464] options(future.plan = NULL) [13:31:15.464] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.464] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:15.464] } [13:31:15.464] ...future.workdir <- getwd() [13:31:15.464] } [13:31:15.464] ...future.oldOptions <- base::as.list(base::.Options) [13:31:15.464] ...future.oldEnvVars <- base::Sys.getenv() [13:31:15.464] } [13:31:15.464] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:15.464] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:15.464] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:15.464] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:15.464] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:15.464] future.stdout.windows.reencode = NULL, width = 80L) [13:31:15.464] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:15.464] base::names(...future.oldOptions)) [13:31:15.464] } [13:31:15.464] if (TRUE) { [13:31:15.464] } [13:31:15.464] else { [13:31:15.464] if (NA) { [13:31:15.464] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:15.464] open = "w") [13:31:15.464] } [13:31:15.464] else { [13:31:15.464] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:15.464] windows = "NUL", "/dev/null"), open = "w") [13:31:15.464] } [13:31:15.464] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:15.464] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:15.464] base::sink(type = "output", split = FALSE) [13:31:15.464] base::close(...future.stdout) [13:31:15.464] }, add = TRUE) [13:31:15.464] } [13:31:15.464] ...future.frame <- base::sys.nframe() [13:31:15.464] ...future.conditions <- base::list() [13:31:15.464] ...future.rng <- base::globalenv()$.Random.seed [13:31:15.464] if (FALSE) { [13:31:15.464] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:15.464] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:15.464] } [13:31:15.464] ...future.result <- base::tryCatch({ [13:31:15.464] base::withCallingHandlers({ [13:31:15.464] ...future.value <- base::withVisible(base::local({ [13:31:15.464] print(1:50) [13:31:15.464] str(1:50) [13:31:15.464] cat(letters, sep = "-") [13:31:15.464] cat(1:6, collapse = "\n") [13:31:15.464] write.table(datasets::iris[1:10, ], sep = "\t") [13:31:15.464] 42L [13:31:15.464] })) [13:31:15.464] future::FutureResult(value = ...future.value$value, [13:31:15.464] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.464] ...future.rng), globalenv = if (FALSE) [13:31:15.464] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:15.464] ...future.globalenv.names)) [13:31:15.464] else NULL, started = ...future.startTime, version = "1.8") [13:31:15.464] }, condition = base::local({ [13:31:15.464] c <- base::c [13:31:15.464] inherits <- base::inherits [13:31:15.464] invokeRestart <- base::invokeRestart [13:31:15.464] length <- base::length [13:31:15.464] list <- base::list [13:31:15.464] seq.int <- base::seq.int [13:31:15.464] signalCondition <- base::signalCondition [13:31:15.464] sys.calls <- base::sys.calls [13:31:15.464] `[[` <- base::`[[` [13:31:15.464] `+` <- base::`+` [13:31:15.464] `<<-` <- base::`<<-` [13:31:15.464] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:15.464] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:15.464] 3L)] [13:31:15.464] } [13:31:15.464] function(cond) { [13:31:15.464] is_error <- inherits(cond, "error") [13:31:15.464] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:15.464] NULL) [13:31:15.464] if (is_error) { [13:31:15.464] sessionInformation <- function() { [13:31:15.464] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:15.464] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:15.464] search = base::search(), system = base::Sys.info()) [13:31:15.464] } [13:31:15.464] ...future.conditions[[length(...future.conditions) + [13:31:15.464] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:15.464] cond$call), session = sessionInformation(), [13:31:15.464] timestamp = base::Sys.time(), signaled = 0L) [13:31:15.464] signalCondition(cond) [13:31:15.464] } [13:31:15.464] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:15.464] signal <- FALSE && inherits(cond, character(0)) [13:31:15.464] ...future.conditions[[length(...future.conditions) + [13:31:15.464] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:15.464] if (FALSE && !signal) { [13:31:15.464] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.464] { [13:31:15.464] inherits <- base::inherits [13:31:15.464] invokeRestart <- base::invokeRestart [13:31:15.464] is.null <- base::is.null [13:31:15.464] muffled <- FALSE [13:31:15.464] if (inherits(cond, "message")) { [13:31:15.464] muffled <- grepl(pattern, "muffleMessage") [13:31:15.464] if (muffled) [13:31:15.464] invokeRestart("muffleMessage") [13:31:15.464] } [13:31:15.464] else if (inherits(cond, "warning")) { [13:31:15.464] muffled <- grepl(pattern, "muffleWarning") [13:31:15.464] if (muffled) [13:31:15.464] invokeRestart("muffleWarning") [13:31:15.464] } [13:31:15.464] else if (inherits(cond, "condition")) { [13:31:15.464] if (!is.null(pattern)) { [13:31:15.464] computeRestarts <- base::computeRestarts [13:31:15.464] grepl <- base::grepl [13:31:15.464] restarts <- computeRestarts(cond) [13:31:15.464] for (restart in restarts) { [13:31:15.464] name <- restart$name [13:31:15.464] if (is.null(name)) [13:31:15.464] next [13:31:15.464] if (!grepl(pattern, name)) [13:31:15.464] next [13:31:15.464] invokeRestart(restart) [13:31:15.464] muffled <- TRUE [13:31:15.464] break [13:31:15.464] } [13:31:15.464] } [13:31:15.464] } [13:31:15.464] invisible(muffled) [13:31:15.464] } [13:31:15.464] muffleCondition(cond, pattern = "^muffle") [13:31:15.464] } [13:31:15.464] } [13:31:15.464] else { [13:31:15.464] if (TRUE) { [13:31:15.464] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.464] { [13:31:15.464] inherits <- base::inherits [13:31:15.464] invokeRestart <- base::invokeRestart [13:31:15.464] is.null <- base::is.null [13:31:15.464] muffled <- FALSE [13:31:15.464] if (inherits(cond, "message")) { [13:31:15.464] muffled <- grepl(pattern, "muffleMessage") [13:31:15.464] if (muffled) [13:31:15.464] invokeRestart("muffleMessage") [13:31:15.464] } [13:31:15.464] else if (inherits(cond, "warning")) { [13:31:15.464] muffled <- grepl(pattern, "muffleWarning") [13:31:15.464] if (muffled) [13:31:15.464] invokeRestart("muffleWarning") [13:31:15.464] } [13:31:15.464] else if (inherits(cond, "condition")) { [13:31:15.464] if (!is.null(pattern)) { [13:31:15.464] computeRestarts <- base::computeRestarts [13:31:15.464] grepl <- base::grepl [13:31:15.464] restarts <- computeRestarts(cond) [13:31:15.464] for (restart in restarts) { [13:31:15.464] name <- restart$name [13:31:15.464] if (is.null(name)) [13:31:15.464] next [13:31:15.464] if (!grepl(pattern, name)) [13:31:15.464] next [13:31:15.464] invokeRestart(restart) [13:31:15.464] muffled <- TRUE [13:31:15.464] break [13:31:15.464] } [13:31:15.464] } [13:31:15.464] } [13:31:15.464] invisible(muffled) [13:31:15.464] } [13:31:15.464] muffleCondition(cond, pattern = "^muffle") [13:31:15.464] } [13:31:15.464] } [13:31:15.464] } [13:31:15.464] })) [13:31:15.464] }, error = function(ex) { [13:31:15.464] base::structure(base::list(value = NULL, visible = NULL, [13:31:15.464] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.464] ...future.rng), started = ...future.startTime, [13:31:15.464] finished = Sys.time(), session_uuid = NA_character_, [13:31:15.464] version = "1.8"), class = "FutureResult") [13:31:15.464] }, finally = { [13:31:15.464] if (!identical(...future.workdir, getwd())) [13:31:15.464] setwd(...future.workdir) [13:31:15.464] { [13:31:15.464] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:15.464] ...future.oldOptions$nwarnings <- NULL [13:31:15.464] } [13:31:15.464] base::options(...future.oldOptions) [13:31:15.464] if (.Platform$OS.type == "windows") { [13:31:15.464] old_names <- names(...future.oldEnvVars) [13:31:15.464] envs <- base::Sys.getenv() [13:31:15.464] names <- names(envs) [13:31:15.464] common <- intersect(names, old_names) [13:31:15.464] added <- setdiff(names, old_names) [13:31:15.464] removed <- setdiff(old_names, names) [13:31:15.464] changed <- common[...future.oldEnvVars[common] != [13:31:15.464] envs[common]] [13:31:15.464] NAMES <- toupper(changed) [13:31:15.464] args <- list() [13:31:15.464] for (kk in seq_along(NAMES)) { [13:31:15.464] name <- changed[[kk]] [13:31:15.464] NAME <- NAMES[[kk]] [13:31:15.464] if (name != NAME && is.element(NAME, old_names)) [13:31:15.464] next [13:31:15.464] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.464] } [13:31:15.464] NAMES <- toupper(added) [13:31:15.464] for (kk in seq_along(NAMES)) { [13:31:15.464] name <- added[[kk]] [13:31:15.464] NAME <- NAMES[[kk]] [13:31:15.464] if (name != NAME && is.element(NAME, old_names)) [13:31:15.464] next [13:31:15.464] args[[name]] <- "" [13:31:15.464] } [13:31:15.464] NAMES <- toupper(removed) [13:31:15.464] for (kk in seq_along(NAMES)) { [13:31:15.464] name <- removed[[kk]] [13:31:15.464] NAME <- NAMES[[kk]] [13:31:15.464] if (name != NAME && is.element(NAME, old_names)) [13:31:15.464] next [13:31:15.464] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.464] } [13:31:15.464] if (length(args) > 0) [13:31:15.464] base::do.call(base::Sys.setenv, args = args) [13:31:15.464] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:15.464] } [13:31:15.464] else { [13:31:15.464] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:15.464] } [13:31:15.464] { [13:31:15.464] if (base::length(...future.futureOptionsAdded) > [13:31:15.464] 0L) { [13:31:15.464] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:15.464] base::names(opts) <- ...future.futureOptionsAdded [13:31:15.464] base::options(opts) [13:31:15.464] } [13:31:15.464] { [13:31:15.464] NULL [13:31:15.464] options(future.plan = NULL) [13:31:15.464] if (is.na(NA_character_)) [13:31:15.464] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.464] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:15.464] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:15.464] .init = FALSE) [13:31:15.464] } [13:31:15.464] } [13:31:15.464] } [13:31:15.464] }) [13:31:15.464] if (FALSE) { [13:31:15.464] base::sink(type = "output", split = FALSE) [13:31:15.464] if (NA) { [13:31:15.464] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:15.464] } [13:31:15.464] else { [13:31:15.464] ...future.result["stdout"] <- base::list(NULL) [13:31:15.464] } [13:31:15.464] base::close(...future.stdout) [13:31:15.464] ...future.stdout <- NULL [13:31:15.464] } [13:31:15.464] ...future.result$conditions <- ...future.conditions [13:31:15.464] ...future.result$finished <- base::Sys.time() [13:31:15.464] ...future.result [13:31:15.464] } [13:31:15.468] - Launch lazy future ... done [13:31:15.468] run() for 'MiraiFuture' ... done List of 11 $ value : int 42 $ visible : logi TRUE $ stdout : NULL $ conditions : list() $ rng : logi FALSE $ globalenv : NULL $ started : POSIXct[1:1], format: "2024-04-16 13:31:15" $ finished : POSIXct[1:1], format: "2024-04-16 13:31:15" $ session_uuid: chr "b3129514-32db-424f-0a2d-e2812d7f5cc9" ..- 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 126548 .. ..$ time : POSIXct[1:1], format: "2024-04-16 13:31:15" .. ..$ random: int 2147483647 $ r_info :List of 4 ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 .. ..$ : int [1:3] 4 4 0 ..$ os : chr "windows" ..$ os_name : chr "Windows" ..$ captures_utf8: logi TRUE $ version : chr "1.8" - attr(*, "class")= chr "FutureResult" [13:31:15.481] getGlobalsAndPackages() ... [13:31:15.481] Searching for globals... [13:31:15.485] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [13:31:15.485] Searching for globals ... DONE [13:31:15.485] Resolving globals: FALSE [13:31:15.486] [13:31:15.486] - packages: [1] 'utils' [13:31:15.486] getGlobalsAndPackages() ... DONE [13:31:15.486] run() for 'Future' ... [13:31:15.487] - state: 'created' [13:31:15.487] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:15.489] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:15.489] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:15.489] - Field: 'label' [13:31:15.490] - Field: 'local' [13:31:15.490] - Field: 'owner' [13:31:15.490] - Field: 'envir' [13:31:15.490] - Field: 'packages' [13:31:15.490] - Field: 'gc' [13:31:15.490] - Field: 'conditions' [13:31:15.491] - Field: 'expr' [13:31:15.491] - Field: 'uuid' [13:31:15.491] - Field: 'seed' [13:31:15.491] - Field: 'version' [13:31:15.491] - Field: 'result' [13:31:15.492] - Field: 'asynchronous' [13:31:15.492] - Field: 'calls' [13:31:15.492] - Field: 'globals' [13:31:15.492] - Field: 'stdout' [13:31:15.492] - Field: 'earlySignal' [13:31:15.492] - Field: 'lazy' [13:31:15.493] - Field: 'state' [13:31:15.493] - Field: '.cluster' [13:31:15.493] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:15.493] - Launch lazy future ... [13:31:15.493] Packages needed by the future expression (n = 1): 'utils' [13:31:15.493] Packages needed by future strategies (n = 0): [13:31:15.494] { [13:31:15.494] { [13:31:15.494] { [13:31:15.494] ...future.startTime <- base::Sys.time() [13:31:15.494] { [13:31:15.494] { [13:31:15.494] { [13:31:15.494] { [13:31:15.494] base::local({ [13:31:15.494] has_future <- base::requireNamespace("future", [13:31:15.494] quietly = TRUE) [13:31:15.494] if (has_future) { [13:31:15.494] ns <- base::getNamespace("future") [13:31:15.494] version <- ns[[".package"]][["version"]] [13:31:15.494] if (is.null(version)) [13:31:15.494] version <- utils::packageVersion("future") [13:31:15.494] } [13:31:15.494] else { [13:31:15.494] version <- NULL [13:31:15.494] } [13:31:15.494] if (!has_future || version < "1.8.0") { [13:31:15.494] info <- base::c(r_version = base::gsub("R version ", [13:31:15.494] "", base::R.version$version.string), [13:31:15.494] platform = base::sprintf("%s (%s-bit)", [13:31:15.494] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:15.494] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:15.494] "release", "version")], collapse = " "), [13:31:15.494] hostname = base::Sys.info()[["nodename"]]) [13:31:15.494] info <- base::sprintf("%s: %s", base::names(info), [13:31:15.494] info) [13:31:15.494] info <- base::paste(info, collapse = "; ") [13:31:15.494] if (!has_future) { [13:31:15.494] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:15.494] info) [13:31:15.494] } [13:31:15.494] else { [13:31:15.494] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:15.494] info, version) [13:31:15.494] } [13:31:15.494] base::stop(msg) [13:31:15.494] } [13:31:15.494] }) [13:31:15.494] } [13:31:15.494] base::local({ [13:31:15.494] for (pkg in "utils") { [13:31:15.494] base::loadNamespace(pkg) [13:31:15.494] base::library(pkg, character.only = TRUE) [13:31:15.494] } [13:31:15.494] }) [13:31:15.494] } [13:31:15.494] ...future.strategy.old <- future::plan("list") [13:31:15.494] options(future.plan = NULL) [13:31:15.494] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.494] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:15.494] } [13:31:15.494] ...future.workdir <- getwd() [13:31:15.494] } [13:31:15.494] ...future.oldOptions <- base::as.list(base::.Options) [13:31:15.494] ...future.oldEnvVars <- base::Sys.getenv() [13:31:15.494] } [13:31:15.494] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:15.494] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:15.494] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:15.494] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:15.494] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:15.494] future.stdout.windows.reencode = NULL, width = 80L) [13:31:15.494] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:15.494] base::names(...future.oldOptions)) [13:31:15.494] } [13:31:15.494] if (TRUE) { [13:31:15.494] } [13:31:15.494] else { [13:31:15.494] if (NA) { [13:31:15.494] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:15.494] open = "w") [13:31:15.494] } [13:31:15.494] else { [13:31:15.494] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:15.494] windows = "NUL", "/dev/null"), open = "w") [13:31:15.494] } [13:31:15.494] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:15.494] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:15.494] base::sink(type = "output", split = FALSE) [13:31:15.494] base::close(...future.stdout) [13:31:15.494] }, add = TRUE) [13:31:15.494] } [13:31:15.494] ...future.frame <- base::sys.nframe() [13:31:15.494] ...future.conditions <- base::list() [13:31:15.494] ...future.rng <- base::globalenv()$.Random.seed [13:31:15.494] if (FALSE) { [13:31:15.494] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:15.494] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:15.494] } [13:31:15.494] ...future.result <- base::tryCatch({ [13:31:15.494] base::withCallingHandlers({ [13:31:15.494] ...future.value <- base::withVisible(base::local({ [13:31:15.494] print(1:50) [13:31:15.494] str(1:50) [13:31:15.494] cat(letters, sep = "-") [13:31:15.494] cat(1:6, collapse = "\n") [13:31:15.494] write.table(datasets::iris[1:10, ], sep = "\t") [13:31:15.494] 42L [13:31:15.494] })) [13:31:15.494] future::FutureResult(value = ...future.value$value, [13:31:15.494] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.494] ...future.rng), globalenv = if (FALSE) [13:31:15.494] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:15.494] ...future.globalenv.names)) [13:31:15.494] else NULL, started = ...future.startTime, version = "1.8") [13:31:15.494] }, condition = base::local({ [13:31:15.494] c <- base::c [13:31:15.494] inherits <- base::inherits [13:31:15.494] invokeRestart <- base::invokeRestart [13:31:15.494] length <- base::length [13:31:15.494] list <- base::list [13:31:15.494] seq.int <- base::seq.int [13:31:15.494] signalCondition <- base::signalCondition [13:31:15.494] sys.calls <- base::sys.calls [13:31:15.494] `[[` <- base::`[[` [13:31:15.494] `+` <- base::`+` [13:31:15.494] `<<-` <- base::`<<-` [13:31:15.494] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:15.494] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:15.494] 3L)] [13:31:15.494] } [13:31:15.494] function(cond) { [13:31:15.494] is_error <- inherits(cond, "error") [13:31:15.494] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:15.494] NULL) [13:31:15.494] if (is_error) { [13:31:15.494] sessionInformation <- function() { [13:31:15.494] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:15.494] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:15.494] search = base::search(), system = base::Sys.info()) [13:31:15.494] } [13:31:15.494] ...future.conditions[[length(...future.conditions) + [13:31:15.494] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:15.494] cond$call), session = sessionInformation(), [13:31:15.494] timestamp = base::Sys.time(), signaled = 0L) [13:31:15.494] signalCondition(cond) [13:31:15.494] } [13:31:15.494] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:15.494] signal <- FALSE && inherits(cond, character(0)) [13:31:15.494] ...future.conditions[[length(...future.conditions) + [13:31:15.494] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:15.494] if (FALSE && !signal) { [13:31:15.494] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.494] { [13:31:15.494] inherits <- base::inherits [13:31:15.494] invokeRestart <- base::invokeRestart [13:31:15.494] is.null <- base::is.null [13:31:15.494] muffled <- FALSE [13:31:15.494] if (inherits(cond, "message")) { [13:31:15.494] muffled <- grepl(pattern, "muffleMessage") [13:31:15.494] if (muffled) [13:31:15.494] invokeRestart("muffleMessage") [13:31:15.494] } [13:31:15.494] else if (inherits(cond, "warning")) { [13:31:15.494] muffled <- grepl(pattern, "muffleWarning") [13:31:15.494] if (muffled) [13:31:15.494] invokeRestart("muffleWarning") [13:31:15.494] } [13:31:15.494] else if (inherits(cond, "condition")) { [13:31:15.494] if (!is.null(pattern)) { [13:31:15.494] computeRestarts <- base::computeRestarts [13:31:15.494] grepl <- base::grepl [13:31:15.494] restarts <- computeRestarts(cond) [13:31:15.494] for (restart in restarts) { [13:31:15.494] name <- restart$name [13:31:15.494] if (is.null(name)) [13:31:15.494] next [13:31:15.494] if (!grepl(pattern, name)) [13:31:15.494] next [13:31:15.494] invokeRestart(restart) [13:31:15.494] muffled <- TRUE [13:31:15.494] break [13:31:15.494] } [13:31:15.494] } [13:31:15.494] } [13:31:15.494] invisible(muffled) [13:31:15.494] } [13:31:15.494] muffleCondition(cond, pattern = "^muffle") [13:31:15.494] } [13:31:15.494] } [13:31:15.494] else { [13:31:15.494] if (TRUE) { [13:31:15.494] muffleCondition <- function (cond, pattern = "^muffle") [13:31:15.494] { [13:31:15.494] inherits <- base::inherits [13:31:15.494] invokeRestart <- base::invokeRestart [13:31:15.494] is.null <- base::is.null [13:31:15.494] muffled <- FALSE [13:31:15.494] if (inherits(cond, "message")) { [13:31:15.494] muffled <- grepl(pattern, "muffleMessage") [13:31:15.494] if (muffled) [13:31:15.494] invokeRestart("muffleMessage") [13:31:15.494] } [13:31:15.494] else if (inherits(cond, "warning")) { [13:31:15.494] muffled <- grepl(pattern, "muffleWarning") [13:31:15.494] if (muffled) [13:31:15.494] invokeRestart("muffleWarning") [13:31:15.494] } [13:31:15.494] else if (inherits(cond, "condition")) { [13:31:15.494] if (!is.null(pattern)) { [13:31:15.494] computeRestarts <- base::computeRestarts [13:31:15.494] grepl <- base::grepl [13:31:15.494] restarts <- computeRestarts(cond) [13:31:15.494] for (restart in restarts) { [13:31:15.494] name <- restart$name [13:31:15.494] if (is.null(name)) [13:31:15.494] next [13:31:15.494] if (!grepl(pattern, name)) [13:31:15.494] next [13:31:15.494] invokeRestart(restart) [13:31:15.494] muffled <- TRUE [13:31:15.494] break [13:31:15.494] } [13:31:15.494] } [13:31:15.494] } [13:31:15.494] invisible(muffled) [13:31:15.494] } [13:31:15.494] muffleCondition(cond, pattern = "^muffle") [13:31:15.494] } [13:31:15.494] } [13:31:15.494] } [13:31:15.494] })) [13:31:15.494] }, error = function(ex) { [13:31:15.494] base::structure(base::list(value = NULL, visible = NULL, [13:31:15.494] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:15.494] ...future.rng), started = ...future.startTime, [13:31:15.494] finished = Sys.time(), session_uuid = NA_character_, [13:31:15.494] version = "1.8"), class = "FutureResult") [13:31:15.494] }, finally = { [13:31:15.494] if (!identical(...future.workdir, getwd())) [13:31:15.494] setwd(...future.workdir) [13:31:15.494] { [13:31:15.494] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:15.494] ...future.oldOptions$nwarnings <- NULL [13:31:15.494] } [13:31:15.494] base::options(...future.oldOptions) [13:31:15.494] if (.Platform$OS.type == "windows") { [13:31:15.494] old_names <- names(...future.oldEnvVars) [13:31:15.494] envs <- base::Sys.getenv() [13:31:15.494] names <- names(envs) [13:31:15.494] common <- intersect(names, old_names) [13:31:15.494] added <- setdiff(names, old_names) [13:31:15.494] removed <- setdiff(old_names, names) [13:31:15.494] changed <- common[...future.oldEnvVars[common] != [13:31:15.494] envs[common]] [13:31:15.494] NAMES <- toupper(changed) [13:31:15.494] args <- list() [13:31:15.494] for (kk in seq_along(NAMES)) { [13:31:15.494] name <- changed[[kk]] [13:31:15.494] NAME <- NAMES[[kk]] [13:31:15.494] if (name != NAME && is.element(NAME, old_names)) [13:31:15.494] next [13:31:15.494] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.494] } [13:31:15.494] NAMES <- toupper(added) [13:31:15.494] for (kk in seq_along(NAMES)) { [13:31:15.494] name <- added[[kk]] [13:31:15.494] NAME <- NAMES[[kk]] [13:31:15.494] if (name != NAME && is.element(NAME, old_names)) [13:31:15.494] next [13:31:15.494] args[[name]] <- "" [13:31:15.494] } [13:31:15.494] NAMES <- toupper(removed) [13:31:15.494] for (kk in seq_along(NAMES)) { [13:31:15.494] name <- removed[[kk]] [13:31:15.494] NAME <- NAMES[[kk]] [13:31:15.494] if (name != NAME && is.element(NAME, old_names)) [13:31:15.494] next [13:31:15.494] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:15.494] } [13:31:15.494] if (length(args) > 0) [13:31:15.494] base::do.call(base::Sys.setenv, args = args) [13:31:15.494] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:15.494] } [13:31:15.494] else { [13:31:15.494] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:15.494] } [13:31:15.494] { [13:31:15.494] if (base::length(...future.futureOptionsAdded) > [13:31:15.494] 0L) { [13:31:15.494] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:15.494] base::names(opts) <- ...future.futureOptionsAdded [13:31:15.494] base::options(opts) [13:31:15.494] } [13:31:15.494] { [13:31:15.494] NULL [13:31:15.494] options(future.plan = NULL) [13:31:15.494] if (is.na(NA_character_)) [13:31:15.494] Sys.unsetenv("R_FUTURE_PLAN") [13:31:15.494] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:15.494] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:15.494] .init = FALSE) [13:31:15.494] } [13:31:15.494] } [13:31:15.494] } [13:31:15.494] }) [13:31:15.494] if (FALSE) { [13:31:15.494] base::sink(type = "output", split = FALSE) [13:31:15.494] if (NA) { [13:31:15.494] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:15.494] } [13:31:15.494] else { [13:31:15.494] ...future.result["stdout"] <- base::list(NULL) [13:31:15.494] } [13:31:15.494] base::close(...future.stdout) [13:31:15.494] ...future.stdout <- NULL [13:31:15.494] } [13:31:15.494] ...future.result$conditions <- ...future.conditions [13:31:15.494] ...future.result$finished <- base::Sys.time() [13:31:15.494] ...future.result [13:31:15.494] } [13:31:15.498] - Launch lazy future ... done [13:31:15.498] run() for 'MiraiFuture' ... done > > message("mirai_multisession ... DONE") mirai_multisession ... DONE > > message("*** Standard output ... DONE") *** Standard output ... DONE > > source("incl/end.R") > > proc.time() user system elapsed 0.50 0.14 1.07