R Under development (unstable) (2023-06-30 r84625 ucrt) -- "Unsuffered Consequences" Copyright (C) 2023 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") [18:03:25.508] plan(): Setting new future strategy stack: [18:03:25.509] List of future strategies: [18:03:25.509] 1. sequential: [18:03:25.509] - args: function (..., envir = parent.frame()) [18:03:25.509] - tweaked: FALSE [18:03:25.509] - call: future::plan("sequential") [18:03:25.525] plan(): nbrOfWorkers() = 1 > > 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" > > for (cores in seq_len(min(2L, availCores))) { + message(sprintf("Testing with %d cores ...", cores)) + options(mc.cores = cores) + + for (strategy in supportedStrategies(cores)) { + message(sprintf("%s ...", strategy)) + plan(strategy) + + 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) || 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)) { + ## Single-core multisession => sequential + if (cores > 1L || strategy != "multisession") { + stopifnot(out == "") + } + } else if (stdout) { + print(out) + stopifnot(identical(out, truth_rows)) + } else { + stopifnot(out == "") + } + + message("- stdout = structure(TRUE, drop = TRUE)") + f <- future(print(42), stdout = structure(TRUE, drop = TRUE)) + r <- result(f) + stopifnot(inherits(r$stdout, "character")) + v <- value(f) + r <- result(f) + stopifnot(is.null(r$stdout)) + } ## for (stdout ...) + + message(sprintf("%s ... done", strategy)) + } ## for (strategy ...) + + message(sprintf("Testing with %d cores ... done", cores)) + } ## for (cores ...) Testing with 1 cores ... sequential ... [18:03:25.579] plan(): Setting new future strategy stack: [18:03:25.579] List of future strategies: [18:03:25.579] 1. sequential: [18:03:25.579] - args: function (..., envir = parent.frame()) [18:03:25.579] - tweaked: FALSE [18:03:25.579] - call: plan(strategy) [18:03:25.593] plan(): nbrOfWorkers() = 1 - stdout = TRUE [18:03:25.594] getGlobalsAndPackages() ... [18:03:25.594] Searching for globals... [18:03:25.604] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [18:03:25.604] Searching for globals ... DONE [18:03:25.605] Resolving globals: FALSE [18:03:25.606] [18:03:25.606] - packages: [1] 'utils' [18:03:25.606] getGlobalsAndPackages() ... DONE [18:03:25.607] run() for 'Future' ... [18:03:25.607] - state: 'created' [18:03:25.607] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:03:25.608] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:03:25.608] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:03:25.608] - Field: 'label' [18:03:25.608] - Field: 'local' [18:03:25.609] - Field: 'owner' [18:03:25.609] - Field: 'envir' [18:03:25.609] - Field: 'packages' [18:03:25.609] - Field: 'gc' [18:03:25.609] - Field: 'conditions' [18:03:25.609] - Field: 'expr' [18:03:25.610] - Field: 'uuid' [18:03:25.610] - Field: 'seed' [18:03:25.610] - Field: 'version' [18:03:25.610] - Field: 'result' [18:03:25.610] - Field: 'asynchronous' [18:03:25.611] - Field: 'calls' [18:03:25.611] - Field: 'globals' [18:03:25.611] - Field: 'stdout' [18:03:25.611] - Field: 'earlySignal' [18:03:25.611] - Field: 'lazy' [18:03:25.611] - Field: 'state' [18:03:25.612] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:03:25.612] - Launch lazy future ... [18:03:25.613] Packages needed by the future expression (n = 1): 'utils' [18:03:25.613] Packages needed by future strategies (n = 0): [18:03:25.614] { [18:03:25.614] { [18:03:25.614] { [18:03:25.614] ...future.startTime <- base::Sys.time() [18:03:25.614] { [18:03:25.614] { [18:03:25.614] { [18:03:25.614] { [18:03:25.614] base::local({ [18:03:25.614] has_future <- base::requireNamespace("future", [18:03:25.614] quietly = TRUE) [18:03:25.614] if (has_future) { [18:03:25.614] ns <- base::getNamespace("future") [18:03:25.614] version <- ns[[".package"]][["version"]] [18:03:25.614] if (is.null(version)) [18:03:25.614] version <- utils::packageVersion("future") [18:03:25.614] } [18:03:25.614] else { [18:03:25.614] version <- NULL [18:03:25.614] } [18:03:25.614] if (!has_future || version < "1.8.0") { [18:03:25.614] info <- base::c(r_version = base::gsub("R version ", [18:03:25.614] "", base::R.version$version.string), [18:03:25.614] platform = base::sprintf("%s (%s-bit)", [18:03:25.614] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:25.614] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:25.614] "release", "version")], collapse = " "), [18:03:25.614] hostname = base::Sys.info()[["nodename"]]) [18:03:25.614] info <- base::sprintf("%s: %s", base::names(info), [18:03:25.614] info) [18:03:25.614] info <- base::paste(info, collapse = "; ") [18:03:25.614] if (!has_future) { [18:03:25.614] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:25.614] info) [18:03:25.614] } [18:03:25.614] else { [18:03:25.614] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:25.614] info, version) [18:03:25.614] } [18:03:25.614] base::stop(msg) [18:03:25.614] } [18:03:25.614] }) [18:03:25.614] } [18:03:25.614] base::local({ [18:03:25.614] for (pkg in "utils") { [18:03:25.614] base::loadNamespace(pkg) [18:03:25.614] base::library(pkg, character.only = TRUE) [18:03:25.614] } [18:03:25.614] }) [18:03:25.614] } [18:03:25.614] options(future.plan = NULL) [18:03:25.614] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.614] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:25.614] } [18:03:25.614] ...future.workdir <- getwd() [18:03:25.614] } [18:03:25.614] ...future.oldOptions <- base::as.list(base::.Options) [18:03:25.614] ...future.oldEnvVars <- base::Sys.getenv() [18:03:25.614] } [18:03:25.614] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:25.614] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:25.614] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:25.614] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:25.614] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:25.614] future.stdout.windows.reencode = NULL, width = 80L) [18:03:25.614] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:25.614] base::names(...future.oldOptions)) [18:03:25.614] } [18:03:25.614] if (FALSE) { [18:03:25.614] } [18:03:25.614] else { [18:03:25.614] if (TRUE) { [18:03:25.614] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:25.614] open = "w") [18:03:25.614] } [18:03:25.614] else { [18:03:25.614] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:25.614] windows = "NUL", "/dev/null"), open = "w") [18:03:25.614] } [18:03:25.614] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:25.614] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:25.614] base::sink(type = "output", split = FALSE) [18:03:25.614] base::close(...future.stdout) [18:03:25.614] }, add = TRUE) [18:03:25.614] } [18:03:25.614] ...future.frame <- base::sys.nframe() [18:03:25.614] ...future.conditions <- base::list() [18:03:25.614] ...future.rng <- base::globalenv()$.Random.seed [18:03:25.614] if (FALSE) { [18:03:25.614] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:25.614] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:25.614] } [18:03:25.614] ...future.result <- base::tryCatch({ [18:03:25.614] base::withCallingHandlers({ [18:03:25.614] ...future.value <- base::withVisible(base::local({ [18:03:25.614] print(1:50) [18:03:25.614] str(1:50) [18:03:25.614] cat(letters, sep = "-") [18:03:25.614] cat(1:6, collapse = "\n") [18:03:25.614] write.table(datasets::iris[1:10, ], sep = "\t") [18:03:25.614] 42L [18:03:25.614] })) [18:03:25.614] future::FutureResult(value = ...future.value$value, [18:03:25.614] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.614] ...future.rng), globalenv = if (FALSE) [18:03:25.614] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:25.614] ...future.globalenv.names)) [18:03:25.614] else NULL, started = ...future.startTime, version = "1.8") [18:03:25.614] }, condition = base::local({ [18:03:25.614] c <- base::c [18:03:25.614] inherits <- base::inherits [18:03:25.614] invokeRestart <- base::invokeRestart [18:03:25.614] length <- base::length [18:03:25.614] list <- base::list [18:03:25.614] seq.int <- base::seq.int [18:03:25.614] signalCondition <- base::signalCondition [18:03:25.614] sys.calls <- base::sys.calls [18:03:25.614] `[[` <- base::`[[` [18:03:25.614] `+` <- base::`+` [18:03:25.614] `<<-` <- base::`<<-` [18:03:25.614] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:25.614] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:25.614] 3L)] [18:03:25.614] } [18:03:25.614] function(cond) { [18:03:25.614] is_error <- inherits(cond, "error") [18:03:25.614] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:25.614] NULL) [18:03:25.614] if (is_error) { [18:03:25.614] sessionInformation <- function() { [18:03:25.614] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:25.614] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:25.614] search = base::search(), system = base::Sys.info()) [18:03:25.614] } [18:03:25.614] ...future.conditions[[length(...future.conditions) + [18:03:25.614] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:25.614] cond$call), session = sessionInformation(), [18:03:25.614] timestamp = base::Sys.time(), signaled = 0L) [18:03:25.614] signalCondition(cond) [18:03:25.614] } [18:03:25.614] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:25.614] "immediateCondition"))) { [18:03:25.614] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:25.614] ...future.conditions[[length(...future.conditions) + [18:03:25.614] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:25.614] if (TRUE && !signal) { [18:03:25.614] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.614] { [18:03:25.614] inherits <- base::inherits [18:03:25.614] invokeRestart <- base::invokeRestart [18:03:25.614] is.null <- base::is.null [18:03:25.614] muffled <- FALSE [18:03:25.614] if (inherits(cond, "message")) { [18:03:25.614] muffled <- grepl(pattern, "muffleMessage") [18:03:25.614] if (muffled) [18:03:25.614] invokeRestart("muffleMessage") [18:03:25.614] } [18:03:25.614] else if (inherits(cond, "warning")) { [18:03:25.614] muffled <- grepl(pattern, "muffleWarning") [18:03:25.614] if (muffled) [18:03:25.614] invokeRestart("muffleWarning") [18:03:25.614] } [18:03:25.614] else if (inherits(cond, "condition")) { [18:03:25.614] if (!is.null(pattern)) { [18:03:25.614] computeRestarts <- base::computeRestarts [18:03:25.614] grepl <- base::grepl [18:03:25.614] restarts <- computeRestarts(cond) [18:03:25.614] for (restart in restarts) { [18:03:25.614] name <- restart$name [18:03:25.614] if (is.null(name)) [18:03:25.614] next [18:03:25.614] if (!grepl(pattern, name)) [18:03:25.614] next [18:03:25.614] invokeRestart(restart) [18:03:25.614] muffled <- TRUE [18:03:25.614] break [18:03:25.614] } [18:03:25.614] } [18:03:25.614] } [18:03:25.614] invisible(muffled) [18:03:25.614] } [18:03:25.614] muffleCondition(cond, pattern = "^muffle") [18:03:25.614] } [18:03:25.614] } [18:03:25.614] else { [18:03:25.614] if (TRUE) { [18:03:25.614] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.614] { [18:03:25.614] inherits <- base::inherits [18:03:25.614] invokeRestart <- base::invokeRestart [18:03:25.614] is.null <- base::is.null [18:03:25.614] muffled <- FALSE [18:03:25.614] if (inherits(cond, "message")) { [18:03:25.614] muffled <- grepl(pattern, "muffleMessage") [18:03:25.614] if (muffled) [18:03:25.614] invokeRestart("muffleMessage") [18:03:25.614] } [18:03:25.614] else if (inherits(cond, "warning")) { [18:03:25.614] muffled <- grepl(pattern, "muffleWarning") [18:03:25.614] if (muffled) [18:03:25.614] invokeRestart("muffleWarning") [18:03:25.614] } [18:03:25.614] else if (inherits(cond, "condition")) { [18:03:25.614] if (!is.null(pattern)) { [18:03:25.614] computeRestarts <- base::computeRestarts [18:03:25.614] grepl <- base::grepl [18:03:25.614] restarts <- computeRestarts(cond) [18:03:25.614] for (restart in restarts) { [18:03:25.614] name <- restart$name [18:03:25.614] if (is.null(name)) [18:03:25.614] next [18:03:25.614] if (!grepl(pattern, name)) [18:03:25.614] next [18:03:25.614] invokeRestart(restart) [18:03:25.614] muffled <- TRUE [18:03:25.614] break [18:03:25.614] } [18:03:25.614] } [18:03:25.614] } [18:03:25.614] invisible(muffled) [18:03:25.614] } [18:03:25.614] muffleCondition(cond, pattern = "^muffle") [18:03:25.614] } [18:03:25.614] } [18:03:25.614] } [18:03:25.614] })) [18:03:25.614] }, error = function(ex) { [18:03:25.614] base::structure(base::list(value = NULL, visible = NULL, [18:03:25.614] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.614] ...future.rng), started = ...future.startTime, [18:03:25.614] finished = Sys.time(), session_uuid = NA_character_, [18:03:25.614] version = "1.8"), class = "FutureResult") [18:03:25.614] }, finally = { [18:03:25.614] if (!identical(...future.workdir, getwd())) [18:03:25.614] setwd(...future.workdir) [18:03:25.614] { [18:03:25.614] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:25.614] ...future.oldOptions$nwarnings <- NULL [18:03:25.614] } [18:03:25.614] base::options(...future.oldOptions) [18:03:25.614] if (.Platform$OS.type == "windows") { [18:03:25.614] old_names <- names(...future.oldEnvVars) [18:03:25.614] envs <- base::Sys.getenv() [18:03:25.614] names <- names(envs) [18:03:25.614] common <- intersect(names, old_names) [18:03:25.614] added <- setdiff(names, old_names) [18:03:25.614] removed <- setdiff(old_names, names) [18:03:25.614] changed <- common[...future.oldEnvVars[common] != [18:03:25.614] envs[common]] [18:03:25.614] NAMES <- toupper(changed) [18:03:25.614] args <- list() [18:03:25.614] for (kk in seq_along(NAMES)) { [18:03:25.614] name <- changed[[kk]] [18:03:25.614] NAME <- NAMES[[kk]] [18:03:25.614] if (name != NAME && is.element(NAME, old_names)) [18:03:25.614] next [18:03:25.614] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.614] } [18:03:25.614] NAMES <- toupper(added) [18:03:25.614] for (kk in seq_along(NAMES)) { [18:03:25.614] name <- added[[kk]] [18:03:25.614] NAME <- NAMES[[kk]] [18:03:25.614] if (name != NAME && is.element(NAME, old_names)) [18:03:25.614] next [18:03:25.614] args[[name]] <- "" [18:03:25.614] } [18:03:25.614] NAMES <- toupper(removed) [18:03:25.614] for (kk in seq_along(NAMES)) { [18:03:25.614] name <- removed[[kk]] [18:03:25.614] NAME <- NAMES[[kk]] [18:03:25.614] if (name != NAME && is.element(NAME, old_names)) [18:03:25.614] next [18:03:25.614] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.614] } [18:03:25.614] if (length(args) > 0) [18:03:25.614] base::do.call(base::Sys.setenv, args = args) [18:03:25.614] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:25.614] } [18:03:25.614] else { [18:03:25.614] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:25.614] } [18:03:25.614] { [18:03:25.614] if (base::length(...future.futureOptionsAdded) > [18:03:25.614] 0L) { [18:03:25.614] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:25.614] base::names(opts) <- ...future.futureOptionsAdded [18:03:25.614] base::options(opts) [18:03:25.614] } [18:03:25.614] { [18:03:25.614] { [18:03:25.614] NULL [18:03:25.614] RNGkind("Mersenne-Twister") [18:03:25.614] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:03:25.614] inherits = FALSE) [18:03:25.614] } [18:03:25.614] options(future.plan = NULL) [18:03:25.614] if (is.na(NA_character_)) [18:03:25.614] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.614] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:25.614] future::plan(list(function (..., envir = parent.frame()) [18:03:25.614] { [18:03:25.614] future <- SequentialFuture(..., envir = envir) [18:03:25.614] if (!future$lazy) [18:03:25.614] future <- run(future) [18:03:25.614] invisible(future) [18:03:25.614] }), .cleanup = FALSE, .init = FALSE) [18:03:25.614] } [18:03:25.614] } [18:03:25.614] } [18:03:25.614] }) [18:03:25.614] if (TRUE) { [18:03:25.614] base::sink(type = "output", split = FALSE) [18:03:25.614] if (TRUE) { [18:03:25.614] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:25.614] } [18:03:25.614] else { [18:03:25.614] ...future.result["stdout"] <- base::list(NULL) [18:03:25.614] } [18:03:25.614] base::close(...future.stdout) [18:03:25.614] ...future.stdout <- NULL [18:03:25.614] } [18:03:25.614] ...future.result$conditions <- ...future.conditions [18:03:25.614] ...future.result$finished <- base::Sys.time() [18:03:25.614] ...future.result [18:03:25.614] } [18:03:25.619] plan(): Setting new future strategy stack: [18:03:25.619] List of future strategies: [18:03:25.619] 1. sequential: [18:03:25.619] - args: function (..., envir = parent.frame()) [18:03:25.619] - tweaked: FALSE [18:03:25.619] - call: NULL [18:03:25.620] plan(): nbrOfWorkers() = 1 [18:03:25.622] plan(): Setting new future strategy stack: [18:03:25.623] List of future strategies: [18:03:25.623] 1. sequential: [18:03:25.623] - args: function (..., envir = parent.frame()) [18:03:25.623] - tweaked: FALSE [18:03:25.623] - call: plan(strategy) [18:03:25.623] plan(): nbrOfWorkers() = 1 [18:03:25.623] SequentialFuture started (and completed) [18:03:25.624] - Launch lazy future ... done [18:03:25.624] run() for 'SequentialFuture' ... 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: "2023-07-01 18:03:25" $ finished : POSIXct[1:1], format: "2023-07-01 18:03:25" $ session_uuid: chr "afadd03b-0d0f-0977-1216-04a8047e001a" ..- 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 87164 .. ..$ time : POSIXct[1:1], format: "2023-07-01 18:03:25" .. ..$ random: int 2147483647 $ r_info :List of 4 ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 .. ..$ : int [1:3] 4 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.005043983 secs (started 2023-07-01 18:03:25.618746) version: 1.8 [18:03:25.638] getGlobalsAndPackages() ... [18:03:25.639] Searching for globals... [18:03:25.642] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [18:03:25.642] Searching for globals ... DONE [18:03:25.643] Resolving globals: FALSE [18:03:25.643] [18:03:25.643] - packages: [1] 'utils' [18:03:25.644] getGlobalsAndPackages() ... DONE [18:03:25.644] run() for 'Future' ... [18:03:25.644] - state: 'created' [18:03:25.644] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:03:25.645] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:03:25.645] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:03:25.645] - Field: 'label' [18:03:25.645] - Field: 'local' [18:03:25.645] - Field: 'owner' [18:03:25.646] - Field: 'envir' [18:03:25.646] - Field: 'packages' [18:03:25.646] - Field: 'gc' [18:03:25.646] - Field: 'conditions' [18:03:25.646] - Field: 'expr' [18:03:25.647] - Field: 'uuid' [18:03:25.647] - Field: 'seed' [18:03:25.647] - Field: 'version' [18:03:25.647] - Field: 'result' [18:03:25.647] - Field: 'asynchronous' [18:03:25.647] - Field: 'calls' [18:03:25.648] - Field: 'globals' [18:03:25.648] - Field: 'stdout' [18:03:25.648] - Field: 'earlySignal' [18:03:25.648] - Field: 'lazy' [18:03:25.648] - Field: 'state' [18:03:25.648] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:03:25.649] - Launch lazy future ... [18:03:25.649] Packages needed by the future expression (n = 1): 'utils' [18:03:25.649] Packages needed by future strategies (n = 0): [18:03:25.650] { [18:03:25.650] { [18:03:25.650] { [18:03:25.650] ...future.startTime <- base::Sys.time() [18:03:25.650] { [18:03:25.650] { [18:03:25.650] { [18:03:25.650] { [18:03:25.650] base::local({ [18:03:25.650] has_future <- base::requireNamespace("future", [18:03:25.650] quietly = TRUE) [18:03:25.650] if (has_future) { [18:03:25.650] ns <- base::getNamespace("future") [18:03:25.650] version <- ns[[".package"]][["version"]] [18:03:25.650] if (is.null(version)) [18:03:25.650] version <- utils::packageVersion("future") [18:03:25.650] } [18:03:25.650] else { [18:03:25.650] version <- NULL [18:03:25.650] } [18:03:25.650] if (!has_future || version < "1.8.0") { [18:03:25.650] info <- base::c(r_version = base::gsub("R version ", [18:03:25.650] "", base::R.version$version.string), [18:03:25.650] platform = base::sprintf("%s (%s-bit)", [18:03:25.650] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:25.650] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:25.650] "release", "version")], collapse = " "), [18:03:25.650] hostname = base::Sys.info()[["nodename"]]) [18:03:25.650] info <- base::sprintf("%s: %s", base::names(info), [18:03:25.650] info) [18:03:25.650] info <- base::paste(info, collapse = "; ") [18:03:25.650] if (!has_future) { [18:03:25.650] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:25.650] info) [18:03:25.650] } [18:03:25.650] else { [18:03:25.650] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:25.650] info, version) [18:03:25.650] } [18:03:25.650] base::stop(msg) [18:03:25.650] } [18:03:25.650] }) [18:03:25.650] } [18:03:25.650] base::local({ [18:03:25.650] for (pkg in "utils") { [18:03:25.650] base::loadNamespace(pkg) [18:03:25.650] base::library(pkg, character.only = TRUE) [18:03:25.650] } [18:03:25.650] }) [18:03:25.650] } [18:03:25.650] options(future.plan = NULL) [18:03:25.650] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.650] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:25.650] } [18:03:25.650] ...future.workdir <- getwd() [18:03:25.650] } [18:03:25.650] ...future.oldOptions <- base::as.list(base::.Options) [18:03:25.650] ...future.oldEnvVars <- base::Sys.getenv() [18:03:25.650] } [18:03:25.650] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:25.650] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:25.650] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:25.650] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:25.650] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:25.650] future.stdout.windows.reencode = NULL, width = 80L) [18:03:25.650] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:25.650] base::names(...future.oldOptions)) [18:03:25.650] } [18:03:25.650] if (FALSE) { [18:03:25.650] } [18:03:25.650] else { [18:03:25.650] if (TRUE) { [18:03:25.650] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:25.650] open = "w") [18:03:25.650] } [18:03:25.650] else { [18:03:25.650] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:25.650] windows = "NUL", "/dev/null"), open = "w") [18:03:25.650] } [18:03:25.650] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:25.650] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:25.650] base::sink(type = "output", split = FALSE) [18:03:25.650] base::close(...future.stdout) [18:03:25.650] }, add = TRUE) [18:03:25.650] } [18:03:25.650] ...future.frame <- base::sys.nframe() [18:03:25.650] ...future.conditions <- base::list() [18:03:25.650] ...future.rng <- base::globalenv()$.Random.seed [18:03:25.650] if (FALSE) { [18:03:25.650] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:25.650] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:25.650] } [18:03:25.650] ...future.result <- base::tryCatch({ [18:03:25.650] base::withCallingHandlers({ [18:03:25.650] ...future.value <- base::withVisible(base::local({ [18:03:25.650] print(1:50) [18:03:25.650] str(1:50) [18:03:25.650] cat(letters, sep = "-") [18:03:25.650] cat(1:6, collapse = "\n") [18:03:25.650] write.table(datasets::iris[1:10, ], sep = "\t") [18:03:25.650] 42L [18:03:25.650] })) [18:03:25.650] future::FutureResult(value = ...future.value$value, [18:03:25.650] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.650] ...future.rng), globalenv = if (FALSE) [18:03:25.650] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:25.650] ...future.globalenv.names)) [18:03:25.650] else NULL, started = ...future.startTime, version = "1.8") [18:03:25.650] }, condition = base::local({ [18:03:25.650] c <- base::c [18:03:25.650] inherits <- base::inherits [18:03:25.650] invokeRestart <- base::invokeRestart [18:03:25.650] length <- base::length [18:03:25.650] list <- base::list [18:03:25.650] seq.int <- base::seq.int [18:03:25.650] signalCondition <- base::signalCondition [18:03:25.650] sys.calls <- base::sys.calls [18:03:25.650] `[[` <- base::`[[` [18:03:25.650] `+` <- base::`+` [18:03:25.650] `<<-` <- base::`<<-` [18:03:25.650] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:25.650] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:25.650] 3L)] [18:03:25.650] } [18:03:25.650] function(cond) { [18:03:25.650] is_error <- inherits(cond, "error") [18:03:25.650] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:25.650] NULL) [18:03:25.650] if (is_error) { [18:03:25.650] sessionInformation <- function() { [18:03:25.650] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:25.650] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:25.650] search = base::search(), system = base::Sys.info()) [18:03:25.650] } [18:03:25.650] ...future.conditions[[length(...future.conditions) + [18:03:25.650] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:25.650] cond$call), session = sessionInformation(), [18:03:25.650] timestamp = base::Sys.time(), signaled = 0L) [18:03:25.650] signalCondition(cond) [18:03:25.650] } [18:03:25.650] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:25.650] "immediateCondition"))) { [18:03:25.650] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:25.650] ...future.conditions[[length(...future.conditions) + [18:03:25.650] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:25.650] if (TRUE && !signal) { [18:03:25.650] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.650] { [18:03:25.650] inherits <- base::inherits [18:03:25.650] invokeRestart <- base::invokeRestart [18:03:25.650] is.null <- base::is.null [18:03:25.650] muffled <- FALSE [18:03:25.650] if (inherits(cond, "message")) { [18:03:25.650] muffled <- grepl(pattern, "muffleMessage") [18:03:25.650] if (muffled) [18:03:25.650] invokeRestart("muffleMessage") [18:03:25.650] } [18:03:25.650] else if (inherits(cond, "warning")) { [18:03:25.650] muffled <- grepl(pattern, "muffleWarning") [18:03:25.650] if (muffled) [18:03:25.650] invokeRestart("muffleWarning") [18:03:25.650] } [18:03:25.650] else if (inherits(cond, "condition")) { [18:03:25.650] if (!is.null(pattern)) { [18:03:25.650] computeRestarts <- base::computeRestarts [18:03:25.650] grepl <- base::grepl [18:03:25.650] restarts <- computeRestarts(cond) [18:03:25.650] for (restart in restarts) { [18:03:25.650] name <- restart$name [18:03:25.650] if (is.null(name)) [18:03:25.650] next [18:03:25.650] if (!grepl(pattern, name)) [18:03:25.650] next [18:03:25.650] invokeRestart(restart) [18:03:25.650] muffled <- TRUE [18:03:25.650] break [18:03:25.650] } [18:03:25.650] } [18:03:25.650] } [18:03:25.650] invisible(muffled) [18:03:25.650] } [18:03:25.650] muffleCondition(cond, pattern = "^muffle") [18:03:25.650] } [18:03:25.650] } [18:03:25.650] else { [18:03:25.650] if (TRUE) { [18:03:25.650] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.650] { [18:03:25.650] inherits <- base::inherits [18:03:25.650] invokeRestart <- base::invokeRestart [18:03:25.650] is.null <- base::is.null [18:03:25.650] muffled <- FALSE [18:03:25.650] if (inherits(cond, "message")) { [18:03:25.650] muffled <- grepl(pattern, "muffleMessage") [18:03:25.650] if (muffled) [18:03:25.650] invokeRestart("muffleMessage") [18:03:25.650] } [18:03:25.650] else if (inherits(cond, "warning")) { [18:03:25.650] muffled <- grepl(pattern, "muffleWarning") [18:03:25.650] if (muffled) [18:03:25.650] invokeRestart("muffleWarning") [18:03:25.650] } [18:03:25.650] else if (inherits(cond, "condition")) { [18:03:25.650] if (!is.null(pattern)) { [18:03:25.650] computeRestarts <- base::computeRestarts [18:03:25.650] grepl <- base::grepl [18:03:25.650] restarts <- computeRestarts(cond) [18:03:25.650] for (restart in restarts) { [18:03:25.650] name <- restart$name [18:03:25.650] if (is.null(name)) [18:03:25.650] next [18:03:25.650] if (!grepl(pattern, name)) [18:03:25.650] next [18:03:25.650] invokeRestart(restart) [18:03:25.650] muffled <- TRUE [18:03:25.650] break [18:03:25.650] } [18:03:25.650] } [18:03:25.650] } [18:03:25.650] invisible(muffled) [18:03:25.650] } [18:03:25.650] muffleCondition(cond, pattern = "^muffle") [18:03:25.650] } [18:03:25.650] } [18:03:25.650] } [18:03:25.650] })) [18:03:25.650] }, error = function(ex) { [18:03:25.650] base::structure(base::list(value = NULL, visible = NULL, [18:03:25.650] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.650] ...future.rng), started = ...future.startTime, [18:03:25.650] finished = Sys.time(), session_uuid = NA_character_, [18:03:25.650] version = "1.8"), class = "FutureResult") [18:03:25.650] }, finally = { [18:03:25.650] if (!identical(...future.workdir, getwd())) [18:03:25.650] setwd(...future.workdir) [18:03:25.650] { [18:03:25.650] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:25.650] ...future.oldOptions$nwarnings <- NULL [18:03:25.650] } [18:03:25.650] base::options(...future.oldOptions) [18:03:25.650] if (.Platform$OS.type == "windows") { [18:03:25.650] old_names <- names(...future.oldEnvVars) [18:03:25.650] envs <- base::Sys.getenv() [18:03:25.650] names <- names(envs) [18:03:25.650] common <- intersect(names, old_names) [18:03:25.650] added <- setdiff(names, old_names) [18:03:25.650] removed <- setdiff(old_names, names) [18:03:25.650] changed <- common[...future.oldEnvVars[common] != [18:03:25.650] envs[common]] [18:03:25.650] NAMES <- toupper(changed) [18:03:25.650] args <- list() [18:03:25.650] for (kk in seq_along(NAMES)) { [18:03:25.650] name <- changed[[kk]] [18:03:25.650] NAME <- NAMES[[kk]] [18:03:25.650] if (name != NAME && is.element(NAME, old_names)) [18:03:25.650] next [18:03:25.650] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.650] } [18:03:25.650] NAMES <- toupper(added) [18:03:25.650] for (kk in seq_along(NAMES)) { [18:03:25.650] name <- added[[kk]] [18:03:25.650] NAME <- NAMES[[kk]] [18:03:25.650] if (name != NAME && is.element(NAME, old_names)) [18:03:25.650] next [18:03:25.650] args[[name]] <- "" [18:03:25.650] } [18:03:25.650] NAMES <- toupper(removed) [18:03:25.650] for (kk in seq_along(NAMES)) { [18:03:25.650] name <- removed[[kk]] [18:03:25.650] NAME <- NAMES[[kk]] [18:03:25.650] if (name != NAME && is.element(NAME, old_names)) [18:03:25.650] next [18:03:25.650] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.650] } [18:03:25.650] if (length(args) > 0) [18:03:25.650] base::do.call(base::Sys.setenv, args = args) [18:03:25.650] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:25.650] } [18:03:25.650] else { [18:03:25.650] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:25.650] } [18:03:25.650] { [18:03:25.650] if (base::length(...future.futureOptionsAdded) > [18:03:25.650] 0L) { [18:03:25.650] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:25.650] base::names(opts) <- ...future.futureOptionsAdded [18:03:25.650] base::options(opts) [18:03:25.650] } [18:03:25.650] { [18:03:25.650] { [18:03:25.650] NULL [18:03:25.650] RNGkind("Mersenne-Twister") [18:03:25.650] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:03:25.650] inherits = FALSE) [18:03:25.650] } [18:03:25.650] options(future.plan = NULL) [18:03:25.650] if (is.na(NA_character_)) [18:03:25.650] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.650] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:25.650] future::plan(list(function (..., envir = parent.frame()) [18:03:25.650] { [18:03:25.650] future <- SequentialFuture(..., envir = envir) [18:03:25.650] if (!future$lazy) [18:03:25.650] future <- run(future) [18:03:25.650] invisible(future) [18:03:25.650] }), .cleanup = FALSE, .init = FALSE) [18:03:25.650] } [18:03:25.650] } [18:03:25.650] } [18:03:25.650] }) [18:03:25.650] if (TRUE) { [18:03:25.650] base::sink(type = "output", split = FALSE) [18:03:25.650] if (TRUE) { [18:03:25.650] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:25.650] } [18:03:25.650] else { [18:03:25.650] ...future.result["stdout"] <- base::list(NULL) [18:03:25.650] } [18:03:25.650] base::close(...future.stdout) [18:03:25.650] ...future.stdout <- NULL [18:03:25.650] } [18:03:25.650] ...future.result$conditions <- ...future.conditions [18:03:25.650] ...future.result$finished <- base::Sys.time() [18:03:25.650] ...future.result [18:03:25.650] } [18:03:25.654] plan(): Setting new future strategy stack: [18:03:25.654] List of future strategies: [18:03:25.654] 1. sequential: [18:03:25.654] - args: function (..., envir = parent.frame()) [18:03:25.654] - tweaked: FALSE [18:03:25.654] - call: NULL [18:03:25.655] plan(): nbrOfWorkers() = 1 [18:03:25.657] plan(): Setting new future strategy stack: [18:03:25.657] List of future strategies: [18:03:25.657] 1. sequential: [18:03:25.657] - args: function (..., envir = parent.frame()) [18:03:25.657] - tweaked: FALSE [18:03:25.657] - call: plan(strategy) [18:03:25.657] plan(): nbrOfWorkers() = 1 [18:03:25.658] SequentialFuture started (and completed) [18:03:25.658] - Launch lazy future ... done [18:03:25.658] run() for 'SequentialFuture' ... 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 = structure(TRUE, drop = TRUE) [18:03:25.659] getGlobalsAndPackages() ... [18:03:25.659] Searching for globals... [18:03:25.660] - globals found: [1] 'print' [18:03:25.660] Searching for globals ... DONE [18:03:25.660] Resolving globals: FALSE [18:03:25.660] [18:03:25.660] [18:03:25.661] getGlobalsAndPackages() ... DONE [18:03:25.661] run() for 'Future' ... [18:03:25.661] - state: 'created' [18:03:25.661] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:03:25.662] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:03:25.662] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:03:25.662] - Field: 'label' [18:03:25.662] - Field: 'local' [18:03:25.663] - Field: 'owner' [18:03:25.663] - Field: 'envir' [18:03:25.663] - Field: 'packages' [18:03:25.663] - Field: 'gc' [18:03:25.663] - Field: 'conditions' [18:03:25.663] - Field: 'expr' [18:03:25.664] - Field: 'uuid' [18:03:25.664] - Field: 'seed' [18:03:25.664] - Field: 'version' [18:03:25.664] - Field: 'result' [18:03:25.664] - Field: 'asynchronous' [18:03:25.665] - Field: 'calls' [18:03:25.665] - Field: 'globals' [18:03:25.665] - Field: 'stdout' [18:03:25.665] - Field: 'earlySignal' [18:03:25.665] - Field: 'lazy' [18:03:25.665] - Field: 'state' [18:03:25.666] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:03:25.666] - Launch lazy future ... [18:03:25.666] Packages needed by the future expression (n = 0): [18:03:25.666] Packages needed by future strategies (n = 0): [18:03:25.667] { [18:03:25.667] { [18:03:25.667] { [18:03:25.667] ...future.startTime <- base::Sys.time() [18:03:25.667] { [18:03:25.667] { [18:03:25.667] { [18:03:25.667] base::local({ [18:03:25.667] has_future <- base::requireNamespace("future", [18:03:25.667] quietly = TRUE) [18:03:25.667] if (has_future) { [18:03:25.667] ns <- base::getNamespace("future") [18:03:25.667] version <- ns[[".package"]][["version"]] [18:03:25.667] if (is.null(version)) [18:03:25.667] version <- utils::packageVersion("future") [18:03:25.667] } [18:03:25.667] else { [18:03:25.667] version <- NULL [18:03:25.667] } [18:03:25.667] if (!has_future || version < "1.8.0") { [18:03:25.667] info <- base::c(r_version = base::gsub("R version ", [18:03:25.667] "", base::R.version$version.string), [18:03:25.667] platform = base::sprintf("%s (%s-bit)", [18:03:25.667] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:25.667] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:25.667] "release", "version")], collapse = " "), [18:03:25.667] hostname = base::Sys.info()[["nodename"]]) [18:03:25.667] info <- base::sprintf("%s: %s", base::names(info), [18:03:25.667] info) [18:03:25.667] info <- base::paste(info, collapse = "; ") [18:03:25.667] if (!has_future) { [18:03:25.667] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:25.667] info) [18:03:25.667] } [18:03:25.667] else { [18:03:25.667] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:25.667] info, version) [18:03:25.667] } [18:03:25.667] base::stop(msg) [18:03:25.667] } [18:03:25.667] }) [18:03:25.667] } [18:03:25.667] options(future.plan = NULL) [18:03:25.667] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.667] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:25.667] } [18:03:25.667] ...future.workdir <- getwd() [18:03:25.667] } [18:03:25.667] ...future.oldOptions <- base::as.list(base::.Options) [18:03:25.667] ...future.oldEnvVars <- base::Sys.getenv() [18:03:25.667] } [18:03:25.667] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:25.667] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:25.667] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:25.667] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:25.667] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:25.667] future.stdout.windows.reencode = NULL, width = 80L) [18:03:25.667] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:25.667] base::names(...future.oldOptions)) [18:03:25.667] } [18:03:25.667] if (FALSE) { [18:03:25.667] } [18:03:25.667] else { [18:03:25.667] if (TRUE) { [18:03:25.667] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:25.667] open = "w") [18:03:25.667] } [18:03:25.667] else { [18:03:25.667] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:25.667] windows = "NUL", "/dev/null"), open = "w") [18:03:25.667] } [18:03:25.667] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:25.667] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:25.667] base::sink(type = "output", split = FALSE) [18:03:25.667] base::close(...future.stdout) [18:03:25.667] }, add = TRUE) [18:03:25.667] } [18:03:25.667] ...future.frame <- base::sys.nframe() [18:03:25.667] ...future.conditions <- base::list() [18:03:25.667] ...future.rng <- base::globalenv()$.Random.seed [18:03:25.667] if (FALSE) { [18:03:25.667] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:25.667] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:25.667] } [18:03:25.667] ...future.result <- base::tryCatch({ [18:03:25.667] base::withCallingHandlers({ [18:03:25.667] ...future.value <- base::withVisible(base::local(print(42))) [18:03:25.667] future::FutureResult(value = ...future.value$value, [18:03:25.667] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.667] ...future.rng), globalenv = if (FALSE) [18:03:25.667] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:25.667] ...future.globalenv.names)) [18:03:25.667] else NULL, started = ...future.startTime, version = "1.8") [18:03:25.667] }, condition = base::local({ [18:03:25.667] c <- base::c [18:03:25.667] inherits <- base::inherits [18:03:25.667] invokeRestart <- base::invokeRestart [18:03:25.667] length <- base::length [18:03:25.667] list <- base::list [18:03:25.667] seq.int <- base::seq.int [18:03:25.667] signalCondition <- base::signalCondition [18:03:25.667] sys.calls <- base::sys.calls [18:03:25.667] `[[` <- base::`[[` [18:03:25.667] `+` <- base::`+` [18:03:25.667] `<<-` <- base::`<<-` [18:03:25.667] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:25.667] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:25.667] 3L)] [18:03:25.667] } [18:03:25.667] function(cond) { [18:03:25.667] is_error <- inherits(cond, "error") [18:03:25.667] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:25.667] NULL) [18:03:25.667] if (is_error) { [18:03:25.667] sessionInformation <- function() { [18:03:25.667] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:25.667] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:25.667] search = base::search(), system = base::Sys.info()) [18:03:25.667] } [18:03:25.667] ...future.conditions[[length(...future.conditions) + [18:03:25.667] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:25.667] cond$call), session = sessionInformation(), [18:03:25.667] timestamp = base::Sys.time(), signaled = 0L) [18:03:25.667] signalCondition(cond) [18:03:25.667] } [18:03:25.667] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:25.667] "immediateCondition"))) { [18:03:25.667] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:25.667] ...future.conditions[[length(...future.conditions) + [18:03:25.667] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:25.667] if (TRUE && !signal) { [18:03:25.667] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.667] { [18:03:25.667] inherits <- base::inherits [18:03:25.667] invokeRestart <- base::invokeRestart [18:03:25.667] is.null <- base::is.null [18:03:25.667] muffled <- FALSE [18:03:25.667] if (inherits(cond, "message")) { [18:03:25.667] muffled <- grepl(pattern, "muffleMessage") [18:03:25.667] if (muffled) [18:03:25.667] invokeRestart("muffleMessage") [18:03:25.667] } [18:03:25.667] else if (inherits(cond, "warning")) { [18:03:25.667] muffled <- grepl(pattern, "muffleWarning") [18:03:25.667] if (muffled) [18:03:25.667] invokeRestart("muffleWarning") [18:03:25.667] } [18:03:25.667] else if (inherits(cond, "condition")) { [18:03:25.667] if (!is.null(pattern)) { [18:03:25.667] computeRestarts <- base::computeRestarts [18:03:25.667] grepl <- base::grepl [18:03:25.667] restarts <- computeRestarts(cond) [18:03:25.667] for (restart in restarts) { [18:03:25.667] name <- restart$name [18:03:25.667] if (is.null(name)) [18:03:25.667] next [18:03:25.667] if (!grepl(pattern, name)) [18:03:25.667] next [18:03:25.667] invokeRestart(restart) [18:03:25.667] muffled <- TRUE [18:03:25.667] break [18:03:25.667] } [18:03:25.667] } [18:03:25.667] } [18:03:25.667] invisible(muffled) [18:03:25.667] } [18:03:25.667] muffleCondition(cond, pattern = "^muffle") [18:03:25.667] } [18:03:25.667] } [18:03:25.667] else { [18:03:25.667] if (TRUE) { [18:03:25.667] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.667] { [18:03:25.667] inherits <- base::inherits [18:03:25.667] invokeRestart <- base::invokeRestart [18:03:25.667] is.null <- base::is.null [18:03:25.667] muffled <- FALSE [18:03:25.667] if (inherits(cond, "message")) { [18:03:25.667] muffled <- grepl(pattern, "muffleMessage") [18:03:25.667] if (muffled) [18:03:25.667] invokeRestart("muffleMessage") [18:03:25.667] } [18:03:25.667] else if (inherits(cond, "warning")) { [18:03:25.667] muffled <- grepl(pattern, "muffleWarning") [18:03:25.667] if (muffled) [18:03:25.667] invokeRestart("muffleWarning") [18:03:25.667] } [18:03:25.667] else if (inherits(cond, "condition")) { [18:03:25.667] if (!is.null(pattern)) { [18:03:25.667] computeRestarts <- base::computeRestarts [18:03:25.667] grepl <- base::grepl [18:03:25.667] restarts <- computeRestarts(cond) [18:03:25.667] for (restart in restarts) { [18:03:25.667] name <- restart$name [18:03:25.667] if (is.null(name)) [18:03:25.667] next [18:03:25.667] if (!grepl(pattern, name)) [18:03:25.667] next [18:03:25.667] invokeRestart(restart) [18:03:25.667] muffled <- TRUE [18:03:25.667] break [18:03:25.667] } [18:03:25.667] } [18:03:25.667] } [18:03:25.667] invisible(muffled) [18:03:25.667] } [18:03:25.667] muffleCondition(cond, pattern = "^muffle") [18:03:25.667] } [18:03:25.667] } [18:03:25.667] } [18:03:25.667] })) [18:03:25.667] }, error = function(ex) { [18:03:25.667] base::structure(base::list(value = NULL, visible = NULL, [18:03:25.667] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.667] ...future.rng), started = ...future.startTime, [18:03:25.667] finished = Sys.time(), session_uuid = NA_character_, [18:03:25.667] version = "1.8"), class = "FutureResult") [18:03:25.667] }, finally = { [18:03:25.667] if (!identical(...future.workdir, getwd())) [18:03:25.667] setwd(...future.workdir) [18:03:25.667] { [18:03:25.667] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:25.667] ...future.oldOptions$nwarnings <- NULL [18:03:25.667] } [18:03:25.667] base::options(...future.oldOptions) [18:03:25.667] if (.Platform$OS.type == "windows") { [18:03:25.667] old_names <- names(...future.oldEnvVars) [18:03:25.667] envs <- base::Sys.getenv() [18:03:25.667] names <- names(envs) [18:03:25.667] common <- intersect(names, old_names) [18:03:25.667] added <- setdiff(names, old_names) [18:03:25.667] removed <- setdiff(old_names, names) [18:03:25.667] changed <- common[...future.oldEnvVars[common] != [18:03:25.667] envs[common]] [18:03:25.667] NAMES <- toupper(changed) [18:03:25.667] args <- list() [18:03:25.667] for (kk in seq_along(NAMES)) { [18:03:25.667] name <- changed[[kk]] [18:03:25.667] NAME <- NAMES[[kk]] [18:03:25.667] if (name != NAME && is.element(NAME, old_names)) [18:03:25.667] next [18:03:25.667] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.667] } [18:03:25.667] NAMES <- toupper(added) [18:03:25.667] for (kk in seq_along(NAMES)) { [18:03:25.667] name <- added[[kk]] [18:03:25.667] NAME <- NAMES[[kk]] [18:03:25.667] if (name != NAME && is.element(NAME, old_names)) [18:03:25.667] next [18:03:25.667] args[[name]] <- "" [18:03:25.667] } [18:03:25.667] NAMES <- toupper(removed) [18:03:25.667] for (kk in seq_along(NAMES)) { [18:03:25.667] name <- removed[[kk]] [18:03:25.667] NAME <- NAMES[[kk]] [18:03:25.667] if (name != NAME && is.element(NAME, old_names)) [18:03:25.667] next [18:03:25.667] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.667] } [18:03:25.667] if (length(args) > 0) [18:03:25.667] base::do.call(base::Sys.setenv, args = args) [18:03:25.667] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:25.667] } [18:03:25.667] else { [18:03:25.667] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:25.667] } [18:03:25.667] { [18:03:25.667] if (base::length(...future.futureOptionsAdded) > [18:03:25.667] 0L) { [18:03:25.667] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:25.667] base::names(opts) <- ...future.futureOptionsAdded [18:03:25.667] base::options(opts) [18:03:25.667] } [18:03:25.667] { [18:03:25.667] { [18:03:25.667] NULL [18:03:25.667] RNGkind("Mersenne-Twister") [18:03:25.667] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:03:25.667] inherits = FALSE) [18:03:25.667] } [18:03:25.667] options(future.plan = NULL) [18:03:25.667] if (is.na(NA_character_)) [18:03:25.667] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.667] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:25.667] future::plan(list(function (..., envir = parent.frame()) [18:03:25.667] { [18:03:25.667] future <- SequentialFuture(..., envir = envir) [18:03:25.667] if (!future$lazy) [18:03:25.667] future <- run(future) [18:03:25.667] invisible(future) [18:03:25.667] }), .cleanup = FALSE, .init = FALSE) [18:03:25.667] } [18:03:25.667] } [18:03:25.667] } [18:03:25.667] }) [18:03:25.667] if (TRUE) { [18:03:25.667] base::sink(type = "output", split = FALSE) [18:03:25.667] if (TRUE) { [18:03:25.667] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:25.667] } [18:03:25.667] else { [18:03:25.667] ...future.result["stdout"] <- base::list(NULL) [18:03:25.667] } [18:03:25.667] base::close(...future.stdout) [18:03:25.667] ...future.stdout <- NULL [18:03:25.667] } [18:03:25.667] ...future.result$conditions <- ...future.conditions [18:03:25.667] ...future.result$finished <- base::Sys.time() [18:03:25.667] ...future.result [18:03:25.667] } [18:03:25.671] plan(): Setting new future strategy stack: [18:03:25.671] List of future strategies: [18:03:25.671] 1. sequential: [18:03:25.671] - args: function (..., envir = parent.frame()) [18:03:25.671] - tweaked: FALSE [18:03:25.671] - call: NULL [18:03:25.671] plan(): nbrOfWorkers() = 1 [18:03:25.674] plan(): Setting new future strategy stack: [18:03:25.674] List of future strategies: [18:03:25.674] 1. sequential: [18:03:25.674] - args: function (..., envir = parent.frame()) [18:03:25.674] - tweaked: FALSE [18:03:25.674] - call: plan(strategy) [18:03:25.674] plan(): nbrOfWorkers() = 1 [18:03:25.675] SequentialFuture started (and completed) [18:03:25.675] - Launch lazy future ... done [18:03:25.675] run() for 'SequentialFuture' ... done [1] 42 - stdout = FALSE [18:03:25.676] getGlobalsAndPackages() ... [18:03:25.676] Searching for globals... [18:03:25.679] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [18:03:25.679] Searching for globals ... DONE [18:03:25.680] Resolving globals: FALSE [18:03:25.680] [18:03:25.680] - packages: [1] 'utils' [18:03:25.681] getGlobalsAndPackages() ... DONE [18:03:25.681] run() for 'Future' ... [18:03:25.681] - state: 'created' [18:03:25.681] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:03:25.682] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:03:25.682] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:03:25.682] - Field: 'label' [18:03:25.682] - Field: 'local' [18:03:25.682] - Field: 'owner' [18:03:25.683] - Field: 'envir' [18:03:25.683] - Field: 'packages' [18:03:25.683] - Field: 'gc' [18:03:25.683] - Field: 'conditions' [18:03:25.683] - Field: 'expr' [18:03:25.683] - Field: 'uuid' [18:03:25.684] - Field: 'seed' [18:03:25.684] - Field: 'version' [18:03:25.684] - Field: 'result' [18:03:25.684] - Field: 'asynchronous' [18:03:25.684] - Field: 'calls' [18:03:25.685] - Field: 'globals' [18:03:25.685] - Field: 'stdout' [18:03:25.685] - Field: 'earlySignal' [18:03:25.685] - Field: 'lazy' [18:03:25.685] - Field: 'state' [18:03:25.685] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:03:25.686] - Launch lazy future ... [18:03:25.686] Packages needed by the future expression (n = 1): 'utils' [18:03:25.686] Packages needed by future strategies (n = 0): [18:03:25.687] { [18:03:25.687] { [18:03:25.687] { [18:03:25.687] ...future.startTime <- base::Sys.time() [18:03:25.687] { [18:03:25.687] { [18:03:25.687] { [18:03:25.687] { [18:03:25.687] base::local({ [18:03:25.687] has_future <- base::requireNamespace("future", [18:03:25.687] quietly = TRUE) [18:03:25.687] if (has_future) { [18:03:25.687] ns <- base::getNamespace("future") [18:03:25.687] version <- ns[[".package"]][["version"]] [18:03:25.687] if (is.null(version)) [18:03:25.687] version <- utils::packageVersion("future") [18:03:25.687] } [18:03:25.687] else { [18:03:25.687] version <- NULL [18:03:25.687] } [18:03:25.687] if (!has_future || version < "1.8.0") { [18:03:25.687] info <- base::c(r_version = base::gsub("R version ", [18:03:25.687] "", base::R.version$version.string), [18:03:25.687] platform = base::sprintf("%s (%s-bit)", [18:03:25.687] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:25.687] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:25.687] "release", "version")], collapse = " "), [18:03:25.687] hostname = base::Sys.info()[["nodename"]]) [18:03:25.687] info <- base::sprintf("%s: %s", base::names(info), [18:03:25.687] info) [18:03:25.687] info <- base::paste(info, collapse = "; ") [18:03:25.687] if (!has_future) { [18:03:25.687] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:25.687] info) [18:03:25.687] } [18:03:25.687] else { [18:03:25.687] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:25.687] info, version) [18:03:25.687] } [18:03:25.687] base::stop(msg) [18:03:25.687] } [18:03:25.687] }) [18:03:25.687] } [18:03:25.687] base::local({ [18:03:25.687] for (pkg in "utils") { [18:03:25.687] base::loadNamespace(pkg) [18:03:25.687] base::library(pkg, character.only = TRUE) [18:03:25.687] } [18:03:25.687] }) [18:03:25.687] } [18:03:25.687] options(future.plan = NULL) [18:03:25.687] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.687] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:25.687] } [18:03:25.687] ...future.workdir <- getwd() [18:03:25.687] } [18:03:25.687] ...future.oldOptions <- base::as.list(base::.Options) [18:03:25.687] ...future.oldEnvVars <- base::Sys.getenv() [18:03:25.687] } [18:03:25.687] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:25.687] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:25.687] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:25.687] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:25.687] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:25.687] future.stdout.windows.reencode = NULL, width = 80L) [18:03:25.687] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:25.687] base::names(...future.oldOptions)) [18:03:25.687] } [18:03:25.687] if (FALSE) { [18:03:25.687] } [18:03:25.687] else { [18:03:25.687] if (FALSE) { [18:03:25.687] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:25.687] open = "w") [18:03:25.687] } [18:03:25.687] else { [18:03:25.687] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:25.687] windows = "NUL", "/dev/null"), open = "w") [18:03:25.687] } [18:03:25.687] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:25.687] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:25.687] base::sink(type = "output", split = FALSE) [18:03:25.687] base::close(...future.stdout) [18:03:25.687] }, add = TRUE) [18:03:25.687] } [18:03:25.687] ...future.frame <- base::sys.nframe() [18:03:25.687] ...future.conditions <- base::list() [18:03:25.687] ...future.rng <- base::globalenv()$.Random.seed [18:03:25.687] if (FALSE) { [18:03:25.687] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:25.687] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:25.687] } [18:03:25.687] ...future.result <- base::tryCatch({ [18:03:25.687] base::withCallingHandlers({ [18:03:25.687] ...future.value <- base::withVisible(base::local({ [18:03:25.687] print(1:50) [18:03:25.687] str(1:50) [18:03:25.687] cat(letters, sep = "-") [18:03:25.687] cat(1:6, collapse = "\n") [18:03:25.687] write.table(datasets::iris[1:10, ], sep = "\t") [18:03:25.687] 42L [18:03:25.687] })) [18:03:25.687] future::FutureResult(value = ...future.value$value, [18:03:25.687] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.687] ...future.rng), globalenv = if (FALSE) [18:03:25.687] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:25.687] ...future.globalenv.names)) [18:03:25.687] else NULL, started = ...future.startTime, version = "1.8") [18:03:25.687] }, condition = base::local({ [18:03:25.687] c <- base::c [18:03:25.687] inherits <- base::inherits [18:03:25.687] invokeRestart <- base::invokeRestart [18:03:25.687] length <- base::length [18:03:25.687] list <- base::list [18:03:25.687] seq.int <- base::seq.int [18:03:25.687] signalCondition <- base::signalCondition [18:03:25.687] sys.calls <- base::sys.calls [18:03:25.687] `[[` <- base::`[[` [18:03:25.687] `+` <- base::`+` [18:03:25.687] `<<-` <- base::`<<-` [18:03:25.687] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:25.687] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:25.687] 3L)] [18:03:25.687] } [18:03:25.687] function(cond) { [18:03:25.687] is_error <- inherits(cond, "error") [18:03:25.687] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:25.687] NULL) [18:03:25.687] if (is_error) { [18:03:25.687] sessionInformation <- function() { [18:03:25.687] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:25.687] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:25.687] search = base::search(), system = base::Sys.info()) [18:03:25.687] } [18:03:25.687] ...future.conditions[[length(...future.conditions) + [18:03:25.687] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:25.687] cond$call), session = sessionInformation(), [18:03:25.687] timestamp = base::Sys.time(), signaled = 0L) [18:03:25.687] signalCondition(cond) [18:03:25.687] } [18:03:25.687] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:25.687] "immediateCondition"))) { [18:03:25.687] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:25.687] ...future.conditions[[length(...future.conditions) + [18:03:25.687] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:25.687] if (TRUE && !signal) { [18:03:25.687] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.687] { [18:03:25.687] inherits <- base::inherits [18:03:25.687] invokeRestart <- base::invokeRestart [18:03:25.687] is.null <- base::is.null [18:03:25.687] muffled <- FALSE [18:03:25.687] if (inherits(cond, "message")) { [18:03:25.687] muffled <- grepl(pattern, "muffleMessage") [18:03:25.687] if (muffled) [18:03:25.687] invokeRestart("muffleMessage") [18:03:25.687] } [18:03:25.687] else if (inherits(cond, "warning")) { [18:03:25.687] muffled <- grepl(pattern, "muffleWarning") [18:03:25.687] if (muffled) [18:03:25.687] invokeRestart("muffleWarning") [18:03:25.687] } [18:03:25.687] else if (inherits(cond, "condition")) { [18:03:25.687] if (!is.null(pattern)) { [18:03:25.687] computeRestarts <- base::computeRestarts [18:03:25.687] grepl <- base::grepl [18:03:25.687] restarts <- computeRestarts(cond) [18:03:25.687] for (restart in restarts) { [18:03:25.687] name <- restart$name [18:03:25.687] if (is.null(name)) [18:03:25.687] next [18:03:25.687] if (!grepl(pattern, name)) [18:03:25.687] next [18:03:25.687] invokeRestart(restart) [18:03:25.687] muffled <- TRUE [18:03:25.687] break [18:03:25.687] } [18:03:25.687] } [18:03:25.687] } [18:03:25.687] invisible(muffled) [18:03:25.687] } [18:03:25.687] muffleCondition(cond, pattern = "^muffle") [18:03:25.687] } [18:03:25.687] } [18:03:25.687] else { [18:03:25.687] if (TRUE) { [18:03:25.687] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.687] { [18:03:25.687] inherits <- base::inherits [18:03:25.687] invokeRestart <- base::invokeRestart [18:03:25.687] is.null <- base::is.null [18:03:25.687] muffled <- FALSE [18:03:25.687] if (inherits(cond, "message")) { [18:03:25.687] muffled <- grepl(pattern, "muffleMessage") [18:03:25.687] if (muffled) [18:03:25.687] invokeRestart("muffleMessage") [18:03:25.687] } [18:03:25.687] else if (inherits(cond, "warning")) { [18:03:25.687] muffled <- grepl(pattern, "muffleWarning") [18:03:25.687] if (muffled) [18:03:25.687] invokeRestart("muffleWarning") [18:03:25.687] } [18:03:25.687] else if (inherits(cond, "condition")) { [18:03:25.687] if (!is.null(pattern)) { [18:03:25.687] computeRestarts <- base::computeRestarts [18:03:25.687] grepl <- base::grepl [18:03:25.687] restarts <- computeRestarts(cond) [18:03:25.687] for (restart in restarts) { [18:03:25.687] name <- restart$name [18:03:25.687] if (is.null(name)) [18:03:25.687] next [18:03:25.687] if (!grepl(pattern, name)) [18:03:25.687] next [18:03:25.687] invokeRestart(restart) [18:03:25.687] muffled <- TRUE [18:03:25.687] break [18:03:25.687] } [18:03:25.687] } [18:03:25.687] } [18:03:25.687] invisible(muffled) [18:03:25.687] } [18:03:25.687] muffleCondition(cond, pattern = "^muffle") [18:03:25.687] } [18:03:25.687] } [18:03:25.687] } [18:03:25.687] })) [18:03:25.687] }, error = function(ex) { [18:03:25.687] base::structure(base::list(value = NULL, visible = NULL, [18:03:25.687] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.687] ...future.rng), started = ...future.startTime, [18:03:25.687] finished = Sys.time(), session_uuid = NA_character_, [18:03:25.687] version = "1.8"), class = "FutureResult") [18:03:25.687] }, finally = { [18:03:25.687] if (!identical(...future.workdir, getwd())) [18:03:25.687] setwd(...future.workdir) [18:03:25.687] { [18:03:25.687] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:25.687] ...future.oldOptions$nwarnings <- NULL [18:03:25.687] } [18:03:25.687] base::options(...future.oldOptions) [18:03:25.687] if (.Platform$OS.type == "windows") { [18:03:25.687] old_names <- names(...future.oldEnvVars) [18:03:25.687] envs <- base::Sys.getenv() [18:03:25.687] names <- names(envs) [18:03:25.687] common <- intersect(names, old_names) [18:03:25.687] added <- setdiff(names, old_names) [18:03:25.687] removed <- setdiff(old_names, names) [18:03:25.687] changed <- common[...future.oldEnvVars[common] != [18:03:25.687] envs[common]] [18:03:25.687] NAMES <- toupper(changed) [18:03:25.687] args <- list() [18:03:25.687] for (kk in seq_along(NAMES)) { [18:03:25.687] name <- changed[[kk]] [18:03:25.687] NAME <- NAMES[[kk]] [18:03:25.687] if (name != NAME && is.element(NAME, old_names)) [18:03:25.687] next [18:03:25.687] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.687] } [18:03:25.687] NAMES <- toupper(added) [18:03:25.687] for (kk in seq_along(NAMES)) { [18:03:25.687] name <- added[[kk]] [18:03:25.687] NAME <- NAMES[[kk]] [18:03:25.687] if (name != NAME && is.element(NAME, old_names)) [18:03:25.687] next [18:03:25.687] args[[name]] <- "" [18:03:25.687] } [18:03:25.687] NAMES <- toupper(removed) [18:03:25.687] for (kk in seq_along(NAMES)) { [18:03:25.687] name <- removed[[kk]] [18:03:25.687] NAME <- NAMES[[kk]] [18:03:25.687] if (name != NAME && is.element(NAME, old_names)) [18:03:25.687] next [18:03:25.687] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.687] } [18:03:25.687] if (length(args) > 0) [18:03:25.687] base::do.call(base::Sys.setenv, args = args) [18:03:25.687] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:25.687] } [18:03:25.687] else { [18:03:25.687] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:25.687] } [18:03:25.687] { [18:03:25.687] if (base::length(...future.futureOptionsAdded) > [18:03:25.687] 0L) { [18:03:25.687] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:25.687] base::names(opts) <- ...future.futureOptionsAdded [18:03:25.687] base::options(opts) [18:03:25.687] } [18:03:25.687] { [18:03:25.687] { [18:03:25.687] NULL [18:03:25.687] RNGkind("Mersenne-Twister") [18:03:25.687] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:03:25.687] inherits = FALSE) [18:03:25.687] } [18:03:25.687] options(future.plan = NULL) [18:03:25.687] if (is.na(NA_character_)) [18:03:25.687] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.687] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:25.687] future::plan(list(function (..., envir = parent.frame()) [18:03:25.687] { [18:03:25.687] future <- SequentialFuture(..., envir = envir) [18:03:25.687] if (!future$lazy) [18:03:25.687] future <- run(future) [18:03:25.687] invisible(future) [18:03:25.687] }), .cleanup = FALSE, .init = FALSE) [18:03:25.687] } [18:03:25.687] } [18:03:25.687] } [18:03:25.687] }) [18:03:25.687] if (TRUE) { [18:03:25.687] base::sink(type = "output", split = FALSE) [18:03:25.687] if (FALSE) { [18:03:25.687] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:25.687] } [18:03:25.687] else { [18:03:25.687] ...future.result["stdout"] <- base::list(NULL) [18:03:25.687] } [18:03:25.687] base::close(...future.stdout) [18:03:25.687] ...future.stdout <- NULL [18:03:25.687] } [18:03:25.687] ...future.result$conditions <- ...future.conditions [18:03:25.687] ...future.result$finished <- base::Sys.time() [18:03:25.687] ...future.result [18:03:25.687] } [18:03:25.691] plan(): Setting new future strategy stack: [18:03:25.691] List of future strategies: [18:03:25.691] 1. sequential: [18:03:25.691] - args: function (..., envir = parent.frame()) [18:03:25.691] - tweaked: FALSE [18:03:25.691] - call: NULL [18:03:25.692] plan(): nbrOfWorkers() = 1 [18:03:25.694] plan(): Setting new future strategy stack: [18:03:25.694] List of future strategies: [18:03:25.694] 1. sequential: [18:03:25.694] - args: function (..., envir = parent.frame()) [18:03:25.694] - tweaked: FALSE [18:03:25.694] - call: plan(strategy) [18:03:25.694] plan(): nbrOfWorkers() = 1 [18:03:25.695] SequentialFuture started (and completed) [18:03:25.695] - Launch lazy future ... done [18:03:25.695] run() for 'SequentialFuture' ... done List of 11 $ value : int 42 $ visible : logi TRUE $ stdout : NULL $ conditions : list() $ rng : logi FALSE $ globalenv : NULL $ started : POSIXct[1:1], format: "2023-07-01 18:03:25" $ finished : POSIXct[1:1], format: "2023-07-01 18:03:25" $ session_uuid: chr "afadd03b-0d0f-0977-1216-04a8047e001a" ..- 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 87164 .. ..$ time : POSIXct[1:1], format: "2023-07-01 18:03:25" .. ..$ random: int 2147483647 $ r_info :List of 4 ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 .. ..$ : int [1:3] 4 4 0 ..$ os : chr "windows" ..$ os_name : chr "Windows" ..$ captures_utf8: logi TRUE $ version : chr "1.8" - attr(*, "class")= chr "FutureResult" [18:03:25.704] getGlobalsAndPackages() ... [18:03:25.704] Searching for globals... [18:03:25.709] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [18:03:25.709] Searching for globals ... DONE [18:03:25.709] Resolving globals: FALSE [18:03:25.710] [18:03:25.710] - packages: [1] 'utils' [18:03:25.710] getGlobalsAndPackages() ... DONE [18:03:25.711] run() for 'Future' ... [18:03:25.711] - state: 'created' [18:03:25.711] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:03:25.711] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:03:25.712] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:03:25.712] - Field: 'label' [18:03:25.712] - Field: 'local' [18:03:25.712] - Field: 'owner' [18:03:25.712] - Field: 'envir' [18:03:25.713] - Field: 'packages' [18:03:25.713] - Field: 'gc' [18:03:25.713] - Field: 'conditions' [18:03:25.713] - Field: 'expr' [18:03:25.713] - Field: 'uuid' [18:03:25.713] - Field: 'seed' [18:03:25.714] - Field: 'version' [18:03:25.714] - Field: 'result' [18:03:25.714] - Field: 'asynchronous' [18:03:25.714] - Field: 'calls' [18:03:25.714] - Field: 'globals' [18:03:25.715] - Field: 'stdout' [18:03:25.715] - Field: 'earlySignal' [18:03:25.715] - Field: 'lazy' [18:03:25.715] - Field: 'state' [18:03:25.715] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:03:25.715] - Launch lazy future ... [18:03:25.716] Packages needed by the future expression (n = 1): 'utils' [18:03:25.716] Packages needed by future strategies (n = 0): [18:03:25.716] { [18:03:25.716] { [18:03:25.716] { [18:03:25.716] ...future.startTime <- base::Sys.time() [18:03:25.716] { [18:03:25.716] { [18:03:25.716] { [18:03:25.716] { [18:03:25.716] base::local({ [18:03:25.716] has_future <- base::requireNamespace("future", [18:03:25.716] quietly = TRUE) [18:03:25.716] if (has_future) { [18:03:25.716] ns <- base::getNamespace("future") [18:03:25.716] version <- ns[[".package"]][["version"]] [18:03:25.716] if (is.null(version)) [18:03:25.716] version <- utils::packageVersion("future") [18:03:25.716] } [18:03:25.716] else { [18:03:25.716] version <- NULL [18:03:25.716] } [18:03:25.716] if (!has_future || version < "1.8.0") { [18:03:25.716] info <- base::c(r_version = base::gsub("R version ", [18:03:25.716] "", base::R.version$version.string), [18:03:25.716] platform = base::sprintf("%s (%s-bit)", [18:03:25.716] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:25.716] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:25.716] "release", "version")], collapse = " "), [18:03:25.716] hostname = base::Sys.info()[["nodename"]]) [18:03:25.716] info <- base::sprintf("%s: %s", base::names(info), [18:03:25.716] info) [18:03:25.716] info <- base::paste(info, collapse = "; ") [18:03:25.716] if (!has_future) { [18:03:25.716] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:25.716] info) [18:03:25.716] } [18:03:25.716] else { [18:03:25.716] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:25.716] info, version) [18:03:25.716] } [18:03:25.716] base::stop(msg) [18:03:25.716] } [18:03:25.716] }) [18:03:25.716] } [18:03:25.716] base::local({ [18:03:25.716] for (pkg in "utils") { [18:03:25.716] base::loadNamespace(pkg) [18:03:25.716] base::library(pkg, character.only = TRUE) [18:03:25.716] } [18:03:25.716] }) [18:03:25.716] } [18:03:25.716] options(future.plan = NULL) [18:03:25.716] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.716] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:25.716] } [18:03:25.716] ...future.workdir <- getwd() [18:03:25.716] } [18:03:25.716] ...future.oldOptions <- base::as.list(base::.Options) [18:03:25.716] ...future.oldEnvVars <- base::Sys.getenv() [18:03:25.716] } [18:03:25.716] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:25.716] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:25.716] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:25.716] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:25.716] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:25.716] future.stdout.windows.reencode = NULL, width = 80L) [18:03:25.716] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:25.716] base::names(...future.oldOptions)) [18:03:25.716] } [18:03:25.716] if (FALSE) { [18:03:25.716] } [18:03:25.716] else { [18:03:25.716] if (FALSE) { [18:03:25.716] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:25.716] open = "w") [18:03:25.716] } [18:03:25.716] else { [18:03:25.716] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:25.716] windows = "NUL", "/dev/null"), open = "w") [18:03:25.716] } [18:03:25.716] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:25.716] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:25.716] base::sink(type = "output", split = FALSE) [18:03:25.716] base::close(...future.stdout) [18:03:25.716] }, add = TRUE) [18:03:25.716] } [18:03:25.716] ...future.frame <- base::sys.nframe() [18:03:25.716] ...future.conditions <- base::list() [18:03:25.716] ...future.rng <- base::globalenv()$.Random.seed [18:03:25.716] if (FALSE) { [18:03:25.716] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:25.716] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:25.716] } [18:03:25.716] ...future.result <- base::tryCatch({ [18:03:25.716] base::withCallingHandlers({ [18:03:25.716] ...future.value <- base::withVisible(base::local({ [18:03:25.716] print(1:50) [18:03:25.716] str(1:50) [18:03:25.716] cat(letters, sep = "-") [18:03:25.716] cat(1:6, collapse = "\n") [18:03:25.716] write.table(datasets::iris[1:10, ], sep = "\t") [18:03:25.716] 42L [18:03:25.716] })) [18:03:25.716] future::FutureResult(value = ...future.value$value, [18:03:25.716] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.716] ...future.rng), globalenv = if (FALSE) [18:03:25.716] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:25.716] ...future.globalenv.names)) [18:03:25.716] else NULL, started = ...future.startTime, version = "1.8") [18:03:25.716] }, condition = base::local({ [18:03:25.716] c <- base::c [18:03:25.716] inherits <- base::inherits [18:03:25.716] invokeRestart <- base::invokeRestart [18:03:25.716] length <- base::length [18:03:25.716] list <- base::list [18:03:25.716] seq.int <- base::seq.int [18:03:25.716] signalCondition <- base::signalCondition [18:03:25.716] sys.calls <- base::sys.calls [18:03:25.716] `[[` <- base::`[[` [18:03:25.716] `+` <- base::`+` [18:03:25.716] `<<-` <- base::`<<-` [18:03:25.716] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:25.716] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:25.716] 3L)] [18:03:25.716] } [18:03:25.716] function(cond) { [18:03:25.716] is_error <- inherits(cond, "error") [18:03:25.716] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:25.716] NULL) [18:03:25.716] if (is_error) { [18:03:25.716] sessionInformation <- function() { [18:03:25.716] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:25.716] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:25.716] search = base::search(), system = base::Sys.info()) [18:03:25.716] } [18:03:25.716] ...future.conditions[[length(...future.conditions) + [18:03:25.716] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:25.716] cond$call), session = sessionInformation(), [18:03:25.716] timestamp = base::Sys.time(), signaled = 0L) [18:03:25.716] signalCondition(cond) [18:03:25.716] } [18:03:25.716] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:25.716] "immediateCondition"))) { [18:03:25.716] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:25.716] ...future.conditions[[length(...future.conditions) + [18:03:25.716] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:25.716] if (TRUE && !signal) { [18:03:25.716] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.716] { [18:03:25.716] inherits <- base::inherits [18:03:25.716] invokeRestart <- base::invokeRestart [18:03:25.716] is.null <- base::is.null [18:03:25.716] muffled <- FALSE [18:03:25.716] if (inherits(cond, "message")) { [18:03:25.716] muffled <- grepl(pattern, "muffleMessage") [18:03:25.716] if (muffled) [18:03:25.716] invokeRestart("muffleMessage") [18:03:25.716] } [18:03:25.716] else if (inherits(cond, "warning")) { [18:03:25.716] muffled <- grepl(pattern, "muffleWarning") [18:03:25.716] if (muffled) [18:03:25.716] invokeRestart("muffleWarning") [18:03:25.716] } [18:03:25.716] else if (inherits(cond, "condition")) { [18:03:25.716] if (!is.null(pattern)) { [18:03:25.716] computeRestarts <- base::computeRestarts [18:03:25.716] grepl <- base::grepl [18:03:25.716] restarts <- computeRestarts(cond) [18:03:25.716] for (restart in restarts) { [18:03:25.716] name <- restart$name [18:03:25.716] if (is.null(name)) [18:03:25.716] next [18:03:25.716] if (!grepl(pattern, name)) [18:03:25.716] next [18:03:25.716] invokeRestart(restart) [18:03:25.716] muffled <- TRUE [18:03:25.716] break [18:03:25.716] } [18:03:25.716] } [18:03:25.716] } [18:03:25.716] invisible(muffled) [18:03:25.716] } [18:03:25.716] muffleCondition(cond, pattern = "^muffle") [18:03:25.716] } [18:03:25.716] } [18:03:25.716] else { [18:03:25.716] if (TRUE) { [18:03:25.716] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.716] { [18:03:25.716] inherits <- base::inherits [18:03:25.716] invokeRestart <- base::invokeRestart [18:03:25.716] is.null <- base::is.null [18:03:25.716] muffled <- FALSE [18:03:25.716] if (inherits(cond, "message")) { [18:03:25.716] muffled <- grepl(pattern, "muffleMessage") [18:03:25.716] if (muffled) [18:03:25.716] invokeRestart("muffleMessage") [18:03:25.716] } [18:03:25.716] else if (inherits(cond, "warning")) { [18:03:25.716] muffled <- grepl(pattern, "muffleWarning") [18:03:25.716] if (muffled) [18:03:25.716] invokeRestart("muffleWarning") [18:03:25.716] } [18:03:25.716] else if (inherits(cond, "condition")) { [18:03:25.716] if (!is.null(pattern)) { [18:03:25.716] computeRestarts <- base::computeRestarts [18:03:25.716] grepl <- base::grepl [18:03:25.716] restarts <- computeRestarts(cond) [18:03:25.716] for (restart in restarts) { [18:03:25.716] name <- restart$name [18:03:25.716] if (is.null(name)) [18:03:25.716] next [18:03:25.716] if (!grepl(pattern, name)) [18:03:25.716] next [18:03:25.716] invokeRestart(restart) [18:03:25.716] muffled <- TRUE [18:03:25.716] break [18:03:25.716] } [18:03:25.716] } [18:03:25.716] } [18:03:25.716] invisible(muffled) [18:03:25.716] } [18:03:25.716] muffleCondition(cond, pattern = "^muffle") [18:03:25.716] } [18:03:25.716] } [18:03:25.716] } [18:03:25.716] })) [18:03:25.716] }, error = function(ex) { [18:03:25.716] base::structure(base::list(value = NULL, visible = NULL, [18:03:25.716] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.716] ...future.rng), started = ...future.startTime, [18:03:25.716] finished = Sys.time(), session_uuid = NA_character_, [18:03:25.716] version = "1.8"), class = "FutureResult") [18:03:25.716] }, finally = { [18:03:25.716] if (!identical(...future.workdir, getwd())) [18:03:25.716] setwd(...future.workdir) [18:03:25.716] { [18:03:25.716] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:25.716] ...future.oldOptions$nwarnings <- NULL [18:03:25.716] } [18:03:25.716] base::options(...future.oldOptions) [18:03:25.716] if (.Platform$OS.type == "windows") { [18:03:25.716] old_names <- names(...future.oldEnvVars) [18:03:25.716] envs <- base::Sys.getenv() [18:03:25.716] names <- names(envs) [18:03:25.716] common <- intersect(names, old_names) [18:03:25.716] added <- setdiff(names, old_names) [18:03:25.716] removed <- setdiff(old_names, names) [18:03:25.716] changed <- common[...future.oldEnvVars[common] != [18:03:25.716] envs[common]] [18:03:25.716] NAMES <- toupper(changed) [18:03:25.716] args <- list() [18:03:25.716] for (kk in seq_along(NAMES)) { [18:03:25.716] name <- changed[[kk]] [18:03:25.716] NAME <- NAMES[[kk]] [18:03:25.716] if (name != NAME && is.element(NAME, old_names)) [18:03:25.716] next [18:03:25.716] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.716] } [18:03:25.716] NAMES <- toupper(added) [18:03:25.716] for (kk in seq_along(NAMES)) { [18:03:25.716] name <- added[[kk]] [18:03:25.716] NAME <- NAMES[[kk]] [18:03:25.716] if (name != NAME && is.element(NAME, old_names)) [18:03:25.716] next [18:03:25.716] args[[name]] <- "" [18:03:25.716] } [18:03:25.716] NAMES <- toupper(removed) [18:03:25.716] for (kk in seq_along(NAMES)) { [18:03:25.716] name <- removed[[kk]] [18:03:25.716] NAME <- NAMES[[kk]] [18:03:25.716] if (name != NAME && is.element(NAME, old_names)) [18:03:25.716] next [18:03:25.716] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.716] } [18:03:25.716] if (length(args) > 0) [18:03:25.716] base::do.call(base::Sys.setenv, args = args) [18:03:25.716] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:25.716] } [18:03:25.716] else { [18:03:25.716] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:25.716] } [18:03:25.716] { [18:03:25.716] if (base::length(...future.futureOptionsAdded) > [18:03:25.716] 0L) { [18:03:25.716] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:25.716] base::names(opts) <- ...future.futureOptionsAdded [18:03:25.716] base::options(opts) [18:03:25.716] } [18:03:25.716] { [18:03:25.716] { [18:03:25.716] NULL [18:03:25.716] RNGkind("Mersenne-Twister") [18:03:25.716] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:03:25.716] inherits = FALSE) [18:03:25.716] } [18:03:25.716] options(future.plan = NULL) [18:03:25.716] if (is.na(NA_character_)) [18:03:25.716] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.716] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:25.716] future::plan(list(function (..., envir = parent.frame()) [18:03:25.716] { [18:03:25.716] future <- SequentialFuture(..., envir = envir) [18:03:25.716] if (!future$lazy) [18:03:25.716] future <- run(future) [18:03:25.716] invisible(future) [18:03:25.716] }), .cleanup = FALSE, .init = FALSE) [18:03:25.716] } [18:03:25.716] } [18:03:25.716] } [18:03:25.716] }) [18:03:25.716] if (TRUE) { [18:03:25.716] base::sink(type = "output", split = FALSE) [18:03:25.716] if (FALSE) { [18:03:25.716] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:25.716] } [18:03:25.716] else { [18:03:25.716] ...future.result["stdout"] <- base::list(NULL) [18:03:25.716] } [18:03:25.716] base::close(...future.stdout) [18:03:25.716] ...future.stdout <- NULL [18:03:25.716] } [18:03:25.716] ...future.result$conditions <- ...future.conditions [18:03:25.716] ...future.result$finished <- base::Sys.time() [18:03:25.716] ...future.result [18:03:25.716] } [18:03:25.721] plan(): Setting new future strategy stack: [18:03:25.721] List of future strategies: [18:03:25.721] 1. sequential: [18:03:25.721] - args: function (..., envir = parent.frame()) [18:03:25.721] - tweaked: FALSE [18:03:25.721] - call: NULL [18:03:25.721] plan(): nbrOfWorkers() = 1 [18:03:25.723] plan(): Setting new future strategy stack: [18:03:25.724] List of future strategies: [18:03:25.724] 1. sequential: [18:03:25.724] - args: function (..., envir = parent.frame()) [18:03:25.724] - tweaked: FALSE [18:03:25.724] - call: plan(strategy) [18:03:25.724] plan(): nbrOfWorkers() = 1 [18:03:25.724] SequentialFuture started (and completed) [18:03:25.725] - Launch lazy future ... done [18:03:25.725] run() for 'SequentialFuture' ... done - stdout = structure(TRUE, drop = TRUE) [18:03:25.725] getGlobalsAndPackages() ... [18:03:25.725] Searching for globals... [18:03:25.726] - globals found: [1] 'print' [18:03:25.726] Searching for globals ... DONE [18:03:25.726] Resolving globals: FALSE [18:03:25.727] [18:03:25.727] [18:03:25.727] getGlobalsAndPackages() ... DONE [18:03:25.727] run() for 'Future' ... [18:03:25.727] - state: 'created' [18:03:25.728] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:03:25.728] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:03:25.728] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:03:25.728] - Field: 'label' [18:03:25.729] - Field: 'local' [18:03:25.729] - Field: 'owner' [18:03:25.729] - Field: 'envir' [18:03:25.729] - Field: 'packages' [18:03:25.729] - Field: 'gc' [18:03:25.729] - Field: 'conditions' [18:03:25.730] - Field: 'expr' [18:03:25.730] - Field: 'uuid' [18:03:25.730] - Field: 'seed' [18:03:25.730] - Field: 'version' [18:03:25.730] - Field: 'result' [18:03:25.731] - Field: 'asynchronous' [18:03:25.731] - Field: 'calls' [18:03:25.731] - Field: 'globals' [18:03:25.731] - Field: 'stdout' [18:03:25.731] - Field: 'earlySignal' [18:03:25.731] - Field: 'lazy' [18:03:25.732] - Field: 'state' [18:03:25.732] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:03:25.732] - Launch lazy future ... [18:03:25.732] Packages needed by the future expression (n = 0): [18:03:25.732] Packages needed by future strategies (n = 0): [18:03:25.733] { [18:03:25.733] { [18:03:25.733] { [18:03:25.733] ...future.startTime <- base::Sys.time() [18:03:25.733] { [18:03:25.733] { [18:03:25.733] { [18:03:25.733] base::local({ [18:03:25.733] has_future <- base::requireNamespace("future", [18:03:25.733] quietly = TRUE) [18:03:25.733] if (has_future) { [18:03:25.733] ns <- base::getNamespace("future") [18:03:25.733] version <- ns[[".package"]][["version"]] [18:03:25.733] if (is.null(version)) [18:03:25.733] version <- utils::packageVersion("future") [18:03:25.733] } [18:03:25.733] else { [18:03:25.733] version <- NULL [18:03:25.733] } [18:03:25.733] if (!has_future || version < "1.8.0") { [18:03:25.733] info <- base::c(r_version = base::gsub("R version ", [18:03:25.733] "", base::R.version$version.string), [18:03:25.733] platform = base::sprintf("%s (%s-bit)", [18:03:25.733] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:25.733] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:25.733] "release", "version")], collapse = " "), [18:03:25.733] hostname = base::Sys.info()[["nodename"]]) [18:03:25.733] info <- base::sprintf("%s: %s", base::names(info), [18:03:25.733] info) [18:03:25.733] info <- base::paste(info, collapse = "; ") [18:03:25.733] if (!has_future) { [18:03:25.733] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:25.733] info) [18:03:25.733] } [18:03:25.733] else { [18:03:25.733] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:25.733] info, version) [18:03:25.733] } [18:03:25.733] base::stop(msg) [18:03:25.733] } [18:03:25.733] }) [18:03:25.733] } [18:03:25.733] options(future.plan = NULL) [18:03:25.733] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.733] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:25.733] } [18:03:25.733] ...future.workdir <- getwd() [18:03:25.733] } [18:03:25.733] ...future.oldOptions <- base::as.list(base::.Options) [18:03:25.733] ...future.oldEnvVars <- base::Sys.getenv() [18:03:25.733] } [18:03:25.733] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:25.733] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:25.733] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:25.733] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:25.733] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:25.733] future.stdout.windows.reencode = NULL, width = 80L) [18:03:25.733] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:25.733] base::names(...future.oldOptions)) [18:03:25.733] } [18:03:25.733] if (FALSE) { [18:03:25.733] } [18:03:25.733] else { [18:03:25.733] if (TRUE) { [18:03:25.733] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:25.733] open = "w") [18:03:25.733] } [18:03:25.733] else { [18:03:25.733] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:25.733] windows = "NUL", "/dev/null"), open = "w") [18:03:25.733] } [18:03:25.733] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:25.733] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:25.733] base::sink(type = "output", split = FALSE) [18:03:25.733] base::close(...future.stdout) [18:03:25.733] }, add = TRUE) [18:03:25.733] } [18:03:25.733] ...future.frame <- base::sys.nframe() [18:03:25.733] ...future.conditions <- base::list() [18:03:25.733] ...future.rng <- base::globalenv()$.Random.seed [18:03:25.733] if (FALSE) { [18:03:25.733] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:25.733] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:25.733] } [18:03:25.733] ...future.result <- base::tryCatch({ [18:03:25.733] base::withCallingHandlers({ [18:03:25.733] ...future.value <- base::withVisible(base::local(print(42))) [18:03:25.733] future::FutureResult(value = ...future.value$value, [18:03:25.733] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.733] ...future.rng), globalenv = if (FALSE) [18:03:25.733] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:25.733] ...future.globalenv.names)) [18:03:25.733] else NULL, started = ...future.startTime, version = "1.8") [18:03:25.733] }, condition = base::local({ [18:03:25.733] c <- base::c [18:03:25.733] inherits <- base::inherits [18:03:25.733] invokeRestart <- base::invokeRestart [18:03:25.733] length <- base::length [18:03:25.733] list <- base::list [18:03:25.733] seq.int <- base::seq.int [18:03:25.733] signalCondition <- base::signalCondition [18:03:25.733] sys.calls <- base::sys.calls [18:03:25.733] `[[` <- base::`[[` [18:03:25.733] `+` <- base::`+` [18:03:25.733] `<<-` <- base::`<<-` [18:03:25.733] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:25.733] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:25.733] 3L)] [18:03:25.733] } [18:03:25.733] function(cond) { [18:03:25.733] is_error <- inherits(cond, "error") [18:03:25.733] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:25.733] NULL) [18:03:25.733] if (is_error) { [18:03:25.733] sessionInformation <- function() { [18:03:25.733] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:25.733] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:25.733] search = base::search(), system = base::Sys.info()) [18:03:25.733] } [18:03:25.733] ...future.conditions[[length(...future.conditions) + [18:03:25.733] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:25.733] cond$call), session = sessionInformation(), [18:03:25.733] timestamp = base::Sys.time(), signaled = 0L) [18:03:25.733] signalCondition(cond) [18:03:25.733] } [18:03:25.733] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:25.733] "immediateCondition"))) { [18:03:25.733] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:25.733] ...future.conditions[[length(...future.conditions) + [18:03:25.733] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:25.733] if (TRUE && !signal) { [18:03:25.733] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.733] { [18:03:25.733] inherits <- base::inherits [18:03:25.733] invokeRestart <- base::invokeRestart [18:03:25.733] is.null <- base::is.null [18:03:25.733] muffled <- FALSE [18:03:25.733] if (inherits(cond, "message")) { [18:03:25.733] muffled <- grepl(pattern, "muffleMessage") [18:03:25.733] if (muffled) [18:03:25.733] invokeRestart("muffleMessage") [18:03:25.733] } [18:03:25.733] else if (inherits(cond, "warning")) { [18:03:25.733] muffled <- grepl(pattern, "muffleWarning") [18:03:25.733] if (muffled) [18:03:25.733] invokeRestart("muffleWarning") [18:03:25.733] } [18:03:25.733] else if (inherits(cond, "condition")) { [18:03:25.733] if (!is.null(pattern)) { [18:03:25.733] computeRestarts <- base::computeRestarts [18:03:25.733] grepl <- base::grepl [18:03:25.733] restarts <- computeRestarts(cond) [18:03:25.733] for (restart in restarts) { [18:03:25.733] name <- restart$name [18:03:25.733] if (is.null(name)) [18:03:25.733] next [18:03:25.733] if (!grepl(pattern, name)) [18:03:25.733] next [18:03:25.733] invokeRestart(restart) [18:03:25.733] muffled <- TRUE [18:03:25.733] break [18:03:25.733] } [18:03:25.733] } [18:03:25.733] } [18:03:25.733] invisible(muffled) [18:03:25.733] } [18:03:25.733] muffleCondition(cond, pattern = "^muffle") [18:03:25.733] } [18:03:25.733] } [18:03:25.733] else { [18:03:25.733] if (TRUE) { [18:03:25.733] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.733] { [18:03:25.733] inherits <- base::inherits [18:03:25.733] invokeRestart <- base::invokeRestart [18:03:25.733] is.null <- base::is.null [18:03:25.733] muffled <- FALSE [18:03:25.733] if (inherits(cond, "message")) { [18:03:25.733] muffled <- grepl(pattern, "muffleMessage") [18:03:25.733] if (muffled) [18:03:25.733] invokeRestart("muffleMessage") [18:03:25.733] } [18:03:25.733] else if (inherits(cond, "warning")) { [18:03:25.733] muffled <- grepl(pattern, "muffleWarning") [18:03:25.733] if (muffled) [18:03:25.733] invokeRestart("muffleWarning") [18:03:25.733] } [18:03:25.733] else if (inherits(cond, "condition")) { [18:03:25.733] if (!is.null(pattern)) { [18:03:25.733] computeRestarts <- base::computeRestarts [18:03:25.733] grepl <- base::grepl [18:03:25.733] restarts <- computeRestarts(cond) [18:03:25.733] for (restart in restarts) { [18:03:25.733] name <- restart$name [18:03:25.733] if (is.null(name)) [18:03:25.733] next [18:03:25.733] if (!grepl(pattern, name)) [18:03:25.733] next [18:03:25.733] invokeRestart(restart) [18:03:25.733] muffled <- TRUE [18:03:25.733] break [18:03:25.733] } [18:03:25.733] } [18:03:25.733] } [18:03:25.733] invisible(muffled) [18:03:25.733] } [18:03:25.733] muffleCondition(cond, pattern = "^muffle") [18:03:25.733] } [18:03:25.733] } [18:03:25.733] } [18:03:25.733] })) [18:03:25.733] }, error = function(ex) { [18:03:25.733] base::structure(base::list(value = NULL, visible = NULL, [18:03:25.733] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.733] ...future.rng), started = ...future.startTime, [18:03:25.733] finished = Sys.time(), session_uuid = NA_character_, [18:03:25.733] version = "1.8"), class = "FutureResult") [18:03:25.733] }, finally = { [18:03:25.733] if (!identical(...future.workdir, getwd())) [18:03:25.733] setwd(...future.workdir) [18:03:25.733] { [18:03:25.733] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:25.733] ...future.oldOptions$nwarnings <- NULL [18:03:25.733] } [18:03:25.733] base::options(...future.oldOptions) [18:03:25.733] if (.Platform$OS.type == "windows") { [18:03:25.733] old_names <- names(...future.oldEnvVars) [18:03:25.733] envs <- base::Sys.getenv() [18:03:25.733] names <- names(envs) [18:03:25.733] common <- intersect(names, old_names) [18:03:25.733] added <- setdiff(names, old_names) [18:03:25.733] removed <- setdiff(old_names, names) [18:03:25.733] changed <- common[...future.oldEnvVars[common] != [18:03:25.733] envs[common]] [18:03:25.733] NAMES <- toupper(changed) [18:03:25.733] args <- list() [18:03:25.733] for (kk in seq_along(NAMES)) { [18:03:25.733] name <- changed[[kk]] [18:03:25.733] NAME <- NAMES[[kk]] [18:03:25.733] if (name != NAME && is.element(NAME, old_names)) [18:03:25.733] next [18:03:25.733] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.733] } [18:03:25.733] NAMES <- toupper(added) [18:03:25.733] for (kk in seq_along(NAMES)) { [18:03:25.733] name <- added[[kk]] [18:03:25.733] NAME <- NAMES[[kk]] [18:03:25.733] if (name != NAME && is.element(NAME, old_names)) [18:03:25.733] next [18:03:25.733] args[[name]] <- "" [18:03:25.733] } [18:03:25.733] NAMES <- toupper(removed) [18:03:25.733] for (kk in seq_along(NAMES)) { [18:03:25.733] name <- removed[[kk]] [18:03:25.733] NAME <- NAMES[[kk]] [18:03:25.733] if (name != NAME && is.element(NAME, old_names)) [18:03:25.733] next [18:03:25.733] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.733] } [18:03:25.733] if (length(args) > 0) [18:03:25.733] base::do.call(base::Sys.setenv, args = args) [18:03:25.733] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:25.733] } [18:03:25.733] else { [18:03:25.733] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:25.733] } [18:03:25.733] { [18:03:25.733] if (base::length(...future.futureOptionsAdded) > [18:03:25.733] 0L) { [18:03:25.733] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:25.733] base::names(opts) <- ...future.futureOptionsAdded [18:03:25.733] base::options(opts) [18:03:25.733] } [18:03:25.733] { [18:03:25.733] { [18:03:25.733] NULL [18:03:25.733] RNGkind("Mersenne-Twister") [18:03:25.733] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:03:25.733] inherits = FALSE) [18:03:25.733] } [18:03:25.733] options(future.plan = NULL) [18:03:25.733] if (is.na(NA_character_)) [18:03:25.733] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.733] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:25.733] future::plan(list(function (..., envir = parent.frame()) [18:03:25.733] { [18:03:25.733] future <- SequentialFuture(..., envir = envir) [18:03:25.733] if (!future$lazy) [18:03:25.733] future <- run(future) [18:03:25.733] invisible(future) [18:03:25.733] }), .cleanup = FALSE, .init = FALSE) [18:03:25.733] } [18:03:25.733] } [18:03:25.733] } [18:03:25.733] }) [18:03:25.733] if (TRUE) { [18:03:25.733] base::sink(type = "output", split = FALSE) [18:03:25.733] if (TRUE) { [18:03:25.733] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:25.733] } [18:03:25.733] else { [18:03:25.733] ...future.result["stdout"] <- base::list(NULL) [18:03:25.733] } [18:03:25.733] base::close(...future.stdout) [18:03:25.733] ...future.stdout <- NULL [18:03:25.733] } [18:03:25.733] ...future.result$conditions <- ...future.conditions [18:03:25.733] ...future.result$finished <- base::Sys.time() [18:03:25.733] ...future.result [18:03:25.733] } [18:03:25.737] plan(): Setting new future strategy stack: [18:03:25.737] List of future strategies: [18:03:25.737] 1. sequential: [18:03:25.737] - args: function (..., envir = parent.frame()) [18:03:25.737] - tweaked: FALSE [18:03:25.737] - call: NULL [18:03:25.737] plan(): nbrOfWorkers() = 1 [18:03:25.739] plan(): Setting new future strategy stack: [18:03:25.739] List of future strategies: [18:03:25.739] 1. sequential: [18:03:25.739] - args: function (..., envir = parent.frame()) [18:03:25.739] - tweaked: FALSE [18:03:25.739] - call: plan(strategy) [18:03:25.739] plan(): nbrOfWorkers() = 1 [18:03:25.740] SequentialFuture started (and completed) [18:03:25.740] - Launch lazy future ... done [18:03:25.740] run() for 'SequentialFuture' ... done [1] 42 - stdout = NA [18:03:25.740] getGlobalsAndPackages() ... [18:03:25.741] Searching for globals... [18:03:25.745] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [18:03:25.745] Searching for globals ... DONE [18:03:25.745] Resolving globals: FALSE [18:03:25.746] [18:03:25.746] - packages: [1] 'utils' [18:03:25.746] getGlobalsAndPackages() ... DONE [18:03:25.747] run() for 'Future' ... [18:03:25.747] - state: 'created' [18:03:25.747] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:03:25.748] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:03:25.748] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:03:25.748] - Field: 'label' [18:03:25.748] - Field: 'local' [18:03:25.748] - Field: 'owner' [18:03:25.749] - Field: 'envir' [18:03:25.749] - Field: 'packages' [18:03:25.749] - Field: 'gc' [18:03:25.749] - Field: 'conditions' [18:03:25.749] - Field: 'expr' [18:03:25.749] - Field: 'uuid' [18:03:25.750] - Field: 'seed' [18:03:25.750] - Field: 'version' [18:03:25.750] - Field: 'result' [18:03:25.750] - Field: 'asynchronous' [18:03:25.750] - Field: 'calls' [18:03:25.750] - Field: 'globals' [18:03:25.751] - Field: 'stdout' [18:03:25.751] - Field: 'earlySignal' [18:03:25.751] - Field: 'lazy' [18:03:25.751] - Field: 'state' [18:03:25.751] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:03:25.752] - Launch lazy future ... [18:03:25.752] Packages needed by the future expression (n = 1): 'utils' [18:03:25.752] Packages needed by future strategies (n = 0): [18:03:25.753] { [18:03:25.753] { [18:03:25.753] { [18:03:25.753] ...future.startTime <- base::Sys.time() [18:03:25.753] { [18:03:25.753] { [18:03:25.753] { [18:03:25.753] { [18:03:25.753] base::local({ [18:03:25.753] has_future <- base::requireNamespace("future", [18:03:25.753] quietly = TRUE) [18:03:25.753] if (has_future) { [18:03:25.753] ns <- base::getNamespace("future") [18:03:25.753] version <- ns[[".package"]][["version"]] [18:03:25.753] if (is.null(version)) [18:03:25.753] version <- utils::packageVersion("future") [18:03:25.753] } [18:03:25.753] else { [18:03:25.753] version <- NULL [18:03:25.753] } [18:03:25.753] if (!has_future || version < "1.8.0") { [18:03:25.753] info <- base::c(r_version = base::gsub("R version ", [18:03:25.753] "", base::R.version$version.string), [18:03:25.753] platform = base::sprintf("%s (%s-bit)", [18:03:25.753] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:25.753] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:25.753] "release", "version")], collapse = " "), [18:03:25.753] hostname = base::Sys.info()[["nodename"]]) [18:03:25.753] info <- base::sprintf("%s: %s", base::names(info), [18:03:25.753] info) [18:03:25.753] info <- base::paste(info, collapse = "; ") [18:03:25.753] if (!has_future) { [18:03:25.753] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:25.753] info) [18:03:25.753] } [18:03:25.753] else { [18:03:25.753] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:25.753] info, version) [18:03:25.753] } [18:03:25.753] base::stop(msg) [18:03:25.753] } [18:03:25.753] }) [18:03:25.753] } [18:03:25.753] base::local({ [18:03:25.753] for (pkg in "utils") { [18:03:25.753] base::loadNamespace(pkg) [18:03:25.753] base::library(pkg, character.only = TRUE) [18:03:25.753] } [18:03:25.753] }) [18:03:25.753] } [18:03:25.753] options(future.plan = NULL) [18:03:25.753] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.753] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:25.753] } [18:03:25.753] ...future.workdir <- getwd() [18:03:25.753] } [18:03:25.753] ...future.oldOptions <- base::as.list(base::.Options) [18:03:25.753] ...future.oldEnvVars <- base::Sys.getenv() [18:03:25.753] } [18:03:25.753] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:25.753] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:25.753] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:25.753] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:25.753] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:25.753] future.stdout.windows.reencode = NULL, width = 80L) [18:03:25.753] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:25.753] base::names(...future.oldOptions)) [18:03:25.753] } [18:03:25.753] if (TRUE) { [18:03:25.753] } [18:03:25.753] else { [18:03:25.753] if (NA) { [18:03:25.753] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:25.753] open = "w") [18:03:25.753] } [18:03:25.753] else { [18:03:25.753] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:25.753] windows = "NUL", "/dev/null"), open = "w") [18:03:25.753] } [18:03:25.753] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:25.753] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:25.753] base::sink(type = "output", split = FALSE) [18:03:25.753] base::close(...future.stdout) [18:03:25.753] }, add = TRUE) [18:03:25.753] } [18:03:25.753] ...future.frame <- base::sys.nframe() [18:03:25.753] ...future.conditions <- base::list() [18:03:25.753] ...future.rng <- base::globalenv()$.Random.seed [18:03:25.753] if (FALSE) { [18:03:25.753] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:25.753] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:25.753] } [18:03:25.753] ...future.result <- base::tryCatch({ [18:03:25.753] base::withCallingHandlers({ [18:03:25.753] ...future.value <- base::withVisible(base::local({ [18:03:25.753] print(1:50) [18:03:25.753] str(1:50) [18:03:25.753] cat(letters, sep = "-") [18:03:25.753] cat(1:6, collapse = "\n") [18:03:25.753] write.table(datasets::iris[1:10, ], sep = "\t") [18:03:25.753] 42L [18:03:25.753] })) [18:03:25.753] future::FutureResult(value = ...future.value$value, [18:03:25.753] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.753] ...future.rng), globalenv = if (FALSE) [18:03:25.753] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:25.753] ...future.globalenv.names)) [18:03:25.753] else NULL, started = ...future.startTime, version = "1.8") [18:03:25.753] }, condition = base::local({ [18:03:25.753] c <- base::c [18:03:25.753] inherits <- base::inherits [18:03:25.753] invokeRestart <- base::invokeRestart [18:03:25.753] length <- base::length [18:03:25.753] list <- base::list [18:03:25.753] seq.int <- base::seq.int [18:03:25.753] signalCondition <- base::signalCondition [18:03:25.753] sys.calls <- base::sys.calls [18:03:25.753] `[[` <- base::`[[` [18:03:25.753] `+` <- base::`+` [18:03:25.753] `<<-` <- base::`<<-` [18:03:25.753] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:25.753] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:25.753] 3L)] [18:03:25.753] } [18:03:25.753] function(cond) { [18:03:25.753] is_error <- inherits(cond, "error") [18:03:25.753] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:25.753] NULL) [18:03:25.753] if (is_error) { [18:03:25.753] sessionInformation <- function() { [18:03:25.753] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:25.753] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:25.753] search = base::search(), system = base::Sys.info()) [18:03:25.753] } [18:03:25.753] ...future.conditions[[length(...future.conditions) + [18:03:25.753] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:25.753] cond$call), session = sessionInformation(), [18:03:25.753] timestamp = base::Sys.time(), signaled = 0L) [18:03:25.753] signalCondition(cond) [18:03:25.753] } [18:03:25.753] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:25.753] "immediateCondition"))) { [18:03:25.753] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:25.753] ...future.conditions[[length(...future.conditions) + [18:03:25.753] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:25.753] if (TRUE && !signal) { [18:03:25.753] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.753] { [18:03:25.753] inherits <- base::inherits [18:03:25.753] invokeRestart <- base::invokeRestart [18:03:25.753] is.null <- base::is.null [18:03:25.753] muffled <- FALSE [18:03:25.753] if (inherits(cond, "message")) { [18:03:25.753] muffled <- grepl(pattern, "muffleMessage") [18:03:25.753] if (muffled) [18:03:25.753] invokeRestart("muffleMessage") [18:03:25.753] } [18:03:25.753] else if (inherits(cond, "warning")) { [18:03:25.753] muffled <- grepl(pattern, "muffleWarning") [18:03:25.753] if (muffled) [18:03:25.753] invokeRestart("muffleWarning") [18:03:25.753] } [18:03:25.753] else if (inherits(cond, "condition")) { [18:03:25.753] if (!is.null(pattern)) { [18:03:25.753] computeRestarts <- base::computeRestarts [18:03:25.753] grepl <- base::grepl [18:03:25.753] restarts <- computeRestarts(cond) [18:03:25.753] for (restart in restarts) { [18:03:25.753] name <- restart$name [18:03:25.753] if (is.null(name)) [18:03:25.753] next [18:03:25.753] if (!grepl(pattern, name)) [18:03:25.753] next [18:03:25.753] invokeRestart(restart) [18:03:25.753] muffled <- TRUE [18:03:25.753] break [18:03:25.753] } [18:03:25.753] } [18:03:25.753] } [18:03:25.753] invisible(muffled) [18:03:25.753] } [18:03:25.753] muffleCondition(cond, pattern = "^muffle") [18:03:25.753] } [18:03:25.753] } [18:03:25.753] else { [18:03:25.753] if (TRUE) { [18:03:25.753] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.753] { [18:03:25.753] inherits <- base::inherits [18:03:25.753] invokeRestart <- base::invokeRestart [18:03:25.753] is.null <- base::is.null [18:03:25.753] muffled <- FALSE [18:03:25.753] if (inherits(cond, "message")) { [18:03:25.753] muffled <- grepl(pattern, "muffleMessage") [18:03:25.753] if (muffled) [18:03:25.753] invokeRestart("muffleMessage") [18:03:25.753] } [18:03:25.753] else if (inherits(cond, "warning")) { [18:03:25.753] muffled <- grepl(pattern, "muffleWarning") [18:03:25.753] if (muffled) [18:03:25.753] invokeRestart("muffleWarning") [18:03:25.753] } [18:03:25.753] else if (inherits(cond, "condition")) { [18:03:25.753] if (!is.null(pattern)) { [18:03:25.753] computeRestarts <- base::computeRestarts [18:03:25.753] grepl <- base::grepl [18:03:25.753] restarts <- computeRestarts(cond) [18:03:25.753] for (restart in restarts) { [18:03:25.753] name <- restart$name [18:03:25.753] if (is.null(name)) [18:03:25.753] next [18:03:25.753] if (!grepl(pattern, name)) [18:03:25.753] next [18:03:25.753] invokeRestart(restart) [18:03:25.753] muffled <- TRUE [18:03:25.753] break [18:03:25.753] } [18:03:25.753] } [18:03:25.753] } [18:03:25.753] invisible(muffled) [18:03:25.753] } [18:03:25.753] muffleCondition(cond, pattern = "^muffle") [18:03:25.753] } [18:03:25.753] } [18:03:25.753] } [18:03:25.753] })) [18:03:25.753] }, error = function(ex) { [18:03:25.753] base::structure(base::list(value = NULL, visible = NULL, [18:03:25.753] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.753] ...future.rng), started = ...future.startTime, [18:03:25.753] finished = Sys.time(), session_uuid = NA_character_, [18:03:25.753] version = "1.8"), class = "FutureResult") [18:03:25.753] }, finally = { [18:03:25.753] if (!identical(...future.workdir, getwd())) [18:03:25.753] setwd(...future.workdir) [18:03:25.753] { [18:03:25.753] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:25.753] ...future.oldOptions$nwarnings <- NULL [18:03:25.753] } [18:03:25.753] base::options(...future.oldOptions) [18:03:25.753] if (.Platform$OS.type == "windows") { [18:03:25.753] old_names <- names(...future.oldEnvVars) [18:03:25.753] envs <- base::Sys.getenv() [18:03:25.753] names <- names(envs) [18:03:25.753] common <- intersect(names, old_names) [18:03:25.753] added <- setdiff(names, old_names) [18:03:25.753] removed <- setdiff(old_names, names) [18:03:25.753] changed <- common[...future.oldEnvVars[common] != [18:03:25.753] envs[common]] [18:03:25.753] NAMES <- toupper(changed) [18:03:25.753] args <- list() [18:03:25.753] for (kk in seq_along(NAMES)) { [18:03:25.753] name <- changed[[kk]] [18:03:25.753] NAME <- NAMES[[kk]] [18:03:25.753] if (name != NAME && is.element(NAME, old_names)) [18:03:25.753] next [18:03:25.753] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.753] } [18:03:25.753] NAMES <- toupper(added) [18:03:25.753] for (kk in seq_along(NAMES)) { [18:03:25.753] name <- added[[kk]] [18:03:25.753] NAME <- NAMES[[kk]] [18:03:25.753] if (name != NAME && is.element(NAME, old_names)) [18:03:25.753] next [18:03:25.753] args[[name]] <- "" [18:03:25.753] } [18:03:25.753] NAMES <- toupper(removed) [18:03:25.753] for (kk in seq_along(NAMES)) { [18:03:25.753] name <- removed[[kk]] [18:03:25.753] NAME <- NAMES[[kk]] [18:03:25.753] if (name != NAME && is.element(NAME, old_names)) [18:03:25.753] next [18:03:25.753] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.753] } [18:03:25.753] if (length(args) > 0) [18:03:25.753] base::do.call(base::Sys.setenv, args = args) [18:03:25.753] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:25.753] } [18:03:25.753] else { [18:03:25.753] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:25.753] } [18:03:25.753] { [18:03:25.753] if (base::length(...future.futureOptionsAdded) > [18:03:25.753] 0L) { [18:03:25.753] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:25.753] base::names(opts) <- ...future.futureOptionsAdded [18:03:25.753] base::options(opts) [18:03:25.753] } [18:03:25.753] { [18:03:25.753] { [18:03:25.753] NULL [18:03:25.753] RNGkind("Mersenne-Twister") [18:03:25.753] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:03:25.753] inherits = FALSE) [18:03:25.753] } [18:03:25.753] options(future.plan = NULL) [18:03:25.753] if (is.na(NA_character_)) [18:03:25.753] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.753] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:25.753] future::plan(list(function (..., envir = parent.frame()) [18:03:25.753] { [18:03:25.753] future <- SequentialFuture(..., envir = envir) [18:03:25.753] if (!future$lazy) [18:03:25.753] future <- run(future) [18:03:25.753] invisible(future) [18:03:25.753] }), .cleanup = FALSE, .init = FALSE) [18:03:25.753] } [18:03:25.753] } [18:03:25.753] } [18:03:25.753] }) [18:03:25.753] if (FALSE) { [18:03:25.753] base::sink(type = "output", split = FALSE) [18:03:25.753] if (NA) { [18:03:25.753] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:25.753] } [18:03:25.753] else { [18:03:25.753] ...future.result["stdout"] <- base::list(NULL) [18:03:25.753] } [18:03:25.753] base::close(...future.stdout) [18:03:25.753] ...future.stdout <- NULL [18:03:25.753] } [18:03:25.753] ...future.result$conditions <- ...future.conditions [18:03:25.753] ...future.result$finished <- base::Sys.time() [18:03:25.753] ...future.result [18:03:25.753] } [18:03:25.757] plan(): Setting new future strategy stack: [18:03:25.757] List of future strategies: [18:03:25.757] 1. sequential: [18:03:25.757] - args: function (..., envir = parent.frame()) [18:03:25.757] - tweaked: FALSE [18:03:25.757] - call: NULL [18:03:25.758] plan(): nbrOfWorkers() = 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 [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" [18:03:25.760] plan(): Setting new future strategy stack: [18:03:25.760] List of future strategies: [18:03:25.760] 1. sequential: [18:03:25.760] - args: function (..., envir = parent.frame()) [18:03:25.760] - tweaked: FALSE [18:03:25.760] - call: plan(strategy) [18:03:25.760] plan(): nbrOfWorkers() = 1 [18:03:25.761] SequentialFuture started (and completed) [18:03:25.761] - Launch lazy future ... done [18:03:25.761] run() for 'SequentialFuture' ... done List of 11 $ value : int 42 $ visible : logi TRUE $ stdout : NULL $ conditions : list() $ rng : logi FALSE $ globalenv : NULL $ started : POSIXct[1:1], format: "2023-07-01 18:03:25" $ finished : POSIXct[1:1], format: "2023-07-01 18:03:25" $ session_uuid: chr "afadd03b-0d0f-0977-1216-04a8047e001a" ..- 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 87164 .. ..$ time : POSIXct[1:1], format: "2023-07-01 18:03:25" .. ..$ random: int 2147483647 $ r_info :List of 4 ..$ version :Classes 'R_system_version', 'package_version', 'numeric_version' hidden list of 1 .. ..$ : int [1:3] 4 4 0 ..$ os : chr "windows" ..$ os_name : chr "Windows" ..$ captures_utf8: logi TRUE $ version : chr "1.8" - attr(*, "class")= chr "FutureResult" [18:03:25.770] getGlobalsAndPackages() ... [18:03:25.771] Searching for globals... [18:03:25.774] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [18:03:25.774] Searching for globals ... DONE [18:03:25.775] Resolving globals: FALSE [18:03:25.775] [18:03:25.775] - packages: [1] 'utils' [18:03:25.776] getGlobalsAndPackages() ... DONE [18:03:25.776] run() for 'Future' ... [18:03:25.776] - state: 'created' [18:03:25.776] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:03:25.777] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:03:25.777] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:03:25.777] - Field: 'label' [18:03:25.778] - Field: 'local' [18:03:25.778] - Field: 'owner' [18:03:25.779] - Field: 'envir' [18:03:25.779] - Field: 'packages' [18:03:25.779] - Field: 'gc' [18:03:25.779] - Field: 'conditions' [18:03:25.779] - Field: 'expr' [18:03:25.779] - Field: 'uuid' [18:03:25.780] - Field: 'seed' [18:03:25.780] - Field: 'version' [18:03:25.780] - Field: 'result' [18:03:25.780] - Field: 'asynchronous' [18:03:25.780] - Field: 'calls' [18:03:25.781] - Field: 'globals' [18:03:25.781] - Field: 'stdout' [18:03:25.781] - Field: 'earlySignal' [18:03:25.781] - Field: 'lazy' [18:03:25.781] - Field: 'state' [18:03:25.781] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:03:25.782] - Launch lazy future ... [18:03:25.782] Packages needed by the future expression (n = 1): 'utils' [18:03:25.782] Packages needed by future strategies (n = 0): [18:03:25.783] { [18:03:25.783] { [18:03:25.783] { [18:03:25.783] ...future.startTime <- base::Sys.time() [18:03:25.783] { [18:03:25.783] { [18:03:25.783] { [18:03:25.783] { [18:03:25.783] base::local({ [18:03:25.783] has_future <- base::requireNamespace("future", [18:03:25.783] quietly = TRUE) [18:03:25.783] if (has_future) { [18:03:25.783] ns <- base::getNamespace("future") [18:03:25.783] version <- ns[[".package"]][["version"]] [18:03:25.783] if (is.null(version)) [18:03:25.783] version <- utils::packageVersion("future") [18:03:25.783] } [18:03:25.783] else { [18:03:25.783] version <- NULL [18:03:25.783] } [18:03:25.783] if (!has_future || version < "1.8.0") { [18:03:25.783] info <- base::c(r_version = base::gsub("R version ", [18:03:25.783] "", base::R.version$version.string), [18:03:25.783] platform = base::sprintf("%s (%s-bit)", [18:03:25.783] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:25.783] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:25.783] "release", "version")], collapse = " "), [18:03:25.783] hostname = base::Sys.info()[["nodename"]]) [18:03:25.783] info <- base::sprintf("%s: %s", base::names(info), [18:03:25.783] info) [18:03:25.783] info <- base::paste(info, collapse = "; ") [18:03:25.783] if (!has_future) { [18:03:25.783] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:25.783] info) [18:03:25.783] } [18:03:25.783] else { [18:03:25.783] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:25.783] info, version) [18:03:25.783] } [18:03:25.783] base::stop(msg) [18:03:25.783] } [18:03:25.783] }) [18:03:25.783] } [18:03:25.783] base::local({ [18:03:25.783] for (pkg in "utils") { [18:03:25.783] base::loadNamespace(pkg) [18:03:25.783] base::library(pkg, character.only = TRUE) [18:03:25.783] } [18:03:25.783] }) [18:03:25.783] } [18:03:25.783] options(future.plan = NULL) [18:03:25.783] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.783] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:25.783] } [18:03:25.783] ...future.workdir <- getwd() [18:03:25.783] } [18:03:25.783] ...future.oldOptions <- base::as.list(base::.Options) [18:03:25.783] ...future.oldEnvVars <- base::Sys.getenv() [18:03:25.783] } [18:03:25.783] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:25.783] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:25.783] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:25.783] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:25.783] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:25.783] future.stdout.windows.reencode = NULL, width = 80L) [18:03:25.783] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:25.783] base::names(...future.oldOptions)) [18:03:25.783] } [18:03:25.783] if (TRUE) { [18:03:25.783] } [18:03:25.783] else { [18:03:25.783] if (NA) { [18:03:25.783] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:25.783] open = "w") [18:03:25.783] } [18:03:25.783] else { [18:03:25.783] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:25.783] windows = "NUL", "/dev/null"), open = "w") [18:03:25.783] } [18:03:25.783] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:25.783] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:25.783] base::sink(type = "output", split = FALSE) [18:03:25.783] base::close(...future.stdout) [18:03:25.783] }, add = TRUE) [18:03:25.783] } [18:03:25.783] ...future.frame <- base::sys.nframe() [18:03:25.783] ...future.conditions <- base::list() [18:03:25.783] ...future.rng <- base::globalenv()$.Random.seed [18:03:25.783] if (FALSE) { [18:03:25.783] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:25.783] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:25.783] } [18:03:25.783] ...future.result <- base::tryCatch({ [18:03:25.783] base::withCallingHandlers({ [18:03:25.783] ...future.value <- base::withVisible(base::local({ [18:03:25.783] print(1:50) [18:03:25.783] str(1:50) [18:03:25.783] cat(letters, sep = "-") [18:03:25.783] cat(1:6, collapse = "\n") [18:03:25.783] write.table(datasets::iris[1:10, ], sep = "\t") [18:03:25.783] 42L [18:03:25.783] })) [18:03:25.783] future::FutureResult(value = ...future.value$value, [18:03:25.783] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.783] ...future.rng), globalenv = if (FALSE) [18:03:25.783] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:25.783] ...future.globalenv.names)) [18:03:25.783] else NULL, started = ...future.startTime, version = "1.8") [18:03:25.783] }, condition = base::local({ [18:03:25.783] c <- base::c [18:03:25.783] inherits <- base::inherits [18:03:25.783] invokeRestart <- base::invokeRestart [18:03:25.783] length <- base::length [18:03:25.783] list <- base::list [18:03:25.783] seq.int <- base::seq.int [18:03:25.783] signalCondition <- base::signalCondition [18:03:25.783] sys.calls <- base::sys.calls [18:03:25.783] `[[` <- base::`[[` [18:03:25.783] `+` <- base::`+` [18:03:25.783] `<<-` <- base::`<<-` [18:03:25.783] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:25.783] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:25.783] 3L)] [18:03:25.783] } [18:03:25.783] function(cond) { [18:03:25.783] is_error <- inherits(cond, "error") [18:03:25.783] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:25.783] NULL) [18:03:25.783] if (is_error) { [18:03:25.783] sessionInformation <- function() { [18:03:25.783] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:25.783] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:25.783] search = base::search(), system = base::Sys.info()) [18:03:25.783] } [18:03:25.783] ...future.conditions[[length(...future.conditions) + [18:03:25.783] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:25.783] cond$call), session = sessionInformation(), [18:03:25.783] timestamp = base::Sys.time(), signaled = 0L) [18:03:25.783] signalCondition(cond) [18:03:25.783] } [18:03:25.783] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:25.783] "immediateCondition"))) { [18:03:25.783] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:25.783] ...future.conditions[[length(...future.conditions) + [18:03:25.783] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:25.783] if (TRUE && !signal) { [18:03:25.783] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.783] { [18:03:25.783] inherits <- base::inherits [18:03:25.783] invokeRestart <- base::invokeRestart [18:03:25.783] is.null <- base::is.null [18:03:25.783] muffled <- FALSE [18:03:25.783] if (inherits(cond, "message")) { [18:03:25.783] muffled <- grepl(pattern, "muffleMessage") [18:03:25.783] if (muffled) [18:03:25.783] invokeRestart("muffleMessage") [18:03:25.783] } [18:03:25.783] else if (inherits(cond, "warning")) { [18:03:25.783] muffled <- grepl(pattern, "muffleWarning") [18:03:25.783] if (muffled) [18:03:25.783] invokeRestart("muffleWarning") [18:03:25.783] } [18:03:25.783] else if (inherits(cond, "condition")) { [18:03:25.783] if (!is.null(pattern)) { [18:03:25.783] computeRestarts <- base::computeRestarts [18:03:25.783] grepl <- base::grepl [18:03:25.783] restarts <- computeRestarts(cond) [18:03:25.783] for (restart in restarts) { [18:03:25.783] name <- restart$name [18:03:25.783] if (is.null(name)) [18:03:25.783] next [18:03:25.783] if (!grepl(pattern, name)) [18:03:25.783] next [18:03:25.783] invokeRestart(restart) [18:03:25.783] muffled <- TRUE [18:03:25.783] break [18:03:25.783] } [18:03:25.783] } [18:03:25.783] } [18:03:25.783] invisible(muffled) [18:03:25.783] } [18:03:25.783] muffleCondition(cond, pattern = "^muffle") [18:03:25.783] } [18:03:25.783] } [18:03:25.783] else { [18:03:25.783] if (TRUE) { [18:03:25.783] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.783] { [18:03:25.783] inherits <- base::inherits [18:03:25.783] invokeRestart <- base::invokeRestart [18:03:25.783] is.null <- base::is.null [18:03:25.783] muffled <- FALSE [18:03:25.783] if (inherits(cond, "message")) { [18:03:25.783] muffled <- grepl(pattern, "muffleMessage") [18:03:25.783] if (muffled) [18:03:25.783] invokeRestart("muffleMessage") [18:03:25.783] } [18:03:25.783] else if (inherits(cond, "warning")) { [18:03:25.783] muffled <- grepl(pattern, "muffleWarning") [18:03:25.783] if (muffled) [18:03:25.783] invokeRestart("muffleWarning") [18:03:25.783] } [18:03:25.783] else if (inherits(cond, "condition")) { [18:03:25.783] if (!is.null(pattern)) { [18:03:25.783] computeRestarts <- base::computeRestarts [18:03:25.783] grepl <- base::grepl [18:03:25.783] restarts <- computeRestarts(cond) [18:03:25.783] for (restart in restarts) { [18:03:25.783] name <- restart$name [18:03:25.783] if (is.null(name)) [18:03:25.783] next [18:03:25.783] if (!grepl(pattern, name)) [18:03:25.783] next [18:03:25.783] invokeRestart(restart) [18:03:25.783] muffled <- TRUE [18:03:25.783] break [18:03:25.783] } [18:03:25.783] } [18:03:25.783] } [18:03:25.783] invisible(muffled) [18:03:25.783] } [18:03:25.783] muffleCondition(cond, pattern = "^muffle") [18:03:25.783] } [18:03:25.783] } [18:03:25.783] } [18:03:25.783] })) [18:03:25.783] }, error = function(ex) { [18:03:25.783] base::structure(base::list(value = NULL, visible = NULL, [18:03:25.783] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.783] ...future.rng), started = ...future.startTime, [18:03:25.783] finished = Sys.time(), session_uuid = NA_character_, [18:03:25.783] version = "1.8"), class = "FutureResult") [18:03:25.783] }, finally = { [18:03:25.783] if (!identical(...future.workdir, getwd())) [18:03:25.783] setwd(...future.workdir) [18:03:25.783] { [18:03:25.783] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:25.783] ...future.oldOptions$nwarnings <- NULL [18:03:25.783] } [18:03:25.783] base::options(...future.oldOptions) [18:03:25.783] if (.Platform$OS.type == "windows") { [18:03:25.783] old_names <- names(...future.oldEnvVars) [18:03:25.783] envs <- base::Sys.getenv() [18:03:25.783] names <- names(envs) [18:03:25.783] common <- intersect(names, old_names) [18:03:25.783] added <- setdiff(names, old_names) [18:03:25.783] removed <- setdiff(old_names, names) [18:03:25.783] changed <- common[...future.oldEnvVars[common] != [18:03:25.783] envs[common]] [18:03:25.783] NAMES <- toupper(changed) [18:03:25.783] args <- list() [18:03:25.783] for (kk in seq_along(NAMES)) { [18:03:25.783] name <- changed[[kk]] [18:03:25.783] NAME <- NAMES[[kk]] [18:03:25.783] if (name != NAME && is.element(NAME, old_names)) [18:03:25.783] next [18:03:25.783] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.783] } [18:03:25.783] NAMES <- toupper(added) [18:03:25.783] for (kk in seq_along(NAMES)) { [18:03:25.783] name <- added[[kk]] [18:03:25.783] NAME <- NAMES[[kk]] [18:03:25.783] if (name != NAME && is.element(NAME, old_names)) [18:03:25.783] next [18:03:25.783] args[[name]] <- "" [18:03:25.783] } [18:03:25.783] NAMES <- toupper(removed) [18:03:25.783] for (kk in seq_along(NAMES)) { [18:03:25.783] name <- removed[[kk]] [18:03:25.783] NAME <- NAMES[[kk]] [18:03:25.783] if (name != NAME && is.element(NAME, old_names)) [18:03:25.783] next [18:03:25.783] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.783] } [18:03:25.783] if (length(args) > 0) [18:03:25.783] base::do.call(base::Sys.setenv, args = args) [18:03:25.783] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:25.783] } [18:03:25.783] else { [18:03:25.783] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:25.783] } [18:03:25.783] { [18:03:25.783] if (base::length(...future.futureOptionsAdded) > [18:03:25.783] 0L) { [18:03:25.783] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:25.783] base::names(opts) <- ...future.futureOptionsAdded [18:03:25.783] base::options(opts) [18:03:25.783] } [18:03:25.783] { [18:03:25.783] { [18:03:25.783] NULL [18:03:25.783] RNGkind("Mersenne-Twister") [18:03:25.783] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:03:25.783] inherits = FALSE) [18:03:25.783] } [18:03:25.783] options(future.plan = NULL) [18:03:25.783] if (is.na(NA_character_)) [18:03:25.783] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.783] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:25.783] future::plan(list(function (..., envir = parent.frame()) [18:03:25.783] { [18:03:25.783] future <- SequentialFuture(..., envir = envir) [18:03:25.783] if (!future$lazy) [18:03:25.783] future <- run(future) [18:03:25.783] invisible(future) [18:03:25.783] }), .cleanup = FALSE, .init = FALSE) [18:03:25.783] } [18:03:25.783] } [18:03:25.783] } [18:03:25.783] }) [18:03:25.783] if (FALSE) { [18:03:25.783] base::sink(type = "output", split = FALSE) [18:03:25.783] if (NA) { [18:03:25.783] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:25.783] } [18:03:25.783] else { [18:03:25.783] ...future.result["stdout"] <- base::list(NULL) [18:03:25.783] } [18:03:25.783] base::close(...future.stdout) [18:03:25.783] ...future.stdout <- NULL [18:03:25.783] } [18:03:25.783] ...future.result$conditions <- ...future.conditions [18:03:25.783] ...future.result$finished <- base::Sys.time() [18:03:25.783] ...future.result [18:03:25.783] } [18:03:25.787] plan(): Setting new future strategy stack: [18:03:25.787] List of future strategies: [18:03:25.787] 1. sequential: [18:03:25.787] - args: function (..., envir = parent.frame()) [18:03:25.787] - tweaked: FALSE [18:03:25.787] - call: NULL [18:03:25.788] plan(): nbrOfWorkers() = 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 [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" [18:03:25.790] plan(): Setting new future strategy stack: [18:03:25.790] List of future strategies: [18:03:25.790] 1. sequential: [18:03:25.790] - args: function (..., envir = parent.frame()) [18:03:25.790] - tweaked: FALSE [18:03:25.790] - call: plan(strategy) [18:03:25.790] plan(): nbrOfWorkers() = 1 [18:03:25.790] SequentialFuture started (and completed) [18:03:25.791] - Launch lazy future ... done [18:03:25.791] run() for 'SequentialFuture' ... done - stdout = structure(TRUE, drop = TRUE) [18:03:25.791] getGlobalsAndPackages() ... [18:03:25.792] Searching for globals... [18:03:25.792] - globals found: [1] 'print' [18:03:25.792] Searching for globals ... DONE [18:03:25.792] Resolving globals: FALSE [18:03:25.793] [18:03:25.793] [18:03:25.793] getGlobalsAndPackages() ... DONE [18:03:25.793] run() for 'Future' ... [18:03:25.794] - state: 'created' [18:03:25.794] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:03:25.794] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:03:25.794] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:03:25.795] - Field: 'label' [18:03:25.795] - Field: 'local' [18:03:25.795] - Field: 'owner' [18:03:25.795] - Field: 'envir' [18:03:25.795] - Field: 'packages' [18:03:25.795] - Field: 'gc' [18:03:25.796] - Field: 'conditions' [18:03:25.796] - Field: 'expr' [18:03:25.796] - Field: 'uuid' [18:03:25.796] - Field: 'seed' [18:03:25.796] - Field: 'version' [18:03:25.797] - Field: 'result' [18:03:25.797] - Field: 'asynchronous' [18:03:25.797] - Field: 'calls' [18:03:25.797] - Field: 'globals' [18:03:25.797] - Field: 'stdout' [18:03:25.797] - Field: 'earlySignal' [18:03:25.798] - Field: 'lazy' [18:03:25.798] - Field: 'state' [18:03:25.798] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:03:25.798] - Launch lazy future ... [18:03:25.798] Packages needed by the future expression (n = 0): [18:03:25.798] Packages needed by future strategies (n = 0): [18:03:25.799] { [18:03:25.799] { [18:03:25.799] { [18:03:25.799] ...future.startTime <- base::Sys.time() [18:03:25.799] { [18:03:25.799] { [18:03:25.799] { [18:03:25.799] base::local({ [18:03:25.799] has_future <- base::requireNamespace("future", [18:03:25.799] quietly = TRUE) [18:03:25.799] if (has_future) { [18:03:25.799] ns <- base::getNamespace("future") [18:03:25.799] version <- ns[[".package"]][["version"]] [18:03:25.799] if (is.null(version)) [18:03:25.799] version <- utils::packageVersion("future") [18:03:25.799] } [18:03:25.799] else { [18:03:25.799] version <- NULL [18:03:25.799] } [18:03:25.799] if (!has_future || version < "1.8.0") { [18:03:25.799] info <- base::c(r_version = base::gsub("R version ", [18:03:25.799] "", base::R.version$version.string), [18:03:25.799] platform = base::sprintf("%s (%s-bit)", [18:03:25.799] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:25.799] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:25.799] "release", "version")], collapse = " "), [18:03:25.799] hostname = base::Sys.info()[["nodename"]]) [18:03:25.799] info <- base::sprintf("%s: %s", base::names(info), [18:03:25.799] info) [18:03:25.799] info <- base::paste(info, collapse = "; ") [18:03:25.799] if (!has_future) { [18:03:25.799] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:25.799] info) [18:03:25.799] } [18:03:25.799] else { [18:03:25.799] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:25.799] info, version) [18:03:25.799] } [18:03:25.799] base::stop(msg) [18:03:25.799] } [18:03:25.799] }) [18:03:25.799] } [18:03:25.799] options(future.plan = NULL) [18:03:25.799] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.799] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:25.799] } [18:03:25.799] ...future.workdir <- getwd() [18:03:25.799] } [18:03:25.799] ...future.oldOptions <- base::as.list(base::.Options) [18:03:25.799] ...future.oldEnvVars <- base::Sys.getenv() [18:03:25.799] } [18:03:25.799] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:25.799] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:25.799] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:25.799] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:25.799] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:25.799] future.stdout.windows.reencode = NULL, width = 80L) [18:03:25.799] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:25.799] base::names(...future.oldOptions)) [18:03:25.799] } [18:03:25.799] if (FALSE) { [18:03:25.799] } [18:03:25.799] else { [18:03:25.799] if (TRUE) { [18:03:25.799] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:25.799] open = "w") [18:03:25.799] } [18:03:25.799] else { [18:03:25.799] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:25.799] windows = "NUL", "/dev/null"), open = "w") [18:03:25.799] } [18:03:25.799] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:25.799] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:25.799] base::sink(type = "output", split = FALSE) [18:03:25.799] base::close(...future.stdout) [18:03:25.799] }, add = TRUE) [18:03:25.799] } [18:03:25.799] ...future.frame <- base::sys.nframe() [18:03:25.799] ...future.conditions <- base::list() [18:03:25.799] ...future.rng <- base::globalenv()$.Random.seed [18:03:25.799] if (FALSE) { [18:03:25.799] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:25.799] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:25.799] } [18:03:25.799] ...future.result <- base::tryCatch({ [18:03:25.799] base::withCallingHandlers({ [18:03:25.799] ...future.value <- base::withVisible(base::local(print(42))) [18:03:25.799] future::FutureResult(value = ...future.value$value, [18:03:25.799] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.799] ...future.rng), globalenv = if (FALSE) [18:03:25.799] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:25.799] ...future.globalenv.names)) [18:03:25.799] else NULL, started = ...future.startTime, version = "1.8") [18:03:25.799] }, condition = base::local({ [18:03:25.799] c <- base::c [18:03:25.799] inherits <- base::inherits [18:03:25.799] invokeRestart <- base::invokeRestart [18:03:25.799] length <- base::length [18:03:25.799] list <- base::list [18:03:25.799] seq.int <- base::seq.int [18:03:25.799] signalCondition <- base::signalCondition [18:03:25.799] sys.calls <- base::sys.calls [18:03:25.799] `[[` <- base::`[[` [18:03:25.799] `+` <- base::`+` [18:03:25.799] `<<-` <- base::`<<-` [18:03:25.799] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:25.799] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:25.799] 3L)] [18:03:25.799] } [18:03:25.799] function(cond) { [18:03:25.799] is_error <- inherits(cond, "error") [18:03:25.799] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:25.799] NULL) [18:03:25.799] if (is_error) { [18:03:25.799] sessionInformation <- function() { [18:03:25.799] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:25.799] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:25.799] search = base::search(), system = base::Sys.info()) [18:03:25.799] } [18:03:25.799] ...future.conditions[[length(...future.conditions) + [18:03:25.799] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:25.799] cond$call), session = sessionInformation(), [18:03:25.799] timestamp = base::Sys.time(), signaled = 0L) [18:03:25.799] signalCondition(cond) [18:03:25.799] } [18:03:25.799] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:25.799] "immediateCondition"))) { [18:03:25.799] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:25.799] ...future.conditions[[length(...future.conditions) + [18:03:25.799] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:25.799] if (TRUE && !signal) { [18:03:25.799] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.799] { [18:03:25.799] inherits <- base::inherits [18:03:25.799] invokeRestart <- base::invokeRestart [18:03:25.799] is.null <- base::is.null [18:03:25.799] muffled <- FALSE [18:03:25.799] if (inherits(cond, "message")) { [18:03:25.799] muffled <- grepl(pattern, "muffleMessage") [18:03:25.799] if (muffled) [18:03:25.799] invokeRestart("muffleMessage") [18:03:25.799] } [18:03:25.799] else if (inherits(cond, "warning")) { [18:03:25.799] muffled <- grepl(pattern, "muffleWarning") [18:03:25.799] if (muffled) [18:03:25.799] invokeRestart("muffleWarning") [18:03:25.799] } [18:03:25.799] else if (inherits(cond, "condition")) { [18:03:25.799] if (!is.null(pattern)) { [18:03:25.799] computeRestarts <- base::computeRestarts [18:03:25.799] grepl <- base::grepl [18:03:25.799] restarts <- computeRestarts(cond) [18:03:25.799] for (restart in restarts) { [18:03:25.799] name <- restart$name [18:03:25.799] if (is.null(name)) [18:03:25.799] next [18:03:25.799] if (!grepl(pattern, name)) [18:03:25.799] next [18:03:25.799] invokeRestart(restart) [18:03:25.799] muffled <- TRUE [18:03:25.799] break [18:03:25.799] } [18:03:25.799] } [18:03:25.799] } [18:03:25.799] invisible(muffled) [18:03:25.799] } [18:03:25.799] muffleCondition(cond, pattern = "^muffle") [18:03:25.799] } [18:03:25.799] } [18:03:25.799] else { [18:03:25.799] if (TRUE) { [18:03:25.799] muffleCondition <- function (cond, pattern = "^muffle") [18:03:25.799] { [18:03:25.799] inherits <- base::inherits [18:03:25.799] invokeRestart <- base::invokeRestart [18:03:25.799] is.null <- base::is.null [18:03:25.799] muffled <- FALSE [18:03:25.799] if (inherits(cond, "message")) { [18:03:25.799] muffled <- grepl(pattern, "muffleMessage") [18:03:25.799] if (muffled) [18:03:25.799] invokeRestart("muffleMessage") [18:03:25.799] } [18:03:25.799] else if (inherits(cond, "warning")) { [18:03:25.799] muffled <- grepl(pattern, "muffleWarning") [18:03:25.799] if (muffled) [18:03:25.799] invokeRestart("muffleWarning") [18:03:25.799] } [18:03:25.799] else if (inherits(cond, "condition")) { [18:03:25.799] if (!is.null(pattern)) { [18:03:25.799] computeRestarts <- base::computeRestarts [18:03:25.799] grepl <- base::grepl [18:03:25.799] restarts <- computeRestarts(cond) [18:03:25.799] for (restart in restarts) { [18:03:25.799] name <- restart$name [18:03:25.799] if (is.null(name)) [18:03:25.799] next [18:03:25.799] if (!grepl(pattern, name)) [18:03:25.799] next [18:03:25.799] invokeRestart(restart) [18:03:25.799] muffled <- TRUE [18:03:25.799] break [18:03:25.799] } [18:03:25.799] } [18:03:25.799] } [18:03:25.799] invisible(muffled) [18:03:25.799] } [18:03:25.799] muffleCondition(cond, pattern = "^muffle") [18:03:25.799] } [18:03:25.799] } [18:03:25.799] } [18:03:25.799] })) [18:03:25.799] }, error = function(ex) { [18:03:25.799] base::structure(base::list(value = NULL, visible = NULL, [18:03:25.799] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:25.799] ...future.rng), started = ...future.startTime, [18:03:25.799] finished = Sys.time(), session_uuid = NA_character_, [18:03:25.799] version = "1.8"), class = "FutureResult") [18:03:25.799] }, finally = { [18:03:25.799] if (!identical(...future.workdir, getwd())) [18:03:25.799] setwd(...future.workdir) [18:03:25.799] { [18:03:25.799] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:25.799] ...future.oldOptions$nwarnings <- NULL [18:03:25.799] } [18:03:25.799] base::options(...future.oldOptions) [18:03:25.799] if (.Platform$OS.type == "windows") { [18:03:25.799] old_names <- names(...future.oldEnvVars) [18:03:25.799] envs <- base::Sys.getenv() [18:03:25.799] names <- names(envs) [18:03:25.799] common <- intersect(names, old_names) [18:03:25.799] added <- setdiff(names, old_names) [18:03:25.799] removed <- setdiff(old_names, names) [18:03:25.799] changed <- common[...future.oldEnvVars[common] != [18:03:25.799] envs[common]] [18:03:25.799] NAMES <- toupper(changed) [18:03:25.799] args <- list() [18:03:25.799] for (kk in seq_along(NAMES)) { [18:03:25.799] name <- changed[[kk]] [18:03:25.799] NAME <- NAMES[[kk]] [18:03:25.799] if (name != NAME && is.element(NAME, old_names)) [18:03:25.799] next [18:03:25.799] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.799] } [18:03:25.799] NAMES <- toupper(added) [18:03:25.799] for (kk in seq_along(NAMES)) { [18:03:25.799] name <- added[[kk]] [18:03:25.799] NAME <- NAMES[[kk]] [18:03:25.799] if (name != NAME && is.element(NAME, old_names)) [18:03:25.799] next [18:03:25.799] args[[name]] <- "" [18:03:25.799] } [18:03:25.799] NAMES <- toupper(removed) [18:03:25.799] for (kk in seq_along(NAMES)) { [18:03:25.799] name <- removed[[kk]] [18:03:25.799] NAME <- NAMES[[kk]] [18:03:25.799] if (name != NAME && is.element(NAME, old_names)) [18:03:25.799] next [18:03:25.799] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:25.799] } [18:03:25.799] if (length(args) > 0) [18:03:25.799] base::do.call(base::Sys.setenv, args = args) [18:03:25.799] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:25.799] } [18:03:25.799] else { [18:03:25.799] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:25.799] } [18:03:25.799] { [18:03:25.799] if (base::length(...future.futureOptionsAdded) > [18:03:25.799] 0L) { [18:03:25.799] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:25.799] base::names(opts) <- ...future.futureOptionsAdded [18:03:25.799] base::options(opts) [18:03:25.799] } [18:03:25.799] { [18:03:25.799] { [18:03:25.799] NULL [18:03:25.799] RNGkind("Mersenne-Twister") [18:03:25.799] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:03:25.799] inherits = FALSE) [18:03:25.799] } [18:03:25.799] options(future.plan = NULL) [18:03:25.799] if (is.na(NA_character_)) [18:03:25.799] Sys.unsetenv("R_FUTURE_PLAN") [18:03:25.799] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:25.799] future::plan(list(function (..., envir = parent.frame()) [18:03:25.799] { [18:03:25.799] future <- SequentialFuture(..., envir = envir) [18:03:25.799] if (!future$lazy) [18:03:25.799] future <- run(future) [18:03:25.799] invisible(future) [18:03:25.799] }), .cleanup = FALSE, .init = FALSE) [18:03:25.799] } [18:03:25.799] } [18:03:25.799] } [18:03:25.799] }) [18:03:25.799] if (TRUE) { [18:03:25.799] base::sink(type = "output", split = FALSE) [18:03:25.799] if (TRUE) { [18:03:25.799] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:25.799] } [18:03:25.799] else { [18:03:25.799] ...future.result["stdout"] <- base::list(NULL) [18:03:25.799] } [18:03:25.799] base::close(...future.stdout) [18:03:25.799] ...future.stdout <- NULL [18:03:25.799] } [18:03:25.799] ...future.result$conditions <- ...future.conditions [18:03:25.799] ...future.result$finished <- base::Sys.time() [18:03:25.799] ...future.result [18:03:25.799] } [18:03:25.803] plan(): Setting new future strategy stack: [18:03:25.803] List of future strategies: [18:03:25.803] 1. sequential: [18:03:25.803] - args: function (..., envir = parent.frame()) [18:03:25.803] - tweaked: FALSE [18:03:25.803] - call: NULL [18:03:25.804] plan(): nbrOfWorkers() = 1 [18:03:25.805] plan(): Setting new future strategy stack: [18:03:25.805] List of future strategies: [18:03:25.805] 1. sequential: [18:03:25.805] - args: function (..., envir = parent.frame()) [18:03:25.805] - tweaked: FALSE [18:03:25.805] - call: plan(strategy) [18:03:25.806] plan(): nbrOfWorkers() = 1 [18:03:25.806] SequentialFuture started (and completed) [18:03:25.806] - Launch lazy future ... done [18:03:25.806] run() for 'SequentialFuture' ... done [1] 42 sequential ... done Testing with 1 cores ... done Testing with 2 cores ... multisession ... [18:03:25.812] plan(): Setting new future strategy stack: [18:03:25.813] List of future strategies: [18:03:25.813] 1. multisession: [18:03:25.813] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [18:03:25.813] - tweaked: FALSE [18:03:25.813] - call: plan(strategy) [18:03:25.813] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [18:03:25.813] multisession: [18:03:25.813] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [18:03:25.813] - tweaked: FALSE [18:03:25.813] - call: plan(strategy) [18:03:25.819] getGlobalsAndPackages() ... [18:03:25.819] Not searching for globals [18:03:25.820] - globals: [0] [18:03:25.820] getGlobalsAndPackages() ... DONE [18:03:25.820] [local output] makeClusterPSOCK() ... [18:03:25.851] [local output] Workers: [n = 2] 'localhost', 'localhost' [18:03:25.858] [local output] Base port: 37733 [18:03:25.858] [local output] Getting setup options for 2 cluster nodes ... [18:03:25.858] [local output] - Node 1 of 2 ... [18:03:25.859] [local output] localMachine=TRUE => revtunnel=FALSE [18:03:25.860] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpIzTlPH/worker.rank=1.parallelly.parent=87164.1547c257c15f5.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/RtmpIzTlPH/worker.rank=1.parallelly.parent=87164.1547c257c15f5.pid\")"' [18:03:26.302] - Possible to infer worker's PID: TRUE [18:03:26.303] [local output] Rscript port: 37733 [18:03:26.303] [local output] - Node 2 of 2 ... [18:03:26.304] [local output] localMachine=TRUE => revtunnel=FALSE [18:03:26.305] [local output] Rscript port: 37733 [18:03:26.306] [local output] Getting setup options for 2 cluster nodes ... done [18:03:26.306] [local output] - Parallel setup requested for some PSOCK nodes [18:03:26.307] [local output] Setting up PSOCK nodes in parallel [18:03:26.307] List of 36 [18:03:26.307] $ worker : chr "localhost" [18:03:26.307] ..- attr(*, "localhost")= logi TRUE [18:03:26.307] $ master : chr "localhost" [18:03:26.307] $ port : int 37733 [18:03:26.307] $ connectTimeout : num 120 [18:03:26.307] $ timeout : num 120 [18:03:26.307] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [18:03:26.307] $ homogeneous : logi TRUE [18:03:26.307] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=stdout.R:87164:CRANWIN3:CRAN\" -"| __truncated__ [18:03:26.307] $ rscript_envs : NULL [18:03:26.307] $ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:03:26.307] $ rscript_startup : NULL [18:03:26.307] $ rscript_sh : chr "cmd" [18:03:26.307] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:03:26.307] $ methods : logi TRUE [18:03:26.307] $ socketOptions : chr "no-delay" [18:03:26.307] $ useXDR : logi FALSE [18:03:26.307] $ outfile : chr "/dev/null" [18:03:26.307] $ renice : int NA [18:03:26.307] $ rshcmd : NULL [18:03:26.307] $ user : chr(0) [18:03:26.307] $ revtunnel : logi FALSE [18:03:26.307] $ rshlogfile : NULL [18:03:26.307] $ rshopts : chr(0) [18:03:26.307] $ rank : int 1 [18:03:26.307] $ manual : logi FALSE [18:03:26.307] $ dryrun : logi FALSE [18:03:26.307] $ quiet : logi FALSE [18:03:26.307] $ setup_strategy : chr "parallel" [18:03:26.307] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:03:26.307] $ pidfile : chr "D:/temp/RtmpIzTlPH/worker.rank=1.parallelly.parent=87164.1547c257c15f5.pid" [18:03:26.307] $ rshcmd_label : NULL [18:03:26.307] $ rsh_call : NULL [18:03:26.307] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:03:26.307] $ localMachine : logi TRUE [18:03:26.307] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [18:03:26.307] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [18:03:26.307] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [18:03:26.307] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [18:03:26.307] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [18:03:26.307] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [18:03:26.307] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [18:03:26.307] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [18:03:26.307] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [18:03:26.307] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [18:03:26.307] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [18:03:26.307] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [18:03:26.307] "parallel"), action = c("launch", "options"), verbose = FALSE) [18:03:26.307] $ arguments :List of 28 [18:03:26.307] ..$ worker : chr "localhost" [18:03:26.307] ..$ master : NULL [18:03:26.307] ..$ port : int 37733 [18:03:26.307] ..$ connectTimeout : num 120 [18:03:26.307] ..$ timeout : num 120 [18:03:26.307] ..$ rscript : NULL [18:03:26.307] ..$ homogeneous : NULL [18:03:26.307] ..$ rscript_args : NULL [18:03:26.307] ..$ rscript_envs : NULL [18:03:26.307] ..$ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:03:26.307] ..$ rscript_startup : NULL [18:03:26.307] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [18:03:26.307] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:03:26.307] ..$ methods : logi TRUE [18:03:26.307] ..$ socketOptions : chr "no-delay" [18:03:26.307] ..$ useXDR : logi FALSE [18:03:26.307] ..$ outfile : chr "/dev/null" [18:03:26.307] ..$ renice : int NA [18:03:26.307] ..$ rshcmd : NULL [18:03:26.307] ..$ user : NULL [18:03:26.307] ..$ revtunnel : logi NA [18:03:26.307] ..$ rshlogfile : NULL [18:03:26.307] ..$ rshopts : NULL [18:03:26.307] ..$ rank : int 1 [18:03:26.307] ..$ manual : logi FALSE [18:03:26.307] ..$ dryrun : logi FALSE [18:03:26.307] ..$ quiet : logi FALSE [18:03:26.307] ..$ setup_strategy : chr "parallel" [18:03:26.307] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [18:03:26.329] [local output] System call to launch all workers: [18:03:26.329] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=stdout.R:87164:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpIzTlPH/worker.rank=1.parallelly.parent=87164.1547c257c15f5.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=37733 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [18:03:26.329] [local output] Starting PSOCK main server [18:03:26.338] [local output] Workers launched [18:03:26.339] [local output] Waiting for workers to connect back [18:03:26.339] - [local output] 0 workers out of 2 ready [18:03:26.525] - [local output] 0 workers out of 2 ready [18:03:26.526] - [local output] 1 workers out of 2 ready [18:03:26.543] - [local output] 1 workers out of 2 ready [18:03:26.544] - [local output] 2 workers out of 2 ready [18:03:26.544] [local output] Launching of workers completed [18:03:26.544] [local output] Collecting session information from workers [18:03:26.545] [local output] - Worker #1 of 2 [18:03:26.546] [local output] - Worker #2 of 2 [18:03:26.546] [local output] makeClusterPSOCK() ... done [18:03:26.559] Packages needed by the future expression (n = 0): [18:03:26.560] Packages needed by future strategies (n = 0): [18:03:26.560] { [18:03:26.560] { [18:03:26.560] { [18:03:26.560] ...future.startTime <- base::Sys.time() [18:03:26.560] { [18:03:26.560] { [18:03:26.560] { [18:03:26.560] { [18:03:26.560] base::local({ [18:03:26.560] has_future <- base::requireNamespace("future", [18:03:26.560] quietly = TRUE) [18:03:26.560] if (has_future) { [18:03:26.560] ns <- base::getNamespace("future") [18:03:26.560] version <- ns[[".package"]][["version"]] [18:03:26.560] if (is.null(version)) [18:03:26.560] version <- utils::packageVersion("future") [18:03:26.560] } [18:03:26.560] else { [18:03:26.560] version <- NULL [18:03:26.560] } [18:03:26.560] if (!has_future || version < "1.8.0") { [18:03:26.560] info <- base::c(r_version = base::gsub("R version ", [18:03:26.560] "", base::R.version$version.string), [18:03:26.560] platform = base::sprintf("%s (%s-bit)", [18:03:26.560] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:26.560] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:26.560] "release", "version")], collapse = " "), [18:03:26.560] hostname = base::Sys.info()[["nodename"]]) [18:03:26.560] info <- base::sprintf("%s: %s", base::names(info), [18:03:26.560] info) [18:03:26.560] info <- base::paste(info, collapse = "; ") [18:03:26.560] if (!has_future) { [18:03:26.560] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:26.560] info) [18:03:26.560] } [18:03:26.560] else { [18:03:26.560] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:26.560] info, version) [18:03:26.560] } [18:03:26.560] base::stop(msg) [18:03:26.560] } [18:03:26.560] }) [18:03:26.560] } [18:03:26.560] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:26.560] base::options(mc.cores = 1L) [18:03:26.560] } [18:03:26.560] options(future.plan = NULL) [18:03:26.560] Sys.unsetenv("R_FUTURE_PLAN") [18:03:26.560] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:26.560] } [18:03:26.560] ...future.workdir <- getwd() [18:03:26.560] } [18:03:26.560] ...future.oldOptions <- base::as.list(base::.Options) [18:03:26.560] ...future.oldEnvVars <- base::Sys.getenv() [18:03:26.560] } [18:03:26.560] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:26.560] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:26.560] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:26.560] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:26.560] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:26.560] future.stdout.windows.reencode = NULL, width = 80L) [18:03:26.560] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:26.560] base::names(...future.oldOptions)) [18:03:26.560] } [18:03:26.560] if (FALSE) { [18:03:26.560] } [18:03:26.560] else { [18:03:26.560] if (TRUE) { [18:03:26.560] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:26.560] open = "w") [18:03:26.560] } [18:03:26.560] else { [18:03:26.560] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:26.560] windows = "NUL", "/dev/null"), open = "w") [18:03:26.560] } [18:03:26.560] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:26.560] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:26.560] base::sink(type = "output", split = FALSE) [18:03:26.560] base::close(...future.stdout) [18:03:26.560] }, add = TRUE) [18:03:26.560] } [18:03:26.560] ...future.frame <- base::sys.nframe() [18:03:26.560] ...future.conditions <- base::list() [18:03:26.560] ...future.rng <- base::globalenv()$.Random.seed [18:03:26.560] if (FALSE) { [18:03:26.560] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:26.560] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:26.560] } [18:03:26.560] ...future.result <- base::tryCatch({ [18:03:26.560] base::withCallingHandlers({ [18:03:26.560] ...future.value <- base::withVisible(base::local({ [18:03:26.560] ...future.makeSendCondition <- local({ [18:03:26.560] sendCondition <- NULL [18:03:26.560] function(frame = 1L) { [18:03:26.560] if (is.function(sendCondition)) [18:03:26.560] return(sendCondition) [18:03:26.560] ns <- getNamespace("parallel") [18:03:26.560] if (exists("sendData", mode = "function", [18:03:26.560] envir = ns)) { [18:03:26.560] parallel_sendData <- get("sendData", mode = "function", [18:03:26.560] envir = ns) [18:03:26.560] envir <- sys.frame(frame) [18:03:26.560] master <- NULL [18:03:26.560] while (!identical(envir, .GlobalEnv) && [18:03:26.560] !identical(envir, emptyenv())) { [18:03:26.560] if (exists("master", mode = "list", envir = envir, [18:03:26.560] inherits = FALSE)) { [18:03:26.560] master <- get("master", mode = "list", [18:03:26.560] envir = envir, inherits = FALSE) [18:03:26.560] if (inherits(master, c("SOCKnode", [18:03:26.560] "SOCK0node"))) { [18:03:26.560] sendCondition <<- function(cond) { [18:03:26.560] data <- list(type = "VALUE", value = cond, [18:03:26.560] success = TRUE) [18:03:26.560] parallel_sendData(master, data) [18:03:26.560] } [18:03:26.560] return(sendCondition) [18:03:26.560] } [18:03:26.560] } [18:03:26.560] frame <- frame + 1L [18:03:26.560] envir <- sys.frame(frame) [18:03:26.560] } [18:03:26.560] } [18:03:26.560] sendCondition <<- function(cond) NULL [18:03:26.560] } [18:03:26.560] }) [18:03:26.560] withCallingHandlers({ [18:03:26.560] NA [18:03:26.560] }, immediateCondition = function(cond) { [18:03:26.560] sendCondition <- ...future.makeSendCondition() [18:03:26.560] sendCondition(cond) [18:03:26.560] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.560] { [18:03:26.560] inherits <- base::inherits [18:03:26.560] invokeRestart <- base::invokeRestart [18:03:26.560] is.null <- base::is.null [18:03:26.560] muffled <- FALSE [18:03:26.560] if (inherits(cond, "message")) { [18:03:26.560] muffled <- grepl(pattern, "muffleMessage") [18:03:26.560] if (muffled) [18:03:26.560] invokeRestart("muffleMessage") [18:03:26.560] } [18:03:26.560] else if (inherits(cond, "warning")) { [18:03:26.560] muffled <- grepl(pattern, "muffleWarning") [18:03:26.560] if (muffled) [18:03:26.560] invokeRestart("muffleWarning") [18:03:26.560] } [18:03:26.560] else if (inherits(cond, "condition")) { [18:03:26.560] if (!is.null(pattern)) { [18:03:26.560] computeRestarts <- base::computeRestarts [18:03:26.560] grepl <- base::grepl [18:03:26.560] restarts <- computeRestarts(cond) [18:03:26.560] for (restart in restarts) { [18:03:26.560] name <- restart$name [18:03:26.560] if (is.null(name)) [18:03:26.560] next [18:03:26.560] if (!grepl(pattern, name)) [18:03:26.560] next [18:03:26.560] invokeRestart(restart) [18:03:26.560] muffled <- TRUE [18:03:26.560] break [18:03:26.560] } [18:03:26.560] } [18:03:26.560] } [18:03:26.560] invisible(muffled) [18:03:26.560] } [18:03:26.560] muffleCondition(cond) [18:03:26.560] }) [18:03:26.560] })) [18:03:26.560] future::FutureResult(value = ...future.value$value, [18:03:26.560] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:26.560] ...future.rng), globalenv = if (FALSE) [18:03:26.560] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:26.560] ...future.globalenv.names)) [18:03:26.560] else NULL, started = ...future.startTime, version = "1.8") [18:03:26.560] }, condition = base::local({ [18:03:26.560] c <- base::c [18:03:26.560] inherits <- base::inherits [18:03:26.560] invokeRestart <- base::invokeRestart [18:03:26.560] length <- base::length [18:03:26.560] list <- base::list [18:03:26.560] seq.int <- base::seq.int [18:03:26.560] signalCondition <- base::signalCondition [18:03:26.560] sys.calls <- base::sys.calls [18:03:26.560] `[[` <- base::`[[` [18:03:26.560] `+` <- base::`+` [18:03:26.560] `<<-` <- base::`<<-` [18:03:26.560] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:26.560] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:26.560] 3L)] [18:03:26.560] } [18:03:26.560] function(cond) { [18:03:26.560] is_error <- inherits(cond, "error") [18:03:26.560] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:26.560] NULL) [18:03:26.560] if (is_error) { [18:03:26.560] sessionInformation <- function() { [18:03:26.560] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:26.560] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:26.560] search = base::search(), system = base::Sys.info()) [18:03:26.560] } [18:03:26.560] ...future.conditions[[length(...future.conditions) + [18:03:26.560] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:26.560] cond$call), session = sessionInformation(), [18:03:26.560] timestamp = base::Sys.time(), signaled = 0L) [18:03:26.560] signalCondition(cond) [18:03:26.560] } [18:03:26.560] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:26.560] "immediateCondition"))) { [18:03:26.560] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:26.560] ...future.conditions[[length(...future.conditions) + [18:03:26.560] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:26.560] if (TRUE && !signal) { [18:03:26.560] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.560] { [18:03:26.560] inherits <- base::inherits [18:03:26.560] invokeRestart <- base::invokeRestart [18:03:26.560] is.null <- base::is.null [18:03:26.560] muffled <- FALSE [18:03:26.560] if (inherits(cond, "message")) { [18:03:26.560] muffled <- grepl(pattern, "muffleMessage") [18:03:26.560] if (muffled) [18:03:26.560] invokeRestart("muffleMessage") [18:03:26.560] } [18:03:26.560] else if (inherits(cond, "warning")) { [18:03:26.560] muffled <- grepl(pattern, "muffleWarning") [18:03:26.560] if (muffled) [18:03:26.560] invokeRestart("muffleWarning") [18:03:26.560] } [18:03:26.560] else if (inherits(cond, "condition")) { [18:03:26.560] if (!is.null(pattern)) { [18:03:26.560] computeRestarts <- base::computeRestarts [18:03:26.560] grepl <- base::grepl [18:03:26.560] restarts <- computeRestarts(cond) [18:03:26.560] for (restart in restarts) { [18:03:26.560] name <- restart$name [18:03:26.560] if (is.null(name)) [18:03:26.560] next [18:03:26.560] if (!grepl(pattern, name)) [18:03:26.560] next [18:03:26.560] invokeRestart(restart) [18:03:26.560] muffled <- TRUE [18:03:26.560] break [18:03:26.560] } [18:03:26.560] } [18:03:26.560] } [18:03:26.560] invisible(muffled) [18:03:26.560] } [18:03:26.560] muffleCondition(cond, pattern = "^muffle") [18:03:26.560] } [18:03:26.560] } [18:03:26.560] else { [18:03:26.560] if (TRUE) { [18:03:26.560] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.560] { [18:03:26.560] inherits <- base::inherits [18:03:26.560] invokeRestart <- base::invokeRestart [18:03:26.560] is.null <- base::is.null [18:03:26.560] muffled <- FALSE [18:03:26.560] if (inherits(cond, "message")) { [18:03:26.560] muffled <- grepl(pattern, "muffleMessage") [18:03:26.560] if (muffled) [18:03:26.560] invokeRestart("muffleMessage") [18:03:26.560] } [18:03:26.560] else if (inherits(cond, "warning")) { [18:03:26.560] muffled <- grepl(pattern, "muffleWarning") [18:03:26.560] if (muffled) [18:03:26.560] invokeRestart("muffleWarning") [18:03:26.560] } [18:03:26.560] else if (inherits(cond, "condition")) { [18:03:26.560] if (!is.null(pattern)) { [18:03:26.560] computeRestarts <- base::computeRestarts [18:03:26.560] grepl <- base::grepl [18:03:26.560] restarts <- computeRestarts(cond) [18:03:26.560] for (restart in restarts) { [18:03:26.560] name <- restart$name [18:03:26.560] if (is.null(name)) [18:03:26.560] next [18:03:26.560] if (!grepl(pattern, name)) [18:03:26.560] next [18:03:26.560] invokeRestart(restart) [18:03:26.560] muffled <- TRUE [18:03:26.560] break [18:03:26.560] } [18:03:26.560] } [18:03:26.560] } [18:03:26.560] invisible(muffled) [18:03:26.560] } [18:03:26.560] muffleCondition(cond, pattern = "^muffle") [18:03:26.560] } [18:03:26.560] } [18:03:26.560] } [18:03:26.560] })) [18:03:26.560] }, error = function(ex) { [18:03:26.560] base::structure(base::list(value = NULL, visible = NULL, [18:03:26.560] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:26.560] ...future.rng), started = ...future.startTime, [18:03:26.560] finished = Sys.time(), session_uuid = NA_character_, [18:03:26.560] version = "1.8"), class = "FutureResult") [18:03:26.560] }, finally = { [18:03:26.560] if (!identical(...future.workdir, getwd())) [18:03:26.560] setwd(...future.workdir) [18:03:26.560] { [18:03:26.560] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:26.560] ...future.oldOptions$nwarnings <- NULL [18:03:26.560] } [18:03:26.560] base::options(...future.oldOptions) [18:03:26.560] if (.Platform$OS.type == "windows") { [18:03:26.560] old_names <- names(...future.oldEnvVars) [18:03:26.560] envs <- base::Sys.getenv() [18:03:26.560] names <- names(envs) [18:03:26.560] common <- intersect(names, old_names) [18:03:26.560] added <- setdiff(names, old_names) [18:03:26.560] removed <- setdiff(old_names, names) [18:03:26.560] changed <- common[...future.oldEnvVars[common] != [18:03:26.560] envs[common]] [18:03:26.560] NAMES <- toupper(changed) [18:03:26.560] args <- list() [18:03:26.560] for (kk in seq_along(NAMES)) { [18:03:26.560] name <- changed[[kk]] [18:03:26.560] NAME <- NAMES[[kk]] [18:03:26.560] if (name != NAME && is.element(NAME, old_names)) [18:03:26.560] next [18:03:26.560] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:26.560] } [18:03:26.560] NAMES <- toupper(added) [18:03:26.560] for (kk in seq_along(NAMES)) { [18:03:26.560] name <- added[[kk]] [18:03:26.560] NAME <- NAMES[[kk]] [18:03:26.560] if (name != NAME && is.element(NAME, old_names)) [18:03:26.560] next [18:03:26.560] args[[name]] <- "" [18:03:26.560] } [18:03:26.560] NAMES <- toupper(removed) [18:03:26.560] for (kk in seq_along(NAMES)) { [18:03:26.560] name <- removed[[kk]] [18:03:26.560] NAME <- NAMES[[kk]] [18:03:26.560] if (name != NAME && is.element(NAME, old_names)) [18:03:26.560] next [18:03:26.560] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:26.560] } [18:03:26.560] if (length(args) > 0) [18:03:26.560] base::do.call(base::Sys.setenv, args = args) [18:03:26.560] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:26.560] } [18:03:26.560] else { [18:03:26.560] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:26.560] } [18:03:26.560] { [18:03:26.560] if (base::length(...future.futureOptionsAdded) > [18:03:26.560] 0L) { [18:03:26.560] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:26.560] base::names(opts) <- ...future.futureOptionsAdded [18:03:26.560] base::options(opts) [18:03:26.560] } [18:03:26.560] { [18:03:26.560] { [18:03:26.560] base::options(mc.cores = ...future.mc.cores.old) [18:03:26.560] NULL [18:03:26.560] } [18:03:26.560] options(future.plan = NULL) [18:03:26.560] if (is.na(NA_character_)) [18:03:26.560] Sys.unsetenv("R_FUTURE_PLAN") [18:03:26.560] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:26.560] future::plan(list(function (..., workers = availableCores(), [18:03:26.560] lazy = FALSE, rscript_libs = .libPaths(), [18:03:26.560] envir = parent.frame()) [18:03:26.560] { [18:03:26.560] if (is.function(workers)) [18:03:26.560] workers <- workers() [18:03:26.560] workers <- structure(as.integer(workers), [18:03:26.560] class = class(workers)) [18:03:26.560] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:26.560] workers >= 1) [18:03:26.560] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:26.560] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:26.560] } [18:03:26.560] future <- MultisessionFuture(..., workers = workers, [18:03:26.560] lazy = lazy, rscript_libs = rscript_libs, [18:03:26.560] envir = envir) [18:03:26.560] if (!future$lazy) [18:03:26.560] future <- run(future) [18:03:26.560] invisible(future) [18:03:26.560] }), .cleanup = FALSE, .init = FALSE) [18:03:26.560] } [18:03:26.560] } [18:03:26.560] } [18:03:26.560] }) [18:03:26.560] if (TRUE) { [18:03:26.560] base::sink(type = "output", split = FALSE) [18:03:26.560] if (TRUE) { [18:03:26.560] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:26.560] } [18:03:26.560] else { [18:03:26.560] ...future.result["stdout"] <- base::list(NULL) [18:03:26.560] } [18:03:26.560] base::close(...future.stdout) [18:03:26.560] ...future.stdout <- NULL [18:03:26.560] } [18:03:26.560] ...future.result$conditions <- ...future.conditions [18:03:26.560] ...future.result$finished <- base::Sys.time() [18:03:26.560] ...future.result [18:03:26.560] } [18:03:26.647] MultisessionFuture started [18:03:26.648] result() for ClusterFuture ... [18:03:26.648] receiveMessageFromWorker() for ClusterFuture ... [18:03:26.649] - Validating connection of MultisessionFuture [18:03:26.706] - received message: FutureResult [18:03:26.707] - Received FutureResult [18:03:26.710] - Erased future from FutureRegistry [18:03:26.710] result() for ClusterFuture ... [18:03:26.711] - result already collected: FutureResult [18:03:26.711] result() for ClusterFuture ... done [18:03:26.711] receiveMessageFromWorker() for ClusterFuture ... done [18:03:26.711] result() for ClusterFuture ... done [18:03:26.711] result() for ClusterFuture ... [18:03:26.712] - result already collected: FutureResult [18:03:26.712] result() for ClusterFuture ... done [18:03:26.712] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [18:03:26.715] plan(): nbrOfWorkers() = 2 - stdout = TRUE [18:03:26.715] getGlobalsAndPackages() ... [18:03:26.715] Searching for globals... [18:03:26.720] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [18:03:26.720] Searching for globals ... DONE [18:03:26.720] Resolving globals: FALSE [18:03:26.721] [18:03:26.721] - packages: [1] 'utils' [18:03:26.722] getGlobalsAndPackages() ... DONE [18:03:26.722] run() for 'Future' ... [18:03:26.722] - state: 'created' [18:03:26.723] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:26.737] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:26.737] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:26.737] - Field: 'node' [18:03:26.738] - Field: 'label' [18:03:26.738] - Field: 'local' [18:03:26.738] - Field: 'owner' [18:03:26.738] - Field: 'envir' [18:03:26.738] - Field: 'workers' [18:03:26.738] - Field: 'packages' [18:03:26.739] - Field: 'gc' [18:03:26.739] - Field: 'conditions' [18:03:26.739] - Field: 'persistent' [18:03:26.739] - Field: 'expr' [18:03:26.739] - Field: 'uuid' [18:03:26.740] - Field: 'seed' [18:03:26.740] - Field: 'version' [18:03:26.740] - Field: 'result' [18:03:26.740] - Field: 'asynchronous' [18:03:26.740] - Field: 'calls' [18:03:26.741] - Field: 'globals' [18:03:26.741] - Field: 'stdout' [18:03:26.741] - Field: 'earlySignal' [18:03:26.741] - Field: 'lazy' [18:03:26.742] - Field: 'state' [18:03:26.742] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:26.742] - Launch lazy future ... [18:03:26.742] Packages needed by the future expression (n = 1): 'utils' [18:03:26.743] Packages needed by future strategies (n = 0): [18:03:26.743] { [18:03:26.743] { [18:03:26.743] { [18:03:26.743] ...future.startTime <- base::Sys.time() [18:03:26.743] { [18:03:26.743] { [18:03:26.743] { [18:03:26.743] { [18:03:26.743] { [18:03:26.743] base::local({ [18:03:26.743] has_future <- base::requireNamespace("future", [18:03:26.743] quietly = TRUE) [18:03:26.743] if (has_future) { [18:03:26.743] ns <- base::getNamespace("future") [18:03:26.743] version <- ns[[".package"]][["version"]] [18:03:26.743] if (is.null(version)) [18:03:26.743] version <- utils::packageVersion("future") [18:03:26.743] } [18:03:26.743] else { [18:03:26.743] version <- NULL [18:03:26.743] } [18:03:26.743] if (!has_future || version < "1.8.0") { [18:03:26.743] info <- base::c(r_version = base::gsub("R version ", [18:03:26.743] "", base::R.version$version.string), [18:03:26.743] platform = base::sprintf("%s (%s-bit)", [18:03:26.743] base::R.version$platform, 8 * [18:03:26.743] base::.Machine$sizeof.pointer), [18:03:26.743] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:26.743] "release", "version")], collapse = " "), [18:03:26.743] hostname = base::Sys.info()[["nodename"]]) [18:03:26.743] info <- base::sprintf("%s: %s", base::names(info), [18:03:26.743] info) [18:03:26.743] info <- base::paste(info, collapse = "; ") [18:03:26.743] if (!has_future) { [18:03:26.743] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:26.743] info) [18:03:26.743] } [18:03:26.743] else { [18:03:26.743] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:26.743] info, version) [18:03:26.743] } [18:03:26.743] base::stop(msg) [18:03:26.743] } [18:03:26.743] }) [18:03:26.743] } [18:03:26.743] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:26.743] base::options(mc.cores = 1L) [18:03:26.743] } [18:03:26.743] base::local({ [18:03:26.743] for (pkg in "utils") { [18:03:26.743] base::loadNamespace(pkg) [18:03:26.743] base::library(pkg, character.only = TRUE) [18:03:26.743] } [18:03:26.743] }) [18:03:26.743] } [18:03:26.743] options(future.plan = NULL) [18:03:26.743] Sys.unsetenv("R_FUTURE_PLAN") [18:03:26.743] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:26.743] } [18:03:26.743] ...future.workdir <- getwd() [18:03:26.743] } [18:03:26.743] ...future.oldOptions <- base::as.list(base::.Options) [18:03:26.743] ...future.oldEnvVars <- base::Sys.getenv() [18:03:26.743] } [18:03:26.743] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:26.743] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:26.743] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:26.743] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:26.743] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:26.743] future.stdout.windows.reencode = NULL, width = 80L) [18:03:26.743] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:26.743] base::names(...future.oldOptions)) [18:03:26.743] } [18:03:26.743] if (FALSE) { [18:03:26.743] } [18:03:26.743] else { [18:03:26.743] if (TRUE) { [18:03:26.743] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:26.743] open = "w") [18:03:26.743] } [18:03:26.743] else { [18:03:26.743] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:26.743] windows = "NUL", "/dev/null"), open = "w") [18:03:26.743] } [18:03:26.743] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:26.743] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:26.743] base::sink(type = "output", split = FALSE) [18:03:26.743] base::close(...future.stdout) [18:03:26.743] }, add = TRUE) [18:03:26.743] } [18:03:26.743] ...future.frame <- base::sys.nframe() [18:03:26.743] ...future.conditions <- base::list() [18:03:26.743] ...future.rng <- base::globalenv()$.Random.seed [18:03:26.743] if (FALSE) { [18:03:26.743] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:26.743] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:26.743] } [18:03:26.743] ...future.result <- base::tryCatch({ [18:03:26.743] base::withCallingHandlers({ [18:03:26.743] ...future.value <- base::withVisible(base::local({ [18:03:26.743] ...future.makeSendCondition <- local({ [18:03:26.743] sendCondition <- NULL [18:03:26.743] function(frame = 1L) { [18:03:26.743] if (is.function(sendCondition)) [18:03:26.743] return(sendCondition) [18:03:26.743] ns <- getNamespace("parallel") [18:03:26.743] if (exists("sendData", mode = "function", [18:03:26.743] envir = ns)) { [18:03:26.743] parallel_sendData <- get("sendData", mode = "function", [18:03:26.743] envir = ns) [18:03:26.743] envir <- sys.frame(frame) [18:03:26.743] master <- NULL [18:03:26.743] while (!identical(envir, .GlobalEnv) && [18:03:26.743] !identical(envir, emptyenv())) { [18:03:26.743] if (exists("master", mode = "list", envir = envir, [18:03:26.743] inherits = FALSE)) { [18:03:26.743] master <- get("master", mode = "list", [18:03:26.743] envir = envir, inherits = FALSE) [18:03:26.743] if (inherits(master, c("SOCKnode", [18:03:26.743] "SOCK0node"))) { [18:03:26.743] sendCondition <<- function(cond) { [18:03:26.743] data <- list(type = "VALUE", value = cond, [18:03:26.743] success = TRUE) [18:03:26.743] parallel_sendData(master, data) [18:03:26.743] } [18:03:26.743] return(sendCondition) [18:03:26.743] } [18:03:26.743] } [18:03:26.743] frame <- frame + 1L [18:03:26.743] envir <- sys.frame(frame) [18:03:26.743] } [18:03:26.743] } [18:03:26.743] sendCondition <<- function(cond) NULL [18:03:26.743] } [18:03:26.743] }) [18:03:26.743] withCallingHandlers({ [18:03:26.743] { [18:03:26.743] print(1:50) [18:03:26.743] str(1:50) [18:03:26.743] cat(letters, sep = "-") [18:03:26.743] cat(1:6, collapse = "\n") [18:03:26.743] write.table(datasets::iris[1:10, ], sep = "\t") [18:03:26.743] 42L [18:03:26.743] } [18:03:26.743] }, immediateCondition = function(cond) { [18:03:26.743] sendCondition <- ...future.makeSendCondition() [18:03:26.743] sendCondition(cond) [18:03:26.743] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.743] { [18:03:26.743] inherits <- base::inherits [18:03:26.743] invokeRestart <- base::invokeRestart [18:03:26.743] is.null <- base::is.null [18:03:26.743] muffled <- FALSE [18:03:26.743] if (inherits(cond, "message")) { [18:03:26.743] muffled <- grepl(pattern, "muffleMessage") [18:03:26.743] if (muffled) [18:03:26.743] invokeRestart("muffleMessage") [18:03:26.743] } [18:03:26.743] else if (inherits(cond, "warning")) { [18:03:26.743] muffled <- grepl(pattern, "muffleWarning") [18:03:26.743] if (muffled) [18:03:26.743] invokeRestart("muffleWarning") [18:03:26.743] } [18:03:26.743] else if (inherits(cond, "condition")) { [18:03:26.743] if (!is.null(pattern)) { [18:03:26.743] computeRestarts <- base::computeRestarts [18:03:26.743] grepl <- base::grepl [18:03:26.743] restarts <- computeRestarts(cond) [18:03:26.743] for (restart in restarts) { [18:03:26.743] name <- restart$name [18:03:26.743] if (is.null(name)) [18:03:26.743] next [18:03:26.743] if (!grepl(pattern, name)) [18:03:26.743] next [18:03:26.743] invokeRestart(restart) [18:03:26.743] muffled <- TRUE [18:03:26.743] break [18:03:26.743] } [18:03:26.743] } [18:03:26.743] } [18:03:26.743] invisible(muffled) [18:03:26.743] } [18:03:26.743] muffleCondition(cond) [18:03:26.743] }) [18:03:26.743] })) [18:03:26.743] future::FutureResult(value = ...future.value$value, [18:03:26.743] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:26.743] ...future.rng), globalenv = if (FALSE) [18:03:26.743] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:26.743] ...future.globalenv.names)) [18:03:26.743] else NULL, started = ...future.startTime, version = "1.8") [18:03:26.743] }, condition = base::local({ [18:03:26.743] c <- base::c [18:03:26.743] inherits <- base::inherits [18:03:26.743] invokeRestart <- base::invokeRestart [18:03:26.743] length <- base::length [18:03:26.743] list <- base::list [18:03:26.743] seq.int <- base::seq.int [18:03:26.743] signalCondition <- base::signalCondition [18:03:26.743] sys.calls <- base::sys.calls [18:03:26.743] `[[` <- base::`[[` [18:03:26.743] `+` <- base::`+` [18:03:26.743] `<<-` <- base::`<<-` [18:03:26.743] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:26.743] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:26.743] 3L)] [18:03:26.743] } [18:03:26.743] function(cond) { [18:03:26.743] is_error <- inherits(cond, "error") [18:03:26.743] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:26.743] NULL) [18:03:26.743] if (is_error) { [18:03:26.743] sessionInformation <- function() { [18:03:26.743] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:26.743] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:26.743] search = base::search(), system = base::Sys.info()) [18:03:26.743] } [18:03:26.743] ...future.conditions[[length(...future.conditions) + [18:03:26.743] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:26.743] cond$call), session = sessionInformation(), [18:03:26.743] timestamp = base::Sys.time(), signaled = 0L) [18:03:26.743] signalCondition(cond) [18:03:26.743] } [18:03:26.743] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:26.743] "immediateCondition"))) { [18:03:26.743] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:26.743] ...future.conditions[[length(...future.conditions) + [18:03:26.743] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:26.743] if (TRUE && !signal) { [18:03:26.743] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.743] { [18:03:26.743] inherits <- base::inherits [18:03:26.743] invokeRestart <- base::invokeRestart [18:03:26.743] is.null <- base::is.null [18:03:26.743] muffled <- FALSE [18:03:26.743] if (inherits(cond, "message")) { [18:03:26.743] muffled <- grepl(pattern, "muffleMessage") [18:03:26.743] if (muffled) [18:03:26.743] invokeRestart("muffleMessage") [18:03:26.743] } [18:03:26.743] else if (inherits(cond, "warning")) { [18:03:26.743] muffled <- grepl(pattern, "muffleWarning") [18:03:26.743] if (muffled) [18:03:26.743] invokeRestart("muffleWarning") [18:03:26.743] } [18:03:26.743] else if (inherits(cond, "condition")) { [18:03:26.743] if (!is.null(pattern)) { [18:03:26.743] computeRestarts <- base::computeRestarts [18:03:26.743] grepl <- base::grepl [18:03:26.743] restarts <- computeRestarts(cond) [18:03:26.743] for (restart in restarts) { [18:03:26.743] name <- restart$name [18:03:26.743] if (is.null(name)) [18:03:26.743] next [18:03:26.743] if (!grepl(pattern, name)) [18:03:26.743] next [18:03:26.743] invokeRestart(restart) [18:03:26.743] muffled <- TRUE [18:03:26.743] break [18:03:26.743] } [18:03:26.743] } [18:03:26.743] } [18:03:26.743] invisible(muffled) [18:03:26.743] } [18:03:26.743] muffleCondition(cond, pattern = "^muffle") [18:03:26.743] } [18:03:26.743] } [18:03:26.743] else { [18:03:26.743] if (TRUE) { [18:03:26.743] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.743] { [18:03:26.743] inherits <- base::inherits [18:03:26.743] invokeRestart <- base::invokeRestart [18:03:26.743] is.null <- base::is.null [18:03:26.743] muffled <- FALSE [18:03:26.743] if (inherits(cond, "message")) { [18:03:26.743] muffled <- grepl(pattern, "muffleMessage") [18:03:26.743] if (muffled) [18:03:26.743] invokeRestart("muffleMessage") [18:03:26.743] } [18:03:26.743] else if (inherits(cond, "warning")) { [18:03:26.743] muffled <- grepl(pattern, "muffleWarning") [18:03:26.743] if (muffled) [18:03:26.743] invokeRestart("muffleWarning") [18:03:26.743] } [18:03:26.743] else if (inherits(cond, "condition")) { [18:03:26.743] if (!is.null(pattern)) { [18:03:26.743] computeRestarts <- base::computeRestarts [18:03:26.743] grepl <- base::grepl [18:03:26.743] restarts <- computeRestarts(cond) [18:03:26.743] for (restart in restarts) { [18:03:26.743] name <- restart$name [18:03:26.743] if (is.null(name)) [18:03:26.743] next [18:03:26.743] if (!grepl(pattern, name)) [18:03:26.743] next [18:03:26.743] invokeRestart(restart) [18:03:26.743] muffled <- TRUE [18:03:26.743] break [18:03:26.743] } [18:03:26.743] } [18:03:26.743] } [18:03:26.743] invisible(muffled) [18:03:26.743] } [18:03:26.743] muffleCondition(cond, pattern = "^muffle") [18:03:26.743] } [18:03:26.743] } [18:03:26.743] } [18:03:26.743] })) [18:03:26.743] }, error = function(ex) { [18:03:26.743] base::structure(base::list(value = NULL, visible = NULL, [18:03:26.743] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:26.743] ...future.rng), started = ...future.startTime, [18:03:26.743] finished = Sys.time(), session_uuid = NA_character_, [18:03:26.743] version = "1.8"), class = "FutureResult") [18:03:26.743] }, finally = { [18:03:26.743] if (!identical(...future.workdir, getwd())) [18:03:26.743] setwd(...future.workdir) [18:03:26.743] { [18:03:26.743] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:26.743] ...future.oldOptions$nwarnings <- NULL [18:03:26.743] } [18:03:26.743] base::options(...future.oldOptions) [18:03:26.743] if (.Platform$OS.type == "windows") { [18:03:26.743] old_names <- names(...future.oldEnvVars) [18:03:26.743] envs <- base::Sys.getenv() [18:03:26.743] names <- names(envs) [18:03:26.743] common <- intersect(names, old_names) [18:03:26.743] added <- setdiff(names, old_names) [18:03:26.743] removed <- setdiff(old_names, names) [18:03:26.743] changed <- common[...future.oldEnvVars[common] != [18:03:26.743] envs[common]] [18:03:26.743] NAMES <- toupper(changed) [18:03:26.743] args <- list() [18:03:26.743] for (kk in seq_along(NAMES)) { [18:03:26.743] name <- changed[[kk]] [18:03:26.743] NAME <- NAMES[[kk]] [18:03:26.743] if (name != NAME && is.element(NAME, old_names)) [18:03:26.743] next [18:03:26.743] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:26.743] } [18:03:26.743] NAMES <- toupper(added) [18:03:26.743] for (kk in seq_along(NAMES)) { [18:03:26.743] name <- added[[kk]] [18:03:26.743] NAME <- NAMES[[kk]] [18:03:26.743] if (name != NAME && is.element(NAME, old_names)) [18:03:26.743] next [18:03:26.743] args[[name]] <- "" [18:03:26.743] } [18:03:26.743] NAMES <- toupper(removed) [18:03:26.743] for (kk in seq_along(NAMES)) { [18:03:26.743] name <- removed[[kk]] [18:03:26.743] NAME <- NAMES[[kk]] [18:03:26.743] if (name != NAME && is.element(NAME, old_names)) [18:03:26.743] next [18:03:26.743] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:26.743] } [18:03:26.743] if (length(args) > 0) [18:03:26.743] base::do.call(base::Sys.setenv, args = args) [18:03:26.743] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:26.743] } [18:03:26.743] else { [18:03:26.743] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:26.743] } [18:03:26.743] { [18:03:26.743] if (base::length(...future.futureOptionsAdded) > [18:03:26.743] 0L) { [18:03:26.743] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:26.743] base::names(opts) <- ...future.futureOptionsAdded [18:03:26.743] base::options(opts) [18:03:26.743] } [18:03:26.743] { [18:03:26.743] { [18:03:26.743] base::options(mc.cores = ...future.mc.cores.old) [18:03:26.743] NULL [18:03:26.743] } [18:03:26.743] options(future.plan = NULL) [18:03:26.743] if (is.na(NA_character_)) [18:03:26.743] Sys.unsetenv("R_FUTURE_PLAN") [18:03:26.743] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:26.743] future::plan(list(function (..., workers = availableCores(), [18:03:26.743] lazy = FALSE, rscript_libs = .libPaths(), [18:03:26.743] envir = parent.frame()) [18:03:26.743] { [18:03:26.743] if (is.function(workers)) [18:03:26.743] workers <- workers() [18:03:26.743] workers <- structure(as.integer(workers), [18:03:26.743] class = class(workers)) [18:03:26.743] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:26.743] workers >= 1) [18:03:26.743] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:26.743] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:26.743] } [18:03:26.743] future <- MultisessionFuture(..., workers = workers, [18:03:26.743] lazy = lazy, rscript_libs = rscript_libs, [18:03:26.743] envir = envir) [18:03:26.743] if (!future$lazy) [18:03:26.743] future <- run(future) [18:03:26.743] invisible(future) [18:03:26.743] }), .cleanup = FALSE, .init = FALSE) [18:03:26.743] } [18:03:26.743] } [18:03:26.743] } [18:03:26.743] }) [18:03:26.743] if (TRUE) { [18:03:26.743] base::sink(type = "output", split = FALSE) [18:03:26.743] if (TRUE) { [18:03:26.743] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:26.743] } [18:03:26.743] else { [18:03:26.743] ...future.result["stdout"] <- base::list(NULL) [18:03:26.743] } [18:03:26.743] base::close(...future.stdout) [18:03:26.743] ...future.stdout <- NULL [18:03:26.743] } [18:03:26.743] ...future.result$conditions <- ...future.conditions [18:03:26.743] ...future.result$finished <- base::Sys.time() [18:03:26.743] ...future.result [18:03:26.743] } [18:03:26.750] MultisessionFuture started [18:03:26.750] - Launch lazy future ... done [18:03:26.750] run() for 'MultisessionFuture' ... done [18:03:26.750] result() for ClusterFuture ... [18:03:26.751] receiveMessageFromWorker() for ClusterFuture ... [18:03:26.751] - Validating connection of MultisessionFuture [18:03:26.773] - received message: FutureResult [18:03:26.773] - Received FutureResult [18:03:26.773] - Erased future from FutureRegistry [18:03:26.774] result() for ClusterFuture ... [18:03:26.774] - result already collected: FutureResult [18:03:26.774] result() for ClusterFuture ... done [18:03:26.774] receiveMessageFromWorker() for ClusterFuture ... done [18:03:26.774] result() for ClusterFuture ... 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: "2023-07-01 18:03:26" $ finished : POSIXct[1:1], format: "2023-07-01 18:03:26" $ session_uuid: chr "ad29a053-9286-77b6-9ac4-e3a455b8b8d6" ..- 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 89152 .. ..$ time : POSIXct[1:1], format: "2023-07-01 18:03:26" .. ..$ 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" [18:03:26.785] result() for ClusterFuture ... [18:03:26.786] - result already collected: FutureResult [18:03:26.786] result() for ClusterFuture ... done [18:03:26.786] result() for ClusterFuture ... [18:03:26.786] - result already collected: FutureResult [18:03:26.786] result() for ClusterFuture ... done [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.02296114 secs (started 2023-07-01 18:03:26.750274) version: 1.8 [18:03:26.787] getGlobalsAndPackages() ... [18:03:26.788] Searching for globals... [18:03:26.792] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [18:03:26.792] Searching for globals ... DONE [18:03:26.792] Resolving globals: FALSE [18:03:26.793] [18:03:26.793] - packages: [1] 'utils' [18:03:26.794] getGlobalsAndPackages() ... DONE [18:03:26.794] run() for 'Future' ... [18:03:26.794] - state: 'created' [18:03:26.795] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:26.809] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:26.809] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:26.810] - Field: 'node' [18:03:26.810] - Field: 'label' [18:03:26.810] - Field: 'local' [18:03:26.810] - Field: 'owner' [18:03:26.810] - Field: 'envir' [18:03:26.811] - Field: 'workers' [18:03:26.811] - Field: 'packages' [18:03:26.811] - Field: 'gc' [18:03:26.811] - Field: 'conditions' [18:03:26.811] - Field: 'persistent' [18:03:26.814] - Field: 'expr' [18:03:26.814] - Field: 'uuid' [18:03:26.814] - Field: 'seed' [18:03:26.814] - Field: 'version' [18:03:26.814] - Field: 'result' [18:03:26.814] - Field: 'asynchronous' [18:03:26.815] - Field: 'calls' [18:03:26.815] - Field: 'globals' [18:03:26.815] - Field: 'stdout' [18:03:26.815] - Field: 'earlySignal' [18:03:26.815] - Field: 'lazy' [18:03:26.816] - Field: 'state' [18:03:26.816] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:26.816] - Launch lazy future ... [18:03:26.816] Packages needed by the future expression (n = 1): 'utils' [18:03:26.816] Packages needed by future strategies (n = 0): [18:03:26.817] { [18:03:26.817] { [18:03:26.817] { [18:03:26.817] ...future.startTime <- base::Sys.time() [18:03:26.817] { [18:03:26.817] { [18:03:26.817] { [18:03:26.817] { [18:03:26.817] { [18:03:26.817] base::local({ [18:03:26.817] has_future <- base::requireNamespace("future", [18:03:26.817] quietly = TRUE) [18:03:26.817] if (has_future) { [18:03:26.817] ns <- base::getNamespace("future") [18:03:26.817] version <- ns[[".package"]][["version"]] [18:03:26.817] if (is.null(version)) [18:03:26.817] version <- utils::packageVersion("future") [18:03:26.817] } [18:03:26.817] else { [18:03:26.817] version <- NULL [18:03:26.817] } [18:03:26.817] if (!has_future || version < "1.8.0") { [18:03:26.817] info <- base::c(r_version = base::gsub("R version ", [18:03:26.817] "", base::R.version$version.string), [18:03:26.817] platform = base::sprintf("%s (%s-bit)", [18:03:26.817] base::R.version$platform, 8 * [18:03:26.817] base::.Machine$sizeof.pointer), [18:03:26.817] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:26.817] "release", "version")], collapse = " "), [18:03:26.817] hostname = base::Sys.info()[["nodename"]]) [18:03:26.817] info <- base::sprintf("%s: %s", base::names(info), [18:03:26.817] info) [18:03:26.817] info <- base::paste(info, collapse = "; ") [18:03:26.817] if (!has_future) { [18:03:26.817] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:26.817] info) [18:03:26.817] } [18:03:26.817] else { [18:03:26.817] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:26.817] info, version) [18:03:26.817] } [18:03:26.817] base::stop(msg) [18:03:26.817] } [18:03:26.817] }) [18:03:26.817] } [18:03:26.817] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:26.817] base::options(mc.cores = 1L) [18:03:26.817] } [18:03:26.817] base::local({ [18:03:26.817] for (pkg in "utils") { [18:03:26.817] base::loadNamespace(pkg) [18:03:26.817] base::library(pkg, character.only = TRUE) [18:03:26.817] } [18:03:26.817] }) [18:03:26.817] } [18:03:26.817] options(future.plan = NULL) [18:03:26.817] Sys.unsetenv("R_FUTURE_PLAN") [18:03:26.817] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:26.817] } [18:03:26.817] ...future.workdir <- getwd() [18:03:26.817] } [18:03:26.817] ...future.oldOptions <- base::as.list(base::.Options) [18:03:26.817] ...future.oldEnvVars <- base::Sys.getenv() [18:03:26.817] } [18:03:26.817] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:26.817] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:26.817] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:26.817] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:26.817] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:26.817] future.stdout.windows.reencode = NULL, width = 80L) [18:03:26.817] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:26.817] base::names(...future.oldOptions)) [18:03:26.817] } [18:03:26.817] if (FALSE) { [18:03:26.817] } [18:03:26.817] else { [18:03:26.817] if (TRUE) { [18:03:26.817] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:26.817] open = "w") [18:03:26.817] } [18:03:26.817] else { [18:03:26.817] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:26.817] windows = "NUL", "/dev/null"), open = "w") [18:03:26.817] } [18:03:26.817] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:26.817] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:26.817] base::sink(type = "output", split = FALSE) [18:03:26.817] base::close(...future.stdout) [18:03:26.817] }, add = TRUE) [18:03:26.817] } [18:03:26.817] ...future.frame <- base::sys.nframe() [18:03:26.817] ...future.conditions <- base::list() [18:03:26.817] ...future.rng <- base::globalenv()$.Random.seed [18:03:26.817] if (FALSE) { [18:03:26.817] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:26.817] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:26.817] } [18:03:26.817] ...future.result <- base::tryCatch({ [18:03:26.817] base::withCallingHandlers({ [18:03:26.817] ...future.value <- base::withVisible(base::local({ [18:03:26.817] ...future.makeSendCondition <- local({ [18:03:26.817] sendCondition <- NULL [18:03:26.817] function(frame = 1L) { [18:03:26.817] if (is.function(sendCondition)) [18:03:26.817] return(sendCondition) [18:03:26.817] ns <- getNamespace("parallel") [18:03:26.817] if (exists("sendData", mode = "function", [18:03:26.817] envir = ns)) { [18:03:26.817] parallel_sendData <- get("sendData", mode = "function", [18:03:26.817] envir = ns) [18:03:26.817] envir <- sys.frame(frame) [18:03:26.817] master <- NULL [18:03:26.817] while (!identical(envir, .GlobalEnv) && [18:03:26.817] !identical(envir, emptyenv())) { [18:03:26.817] if (exists("master", mode = "list", envir = envir, [18:03:26.817] inherits = FALSE)) { [18:03:26.817] master <- get("master", mode = "list", [18:03:26.817] envir = envir, inherits = FALSE) [18:03:26.817] if (inherits(master, c("SOCKnode", [18:03:26.817] "SOCK0node"))) { [18:03:26.817] sendCondition <<- function(cond) { [18:03:26.817] data <- list(type = "VALUE", value = cond, [18:03:26.817] success = TRUE) [18:03:26.817] parallel_sendData(master, data) [18:03:26.817] } [18:03:26.817] return(sendCondition) [18:03:26.817] } [18:03:26.817] } [18:03:26.817] frame <- frame + 1L [18:03:26.817] envir <- sys.frame(frame) [18:03:26.817] } [18:03:26.817] } [18:03:26.817] sendCondition <<- function(cond) NULL [18:03:26.817] } [18:03:26.817] }) [18:03:26.817] withCallingHandlers({ [18:03:26.817] { [18:03:26.817] print(1:50) [18:03:26.817] str(1:50) [18:03:26.817] cat(letters, sep = "-") [18:03:26.817] cat(1:6, collapse = "\n") [18:03:26.817] write.table(datasets::iris[1:10, ], sep = "\t") [18:03:26.817] 42L [18:03:26.817] } [18:03:26.817] }, immediateCondition = function(cond) { [18:03:26.817] sendCondition <- ...future.makeSendCondition() [18:03:26.817] sendCondition(cond) [18:03:26.817] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.817] { [18:03:26.817] inherits <- base::inherits [18:03:26.817] invokeRestart <- base::invokeRestart [18:03:26.817] is.null <- base::is.null [18:03:26.817] muffled <- FALSE [18:03:26.817] if (inherits(cond, "message")) { [18:03:26.817] muffled <- grepl(pattern, "muffleMessage") [18:03:26.817] if (muffled) [18:03:26.817] invokeRestart("muffleMessage") [18:03:26.817] } [18:03:26.817] else if (inherits(cond, "warning")) { [18:03:26.817] muffled <- grepl(pattern, "muffleWarning") [18:03:26.817] if (muffled) [18:03:26.817] invokeRestart("muffleWarning") [18:03:26.817] } [18:03:26.817] else if (inherits(cond, "condition")) { [18:03:26.817] if (!is.null(pattern)) { [18:03:26.817] computeRestarts <- base::computeRestarts [18:03:26.817] grepl <- base::grepl [18:03:26.817] restarts <- computeRestarts(cond) [18:03:26.817] for (restart in restarts) { [18:03:26.817] name <- restart$name [18:03:26.817] if (is.null(name)) [18:03:26.817] next [18:03:26.817] if (!grepl(pattern, name)) [18:03:26.817] next [18:03:26.817] invokeRestart(restart) [18:03:26.817] muffled <- TRUE [18:03:26.817] break [18:03:26.817] } [18:03:26.817] } [18:03:26.817] } [18:03:26.817] invisible(muffled) [18:03:26.817] } [18:03:26.817] muffleCondition(cond) [18:03:26.817] }) [18:03:26.817] })) [18:03:26.817] future::FutureResult(value = ...future.value$value, [18:03:26.817] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:26.817] ...future.rng), globalenv = if (FALSE) [18:03:26.817] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:26.817] ...future.globalenv.names)) [18:03:26.817] else NULL, started = ...future.startTime, version = "1.8") [18:03:26.817] }, condition = base::local({ [18:03:26.817] c <- base::c [18:03:26.817] inherits <- base::inherits [18:03:26.817] invokeRestart <- base::invokeRestart [18:03:26.817] length <- base::length [18:03:26.817] list <- base::list [18:03:26.817] seq.int <- base::seq.int [18:03:26.817] signalCondition <- base::signalCondition [18:03:26.817] sys.calls <- base::sys.calls [18:03:26.817] `[[` <- base::`[[` [18:03:26.817] `+` <- base::`+` [18:03:26.817] `<<-` <- base::`<<-` [18:03:26.817] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:26.817] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:26.817] 3L)] [18:03:26.817] } [18:03:26.817] function(cond) { [18:03:26.817] is_error <- inherits(cond, "error") [18:03:26.817] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:26.817] NULL) [18:03:26.817] if (is_error) { [18:03:26.817] sessionInformation <- function() { [18:03:26.817] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:26.817] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:26.817] search = base::search(), system = base::Sys.info()) [18:03:26.817] } [18:03:26.817] ...future.conditions[[length(...future.conditions) + [18:03:26.817] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:26.817] cond$call), session = sessionInformation(), [18:03:26.817] timestamp = base::Sys.time(), signaled = 0L) [18:03:26.817] signalCondition(cond) [18:03:26.817] } [18:03:26.817] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:26.817] "immediateCondition"))) { [18:03:26.817] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:26.817] ...future.conditions[[length(...future.conditions) + [18:03:26.817] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:26.817] if (TRUE && !signal) { [18:03:26.817] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.817] { [18:03:26.817] inherits <- base::inherits [18:03:26.817] invokeRestart <- base::invokeRestart [18:03:26.817] is.null <- base::is.null [18:03:26.817] muffled <- FALSE [18:03:26.817] if (inherits(cond, "message")) { [18:03:26.817] muffled <- grepl(pattern, "muffleMessage") [18:03:26.817] if (muffled) [18:03:26.817] invokeRestart("muffleMessage") [18:03:26.817] } [18:03:26.817] else if (inherits(cond, "warning")) { [18:03:26.817] muffled <- grepl(pattern, "muffleWarning") [18:03:26.817] if (muffled) [18:03:26.817] invokeRestart("muffleWarning") [18:03:26.817] } [18:03:26.817] else if (inherits(cond, "condition")) { [18:03:26.817] if (!is.null(pattern)) { [18:03:26.817] computeRestarts <- base::computeRestarts [18:03:26.817] grepl <- base::grepl [18:03:26.817] restarts <- computeRestarts(cond) [18:03:26.817] for (restart in restarts) { [18:03:26.817] name <- restart$name [18:03:26.817] if (is.null(name)) [18:03:26.817] next [18:03:26.817] if (!grepl(pattern, name)) [18:03:26.817] next [18:03:26.817] invokeRestart(restart) [18:03:26.817] muffled <- TRUE [18:03:26.817] break [18:03:26.817] } [18:03:26.817] } [18:03:26.817] } [18:03:26.817] invisible(muffled) [18:03:26.817] } [18:03:26.817] muffleCondition(cond, pattern = "^muffle") [18:03:26.817] } [18:03:26.817] } [18:03:26.817] else { [18:03:26.817] if (TRUE) { [18:03:26.817] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.817] { [18:03:26.817] inherits <- base::inherits [18:03:26.817] invokeRestart <- base::invokeRestart [18:03:26.817] is.null <- base::is.null [18:03:26.817] muffled <- FALSE [18:03:26.817] if (inherits(cond, "message")) { [18:03:26.817] muffled <- grepl(pattern, "muffleMessage") [18:03:26.817] if (muffled) [18:03:26.817] invokeRestart("muffleMessage") [18:03:26.817] } [18:03:26.817] else if (inherits(cond, "warning")) { [18:03:26.817] muffled <- grepl(pattern, "muffleWarning") [18:03:26.817] if (muffled) [18:03:26.817] invokeRestart("muffleWarning") [18:03:26.817] } [18:03:26.817] else if (inherits(cond, "condition")) { [18:03:26.817] if (!is.null(pattern)) { [18:03:26.817] computeRestarts <- base::computeRestarts [18:03:26.817] grepl <- base::grepl [18:03:26.817] restarts <- computeRestarts(cond) [18:03:26.817] for (restart in restarts) { [18:03:26.817] name <- restart$name [18:03:26.817] if (is.null(name)) [18:03:26.817] next [18:03:26.817] if (!grepl(pattern, name)) [18:03:26.817] next [18:03:26.817] invokeRestart(restart) [18:03:26.817] muffled <- TRUE [18:03:26.817] break [18:03:26.817] } [18:03:26.817] } [18:03:26.817] } [18:03:26.817] invisible(muffled) [18:03:26.817] } [18:03:26.817] muffleCondition(cond, pattern = "^muffle") [18:03:26.817] } [18:03:26.817] } [18:03:26.817] } [18:03:26.817] })) [18:03:26.817] }, error = function(ex) { [18:03:26.817] base::structure(base::list(value = NULL, visible = NULL, [18:03:26.817] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:26.817] ...future.rng), started = ...future.startTime, [18:03:26.817] finished = Sys.time(), session_uuid = NA_character_, [18:03:26.817] version = "1.8"), class = "FutureResult") [18:03:26.817] }, finally = { [18:03:26.817] if (!identical(...future.workdir, getwd())) [18:03:26.817] setwd(...future.workdir) [18:03:26.817] { [18:03:26.817] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:26.817] ...future.oldOptions$nwarnings <- NULL [18:03:26.817] } [18:03:26.817] base::options(...future.oldOptions) [18:03:26.817] if (.Platform$OS.type == "windows") { [18:03:26.817] old_names <- names(...future.oldEnvVars) [18:03:26.817] envs <- base::Sys.getenv() [18:03:26.817] names <- names(envs) [18:03:26.817] common <- intersect(names, old_names) [18:03:26.817] added <- setdiff(names, old_names) [18:03:26.817] removed <- setdiff(old_names, names) [18:03:26.817] changed <- common[...future.oldEnvVars[common] != [18:03:26.817] envs[common]] [18:03:26.817] NAMES <- toupper(changed) [18:03:26.817] args <- list() [18:03:26.817] for (kk in seq_along(NAMES)) { [18:03:26.817] name <- changed[[kk]] [18:03:26.817] NAME <- NAMES[[kk]] [18:03:26.817] if (name != NAME && is.element(NAME, old_names)) [18:03:26.817] next [18:03:26.817] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:26.817] } [18:03:26.817] NAMES <- toupper(added) [18:03:26.817] for (kk in seq_along(NAMES)) { [18:03:26.817] name <- added[[kk]] [18:03:26.817] NAME <- NAMES[[kk]] [18:03:26.817] if (name != NAME && is.element(NAME, old_names)) [18:03:26.817] next [18:03:26.817] args[[name]] <- "" [18:03:26.817] } [18:03:26.817] NAMES <- toupper(removed) [18:03:26.817] for (kk in seq_along(NAMES)) { [18:03:26.817] name <- removed[[kk]] [18:03:26.817] NAME <- NAMES[[kk]] [18:03:26.817] if (name != NAME && is.element(NAME, old_names)) [18:03:26.817] next [18:03:26.817] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:26.817] } [18:03:26.817] if (length(args) > 0) [18:03:26.817] base::do.call(base::Sys.setenv, args = args) [18:03:26.817] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:26.817] } [18:03:26.817] else { [18:03:26.817] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:26.817] } [18:03:26.817] { [18:03:26.817] if (base::length(...future.futureOptionsAdded) > [18:03:26.817] 0L) { [18:03:26.817] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:26.817] base::names(opts) <- ...future.futureOptionsAdded [18:03:26.817] base::options(opts) [18:03:26.817] } [18:03:26.817] { [18:03:26.817] { [18:03:26.817] base::options(mc.cores = ...future.mc.cores.old) [18:03:26.817] NULL [18:03:26.817] } [18:03:26.817] options(future.plan = NULL) [18:03:26.817] if (is.na(NA_character_)) [18:03:26.817] Sys.unsetenv("R_FUTURE_PLAN") [18:03:26.817] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:26.817] future::plan(list(function (..., workers = availableCores(), [18:03:26.817] lazy = FALSE, rscript_libs = .libPaths(), [18:03:26.817] envir = parent.frame()) [18:03:26.817] { [18:03:26.817] if (is.function(workers)) [18:03:26.817] workers <- workers() [18:03:26.817] workers <- structure(as.integer(workers), [18:03:26.817] class = class(workers)) [18:03:26.817] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:26.817] workers >= 1) [18:03:26.817] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:26.817] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:26.817] } [18:03:26.817] future <- MultisessionFuture(..., workers = workers, [18:03:26.817] lazy = lazy, rscript_libs = rscript_libs, [18:03:26.817] envir = envir) [18:03:26.817] if (!future$lazy) [18:03:26.817] future <- run(future) [18:03:26.817] invisible(future) [18:03:26.817] }), .cleanup = FALSE, .init = FALSE) [18:03:26.817] } [18:03:26.817] } [18:03:26.817] } [18:03:26.817] }) [18:03:26.817] if (TRUE) { [18:03:26.817] base::sink(type = "output", split = FALSE) [18:03:26.817] if (TRUE) { [18:03:26.817] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:26.817] } [18:03:26.817] else { [18:03:26.817] ...future.result["stdout"] <- base::list(NULL) [18:03:26.817] } [18:03:26.817] base::close(...future.stdout) [18:03:26.817] ...future.stdout <- NULL [18:03:26.817] } [18:03:26.817] ...future.result$conditions <- ...future.conditions [18:03:26.817] ...future.result$finished <- base::Sys.time() [18:03:26.817] ...future.result [18:03:26.817] } [18:03:26.823] MultisessionFuture started [18:03:26.823] - Launch lazy future ... done [18:03:26.823] run() for 'MultisessionFuture' ... done [18:03:26.824] result() for ClusterFuture ... [18:03:26.824] receiveMessageFromWorker() for ClusterFuture ... [18:03:26.824] - Validating connection of MultisessionFuture [18:03:26.840] - received message: FutureResult [18:03:26.841] - Received FutureResult [18:03:26.841] - Erased future from FutureRegistry [18:03:26.841] result() for ClusterFuture ... [18:03:26.841] - result already collected: FutureResult [18:03:26.841] result() for ClusterFuture ... done [18:03:26.841] receiveMessageFromWorker() for ClusterFuture ... done [18:03:26.841] result() for ClusterFuture ... done [18:03:26.842] result() for ClusterFuture ... [18:03:26.842] - result already collected: FutureResult [18:03:26.842] result() for ClusterFuture ... 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 = structure(TRUE, drop = TRUE) [18:03:26.843] getGlobalsAndPackages() ... [18:03:26.843] Searching for globals... [18:03:26.843] - globals found: [1] 'print' [18:03:26.844] Searching for globals ... DONE [18:03:26.844] Resolving globals: FALSE [18:03:26.844] [18:03:26.844] [18:03:26.844] getGlobalsAndPackages() ... DONE [18:03:26.845] run() for 'Future' ... [18:03:26.845] - state: 'created' [18:03:26.845] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:26.859] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:26.859] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:26.859] - Field: 'node' [18:03:26.859] - Field: 'label' [18:03:26.860] - Field: 'local' [18:03:26.860] - Field: 'owner' [18:03:26.860] - Field: 'envir' [18:03:26.860] - Field: 'workers' [18:03:26.860] - Field: 'packages' [18:03:26.860] - Field: 'gc' [18:03:26.861] - Field: 'conditions' [18:03:26.861] - Field: 'persistent' [18:03:26.861] - Field: 'expr' [18:03:26.861] - Field: 'uuid' [18:03:26.861] - Field: 'seed' [18:03:26.861] - Field: 'version' [18:03:26.862] - Field: 'result' [18:03:26.862] - Field: 'asynchronous' [18:03:26.862] - Field: 'calls' [18:03:26.862] - Field: 'globals' [18:03:26.862] - Field: 'stdout' [18:03:26.863] - Field: 'earlySignal' [18:03:26.863] - Field: 'lazy' [18:03:26.863] - Field: 'state' [18:03:26.863] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:26.863] - Launch lazy future ... [18:03:26.864] Packages needed by the future expression (n = 0): [18:03:26.864] Packages needed by future strategies (n = 0): [18:03:26.864] { [18:03:26.864] { [18:03:26.864] { [18:03:26.864] ...future.startTime <- base::Sys.time() [18:03:26.864] { [18:03:26.864] { [18:03:26.864] { [18:03:26.864] { [18:03:26.864] base::local({ [18:03:26.864] has_future <- base::requireNamespace("future", [18:03:26.864] quietly = TRUE) [18:03:26.864] if (has_future) { [18:03:26.864] ns <- base::getNamespace("future") [18:03:26.864] version <- ns[[".package"]][["version"]] [18:03:26.864] if (is.null(version)) [18:03:26.864] version <- utils::packageVersion("future") [18:03:26.864] } [18:03:26.864] else { [18:03:26.864] version <- NULL [18:03:26.864] } [18:03:26.864] if (!has_future || version < "1.8.0") { [18:03:26.864] info <- base::c(r_version = base::gsub("R version ", [18:03:26.864] "", base::R.version$version.string), [18:03:26.864] platform = base::sprintf("%s (%s-bit)", [18:03:26.864] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:26.864] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:26.864] "release", "version")], collapse = " "), [18:03:26.864] hostname = base::Sys.info()[["nodename"]]) [18:03:26.864] info <- base::sprintf("%s: %s", base::names(info), [18:03:26.864] info) [18:03:26.864] info <- base::paste(info, collapse = "; ") [18:03:26.864] if (!has_future) { [18:03:26.864] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:26.864] info) [18:03:26.864] } [18:03:26.864] else { [18:03:26.864] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:26.864] info, version) [18:03:26.864] } [18:03:26.864] base::stop(msg) [18:03:26.864] } [18:03:26.864] }) [18:03:26.864] } [18:03:26.864] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:26.864] base::options(mc.cores = 1L) [18:03:26.864] } [18:03:26.864] options(future.plan = NULL) [18:03:26.864] Sys.unsetenv("R_FUTURE_PLAN") [18:03:26.864] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:26.864] } [18:03:26.864] ...future.workdir <- getwd() [18:03:26.864] } [18:03:26.864] ...future.oldOptions <- base::as.list(base::.Options) [18:03:26.864] ...future.oldEnvVars <- base::Sys.getenv() [18:03:26.864] } [18:03:26.864] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:26.864] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:26.864] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:26.864] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:26.864] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:26.864] future.stdout.windows.reencode = NULL, width = 80L) [18:03:26.864] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:26.864] base::names(...future.oldOptions)) [18:03:26.864] } [18:03:26.864] if (FALSE) { [18:03:26.864] } [18:03:26.864] else { [18:03:26.864] if (TRUE) { [18:03:26.864] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:26.864] open = "w") [18:03:26.864] } [18:03:26.864] else { [18:03:26.864] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:26.864] windows = "NUL", "/dev/null"), open = "w") [18:03:26.864] } [18:03:26.864] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:26.864] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:26.864] base::sink(type = "output", split = FALSE) [18:03:26.864] base::close(...future.stdout) [18:03:26.864] }, add = TRUE) [18:03:26.864] } [18:03:26.864] ...future.frame <- base::sys.nframe() [18:03:26.864] ...future.conditions <- base::list() [18:03:26.864] ...future.rng <- base::globalenv()$.Random.seed [18:03:26.864] if (FALSE) { [18:03:26.864] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:26.864] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:26.864] } [18:03:26.864] ...future.result <- base::tryCatch({ [18:03:26.864] base::withCallingHandlers({ [18:03:26.864] ...future.value <- base::withVisible(base::local({ [18:03:26.864] ...future.makeSendCondition <- local({ [18:03:26.864] sendCondition <- NULL [18:03:26.864] function(frame = 1L) { [18:03:26.864] if (is.function(sendCondition)) [18:03:26.864] return(sendCondition) [18:03:26.864] ns <- getNamespace("parallel") [18:03:26.864] if (exists("sendData", mode = "function", [18:03:26.864] envir = ns)) { [18:03:26.864] parallel_sendData <- get("sendData", mode = "function", [18:03:26.864] envir = ns) [18:03:26.864] envir <- sys.frame(frame) [18:03:26.864] master <- NULL [18:03:26.864] while (!identical(envir, .GlobalEnv) && [18:03:26.864] !identical(envir, emptyenv())) { [18:03:26.864] if (exists("master", mode = "list", envir = envir, [18:03:26.864] inherits = FALSE)) { [18:03:26.864] master <- get("master", mode = "list", [18:03:26.864] envir = envir, inherits = FALSE) [18:03:26.864] if (inherits(master, c("SOCKnode", [18:03:26.864] "SOCK0node"))) { [18:03:26.864] sendCondition <<- function(cond) { [18:03:26.864] data <- list(type = "VALUE", value = cond, [18:03:26.864] success = TRUE) [18:03:26.864] parallel_sendData(master, data) [18:03:26.864] } [18:03:26.864] return(sendCondition) [18:03:26.864] } [18:03:26.864] } [18:03:26.864] frame <- frame + 1L [18:03:26.864] envir <- sys.frame(frame) [18:03:26.864] } [18:03:26.864] } [18:03:26.864] sendCondition <<- function(cond) NULL [18:03:26.864] } [18:03:26.864] }) [18:03:26.864] withCallingHandlers({ [18:03:26.864] print(42) [18:03:26.864] }, immediateCondition = function(cond) { [18:03:26.864] sendCondition <- ...future.makeSendCondition() [18:03:26.864] sendCondition(cond) [18:03:26.864] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.864] { [18:03:26.864] inherits <- base::inherits [18:03:26.864] invokeRestart <- base::invokeRestart [18:03:26.864] is.null <- base::is.null [18:03:26.864] muffled <- FALSE [18:03:26.864] if (inherits(cond, "message")) { [18:03:26.864] muffled <- grepl(pattern, "muffleMessage") [18:03:26.864] if (muffled) [18:03:26.864] invokeRestart("muffleMessage") [18:03:26.864] } [18:03:26.864] else if (inherits(cond, "warning")) { [18:03:26.864] muffled <- grepl(pattern, "muffleWarning") [18:03:26.864] if (muffled) [18:03:26.864] invokeRestart("muffleWarning") [18:03:26.864] } [18:03:26.864] else if (inherits(cond, "condition")) { [18:03:26.864] if (!is.null(pattern)) { [18:03:26.864] computeRestarts <- base::computeRestarts [18:03:26.864] grepl <- base::grepl [18:03:26.864] restarts <- computeRestarts(cond) [18:03:26.864] for (restart in restarts) { [18:03:26.864] name <- restart$name [18:03:26.864] if (is.null(name)) [18:03:26.864] next [18:03:26.864] if (!grepl(pattern, name)) [18:03:26.864] next [18:03:26.864] invokeRestart(restart) [18:03:26.864] muffled <- TRUE [18:03:26.864] break [18:03:26.864] } [18:03:26.864] } [18:03:26.864] } [18:03:26.864] invisible(muffled) [18:03:26.864] } [18:03:26.864] muffleCondition(cond) [18:03:26.864] }) [18:03:26.864] })) [18:03:26.864] future::FutureResult(value = ...future.value$value, [18:03:26.864] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:26.864] ...future.rng), globalenv = if (FALSE) [18:03:26.864] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:26.864] ...future.globalenv.names)) [18:03:26.864] else NULL, started = ...future.startTime, version = "1.8") [18:03:26.864] }, condition = base::local({ [18:03:26.864] c <- base::c [18:03:26.864] inherits <- base::inherits [18:03:26.864] invokeRestart <- base::invokeRestart [18:03:26.864] length <- base::length [18:03:26.864] list <- base::list [18:03:26.864] seq.int <- base::seq.int [18:03:26.864] signalCondition <- base::signalCondition [18:03:26.864] sys.calls <- base::sys.calls [18:03:26.864] `[[` <- base::`[[` [18:03:26.864] `+` <- base::`+` [18:03:26.864] `<<-` <- base::`<<-` [18:03:26.864] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:26.864] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:26.864] 3L)] [18:03:26.864] } [18:03:26.864] function(cond) { [18:03:26.864] is_error <- inherits(cond, "error") [18:03:26.864] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:26.864] NULL) [18:03:26.864] if (is_error) { [18:03:26.864] sessionInformation <- function() { [18:03:26.864] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:26.864] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:26.864] search = base::search(), system = base::Sys.info()) [18:03:26.864] } [18:03:26.864] ...future.conditions[[length(...future.conditions) + [18:03:26.864] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:26.864] cond$call), session = sessionInformation(), [18:03:26.864] timestamp = base::Sys.time(), signaled = 0L) [18:03:26.864] signalCondition(cond) [18:03:26.864] } [18:03:26.864] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:26.864] "immediateCondition"))) { [18:03:26.864] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:26.864] ...future.conditions[[length(...future.conditions) + [18:03:26.864] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:26.864] if (TRUE && !signal) { [18:03:26.864] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.864] { [18:03:26.864] inherits <- base::inherits [18:03:26.864] invokeRestart <- base::invokeRestart [18:03:26.864] is.null <- base::is.null [18:03:26.864] muffled <- FALSE [18:03:26.864] if (inherits(cond, "message")) { [18:03:26.864] muffled <- grepl(pattern, "muffleMessage") [18:03:26.864] if (muffled) [18:03:26.864] invokeRestart("muffleMessage") [18:03:26.864] } [18:03:26.864] else if (inherits(cond, "warning")) { [18:03:26.864] muffled <- grepl(pattern, "muffleWarning") [18:03:26.864] if (muffled) [18:03:26.864] invokeRestart("muffleWarning") [18:03:26.864] } [18:03:26.864] else if (inherits(cond, "condition")) { [18:03:26.864] if (!is.null(pattern)) { [18:03:26.864] computeRestarts <- base::computeRestarts [18:03:26.864] grepl <- base::grepl [18:03:26.864] restarts <- computeRestarts(cond) [18:03:26.864] for (restart in restarts) { [18:03:26.864] name <- restart$name [18:03:26.864] if (is.null(name)) [18:03:26.864] next [18:03:26.864] if (!grepl(pattern, name)) [18:03:26.864] next [18:03:26.864] invokeRestart(restart) [18:03:26.864] muffled <- TRUE [18:03:26.864] break [18:03:26.864] } [18:03:26.864] } [18:03:26.864] } [18:03:26.864] invisible(muffled) [18:03:26.864] } [18:03:26.864] muffleCondition(cond, pattern = "^muffle") [18:03:26.864] } [18:03:26.864] } [18:03:26.864] else { [18:03:26.864] if (TRUE) { [18:03:26.864] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.864] { [18:03:26.864] inherits <- base::inherits [18:03:26.864] invokeRestart <- base::invokeRestart [18:03:26.864] is.null <- base::is.null [18:03:26.864] muffled <- FALSE [18:03:26.864] if (inherits(cond, "message")) { [18:03:26.864] muffled <- grepl(pattern, "muffleMessage") [18:03:26.864] if (muffled) [18:03:26.864] invokeRestart("muffleMessage") [18:03:26.864] } [18:03:26.864] else if (inherits(cond, "warning")) { [18:03:26.864] muffled <- grepl(pattern, "muffleWarning") [18:03:26.864] if (muffled) [18:03:26.864] invokeRestart("muffleWarning") [18:03:26.864] } [18:03:26.864] else if (inherits(cond, "condition")) { [18:03:26.864] if (!is.null(pattern)) { [18:03:26.864] computeRestarts <- base::computeRestarts [18:03:26.864] grepl <- base::grepl [18:03:26.864] restarts <- computeRestarts(cond) [18:03:26.864] for (restart in restarts) { [18:03:26.864] name <- restart$name [18:03:26.864] if (is.null(name)) [18:03:26.864] next [18:03:26.864] if (!grepl(pattern, name)) [18:03:26.864] next [18:03:26.864] invokeRestart(restart) [18:03:26.864] muffled <- TRUE [18:03:26.864] break [18:03:26.864] } [18:03:26.864] } [18:03:26.864] } [18:03:26.864] invisible(muffled) [18:03:26.864] } [18:03:26.864] muffleCondition(cond, pattern = "^muffle") [18:03:26.864] } [18:03:26.864] } [18:03:26.864] } [18:03:26.864] })) [18:03:26.864] }, error = function(ex) { [18:03:26.864] base::structure(base::list(value = NULL, visible = NULL, [18:03:26.864] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:26.864] ...future.rng), started = ...future.startTime, [18:03:26.864] finished = Sys.time(), session_uuid = NA_character_, [18:03:26.864] version = "1.8"), class = "FutureResult") [18:03:26.864] }, finally = { [18:03:26.864] if (!identical(...future.workdir, getwd())) [18:03:26.864] setwd(...future.workdir) [18:03:26.864] { [18:03:26.864] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:26.864] ...future.oldOptions$nwarnings <- NULL [18:03:26.864] } [18:03:26.864] base::options(...future.oldOptions) [18:03:26.864] if (.Platform$OS.type == "windows") { [18:03:26.864] old_names <- names(...future.oldEnvVars) [18:03:26.864] envs <- base::Sys.getenv() [18:03:26.864] names <- names(envs) [18:03:26.864] common <- intersect(names, old_names) [18:03:26.864] added <- setdiff(names, old_names) [18:03:26.864] removed <- setdiff(old_names, names) [18:03:26.864] changed <- common[...future.oldEnvVars[common] != [18:03:26.864] envs[common]] [18:03:26.864] NAMES <- toupper(changed) [18:03:26.864] args <- list() [18:03:26.864] for (kk in seq_along(NAMES)) { [18:03:26.864] name <- changed[[kk]] [18:03:26.864] NAME <- NAMES[[kk]] [18:03:26.864] if (name != NAME && is.element(NAME, old_names)) [18:03:26.864] next [18:03:26.864] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:26.864] } [18:03:26.864] NAMES <- toupper(added) [18:03:26.864] for (kk in seq_along(NAMES)) { [18:03:26.864] name <- added[[kk]] [18:03:26.864] NAME <- NAMES[[kk]] [18:03:26.864] if (name != NAME && is.element(NAME, old_names)) [18:03:26.864] next [18:03:26.864] args[[name]] <- "" [18:03:26.864] } [18:03:26.864] NAMES <- toupper(removed) [18:03:26.864] for (kk in seq_along(NAMES)) { [18:03:26.864] name <- removed[[kk]] [18:03:26.864] NAME <- NAMES[[kk]] [18:03:26.864] if (name != NAME && is.element(NAME, old_names)) [18:03:26.864] next [18:03:26.864] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:26.864] } [18:03:26.864] if (length(args) > 0) [18:03:26.864] base::do.call(base::Sys.setenv, args = args) [18:03:26.864] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:26.864] } [18:03:26.864] else { [18:03:26.864] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:26.864] } [18:03:26.864] { [18:03:26.864] if (base::length(...future.futureOptionsAdded) > [18:03:26.864] 0L) { [18:03:26.864] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:26.864] base::names(opts) <- ...future.futureOptionsAdded [18:03:26.864] base::options(opts) [18:03:26.864] } [18:03:26.864] { [18:03:26.864] { [18:03:26.864] base::options(mc.cores = ...future.mc.cores.old) [18:03:26.864] NULL [18:03:26.864] } [18:03:26.864] options(future.plan = NULL) [18:03:26.864] if (is.na(NA_character_)) [18:03:26.864] Sys.unsetenv("R_FUTURE_PLAN") [18:03:26.864] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:26.864] future::plan(list(function (..., workers = availableCores(), [18:03:26.864] lazy = FALSE, rscript_libs = .libPaths(), [18:03:26.864] envir = parent.frame()) [18:03:26.864] { [18:03:26.864] if (is.function(workers)) [18:03:26.864] workers <- workers() [18:03:26.864] workers <- structure(as.integer(workers), [18:03:26.864] class = class(workers)) [18:03:26.864] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:26.864] workers >= 1) [18:03:26.864] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:26.864] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:26.864] } [18:03:26.864] future <- MultisessionFuture(..., workers = workers, [18:03:26.864] lazy = lazy, rscript_libs = rscript_libs, [18:03:26.864] envir = envir) [18:03:26.864] if (!future$lazy) [18:03:26.864] future <- run(future) [18:03:26.864] invisible(future) [18:03:26.864] }), .cleanup = FALSE, .init = FALSE) [18:03:26.864] } [18:03:26.864] } [18:03:26.864] } [18:03:26.864] }) [18:03:26.864] if (TRUE) { [18:03:26.864] base::sink(type = "output", split = FALSE) [18:03:26.864] if (TRUE) { [18:03:26.864] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:26.864] } [18:03:26.864] else { [18:03:26.864] ...future.result["stdout"] <- base::list(NULL) [18:03:26.864] } [18:03:26.864] base::close(...future.stdout) [18:03:26.864] ...future.stdout <- NULL [18:03:26.864] } [18:03:26.864] ...future.result$conditions <- ...future.conditions [18:03:26.864] ...future.result$finished <- base::Sys.time() [18:03:26.864] ...future.result [18:03:26.864] } [18:03:26.872] MultisessionFuture started [18:03:26.872] - Launch lazy future ... done [18:03:26.873] run() for 'MultisessionFuture' ... done [18:03:26.873] result() for ClusterFuture ... [18:03:26.873] receiveMessageFromWorker() for ClusterFuture ... [18:03:26.873] - Validating connection of MultisessionFuture [18:03:26.893] - received message: FutureResult [18:03:26.893] - Received FutureResult [18:03:26.893] - Erased future from FutureRegistry [18:03:26.893] result() for ClusterFuture ... [18:03:26.893] - result already collected: FutureResult [18:03:26.894] result() for ClusterFuture ... done [18:03:26.894] receiveMessageFromWorker() for ClusterFuture ... done [18:03:26.894] result() for ClusterFuture ... done [18:03:26.894] result() for ClusterFuture ... [18:03:26.894] - result already collected: FutureResult [18:03:26.894] result() for ClusterFuture ... done [18:03:26.895] result() for ClusterFuture ... [18:03:26.895] - result already collected: FutureResult [18:03:26.895] result() for ClusterFuture ... done [1] 42 [18:03:26.895] result() for ClusterFuture ... [18:03:26.895] - result already collected: FutureResult [18:03:26.895] result() for ClusterFuture ... done - stdout = FALSE [18:03:26.896] getGlobalsAndPackages() ... [18:03:26.896] Searching for globals... [18:03:26.899] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [18:03:26.900] Searching for globals ... DONE [18:03:26.900] Resolving globals: FALSE [18:03:26.901] [18:03:26.901] - packages: [1] 'utils' [18:03:26.901] getGlobalsAndPackages() ... DONE [18:03:26.901] run() for 'Future' ... [18:03:26.901] - state: 'created' [18:03:26.902] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:26.919] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:26.919] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:26.919] - Field: 'node' [18:03:26.919] - Field: 'label' [18:03:26.920] - Field: 'local' [18:03:26.920] - Field: 'owner' [18:03:26.920] - Field: 'envir' [18:03:26.920] - Field: 'workers' [18:03:26.920] - Field: 'packages' [18:03:26.920] - Field: 'gc' [18:03:26.921] - Field: 'conditions' [18:03:26.921] - Field: 'persistent' [18:03:26.921] - Field: 'expr' [18:03:26.921] - Field: 'uuid' [18:03:26.921] - Field: 'seed' [18:03:26.922] - Field: 'version' [18:03:26.922] - Field: 'result' [18:03:26.922] - Field: 'asynchronous' [18:03:26.922] - Field: 'calls' [18:03:26.922] - Field: 'globals' [18:03:26.922] - Field: 'stdout' [18:03:26.923] - Field: 'earlySignal' [18:03:26.923] - Field: 'lazy' [18:03:26.923] - Field: 'state' [18:03:26.923] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:26.923] - Launch lazy future ... [18:03:26.924] Packages needed by the future expression (n = 1): 'utils' [18:03:26.924] Packages needed by future strategies (n = 0): [18:03:26.925] { [18:03:26.925] { [18:03:26.925] { [18:03:26.925] ...future.startTime <- base::Sys.time() [18:03:26.925] { [18:03:26.925] { [18:03:26.925] { [18:03:26.925] { [18:03:26.925] { [18:03:26.925] base::local({ [18:03:26.925] has_future <- base::requireNamespace("future", [18:03:26.925] quietly = TRUE) [18:03:26.925] if (has_future) { [18:03:26.925] ns <- base::getNamespace("future") [18:03:26.925] version <- ns[[".package"]][["version"]] [18:03:26.925] if (is.null(version)) [18:03:26.925] version <- utils::packageVersion("future") [18:03:26.925] } [18:03:26.925] else { [18:03:26.925] version <- NULL [18:03:26.925] } [18:03:26.925] if (!has_future || version < "1.8.0") { [18:03:26.925] info <- base::c(r_version = base::gsub("R version ", [18:03:26.925] "", base::R.version$version.string), [18:03:26.925] platform = base::sprintf("%s (%s-bit)", [18:03:26.925] base::R.version$platform, 8 * [18:03:26.925] base::.Machine$sizeof.pointer), [18:03:26.925] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:26.925] "release", "version")], collapse = " "), [18:03:26.925] hostname = base::Sys.info()[["nodename"]]) [18:03:26.925] info <- base::sprintf("%s: %s", base::names(info), [18:03:26.925] info) [18:03:26.925] info <- base::paste(info, collapse = "; ") [18:03:26.925] if (!has_future) { [18:03:26.925] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:26.925] info) [18:03:26.925] } [18:03:26.925] else { [18:03:26.925] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:26.925] info, version) [18:03:26.925] } [18:03:26.925] base::stop(msg) [18:03:26.925] } [18:03:26.925] }) [18:03:26.925] } [18:03:26.925] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:26.925] base::options(mc.cores = 1L) [18:03:26.925] } [18:03:26.925] base::local({ [18:03:26.925] for (pkg in "utils") { [18:03:26.925] base::loadNamespace(pkg) [18:03:26.925] base::library(pkg, character.only = TRUE) [18:03:26.925] } [18:03:26.925] }) [18:03:26.925] } [18:03:26.925] options(future.plan = NULL) [18:03:26.925] Sys.unsetenv("R_FUTURE_PLAN") [18:03:26.925] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:26.925] } [18:03:26.925] ...future.workdir <- getwd() [18:03:26.925] } [18:03:26.925] ...future.oldOptions <- base::as.list(base::.Options) [18:03:26.925] ...future.oldEnvVars <- base::Sys.getenv() [18:03:26.925] } [18:03:26.925] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:26.925] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:26.925] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:26.925] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:26.925] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:26.925] future.stdout.windows.reencode = NULL, width = 80L) [18:03:26.925] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:26.925] base::names(...future.oldOptions)) [18:03:26.925] } [18:03:26.925] if (FALSE) { [18:03:26.925] } [18:03:26.925] else { [18:03:26.925] if (FALSE) { [18:03:26.925] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:26.925] open = "w") [18:03:26.925] } [18:03:26.925] else { [18:03:26.925] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:26.925] windows = "NUL", "/dev/null"), open = "w") [18:03:26.925] } [18:03:26.925] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:26.925] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:26.925] base::sink(type = "output", split = FALSE) [18:03:26.925] base::close(...future.stdout) [18:03:26.925] }, add = TRUE) [18:03:26.925] } [18:03:26.925] ...future.frame <- base::sys.nframe() [18:03:26.925] ...future.conditions <- base::list() [18:03:26.925] ...future.rng <- base::globalenv()$.Random.seed [18:03:26.925] if (FALSE) { [18:03:26.925] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:26.925] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:26.925] } [18:03:26.925] ...future.result <- base::tryCatch({ [18:03:26.925] base::withCallingHandlers({ [18:03:26.925] ...future.value <- base::withVisible(base::local({ [18:03:26.925] ...future.makeSendCondition <- local({ [18:03:26.925] sendCondition <- NULL [18:03:26.925] function(frame = 1L) { [18:03:26.925] if (is.function(sendCondition)) [18:03:26.925] return(sendCondition) [18:03:26.925] ns <- getNamespace("parallel") [18:03:26.925] if (exists("sendData", mode = "function", [18:03:26.925] envir = ns)) { [18:03:26.925] parallel_sendData <- get("sendData", mode = "function", [18:03:26.925] envir = ns) [18:03:26.925] envir <- sys.frame(frame) [18:03:26.925] master <- NULL [18:03:26.925] while (!identical(envir, .GlobalEnv) && [18:03:26.925] !identical(envir, emptyenv())) { [18:03:26.925] if (exists("master", mode = "list", envir = envir, [18:03:26.925] inherits = FALSE)) { [18:03:26.925] master <- get("master", mode = "list", [18:03:26.925] envir = envir, inherits = FALSE) [18:03:26.925] if (inherits(master, c("SOCKnode", [18:03:26.925] "SOCK0node"))) { [18:03:26.925] sendCondition <<- function(cond) { [18:03:26.925] data <- list(type = "VALUE", value = cond, [18:03:26.925] success = TRUE) [18:03:26.925] parallel_sendData(master, data) [18:03:26.925] } [18:03:26.925] return(sendCondition) [18:03:26.925] } [18:03:26.925] } [18:03:26.925] frame <- frame + 1L [18:03:26.925] envir <- sys.frame(frame) [18:03:26.925] } [18:03:26.925] } [18:03:26.925] sendCondition <<- function(cond) NULL [18:03:26.925] } [18:03:26.925] }) [18:03:26.925] withCallingHandlers({ [18:03:26.925] { [18:03:26.925] print(1:50) [18:03:26.925] str(1:50) [18:03:26.925] cat(letters, sep = "-") [18:03:26.925] cat(1:6, collapse = "\n") [18:03:26.925] write.table(datasets::iris[1:10, ], sep = "\t") [18:03:26.925] 42L [18:03:26.925] } [18:03:26.925] }, immediateCondition = function(cond) { [18:03:26.925] sendCondition <- ...future.makeSendCondition() [18:03:26.925] sendCondition(cond) [18:03:26.925] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.925] { [18:03:26.925] inherits <- base::inherits [18:03:26.925] invokeRestart <- base::invokeRestart [18:03:26.925] is.null <- base::is.null [18:03:26.925] muffled <- FALSE [18:03:26.925] if (inherits(cond, "message")) { [18:03:26.925] muffled <- grepl(pattern, "muffleMessage") [18:03:26.925] if (muffled) [18:03:26.925] invokeRestart("muffleMessage") [18:03:26.925] } [18:03:26.925] else if (inherits(cond, "warning")) { [18:03:26.925] muffled <- grepl(pattern, "muffleWarning") [18:03:26.925] if (muffled) [18:03:26.925] invokeRestart("muffleWarning") [18:03:26.925] } [18:03:26.925] else if (inherits(cond, "condition")) { [18:03:26.925] if (!is.null(pattern)) { [18:03:26.925] computeRestarts <- base::computeRestarts [18:03:26.925] grepl <- base::grepl [18:03:26.925] restarts <- computeRestarts(cond) [18:03:26.925] for (restart in restarts) { [18:03:26.925] name <- restart$name [18:03:26.925] if (is.null(name)) [18:03:26.925] next [18:03:26.925] if (!grepl(pattern, name)) [18:03:26.925] next [18:03:26.925] invokeRestart(restart) [18:03:26.925] muffled <- TRUE [18:03:26.925] break [18:03:26.925] } [18:03:26.925] } [18:03:26.925] } [18:03:26.925] invisible(muffled) [18:03:26.925] } [18:03:26.925] muffleCondition(cond) [18:03:26.925] }) [18:03:26.925] })) [18:03:26.925] future::FutureResult(value = ...future.value$value, [18:03:26.925] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:26.925] ...future.rng), globalenv = if (FALSE) [18:03:26.925] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:26.925] ...future.globalenv.names)) [18:03:26.925] else NULL, started = ...future.startTime, version = "1.8") [18:03:26.925] }, condition = base::local({ [18:03:26.925] c <- base::c [18:03:26.925] inherits <- base::inherits [18:03:26.925] invokeRestart <- base::invokeRestart [18:03:26.925] length <- base::length [18:03:26.925] list <- base::list [18:03:26.925] seq.int <- base::seq.int [18:03:26.925] signalCondition <- base::signalCondition [18:03:26.925] sys.calls <- base::sys.calls [18:03:26.925] `[[` <- base::`[[` [18:03:26.925] `+` <- base::`+` [18:03:26.925] `<<-` <- base::`<<-` [18:03:26.925] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:26.925] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:26.925] 3L)] [18:03:26.925] } [18:03:26.925] function(cond) { [18:03:26.925] is_error <- inherits(cond, "error") [18:03:26.925] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:26.925] NULL) [18:03:26.925] if (is_error) { [18:03:26.925] sessionInformation <- function() { [18:03:26.925] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:26.925] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:26.925] search = base::search(), system = base::Sys.info()) [18:03:26.925] } [18:03:26.925] ...future.conditions[[length(...future.conditions) + [18:03:26.925] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:26.925] cond$call), session = sessionInformation(), [18:03:26.925] timestamp = base::Sys.time(), signaled = 0L) [18:03:26.925] signalCondition(cond) [18:03:26.925] } [18:03:26.925] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:26.925] "immediateCondition"))) { [18:03:26.925] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:26.925] ...future.conditions[[length(...future.conditions) + [18:03:26.925] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:26.925] if (TRUE && !signal) { [18:03:26.925] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.925] { [18:03:26.925] inherits <- base::inherits [18:03:26.925] invokeRestart <- base::invokeRestart [18:03:26.925] is.null <- base::is.null [18:03:26.925] muffled <- FALSE [18:03:26.925] if (inherits(cond, "message")) { [18:03:26.925] muffled <- grepl(pattern, "muffleMessage") [18:03:26.925] if (muffled) [18:03:26.925] invokeRestart("muffleMessage") [18:03:26.925] } [18:03:26.925] else if (inherits(cond, "warning")) { [18:03:26.925] muffled <- grepl(pattern, "muffleWarning") [18:03:26.925] if (muffled) [18:03:26.925] invokeRestart("muffleWarning") [18:03:26.925] } [18:03:26.925] else if (inherits(cond, "condition")) { [18:03:26.925] if (!is.null(pattern)) { [18:03:26.925] computeRestarts <- base::computeRestarts [18:03:26.925] grepl <- base::grepl [18:03:26.925] restarts <- computeRestarts(cond) [18:03:26.925] for (restart in restarts) { [18:03:26.925] name <- restart$name [18:03:26.925] if (is.null(name)) [18:03:26.925] next [18:03:26.925] if (!grepl(pattern, name)) [18:03:26.925] next [18:03:26.925] invokeRestart(restart) [18:03:26.925] muffled <- TRUE [18:03:26.925] break [18:03:26.925] } [18:03:26.925] } [18:03:26.925] } [18:03:26.925] invisible(muffled) [18:03:26.925] } [18:03:26.925] muffleCondition(cond, pattern = "^muffle") [18:03:26.925] } [18:03:26.925] } [18:03:26.925] else { [18:03:26.925] if (TRUE) { [18:03:26.925] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.925] { [18:03:26.925] inherits <- base::inherits [18:03:26.925] invokeRestart <- base::invokeRestart [18:03:26.925] is.null <- base::is.null [18:03:26.925] muffled <- FALSE [18:03:26.925] if (inherits(cond, "message")) { [18:03:26.925] muffled <- grepl(pattern, "muffleMessage") [18:03:26.925] if (muffled) [18:03:26.925] invokeRestart("muffleMessage") [18:03:26.925] } [18:03:26.925] else if (inherits(cond, "warning")) { [18:03:26.925] muffled <- grepl(pattern, "muffleWarning") [18:03:26.925] if (muffled) [18:03:26.925] invokeRestart("muffleWarning") [18:03:26.925] } [18:03:26.925] else if (inherits(cond, "condition")) { [18:03:26.925] if (!is.null(pattern)) { [18:03:26.925] computeRestarts <- base::computeRestarts [18:03:26.925] grepl <- base::grepl [18:03:26.925] restarts <- computeRestarts(cond) [18:03:26.925] for (restart in restarts) { [18:03:26.925] name <- restart$name [18:03:26.925] if (is.null(name)) [18:03:26.925] next [18:03:26.925] if (!grepl(pattern, name)) [18:03:26.925] next [18:03:26.925] invokeRestart(restart) [18:03:26.925] muffled <- TRUE [18:03:26.925] break [18:03:26.925] } [18:03:26.925] } [18:03:26.925] } [18:03:26.925] invisible(muffled) [18:03:26.925] } [18:03:26.925] muffleCondition(cond, pattern = "^muffle") [18:03:26.925] } [18:03:26.925] } [18:03:26.925] } [18:03:26.925] })) [18:03:26.925] }, error = function(ex) { [18:03:26.925] base::structure(base::list(value = NULL, visible = NULL, [18:03:26.925] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:26.925] ...future.rng), started = ...future.startTime, [18:03:26.925] finished = Sys.time(), session_uuid = NA_character_, [18:03:26.925] version = "1.8"), class = "FutureResult") [18:03:26.925] }, finally = { [18:03:26.925] if (!identical(...future.workdir, getwd())) [18:03:26.925] setwd(...future.workdir) [18:03:26.925] { [18:03:26.925] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:26.925] ...future.oldOptions$nwarnings <- NULL [18:03:26.925] } [18:03:26.925] base::options(...future.oldOptions) [18:03:26.925] if (.Platform$OS.type == "windows") { [18:03:26.925] old_names <- names(...future.oldEnvVars) [18:03:26.925] envs <- base::Sys.getenv() [18:03:26.925] names <- names(envs) [18:03:26.925] common <- intersect(names, old_names) [18:03:26.925] added <- setdiff(names, old_names) [18:03:26.925] removed <- setdiff(old_names, names) [18:03:26.925] changed <- common[...future.oldEnvVars[common] != [18:03:26.925] envs[common]] [18:03:26.925] NAMES <- toupper(changed) [18:03:26.925] args <- list() [18:03:26.925] for (kk in seq_along(NAMES)) { [18:03:26.925] name <- changed[[kk]] [18:03:26.925] NAME <- NAMES[[kk]] [18:03:26.925] if (name != NAME && is.element(NAME, old_names)) [18:03:26.925] next [18:03:26.925] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:26.925] } [18:03:26.925] NAMES <- toupper(added) [18:03:26.925] for (kk in seq_along(NAMES)) { [18:03:26.925] name <- added[[kk]] [18:03:26.925] NAME <- NAMES[[kk]] [18:03:26.925] if (name != NAME && is.element(NAME, old_names)) [18:03:26.925] next [18:03:26.925] args[[name]] <- "" [18:03:26.925] } [18:03:26.925] NAMES <- toupper(removed) [18:03:26.925] for (kk in seq_along(NAMES)) { [18:03:26.925] name <- removed[[kk]] [18:03:26.925] NAME <- NAMES[[kk]] [18:03:26.925] if (name != NAME && is.element(NAME, old_names)) [18:03:26.925] next [18:03:26.925] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:26.925] } [18:03:26.925] if (length(args) > 0) [18:03:26.925] base::do.call(base::Sys.setenv, args = args) [18:03:26.925] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:26.925] } [18:03:26.925] else { [18:03:26.925] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:26.925] } [18:03:26.925] { [18:03:26.925] if (base::length(...future.futureOptionsAdded) > [18:03:26.925] 0L) { [18:03:26.925] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:26.925] base::names(opts) <- ...future.futureOptionsAdded [18:03:26.925] base::options(opts) [18:03:26.925] } [18:03:26.925] { [18:03:26.925] { [18:03:26.925] base::options(mc.cores = ...future.mc.cores.old) [18:03:26.925] NULL [18:03:26.925] } [18:03:26.925] options(future.plan = NULL) [18:03:26.925] if (is.na(NA_character_)) [18:03:26.925] Sys.unsetenv("R_FUTURE_PLAN") [18:03:26.925] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:26.925] future::plan(list(function (..., workers = availableCores(), [18:03:26.925] lazy = FALSE, rscript_libs = .libPaths(), [18:03:26.925] envir = parent.frame()) [18:03:26.925] { [18:03:26.925] if (is.function(workers)) [18:03:26.925] workers <- workers() [18:03:26.925] workers <- structure(as.integer(workers), [18:03:26.925] class = class(workers)) [18:03:26.925] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:26.925] workers >= 1) [18:03:26.925] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:26.925] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:26.925] } [18:03:26.925] future <- MultisessionFuture(..., workers = workers, [18:03:26.925] lazy = lazy, rscript_libs = rscript_libs, [18:03:26.925] envir = envir) [18:03:26.925] if (!future$lazy) [18:03:26.925] future <- run(future) [18:03:26.925] invisible(future) [18:03:26.925] }), .cleanup = FALSE, .init = FALSE) [18:03:26.925] } [18:03:26.925] } [18:03:26.925] } [18:03:26.925] }) [18:03:26.925] if (TRUE) { [18:03:26.925] base::sink(type = "output", split = FALSE) [18:03:26.925] if (FALSE) { [18:03:26.925] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:26.925] } [18:03:26.925] else { [18:03:26.925] ...future.result["stdout"] <- base::list(NULL) [18:03:26.925] } [18:03:26.925] base::close(...future.stdout) [18:03:26.925] ...future.stdout <- NULL [18:03:26.925] } [18:03:26.925] ...future.result$conditions <- ...future.conditions [18:03:26.925] ...future.result$finished <- base::Sys.time() [18:03:26.925] ...future.result [18:03:26.925] } [18:03:26.930] MultisessionFuture started [18:03:26.931] - Launch lazy future ... done [18:03:26.931] run() for 'MultisessionFuture' ... done [18:03:26.931] result() for ClusterFuture ... [18:03:26.931] receiveMessageFromWorker() for ClusterFuture ... [18:03:26.931] - Validating connection of MultisessionFuture [18:03:26.949] - received message: FutureResult [18:03:26.949] - Received FutureResult [18:03:26.950] - Erased future from FutureRegistry [18:03:26.950] result() for ClusterFuture ... [18:03:26.950] - result already collected: FutureResult [18:03:26.950] result() for ClusterFuture ... done [18:03:26.950] receiveMessageFromWorker() for ClusterFuture ... done [18:03:26.951] result() for ClusterFuture ... done List of 11 $ value : int 42 $ visible : logi TRUE $ stdout : NULL $ conditions : list() $ rng : logi FALSE $ globalenv : NULL $ started : POSIXct[1:1], format: "2023-07-01 18:03:26" $ finished : POSIXct[1:1], format: "2023-07-01 18:03:26" $ session_uuid: chr "ad29a053-9286-77b6-9ac4-e3a455b8b8d6" ..- 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 89152 .. ..$ time : POSIXct[1:1], format: "2023-07-01 18:03:26" .. ..$ 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" [18:03:26.960] result() for ClusterFuture ... [18:03:26.960] - result already collected: FutureResult [18:03:26.961] result() for ClusterFuture ... done [18:03:26.961] result() for ClusterFuture ... [18:03:26.961] - result already collected: FutureResult [18:03:26.961] result() for ClusterFuture ... done [18:03:26.962] getGlobalsAndPackages() ... [18:03:26.962] Searching for globals... [18:03:26.965] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [18:03:26.966] Searching for globals ... DONE [18:03:26.966] Resolving globals: FALSE [18:03:26.967] [18:03:26.967] - packages: [1] 'utils' [18:03:26.967] getGlobalsAndPackages() ... DONE [18:03:26.968] run() for 'Future' ... [18:03:26.968] - state: 'created' [18:03:26.968] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:26.982] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:26.983] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:26.983] - Field: 'node' [18:03:26.983] - Field: 'label' [18:03:26.983] - Field: 'local' [18:03:26.983] - Field: 'owner' [18:03:26.983] - Field: 'envir' [18:03:26.984] - Field: 'workers' [18:03:26.984] - Field: 'packages' [18:03:26.984] - Field: 'gc' [18:03:26.984] - Field: 'conditions' [18:03:26.984] - Field: 'persistent' [18:03:26.985] - Field: 'expr' [18:03:26.985] - Field: 'uuid' [18:03:26.985] - Field: 'seed' [18:03:26.985] - Field: 'version' [18:03:26.985] - Field: 'result' [18:03:26.985] - Field: 'asynchronous' [18:03:26.986] - Field: 'calls' [18:03:26.986] - Field: 'globals' [18:03:26.986] - Field: 'stdout' [18:03:26.986] - Field: 'earlySignal' [18:03:26.986] - Field: 'lazy' [18:03:26.987] - Field: 'state' [18:03:26.987] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:26.987] - Launch lazy future ... [18:03:26.987] Packages needed by the future expression (n = 1): 'utils' [18:03:26.987] Packages needed by future strategies (n = 0): [18:03:26.988] { [18:03:26.988] { [18:03:26.988] { [18:03:26.988] ...future.startTime <- base::Sys.time() [18:03:26.988] { [18:03:26.988] { [18:03:26.988] { [18:03:26.988] { [18:03:26.988] { [18:03:26.988] base::local({ [18:03:26.988] has_future <- base::requireNamespace("future", [18:03:26.988] quietly = TRUE) [18:03:26.988] if (has_future) { [18:03:26.988] ns <- base::getNamespace("future") [18:03:26.988] version <- ns[[".package"]][["version"]] [18:03:26.988] if (is.null(version)) [18:03:26.988] version <- utils::packageVersion("future") [18:03:26.988] } [18:03:26.988] else { [18:03:26.988] version <- NULL [18:03:26.988] } [18:03:26.988] if (!has_future || version < "1.8.0") { [18:03:26.988] info <- base::c(r_version = base::gsub("R version ", [18:03:26.988] "", base::R.version$version.string), [18:03:26.988] platform = base::sprintf("%s (%s-bit)", [18:03:26.988] base::R.version$platform, 8 * [18:03:26.988] base::.Machine$sizeof.pointer), [18:03:26.988] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:26.988] "release", "version")], collapse = " "), [18:03:26.988] hostname = base::Sys.info()[["nodename"]]) [18:03:26.988] info <- base::sprintf("%s: %s", base::names(info), [18:03:26.988] info) [18:03:26.988] info <- base::paste(info, collapse = "; ") [18:03:26.988] if (!has_future) { [18:03:26.988] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:26.988] info) [18:03:26.988] } [18:03:26.988] else { [18:03:26.988] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:26.988] info, version) [18:03:26.988] } [18:03:26.988] base::stop(msg) [18:03:26.988] } [18:03:26.988] }) [18:03:26.988] } [18:03:26.988] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:26.988] base::options(mc.cores = 1L) [18:03:26.988] } [18:03:26.988] base::local({ [18:03:26.988] for (pkg in "utils") { [18:03:26.988] base::loadNamespace(pkg) [18:03:26.988] base::library(pkg, character.only = TRUE) [18:03:26.988] } [18:03:26.988] }) [18:03:26.988] } [18:03:26.988] options(future.plan = NULL) [18:03:26.988] Sys.unsetenv("R_FUTURE_PLAN") [18:03:26.988] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:26.988] } [18:03:26.988] ...future.workdir <- getwd() [18:03:26.988] } [18:03:26.988] ...future.oldOptions <- base::as.list(base::.Options) [18:03:26.988] ...future.oldEnvVars <- base::Sys.getenv() [18:03:26.988] } [18:03:26.988] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:26.988] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:26.988] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:26.988] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:26.988] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:26.988] future.stdout.windows.reencode = NULL, width = 80L) [18:03:26.988] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:26.988] base::names(...future.oldOptions)) [18:03:26.988] } [18:03:26.988] if (FALSE) { [18:03:26.988] } [18:03:26.988] else { [18:03:26.988] if (FALSE) { [18:03:26.988] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:26.988] open = "w") [18:03:26.988] } [18:03:26.988] else { [18:03:26.988] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:26.988] windows = "NUL", "/dev/null"), open = "w") [18:03:26.988] } [18:03:26.988] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:26.988] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:26.988] base::sink(type = "output", split = FALSE) [18:03:26.988] base::close(...future.stdout) [18:03:26.988] }, add = TRUE) [18:03:26.988] } [18:03:26.988] ...future.frame <- base::sys.nframe() [18:03:26.988] ...future.conditions <- base::list() [18:03:26.988] ...future.rng <- base::globalenv()$.Random.seed [18:03:26.988] if (FALSE) { [18:03:26.988] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:26.988] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:26.988] } [18:03:26.988] ...future.result <- base::tryCatch({ [18:03:26.988] base::withCallingHandlers({ [18:03:26.988] ...future.value <- base::withVisible(base::local({ [18:03:26.988] ...future.makeSendCondition <- local({ [18:03:26.988] sendCondition <- NULL [18:03:26.988] function(frame = 1L) { [18:03:26.988] if (is.function(sendCondition)) [18:03:26.988] return(sendCondition) [18:03:26.988] ns <- getNamespace("parallel") [18:03:26.988] if (exists("sendData", mode = "function", [18:03:26.988] envir = ns)) { [18:03:26.988] parallel_sendData <- get("sendData", mode = "function", [18:03:26.988] envir = ns) [18:03:26.988] envir <- sys.frame(frame) [18:03:26.988] master <- NULL [18:03:26.988] while (!identical(envir, .GlobalEnv) && [18:03:26.988] !identical(envir, emptyenv())) { [18:03:26.988] if (exists("master", mode = "list", envir = envir, [18:03:26.988] inherits = FALSE)) { [18:03:26.988] master <- get("master", mode = "list", [18:03:26.988] envir = envir, inherits = FALSE) [18:03:26.988] if (inherits(master, c("SOCKnode", [18:03:26.988] "SOCK0node"))) { [18:03:26.988] sendCondition <<- function(cond) { [18:03:26.988] data <- list(type = "VALUE", value = cond, [18:03:26.988] success = TRUE) [18:03:26.988] parallel_sendData(master, data) [18:03:26.988] } [18:03:26.988] return(sendCondition) [18:03:26.988] } [18:03:26.988] } [18:03:26.988] frame <- frame + 1L [18:03:26.988] envir <- sys.frame(frame) [18:03:26.988] } [18:03:26.988] } [18:03:26.988] sendCondition <<- function(cond) NULL [18:03:26.988] } [18:03:26.988] }) [18:03:26.988] withCallingHandlers({ [18:03:26.988] { [18:03:26.988] print(1:50) [18:03:26.988] str(1:50) [18:03:26.988] cat(letters, sep = "-") [18:03:26.988] cat(1:6, collapse = "\n") [18:03:26.988] write.table(datasets::iris[1:10, ], sep = "\t") [18:03:26.988] 42L [18:03:26.988] } [18:03:26.988] }, immediateCondition = function(cond) { [18:03:26.988] sendCondition <- ...future.makeSendCondition() [18:03:26.988] sendCondition(cond) [18:03:26.988] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.988] { [18:03:26.988] inherits <- base::inherits [18:03:26.988] invokeRestart <- base::invokeRestart [18:03:26.988] is.null <- base::is.null [18:03:26.988] muffled <- FALSE [18:03:26.988] if (inherits(cond, "message")) { [18:03:26.988] muffled <- grepl(pattern, "muffleMessage") [18:03:26.988] if (muffled) [18:03:26.988] invokeRestart("muffleMessage") [18:03:26.988] } [18:03:26.988] else if (inherits(cond, "warning")) { [18:03:26.988] muffled <- grepl(pattern, "muffleWarning") [18:03:26.988] if (muffled) [18:03:26.988] invokeRestart("muffleWarning") [18:03:26.988] } [18:03:26.988] else if (inherits(cond, "condition")) { [18:03:26.988] if (!is.null(pattern)) { [18:03:26.988] computeRestarts <- base::computeRestarts [18:03:26.988] grepl <- base::grepl [18:03:26.988] restarts <- computeRestarts(cond) [18:03:26.988] for (restart in restarts) { [18:03:26.988] name <- restart$name [18:03:26.988] if (is.null(name)) [18:03:26.988] next [18:03:26.988] if (!grepl(pattern, name)) [18:03:26.988] next [18:03:26.988] invokeRestart(restart) [18:03:26.988] muffled <- TRUE [18:03:26.988] break [18:03:26.988] } [18:03:26.988] } [18:03:26.988] } [18:03:26.988] invisible(muffled) [18:03:26.988] } [18:03:26.988] muffleCondition(cond) [18:03:26.988] }) [18:03:26.988] })) [18:03:26.988] future::FutureResult(value = ...future.value$value, [18:03:26.988] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:26.988] ...future.rng), globalenv = if (FALSE) [18:03:26.988] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:26.988] ...future.globalenv.names)) [18:03:26.988] else NULL, started = ...future.startTime, version = "1.8") [18:03:26.988] }, condition = base::local({ [18:03:26.988] c <- base::c [18:03:26.988] inherits <- base::inherits [18:03:26.988] invokeRestart <- base::invokeRestart [18:03:26.988] length <- base::length [18:03:26.988] list <- base::list [18:03:26.988] seq.int <- base::seq.int [18:03:26.988] signalCondition <- base::signalCondition [18:03:26.988] sys.calls <- base::sys.calls [18:03:26.988] `[[` <- base::`[[` [18:03:26.988] `+` <- base::`+` [18:03:26.988] `<<-` <- base::`<<-` [18:03:26.988] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:26.988] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:26.988] 3L)] [18:03:26.988] } [18:03:26.988] function(cond) { [18:03:26.988] is_error <- inherits(cond, "error") [18:03:26.988] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:26.988] NULL) [18:03:26.988] if (is_error) { [18:03:26.988] sessionInformation <- function() { [18:03:26.988] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:26.988] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:26.988] search = base::search(), system = base::Sys.info()) [18:03:26.988] } [18:03:26.988] ...future.conditions[[length(...future.conditions) + [18:03:26.988] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:26.988] cond$call), session = sessionInformation(), [18:03:26.988] timestamp = base::Sys.time(), signaled = 0L) [18:03:26.988] signalCondition(cond) [18:03:26.988] } [18:03:26.988] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:26.988] "immediateCondition"))) { [18:03:26.988] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:26.988] ...future.conditions[[length(...future.conditions) + [18:03:26.988] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:26.988] if (TRUE && !signal) { [18:03:26.988] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.988] { [18:03:26.988] inherits <- base::inherits [18:03:26.988] invokeRestart <- base::invokeRestart [18:03:26.988] is.null <- base::is.null [18:03:26.988] muffled <- FALSE [18:03:26.988] if (inherits(cond, "message")) { [18:03:26.988] muffled <- grepl(pattern, "muffleMessage") [18:03:26.988] if (muffled) [18:03:26.988] invokeRestart("muffleMessage") [18:03:26.988] } [18:03:26.988] else if (inherits(cond, "warning")) { [18:03:26.988] muffled <- grepl(pattern, "muffleWarning") [18:03:26.988] if (muffled) [18:03:26.988] invokeRestart("muffleWarning") [18:03:26.988] } [18:03:26.988] else if (inherits(cond, "condition")) { [18:03:26.988] if (!is.null(pattern)) { [18:03:26.988] computeRestarts <- base::computeRestarts [18:03:26.988] grepl <- base::grepl [18:03:26.988] restarts <- computeRestarts(cond) [18:03:26.988] for (restart in restarts) { [18:03:26.988] name <- restart$name [18:03:26.988] if (is.null(name)) [18:03:26.988] next [18:03:26.988] if (!grepl(pattern, name)) [18:03:26.988] next [18:03:26.988] invokeRestart(restart) [18:03:26.988] muffled <- TRUE [18:03:26.988] break [18:03:26.988] } [18:03:26.988] } [18:03:26.988] } [18:03:26.988] invisible(muffled) [18:03:26.988] } [18:03:26.988] muffleCondition(cond, pattern = "^muffle") [18:03:26.988] } [18:03:26.988] } [18:03:26.988] else { [18:03:26.988] if (TRUE) { [18:03:26.988] muffleCondition <- function (cond, pattern = "^muffle") [18:03:26.988] { [18:03:26.988] inherits <- base::inherits [18:03:26.988] invokeRestart <- base::invokeRestart [18:03:26.988] is.null <- base::is.null [18:03:26.988] muffled <- FALSE [18:03:26.988] if (inherits(cond, "message")) { [18:03:26.988] muffled <- grepl(pattern, "muffleMessage") [18:03:26.988] if (muffled) [18:03:26.988] invokeRestart("muffleMessage") [18:03:26.988] } [18:03:26.988] else if (inherits(cond, "warning")) { [18:03:26.988] muffled <- grepl(pattern, "muffleWarning") [18:03:26.988] if (muffled) [18:03:26.988] invokeRestart("muffleWarning") [18:03:26.988] } [18:03:26.988] else if (inherits(cond, "condition")) { [18:03:26.988] if (!is.null(pattern)) { [18:03:26.988] computeRestarts <- base::computeRestarts [18:03:26.988] grepl <- base::grepl [18:03:26.988] restarts <- computeRestarts(cond) [18:03:26.988] for (restart in restarts) { [18:03:26.988] name <- restart$name [18:03:26.988] if (is.null(name)) [18:03:26.988] next [18:03:26.988] if (!grepl(pattern, name)) [18:03:26.988] next [18:03:26.988] invokeRestart(restart) [18:03:26.988] muffled <- TRUE [18:03:26.988] break [18:03:26.988] } [18:03:26.988] } [18:03:26.988] } [18:03:26.988] invisible(muffled) [18:03:26.988] } [18:03:26.988] muffleCondition(cond, pattern = "^muffle") [18:03:26.988] } [18:03:26.988] } [18:03:26.988] } [18:03:26.988] })) [18:03:26.988] }, error = function(ex) { [18:03:26.988] base::structure(base::list(value = NULL, visible = NULL, [18:03:26.988] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:26.988] ...future.rng), started = ...future.startTime, [18:03:26.988] finished = Sys.time(), session_uuid = NA_character_, [18:03:26.988] version = "1.8"), class = "FutureResult") [18:03:26.988] }, finally = { [18:03:26.988] if (!identical(...future.workdir, getwd())) [18:03:26.988] setwd(...future.workdir) [18:03:26.988] { [18:03:26.988] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:26.988] ...future.oldOptions$nwarnings <- NULL [18:03:26.988] } [18:03:26.988] base::options(...future.oldOptions) [18:03:26.988] if (.Platform$OS.type == "windows") { [18:03:26.988] old_names <- names(...future.oldEnvVars) [18:03:26.988] envs <- base::Sys.getenv() [18:03:26.988] names <- names(envs) [18:03:26.988] common <- intersect(names, old_names) [18:03:26.988] added <- setdiff(names, old_names) [18:03:26.988] removed <- setdiff(old_names, names) [18:03:26.988] changed <- common[...future.oldEnvVars[common] != [18:03:26.988] envs[common]] [18:03:26.988] NAMES <- toupper(changed) [18:03:26.988] args <- list() [18:03:26.988] for (kk in seq_along(NAMES)) { [18:03:26.988] name <- changed[[kk]] [18:03:26.988] NAME <- NAMES[[kk]] [18:03:26.988] if (name != NAME && is.element(NAME, old_names)) [18:03:26.988] next [18:03:26.988] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:26.988] } [18:03:26.988] NAMES <- toupper(added) [18:03:26.988] for (kk in seq_along(NAMES)) { [18:03:26.988] name <- added[[kk]] [18:03:26.988] NAME <- NAMES[[kk]] [18:03:26.988] if (name != NAME && is.element(NAME, old_names)) [18:03:26.988] next [18:03:26.988] args[[name]] <- "" [18:03:26.988] } [18:03:26.988] NAMES <- toupper(removed) [18:03:26.988] for (kk in seq_along(NAMES)) { [18:03:26.988] name <- removed[[kk]] [18:03:26.988] NAME <- NAMES[[kk]] [18:03:26.988] if (name != NAME && is.element(NAME, old_names)) [18:03:26.988] next [18:03:26.988] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:26.988] } [18:03:26.988] if (length(args) > 0) [18:03:26.988] base::do.call(base::Sys.setenv, args = args) [18:03:26.988] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:26.988] } [18:03:26.988] else { [18:03:26.988] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:26.988] } [18:03:26.988] { [18:03:26.988] if (base::length(...future.futureOptionsAdded) > [18:03:26.988] 0L) { [18:03:26.988] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:26.988] base::names(opts) <- ...future.futureOptionsAdded [18:03:26.988] base::options(opts) [18:03:26.988] } [18:03:26.988] { [18:03:26.988] { [18:03:26.988] base::options(mc.cores = ...future.mc.cores.old) [18:03:26.988] NULL [18:03:26.988] } [18:03:26.988] options(future.plan = NULL) [18:03:26.988] if (is.na(NA_character_)) [18:03:26.988] Sys.unsetenv("R_FUTURE_PLAN") [18:03:26.988] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:26.988] future::plan(list(function (..., workers = availableCores(), [18:03:26.988] lazy = FALSE, rscript_libs = .libPaths(), [18:03:26.988] envir = parent.frame()) [18:03:26.988] { [18:03:26.988] if (is.function(workers)) [18:03:26.988] workers <- workers() [18:03:26.988] workers <- structure(as.integer(workers), [18:03:26.988] class = class(workers)) [18:03:26.988] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:26.988] workers >= 1) [18:03:26.988] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:26.988] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:26.988] } [18:03:26.988] future <- MultisessionFuture(..., workers = workers, [18:03:26.988] lazy = lazy, rscript_libs = rscript_libs, [18:03:26.988] envir = envir) [18:03:26.988] if (!future$lazy) [18:03:26.988] future <- run(future) [18:03:26.988] invisible(future) [18:03:26.988] }), .cleanup = FALSE, .init = FALSE) [18:03:26.988] } [18:03:26.988] } [18:03:26.988] } [18:03:26.988] }) [18:03:26.988] if (TRUE) { [18:03:26.988] base::sink(type = "output", split = FALSE) [18:03:26.988] if (FALSE) { [18:03:26.988] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:26.988] } [18:03:26.988] else { [18:03:26.988] ...future.result["stdout"] <- base::list(NULL) [18:03:26.988] } [18:03:26.988] base::close(...future.stdout) [18:03:26.988] ...future.stdout <- NULL [18:03:26.988] } [18:03:26.988] ...future.result$conditions <- ...future.conditions [18:03:26.988] ...future.result$finished <- base::Sys.time() [18:03:26.988] ...future.result [18:03:26.988] } [18:03:26.994] MultisessionFuture started [18:03:26.995] - Launch lazy future ... done [18:03:26.995] run() for 'MultisessionFuture' ... done [18:03:26.995] result() for ClusterFuture ... [18:03:26.995] receiveMessageFromWorker() for ClusterFuture ... [18:03:26.996] - Validating connection of MultisessionFuture [18:03:27.012] - received message: FutureResult [18:03:27.012] - Received FutureResult [18:03:27.012] - Erased future from FutureRegistry [18:03:27.012] result() for ClusterFuture ... [18:03:27.013] - result already collected: FutureResult [18:03:27.013] result() for ClusterFuture ... done [18:03:27.013] receiveMessageFromWorker() for ClusterFuture ... done [18:03:27.013] result() for ClusterFuture ... done [18:03:27.013] result() for ClusterFuture ... [18:03:27.013] - result already collected: FutureResult [18:03:27.013] result() for ClusterFuture ... done - stdout = structure(TRUE, drop = TRUE) [18:03:27.014] getGlobalsAndPackages() ... [18:03:27.014] Searching for globals... [18:03:27.015] - globals found: [1] 'print' [18:03:27.015] Searching for globals ... DONE [18:03:27.015] Resolving globals: FALSE [18:03:27.015] [18:03:27.016] [18:03:27.016] getGlobalsAndPackages() ... DONE [18:03:27.016] run() for 'Future' ... [18:03:27.016] - state: 'created' [18:03:27.017] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:27.031] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:27.031] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:27.031] - Field: 'node' [18:03:27.031] - Field: 'label' [18:03:27.031] - Field: 'local' [18:03:27.032] - Field: 'owner' [18:03:27.032] - Field: 'envir' [18:03:27.032] - Field: 'workers' [18:03:27.032] - Field: 'packages' [18:03:27.032] - Field: 'gc' [18:03:27.032] - Field: 'conditions' [18:03:27.033] - Field: 'persistent' [18:03:27.033] - Field: 'expr' [18:03:27.033] - Field: 'uuid' [18:03:27.033] - Field: 'seed' [18:03:27.033] - Field: 'version' [18:03:27.034] - Field: 'result' [18:03:27.034] - Field: 'asynchronous' [18:03:27.034] - Field: 'calls' [18:03:27.034] - Field: 'globals' [18:03:27.034] - Field: 'stdout' [18:03:27.034] - Field: 'earlySignal' [18:03:27.035] - Field: 'lazy' [18:03:27.035] - Field: 'state' [18:03:27.035] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:27.035] - Launch lazy future ... [18:03:27.036] Packages needed by the future expression (n = 0): [18:03:27.036] Packages needed by future strategies (n = 0): [18:03:27.036] { [18:03:27.036] { [18:03:27.036] { [18:03:27.036] ...future.startTime <- base::Sys.time() [18:03:27.036] { [18:03:27.036] { [18:03:27.036] { [18:03:27.036] { [18:03:27.036] base::local({ [18:03:27.036] has_future <- base::requireNamespace("future", [18:03:27.036] quietly = TRUE) [18:03:27.036] if (has_future) { [18:03:27.036] ns <- base::getNamespace("future") [18:03:27.036] version <- ns[[".package"]][["version"]] [18:03:27.036] if (is.null(version)) [18:03:27.036] version <- utils::packageVersion("future") [18:03:27.036] } [18:03:27.036] else { [18:03:27.036] version <- NULL [18:03:27.036] } [18:03:27.036] if (!has_future || version < "1.8.0") { [18:03:27.036] info <- base::c(r_version = base::gsub("R version ", [18:03:27.036] "", base::R.version$version.string), [18:03:27.036] platform = base::sprintf("%s (%s-bit)", [18:03:27.036] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:27.036] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:27.036] "release", "version")], collapse = " "), [18:03:27.036] hostname = base::Sys.info()[["nodename"]]) [18:03:27.036] info <- base::sprintf("%s: %s", base::names(info), [18:03:27.036] info) [18:03:27.036] info <- base::paste(info, collapse = "; ") [18:03:27.036] if (!has_future) { [18:03:27.036] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:27.036] info) [18:03:27.036] } [18:03:27.036] else { [18:03:27.036] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:27.036] info, version) [18:03:27.036] } [18:03:27.036] base::stop(msg) [18:03:27.036] } [18:03:27.036] }) [18:03:27.036] } [18:03:27.036] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:27.036] base::options(mc.cores = 1L) [18:03:27.036] } [18:03:27.036] options(future.plan = NULL) [18:03:27.036] Sys.unsetenv("R_FUTURE_PLAN") [18:03:27.036] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:27.036] } [18:03:27.036] ...future.workdir <- getwd() [18:03:27.036] } [18:03:27.036] ...future.oldOptions <- base::as.list(base::.Options) [18:03:27.036] ...future.oldEnvVars <- base::Sys.getenv() [18:03:27.036] } [18:03:27.036] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:27.036] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:27.036] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:27.036] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:27.036] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:27.036] future.stdout.windows.reencode = NULL, width = 80L) [18:03:27.036] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:27.036] base::names(...future.oldOptions)) [18:03:27.036] } [18:03:27.036] if (FALSE) { [18:03:27.036] } [18:03:27.036] else { [18:03:27.036] if (TRUE) { [18:03:27.036] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:27.036] open = "w") [18:03:27.036] } [18:03:27.036] else { [18:03:27.036] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:27.036] windows = "NUL", "/dev/null"), open = "w") [18:03:27.036] } [18:03:27.036] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:27.036] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:27.036] base::sink(type = "output", split = FALSE) [18:03:27.036] base::close(...future.stdout) [18:03:27.036] }, add = TRUE) [18:03:27.036] } [18:03:27.036] ...future.frame <- base::sys.nframe() [18:03:27.036] ...future.conditions <- base::list() [18:03:27.036] ...future.rng <- base::globalenv()$.Random.seed [18:03:27.036] if (FALSE) { [18:03:27.036] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:27.036] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:27.036] } [18:03:27.036] ...future.result <- base::tryCatch({ [18:03:27.036] base::withCallingHandlers({ [18:03:27.036] ...future.value <- base::withVisible(base::local({ [18:03:27.036] ...future.makeSendCondition <- local({ [18:03:27.036] sendCondition <- NULL [18:03:27.036] function(frame = 1L) { [18:03:27.036] if (is.function(sendCondition)) [18:03:27.036] return(sendCondition) [18:03:27.036] ns <- getNamespace("parallel") [18:03:27.036] if (exists("sendData", mode = "function", [18:03:27.036] envir = ns)) { [18:03:27.036] parallel_sendData <- get("sendData", mode = "function", [18:03:27.036] envir = ns) [18:03:27.036] envir <- sys.frame(frame) [18:03:27.036] master <- NULL [18:03:27.036] while (!identical(envir, .GlobalEnv) && [18:03:27.036] !identical(envir, emptyenv())) { [18:03:27.036] if (exists("master", mode = "list", envir = envir, [18:03:27.036] inherits = FALSE)) { [18:03:27.036] master <- get("master", mode = "list", [18:03:27.036] envir = envir, inherits = FALSE) [18:03:27.036] if (inherits(master, c("SOCKnode", [18:03:27.036] "SOCK0node"))) { [18:03:27.036] sendCondition <<- function(cond) { [18:03:27.036] data <- list(type = "VALUE", value = cond, [18:03:27.036] success = TRUE) [18:03:27.036] parallel_sendData(master, data) [18:03:27.036] } [18:03:27.036] return(sendCondition) [18:03:27.036] } [18:03:27.036] } [18:03:27.036] frame <- frame + 1L [18:03:27.036] envir <- sys.frame(frame) [18:03:27.036] } [18:03:27.036] } [18:03:27.036] sendCondition <<- function(cond) NULL [18:03:27.036] } [18:03:27.036] }) [18:03:27.036] withCallingHandlers({ [18:03:27.036] print(42) [18:03:27.036] }, immediateCondition = function(cond) { [18:03:27.036] sendCondition <- ...future.makeSendCondition() [18:03:27.036] sendCondition(cond) [18:03:27.036] muffleCondition <- function (cond, pattern = "^muffle") [18:03:27.036] { [18:03:27.036] inherits <- base::inherits [18:03:27.036] invokeRestart <- base::invokeRestart [18:03:27.036] is.null <- base::is.null [18:03:27.036] muffled <- FALSE [18:03:27.036] if (inherits(cond, "message")) { [18:03:27.036] muffled <- grepl(pattern, "muffleMessage") [18:03:27.036] if (muffled) [18:03:27.036] invokeRestart("muffleMessage") [18:03:27.036] } [18:03:27.036] else if (inherits(cond, "warning")) { [18:03:27.036] muffled <- grepl(pattern, "muffleWarning") [18:03:27.036] if (muffled) [18:03:27.036] invokeRestart("muffleWarning") [18:03:27.036] } [18:03:27.036] else if (inherits(cond, "condition")) { [18:03:27.036] if (!is.null(pattern)) { [18:03:27.036] computeRestarts <- base::computeRestarts [18:03:27.036] grepl <- base::grepl [18:03:27.036] restarts <- computeRestarts(cond) [18:03:27.036] for (restart in restarts) { [18:03:27.036] name <- restart$name [18:03:27.036] if (is.null(name)) [18:03:27.036] next [18:03:27.036] if (!grepl(pattern, name)) [18:03:27.036] next [18:03:27.036] invokeRestart(restart) [18:03:27.036] muffled <- TRUE [18:03:27.036] break [18:03:27.036] } [18:03:27.036] } [18:03:27.036] } [18:03:27.036] invisible(muffled) [18:03:27.036] } [18:03:27.036] muffleCondition(cond) [18:03:27.036] }) [18:03:27.036] })) [18:03:27.036] future::FutureResult(value = ...future.value$value, [18:03:27.036] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:27.036] ...future.rng), globalenv = if (FALSE) [18:03:27.036] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:27.036] ...future.globalenv.names)) [18:03:27.036] else NULL, started = ...future.startTime, version = "1.8") [18:03:27.036] }, condition = base::local({ [18:03:27.036] c <- base::c [18:03:27.036] inherits <- base::inherits [18:03:27.036] invokeRestart <- base::invokeRestart [18:03:27.036] length <- base::length [18:03:27.036] list <- base::list [18:03:27.036] seq.int <- base::seq.int [18:03:27.036] signalCondition <- base::signalCondition [18:03:27.036] sys.calls <- base::sys.calls [18:03:27.036] `[[` <- base::`[[` [18:03:27.036] `+` <- base::`+` [18:03:27.036] `<<-` <- base::`<<-` [18:03:27.036] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:27.036] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:27.036] 3L)] [18:03:27.036] } [18:03:27.036] function(cond) { [18:03:27.036] is_error <- inherits(cond, "error") [18:03:27.036] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:27.036] NULL) [18:03:27.036] if (is_error) { [18:03:27.036] sessionInformation <- function() { [18:03:27.036] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:27.036] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:27.036] search = base::search(), system = base::Sys.info()) [18:03:27.036] } [18:03:27.036] ...future.conditions[[length(...future.conditions) + [18:03:27.036] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:27.036] cond$call), session = sessionInformation(), [18:03:27.036] timestamp = base::Sys.time(), signaled = 0L) [18:03:27.036] signalCondition(cond) [18:03:27.036] } [18:03:27.036] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:27.036] "immediateCondition"))) { [18:03:27.036] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:27.036] ...future.conditions[[length(...future.conditions) + [18:03:27.036] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:27.036] if (TRUE && !signal) { [18:03:27.036] muffleCondition <- function (cond, pattern = "^muffle") [18:03:27.036] { [18:03:27.036] inherits <- base::inherits [18:03:27.036] invokeRestart <- base::invokeRestart [18:03:27.036] is.null <- base::is.null [18:03:27.036] muffled <- FALSE [18:03:27.036] if (inherits(cond, "message")) { [18:03:27.036] muffled <- grepl(pattern, "muffleMessage") [18:03:27.036] if (muffled) [18:03:27.036] invokeRestart("muffleMessage") [18:03:27.036] } [18:03:27.036] else if (inherits(cond, "warning")) { [18:03:27.036] muffled <- grepl(pattern, "muffleWarning") [18:03:27.036] if (muffled) [18:03:27.036] invokeRestart("muffleWarning") [18:03:27.036] } [18:03:27.036] else if (inherits(cond, "condition")) { [18:03:27.036] if (!is.null(pattern)) { [18:03:27.036] computeRestarts <- base::computeRestarts [18:03:27.036] grepl <- base::grepl [18:03:27.036] restarts <- computeRestarts(cond) [18:03:27.036] for (restart in restarts) { [18:03:27.036] name <- restart$name [18:03:27.036] if (is.null(name)) [18:03:27.036] next [18:03:27.036] if (!grepl(pattern, name)) [18:03:27.036] next [18:03:27.036] invokeRestart(restart) [18:03:27.036] muffled <- TRUE [18:03:27.036] break [18:03:27.036] } [18:03:27.036] } [18:03:27.036] } [18:03:27.036] invisible(muffled) [18:03:27.036] } [18:03:27.036] muffleCondition(cond, pattern = "^muffle") [18:03:27.036] } [18:03:27.036] } [18:03:27.036] else { [18:03:27.036] if (TRUE) { [18:03:27.036] muffleCondition <- function (cond, pattern = "^muffle") [18:03:27.036] { [18:03:27.036] inherits <- base::inherits [18:03:27.036] invokeRestart <- base::invokeRestart [18:03:27.036] is.null <- base::is.null [18:03:27.036] muffled <- FALSE [18:03:27.036] if (inherits(cond, "message")) { [18:03:27.036] muffled <- grepl(pattern, "muffleMessage") [18:03:27.036] if (muffled) [18:03:27.036] invokeRestart("muffleMessage") [18:03:27.036] } [18:03:27.036] else if (inherits(cond, "warning")) { [18:03:27.036] muffled <- grepl(pattern, "muffleWarning") [18:03:27.036] if (muffled) [18:03:27.036] invokeRestart("muffleWarning") [18:03:27.036] } [18:03:27.036] else if (inherits(cond, "condition")) { [18:03:27.036] if (!is.null(pattern)) { [18:03:27.036] computeRestarts <- base::computeRestarts [18:03:27.036] grepl <- base::grepl [18:03:27.036] restarts <- computeRestarts(cond) [18:03:27.036] for (restart in restarts) { [18:03:27.036] name <- restart$name [18:03:27.036] if (is.null(name)) [18:03:27.036] next [18:03:27.036] if (!grepl(pattern, name)) [18:03:27.036] next [18:03:27.036] invokeRestart(restart) [18:03:27.036] muffled <- TRUE [18:03:27.036] break [18:03:27.036] } [18:03:27.036] } [18:03:27.036] } [18:03:27.036] invisible(muffled) [18:03:27.036] } [18:03:27.036] muffleCondition(cond, pattern = "^muffle") [18:03:27.036] } [18:03:27.036] } [18:03:27.036] } [18:03:27.036] })) [18:03:27.036] }, error = function(ex) { [18:03:27.036] base::structure(base::list(value = NULL, visible = NULL, [18:03:27.036] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:27.036] ...future.rng), started = ...future.startTime, [18:03:27.036] finished = Sys.time(), session_uuid = NA_character_, [18:03:27.036] version = "1.8"), class = "FutureResult") [18:03:27.036] }, finally = { [18:03:27.036] if (!identical(...future.workdir, getwd())) [18:03:27.036] setwd(...future.workdir) [18:03:27.036] { [18:03:27.036] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:27.036] ...future.oldOptions$nwarnings <- NULL [18:03:27.036] } [18:03:27.036] base::options(...future.oldOptions) [18:03:27.036] if (.Platform$OS.type == "windows") { [18:03:27.036] old_names <- names(...future.oldEnvVars) [18:03:27.036] envs <- base::Sys.getenv() [18:03:27.036] names <- names(envs) [18:03:27.036] common <- intersect(names, old_names) [18:03:27.036] added <- setdiff(names, old_names) [18:03:27.036] removed <- setdiff(old_names, names) [18:03:27.036] changed <- common[...future.oldEnvVars[common] != [18:03:27.036] envs[common]] [18:03:27.036] NAMES <- toupper(changed) [18:03:27.036] args <- list() [18:03:27.036] for (kk in seq_along(NAMES)) { [18:03:27.036] name <- changed[[kk]] [18:03:27.036] NAME <- NAMES[[kk]] [18:03:27.036] if (name != NAME && is.element(NAME, old_names)) [18:03:27.036] next [18:03:27.036] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:27.036] } [18:03:27.036] NAMES <- toupper(added) [18:03:27.036] for (kk in seq_along(NAMES)) { [18:03:27.036] name <- added[[kk]] [18:03:27.036] NAME <- NAMES[[kk]] [18:03:27.036] if (name != NAME && is.element(NAME, old_names)) [18:03:27.036] next [18:03:27.036] args[[name]] <- "" [18:03:27.036] } [18:03:27.036] NAMES <- toupper(removed) [18:03:27.036] for (kk in seq_along(NAMES)) { [18:03:27.036] name <- removed[[kk]] [18:03:27.036] NAME <- NAMES[[kk]] [18:03:27.036] if (name != NAME && is.element(NAME, old_names)) [18:03:27.036] next [18:03:27.036] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:27.036] } [18:03:27.036] if (length(args) > 0) [18:03:27.036] base::do.call(base::Sys.setenv, args = args) [18:03:27.036] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:27.036] } [18:03:27.036] else { [18:03:27.036] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:27.036] } [18:03:27.036] { [18:03:27.036] if (base::length(...future.futureOptionsAdded) > [18:03:27.036] 0L) { [18:03:27.036] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:27.036] base::names(opts) <- ...future.futureOptionsAdded [18:03:27.036] base::options(opts) [18:03:27.036] } [18:03:27.036] { [18:03:27.036] { [18:03:27.036] base::options(mc.cores = ...future.mc.cores.old) [18:03:27.036] NULL [18:03:27.036] } [18:03:27.036] options(future.plan = NULL) [18:03:27.036] if (is.na(NA_character_)) [18:03:27.036] Sys.unsetenv("R_FUTURE_PLAN") [18:03:27.036] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:27.036] future::plan(list(function (..., workers = availableCores(), [18:03:27.036] lazy = FALSE, rscript_libs = .libPaths(), [18:03:27.036] envir = parent.frame()) [18:03:27.036] { [18:03:27.036] if (is.function(workers)) [18:03:27.036] workers <- workers() [18:03:27.036] workers <- structure(as.integer(workers), [18:03:27.036] class = class(workers)) [18:03:27.036] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:27.036] workers >= 1) [18:03:27.036] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:27.036] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:27.036] } [18:03:27.036] future <- MultisessionFuture(..., workers = workers, [18:03:27.036] lazy = lazy, rscript_libs = rscript_libs, [18:03:27.036] envir = envir) [18:03:27.036] if (!future$lazy) [18:03:27.036] future <- run(future) [18:03:27.036] invisible(future) [18:03:27.036] }), .cleanup = FALSE, .init = FALSE) [18:03:27.036] } [18:03:27.036] } [18:03:27.036] } [18:03:27.036] }) [18:03:27.036] if (TRUE) { [18:03:27.036] base::sink(type = "output", split = FALSE) [18:03:27.036] if (TRUE) { [18:03:27.036] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:27.036] } [18:03:27.036] else { [18:03:27.036] ...future.result["stdout"] <- base::list(NULL) [18:03:27.036] } [18:03:27.036] base::close(...future.stdout) [18:03:27.036] ...future.stdout <- NULL [18:03:27.036] } [18:03:27.036] ...future.result$conditions <- ...future.conditions [18:03:27.036] ...future.result$finished <- base::Sys.time() [18:03:27.036] ...future.result [18:03:27.036] } [18:03:27.042] MultisessionFuture started [18:03:27.043] - Launch lazy future ... done [18:03:27.043] run() for 'MultisessionFuture' ... done [18:03:27.043] result() for ClusterFuture ... [18:03:27.043] receiveMessageFromWorker() for ClusterFuture ... [18:03:27.043] - Validating connection of MultisessionFuture [18:03:27.060] - received message: FutureResult [18:03:27.060] - Received FutureResult [18:03:27.060] - Erased future from FutureRegistry [18:03:27.060] result() for ClusterFuture ... [18:03:27.061] - result already collected: FutureResult [18:03:27.061] result() for ClusterFuture ... done [18:03:27.061] receiveMessageFromWorker() for ClusterFuture ... done [18:03:27.061] result() for ClusterFuture ... done [18:03:27.061] result() for ClusterFuture ... [18:03:27.061] - result already collected: FutureResult [18:03:27.061] result() for ClusterFuture ... done [18:03:27.062] result() for ClusterFuture ... [18:03:27.062] - result already collected: FutureResult [18:03:27.062] result() for ClusterFuture ... done [1] 42 [18:03:27.062] result() for ClusterFuture ... [18:03:27.062] - result already collected: FutureResult [18:03:27.063] result() for ClusterFuture ... done - stdout = NA [18:03:27.063] getGlobalsAndPackages() ... [18:03:27.063] Searching for globals... [18:03:27.067] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [18:03:27.069] Searching for globals ... DONE [18:03:27.069] Resolving globals: FALSE [18:03:27.070] [18:03:27.070] - packages: [1] 'utils' [18:03:27.070] getGlobalsAndPackages() ... DONE [18:03:27.071] run() for 'Future' ... [18:03:27.071] - state: 'created' [18:03:27.071] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:27.085] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:27.085] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:27.085] - Field: 'node' [18:03:27.085] - Field: 'label' [18:03:27.085] - Field: 'local' [18:03:27.086] - Field: 'owner' [18:03:27.086] - Field: 'envir' [18:03:27.086] - Field: 'workers' [18:03:27.086] - Field: 'packages' [18:03:27.086] - Field: 'gc' [18:03:27.086] - Field: 'conditions' [18:03:27.087] - Field: 'persistent' [18:03:27.087] - Field: 'expr' [18:03:27.087] - Field: 'uuid' [18:03:27.087] - Field: 'seed' [18:03:27.087] - Field: 'version' [18:03:27.088] - Field: 'result' [18:03:27.088] - Field: 'asynchronous' [18:03:27.088] - Field: 'calls' [18:03:27.088] - Field: 'globals' [18:03:27.088] - Field: 'stdout' [18:03:27.088] - Field: 'earlySignal' [18:03:27.089] - Field: 'lazy' [18:03:27.089] - Field: 'state' [18:03:27.089] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:27.089] - Launch lazy future ... [18:03:27.089] Packages needed by the future expression (n = 1): 'utils' [18:03:27.090] Packages needed by future strategies (n = 0): [18:03:27.090] { [18:03:27.090] { [18:03:27.090] { [18:03:27.090] ...future.startTime <- base::Sys.time() [18:03:27.090] { [18:03:27.090] { [18:03:27.090] { [18:03:27.090] { [18:03:27.090] { [18:03:27.090] base::local({ [18:03:27.090] has_future <- base::requireNamespace("future", [18:03:27.090] quietly = TRUE) [18:03:27.090] if (has_future) { [18:03:27.090] ns <- base::getNamespace("future") [18:03:27.090] version <- ns[[".package"]][["version"]] [18:03:27.090] if (is.null(version)) [18:03:27.090] version <- utils::packageVersion("future") [18:03:27.090] } [18:03:27.090] else { [18:03:27.090] version <- NULL [18:03:27.090] } [18:03:27.090] if (!has_future || version < "1.8.0") { [18:03:27.090] info <- base::c(r_version = base::gsub("R version ", [18:03:27.090] "", base::R.version$version.string), [18:03:27.090] platform = base::sprintf("%s (%s-bit)", [18:03:27.090] base::R.version$platform, 8 * [18:03:27.090] base::.Machine$sizeof.pointer), [18:03:27.090] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:27.090] "release", "version")], collapse = " "), [18:03:27.090] hostname = base::Sys.info()[["nodename"]]) [18:03:27.090] info <- base::sprintf("%s: %s", base::names(info), [18:03:27.090] info) [18:03:27.090] info <- base::paste(info, collapse = "; ") [18:03:27.090] if (!has_future) { [18:03:27.090] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:27.090] info) [18:03:27.090] } [18:03:27.090] else { [18:03:27.090] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:27.090] info, version) [18:03:27.090] } [18:03:27.090] base::stop(msg) [18:03:27.090] } [18:03:27.090] }) [18:03:27.090] } [18:03:27.090] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:27.090] base::options(mc.cores = 1L) [18:03:27.090] } [18:03:27.090] base::local({ [18:03:27.090] for (pkg in "utils") { [18:03:27.090] base::loadNamespace(pkg) [18:03:27.090] base::library(pkg, character.only = TRUE) [18:03:27.090] } [18:03:27.090] }) [18:03:27.090] } [18:03:27.090] options(future.plan = NULL) [18:03:27.090] Sys.unsetenv("R_FUTURE_PLAN") [18:03:27.090] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:27.090] } [18:03:27.090] ...future.workdir <- getwd() [18:03:27.090] } [18:03:27.090] ...future.oldOptions <- base::as.list(base::.Options) [18:03:27.090] ...future.oldEnvVars <- base::Sys.getenv() [18:03:27.090] } [18:03:27.090] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:27.090] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:27.090] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:27.090] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:27.090] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:27.090] future.stdout.windows.reencode = NULL, width = 80L) [18:03:27.090] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:27.090] base::names(...future.oldOptions)) [18:03:27.090] } [18:03:27.090] if (TRUE) { [18:03:27.090] } [18:03:27.090] else { [18:03:27.090] if (NA) { [18:03:27.090] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:27.090] open = "w") [18:03:27.090] } [18:03:27.090] else { [18:03:27.090] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:27.090] windows = "NUL", "/dev/null"), open = "w") [18:03:27.090] } [18:03:27.090] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:27.090] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:27.090] base::sink(type = "output", split = FALSE) [18:03:27.090] base::close(...future.stdout) [18:03:27.090] }, add = TRUE) [18:03:27.090] } [18:03:27.090] ...future.frame <- base::sys.nframe() [18:03:27.090] ...future.conditions <- base::list() [18:03:27.090] ...future.rng <- base::globalenv()$.Random.seed [18:03:27.090] if (FALSE) { [18:03:27.090] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:27.090] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:27.090] } [18:03:27.090] ...future.result <- base::tryCatch({ [18:03:27.090] base::withCallingHandlers({ [18:03:27.090] ...future.value <- base::withVisible(base::local({ [18:03:27.090] ...future.makeSendCondition <- local({ [18:03:27.090] sendCondition <- NULL [18:03:27.090] function(frame = 1L) { [18:03:27.090] if (is.function(sendCondition)) [18:03:27.090] return(sendCondition) [18:03:27.090] ns <- getNamespace("parallel") [18:03:27.090] if (exists("sendData", mode = "function", [18:03:27.090] envir = ns)) { [18:03:27.090] parallel_sendData <- get("sendData", mode = "function", [18:03:27.090] envir = ns) [18:03:27.090] envir <- sys.frame(frame) [18:03:27.090] master <- NULL [18:03:27.090] while (!identical(envir, .GlobalEnv) && [18:03:27.090] !identical(envir, emptyenv())) { [18:03:27.090] if (exists("master", mode = "list", envir = envir, [18:03:27.090] inherits = FALSE)) { [18:03:27.090] master <- get("master", mode = "list", [18:03:27.090] envir = envir, inherits = FALSE) [18:03:27.090] if (inherits(master, c("SOCKnode", [18:03:27.090] "SOCK0node"))) { [18:03:27.090] sendCondition <<- function(cond) { [18:03:27.090] data <- list(type = "VALUE", value = cond, [18:03:27.090] success = TRUE) [18:03:27.090] parallel_sendData(master, data) [18:03:27.090] } [18:03:27.090] return(sendCondition) [18:03:27.090] } [18:03:27.090] } [18:03:27.090] frame <- frame + 1L [18:03:27.090] envir <- sys.frame(frame) [18:03:27.090] } [18:03:27.090] } [18:03:27.090] sendCondition <<- function(cond) NULL [18:03:27.090] } [18:03:27.090] }) [18:03:27.090] withCallingHandlers({ [18:03:27.090] { [18:03:27.090] print(1:50) [18:03:27.090] str(1:50) [18:03:27.090] cat(letters, sep = "-") [18:03:27.090] cat(1:6, collapse = "\n") [18:03:27.090] write.table(datasets::iris[1:10, ], sep = "\t") [18:03:27.090] 42L [18:03:27.090] } [18:03:27.090] }, immediateCondition = function(cond) { [18:03:27.090] sendCondition <- ...future.makeSendCondition() [18:03:27.090] sendCondition(cond) [18:03:27.090] muffleCondition <- function (cond, pattern = "^muffle") [18:03:27.090] { [18:03:27.090] inherits <- base::inherits [18:03:27.090] invokeRestart <- base::invokeRestart [18:03:27.090] is.null <- base::is.null [18:03:27.090] muffled <- FALSE [18:03:27.090] if (inherits(cond, "message")) { [18:03:27.090] muffled <- grepl(pattern, "muffleMessage") [18:03:27.090] if (muffled) [18:03:27.090] invokeRestart("muffleMessage") [18:03:27.090] } [18:03:27.090] else if (inherits(cond, "warning")) { [18:03:27.090] muffled <- grepl(pattern, "muffleWarning") [18:03:27.090] if (muffled) [18:03:27.090] invokeRestart("muffleWarning") [18:03:27.090] } [18:03:27.090] else if (inherits(cond, "condition")) { [18:03:27.090] if (!is.null(pattern)) { [18:03:27.090] computeRestarts <- base::computeRestarts [18:03:27.090] grepl <- base::grepl [18:03:27.090] restarts <- computeRestarts(cond) [18:03:27.090] for (restart in restarts) { [18:03:27.090] name <- restart$name [18:03:27.090] if (is.null(name)) [18:03:27.090] next [18:03:27.090] if (!grepl(pattern, name)) [18:03:27.090] next [18:03:27.090] invokeRestart(restart) [18:03:27.090] muffled <- TRUE [18:03:27.090] break [18:03:27.090] } [18:03:27.090] } [18:03:27.090] } [18:03:27.090] invisible(muffled) [18:03:27.090] } [18:03:27.090] muffleCondition(cond) [18:03:27.090] }) [18:03:27.090] })) [18:03:27.090] future::FutureResult(value = ...future.value$value, [18:03:27.090] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:27.090] ...future.rng), globalenv = if (FALSE) [18:03:27.090] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:27.090] ...future.globalenv.names)) [18:03:27.090] else NULL, started = ...future.startTime, version = "1.8") [18:03:27.090] }, condition = base::local({ [18:03:27.090] c <- base::c [18:03:27.090] inherits <- base::inherits [18:03:27.090] invokeRestart <- base::invokeRestart [18:03:27.090] length <- base::length [18:03:27.090] list <- base::list [18:03:27.090] seq.int <- base::seq.int [18:03:27.090] signalCondition <- base::signalCondition [18:03:27.090] sys.calls <- base::sys.calls [18:03:27.090] `[[` <- base::`[[` [18:03:27.090] `+` <- base::`+` [18:03:27.090] `<<-` <- base::`<<-` [18:03:27.090] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:27.090] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:27.090] 3L)] [18:03:27.090] } [18:03:27.090] function(cond) { [18:03:27.090] is_error <- inherits(cond, "error") [18:03:27.090] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:27.090] NULL) [18:03:27.090] if (is_error) { [18:03:27.090] sessionInformation <- function() { [18:03:27.090] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:27.090] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:27.090] search = base::search(), system = base::Sys.info()) [18:03:27.090] } [18:03:27.090] ...future.conditions[[length(...future.conditions) + [18:03:27.090] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:27.090] cond$call), session = sessionInformation(), [18:03:27.090] timestamp = base::Sys.time(), signaled = 0L) [18:03:27.090] signalCondition(cond) [18:03:27.090] } [18:03:27.090] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:27.090] "immediateCondition"))) { [18:03:27.090] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:27.090] ...future.conditions[[length(...future.conditions) + [18:03:27.090] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:27.090] if (TRUE && !signal) { [18:03:27.090] muffleCondition <- function (cond, pattern = "^muffle") [18:03:27.090] { [18:03:27.090] inherits <- base::inherits [18:03:27.090] invokeRestart <- base::invokeRestart [18:03:27.090] is.null <- base::is.null [18:03:27.090] muffled <- FALSE [18:03:27.090] if (inherits(cond, "message")) { [18:03:27.090] muffled <- grepl(pattern, "muffleMessage") [18:03:27.090] if (muffled) [18:03:27.090] invokeRestart("muffleMessage") [18:03:27.090] } [18:03:27.090] else if (inherits(cond, "warning")) { [18:03:27.090] muffled <- grepl(pattern, "muffleWarning") [18:03:27.090] if (muffled) [18:03:27.090] invokeRestart("muffleWarning") [18:03:27.090] } [18:03:27.090] else if (inherits(cond, "condition")) { [18:03:27.090] if (!is.null(pattern)) { [18:03:27.090] computeRestarts <- base::computeRestarts [18:03:27.090] grepl <- base::grepl [18:03:27.090] restarts <- computeRestarts(cond) [18:03:27.090] for (restart in restarts) { [18:03:27.090] name <- restart$name [18:03:27.090] if (is.null(name)) [18:03:27.090] next [18:03:27.090] if (!grepl(pattern, name)) [18:03:27.090] next [18:03:27.090] invokeRestart(restart) [18:03:27.090] muffled <- TRUE [18:03:27.090] break [18:03:27.090] } [18:03:27.090] } [18:03:27.090] } [18:03:27.090] invisible(muffled) [18:03:27.090] } [18:03:27.090] muffleCondition(cond, pattern = "^muffle") [18:03:27.090] } [18:03:27.090] } [18:03:27.090] else { [18:03:27.090] if (TRUE) { [18:03:27.090] muffleCondition <- function (cond, pattern = "^muffle") [18:03:27.090] { [18:03:27.090] inherits <- base::inherits [18:03:27.090] invokeRestart <- base::invokeRestart [18:03:27.090] is.null <- base::is.null [18:03:27.090] muffled <- FALSE [18:03:27.090] if (inherits(cond, "message")) { [18:03:27.090] muffled <- grepl(pattern, "muffleMessage") [18:03:27.090] if (muffled) [18:03:27.090] invokeRestart("muffleMessage") [18:03:27.090] } [18:03:27.090] else if (inherits(cond, "warning")) { [18:03:27.090] muffled <- grepl(pattern, "muffleWarning") [18:03:27.090] if (muffled) [18:03:27.090] invokeRestart("muffleWarning") [18:03:27.090] } [18:03:27.090] else if (inherits(cond, "condition")) { [18:03:27.090] if (!is.null(pattern)) { [18:03:27.090] computeRestarts <- base::computeRestarts [18:03:27.090] grepl <- base::grepl [18:03:27.090] restarts <- computeRestarts(cond) [18:03:27.090] for (restart in restarts) { [18:03:27.090] name <- restart$name [18:03:27.090] if (is.null(name)) [18:03:27.090] next [18:03:27.090] if (!grepl(pattern, name)) [18:03:27.090] next [18:03:27.090] invokeRestart(restart) [18:03:27.090] muffled <- TRUE [18:03:27.090] break [18:03:27.090] } [18:03:27.090] } [18:03:27.090] } [18:03:27.090] invisible(muffled) [18:03:27.090] } [18:03:27.090] muffleCondition(cond, pattern = "^muffle") [18:03:27.090] } [18:03:27.090] } [18:03:27.090] } [18:03:27.090] })) [18:03:27.090] }, error = function(ex) { [18:03:27.090] base::structure(base::list(value = NULL, visible = NULL, [18:03:27.090] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:27.090] ...future.rng), started = ...future.startTime, [18:03:27.090] finished = Sys.time(), session_uuid = NA_character_, [18:03:27.090] version = "1.8"), class = "FutureResult") [18:03:27.090] }, finally = { [18:03:27.090] if (!identical(...future.workdir, getwd())) [18:03:27.090] setwd(...future.workdir) [18:03:27.090] { [18:03:27.090] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:27.090] ...future.oldOptions$nwarnings <- NULL [18:03:27.090] } [18:03:27.090] base::options(...future.oldOptions) [18:03:27.090] if (.Platform$OS.type == "windows") { [18:03:27.090] old_names <- names(...future.oldEnvVars) [18:03:27.090] envs <- base::Sys.getenv() [18:03:27.090] names <- names(envs) [18:03:27.090] common <- intersect(names, old_names) [18:03:27.090] added <- setdiff(names, old_names) [18:03:27.090] removed <- setdiff(old_names, names) [18:03:27.090] changed <- common[...future.oldEnvVars[common] != [18:03:27.090] envs[common]] [18:03:27.090] NAMES <- toupper(changed) [18:03:27.090] args <- list() [18:03:27.090] for (kk in seq_along(NAMES)) { [18:03:27.090] name <- changed[[kk]] [18:03:27.090] NAME <- NAMES[[kk]] [18:03:27.090] if (name != NAME && is.element(NAME, old_names)) [18:03:27.090] next [18:03:27.090] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:27.090] } [18:03:27.090] NAMES <- toupper(added) [18:03:27.090] for (kk in seq_along(NAMES)) { [18:03:27.090] name <- added[[kk]] [18:03:27.090] NAME <- NAMES[[kk]] [18:03:27.090] if (name != NAME && is.element(NAME, old_names)) [18:03:27.090] next [18:03:27.090] args[[name]] <- "" [18:03:27.090] } [18:03:27.090] NAMES <- toupper(removed) [18:03:27.090] for (kk in seq_along(NAMES)) { [18:03:27.090] name <- removed[[kk]] [18:03:27.090] NAME <- NAMES[[kk]] [18:03:27.090] if (name != NAME && is.element(NAME, old_names)) [18:03:27.090] next [18:03:27.090] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:27.090] } [18:03:27.090] if (length(args) > 0) [18:03:27.090] base::do.call(base::Sys.setenv, args = args) [18:03:27.090] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:27.090] } [18:03:27.090] else { [18:03:27.090] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:27.090] } [18:03:27.090] { [18:03:27.090] if (base::length(...future.futureOptionsAdded) > [18:03:27.090] 0L) { [18:03:27.090] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:27.090] base::names(opts) <- ...future.futureOptionsAdded [18:03:27.090] base::options(opts) [18:03:27.090] } [18:03:27.090] { [18:03:27.090] { [18:03:27.090] base::options(mc.cores = ...future.mc.cores.old) [18:03:27.090] NULL [18:03:27.090] } [18:03:27.090] options(future.plan = NULL) [18:03:27.090] if (is.na(NA_character_)) [18:03:27.090] Sys.unsetenv("R_FUTURE_PLAN") [18:03:27.090] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:27.090] future::plan(list(function (..., workers = availableCores(), [18:03:27.090] lazy = FALSE, rscript_libs = .libPaths(), [18:03:27.090] envir = parent.frame()) [18:03:27.090] { [18:03:27.090] if (is.function(workers)) [18:03:27.090] workers <- workers() [18:03:27.090] workers <- structure(as.integer(workers), [18:03:27.090] class = class(workers)) [18:03:27.090] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:27.090] workers >= 1) [18:03:27.090] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:27.090] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:27.090] } [18:03:27.090] future <- MultisessionFuture(..., workers = workers, [18:03:27.090] lazy = lazy, rscript_libs = rscript_libs, [18:03:27.090] envir = envir) [18:03:27.090] if (!future$lazy) [18:03:27.090] future <- run(future) [18:03:27.090] invisible(future) [18:03:27.090] }), .cleanup = FALSE, .init = FALSE) [18:03:27.090] } [18:03:27.090] } [18:03:27.090] } [18:03:27.090] }) [18:03:27.090] if (FALSE) { [18:03:27.090] base::sink(type = "output", split = FALSE) [18:03:27.090] if (NA) { [18:03:27.090] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:27.090] } [18:03:27.090] else { [18:03:27.090] ...future.result["stdout"] <- base::list(NULL) [18:03:27.090] } [18:03:27.090] base::close(...future.stdout) [18:03:27.090] ...future.stdout <- NULL [18:03:27.090] } [18:03:27.090] ...future.result$conditions <- ...future.conditions [18:03:27.090] ...future.result$finished <- base::Sys.time() [18:03:27.090] ...future.result [18:03:27.090] } [18:03:27.096] MultisessionFuture started [18:03:27.096] - Launch lazy future ... done [18:03:27.096] run() for 'MultisessionFuture' ... done [18:03:27.097] result() for ClusterFuture ... [18:03:27.097] receiveMessageFromWorker() for ClusterFuture ... [18:03:27.097] - Validating connection of MultisessionFuture [18:03:27.115] - received message: FutureResult [18:03:27.115] - Received FutureResult [18:03:27.115] - Erased future from FutureRegistry [18:03:27.115] result() for ClusterFuture ... [18:03:27.115] - result already collected: FutureResult [18:03:27.115] result() for ClusterFuture ... done [18:03:27.116] receiveMessageFromWorker() for ClusterFuture ... done [18:03:27.116] result() for ClusterFuture ... done List of 11 $ value : int 42 $ visible : logi TRUE $ stdout : NULL $ conditions : list() $ rng : logi FALSE $ globalenv : NULL $ started : POSIXct[1:1], format: "2023-07-01 18:03:27" $ finished : POSIXct[1:1], format: "2023-07-01 18:03:27" $ session_uuid: chr "ad29a053-9286-77b6-9ac4-e3a455b8b8d6" ..- 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 89152 .. ..$ time : POSIXct[1:1], format: "2023-07-01 18:03:26" .. ..$ 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" [18:03:27.125] result() for ClusterFuture ... [18:03:27.125] - result already collected: FutureResult [18:03:27.125] result() for ClusterFuture ... done [18:03:27.126] result() for ClusterFuture ... [18:03:27.126] - result already collected: FutureResult [18:03:27.126] result() for ClusterFuture ... done [18:03:27.126] getGlobalsAndPackages() ... [18:03:27.127] Searching for globals... [18:03:27.130] - globals found: [9] '{', 'print', ':', 'str', 'cat', 'letters', 'write.table', '[', '::' [18:03:27.131] Searching for globals ... DONE [18:03:27.131] Resolving globals: FALSE [18:03:27.131] [18:03:27.132] - packages: [1] 'utils' [18:03:27.132] getGlobalsAndPackages() ... DONE [18:03:27.132] run() for 'Future' ... [18:03:27.132] - state: 'created' [18:03:27.133] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:27.147] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:27.147] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:27.147] - Field: 'node' [18:03:27.147] - Field: 'label' [18:03:27.148] - Field: 'local' [18:03:27.148] - Field: 'owner' [18:03:27.148] - Field: 'envir' [18:03:27.148] - Field: 'workers' [18:03:27.148] - Field: 'packages' [18:03:27.149] - Field: 'gc' [18:03:27.149] - Field: 'conditions' [18:03:27.149] - Field: 'persistent' [18:03:27.149] - Field: 'expr' [18:03:27.149] - Field: 'uuid' [18:03:27.149] - Field: 'seed' [18:03:27.150] - Field: 'version' [18:03:27.150] - Field: 'result' [18:03:27.150] - Field: 'asynchronous' [18:03:27.150] - Field: 'calls' [18:03:27.150] - Field: 'globals' [18:03:27.151] - Field: 'stdout' [18:03:27.151] - Field: 'earlySignal' [18:03:27.151] - Field: 'lazy' [18:03:27.151] - Field: 'state' [18:03:27.151] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:27.151] - Launch lazy future ... [18:03:27.152] Packages needed by the future expression (n = 1): 'utils' [18:03:27.152] Packages needed by future strategies (n = 0): [18:03:27.153] { [18:03:27.153] { [18:03:27.153] { [18:03:27.153] ...future.startTime <- base::Sys.time() [18:03:27.153] { [18:03:27.153] { [18:03:27.153] { [18:03:27.153] { [18:03:27.153] { [18:03:27.153] base::local({ [18:03:27.153] has_future <- base::requireNamespace("future", [18:03:27.153] quietly = TRUE) [18:03:27.153] if (has_future) { [18:03:27.153] ns <- base::getNamespace("future") [18:03:27.153] version <- ns[[".package"]][["version"]] [18:03:27.153] if (is.null(version)) [18:03:27.153] version <- utils::packageVersion("future") [18:03:27.153] } [18:03:27.153] else { [18:03:27.153] version <- NULL [18:03:27.153] } [18:03:27.153] if (!has_future || version < "1.8.0") { [18:03:27.153] info <- base::c(r_version = base::gsub("R version ", [18:03:27.153] "", base::R.version$version.string), [18:03:27.153] platform = base::sprintf("%s (%s-bit)", [18:03:27.153] base::R.version$platform, 8 * [18:03:27.153] base::.Machine$sizeof.pointer), [18:03:27.153] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:27.153] "release", "version")], collapse = " "), [18:03:27.153] hostname = base::Sys.info()[["nodename"]]) [18:03:27.153] info <- base::sprintf("%s: %s", base::names(info), [18:03:27.153] info) [18:03:27.153] info <- base::paste(info, collapse = "; ") [18:03:27.153] if (!has_future) { [18:03:27.153] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:27.153] info) [18:03:27.153] } [18:03:27.153] else { [18:03:27.153] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:27.153] info, version) [18:03:27.153] } [18:03:27.153] base::stop(msg) [18:03:27.153] } [18:03:27.153] }) [18:03:27.153] } [18:03:27.153] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:27.153] base::options(mc.cores = 1L) [18:03:27.153] } [18:03:27.153] base::local({ [18:03:27.153] for (pkg in "utils") { [18:03:27.153] base::loadNamespace(pkg) [18:03:27.153] base::library(pkg, character.only = TRUE) [18:03:27.153] } [18:03:27.153] }) [18:03:27.153] } [18:03:27.153] options(future.plan = NULL) [18:03:27.153] Sys.unsetenv("R_FUTURE_PLAN") [18:03:27.153] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:27.153] } [18:03:27.153] ...future.workdir <- getwd() [18:03:27.153] } [18:03:27.153] ...future.oldOptions <- base::as.list(base::.Options) [18:03:27.153] ...future.oldEnvVars <- base::Sys.getenv() [18:03:27.153] } [18:03:27.153] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:27.153] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:27.153] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:27.153] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:27.153] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:27.153] future.stdout.windows.reencode = NULL, width = 80L) [18:03:27.153] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:27.153] base::names(...future.oldOptions)) [18:03:27.153] } [18:03:27.153] if (TRUE) { [18:03:27.153] } [18:03:27.153] else { [18:03:27.153] if (NA) { [18:03:27.153] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:27.153] open = "w") [18:03:27.153] } [18:03:27.153] else { [18:03:27.153] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:27.153] windows = "NUL", "/dev/null"), open = "w") [18:03:27.153] } [18:03:27.153] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:27.153] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:27.153] base::sink(type = "output", split = FALSE) [18:03:27.153] base::close(...future.stdout) [18:03:27.153] }, add = TRUE) [18:03:27.153] } [18:03:27.153] ...future.frame <- base::sys.nframe() [18:03:27.153] ...future.conditions <- base::list() [18:03:27.153] ...future.rng <- base::globalenv()$.Random.seed [18:03:27.153] if (FALSE) { [18:03:27.153] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:27.153] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:27.153] } [18:03:27.153] ...future.result <- base::tryCatch({ [18:03:27.153] base::withCallingHandlers({ [18:03:27.153] ...future.value <- base::withVisible(base::local({ [18:03:27.153] ...future.makeSendCondition <- local({ [18:03:27.153] sendCondition <- NULL [18:03:27.153] function(frame = 1L) { [18:03:27.153] if (is.function(sendCondition)) [18:03:27.153] return(sendCondition) [18:03:27.153] ns <- getNamespace("parallel") [18:03:27.153] if (exists("sendData", mode = "function", [18:03:27.153] envir = ns)) { [18:03:27.153] parallel_sendData <- get("sendData", mode = "function", [18:03:27.153] envir = ns) [18:03:27.153] envir <- sys.frame(frame) [18:03:27.153] master <- NULL [18:03:27.153] while (!identical(envir, .GlobalEnv) && [18:03:27.153] !identical(envir, emptyenv())) { [18:03:27.153] if (exists("master", mode = "list", envir = envir, [18:03:27.153] inherits = FALSE)) { [18:03:27.153] master <- get("master", mode = "list", [18:03:27.153] envir = envir, inherits = FALSE) [18:03:27.153] if (inherits(master, c("SOCKnode", [18:03:27.153] "SOCK0node"))) { [18:03:27.153] sendCondition <<- function(cond) { [18:03:27.153] data <- list(type = "VALUE", value = cond, [18:03:27.153] success = TRUE) [18:03:27.153] parallel_sendData(master, data) [18:03:27.153] } [18:03:27.153] return(sendCondition) [18:03:27.153] } [18:03:27.153] } [18:03:27.153] frame <- frame + 1L [18:03:27.153] envir <- sys.frame(frame) [18:03:27.153] } [18:03:27.153] } [18:03:27.153] sendCondition <<- function(cond) NULL [18:03:27.153] } [18:03:27.153] }) [18:03:27.153] withCallingHandlers({ [18:03:27.153] { [18:03:27.153] print(1:50) [18:03:27.153] str(1:50) [18:03:27.153] cat(letters, sep = "-") [18:03:27.153] cat(1:6, collapse = "\n") [18:03:27.153] write.table(datasets::iris[1:10, ], sep = "\t") [18:03:27.153] 42L [18:03:27.153] } [18:03:27.153] }, immediateCondition = function(cond) { [18:03:27.153] sendCondition <- ...future.makeSendCondition() [18:03:27.153] sendCondition(cond) [18:03:27.153] muffleCondition <- function (cond, pattern = "^muffle") [18:03:27.153] { [18:03:27.153] inherits <- base::inherits [18:03:27.153] invokeRestart <- base::invokeRestart [18:03:27.153] is.null <- base::is.null [18:03:27.153] muffled <- FALSE [18:03:27.153] if (inherits(cond, "message")) { [18:03:27.153] muffled <- grepl(pattern, "muffleMessage") [18:03:27.153] if (muffled) [18:03:27.153] invokeRestart("muffleMessage") [18:03:27.153] } [18:03:27.153] else if (inherits(cond, "warning")) { [18:03:27.153] muffled <- grepl(pattern, "muffleWarning") [18:03:27.153] if (muffled) [18:03:27.153] invokeRestart("muffleWarning") [18:03:27.153] } [18:03:27.153] else if (inherits(cond, "condition")) { [18:03:27.153] if (!is.null(pattern)) { [18:03:27.153] computeRestarts <- base::computeRestarts [18:03:27.153] grepl <- base::grepl [18:03:27.153] restarts <- computeRestarts(cond) [18:03:27.153] for (restart in restarts) { [18:03:27.153] name <- restart$name [18:03:27.153] if (is.null(name)) [18:03:27.153] next [18:03:27.153] if (!grepl(pattern, name)) [18:03:27.153] next [18:03:27.153] invokeRestart(restart) [18:03:27.153] muffled <- TRUE [18:03:27.153] break [18:03:27.153] } [18:03:27.153] } [18:03:27.153] } [18:03:27.153] invisible(muffled) [18:03:27.153] } [18:03:27.153] muffleCondition(cond) [18:03:27.153] }) [18:03:27.153] })) [18:03:27.153] future::FutureResult(value = ...future.value$value, [18:03:27.153] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:27.153] ...future.rng), globalenv = if (FALSE) [18:03:27.153] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:27.153] ...future.globalenv.names)) [18:03:27.153] else NULL, started = ...future.startTime, version = "1.8") [18:03:27.153] }, condition = base::local({ [18:03:27.153] c <- base::c [18:03:27.153] inherits <- base::inherits [18:03:27.153] invokeRestart <- base::invokeRestart [18:03:27.153] length <- base::length [18:03:27.153] list <- base::list [18:03:27.153] seq.int <- base::seq.int [18:03:27.153] signalCondition <- base::signalCondition [18:03:27.153] sys.calls <- base::sys.calls [18:03:27.153] `[[` <- base::`[[` [18:03:27.153] `+` <- base::`+` [18:03:27.153] `<<-` <- base::`<<-` [18:03:27.153] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:27.153] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:27.153] 3L)] [18:03:27.153] } [18:03:27.153] function(cond) { [18:03:27.153] is_error <- inherits(cond, "error") [18:03:27.153] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:27.153] NULL) [18:03:27.153] if (is_error) { [18:03:27.153] sessionInformation <- function() { [18:03:27.153] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:27.153] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:27.153] search = base::search(), system = base::Sys.info()) [18:03:27.153] } [18:03:27.153] ...future.conditions[[length(...future.conditions) + [18:03:27.153] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:27.153] cond$call), session = sessionInformation(), [18:03:27.153] timestamp = base::Sys.time(), signaled = 0L) [18:03:27.153] signalCondition(cond) [18:03:27.153] } [18:03:27.153] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:27.153] "immediateCondition"))) { [18:03:27.153] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:27.153] ...future.conditions[[length(...future.conditions) + [18:03:27.153] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:27.153] if (TRUE && !signal) { [18:03:27.153] muffleCondition <- function (cond, pattern = "^muffle") [18:03:27.153] { [18:03:27.153] inherits <- base::inherits [18:03:27.153] invokeRestart <- base::invokeRestart [18:03:27.153] is.null <- base::is.null [18:03:27.153] muffled <- FALSE [18:03:27.153] if (inherits(cond, "message")) { [18:03:27.153] muffled <- grepl(pattern, "muffleMessage") [18:03:27.153] if (muffled) [18:03:27.153] invokeRestart("muffleMessage") [18:03:27.153] } [18:03:27.153] else if (inherits(cond, "warning")) { [18:03:27.153] muffled <- grepl(pattern, "muffleWarning") [18:03:27.153] if (muffled) [18:03:27.153] invokeRestart("muffleWarning") [18:03:27.153] } [18:03:27.153] else if (inherits(cond, "condition")) { [18:03:27.153] if (!is.null(pattern)) { [18:03:27.153] computeRestarts <- base::computeRestarts [18:03:27.153] grepl <- base::grepl [18:03:27.153] restarts <- computeRestarts(cond) [18:03:27.153] for (restart in restarts) { [18:03:27.153] name <- restart$name [18:03:27.153] if (is.null(name)) [18:03:27.153] next [18:03:27.153] if (!grepl(pattern, name)) [18:03:27.153] next [18:03:27.153] invokeRestart(restart) [18:03:27.153] muffled <- TRUE [18:03:27.153] break [18:03:27.153] } [18:03:27.153] } [18:03:27.153] } [18:03:27.153] invisible(muffled) [18:03:27.153] } [18:03:27.153] muffleCondition(cond, pattern = "^muffle") [18:03:27.153] } [18:03:27.153] } [18:03:27.153] else { [18:03:27.153] if (TRUE) { [18:03:27.153] muffleCondition <- function (cond, pattern = "^muffle") [18:03:27.153] { [18:03:27.153] inherits <- base::inherits [18:03:27.153] invokeRestart <- base::invokeRestart [18:03:27.153] is.null <- base::is.null [18:03:27.153] muffled <- FALSE [18:03:27.153] if (inherits(cond, "message")) { [18:03:27.153] muffled <- grepl(pattern, "muffleMessage") [18:03:27.153] if (muffled) [18:03:27.153] invokeRestart("muffleMessage") [18:03:27.153] } [18:03:27.153] else if (inherits(cond, "warning")) { [18:03:27.153] muffled <- grepl(pattern, "muffleWarning") [18:03:27.153] if (muffled) [18:03:27.153] invokeRestart("muffleWarning") [18:03:27.153] } [18:03:27.153] else if (inherits(cond, "condition")) { [18:03:27.153] if (!is.null(pattern)) { [18:03:27.153] computeRestarts <- base::computeRestarts [18:03:27.153] grepl <- base::grepl [18:03:27.153] restarts <- computeRestarts(cond) [18:03:27.153] for (restart in restarts) { [18:03:27.153] name <- restart$name [18:03:27.153] if (is.null(name)) [18:03:27.153] next [18:03:27.153] if (!grepl(pattern, name)) [18:03:27.153] next [18:03:27.153] invokeRestart(restart) [18:03:27.153] muffled <- TRUE [18:03:27.153] break [18:03:27.153] } [18:03:27.153] } [18:03:27.153] } [18:03:27.153] invisible(muffled) [18:03:27.153] } [18:03:27.153] muffleCondition(cond, pattern = "^muffle") [18:03:27.153] } [18:03:27.153] } [18:03:27.153] } [18:03:27.153] })) [18:03:27.153] }, error = function(ex) { [18:03:27.153] base::structure(base::list(value = NULL, visible = NULL, [18:03:27.153] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:27.153] ...future.rng), started = ...future.startTime, [18:03:27.153] finished = Sys.time(), session_uuid = NA_character_, [18:03:27.153] version = "1.8"), class = "FutureResult") [18:03:27.153] }, finally = { [18:03:27.153] if (!identical(...future.workdir, getwd())) [18:03:27.153] setwd(...future.workdir) [18:03:27.153] { [18:03:27.153] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:27.153] ...future.oldOptions$nwarnings <- NULL [18:03:27.153] } [18:03:27.153] base::options(...future.oldOptions) [18:03:27.153] if (.Platform$OS.type == "windows") { [18:03:27.153] old_names <- names(...future.oldEnvVars) [18:03:27.153] envs <- base::Sys.getenv() [18:03:27.153] names <- names(envs) [18:03:27.153] common <- intersect(names, old_names) [18:03:27.153] added <- setdiff(names, old_names) [18:03:27.153] removed <- setdiff(old_names, names) [18:03:27.153] changed <- common[...future.oldEnvVars[common] != [18:03:27.153] envs[common]] [18:03:27.153] NAMES <- toupper(changed) [18:03:27.153] args <- list() [18:03:27.153] for (kk in seq_along(NAMES)) { [18:03:27.153] name <- changed[[kk]] [18:03:27.153] NAME <- NAMES[[kk]] [18:03:27.153] if (name != NAME && is.element(NAME, old_names)) [18:03:27.153] next [18:03:27.153] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:27.153] } [18:03:27.153] NAMES <- toupper(added) [18:03:27.153] for (kk in seq_along(NAMES)) { [18:03:27.153] name <- added[[kk]] [18:03:27.153] NAME <- NAMES[[kk]] [18:03:27.153] if (name != NAME && is.element(NAME, old_names)) [18:03:27.153] next [18:03:27.153] args[[name]] <- "" [18:03:27.153] } [18:03:27.153] NAMES <- toupper(removed) [18:03:27.153] for (kk in seq_along(NAMES)) { [18:03:27.153] name <- removed[[kk]] [18:03:27.153] NAME <- NAMES[[kk]] [18:03:27.153] if (name != NAME && is.element(NAME, old_names)) [18:03:27.153] next [18:03:27.153] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:27.153] } [18:03:27.153] if (length(args) > 0) [18:03:27.153] base::do.call(base::Sys.setenv, args = args) [18:03:27.153] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:27.153] } [18:03:27.153] else { [18:03:27.153] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:27.153] } [18:03:27.153] { [18:03:27.153] if (base::length(...future.futureOptionsAdded) > [18:03:27.153] 0L) { [18:03:27.153] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:27.153] base::names(opts) <- ...future.futureOptionsAdded [18:03:27.153] base::options(opts) [18:03:27.153] } [18:03:27.153] { [18:03:27.153] { [18:03:27.153] base::options(mc.cores = ...future.mc.cores.old) [18:03:27.153] NULL [18:03:27.153] } [18:03:27.153] options(future.plan = NULL) [18:03:27.153] if (is.na(NA_character_)) [18:03:27.153] Sys.unsetenv("R_FUTURE_PLAN") [18:03:27.153] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:27.153] future::plan(list(function (..., workers = availableCores(), [18:03:27.153] lazy = FALSE, rscript_libs = .libPaths(), [18:03:27.153] envir = parent.frame()) [18:03:27.153] { [18:03:27.153] if (is.function(workers)) [18:03:27.153] workers <- workers() [18:03:27.153] workers <- structure(as.integer(workers), [18:03:27.153] class = class(workers)) [18:03:27.153] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:27.153] workers >= 1) [18:03:27.153] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:27.153] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:27.153] } [18:03:27.153] future <- MultisessionFuture(..., workers = workers, [18:03:27.153] lazy = lazy, rscript_libs = rscript_libs, [18:03:27.153] envir = envir) [18:03:27.153] if (!future$lazy) [18:03:27.153] future <- run(future) [18:03:27.153] invisible(future) [18:03:27.153] }), .cleanup = FALSE, .init = FALSE) [18:03:27.153] } [18:03:27.153] } [18:03:27.153] } [18:03:27.153] }) [18:03:27.153] if (FALSE) { [18:03:27.153] base::sink(type = "output", split = FALSE) [18:03:27.153] if (NA) { [18:03:27.153] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:27.153] } [18:03:27.153] else { [18:03:27.153] ...future.result["stdout"] <- base::list(NULL) [18:03:27.153] } [18:03:27.153] base::close(...future.stdout) [18:03:27.153] ...future.stdout <- NULL [18:03:27.153] } [18:03:27.153] ...future.result$conditions <- ...future.conditions [18:03:27.153] ...future.result$finished <- base::Sys.time() [18:03:27.153] ...future.result [18:03:27.153] } [18:03:27.159] MultisessionFuture started [18:03:27.159] - Launch lazy future ... done [18:03:27.159] run() for 'MultisessionFuture' ... done [18:03:27.159] result() for ClusterFuture ... [18:03:27.160] receiveMessageFromWorker() for ClusterFuture ... [18:03:27.160] - Validating connection of MultisessionFuture [18:03:27.176] - received message: FutureResult [18:03:27.177] - Received FutureResult [18:03:27.177] - Erased future from FutureRegistry [18:03:27.177] result() for ClusterFuture ... [18:03:27.177] - result already collected: FutureResult [18:03:27.177] result() for ClusterFuture ... done [18:03:27.177] receiveMessageFromWorker() for ClusterFuture ... done [18:03:27.178] result() for ClusterFuture ... done [18:03:27.178] result() for ClusterFuture ... [18:03:27.178] - result already collected: FutureResult [18:03:27.178] result() for ClusterFuture ... done - stdout = structure(TRUE, drop = TRUE) [18:03:27.179] getGlobalsAndPackages() ... [18:03:27.179] Searching for globals... [18:03:27.179] - globals found: [1] 'print' [18:03:27.180] Searching for globals ... DONE [18:03:27.180] Resolving globals: FALSE [18:03:27.180] [18:03:27.180] [18:03:27.180] getGlobalsAndPackages() ... DONE [18:03:27.181] run() for 'Future' ... [18:03:27.181] - state: 'created' [18:03:27.181] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:27.195] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:27.195] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:27.195] - Field: 'node' [18:03:27.195] - Field: 'label' [18:03:27.196] - Field: 'local' [18:03:27.196] - Field: 'owner' [18:03:27.196] - Field: 'envir' [18:03:27.196] - Field: 'workers' [18:03:27.196] - Field: 'packages' [18:03:27.197] - Field: 'gc' [18:03:27.197] - Field: 'conditions' [18:03:27.197] - Field: 'persistent' [18:03:27.197] - Field: 'expr' [18:03:27.197] - Field: 'uuid' [18:03:27.198] - Field: 'seed' [18:03:27.198] - Field: 'version' [18:03:27.198] - Field: 'result' [18:03:27.198] - Field: 'asynchronous' [18:03:27.198] - Field: 'calls' [18:03:27.198] - Field: 'globals' [18:03:27.199] - Field: 'stdout' [18:03:27.199] - Field: 'earlySignal' [18:03:27.199] - Field: 'lazy' [18:03:27.199] - Field: 'state' [18:03:27.199] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:27.200] - Launch lazy future ... [18:03:27.200] Packages needed by the future expression (n = 0): [18:03:27.200] Packages needed by future strategies (n = 0): [18:03:27.201] { [18:03:27.201] { [18:03:27.201] { [18:03:27.201] ...future.startTime <- base::Sys.time() [18:03:27.201] { [18:03:27.201] { [18:03:27.201] { [18:03:27.201] { [18:03:27.201] base::local({ [18:03:27.201] has_future <- base::requireNamespace("future", [18:03:27.201] quietly = TRUE) [18:03:27.201] if (has_future) { [18:03:27.201] ns <- base::getNamespace("future") [18:03:27.201] version <- ns[[".package"]][["version"]] [18:03:27.201] if (is.null(version)) [18:03:27.201] version <- utils::packageVersion("future") [18:03:27.201] } [18:03:27.201] else { [18:03:27.201] version <- NULL [18:03:27.201] } [18:03:27.201] if (!has_future || version < "1.8.0") { [18:03:27.201] info <- base::c(r_version = base::gsub("R version ", [18:03:27.201] "", base::R.version$version.string), [18:03:27.201] platform = base::sprintf("%s (%s-bit)", [18:03:27.201] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:27.201] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:27.201] "release", "version")], collapse = " "), [18:03:27.201] hostname = base::Sys.info()[["nodename"]]) [18:03:27.201] info <- base::sprintf("%s: %s", base::names(info), [18:03:27.201] info) [18:03:27.201] info <- base::paste(info, collapse = "; ") [18:03:27.201] if (!has_future) { [18:03:27.201] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:27.201] info) [18:03:27.201] } [18:03:27.201] else { [18:03:27.201] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:27.201] info, version) [18:03:27.201] } [18:03:27.201] base::stop(msg) [18:03:27.201] } [18:03:27.201] }) [18:03:27.201] } [18:03:27.201] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:27.201] base::options(mc.cores = 1L) [18:03:27.201] } [18:03:27.201] options(future.plan = NULL) [18:03:27.201] Sys.unsetenv("R_FUTURE_PLAN") [18:03:27.201] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:27.201] } [18:03:27.201] ...future.workdir <- getwd() [18:03:27.201] } [18:03:27.201] ...future.oldOptions <- base::as.list(base::.Options) [18:03:27.201] ...future.oldEnvVars <- base::Sys.getenv() [18:03:27.201] } [18:03:27.201] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:27.201] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:27.201] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:27.201] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:27.201] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:27.201] future.stdout.windows.reencode = NULL, width = 80L) [18:03:27.201] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:27.201] base::names(...future.oldOptions)) [18:03:27.201] } [18:03:27.201] if (FALSE) { [18:03:27.201] } [18:03:27.201] else { [18:03:27.201] if (TRUE) { [18:03:27.201] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:27.201] open = "w") [18:03:27.201] } [18:03:27.201] else { [18:03:27.201] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:27.201] windows = "NUL", "/dev/null"), open = "w") [18:03:27.201] } [18:03:27.201] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:27.201] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:27.201] base::sink(type = "output", split = FALSE) [18:03:27.201] base::close(...future.stdout) [18:03:27.201] }, add = TRUE) [18:03:27.201] } [18:03:27.201] ...future.frame <- base::sys.nframe() [18:03:27.201] ...future.conditions <- base::list() [18:03:27.201] ...future.rng <- base::globalenv()$.Random.seed [18:03:27.201] if (FALSE) { [18:03:27.201] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:27.201] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:27.201] } [18:03:27.201] ...future.result <- base::tryCatch({ [18:03:27.201] base::withCallingHandlers({ [18:03:27.201] ...future.value <- base::withVisible(base::local({ [18:03:27.201] ...future.makeSendCondition <- local({ [18:03:27.201] sendCondition <- NULL [18:03:27.201] function(frame = 1L) { [18:03:27.201] if (is.function(sendCondition)) [18:03:27.201] return(sendCondition) [18:03:27.201] ns <- getNamespace("parallel") [18:03:27.201] if (exists("sendData", mode = "function", [18:03:27.201] envir = ns)) { [18:03:27.201] parallel_sendData <- get("sendData", mode = "function", [18:03:27.201] envir = ns) [18:03:27.201] envir <- sys.frame(frame) [18:03:27.201] master <- NULL [18:03:27.201] while (!identical(envir, .GlobalEnv) && [18:03:27.201] !identical(envir, emptyenv())) { [18:03:27.201] if (exists("master", mode = "list", envir = envir, [18:03:27.201] inherits = FALSE)) { [18:03:27.201] master <- get("master", mode = "list", [18:03:27.201] envir = envir, inherits = FALSE) [18:03:27.201] if (inherits(master, c("SOCKnode", [18:03:27.201] "SOCK0node"))) { [18:03:27.201] sendCondition <<- function(cond) { [18:03:27.201] data <- list(type = "VALUE", value = cond, [18:03:27.201] success = TRUE) [18:03:27.201] parallel_sendData(master, data) [18:03:27.201] } [18:03:27.201] return(sendCondition) [18:03:27.201] } [18:03:27.201] } [18:03:27.201] frame <- frame + 1L [18:03:27.201] envir <- sys.frame(frame) [18:03:27.201] } [18:03:27.201] } [18:03:27.201] sendCondition <<- function(cond) NULL [18:03:27.201] } [18:03:27.201] }) [18:03:27.201] withCallingHandlers({ [18:03:27.201] print(42) [18:03:27.201] }, immediateCondition = function(cond) { [18:03:27.201] sendCondition <- ...future.makeSendCondition() [18:03:27.201] sendCondition(cond) [18:03:27.201] muffleCondition <- function (cond, pattern = "^muffle") [18:03:27.201] { [18:03:27.201] inherits <- base::inherits [18:03:27.201] invokeRestart <- base::invokeRestart [18:03:27.201] is.null <- base::is.null [18:03:27.201] muffled <- FALSE [18:03:27.201] if (inherits(cond, "message")) { [18:03:27.201] muffled <- grepl(pattern, "muffleMessage") [18:03:27.201] if (muffled) [18:03:27.201] invokeRestart("muffleMessage") [18:03:27.201] } [18:03:27.201] else if (inherits(cond, "warning")) { [18:03:27.201] muffled <- grepl(pattern, "muffleWarning") [18:03:27.201] if (muffled) [18:03:27.201] invokeRestart("muffleWarning") [18:03:27.201] } [18:03:27.201] else if (inherits(cond, "condition")) { [18:03:27.201] if (!is.null(pattern)) { [18:03:27.201] computeRestarts <- base::computeRestarts [18:03:27.201] grepl <- base::grepl [18:03:27.201] restarts <- computeRestarts(cond) [18:03:27.201] for (restart in restarts) { [18:03:27.201] name <- restart$name [18:03:27.201] if (is.null(name)) [18:03:27.201] next [18:03:27.201] if (!grepl(pattern, name)) [18:03:27.201] next [18:03:27.201] invokeRestart(restart) [18:03:27.201] muffled <- TRUE [18:03:27.201] break [18:03:27.201] } [18:03:27.201] } [18:03:27.201] } [18:03:27.201] invisible(muffled) [18:03:27.201] } [18:03:27.201] muffleCondition(cond) [18:03:27.201] }) [18:03:27.201] })) [18:03:27.201] future::FutureResult(value = ...future.value$value, [18:03:27.201] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:27.201] ...future.rng), globalenv = if (FALSE) [18:03:27.201] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:27.201] ...future.globalenv.names)) [18:03:27.201] else NULL, started = ...future.startTime, version = "1.8") [18:03:27.201] }, condition = base::local({ [18:03:27.201] c <- base::c [18:03:27.201] inherits <- base::inherits [18:03:27.201] invokeRestart <- base::invokeRestart [18:03:27.201] length <- base::length [18:03:27.201] list <- base::list [18:03:27.201] seq.int <- base::seq.int [18:03:27.201] signalCondition <- base::signalCondition [18:03:27.201] sys.calls <- base::sys.calls [18:03:27.201] `[[` <- base::`[[` [18:03:27.201] `+` <- base::`+` [18:03:27.201] `<<-` <- base::`<<-` [18:03:27.201] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:27.201] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:27.201] 3L)] [18:03:27.201] } [18:03:27.201] function(cond) { [18:03:27.201] is_error <- inherits(cond, "error") [18:03:27.201] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:27.201] NULL) [18:03:27.201] if (is_error) { [18:03:27.201] sessionInformation <- function() { [18:03:27.201] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:27.201] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:27.201] search = base::search(), system = base::Sys.info()) [18:03:27.201] } [18:03:27.201] ...future.conditions[[length(...future.conditions) + [18:03:27.201] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:27.201] cond$call), session = sessionInformation(), [18:03:27.201] timestamp = base::Sys.time(), signaled = 0L) [18:03:27.201] signalCondition(cond) [18:03:27.201] } [18:03:27.201] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:27.201] "immediateCondition"))) { [18:03:27.201] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:27.201] ...future.conditions[[length(...future.conditions) + [18:03:27.201] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:27.201] if (TRUE && !signal) { [18:03:27.201] muffleCondition <- function (cond, pattern = "^muffle") [18:03:27.201] { [18:03:27.201] inherits <- base::inherits [18:03:27.201] invokeRestart <- base::invokeRestart [18:03:27.201] is.null <- base::is.null [18:03:27.201] muffled <- FALSE [18:03:27.201] if (inherits(cond, "message")) { [18:03:27.201] muffled <- grepl(pattern, "muffleMessage") [18:03:27.201] if (muffled) [18:03:27.201] invokeRestart("muffleMessage") [18:03:27.201] } [18:03:27.201] else if (inherits(cond, "warning")) { [18:03:27.201] muffled <- grepl(pattern, "muffleWarning") [18:03:27.201] if (muffled) [18:03:27.201] invokeRestart("muffleWarning") [18:03:27.201] } [18:03:27.201] else if (inherits(cond, "condition")) { [18:03:27.201] if (!is.null(pattern)) { [18:03:27.201] computeRestarts <- base::computeRestarts [18:03:27.201] grepl <- base::grepl [18:03:27.201] restarts <- computeRestarts(cond) [18:03:27.201] for (restart in restarts) { [18:03:27.201] name <- restart$name [18:03:27.201] if (is.null(name)) [18:03:27.201] next [18:03:27.201] if (!grepl(pattern, name)) [18:03:27.201] next [18:03:27.201] invokeRestart(restart) [18:03:27.201] muffled <- TRUE [18:03:27.201] break [18:03:27.201] } [18:03:27.201] } [18:03:27.201] } [18:03:27.201] invisible(muffled) [18:03:27.201] } [18:03:27.201] muffleCondition(cond, pattern = "^muffle") [18:03:27.201] } [18:03:27.201] } [18:03:27.201] else { [18:03:27.201] if (TRUE) { [18:03:27.201] muffleCondition <- function (cond, pattern = "^muffle") [18:03:27.201] { [18:03:27.201] inherits <- base::inherits [18:03:27.201] invokeRestart <- base::invokeRestart [18:03:27.201] is.null <- base::is.null [18:03:27.201] muffled <- FALSE [18:03:27.201] if (inherits(cond, "message")) { [18:03:27.201] muffled <- grepl(pattern, "muffleMessage") [18:03:27.201] if (muffled) [18:03:27.201] invokeRestart("muffleMessage") [18:03:27.201] } [18:03:27.201] else if (inherits(cond, "warning")) { [18:03:27.201] muffled <- grepl(pattern, "muffleWarning") [18:03:27.201] if (muffled) [18:03:27.201] invokeRestart("muffleWarning") [18:03:27.201] } [18:03:27.201] else if (inherits(cond, "condition")) { [18:03:27.201] if (!is.null(pattern)) { [18:03:27.201] computeRestarts <- base::computeRestarts [18:03:27.201] grepl <- base::grepl [18:03:27.201] restarts <- computeRestarts(cond) [18:03:27.201] for (restart in restarts) { [18:03:27.201] name <- restart$name [18:03:27.201] if (is.null(name)) [18:03:27.201] next [18:03:27.201] if (!grepl(pattern, name)) [18:03:27.201] next [18:03:27.201] invokeRestart(restart) [18:03:27.201] muffled <- TRUE [18:03:27.201] break [18:03:27.201] } [18:03:27.201] } [18:03:27.201] } [18:03:27.201] invisible(muffled) [18:03:27.201] } [18:03:27.201] muffleCondition(cond, pattern = "^muffle") [18:03:27.201] } [18:03:27.201] } [18:03:27.201] } [18:03:27.201] })) [18:03:27.201] }, error = function(ex) { [18:03:27.201] base::structure(base::list(value = NULL, visible = NULL, [18:03:27.201] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:27.201] ...future.rng), started = ...future.startTime, [18:03:27.201] finished = Sys.time(), session_uuid = NA_character_, [18:03:27.201] version = "1.8"), class = "FutureResult") [18:03:27.201] }, finally = { [18:03:27.201] if (!identical(...future.workdir, getwd())) [18:03:27.201] setwd(...future.workdir) [18:03:27.201] { [18:03:27.201] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:27.201] ...future.oldOptions$nwarnings <- NULL [18:03:27.201] } [18:03:27.201] base::options(...future.oldOptions) [18:03:27.201] if (.Platform$OS.type == "windows") { [18:03:27.201] old_names <- names(...future.oldEnvVars) [18:03:27.201] envs <- base::Sys.getenv() [18:03:27.201] names <- names(envs) [18:03:27.201] common <- intersect(names, old_names) [18:03:27.201] added <- setdiff(names, old_names) [18:03:27.201] removed <- setdiff(old_names, names) [18:03:27.201] changed <- common[...future.oldEnvVars[common] != [18:03:27.201] envs[common]] [18:03:27.201] NAMES <- toupper(changed) [18:03:27.201] args <- list() [18:03:27.201] for (kk in seq_along(NAMES)) { [18:03:27.201] name <- changed[[kk]] [18:03:27.201] NAME <- NAMES[[kk]] [18:03:27.201] if (name != NAME && is.element(NAME, old_names)) [18:03:27.201] next [18:03:27.201] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:27.201] } [18:03:27.201] NAMES <- toupper(added) [18:03:27.201] for (kk in seq_along(NAMES)) { [18:03:27.201] name <- added[[kk]] [18:03:27.201] NAME <- NAMES[[kk]] [18:03:27.201] if (name != NAME && is.element(NAME, old_names)) [18:03:27.201] next [18:03:27.201] args[[name]] <- "" [18:03:27.201] } [18:03:27.201] NAMES <- toupper(removed) [18:03:27.201] for (kk in seq_along(NAMES)) { [18:03:27.201] name <- removed[[kk]] [18:03:27.201] NAME <- NAMES[[kk]] [18:03:27.201] if (name != NAME && is.element(NAME, old_names)) [18:03:27.201] next [18:03:27.201] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:27.201] } [18:03:27.201] if (length(args) > 0) [18:03:27.201] base::do.call(base::Sys.setenv, args = args) [18:03:27.201] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:27.201] } [18:03:27.201] else { [18:03:27.201] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:27.201] } [18:03:27.201] { [18:03:27.201] if (base::length(...future.futureOptionsAdded) > [18:03:27.201] 0L) { [18:03:27.201] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:27.201] base::names(opts) <- ...future.futureOptionsAdded [18:03:27.201] base::options(opts) [18:03:27.201] } [18:03:27.201] { [18:03:27.201] { [18:03:27.201] base::options(mc.cores = ...future.mc.cores.old) [18:03:27.201] NULL [18:03:27.201] } [18:03:27.201] options(future.plan = NULL) [18:03:27.201] if (is.na(NA_character_)) [18:03:27.201] Sys.unsetenv("R_FUTURE_PLAN") [18:03:27.201] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:27.201] future::plan(list(function (..., workers = availableCores(), [18:03:27.201] lazy = FALSE, rscript_libs = .libPaths(), [18:03:27.201] envir = parent.frame()) [18:03:27.201] { [18:03:27.201] if (is.function(workers)) [18:03:27.201] workers <- workers() [18:03:27.201] workers <- structure(as.integer(workers), [18:03:27.201] class = class(workers)) [18:03:27.201] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:27.201] workers >= 1) [18:03:27.201] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:27.201] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:27.201] } [18:03:27.201] future <- MultisessionFuture(..., workers = workers, [18:03:27.201] lazy = lazy, rscript_libs = rscript_libs, [18:03:27.201] envir = envir) [18:03:27.201] if (!future$lazy) [18:03:27.201] future <- run(future) [18:03:27.201] invisible(future) [18:03:27.201] }), .cleanup = FALSE, .init = FALSE) [18:03:27.201] } [18:03:27.201] } [18:03:27.201] } [18:03:27.201] }) [18:03:27.201] if (TRUE) { [18:03:27.201] base::sink(type = "output", split = FALSE) [18:03:27.201] if (TRUE) { [18:03:27.201] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:27.201] } [18:03:27.201] else { [18:03:27.201] ...future.result["stdout"] <- base::list(NULL) [18:03:27.201] } [18:03:27.201] base::close(...future.stdout) [18:03:27.201] ...future.stdout <- NULL [18:03:27.201] } [18:03:27.201] ...future.result$conditions <- ...future.conditions [18:03:27.201] ...future.result$finished <- base::Sys.time() [18:03:27.201] ...future.result [18:03:27.201] } [18:03:27.206] MultisessionFuture started [18:03:27.207] - Launch lazy future ... done [18:03:27.207] run() for 'MultisessionFuture' ... done [18:03:27.207] result() for ClusterFuture ... [18:03:27.207] receiveMessageFromWorker() for ClusterFuture ... [18:03:27.207] - Validating connection of MultisessionFuture [18:03:27.224] - received message: FutureResult [18:03:27.225] - Received FutureResult [18:03:27.225] - Erased future from FutureRegistry [18:03:27.225] result() for ClusterFuture ... [18:03:27.225] - result already collected: FutureResult [18:03:27.225] result() for ClusterFuture ... done [18:03:27.225] receiveMessageFromWorker() for ClusterFuture ... done [18:03:27.226] result() for ClusterFuture ... done [18:03:27.226] result() for ClusterFuture ... [18:03:27.226] - result already collected: FutureResult [18:03:27.226] result() for ClusterFuture ... done [18:03:27.226] result() for ClusterFuture ... [18:03:27.226] - result already collected: FutureResult [18:03:27.227] result() for ClusterFuture ... done [1] 42 [18:03:27.227] result() for ClusterFuture ... [18:03:27.227] - result already collected: FutureResult [18:03:27.227] result() for ClusterFuture ... done multisession ... done Testing with 2 cores ... done > > message("*** Standard output ... DONE") *** Standard output ... DONE > > source("incl/end.R") [18:03:27.228] plan(): Setting new future strategy stack: [18:03:27.228] List of future strategies: [18:03:27.228] 1. FutureStrategy: [18:03:27.228] - args: function (..., envir = parent.frame()) [18:03:27.228] - tweaked: FALSE [18:03:27.228] - call: future::plan(oplan) [18:03:27.229] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=201] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CYGWIN', 'CommonProgramFiles(x86)', 'CommonProgramW6432', 'DriverData', 'HOME', 'HOMEDRIVE', 'HOMEPATH', 'JAGS_ROOT', 'JAVA_HOME', 'LANGUAGE', 'LC_COLLATE', 'LC_MONETARY', 'LC_TIME', 'LOCALAPPDATA', 'LOGONSERVER', 'LS_HOME', 'LS_LICENSE_PATH', 'MAKE', 'MAKEFLAGS', 'MAKELEVEL', 'MFLAGS', 'MSMPI_BENCHMARKS', 'MSMPI_BIN', 'MSYS2_ENV_CONV_EXCL', 'NUMBER_OF_PROCESSORS', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RETICULATE_AUTOCONFIGURE', 'RTOOLS43_HOME', 'R_ARCH', 'R_BROWSER', 'R_BZIPCMD', 'R_CMD', 'R_COMPILED_BY', 'R_CRAN_WEB', 'R_CUSTOM_TOOLS_PATH', 'R_CUSTOM_TOOLS_SOFT', 'R_DOC_DIR', 'R_ENVIRON_USER', 'R_GSCMD', 'R_GZIPCMD', 'R_HOME', 'R_INCLUDE_DIR', 'R_INSTALL_TAR', 'R_LIBS', 'R_LIBS_SITE', 'R_LIBS_USER', 'R_MAX_NUM_DLLS', 'R_OSTYPE', 'R_PAPERSIZE', 'R_PAPERSIZE_USER', 'R_PARALLELLY_MAKENODEPSOCK_AUTOKILL', 'R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT', 'R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL', 'R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS', 'R_PARALLELLY_MAKENODEPSOCK_TIMEOUT', 'R_PARALLELLY_RANDOM_PORTS', 'R_PARALLEL_PORT', 'R_RD4PDF', 'R_RTOOLS43_PATH', 'R_SCRIPT_LEGACY', 'R_SHARE_DIR', 'R_TESTS', 'R_UNZIPCMD', 'R_USER', 'R_VERSION', 'R_ZIPCMD', 'SED', 'SHLVL', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TAR', 'TAR_OPTIONS', 'TEMP', 'TERM', 'TEXINPUTS', 'TMP', 'TMPDIR', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'WINDIR', '_', '_R_CHECK_AUTOCONF_', '_R_CHECK_BOGUS_RETURN_', '_R_CHECK_BROWSER_NONINTERACTIVE_', '_R_CHECK_BUILD_VIGNETTES_SEPARATELY_', '_R_CHECK_CODETOOLS_PROFILE_', '_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_', '_R_CHECK_CODE_ATTACH_', '_R_CHECK_CODE_CLASS_IS_STRING_', '_R_CHECK_CODE_DATA_INTO_GLOBALENV_', '_R_CHECK_CODE_USAGE_VIA_NAMESPACES_', '_R_CHECK_CODE_USAGE_WITHOUT_LOADING_', '_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_', '_R_CHECK_CODOC_VARIABLES_IN_USAGES_', '_R_CHECK_COMPACT_DATA2_', '_R_CHECK_COMPILATION_FLAGS_', '_R_CHECK_CONNECTIONS_LEFT_OPEN_', '_R_CHECK_CRAN_INCOMING_', '_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_', '_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_', '_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_', '_R_CHECK_CRAN_INCOMING_REMOTE_', '_R_CHECK_CRAN_INCOMING_USE_ASPELL_', '_R_CHECK_DATALIST_', '_R_CHECK_DEPRECATED_DEFUNCT_', '_R_CHECK_DOC_SIZES2_', '_R_CHECK_DOT_FIRSTLIB_', '_R_CHECK_DOT_INTERNAL_', '_R_CHECK_EXAMPLE_TIMING_THRESHOLD_', '_R_CHECK_EXECUTABLES_', '_R_CHECK_EXECUTABLES_EXCLUSIONS_', '_R_CHECK_FF_CALLS_', '_R_CHECK_FF_DUP_', '_R_CHECK_FORCE_SUGGESTS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_', '_R_CHECK_HAVE_MYSQL_', '_R_CHECK_HAVE_ODBC_', '_R_CHECK_HAVE_PERL_', '_R_CHECK_HAVE_POSTGRES_', '_R_CHECK_INSTALL_DEPENDS_', '_R_CHECK_INTERNALS2_', '_R_CHECK_LENGTH_1_CONDITION_', '_R_CHECK_LICENSE_', '_R_CHECK_LIMIT_CORES_', '_R_CHECK_MATRIX_DATA_', '_R_CHECK_NATIVE_ROUTINE_REGISTRATION_', '_R_CHECK_NEWS_IN_PLAIN_TEXT_', '_R_CHECK_NO_RECOMMENDED_', '_R_CHECK_NO_STOP_ON_TEST_ERROR_', '_R_CHECK_ORPHANED_', '_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_', '_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_', '_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_', '_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_', '_R_CHECK_PACKAGE_NAME_', '_R_CHECK_PKG_SIZES_', '_R_CHECK_PKG_SIZES_THRESHOLD_', '_R_CHECK_PRAGMAS_', '_R_CHECK_RD_EXAMPLES_T_AND_F_', '_R_CHECK_RD_LINE_WIDTHS_', '_R_CHECK_RD_MATH_RENDERING_', '_R_CHECK_RD_VALIDATE_RD2HTML_', '_R_CHECK_REPLACING_IMPORTS_', '_R_CHECK_R_DEPENDS_', '_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_', '_R_CHECK_SCREEN_DEVICE_', '_R_CHECK_SERIALIZATION_', '_R_CHECK_SHLIB_OPENMP_FLAGS_', '_R_CHECK_SRC_MINUS_W_IMPLICIT_', '_R_CHECK_SUBDIRS_NOCASE_', '_R_CHECK_SUBDIRS_STRICT_', '_R_CHECK_SUGGESTS_ONLY_', '_R_CHECK_SYSTEM_CLOCK_', '_R_CHECK_TESTS_NLINES_', '_R_CHECK_TEST_TIMING_', '_R_CHECK_TIMINGS_', '_R_CHECK_TOPLEVEL_FILES_', '_R_CHECK_UNDOC_USE_ALL_NAMES_', '_R_CHECK_UNSAFE_CALLS_', '_R_CHECK_URLS_SHOW_301_STATUS_', '_R_CHECK_VC_DIRS_', '_R_CHECK_VIGNETTES_NLINES_', '_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_', '_R_CHECK_VIGNETTE_TIMING_', '_R_CHECK_VIGNETTE_TITLES_', '_R_CHECK_WINDOWS_DEVICE_', '_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_INSTALL_TIME_PATCHES_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', 'maj.version', 'nextArg--timingsnextArg--install' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: List of 3 $ name : chr "MAKEFLAGS" $ expected: 'Dlist' chr "" $ actual : 'Dlist' chr NA > > proc.time() user system elapsed 0.87 0.15 2.00