R Under development (unstable) (2023-12-20 r85713 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") [01:27:35.765] plan(): Setting new future strategy stack: [01:27:35.767] List of future strategies: [01:27:35.767] 1. sequential: [01:27:35.767] - args: function (..., envir = parent.frame(), workers = "") [01:27:35.767] - tweaked: FALSE [01:27:35.767] - call: future::plan("sequential") [01:27:35.797] plan(): nbrOfWorkers() = 1 > > message("*** %<-% ...") *** %<-% ... > > for (cores in 1:availCores) { + ## Speed up CRAN checks: Skip on CRAN Windows 32-bit + if (!fullTest && isWin32) next + + message(sprintf("Testing with %d cores ...", cores)) + options(mc.cores = cores) + + for (strategy in supportedStrategies(cores)) { + message(sprintf("*** %%<-%% with %s futures ...", sQuote(strategy))) + plan(strategy) + + rm(list = intersect(c("x", "y"), ls())) + + message("** Future evaluation without globals") + v1 %<-% { x <- 1 } + stopifnot(!exists("x", inherits = FALSE), identical(v1, 1)) + + message("** Future evaluation with globals") + a <- 2 + v2 %<-% { x <- a } + stopifnot(!exists("x", inherits = FALSE), identical(v2, a)) + + message("** Future evaluation with errors") + v3 %<-% { + x <- 3 + stop("Woops!") + x + } + stopifnot(!exists("x", inherits = FALSE)) + res <- tryCatch(identical(v3, 3), error = identity) + stopifnot(inherits(res, "error")) + + + y <- listenv::listenv() + for (ii in 1:3) { + y[[ii]] %<-% { + if (ii %% 2 == 0) stop("Woops!") + ii + } + } + res <- tryCatch(as.list(y), error = identity) + stopifnot(inherits(res, "error")) + z <- y[c(1, 3)] + z <- unlist(z) + stopifnot(all(z == c(1, 3))) + res <- tryCatch(y[[2]], error = identity) + stopifnot(inherits(res, "error")) + res <- tryCatch(y[1:2], error = identity) + stopifnot(inherits(res, "error")) + + + message("** Future evaluation with a poor-man's \"progress bar\"") + v4 %<-% { + cat("Processing: ") + for (ii in 1:10) { cat(".") } + cat(" [100%]\n") + 4 + } + + + message("** Collecting results") + printf("v1 = %s\n", v1) + stopifnot(v1 == 1) + + printf("v2 = %s\n", v2) + stopifnot(v2 == a) + + stopifnot(tryCatch({ + printf("v3 = %s\n", v3) + }, error = function(ex) { + printf("v3: <%s> (as expect)\n", class(ex)[1]) + TRUE + })) + + printf("v4 = %s\n", v4) + #stopifnot(v4 == 4) + + + message("** Left-to-right and right-to-left future assignments") + c %<-% 1 + printf("c = %s\n", c) + 1 %->% d + printf("d = %s\n", d) + stopifnot(d == c) + + + + message("** Nested future assignments") + a %<-% { + b <- 1 + c %<-% 2 + 3 -> d + 4 %->% e + b + c + d + e + } + printf("a = %s\n", a) + stopifnot(a == 10) + + { a + 1 } %->% b + printf("b = %s\n", b) + stopifnot(b == a + 1) + + message(sprintf("*** %%<-%% with %s futures ... DONE", sQuote(strategy))) + } # for (strategy in ...) + + message(sprintf("Testing with %d cores ... DONE", cores)) + } ## for (cores ...) Testing with 1 cores ... *** %<-% with 'sequential' futures ... [01:27:35.883] plan(): Setting new future strategy stack: [01:27:35.884] List of future strategies: [01:27:35.884] 1. sequential: [01:27:35.884] - args: function (..., envir = parent.frame(), workers = "") [01:27:35.884] - tweaked: FALSE [01:27:35.884] - call: plan(strategy) [01:27:35.898] plan(): nbrOfWorkers() = 1 ** Future evaluation without globals [01:27:35.900] getGlobalsAndPackages() ... [01:27:35.901] Searching for globals... [01:27:35.908] - globals found: [2] '{', '<-' [01:27:35.908] Searching for globals ... DONE [01:27:35.908] Resolving globals: FALSE [01:27:35.909] [01:27:35.909] [01:27:35.909] getGlobalsAndPackages() ... DONE [01:27:35.910] run() for 'Future' ... [01:27:35.911] - state: 'created' [01:27:35.911] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:35.911] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:35.912] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:35.912] - Field: 'label' [01:27:35.912] - Field: 'local' [01:27:35.912] - Field: 'owner' [01:27:35.912] - Field: 'envir' [01:27:35.913] - Field: 'packages' [01:27:35.913] - Field: 'gc' [01:27:35.913] - Field: 'conditions' [01:27:35.913] - Field: 'expr' [01:27:35.913] - Field: 'uuid' [01:27:35.914] - Field: 'seed' [01:27:35.914] - Field: 'version' [01:27:35.914] - Field: 'result' [01:27:35.914] - Field: 'asynchronous' [01:27:35.914] - Field: 'calls' [01:27:35.914] - Field: 'globals' [01:27:35.915] - Field: 'stdout' [01:27:35.915] - Field: 'earlySignal' [01:27:35.915] - Field: 'lazy' [01:27:35.915] - Field: 'state' [01:27:35.915] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:35.916] - Launch lazy future ... [01:27:35.917] Packages needed by the future expression (n = 0): [01:27:35.917] Packages needed by future strategies (n = 0): [01:27:35.918] { [01:27:35.918] { [01:27:35.918] { [01:27:35.918] ...future.startTime <- base::Sys.time() [01:27:35.918] { [01:27:35.918] { [01:27:35.918] { [01:27:35.918] base::local({ [01:27:35.918] has_future <- base::requireNamespace("future", [01:27:35.918] quietly = TRUE) [01:27:35.918] if (has_future) { [01:27:35.918] ns <- base::getNamespace("future") [01:27:35.918] version <- ns[[".package"]][["version"]] [01:27:35.918] if (is.null(version)) [01:27:35.918] version <- utils::packageVersion("future") [01:27:35.918] } [01:27:35.918] else { [01:27:35.918] version <- NULL [01:27:35.918] } [01:27:35.918] if (!has_future || version < "1.8.0") { [01:27:35.918] info <- base::c(r_version = base::gsub("R version ", [01:27:35.918] "", base::R.version$version.string), [01:27:35.918] platform = base::sprintf("%s (%s-bit)", [01:27:35.918] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:35.918] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:35.918] "release", "version")], collapse = " "), [01:27:35.918] hostname = base::Sys.info()[["nodename"]]) [01:27:35.918] info <- base::sprintf("%s: %s", base::names(info), [01:27:35.918] info) [01:27:35.918] info <- base::paste(info, collapse = "; ") [01:27:35.918] if (!has_future) { [01:27:35.918] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:35.918] info) [01:27:35.918] } [01:27:35.918] else { [01:27:35.918] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:35.918] info, version) [01:27:35.918] } [01:27:35.918] base::stop(msg) [01:27:35.918] } [01:27:35.918] }) [01:27:35.918] } [01:27:35.918] options(future.plan = NULL) [01:27:35.918] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.918] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:35.918] } [01:27:35.918] ...future.workdir <- getwd() [01:27:35.918] } [01:27:35.918] ...future.oldOptions <- base::as.list(base::.Options) [01:27:35.918] ...future.oldEnvVars <- base::Sys.getenv() [01:27:35.918] } [01:27:35.918] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:35.918] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:35.918] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:35.918] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:35.918] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:35.918] future.stdout.windows.reencode = NULL, width = 80L) [01:27:35.918] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:35.918] base::names(...future.oldOptions)) [01:27:35.918] } [01:27:35.918] if (FALSE) { [01:27:35.918] } [01:27:35.918] else { [01:27:35.918] if (TRUE) { [01:27:35.918] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:35.918] open = "w") [01:27:35.918] } [01:27:35.918] else { [01:27:35.918] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:35.918] windows = "NUL", "/dev/null"), open = "w") [01:27:35.918] } [01:27:35.918] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:35.918] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:35.918] base::sink(type = "output", split = FALSE) [01:27:35.918] base::close(...future.stdout) [01:27:35.918] }, add = TRUE) [01:27:35.918] } [01:27:35.918] ...future.frame <- base::sys.nframe() [01:27:35.918] ...future.conditions <- base::list() [01:27:35.918] ...future.rng <- base::globalenv()$.Random.seed [01:27:35.918] if (FALSE) { [01:27:35.918] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:35.918] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:35.918] } [01:27:35.918] ...future.result <- base::tryCatch({ [01:27:35.918] base::withCallingHandlers({ [01:27:35.918] ...future.value <- base::withVisible(base::local({ [01:27:35.918] x <- 1 [01:27:35.918] })) [01:27:35.918] future::FutureResult(value = ...future.value$value, [01:27:35.918] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.918] ...future.rng), globalenv = if (FALSE) [01:27:35.918] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:35.918] ...future.globalenv.names)) [01:27:35.918] else NULL, started = ...future.startTime, version = "1.8") [01:27:35.918] }, condition = base::local({ [01:27:35.918] c <- base::c [01:27:35.918] inherits <- base::inherits [01:27:35.918] invokeRestart <- base::invokeRestart [01:27:35.918] length <- base::length [01:27:35.918] list <- base::list [01:27:35.918] seq.int <- base::seq.int [01:27:35.918] signalCondition <- base::signalCondition [01:27:35.918] sys.calls <- base::sys.calls [01:27:35.918] `[[` <- base::`[[` [01:27:35.918] `+` <- base::`+` [01:27:35.918] `<<-` <- base::`<<-` [01:27:35.918] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:35.918] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:35.918] 3L)] [01:27:35.918] } [01:27:35.918] function(cond) { [01:27:35.918] is_error <- inherits(cond, "error") [01:27:35.918] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:35.918] NULL) [01:27:35.918] if (is_error) { [01:27:35.918] sessionInformation <- function() { [01:27:35.918] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:35.918] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:35.918] search = base::search(), system = base::Sys.info()) [01:27:35.918] } [01:27:35.918] ...future.conditions[[length(...future.conditions) + [01:27:35.918] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:35.918] cond$call), session = sessionInformation(), [01:27:35.918] timestamp = base::Sys.time(), signaled = 0L) [01:27:35.918] signalCondition(cond) [01:27:35.918] } [01:27:35.918] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:35.918] "immediateCondition"))) { [01:27:35.918] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:35.918] ...future.conditions[[length(...future.conditions) + [01:27:35.918] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:35.918] if (TRUE && !signal) { [01:27:35.918] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.918] { [01:27:35.918] inherits <- base::inherits [01:27:35.918] invokeRestart <- base::invokeRestart [01:27:35.918] is.null <- base::is.null [01:27:35.918] muffled <- FALSE [01:27:35.918] if (inherits(cond, "message")) { [01:27:35.918] muffled <- grepl(pattern, "muffleMessage") [01:27:35.918] if (muffled) [01:27:35.918] invokeRestart("muffleMessage") [01:27:35.918] } [01:27:35.918] else if (inherits(cond, "warning")) { [01:27:35.918] muffled <- grepl(pattern, "muffleWarning") [01:27:35.918] if (muffled) [01:27:35.918] invokeRestart("muffleWarning") [01:27:35.918] } [01:27:35.918] else if (inherits(cond, "condition")) { [01:27:35.918] if (!is.null(pattern)) { [01:27:35.918] computeRestarts <- base::computeRestarts [01:27:35.918] grepl <- base::grepl [01:27:35.918] restarts <- computeRestarts(cond) [01:27:35.918] for (restart in restarts) { [01:27:35.918] name <- restart$name [01:27:35.918] if (is.null(name)) [01:27:35.918] next [01:27:35.918] if (!grepl(pattern, name)) [01:27:35.918] next [01:27:35.918] invokeRestart(restart) [01:27:35.918] muffled <- TRUE [01:27:35.918] break [01:27:35.918] } [01:27:35.918] } [01:27:35.918] } [01:27:35.918] invisible(muffled) [01:27:35.918] } [01:27:35.918] muffleCondition(cond, pattern = "^muffle") [01:27:35.918] } [01:27:35.918] } [01:27:35.918] else { [01:27:35.918] if (TRUE) { [01:27:35.918] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.918] { [01:27:35.918] inherits <- base::inherits [01:27:35.918] invokeRestart <- base::invokeRestart [01:27:35.918] is.null <- base::is.null [01:27:35.918] muffled <- FALSE [01:27:35.918] if (inherits(cond, "message")) { [01:27:35.918] muffled <- grepl(pattern, "muffleMessage") [01:27:35.918] if (muffled) [01:27:35.918] invokeRestart("muffleMessage") [01:27:35.918] } [01:27:35.918] else if (inherits(cond, "warning")) { [01:27:35.918] muffled <- grepl(pattern, "muffleWarning") [01:27:35.918] if (muffled) [01:27:35.918] invokeRestart("muffleWarning") [01:27:35.918] } [01:27:35.918] else if (inherits(cond, "condition")) { [01:27:35.918] if (!is.null(pattern)) { [01:27:35.918] computeRestarts <- base::computeRestarts [01:27:35.918] grepl <- base::grepl [01:27:35.918] restarts <- computeRestarts(cond) [01:27:35.918] for (restart in restarts) { [01:27:35.918] name <- restart$name [01:27:35.918] if (is.null(name)) [01:27:35.918] next [01:27:35.918] if (!grepl(pattern, name)) [01:27:35.918] next [01:27:35.918] invokeRestart(restart) [01:27:35.918] muffled <- TRUE [01:27:35.918] break [01:27:35.918] } [01:27:35.918] } [01:27:35.918] } [01:27:35.918] invisible(muffled) [01:27:35.918] } [01:27:35.918] muffleCondition(cond, pattern = "^muffle") [01:27:35.918] } [01:27:35.918] } [01:27:35.918] } [01:27:35.918] })) [01:27:35.918] }, error = function(ex) { [01:27:35.918] base::structure(base::list(value = NULL, visible = NULL, [01:27:35.918] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.918] ...future.rng), started = ...future.startTime, [01:27:35.918] finished = Sys.time(), session_uuid = NA_character_, [01:27:35.918] version = "1.8"), class = "FutureResult") [01:27:35.918] }, finally = { [01:27:35.918] if (!identical(...future.workdir, getwd())) [01:27:35.918] setwd(...future.workdir) [01:27:35.918] { [01:27:35.918] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:35.918] ...future.oldOptions$nwarnings <- NULL [01:27:35.918] } [01:27:35.918] base::options(...future.oldOptions) [01:27:35.918] if (.Platform$OS.type == "windows") { [01:27:35.918] old_names <- names(...future.oldEnvVars) [01:27:35.918] envs <- base::Sys.getenv() [01:27:35.918] names <- names(envs) [01:27:35.918] common <- intersect(names, old_names) [01:27:35.918] added <- setdiff(names, old_names) [01:27:35.918] removed <- setdiff(old_names, names) [01:27:35.918] changed <- common[...future.oldEnvVars[common] != [01:27:35.918] envs[common]] [01:27:35.918] NAMES <- toupper(changed) [01:27:35.918] args <- list() [01:27:35.918] for (kk in seq_along(NAMES)) { [01:27:35.918] name <- changed[[kk]] [01:27:35.918] NAME <- NAMES[[kk]] [01:27:35.918] if (name != NAME && is.element(NAME, old_names)) [01:27:35.918] next [01:27:35.918] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.918] } [01:27:35.918] NAMES <- toupper(added) [01:27:35.918] for (kk in seq_along(NAMES)) { [01:27:35.918] name <- added[[kk]] [01:27:35.918] NAME <- NAMES[[kk]] [01:27:35.918] if (name != NAME && is.element(NAME, old_names)) [01:27:35.918] next [01:27:35.918] args[[name]] <- "" [01:27:35.918] } [01:27:35.918] NAMES <- toupper(removed) [01:27:35.918] for (kk in seq_along(NAMES)) { [01:27:35.918] name <- removed[[kk]] [01:27:35.918] NAME <- NAMES[[kk]] [01:27:35.918] if (name != NAME && is.element(NAME, old_names)) [01:27:35.918] next [01:27:35.918] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.918] } [01:27:35.918] if (length(args) > 0) [01:27:35.918] base::do.call(base::Sys.setenv, args = args) [01:27:35.918] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:35.918] } [01:27:35.918] else { [01:27:35.918] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:35.918] } [01:27:35.918] { [01:27:35.918] if (base::length(...future.futureOptionsAdded) > [01:27:35.918] 0L) { [01:27:35.918] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:35.918] base::names(opts) <- ...future.futureOptionsAdded [01:27:35.918] base::options(opts) [01:27:35.918] } [01:27:35.918] { [01:27:35.918] { [01:27:35.918] NULL [01:27:35.918] RNGkind("Mersenne-Twister") [01:27:35.918] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:35.918] inherits = FALSE) [01:27:35.918] } [01:27:35.918] options(future.plan = NULL) [01:27:35.918] if (is.na(NA_character_)) [01:27:35.918] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.918] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:35.918] future::plan(list(function (..., envir = parent.frame()) [01:27:35.918] { [01:27:35.918] future <- SequentialFuture(..., envir = envir) [01:27:35.918] if (!future$lazy) [01:27:35.918] future <- run(future) [01:27:35.918] invisible(future) [01:27:35.918] }), .cleanup = FALSE, .init = FALSE) [01:27:35.918] } [01:27:35.918] } [01:27:35.918] } [01:27:35.918] }) [01:27:35.918] if (TRUE) { [01:27:35.918] base::sink(type = "output", split = FALSE) [01:27:35.918] if (TRUE) { [01:27:35.918] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:35.918] } [01:27:35.918] else { [01:27:35.918] ...future.result["stdout"] <- base::list(NULL) [01:27:35.918] } [01:27:35.918] base::close(...future.stdout) [01:27:35.918] ...future.stdout <- NULL [01:27:35.918] } [01:27:35.918] ...future.result$conditions <- ...future.conditions [01:27:35.918] ...future.result$finished <- base::Sys.time() [01:27:35.918] ...future.result [01:27:35.918] } [01:27:35.923] plan(): Setting new future strategy stack: [01:27:35.923] List of future strategies: [01:27:35.923] 1. sequential: [01:27:35.923] - args: function (..., envir = parent.frame(), workers = "") [01:27:35.923] - tweaked: FALSE [01:27:35.923] - call: NULL [01:27:35.924] plan(): nbrOfWorkers() = 1 [01:27:35.926] plan(): Setting new future strategy stack: [01:27:35.926] List of future strategies: [01:27:35.926] 1. sequential: [01:27:35.926] - args: function (..., envir = parent.frame(), workers = "") [01:27:35.926] - tweaked: FALSE [01:27:35.926] - call: plan(strategy) [01:27:35.927] plan(): nbrOfWorkers() = 1 [01:27:35.927] SequentialFuture started (and completed) [01:27:35.928] - Launch lazy future ... done [01:27:35.928] run() for 'SequentialFuture' ... done ** Future evaluation with globals [01:27:35.929] getGlobalsAndPackages() ... [01:27:35.929] Searching for globals... [01:27:35.931] - globals found: [3] '{', '<-', 'a' [01:27:35.931] Searching for globals ... DONE [01:27:35.931] Resolving globals: FALSE [01:27:35.932] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:35.933] The total size of the 1 globals exported for future expression ('{; x <- a; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (56 bytes of class 'numeric') [01:27:35.933] - globals: [1] 'a' [01:27:35.933] [01:27:35.933] getGlobalsAndPackages() ... DONE [01:27:35.934] run() for 'Future' ... [01:27:35.934] - state: 'created' [01:27:35.934] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:35.935] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:35.935] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:35.935] - Field: 'label' [01:27:35.935] - Field: 'local' [01:27:35.935] - Field: 'owner' [01:27:35.936] - Field: 'envir' [01:27:35.936] - Field: 'packages' [01:27:35.936] - Field: 'gc' [01:27:35.936] - Field: 'conditions' [01:27:35.936] - Field: 'expr' [01:27:35.937] - Field: 'uuid' [01:27:35.937] - Field: 'seed' [01:27:35.937] - Field: 'version' [01:27:35.937] - Field: 'result' [01:27:35.937] - Field: 'asynchronous' [01:27:35.937] - Field: 'calls' [01:27:35.938] - Field: 'globals' [01:27:35.938] - Field: 'stdout' [01:27:35.938] - Field: 'earlySignal' [01:27:35.938] - Field: 'lazy' [01:27:35.938] - Field: 'state' [01:27:35.939] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:35.939] - Launch lazy future ... [01:27:35.939] Packages needed by the future expression (n = 0): [01:27:35.939] Packages needed by future strategies (n = 0): [01:27:35.940] { [01:27:35.940] { [01:27:35.940] { [01:27:35.940] ...future.startTime <- base::Sys.time() [01:27:35.940] { [01:27:35.940] { [01:27:35.940] { [01:27:35.940] base::local({ [01:27:35.940] has_future <- base::requireNamespace("future", [01:27:35.940] quietly = TRUE) [01:27:35.940] if (has_future) { [01:27:35.940] ns <- base::getNamespace("future") [01:27:35.940] version <- ns[[".package"]][["version"]] [01:27:35.940] if (is.null(version)) [01:27:35.940] version <- utils::packageVersion("future") [01:27:35.940] } [01:27:35.940] else { [01:27:35.940] version <- NULL [01:27:35.940] } [01:27:35.940] if (!has_future || version < "1.8.0") { [01:27:35.940] info <- base::c(r_version = base::gsub("R version ", [01:27:35.940] "", base::R.version$version.string), [01:27:35.940] platform = base::sprintf("%s (%s-bit)", [01:27:35.940] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:35.940] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:35.940] "release", "version")], collapse = " "), [01:27:35.940] hostname = base::Sys.info()[["nodename"]]) [01:27:35.940] info <- base::sprintf("%s: %s", base::names(info), [01:27:35.940] info) [01:27:35.940] info <- base::paste(info, collapse = "; ") [01:27:35.940] if (!has_future) { [01:27:35.940] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:35.940] info) [01:27:35.940] } [01:27:35.940] else { [01:27:35.940] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:35.940] info, version) [01:27:35.940] } [01:27:35.940] base::stop(msg) [01:27:35.940] } [01:27:35.940] }) [01:27:35.940] } [01:27:35.940] options(future.plan = NULL) [01:27:35.940] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.940] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:35.940] } [01:27:35.940] ...future.workdir <- getwd() [01:27:35.940] } [01:27:35.940] ...future.oldOptions <- base::as.list(base::.Options) [01:27:35.940] ...future.oldEnvVars <- base::Sys.getenv() [01:27:35.940] } [01:27:35.940] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:35.940] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:35.940] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:35.940] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:35.940] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:35.940] future.stdout.windows.reencode = NULL, width = 80L) [01:27:35.940] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:35.940] base::names(...future.oldOptions)) [01:27:35.940] } [01:27:35.940] if (FALSE) { [01:27:35.940] } [01:27:35.940] else { [01:27:35.940] if (TRUE) { [01:27:35.940] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:35.940] open = "w") [01:27:35.940] } [01:27:35.940] else { [01:27:35.940] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:35.940] windows = "NUL", "/dev/null"), open = "w") [01:27:35.940] } [01:27:35.940] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:35.940] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:35.940] base::sink(type = "output", split = FALSE) [01:27:35.940] base::close(...future.stdout) [01:27:35.940] }, add = TRUE) [01:27:35.940] } [01:27:35.940] ...future.frame <- base::sys.nframe() [01:27:35.940] ...future.conditions <- base::list() [01:27:35.940] ...future.rng <- base::globalenv()$.Random.seed [01:27:35.940] if (FALSE) { [01:27:35.940] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:35.940] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:35.940] } [01:27:35.940] ...future.result <- base::tryCatch({ [01:27:35.940] base::withCallingHandlers({ [01:27:35.940] ...future.value <- base::withVisible(base::local({ [01:27:35.940] x <- a [01:27:35.940] })) [01:27:35.940] future::FutureResult(value = ...future.value$value, [01:27:35.940] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.940] ...future.rng), globalenv = if (FALSE) [01:27:35.940] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:35.940] ...future.globalenv.names)) [01:27:35.940] else NULL, started = ...future.startTime, version = "1.8") [01:27:35.940] }, condition = base::local({ [01:27:35.940] c <- base::c [01:27:35.940] inherits <- base::inherits [01:27:35.940] invokeRestart <- base::invokeRestart [01:27:35.940] length <- base::length [01:27:35.940] list <- base::list [01:27:35.940] seq.int <- base::seq.int [01:27:35.940] signalCondition <- base::signalCondition [01:27:35.940] sys.calls <- base::sys.calls [01:27:35.940] `[[` <- base::`[[` [01:27:35.940] `+` <- base::`+` [01:27:35.940] `<<-` <- base::`<<-` [01:27:35.940] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:35.940] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:35.940] 3L)] [01:27:35.940] } [01:27:35.940] function(cond) { [01:27:35.940] is_error <- inherits(cond, "error") [01:27:35.940] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:35.940] NULL) [01:27:35.940] if (is_error) { [01:27:35.940] sessionInformation <- function() { [01:27:35.940] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:35.940] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:35.940] search = base::search(), system = base::Sys.info()) [01:27:35.940] } [01:27:35.940] ...future.conditions[[length(...future.conditions) + [01:27:35.940] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:35.940] cond$call), session = sessionInformation(), [01:27:35.940] timestamp = base::Sys.time(), signaled = 0L) [01:27:35.940] signalCondition(cond) [01:27:35.940] } [01:27:35.940] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:35.940] "immediateCondition"))) { [01:27:35.940] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:35.940] ...future.conditions[[length(...future.conditions) + [01:27:35.940] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:35.940] if (TRUE && !signal) { [01:27:35.940] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.940] { [01:27:35.940] inherits <- base::inherits [01:27:35.940] invokeRestart <- base::invokeRestart [01:27:35.940] is.null <- base::is.null [01:27:35.940] muffled <- FALSE [01:27:35.940] if (inherits(cond, "message")) { [01:27:35.940] muffled <- grepl(pattern, "muffleMessage") [01:27:35.940] if (muffled) [01:27:35.940] invokeRestart("muffleMessage") [01:27:35.940] } [01:27:35.940] else if (inherits(cond, "warning")) { [01:27:35.940] muffled <- grepl(pattern, "muffleWarning") [01:27:35.940] if (muffled) [01:27:35.940] invokeRestart("muffleWarning") [01:27:35.940] } [01:27:35.940] else if (inherits(cond, "condition")) { [01:27:35.940] if (!is.null(pattern)) { [01:27:35.940] computeRestarts <- base::computeRestarts [01:27:35.940] grepl <- base::grepl [01:27:35.940] restarts <- computeRestarts(cond) [01:27:35.940] for (restart in restarts) { [01:27:35.940] name <- restart$name [01:27:35.940] if (is.null(name)) [01:27:35.940] next [01:27:35.940] if (!grepl(pattern, name)) [01:27:35.940] next [01:27:35.940] invokeRestart(restart) [01:27:35.940] muffled <- TRUE [01:27:35.940] break [01:27:35.940] } [01:27:35.940] } [01:27:35.940] } [01:27:35.940] invisible(muffled) [01:27:35.940] } [01:27:35.940] muffleCondition(cond, pattern = "^muffle") [01:27:35.940] } [01:27:35.940] } [01:27:35.940] else { [01:27:35.940] if (TRUE) { [01:27:35.940] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.940] { [01:27:35.940] inherits <- base::inherits [01:27:35.940] invokeRestart <- base::invokeRestart [01:27:35.940] is.null <- base::is.null [01:27:35.940] muffled <- FALSE [01:27:35.940] if (inherits(cond, "message")) { [01:27:35.940] muffled <- grepl(pattern, "muffleMessage") [01:27:35.940] if (muffled) [01:27:35.940] invokeRestart("muffleMessage") [01:27:35.940] } [01:27:35.940] else if (inherits(cond, "warning")) { [01:27:35.940] muffled <- grepl(pattern, "muffleWarning") [01:27:35.940] if (muffled) [01:27:35.940] invokeRestart("muffleWarning") [01:27:35.940] } [01:27:35.940] else if (inherits(cond, "condition")) { [01:27:35.940] if (!is.null(pattern)) { [01:27:35.940] computeRestarts <- base::computeRestarts [01:27:35.940] grepl <- base::grepl [01:27:35.940] restarts <- computeRestarts(cond) [01:27:35.940] for (restart in restarts) { [01:27:35.940] name <- restart$name [01:27:35.940] if (is.null(name)) [01:27:35.940] next [01:27:35.940] if (!grepl(pattern, name)) [01:27:35.940] next [01:27:35.940] invokeRestart(restart) [01:27:35.940] muffled <- TRUE [01:27:35.940] break [01:27:35.940] } [01:27:35.940] } [01:27:35.940] } [01:27:35.940] invisible(muffled) [01:27:35.940] } [01:27:35.940] muffleCondition(cond, pattern = "^muffle") [01:27:35.940] } [01:27:35.940] } [01:27:35.940] } [01:27:35.940] })) [01:27:35.940] }, error = function(ex) { [01:27:35.940] base::structure(base::list(value = NULL, visible = NULL, [01:27:35.940] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.940] ...future.rng), started = ...future.startTime, [01:27:35.940] finished = Sys.time(), session_uuid = NA_character_, [01:27:35.940] version = "1.8"), class = "FutureResult") [01:27:35.940] }, finally = { [01:27:35.940] if (!identical(...future.workdir, getwd())) [01:27:35.940] setwd(...future.workdir) [01:27:35.940] { [01:27:35.940] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:35.940] ...future.oldOptions$nwarnings <- NULL [01:27:35.940] } [01:27:35.940] base::options(...future.oldOptions) [01:27:35.940] if (.Platform$OS.type == "windows") { [01:27:35.940] old_names <- names(...future.oldEnvVars) [01:27:35.940] envs <- base::Sys.getenv() [01:27:35.940] names <- names(envs) [01:27:35.940] common <- intersect(names, old_names) [01:27:35.940] added <- setdiff(names, old_names) [01:27:35.940] removed <- setdiff(old_names, names) [01:27:35.940] changed <- common[...future.oldEnvVars[common] != [01:27:35.940] envs[common]] [01:27:35.940] NAMES <- toupper(changed) [01:27:35.940] args <- list() [01:27:35.940] for (kk in seq_along(NAMES)) { [01:27:35.940] name <- changed[[kk]] [01:27:35.940] NAME <- NAMES[[kk]] [01:27:35.940] if (name != NAME && is.element(NAME, old_names)) [01:27:35.940] next [01:27:35.940] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.940] } [01:27:35.940] NAMES <- toupper(added) [01:27:35.940] for (kk in seq_along(NAMES)) { [01:27:35.940] name <- added[[kk]] [01:27:35.940] NAME <- NAMES[[kk]] [01:27:35.940] if (name != NAME && is.element(NAME, old_names)) [01:27:35.940] next [01:27:35.940] args[[name]] <- "" [01:27:35.940] } [01:27:35.940] NAMES <- toupper(removed) [01:27:35.940] for (kk in seq_along(NAMES)) { [01:27:35.940] name <- removed[[kk]] [01:27:35.940] NAME <- NAMES[[kk]] [01:27:35.940] if (name != NAME && is.element(NAME, old_names)) [01:27:35.940] next [01:27:35.940] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.940] } [01:27:35.940] if (length(args) > 0) [01:27:35.940] base::do.call(base::Sys.setenv, args = args) [01:27:35.940] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:35.940] } [01:27:35.940] else { [01:27:35.940] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:35.940] } [01:27:35.940] { [01:27:35.940] if (base::length(...future.futureOptionsAdded) > [01:27:35.940] 0L) { [01:27:35.940] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:35.940] base::names(opts) <- ...future.futureOptionsAdded [01:27:35.940] base::options(opts) [01:27:35.940] } [01:27:35.940] { [01:27:35.940] { [01:27:35.940] NULL [01:27:35.940] RNGkind("Mersenne-Twister") [01:27:35.940] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:35.940] inherits = FALSE) [01:27:35.940] } [01:27:35.940] options(future.plan = NULL) [01:27:35.940] if (is.na(NA_character_)) [01:27:35.940] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.940] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:35.940] future::plan(list(function (..., envir = parent.frame()) [01:27:35.940] { [01:27:35.940] future <- SequentialFuture(..., envir = envir) [01:27:35.940] if (!future$lazy) [01:27:35.940] future <- run(future) [01:27:35.940] invisible(future) [01:27:35.940] }), .cleanup = FALSE, .init = FALSE) [01:27:35.940] } [01:27:35.940] } [01:27:35.940] } [01:27:35.940] }) [01:27:35.940] if (TRUE) { [01:27:35.940] base::sink(type = "output", split = FALSE) [01:27:35.940] if (TRUE) { [01:27:35.940] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:35.940] } [01:27:35.940] else { [01:27:35.940] ...future.result["stdout"] <- base::list(NULL) [01:27:35.940] } [01:27:35.940] base::close(...future.stdout) [01:27:35.940] ...future.stdout <- NULL [01:27:35.940] } [01:27:35.940] ...future.result$conditions <- ...future.conditions [01:27:35.940] ...future.result$finished <- base::Sys.time() [01:27:35.940] ...future.result [01:27:35.940] } [01:27:35.944] assign_globals() ... [01:27:35.945] List of 1 [01:27:35.945] $ a: num 2 [01:27:35.945] - attr(*, "where")=List of 1 [01:27:35.945] ..$ a: [01:27:35.945] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:27:35.945] - attr(*, "resolved")= logi FALSE [01:27:35.945] - attr(*, "total_size")= num 56 [01:27:35.945] - attr(*, "already-done")= logi TRUE [01:27:35.953] - copied 'a' to environment [01:27:35.953] assign_globals() ... done [01:27:35.953] plan(): Setting new future strategy stack: [01:27:35.954] List of future strategies: [01:27:35.954] 1. sequential: [01:27:35.954] - args: function (..., envir = parent.frame(), workers = "") [01:27:35.954] - tweaked: FALSE [01:27:35.954] - call: NULL [01:27:35.954] plan(): nbrOfWorkers() = 1 [01:27:35.956] plan(): Setting new future strategy stack: [01:27:35.956] List of future strategies: [01:27:35.956] 1. sequential: [01:27:35.956] - args: function (..., envir = parent.frame(), workers = "") [01:27:35.956] - tweaked: FALSE [01:27:35.956] - call: plan(strategy) [01:27:35.957] plan(): nbrOfWorkers() = 1 [01:27:35.957] SequentialFuture started (and completed) [01:27:35.957] - Launch lazy future ... done [01:27:35.958] run() for 'SequentialFuture' ... done ** Future evaluation with errors [01:27:35.962] getGlobalsAndPackages() ... [01:27:35.962] Searching for globals... [01:27:35.967] - globals found: [3] '{', '<-', 'stop' [01:27:35.967] Searching for globals ... DONE [01:27:35.967] Resolving globals: FALSE [01:27:35.968] [01:27:35.968] [01:27:35.968] getGlobalsAndPackages() ... DONE [01:27:35.968] run() for 'Future' ... [01:27:35.969] - state: 'created' [01:27:35.969] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:35.969] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:35.969] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:35.970] - Field: 'label' [01:27:35.970] - Field: 'local' [01:27:35.970] - Field: 'owner' [01:27:35.970] - Field: 'envir' [01:27:35.970] - Field: 'packages' [01:27:35.971] - Field: 'gc' [01:27:35.971] - Field: 'conditions' [01:27:35.971] - Field: 'expr' [01:27:35.971] - Field: 'uuid' [01:27:35.971] - Field: 'seed' [01:27:35.972] - Field: 'version' [01:27:35.972] - Field: 'result' [01:27:35.972] - Field: 'asynchronous' [01:27:35.972] - Field: 'calls' [01:27:35.972] - Field: 'globals' [01:27:35.973] - Field: 'stdout' [01:27:35.973] - Field: 'earlySignal' [01:27:35.973] - Field: 'lazy' [01:27:35.973] - Field: 'state' [01:27:35.973] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:35.974] - Launch lazy future ... [01:27:35.974] Packages needed by the future expression (n = 0): [01:27:35.974] Packages needed by future strategies (n = 0): [01:27:35.975] { [01:27:35.975] { [01:27:35.975] { [01:27:35.975] ...future.startTime <- base::Sys.time() [01:27:35.975] { [01:27:35.975] { [01:27:35.975] { [01:27:35.975] base::local({ [01:27:35.975] has_future <- base::requireNamespace("future", [01:27:35.975] quietly = TRUE) [01:27:35.975] if (has_future) { [01:27:35.975] ns <- base::getNamespace("future") [01:27:35.975] version <- ns[[".package"]][["version"]] [01:27:35.975] if (is.null(version)) [01:27:35.975] version <- utils::packageVersion("future") [01:27:35.975] } [01:27:35.975] else { [01:27:35.975] version <- NULL [01:27:35.975] } [01:27:35.975] if (!has_future || version < "1.8.0") { [01:27:35.975] info <- base::c(r_version = base::gsub("R version ", [01:27:35.975] "", base::R.version$version.string), [01:27:35.975] platform = base::sprintf("%s (%s-bit)", [01:27:35.975] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:35.975] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:35.975] "release", "version")], collapse = " "), [01:27:35.975] hostname = base::Sys.info()[["nodename"]]) [01:27:35.975] info <- base::sprintf("%s: %s", base::names(info), [01:27:35.975] info) [01:27:35.975] info <- base::paste(info, collapse = "; ") [01:27:35.975] if (!has_future) { [01:27:35.975] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:35.975] info) [01:27:35.975] } [01:27:35.975] else { [01:27:35.975] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:35.975] info, version) [01:27:35.975] } [01:27:35.975] base::stop(msg) [01:27:35.975] } [01:27:35.975] }) [01:27:35.975] } [01:27:35.975] options(future.plan = NULL) [01:27:35.975] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.975] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:35.975] } [01:27:35.975] ...future.workdir <- getwd() [01:27:35.975] } [01:27:35.975] ...future.oldOptions <- base::as.list(base::.Options) [01:27:35.975] ...future.oldEnvVars <- base::Sys.getenv() [01:27:35.975] } [01:27:35.975] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:35.975] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:35.975] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:35.975] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:35.975] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:35.975] future.stdout.windows.reencode = NULL, width = 80L) [01:27:35.975] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:35.975] base::names(...future.oldOptions)) [01:27:35.975] } [01:27:35.975] if (FALSE) { [01:27:35.975] } [01:27:35.975] else { [01:27:35.975] if (TRUE) { [01:27:35.975] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:35.975] open = "w") [01:27:35.975] } [01:27:35.975] else { [01:27:35.975] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:35.975] windows = "NUL", "/dev/null"), open = "w") [01:27:35.975] } [01:27:35.975] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:35.975] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:35.975] base::sink(type = "output", split = FALSE) [01:27:35.975] base::close(...future.stdout) [01:27:35.975] }, add = TRUE) [01:27:35.975] } [01:27:35.975] ...future.frame <- base::sys.nframe() [01:27:35.975] ...future.conditions <- base::list() [01:27:35.975] ...future.rng <- base::globalenv()$.Random.seed [01:27:35.975] if (FALSE) { [01:27:35.975] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:35.975] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:35.975] } [01:27:35.975] ...future.result <- base::tryCatch({ [01:27:35.975] base::withCallingHandlers({ [01:27:35.975] ...future.value <- base::withVisible(base::local({ [01:27:35.975] x <- 3 [01:27:35.975] stop("Woops!") [01:27:35.975] x [01:27:35.975] })) [01:27:35.975] future::FutureResult(value = ...future.value$value, [01:27:35.975] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.975] ...future.rng), globalenv = if (FALSE) [01:27:35.975] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:35.975] ...future.globalenv.names)) [01:27:35.975] else NULL, started = ...future.startTime, version = "1.8") [01:27:35.975] }, condition = base::local({ [01:27:35.975] c <- base::c [01:27:35.975] inherits <- base::inherits [01:27:35.975] invokeRestart <- base::invokeRestart [01:27:35.975] length <- base::length [01:27:35.975] list <- base::list [01:27:35.975] seq.int <- base::seq.int [01:27:35.975] signalCondition <- base::signalCondition [01:27:35.975] sys.calls <- base::sys.calls [01:27:35.975] `[[` <- base::`[[` [01:27:35.975] `+` <- base::`+` [01:27:35.975] `<<-` <- base::`<<-` [01:27:35.975] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:35.975] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:35.975] 3L)] [01:27:35.975] } [01:27:35.975] function(cond) { [01:27:35.975] is_error <- inherits(cond, "error") [01:27:35.975] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:35.975] NULL) [01:27:35.975] if (is_error) { [01:27:35.975] sessionInformation <- function() { [01:27:35.975] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:35.975] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:35.975] search = base::search(), system = base::Sys.info()) [01:27:35.975] } [01:27:35.975] ...future.conditions[[length(...future.conditions) + [01:27:35.975] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:35.975] cond$call), session = sessionInformation(), [01:27:35.975] timestamp = base::Sys.time(), signaled = 0L) [01:27:35.975] signalCondition(cond) [01:27:35.975] } [01:27:35.975] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:35.975] "immediateCondition"))) { [01:27:35.975] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:35.975] ...future.conditions[[length(...future.conditions) + [01:27:35.975] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:35.975] if (TRUE && !signal) { [01:27:35.975] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.975] { [01:27:35.975] inherits <- base::inherits [01:27:35.975] invokeRestart <- base::invokeRestart [01:27:35.975] is.null <- base::is.null [01:27:35.975] muffled <- FALSE [01:27:35.975] if (inherits(cond, "message")) { [01:27:35.975] muffled <- grepl(pattern, "muffleMessage") [01:27:35.975] if (muffled) [01:27:35.975] invokeRestart("muffleMessage") [01:27:35.975] } [01:27:35.975] else if (inherits(cond, "warning")) { [01:27:35.975] muffled <- grepl(pattern, "muffleWarning") [01:27:35.975] if (muffled) [01:27:35.975] invokeRestart("muffleWarning") [01:27:35.975] } [01:27:35.975] else if (inherits(cond, "condition")) { [01:27:35.975] if (!is.null(pattern)) { [01:27:35.975] computeRestarts <- base::computeRestarts [01:27:35.975] grepl <- base::grepl [01:27:35.975] restarts <- computeRestarts(cond) [01:27:35.975] for (restart in restarts) { [01:27:35.975] name <- restart$name [01:27:35.975] if (is.null(name)) [01:27:35.975] next [01:27:35.975] if (!grepl(pattern, name)) [01:27:35.975] next [01:27:35.975] invokeRestart(restart) [01:27:35.975] muffled <- TRUE [01:27:35.975] break [01:27:35.975] } [01:27:35.975] } [01:27:35.975] } [01:27:35.975] invisible(muffled) [01:27:35.975] } [01:27:35.975] muffleCondition(cond, pattern = "^muffle") [01:27:35.975] } [01:27:35.975] } [01:27:35.975] else { [01:27:35.975] if (TRUE) { [01:27:35.975] muffleCondition <- function (cond, pattern = "^muffle") [01:27:35.975] { [01:27:35.975] inherits <- base::inherits [01:27:35.975] invokeRestart <- base::invokeRestart [01:27:35.975] is.null <- base::is.null [01:27:35.975] muffled <- FALSE [01:27:35.975] if (inherits(cond, "message")) { [01:27:35.975] muffled <- grepl(pattern, "muffleMessage") [01:27:35.975] if (muffled) [01:27:35.975] invokeRestart("muffleMessage") [01:27:35.975] } [01:27:35.975] else if (inherits(cond, "warning")) { [01:27:35.975] muffled <- grepl(pattern, "muffleWarning") [01:27:35.975] if (muffled) [01:27:35.975] invokeRestart("muffleWarning") [01:27:35.975] } [01:27:35.975] else if (inherits(cond, "condition")) { [01:27:35.975] if (!is.null(pattern)) { [01:27:35.975] computeRestarts <- base::computeRestarts [01:27:35.975] grepl <- base::grepl [01:27:35.975] restarts <- computeRestarts(cond) [01:27:35.975] for (restart in restarts) { [01:27:35.975] name <- restart$name [01:27:35.975] if (is.null(name)) [01:27:35.975] next [01:27:35.975] if (!grepl(pattern, name)) [01:27:35.975] next [01:27:35.975] invokeRestart(restart) [01:27:35.975] muffled <- TRUE [01:27:35.975] break [01:27:35.975] } [01:27:35.975] } [01:27:35.975] } [01:27:35.975] invisible(muffled) [01:27:35.975] } [01:27:35.975] muffleCondition(cond, pattern = "^muffle") [01:27:35.975] } [01:27:35.975] } [01:27:35.975] } [01:27:35.975] })) [01:27:35.975] }, error = function(ex) { [01:27:35.975] base::structure(base::list(value = NULL, visible = NULL, [01:27:35.975] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:35.975] ...future.rng), started = ...future.startTime, [01:27:35.975] finished = Sys.time(), session_uuid = NA_character_, [01:27:35.975] version = "1.8"), class = "FutureResult") [01:27:35.975] }, finally = { [01:27:35.975] if (!identical(...future.workdir, getwd())) [01:27:35.975] setwd(...future.workdir) [01:27:35.975] { [01:27:35.975] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:35.975] ...future.oldOptions$nwarnings <- NULL [01:27:35.975] } [01:27:35.975] base::options(...future.oldOptions) [01:27:35.975] if (.Platform$OS.type == "windows") { [01:27:35.975] old_names <- names(...future.oldEnvVars) [01:27:35.975] envs <- base::Sys.getenv() [01:27:35.975] names <- names(envs) [01:27:35.975] common <- intersect(names, old_names) [01:27:35.975] added <- setdiff(names, old_names) [01:27:35.975] removed <- setdiff(old_names, names) [01:27:35.975] changed <- common[...future.oldEnvVars[common] != [01:27:35.975] envs[common]] [01:27:35.975] NAMES <- toupper(changed) [01:27:35.975] args <- list() [01:27:35.975] for (kk in seq_along(NAMES)) { [01:27:35.975] name <- changed[[kk]] [01:27:35.975] NAME <- NAMES[[kk]] [01:27:35.975] if (name != NAME && is.element(NAME, old_names)) [01:27:35.975] next [01:27:35.975] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.975] } [01:27:35.975] NAMES <- toupper(added) [01:27:35.975] for (kk in seq_along(NAMES)) { [01:27:35.975] name <- added[[kk]] [01:27:35.975] NAME <- NAMES[[kk]] [01:27:35.975] if (name != NAME && is.element(NAME, old_names)) [01:27:35.975] next [01:27:35.975] args[[name]] <- "" [01:27:35.975] } [01:27:35.975] NAMES <- toupper(removed) [01:27:35.975] for (kk in seq_along(NAMES)) { [01:27:35.975] name <- removed[[kk]] [01:27:35.975] NAME <- NAMES[[kk]] [01:27:35.975] if (name != NAME && is.element(NAME, old_names)) [01:27:35.975] next [01:27:35.975] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:35.975] } [01:27:35.975] if (length(args) > 0) [01:27:35.975] base::do.call(base::Sys.setenv, args = args) [01:27:35.975] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:35.975] } [01:27:35.975] else { [01:27:35.975] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:35.975] } [01:27:35.975] { [01:27:35.975] if (base::length(...future.futureOptionsAdded) > [01:27:35.975] 0L) { [01:27:35.975] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:35.975] base::names(opts) <- ...future.futureOptionsAdded [01:27:35.975] base::options(opts) [01:27:35.975] } [01:27:35.975] { [01:27:35.975] { [01:27:35.975] NULL [01:27:35.975] RNGkind("Mersenne-Twister") [01:27:35.975] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:35.975] inherits = FALSE) [01:27:35.975] } [01:27:35.975] options(future.plan = NULL) [01:27:35.975] if (is.na(NA_character_)) [01:27:35.975] Sys.unsetenv("R_FUTURE_PLAN") [01:27:35.975] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:35.975] future::plan(list(function (..., envir = parent.frame()) [01:27:35.975] { [01:27:35.975] future <- SequentialFuture(..., envir = envir) [01:27:35.975] if (!future$lazy) [01:27:35.975] future <- run(future) [01:27:35.975] invisible(future) [01:27:35.975] }), .cleanup = FALSE, .init = FALSE) [01:27:35.975] } [01:27:35.975] } [01:27:35.975] } [01:27:35.975] }) [01:27:35.975] if (TRUE) { [01:27:35.975] base::sink(type = "output", split = FALSE) [01:27:35.975] if (TRUE) { [01:27:35.975] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:35.975] } [01:27:35.975] else { [01:27:35.975] ...future.result["stdout"] <- base::list(NULL) [01:27:35.975] } [01:27:35.975] base::close(...future.stdout) [01:27:35.975] ...future.stdout <- NULL [01:27:35.975] } [01:27:35.975] ...future.result$conditions <- ...future.conditions [01:27:35.975] ...future.result$finished <- base::Sys.time() [01:27:35.975] ...future.result [01:27:35.975] } [01:27:35.979] plan(): Setting new future strategy stack: [01:27:35.979] List of future strategies: [01:27:35.979] 1. sequential: [01:27:35.979] - args: function (..., envir = parent.frame(), workers = "") [01:27:35.979] - tweaked: FALSE [01:27:35.979] - call: NULL [01:27:35.980] plan(): nbrOfWorkers() = 1 [01:27:35.981] plan(): Setting new future strategy stack: [01:27:35.981] List of future strategies: [01:27:35.981] 1. sequential: [01:27:35.981] - args: function (..., envir = parent.frame(), workers = "") [01:27:35.981] - tweaked: FALSE [01:27:35.981] - call: plan(strategy) [01:27:35.982] plan(): nbrOfWorkers() = 1 [01:27:35.982] SequentialFuture started (and completed) [01:27:35.982] signalConditions() ... [01:27:35.983] - include = 'immediateCondition' [01:27:35.983] - exclude = [01:27:35.983] - resignal = FALSE [01:27:35.983] - Number of conditions: 1 [01:27:35.983] signalConditions() ... done [01:27:35.984] - Launch lazy future ... done [01:27:35.984] run() for 'SequentialFuture' ... done [01:27:35.984] signalConditions() ... [01:27:35.984] - include = 'immediateCondition' [01:27:35.984] - exclude = [01:27:35.984] - resignal = FALSE [01:27:35.985] - Number of conditions: 1 [01:27:35.985] signalConditions() ... done [01:27:35.985] Future state: 'finished' [01:27:35.985] signalConditions() ... [01:27:35.985] - include = 'condition' [01:27:35.986] - exclude = 'immediateCondition' [01:27:35.986] - resignal = TRUE [01:27:35.986] - Number of conditions: 1 [01:27:35.986] - Condition #1: 'simpleError', 'error', 'condition' [01:27:35.986] signalConditions() ... done [01:27:35.987] getGlobalsAndPackages() ... [01:27:35.987] Searching for globals... [01:27:35.990] - globals found: [6] '{', 'if', '==', '%%', 'ii', 'stop' [01:27:35.990] Searching for globals ... DONE [01:27:35.990] Resolving globals: FALSE [01:27:35.991] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:35.991] The total size of the 1 globals exported for future expression ('{; if (ii%%2 == 0); stop("Woops!"); ii; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [01:27:35.992] - globals: [1] 'ii' [01:27:35.992] [01:27:35.992] getGlobalsAndPackages() ... DONE [01:27:35.992] run() for 'Future' ... [01:27:35.992] - state: 'created' [01:27:35.993] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:35.993] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:35.993] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:35.993] - Field: 'label' [01:27:35.994] - Field: 'local' [01:27:35.994] - Field: 'owner' [01:27:35.994] - Field: 'envir' [01:27:35.994] - Field: 'packages' [01:27:35.994] - Field: 'gc' [01:27:35.994] - Field: 'conditions' [01:27:35.995] - Field: 'expr' [01:27:35.995] - Field: 'uuid' [01:27:35.995] - Field: 'seed' [01:27:35.995] - Field: 'version' [01:27:35.995] - Field: 'result' [01:27:35.996] - Field: 'asynchronous' [01:27:35.996] - Field: 'calls' [01:27:35.996] - Field: 'globals' [01:27:35.996] - Field: 'stdout' [01:27:35.996] - Field: 'earlySignal' [01:27:35.996] - Field: 'lazy' [01:27:35.997] - Field: 'state' [01:27:35.997] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:35.997] - Launch lazy future ... [01:27:35.997] Packages needed by the future expression (n = 0): [01:27:35.997] Packages needed by future strategies (n = 0): [01:27:36.000] { [01:27:36.000] { [01:27:36.000] { [01:27:36.000] ...future.startTime <- base::Sys.time() [01:27:36.000] { [01:27:36.000] { [01:27:36.000] { [01:27:36.000] base::local({ [01:27:36.000] has_future <- base::requireNamespace("future", [01:27:36.000] quietly = TRUE) [01:27:36.000] if (has_future) { [01:27:36.000] ns <- base::getNamespace("future") [01:27:36.000] version <- ns[[".package"]][["version"]] [01:27:36.000] if (is.null(version)) [01:27:36.000] version <- utils::packageVersion("future") [01:27:36.000] } [01:27:36.000] else { [01:27:36.000] version <- NULL [01:27:36.000] } [01:27:36.000] if (!has_future || version < "1.8.0") { [01:27:36.000] info <- base::c(r_version = base::gsub("R version ", [01:27:36.000] "", base::R.version$version.string), [01:27:36.000] platform = base::sprintf("%s (%s-bit)", [01:27:36.000] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:36.000] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:36.000] "release", "version")], collapse = " "), [01:27:36.000] hostname = base::Sys.info()[["nodename"]]) [01:27:36.000] info <- base::sprintf("%s: %s", base::names(info), [01:27:36.000] info) [01:27:36.000] info <- base::paste(info, collapse = "; ") [01:27:36.000] if (!has_future) { [01:27:36.000] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:36.000] info) [01:27:36.000] } [01:27:36.000] else { [01:27:36.000] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:36.000] info, version) [01:27:36.000] } [01:27:36.000] base::stop(msg) [01:27:36.000] } [01:27:36.000] }) [01:27:36.000] } [01:27:36.000] options(future.plan = NULL) [01:27:36.000] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.000] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:36.000] } [01:27:36.000] ...future.workdir <- getwd() [01:27:36.000] } [01:27:36.000] ...future.oldOptions <- base::as.list(base::.Options) [01:27:36.000] ...future.oldEnvVars <- base::Sys.getenv() [01:27:36.000] } [01:27:36.000] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:36.000] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:36.000] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:36.000] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:36.000] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:36.000] future.stdout.windows.reencode = NULL, width = 80L) [01:27:36.000] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:36.000] base::names(...future.oldOptions)) [01:27:36.000] } [01:27:36.000] if (FALSE) { [01:27:36.000] } [01:27:36.000] else { [01:27:36.000] if (TRUE) { [01:27:36.000] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:36.000] open = "w") [01:27:36.000] } [01:27:36.000] else { [01:27:36.000] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:36.000] windows = "NUL", "/dev/null"), open = "w") [01:27:36.000] } [01:27:36.000] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:36.000] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:36.000] base::sink(type = "output", split = FALSE) [01:27:36.000] base::close(...future.stdout) [01:27:36.000] }, add = TRUE) [01:27:36.000] } [01:27:36.000] ...future.frame <- base::sys.nframe() [01:27:36.000] ...future.conditions <- base::list() [01:27:36.000] ...future.rng <- base::globalenv()$.Random.seed [01:27:36.000] if (FALSE) { [01:27:36.000] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:36.000] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:36.000] } [01:27:36.000] ...future.result <- base::tryCatch({ [01:27:36.000] base::withCallingHandlers({ [01:27:36.000] ...future.value <- base::withVisible(base::local({ [01:27:36.000] if (ii%%2 == 0) [01:27:36.000] stop("Woops!") [01:27:36.000] ii [01:27:36.000] })) [01:27:36.000] future::FutureResult(value = ...future.value$value, [01:27:36.000] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.000] ...future.rng), globalenv = if (FALSE) [01:27:36.000] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:36.000] ...future.globalenv.names)) [01:27:36.000] else NULL, started = ...future.startTime, version = "1.8") [01:27:36.000] }, condition = base::local({ [01:27:36.000] c <- base::c [01:27:36.000] inherits <- base::inherits [01:27:36.000] invokeRestart <- base::invokeRestart [01:27:36.000] length <- base::length [01:27:36.000] list <- base::list [01:27:36.000] seq.int <- base::seq.int [01:27:36.000] signalCondition <- base::signalCondition [01:27:36.000] sys.calls <- base::sys.calls [01:27:36.000] `[[` <- base::`[[` [01:27:36.000] `+` <- base::`+` [01:27:36.000] `<<-` <- base::`<<-` [01:27:36.000] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:36.000] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:36.000] 3L)] [01:27:36.000] } [01:27:36.000] function(cond) { [01:27:36.000] is_error <- inherits(cond, "error") [01:27:36.000] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:36.000] NULL) [01:27:36.000] if (is_error) { [01:27:36.000] sessionInformation <- function() { [01:27:36.000] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:36.000] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:36.000] search = base::search(), system = base::Sys.info()) [01:27:36.000] } [01:27:36.000] ...future.conditions[[length(...future.conditions) + [01:27:36.000] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:36.000] cond$call), session = sessionInformation(), [01:27:36.000] timestamp = base::Sys.time(), signaled = 0L) [01:27:36.000] signalCondition(cond) [01:27:36.000] } [01:27:36.000] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:36.000] "immediateCondition"))) { [01:27:36.000] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:36.000] ...future.conditions[[length(...future.conditions) + [01:27:36.000] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:36.000] if (TRUE && !signal) { [01:27:36.000] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.000] { [01:27:36.000] inherits <- base::inherits [01:27:36.000] invokeRestart <- base::invokeRestart [01:27:36.000] is.null <- base::is.null [01:27:36.000] muffled <- FALSE [01:27:36.000] if (inherits(cond, "message")) { [01:27:36.000] muffled <- grepl(pattern, "muffleMessage") [01:27:36.000] if (muffled) [01:27:36.000] invokeRestart("muffleMessage") [01:27:36.000] } [01:27:36.000] else if (inherits(cond, "warning")) { [01:27:36.000] muffled <- grepl(pattern, "muffleWarning") [01:27:36.000] if (muffled) [01:27:36.000] invokeRestart("muffleWarning") [01:27:36.000] } [01:27:36.000] else if (inherits(cond, "condition")) { [01:27:36.000] if (!is.null(pattern)) { [01:27:36.000] computeRestarts <- base::computeRestarts [01:27:36.000] grepl <- base::grepl [01:27:36.000] restarts <- computeRestarts(cond) [01:27:36.000] for (restart in restarts) { [01:27:36.000] name <- restart$name [01:27:36.000] if (is.null(name)) [01:27:36.000] next [01:27:36.000] if (!grepl(pattern, name)) [01:27:36.000] next [01:27:36.000] invokeRestart(restart) [01:27:36.000] muffled <- TRUE [01:27:36.000] break [01:27:36.000] } [01:27:36.000] } [01:27:36.000] } [01:27:36.000] invisible(muffled) [01:27:36.000] } [01:27:36.000] muffleCondition(cond, pattern = "^muffle") [01:27:36.000] } [01:27:36.000] } [01:27:36.000] else { [01:27:36.000] if (TRUE) { [01:27:36.000] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.000] { [01:27:36.000] inherits <- base::inherits [01:27:36.000] invokeRestart <- base::invokeRestart [01:27:36.000] is.null <- base::is.null [01:27:36.000] muffled <- FALSE [01:27:36.000] if (inherits(cond, "message")) { [01:27:36.000] muffled <- grepl(pattern, "muffleMessage") [01:27:36.000] if (muffled) [01:27:36.000] invokeRestart("muffleMessage") [01:27:36.000] } [01:27:36.000] else if (inherits(cond, "warning")) { [01:27:36.000] muffled <- grepl(pattern, "muffleWarning") [01:27:36.000] if (muffled) [01:27:36.000] invokeRestart("muffleWarning") [01:27:36.000] } [01:27:36.000] else if (inherits(cond, "condition")) { [01:27:36.000] if (!is.null(pattern)) { [01:27:36.000] computeRestarts <- base::computeRestarts [01:27:36.000] grepl <- base::grepl [01:27:36.000] restarts <- computeRestarts(cond) [01:27:36.000] for (restart in restarts) { [01:27:36.000] name <- restart$name [01:27:36.000] if (is.null(name)) [01:27:36.000] next [01:27:36.000] if (!grepl(pattern, name)) [01:27:36.000] next [01:27:36.000] invokeRestart(restart) [01:27:36.000] muffled <- TRUE [01:27:36.000] break [01:27:36.000] } [01:27:36.000] } [01:27:36.000] } [01:27:36.000] invisible(muffled) [01:27:36.000] } [01:27:36.000] muffleCondition(cond, pattern = "^muffle") [01:27:36.000] } [01:27:36.000] } [01:27:36.000] } [01:27:36.000] })) [01:27:36.000] }, error = function(ex) { [01:27:36.000] base::structure(base::list(value = NULL, visible = NULL, [01:27:36.000] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.000] ...future.rng), started = ...future.startTime, [01:27:36.000] finished = Sys.time(), session_uuid = NA_character_, [01:27:36.000] version = "1.8"), class = "FutureResult") [01:27:36.000] }, finally = { [01:27:36.000] if (!identical(...future.workdir, getwd())) [01:27:36.000] setwd(...future.workdir) [01:27:36.000] { [01:27:36.000] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:36.000] ...future.oldOptions$nwarnings <- NULL [01:27:36.000] } [01:27:36.000] base::options(...future.oldOptions) [01:27:36.000] if (.Platform$OS.type == "windows") { [01:27:36.000] old_names <- names(...future.oldEnvVars) [01:27:36.000] envs <- base::Sys.getenv() [01:27:36.000] names <- names(envs) [01:27:36.000] common <- intersect(names, old_names) [01:27:36.000] added <- setdiff(names, old_names) [01:27:36.000] removed <- setdiff(old_names, names) [01:27:36.000] changed <- common[...future.oldEnvVars[common] != [01:27:36.000] envs[common]] [01:27:36.000] NAMES <- toupper(changed) [01:27:36.000] args <- list() [01:27:36.000] for (kk in seq_along(NAMES)) { [01:27:36.000] name <- changed[[kk]] [01:27:36.000] NAME <- NAMES[[kk]] [01:27:36.000] if (name != NAME && is.element(NAME, old_names)) [01:27:36.000] next [01:27:36.000] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.000] } [01:27:36.000] NAMES <- toupper(added) [01:27:36.000] for (kk in seq_along(NAMES)) { [01:27:36.000] name <- added[[kk]] [01:27:36.000] NAME <- NAMES[[kk]] [01:27:36.000] if (name != NAME && is.element(NAME, old_names)) [01:27:36.000] next [01:27:36.000] args[[name]] <- "" [01:27:36.000] } [01:27:36.000] NAMES <- toupper(removed) [01:27:36.000] for (kk in seq_along(NAMES)) { [01:27:36.000] name <- removed[[kk]] [01:27:36.000] NAME <- NAMES[[kk]] [01:27:36.000] if (name != NAME && is.element(NAME, old_names)) [01:27:36.000] next [01:27:36.000] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.000] } [01:27:36.000] if (length(args) > 0) [01:27:36.000] base::do.call(base::Sys.setenv, args = args) [01:27:36.000] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:36.000] } [01:27:36.000] else { [01:27:36.000] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:36.000] } [01:27:36.000] { [01:27:36.000] if (base::length(...future.futureOptionsAdded) > [01:27:36.000] 0L) { [01:27:36.000] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:36.000] base::names(opts) <- ...future.futureOptionsAdded [01:27:36.000] base::options(opts) [01:27:36.000] } [01:27:36.000] { [01:27:36.000] { [01:27:36.000] NULL [01:27:36.000] RNGkind("Mersenne-Twister") [01:27:36.000] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:36.000] inherits = FALSE) [01:27:36.000] } [01:27:36.000] options(future.plan = NULL) [01:27:36.000] if (is.na(NA_character_)) [01:27:36.000] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.000] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:36.000] future::plan(list(function (..., envir = parent.frame()) [01:27:36.000] { [01:27:36.000] future <- SequentialFuture(..., envir = envir) [01:27:36.000] if (!future$lazy) [01:27:36.000] future <- run(future) [01:27:36.000] invisible(future) [01:27:36.000] }), .cleanup = FALSE, .init = FALSE) [01:27:36.000] } [01:27:36.000] } [01:27:36.000] } [01:27:36.000] }) [01:27:36.000] if (TRUE) { [01:27:36.000] base::sink(type = "output", split = FALSE) [01:27:36.000] if (TRUE) { [01:27:36.000] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:36.000] } [01:27:36.000] else { [01:27:36.000] ...future.result["stdout"] <- base::list(NULL) [01:27:36.000] } [01:27:36.000] base::close(...future.stdout) [01:27:36.000] ...future.stdout <- NULL [01:27:36.000] } [01:27:36.000] ...future.result$conditions <- ...future.conditions [01:27:36.000] ...future.result$finished <- base::Sys.time() [01:27:36.000] ...future.result [01:27:36.000] } [01:27:36.004] assign_globals() ... [01:27:36.004] List of 1 [01:27:36.004] $ ii: int 1 [01:27:36.004] - attr(*, "where")=List of 1 [01:27:36.004] ..$ ii: [01:27:36.004] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:27:36.004] - attr(*, "resolved")= logi FALSE [01:27:36.004] - attr(*, "total_size")= num 56 [01:27:36.004] - attr(*, "already-done")= logi TRUE [01:27:36.007] - copied 'ii' to environment [01:27:36.007] assign_globals() ... done [01:27:36.008] plan(): Setting new future strategy stack: [01:27:36.008] List of future strategies: [01:27:36.008] 1. sequential: [01:27:36.008] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.008] - tweaked: FALSE [01:27:36.008] - call: NULL [01:27:36.009] plan(): nbrOfWorkers() = 1 [01:27:36.010] plan(): Setting new future strategy stack: [01:27:36.010] List of future strategies: [01:27:36.010] 1. sequential: [01:27:36.010] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.010] - tweaked: FALSE [01:27:36.010] - call: plan(strategy) [01:27:36.011] plan(): nbrOfWorkers() = 1 [01:27:36.011] SequentialFuture started (and completed) [01:27:36.011] - Launch lazy future ... done [01:27:36.011] run() for 'SequentialFuture' ... done [01:27:36.012] getGlobalsAndPackages() ... [01:27:36.012] Searching for globals... [01:27:36.014] - globals found: [6] '{', 'if', '==', '%%', 'ii', 'stop' [01:27:36.014] Searching for globals ... DONE [01:27:36.014] Resolving globals: FALSE [01:27:36.015] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:36.015] The total size of the 1 globals exported for future expression ('{; if (ii%%2 == 0); stop("Woops!"); ii; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [01:27:36.016] - globals: [1] 'ii' [01:27:36.016] [01:27:36.016] getGlobalsAndPackages() ... DONE [01:27:36.016] run() for 'Future' ... [01:27:36.016] - state: 'created' [01:27:36.017] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:36.017] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:36.017] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:36.017] - Field: 'label' [01:27:36.018] - Field: 'local' [01:27:36.018] - Field: 'owner' [01:27:36.018] - Field: 'envir' [01:27:36.018] - Field: 'packages' [01:27:36.018] - Field: 'gc' [01:27:36.018] - Field: 'conditions' [01:27:36.019] - Field: 'expr' [01:27:36.019] - Field: 'uuid' [01:27:36.019] - Field: 'seed' [01:27:36.019] - Field: 'version' [01:27:36.019] - Field: 'result' [01:27:36.020] - Field: 'asynchronous' [01:27:36.020] - Field: 'calls' [01:27:36.020] - Field: 'globals' [01:27:36.020] - Field: 'stdout' [01:27:36.020] - Field: 'earlySignal' [01:27:36.020] - Field: 'lazy' [01:27:36.021] - Field: 'state' [01:27:36.021] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:36.021] - Launch lazy future ... [01:27:36.021] Packages needed by the future expression (n = 0): [01:27:36.021] Packages needed by future strategies (n = 0): [01:27:36.022] { [01:27:36.022] { [01:27:36.022] { [01:27:36.022] ...future.startTime <- base::Sys.time() [01:27:36.022] { [01:27:36.022] { [01:27:36.022] { [01:27:36.022] base::local({ [01:27:36.022] has_future <- base::requireNamespace("future", [01:27:36.022] quietly = TRUE) [01:27:36.022] if (has_future) { [01:27:36.022] ns <- base::getNamespace("future") [01:27:36.022] version <- ns[[".package"]][["version"]] [01:27:36.022] if (is.null(version)) [01:27:36.022] version <- utils::packageVersion("future") [01:27:36.022] } [01:27:36.022] else { [01:27:36.022] version <- NULL [01:27:36.022] } [01:27:36.022] if (!has_future || version < "1.8.0") { [01:27:36.022] info <- base::c(r_version = base::gsub("R version ", [01:27:36.022] "", base::R.version$version.string), [01:27:36.022] platform = base::sprintf("%s (%s-bit)", [01:27:36.022] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:36.022] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:36.022] "release", "version")], collapse = " "), [01:27:36.022] hostname = base::Sys.info()[["nodename"]]) [01:27:36.022] info <- base::sprintf("%s: %s", base::names(info), [01:27:36.022] info) [01:27:36.022] info <- base::paste(info, collapse = "; ") [01:27:36.022] if (!has_future) { [01:27:36.022] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:36.022] info) [01:27:36.022] } [01:27:36.022] else { [01:27:36.022] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:36.022] info, version) [01:27:36.022] } [01:27:36.022] base::stop(msg) [01:27:36.022] } [01:27:36.022] }) [01:27:36.022] } [01:27:36.022] options(future.plan = NULL) [01:27:36.022] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.022] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:36.022] } [01:27:36.022] ...future.workdir <- getwd() [01:27:36.022] } [01:27:36.022] ...future.oldOptions <- base::as.list(base::.Options) [01:27:36.022] ...future.oldEnvVars <- base::Sys.getenv() [01:27:36.022] } [01:27:36.022] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:36.022] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:36.022] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:36.022] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:36.022] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:36.022] future.stdout.windows.reencode = NULL, width = 80L) [01:27:36.022] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:36.022] base::names(...future.oldOptions)) [01:27:36.022] } [01:27:36.022] if (FALSE) { [01:27:36.022] } [01:27:36.022] else { [01:27:36.022] if (TRUE) { [01:27:36.022] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:36.022] open = "w") [01:27:36.022] } [01:27:36.022] else { [01:27:36.022] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:36.022] windows = "NUL", "/dev/null"), open = "w") [01:27:36.022] } [01:27:36.022] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:36.022] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:36.022] base::sink(type = "output", split = FALSE) [01:27:36.022] base::close(...future.stdout) [01:27:36.022] }, add = TRUE) [01:27:36.022] } [01:27:36.022] ...future.frame <- base::sys.nframe() [01:27:36.022] ...future.conditions <- base::list() [01:27:36.022] ...future.rng <- base::globalenv()$.Random.seed [01:27:36.022] if (FALSE) { [01:27:36.022] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:36.022] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:36.022] } [01:27:36.022] ...future.result <- base::tryCatch({ [01:27:36.022] base::withCallingHandlers({ [01:27:36.022] ...future.value <- base::withVisible(base::local({ [01:27:36.022] if (ii%%2 == 0) [01:27:36.022] stop("Woops!") [01:27:36.022] ii [01:27:36.022] })) [01:27:36.022] future::FutureResult(value = ...future.value$value, [01:27:36.022] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.022] ...future.rng), globalenv = if (FALSE) [01:27:36.022] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:36.022] ...future.globalenv.names)) [01:27:36.022] else NULL, started = ...future.startTime, version = "1.8") [01:27:36.022] }, condition = base::local({ [01:27:36.022] c <- base::c [01:27:36.022] inherits <- base::inherits [01:27:36.022] invokeRestart <- base::invokeRestart [01:27:36.022] length <- base::length [01:27:36.022] list <- base::list [01:27:36.022] seq.int <- base::seq.int [01:27:36.022] signalCondition <- base::signalCondition [01:27:36.022] sys.calls <- base::sys.calls [01:27:36.022] `[[` <- base::`[[` [01:27:36.022] `+` <- base::`+` [01:27:36.022] `<<-` <- base::`<<-` [01:27:36.022] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:36.022] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:36.022] 3L)] [01:27:36.022] } [01:27:36.022] function(cond) { [01:27:36.022] is_error <- inherits(cond, "error") [01:27:36.022] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:36.022] NULL) [01:27:36.022] if (is_error) { [01:27:36.022] sessionInformation <- function() { [01:27:36.022] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:36.022] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:36.022] search = base::search(), system = base::Sys.info()) [01:27:36.022] } [01:27:36.022] ...future.conditions[[length(...future.conditions) + [01:27:36.022] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:36.022] cond$call), session = sessionInformation(), [01:27:36.022] timestamp = base::Sys.time(), signaled = 0L) [01:27:36.022] signalCondition(cond) [01:27:36.022] } [01:27:36.022] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:36.022] "immediateCondition"))) { [01:27:36.022] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:36.022] ...future.conditions[[length(...future.conditions) + [01:27:36.022] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:36.022] if (TRUE && !signal) { [01:27:36.022] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.022] { [01:27:36.022] inherits <- base::inherits [01:27:36.022] invokeRestart <- base::invokeRestart [01:27:36.022] is.null <- base::is.null [01:27:36.022] muffled <- FALSE [01:27:36.022] if (inherits(cond, "message")) { [01:27:36.022] muffled <- grepl(pattern, "muffleMessage") [01:27:36.022] if (muffled) [01:27:36.022] invokeRestart("muffleMessage") [01:27:36.022] } [01:27:36.022] else if (inherits(cond, "warning")) { [01:27:36.022] muffled <- grepl(pattern, "muffleWarning") [01:27:36.022] if (muffled) [01:27:36.022] invokeRestart("muffleWarning") [01:27:36.022] } [01:27:36.022] else if (inherits(cond, "condition")) { [01:27:36.022] if (!is.null(pattern)) { [01:27:36.022] computeRestarts <- base::computeRestarts [01:27:36.022] grepl <- base::grepl [01:27:36.022] restarts <- computeRestarts(cond) [01:27:36.022] for (restart in restarts) { [01:27:36.022] name <- restart$name [01:27:36.022] if (is.null(name)) [01:27:36.022] next [01:27:36.022] if (!grepl(pattern, name)) [01:27:36.022] next [01:27:36.022] invokeRestart(restart) [01:27:36.022] muffled <- TRUE [01:27:36.022] break [01:27:36.022] } [01:27:36.022] } [01:27:36.022] } [01:27:36.022] invisible(muffled) [01:27:36.022] } [01:27:36.022] muffleCondition(cond, pattern = "^muffle") [01:27:36.022] } [01:27:36.022] } [01:27:36.022] else { [01:27:36.022] if (TRUE) { [01:27:36.022] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.022] { [01:27:36.022] inherits <- base::inherits [01:27:36.022] invokeRestart <- base::invokeRestart [01:27:36.022] is.null <- base::is.null [01:27:36.022] muffled <- FALSE [01:27:36.022] if (inherits(cond, "message")) { [01:27:36.022] muffled <- grepl(pattern, "muffleMessage") [01:27:36.022] if (muffled) [01:27:36.022] invokeRestart("muffleMessage") [01:27:36.022] } [01:27:36.022] else if (inherits(cond, "warning")) { [01:27:36.022] muffled <- grepl(pattern, "muffleWarning") [01:27:36.022] if (muffled) [01:27:36.022] invokeRestart("muffleWarning") [01:27:36.022] } [01:27:36.022] else if (inherits(cond, "condition")) { [01:27:36.022] if (!is.null(pattern)) { [01:27:36.022] computeRestarts <- base::computeRestarts [01:27:36.022] grepl <- base::grepl [01:27:36.022] restarts <- computeRestarts(cond) [01:27:36.022] for (restart in restarts) { [01:27:36.022] name <- restart$name [01:27:36.022] if (is.null(name)) [01:27:36.022] next [01:27:36.022] if (!grepl(pattern, name)) [01:27:36.022] next [01:27:36.022] invokeRestart(restart) [01:27:36.022] muffled <- TRUE [01:27:36.022] break [01:27:36.022] } [01:27:36.022] } [01:27:36.022] } [01:27:36.022] invisible(muffled) [01:27:36.022] } [01:27:36.022] muffleCondition(cond, pattern = "^muffle") [01:27:36.022] } [01:27:36.022] } [01:27:36.022] } [01:27:36.022] })) [01:27:36.022] }, error = function(ex) { [01:27:36.022] base::structure(base::list(value = NULL, visible = NULL, [01:27:36.022] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.022] ...future.rng), started = ...future.startTime, [01:27:36.022] finished = Sys.time(), session_uuid = NA_character_, [01:27:36.022] version = "1.8"), class = "FutureResult") [01:27:36.022] }, finally = { [01:27:36.022] if (!identical(...future.workdir, getwd())) [01:27:36.022] setwd(...future.workdir) [01:27:36.022] { [01:27:36.022] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:36.022] ...future.oldOptions$nwarnings <- NULL [01:27:36.022] } [01:27:36.022] base::options(...future.oldOptions) [01:27:36.022] if (.Platform$OS.type == "windows") { [01:27:36.022] old_names <- names(...future.oldEnvVars) [01:27:36.022] envs <- base::Sys.getenv() [01:27:36.022] names <- names(envs) [01:27:36.022] common <- intersect(names, old_names) [01:27:36.022] added <- setdiff(names, old_names) [01:27:36.022] removed <- setdiff(old_names, names) [01:27:36.022] changed <- common[...future.oldEnvVars[common] != [01:27:36.022] envs[common]] [01:27:36.022] NAMES <- toupper(changed) [01:27:36.022] args <- list() [01:27:36.022] for (kk in seq_along(NAMES)) { [01:27:36.022] name <- changed[[kk]] [01:27:36.022] NAME <- NAMES[[kk]] [01:27:36.022] if (name != NAME && is.element(NAME, old_names)) [01:27:36.022] next [01:27:36.022] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.022] } [01:27:36.022] NAMES <- toupper(added) [01:27:36.022] for (kk in seq_along(NAMES)) { [01:27:36.022] name <- added[[kk]] [01:27:36.022] NAME <- NAMES[[kk]] [01:27:36.022] if (name != NAME && is.element(NAME, old_names)) [01:27:36.022] next [01:27:36.022] args[[name]] <- "" [01:27:36.022] } [01:27:36.022] NAMES <- toupper(removed) [01:27:36.022] for (kk in seq_along(NAMES)) { [01:27:36.022] name <- removed[[kk]] [01:27:36.022] NAME <- NAMES[[kk]] [01:27:36.022] if (name != NAME && is.element(NAME, old_names)) [01:27:36.022] next [01:27:36.022] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.022] } [01:27:36.022] if (length(args) > 0) [01:27:36.022] base::do.call(base::Sys.setenv, args = args) [01:27:36.022] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:36.022] } [01:27:36.022] else { [01:27:36.022] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:36.022] } [01:27:36.022] { [01:27:36.022] if (base::length(...future.futureOptionsAdded) > [01:27:36.022] 0L) { [01:27:36.022] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:36.022] base::names(opts) <- ...future.futureOptionsAdded [01:27:36.022] base::options(opts) [01:27:36.022] } [01:27:36.022] { [01:27:36.022] { [01:27:36.022] NULL [01:27:36.022] RNGkind("Mersenne-Twister") [01:27:36.022] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:36.022] inherits = FALSE) [01:27:36.022] } [01:27:36.022] options(future.plan = NULL) [01:27:36.022] if (is.na(NA_character_)) [01:27:36.022] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.022] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:36.022] future::plan(list(function (..., envir = parent.frame()) [01:27:36.022] { [01:27:36.022] future <- SequentialFuture(..., envir = envir) [01:27:36.022] if (!future$lazy) [01:27:36.022] future <- run(future) [01:27:36.022] invisible(future) [01:27:36.022] }), .cleanup = FALSE, .init = FALSE) [01:27:36.022] } [01:27:36.022] } [01:27:36.022] } [01:27:36.022] }) [01:27:36.022] if (TRUE) { [01:27:36.022] base::sink(type = "output", split = FALSE) [01:27:36.022] if (TRUE) { [01:27:36.022] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:36.022] } [01:27:36.022] else { [01:27:36.022] ...future.result["stdout"] <- base::list(NULL) [01:27:36.022] } [01:27:36.022] base::close(...future.stdout) [01:27:36.022] ...future.stdout <- NULL [01:27:36.022] } [01:27:36.022] ...future.result$conditions <- ...future.conditions [01:27:36.022] ...future.result$finished <- base::Sys.time() [01:27:36.022] ...future.result [01:27:36.022] } [01:27:36.026] assign_globals() ... [01:27:36.026] List of 1 [01:27:36.026] $ ii: int 2 [01:27:36.026] - attr(*, "where")=List of 1 [01:27:36.026] ..$ ii: [01:27:36.026] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:27:36.026] - attr(*, "resolved")= logi FALSE [01:27:36.026] - attr(*, "total_size")= num 56 [01:27:36.026] - attr(*, "already-done")= logi TRUE [01:27:36.029] - copied 'ii' to environment [01:27:36.029] assign_globals() ... done [01:27:36.030] plan(): Setting new future strategy stack: [01:27:36.030] List of future strategies: [01:27:36.030] 1. sequential: [01:27:36.030] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.030] - tweaked: FALSE [01:27:36.030] - call: NULL [01:27:36.030] plan(): nbrOfWorkers() = 1 [01:27:36.032] plan(): Setting new future strategy stack: [01:27:36.032] List of future strategies: [01:27:36.032] 1. sequential: [01:27:36.032] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.032] - tweaked: FALSE [01:27:36.032] - call: plan(strategy) [01:27:36.033] plan(): nbrOfWorkers() = 1 [01:27:36.033] SequentialFuture started (and completed) [01:27:36.033] signalConditions() ... [01:27:36.033] - include = 'immediateCondition' [01:27:36.034] - exclude = [01:27:36.034] - resignal = FALSE [01:27:36.034] - Number of conditions: 1 [01:27:36.034] signalConditions() ... done [01:27:36.034] - Launch lazy future ... done [01:27:36.034] run() for 'SequentialFuture' ... done [01:27:36.035] getGlobalsAndPackages() ... [01:27:36.035] Searching for globals... [01:27:36.039] - globals found: [6] '{', 'if', '==', '%%', 'ii', 'stop' [01:27:36.039] Searching for globals ... DONE [01:27:36.039] Resolving globals: FALSE [01:27:36.040] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:36.040] The total size of the 1 globals exported for future expression ('{; if (ii%%2 == 0); stop("Woops!"); ii; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [01:27:36.040] - globals: [1] 'ii' [01:27:36.041] [01:27:36.041] getGlobalsAndPackages() ... DONE [01:27:36.041] run() for 'Future' ... [01:27:36.041] - state: 'created' [01:27:36.041] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:36.042] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:36.042] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:36.042] - Field: 'label' [01:27:36.042] - Field: 'local' [01:27:36.042] - Field: 'owner' [01:27:36.043] - Field: 'envir' [01:27:36.043] - Field: 'packages' [01:27:36.043] - Field: 'gc' [01:27:36.043] - Field: 'conditions' [01:27:36.043] - Field: 'expr' [01:27:36.044] - Field: 'uuid' [01:27:36.044] - Field: 'seed' [01:27:36.044] - Field: 'version' [01:27:36.044] - Field: 'result' [01:27:36.044] - Field: 'asynchronous' [01:27:36.044] - Field: 'calls' [01:27:36.045] - Field: 'globals' [01:27:36.045] - Field: 'stdout' [01:27:36.045] - Field: 'earlySignal' [01:27:36.045] - Field: 'lazy' [01:27:36.045] - Field: 'state' [01:27:36.045] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:36.046] - Launch lazy future ... [01:27:36.046] Packages needed by the future expression (n = 0): [01:27:36.046] Packages needed by future strategies (n = 0): [01:27:36.047] { [01:27:36.047] { [01:27:36.047] { [01:27:36.047] ...future.startTime <- base::Sys.time() [01:27:36.047] { [01:27:36.047] { [01:27:36.047] { [01:27:36.047] base::local({ [01:27:36.047] has_future <- base::requireNamespace("future", [01:27:36.047] quietly = TRUE) [01:27:36.047] if (has_future) { [01:27:36.047] ns <- base::getNamespace("future") [01:27:36.047] version <- ns[[".package"]][["version"]] [01:27:36.047] if (is.null(version)) [01:27:36.047] version <- utils::packageVersion("future") [01:27:36.047] } [01:27:36.047] else { [01:27:36.047] version <- NULL [01:27:36.047] } [01:27:36.047] if (!has_future || version < "1.8.0") { [01:27:36.047] info <- base::c(r_version = base::gsub("R version ", [01:27:36.047] "", base::R.version$version.string), [01:27:36.047] platform = base::sprintf("%s (%s-bit)", [01:27:36.047] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:36.047] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:36.047] "release", "version")], collapse = " "), [01:27:36.047] hostname = base::Sys.info()[["nodename"]]) [01:27:36.047] info <- base::sprintf("%s: %s", base::names(info), [01:27:36.047] info) [01:27:36.047] info <- base::paste(info, collapse = "; ") [01:27:36.047] if (!has_future) { [01:27:36.047] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:36.047] info) [01:27:36.047] } [01:27:36.047] else { [01:27:36.047] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:36.047] info, version) [01:27:36.047] } [01:27:36.047] base::stop(msg) [01:27:36.047] } [01:27:36.047] }) [01:27:36.047] } [01:27:36.047] options(future.plan = NULL) [01:27:36.047] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.047] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:36.047] } [01:27:36.047] ...future.workdir <- getwd() [01:27:36.047] } [01:27:36.047] ...future.oldOptions <- base::as.list(base::.Options) [01:27:36.047] ...future.oldEnvVars <- base::Sys.getenv() [01:27:36.047] } [01:27:36.047] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:36.047] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:36.047] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:36.047] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:36.047] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:36.047] future.stdout.windows.reencode = NULL, width = 80L) [01:27:36.047] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:36.047] base::names(...future.oldOptions)) [01:27:36.047] } [01:27:36.047] if (FALSE) { [01:27:36.047] } [01:27:36.047] else { [01:27:36.047] if (TRUE) { [01:27:36.047] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:36.047] open = "w") [01:27:36.047] } [01:27:36.047] else { [01:27:36.047] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:36.047] windows = "NUL", "/dev/null"), open = "w") [01:27:36.047] } [01:27:36.047] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:36.047] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:36.047] base::sink(type = "output", split = FALSE) [01:27:36.047] base::close(...future.stdout) [01:27:36.047] }, add = TRUE) [01:27:36.047] } [01:27:36.047] ...future.frame <- base::sys.nframe() [01:27:36.047] ...future.conditions <- base::list() [01:27:36.047] ...future.rng <- base::globalenv()$.Random.seed [01:27:36.047] if (FALSE) { [01:27:36.047] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:36.047] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:36.047] } [01:27:36.047] ...future.result <- base::tryCatch({ [01:27:36.047] base::withCallingHandlers({ [01:27:36.047] ...future.value <- base::withVisible(base::local({ [01:27:36.047] if (ii%%2 == 0) [01:27:36.047] stop("Woops!") [01:27:36.047] ii [01:27:36.047] })) [01:27:36.047] future::FutureResult(value = ...future.value$value, [01:27:36.047] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.047] ...future.rng), globalenv = if (FALSE) [01:27:36.047] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:36.047] ...future.globalenv.names)) [01:27:36.047] else NULL, started = ...future.startTime, version = "1.8") [01:27:36.047] }, condition = base::local({ [01:27:36.047] c <- base::c [01:27:36.047] inherits <- base::inherits [01:27:36.047] invokeRestart <- base::invokeRestart [01:27:36.047] length <- base::length [01:27:36.047] list <- base::list [01:27:36.047] seq.int <- base::seq.int [01:27:36.047] signalCondition <- base::signalCondition [01:27:36.047] sys.calls <- base::sys.calls [01:27:36.047] `[[` <- base::`[[` [01:27:36.047] `+` <- base::`+` [01:27:36.047] `<<-` <- base::`<<-` [01:27:36.047] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:36.047] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:36.047] 3L)] [01:27:36.047] } [01:27:36.047] function(cond) { [01:27:36.047] is_error <- inherits(cond, "error") [01:27:36.047] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:36.047] NULL) [01:27:36.047] if (is_error) { [01:27:36.047] sessionInformation <- function() { [01:27:36.047] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:36.047] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:36.047] search = base::search(), system = base::Sys.info()) [01:27:36.047] } [01:27:36.047] ...future.conditions[[length(...future.conditions) + [01:27:36.047] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:36.047] cond$call), session = sessionInformation(), [01:27:36.047] timestamp = base::Sys.time(), signaled = 0L) [01:27:36.047] signalCondition(cond) [01:27:36.047] } [01:27:36.047] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:36.047] "immediateCondition"))) { [01:27:36.047] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:36.047] ...future.conditions[[length(...future.conditions) + [01:27:36.047] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:36.047] if (TRUE && !signal) { [01:27:36.047] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.047] { [01:27:36.047] inherits <- base::inherits [01:27:36.047] invokeRestart <- base::invokeRestart [01:27:36.047] is.null <- base::is.null [01:27:36.047] muffled <- FALSE [01:27:36.047] if (inherits(cond, "message")) { [01:27:36.047] muffled <- grepl(pattern, "muffleMessage") [01:27:36.047] if (muffled) [01:27:36.047] invokeRestart("muffleMessage") [01:27:36.047] } [01:27:36.047] else if (inherits(cond, "warning")) { [01:27:36.047] muffled <- grepl(pattern, "muffleWarning") [01:27:36.047] if (muffled) [01:27:36.047] invokeRestart("muffleWarning") [01:27:36.047] } [01:27:36.047] else if (inherits(cond, "condition")) { [01:27:36.047] if (!is.null(pattern)) { [01:27:36.047] computeRestarts <- base::computeRestarts [01:27:36.047] grepl <- base::grepl [01:27:36.047] restarts <- computeRestarts(cond) [01:27:36.047] for (restart in restarts) { [01:27:36.047] name <- restart$name [01:27:36.047] if (is.null(name)) [01:27:36.047] next [01:27:36.047] if (!grepl(pattern, name)) [01:27:36.047] next [01:27:36.047] invokeRestart(restart) [01:27:36.047] muffled <- TRUE [01:27:36.047] break [01:27:36.047] } [01:27:36.047] } [01:27:36.047] } [01:27:36.047] invisible(muffled) [01:27:36.047] } [01:27:36.047] muffleCondition(cond, pattern = "^muffle") [01:27:36.047] } [01:27:36.047] } [01:27:36.047] else { [01:27:36.047] if (TRUE) { [01:27:36.047] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.047] { [01:27:36.047] inherits <- base::inherits [01:27:36.047] invokeRestart <- base::invokeRestart [01:27:36.047] is.null <- base::is.null [01:27:36.047] muffled <- FALSE [01:27:36.047] if (inherits(cond, "message")) { [01:27:36.047] muffled <- grepl(pattern, "muffleMessage") [01:27:36.047] if (muffled) [01:27:36.047] invokeRestart("muffleMessage") [01:27:36.047] } [01:27:36.047] else if (inherits(cond, "warning")) { [01:27:36.047] muffled <- grepl(pattern, "muffleWarning") [01:27:36.047] if (muffled) [01:27:36.047] invokeRestart("muffleWarning") [01:27:36.047] } [01:27:36.047] else if (inherits(cond, "condition")) { [01:27:36.047] if (!is.null(pattern)) { [01:27:36.047] computeRestarts <- base::computeRestarts [01:27:36.047] grepl <- base::grepl [01:27:36.047] restarts <- computeRestarts(cond) [01:27:36.047] for (restart in restarts) { [01:27:36.047] name <- restart$name [01:27:36.047] if (is.null(name)) [01:27:36.047] next [01:27:36.047] if (!grepl(pattern, name)) [01:27:36.047] next [01:27:36.047] invokeRestart(restart) [01:27:36.047] muffled <- TRUE [01:27:36.047] break [01:27:36.047] } [01:27:36.047] } [01:27:36.047] } [01:27:36.047] invisible(muffled) [01:27:36.047] } [01:27:36.047] muffleCondition(cond, pattern = "^muffle") [01:27:36.047] } [01:27:36.047] } [01:27:36.047] } [01:27:36.047] })) [01:27:36.047] }, error = function(ex) { [01:27:36.047] base::structure(base::list(value = NULL, visible = NULL, [01:27:36.047] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.047] ...future.rng), started = ...future.startTime, [01:27:36.047] finished = Sys.time(), session_uuid = NA_character_, [01:27:36.047] version = "1.8"), class = "FutureResult") [01:27:36.047] }, finally = { [01:27:36.047] if (!identical(...future.workdir, getwd())) [01:27:36.047] setwd(...future.workdir) [01:27:36.047] { [01:27:36.047] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:36.047] ...future.oldOptions$nwarnings <- NULL [01:27:36.047] } [01:27:36.047] base::options(...future.oldOptions) [01:27:36.047] if (.Platform$OS.type == "windows") { [01:27:36.047] old_names <- names(...future.oldEnvVars) [01:27:36.047] envs <- base::Sys.getenv() [01:27:36.047] names <- names(envs) [01:27:36.047] common <- intersect(names, old_names) [01:27:36.047] added <- setdiff(names, old_names) [01:27:36.047] removed <- setdiff(old_names, names) [01:27:36.047] changed <- common[...future.oldEnvVars[common] != [01:27:36.047] envs[common]] [01:27:36.047] NAMES <- toupper(changed) [01:27:36.047] args <- list() [01:27:36.047] for (kk in seq_along(NAMES)) { [01:27:36.047] name <- changed[[kk]] [01:27:36.047] NAME <- NAMES[[kk]] [01:27:36.047] if (name != NAME && is.element(NAME, old_names)) [01:27:36.047] next [01:27:36.047] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.047] } [01:27:36.047] NAMES <- toupper(added) [01:27:36.047] for (kk in seq_along(NAMES)) { [01:27:36.047] name <- added[[kk]] [01:27:36.047] NAME <- NAMES[[kk]] [01:27:36.047] if (name != NAME && is.element(NAME, old_names)) [01:27:36.047] next [01:27:36.047] args[[name]] <- "" [01:27:36.047] } [01:27:36.047] NAMES <- toupper(removed) [01:27:36.047] for (kk in seq_along(NAMES)) { [01:27:36.047] name <- removed[[kk]] [01:27:36.047] NAME <- NAMES[[kk]] [01:27:36.047] if (name != NAME && is.element(NAME, old_names)) [01:27:36.047] next [01:27:36.047] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.047] } [01:27:36.047] if (length(args) > 0) [01:27:36.047] base::do.call(base::Sys.setenv, args = args) [01:27:36.047] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:36.047] } [01:27:36.047] else { [01:27:36.047] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:36.047] } [01:27:36.047] { [01:27:36.047] if (base::length(...future.futureOptionsAdded) > [01:27:36.047] 0L) { [01:27:36.047] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:36.047] base::names(opts) <- ...future.futureOptionsAdded [01:27:36.047] base::options(opts) [01:27:36.047] } [01:27:36.047] { [01:27:36.047] { [01:27:36.047] NULL [01:27:36.047] RNGkind("Mersenne-Twister") [01:27:36.047] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:36.047] inherits = FALSE) [01:27:36.047] } [01:27:36.047] options(future.plan = NULL) [01:27:36.047] if (is.na(NA_character_)) [01:27:36.047] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.047] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:36.047] future::plan(list(function (..., envir = parent.frame()) [01:27:36.047] { [01:27:36.047] future <- SequentialFuture(..., envir = envir) [01:27:36.047] if (!future$lazy) [01:27:36.047] future <- run(future) [01:27:36.047] invisible(future) [01:27:36.047] }), .cleanup = FALSE, .init = FALSE) [01:27:36.047] } [01:27:36.047] } [01:27:36.047] } [01:27:36.047] }) [01:27:36.047] if (TRUE) { [01:27:36.047] base::sink(type = "output", split = FALSE) [01:27:36.047] if (TRUE) { [01:27:36.047] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:36.047] } [01:27:36.047] else { [01:27:36.047] ...future.result["stdout"] <- base::list(NULL) [01:27:36.047] } [01:27:36.047] base::close(...future.stdout) [01:27:36.047] ...future.stdout <- NULL [01:27:36.047] } [01:27:36.047] ...future.result$conditions <- ...future.conditions [01:27:36.047] ...future.result$finished <- base::Sys.time() [01:27:36.047] ...future.result [01:27:36.047] } [01:27:36.051] assign_globals() ... [01:27:36.051] List of 1 [01:27:36.051] $ ii: int 3 [01:27:36.051] - attr(*, "where")=List of 1 [01:27:36.051] ..$ ii: [01:27:36.051] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:27:36.051] - attr(*, "resolved")= logi FALSE [01:27:36.051] - attr(*, "total_size")= num 56 [01:27:36.051] - attr(*, "already-done")= logi TRUE [01:27:36.054] - copied 'ii' to environment [01:27:36.054] assign_globals() ... done [01:27:36.054] plan(): Setting new future strategy stack: [01:27:36.055] List of future strategies: [01:27:36.055] 1. sequential: [01:27:36.055] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.055] - tweaked: FALSE [01:27:36.055] - call: NULL [01:27:36.055] plan(): nbrOfWorkers() = 1 [01:27:36.056] plan(): Setting new future strategy stack: [01:27:36.056] List of future strategies: [01:27:36.056] 1. sequential: [01:27:36.056] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.056] - tweaked: FALSE [01:27:36.056] - call: plan(strategy) [01:27:36.057] plan(): nbrOfWorkers() = 1 [01:27:36.057] SequentialFuture started (and completed) [01:27:36.058] - Launch lazy future ... done [01:27:36.058] run() for 'SequentialFuture' ... done [01:27:36.058] signalConditions() ... [01:27:36.058] - include = 'immediateCondition' [01:27:36.059] - exclude = [01:27:36.059] - resignal = FALSE [01:27:36.059] - Number of conditions: 1 [01:27:36.059] signalConditions() ... done [01:27:36.059] Future state: 'finished' [01:27:36.060] signalConditions() ... [01:27:36.060] - include = 'condition' [01:27:36.060] - exclude = 'immediateCondition' [01:27:36.060] - resignal = TRUE [01:27:36.060] - Number of conditions: 1 [01:27:36.060] - Condition #1: 'simpleError', 'error', 'condition' [01:27:36.061] signalConditions() ... done Warning in get(var, envir = x, inherits = FALSE) : restarting interrupted promise evaluation [01:27:36.062] signalConditions() ... [01:27:36.062] - include = 'immediateCondition' [01:27:36.062] - exclude = [01:27:36.063] - resignal = FALSE [01:27:36.063] - Number of conditions: 1 [01:27:36.063] signalConditions() ... done [01:27:36.063] Future state: 'finished' [01:27:36.063] signalConditions() ... [01:27:36.064] - include = 'condition' [01:27:36.064] - exclude = 'immediateCondition' [01:27:36.064] - resignal = TRUE [01:27:36.064] - Number of conditions: 1 [01:27:36.064] - Condition #1: 'simpleError', 'error', 'condition' [01:27:36.064] signalConditions() ... done Warning in get(var, envir = x, inherits = FALSE) : restarting interrupted promise evaluation [01:27:36.065] signalConditions() ... [01:27:36.065] - include = 'immediateCondition' [01:27:36.065] - exclude = [01:27:36.065] - resignal = FALSE [01:27:36.066] - Number of conditions: 1 [01:27:36.066] signalConditions() ... done [01:27:36.066] Future state: 'finished' [01:27:36.066] signalConditions() ... [01:27:36.066] - include = 'condition' [01:27:36.067] - exclude = 'immediateCondition' [01:27:36.067] - resignal = TRUE [01:27:36.067] - Number of conditions: 1 [01:27:36.067] - Condition #1: 'simpleError', 'error', 'condition' [01:27:36.067] signalConditions() ... done ** Future evaluation with a poor-man's "progress bar" [01:27:36.068] getGlobalsAndPackages() ... [01:27:36.068] Searching for globals... [01:27:36.076] - globals found: [4] '{', 'cat', 'for', ':' [01:27:36.076] Searching for globals ... DONE [01:27:36.077] Resolving globals: FALSE [01:27:36.077] [01:27:36.078] [01:27:36.078] getGlobalsAndPackages() ... DONE [01:27:36.078] run() for 'Future' ... [01:27:36.079] - state: 'created' [01:27:36.079] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:36.080] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:36.080] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:36.080] - Field: 'label' [01:27:36.081] - Field: 'local' [01:27:36.081] - Field: 'owner' [01:27:36.081] - Field: 'envir' [01:27:36.081] - Field: 'packages' [01:27:36.082] - Field: 'gc' [01:27:36.082] - Field: 'conditions' [01:27:36.082] - Field: 'expr' [01:27:36.082] - Field: 'uuid' [01:27:36.083] - Field: 'seed' [01:27:36.083] - Field: 'version' [01:27:36.083] - Field: 'result' [01:27:36.083] - Field: 'asynchronous' [01:27:36.084] - Field: 'calls' [01:27:36.084] - Field: 'globals' [01:27:36.084] - Field: 'stdout' [01:27:36.084] - Field: 'earlySignal' [01:27:36.085] - Field: 'lazy' [01:27:36.085] - Field: 'state' [01:27:36.085] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:36.085] - Launch lazy future ... [01:27:36.086] Packages needed by the future expression (n = 0): [01:27:36.086] Packages needed by future strategies (n = 0): [01:27:36.087] { [01:27:36.087] { [01:27:36.087] { [01:27:36.087] ...future.startTime <- base::Sys.time() [01:27:36.087] { [01:27:36.087] { [01:27:36.087] { [01:27:36.087] base::local({ [01:27:36.087] has_future <- base::requireNamespace("future", [01:27:36.087] quietly = TRUE) [01:27:36.087] if (has_future) { [01:27:36.087] ns <- base::getNamespace("future") [01:27:36.087] version <- ns[[".package"]][["version"]] [01:27:36.087] if (is.null(version)) [01:27:36.087] version <- utils::packageVersion("future") [01:27:36.087] } [01:27:36.087] else { [01:27:36.087] version <- NULL [01:27:36.087] } [01:27:36.087] if (!has_future || version < "1.8.0") { [01:27:36.087] info <- base::c(r_version = base::gsub("R version ", [01:27:36.087] "", base::R.version$version.string), [01:27:36.087] platform = base::sprintf("%s (%s-bit)", [01:27:36.087] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:36.087] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:36.087] "release", "version")], collapse = " "), [01:27:36.087] hostname = base::Sys.info()[["nodename"]]) [01:27:36.087] info <- base::sprintf("%s: %s", base::names(info), [01:27:36.087] info) [01:27:36.087] info <- base::paste(info, collapse = "; ") [01:27:36.087] if (!has_future) { [01:27:36.087] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:36.087] info) [01:27:36.087] } [01:27:36.087] else { [01:27:36.087] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:36.087] info, version) [01:27:36.087] } [01:27:36.087] base::stop(msg) [01:27:36.087] } [01:27:36.087] }) [01:27:36.087] } [01:27:36.087] options(future.plan = NULL) [01:27:36.087] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.087] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:36.087] } [01:27:36.087] ...future.workdir <- getwd() [01:27:36.087] } [01:27:36.087] ...future.oldOptions <- base::as.list(base::.Options) [01:27:36.087] ...future.oldEnvVars <- base::Sys.getenv() [01:27:36.087] } [01:27:36.087] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:36.087] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:36.087] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:36.087] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:36.087] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:36.087] future.stdout.windows.reencode = NULL, width = 80L) [01:27:36.087] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:36.087] base::names(...future.oldOptions)) [01:27:36.087] } [01:27:36.087] if (FALSE) { [01:27:36.087] } [01:27:36.087] else { [01:27:36.087] if (TRUE) { [01:27:36.087] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:36.087] open = "w") [01:27:36.087] } [01:27:36.087] else { [01:27:36.087] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:36.087] windows = "NUL", "/dev/null"), open = "w") [01:27:36.087] } [01:27:36.087] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:36.087] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:36.087] base::sink(type = "output", split = FALSE) [01:27:36.087] base::close(...future.stdout) [01:27:36.087] }, add = TRUE) [01:27:36.087] } [01:27:36.087] ...future.frame <- base::sys.nframe() [01:27:36.087] ...future.conditions <- base::list() [01:27:36.087] ...future.rng <- base::globalenv()$.Random.seed [01:27:36.087] if (FALSE) { [01:27:36.087] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:36.087] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:36.087] } [01:27:36.087] ...future.result <- base::tryCatch({ [01:27:36.087] base::withCallingHandlers({ [01:27:36.087] ...future.value <- base::withVisible(base::local({ [01:27:36.087] cat("Processing: ") [01:27:36.087] for (ii in 1:10) { [01:27:36.087] cat(".") [01:27:36.087] } [01:27:36.087] cat(" [100%]\n") [01:27:36.087] 4 [01:27:36.087] })) [01:27:36.087] future::FutureResult(value = ...future.value$value, [01:27:36.087] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.087] ...future.rng), globalenv = if (FALSE) [01:27:36.087] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:36.087] ...future.globalenv.names)) [01:27:36.087] else NULL, started = ...future.startTime, version = "1.8") [01:27:36.087] }, condition = base::local({ [01:27:36.087] c <- base::c [01:27:36.087] inherits <- base::inherits [01:27:36.087] invokeRestart <- base::invokeRestart [01:27:36.087] length <- base::length [01:27:36.087] list <- base::list [01:27:36.087] seq.int <- base::seq.int [01:27:36.087] signalCondition <- base::signalCondition [01:27:36.087] sys.calls <- base::sys.calls [01:27:36.087] `[[` <- base::`[[` [01:27:36.087] `+` <- base::`+` [01:27:36.087] `<<-` <- base::`<<-` [01:27:36.087] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:36.087] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:36.087] 3L)] [01:27:36.087] } [01:27:36.087] function(cond) { [01:27:36.087] is_error <- inherits(cond, "error") [01:27:36.087] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:36.087] NULL) [01:27:36.087] if (is_error) { [01:27:36.087] sessionInformation <- function() { [01:27:36.087] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:36.087] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:36.087] search = base::search(), system = base::Sys.info()) [01:27:36.087] } [01:27:36.087] ...future.conditions[[length(...future.conditions) + [01:27:36.087] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:36.087] cond$call), session = sessionInformation(), [01:27:36.087] timestamp = base::Sys.time(), signaled = 0L) [01:27:36.087] signalCondition(cond) [01:27:36.087] } [01:27:36.087] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:36.087] "immediateCondition"))) { [01:27:36.087] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:36.087] ...future.conditions[[length(...future.conditions) + [01:27:36.087] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:36.087] if (TRUE && !signal) { [01:27:36.087] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.087] { [01:27:36.087] inherits <- base::inherits [01:27:36.087] invokeRestart <- base::invokeRestart [01:27:36.087] is.null <- base::is.null [01:27:36.087] muffled <- FALSE [01:27:36.087] if (inherits(cond, "message")) { [01:27:36.087] muffled <- grepl(pattern, "muffleMessage") [01:27:36.087] if (muffled) [01:27:36.087] invokeRestart("muffleMessage") [01:27:36.087] } [01:27:36.087] else if (inherits(cond, "warning")) { [01:27:36.087] muffled <- grepl(pattern, "muffleWarning") [01:27:36.087] if (muffled) [01:27:36.087] invokeRestart("muffleWarning") [01:27:36.087] } [01:27:36.087] else if (inherits(cond, "condition")) { [01:27:36.087] if (!is.null(pattern)) { [01:27:36.087] computeRestarts <- base::computeRestarts [01:27:36.087] grepl <- base::grepl [01:27:36.087] restarts <- computeRestarts(cond) [01:27:36.087] for (restart in restarts) { [01:27:36.087] name <- restart$name [01:27:36.087] if (is.null(name)) [01:27:36.087] next [01:27:36.087] if (!grepl(pattern, name)) [01:27:36.087] next [01:27:36.087] invokeRestart(restart) [01:27:36.087] muffled <- TRUE [01:27:36.087] break [01:27:36.087] } [01:27:36.087] } [01:27:36.087] } [01:27:36.087] invisible(muffled) [01:27:36.087] } [01:27:36.087] muffleCondition(cond, pattern = "^muffle") [01:27:36.087] } [01:27:36.087] } [01:27:36.087] else { [01:27:36.087] if (TRUE) { [01:27:36.087] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.087] { [01:27:36.087] inherits <- base::inherits [01:27:36.087] invokeRestart <- base::invokeRestart [01:27:36.087] is.null <- base::is.null [01:27:36.087] muffled <- FALSE [01:27:36.087] if (inherits(cond, "message")) { [01:27:36.087] muffled <- grepl(pattern, "muffleMessage") [01:27:36.087] if (muffled) [01:27:36.087] invokeRestart("muffleMessage") [01:27:36.087] } [01:27:36.087] else if (inherits(cond, "warning")) { [01:27:36.087] muffled <- grepl(pattern, "muffleWarning") [01:27:36.087] if (muffled) [01:27:36.087] invokeRestart("muffleWarning") [01:27:36.087] } [01:27:36.087] else if (inherits(cond, "condition")) { [01:27:36.087] if (!is.null(pattern)) { [01:27:36.087] computeRestarts <- base::computeRestarts [01:27:36.087] grepl <- base::grepl [01:27:36.087] restarts <- computeRestarts(cond) [01:27:36.087] for (restart in restarts) { [01:27:36.087] name <- restart$name [01:27:36.087] if (is.null(name)) [01:27:36.087] next [01:27:36.087] if (!grepl(pattern, name)) [01:27:36.087] next [01:27:36.087] invokeRestart(restart) [01:27:36.087] muffled <- TRUE [01:27:36.087] break [01:27:36.087] } [01:27:36.087] } [01:27:36.087] } [01:27:36.087] invisible(muffled) [01:27:36.087] } [01:27:36.087] muffleCondition(cond, pattern = "^muffle") [01:27:36.087] } [01:27:36.087] } [01:27:36.087] } [01:27:36.087] })) [01:27:36.087] }, error = function(ex) { [01:27:36.087] base::structure(base::list(value = NULL, visible = NULL, [01:27:36.087] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.087] ...future.rng), started = ...future.startTime, [01:27:36.087] finished = Sys.time(), session_uuid = NA_character_, [01:27:36.087] version = "1.8"), class = "FutureResult") [01:27:36.087] }, finally = { [01:27:36.087] if (!identical(...future.workdir, getwd())) [01:27:36.087] setwd(...future.workdir) [01:27:36.087] { [01:27:36.087] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:36.087] ...future.oldOptions$nwarnings <- NULL [01:27:36.087] } [01:27:36.087] base::options(...future.oldOptions) [01:27:36.087] if (.Platform$OS.type == "windows") { [01:27:36.087] old_names <- names(...future.oldEnvVars) [01:27:36.087] envs <- base::Sys.getenv() [01:27:36.087] names <- names(envs) [01:27:36.087] common <- intersect(names, old_names) [01:27:36.087] added <- setdiff(names, old_names) [01:27:36.087] removed <- setdiff(old_names, names) [01:27:36.087] changed <- common[...future.oldEnvVars[common] != [01:27:36.087] envs[common]] [01:27:36.087] NAMES <- toupper(changed) [01:27:36.087] args <- list() [01:27:36.087] for (kk in seq_along(NAMES)) { [01:27:36.087] name <- changed[[kk]] [01:27:36.087] NAME <- NAMES[[kk]] [01:27:36.087] if (name != NAME && is.element(NAME, old_names)) [01:27:36.087] next [01:27:36.087] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.087] } [01:27:36.087] NAMES <- toupper(added) [01:27:36.087] for (kk in seq_along(NAMES)) { [01:27:36.087] name <- added[[kk]] [01:27:36.087] NAME <- NAMES[[kk]] [01:27:36.087] if (name != NAME && is.element(NAME, old_names)) [01:27:36.087] next [01:27:36.087] args[[name]] <- "" [01:27:36.087] } [01:27:36.087] NAMES <- toupper(removed) [01:27:36.087] for (kk in seq_along(NAMES)) { [01:27:36.087] name <- removed[[kk]] [01:27:36.087] NAME <- NAMES[[kk]] [01:27:36.087] if (name != NAME && is.element(NAME, old_names)) [01:27:36.087] next [01:27:36.087] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.087] } [01:27:36.087] if (length(args) > 0) [01:27:36.087] base::do.call(base::Sys.setenv, args = args) [01:27:36.087] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:36.087] } [01:27:36.087] else { [01:27:36.087] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:36.087] } [01:27:36.087] { [01:27:36.087] if (base::length(...future.futureOptionsAdded) > [01:27:36.087] 0L) { [01:27:36.087] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:36.087] base::names(opts) <- ...future.futureOptionsAdded [01:27:36.087] base::options(opts) [01:27:36.087] } [01:27:36.087] { [01:27:36.087] { [01:27:36.087] NULL [01:27:36.087] RNGkind("Mersenne-Twister") [01:27:36.087] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:36.087] inherits = FALSE) [01:27:36.087] } [01:27:36.087] options(future.plan = NULL) [01:27:36.087] if (is.na(NA_character_)) [01:27:36.087] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.087] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:36.087] future::plan(list(function (..., envir = parent.frame()) [01:27:36.087] { [01:27:36.087] future <- SequentialFuture(..., envir = envir) [01:27:36.087] if (!future$lazy) [01:27:36.087] future <- run(future) [01:27:36.087] invisible(future) [01:27:36.087] }), .cleanup = FALSE, .init = FALSE) [01:27:36.087] } [01:27:36.087] } [01:27:36.087] } [01:27:36.087] }) [01:27:36.087] if (TRUE) { [01:27:36.087] base::sink(type = "output", split = FALSE) [01:27:36.087] if (TRUE) { [01:27:36.087] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:36.087] } [01:27:36.087] else { [01:27:36.087] ...future.result["stdout"] <- base::list(NULL) [01:27:36.087] } [01:27:36.087] base::close(...future.stdout) [01:27:36.087] ...future.stdout <- NULL [01:27:36.087] } [01:27:36.087] ...future.result$conditions <- ...future.conditions [01:27:36.087] ...future.result$finished <- base::Sys.time() [01:27:36.087] ...future.result [01:27:36.087] } [01:27:36.092] plan(): Setting new future strategy stack: [01:27:36.092] List of future strategies: [01:27:36.092] 1. sequential: [01:27:36.092] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.092] - tweaked: FALSE [01:27:36.092] - call: NULL [01:27:36.093] plan(): nbrOfWorkers() = 1 [01:27:36.095] plan(): Setting new future strategy stack: [01:27:36.095] List of future strategies: [01:27:36.095] 1. sequential: [01:27:36.095] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.095] - tweaked: FALSE [01:27:36.095] - call: plan(strategy) [01:27:36.096] plan(): nbrOfWorkers() = 1 [01:27:36.096] SequentialFuture started (and completed) [01:27:36.097] - Launch lazy future ... done [01:27:36.097] run() for 'SequentialFuture' ... done ** Collecting results v1 = 1 v2 = 2 Warning in sprintf(...) : restarting interrupted promise evaluation [01:27:36.100] signalConditions() ... [01:27:36.100] - include = 'immediateCondition' [01:27:36.100] - exclude = [01:27:36.101] - resignal = FALSE [01:27:36.101] - Number of conditions: 1 [01:27:36.101] signalConditions() ... done [01:27:36.102] Future state: 'finished' [01:27:36.102] signalConditions() ... [01:27:36.102] - include = 'condition' [01:27:36.102] - exclude = 'immediateCondition' [01:27:36.103] - resignal = TRUE [01:27:36.103] - Number of conditions: 1 [01:27:36.103] - Condition #1: 'simpleError', 'error', 'condition' [01:27:36.104] signalConditions() ... done v3: (as expect) Processing: .......... [100%] v4 = 4 ** Left-to-right and right-to-left future assignments [01:27:36.104] getGlobalsAndPackages() ... [01:27:36.105] Searching for globals... [01:27:36.105] [01:27:36.105] Searching for globals ... DONE [01:27:36.106] - globals: [0] [01:27:36.106] getGlobalsAndPackages() ... DONE [01:27:36.106] run() for 'Future' ... [01:27:36.107] - state: 'created' [01:27:36.107] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:36.107] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:36.108] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:36.108] - Field: 'label' [01:27:36.108] - Field: 'local' [01:27:36.108] - Field: 'owner' [01:27:36.109] - Field: 'envir' [01:27:36.109] - Field: 'packages' [01:27:36.109] - Field: 'gc' [01:27:36.110] - Field: 'conditions' [01:27:36.110] - Field: 'expr' [01:27:36.110] - Field: 'uuid' [01:27:36.110] - Field: 'seed' [01:27:36.110] - Field: 'version' [01:27:36.111] - Field: 'result' [01:27:36.111] - Field: 'asynchronous' [01:27:36.111] - Field: 'calls' [01:27:36.112] - Field: 'globals' [01:27:36.112] - Field: 'stdout' [01:27:36.112] - Field: 'earlySignal' [01:27:36.112] - Field: 'lazy' [01:27:36.113] - Field: 'state' [01:27:36.113] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:36.113] - Launch lazy future ... [01:27:36.113] Packages needed by the future expression (n = 0): [01:27:36.114] Packages needed by future strategies (n = 0): [01:27:36.115] { [01:27:36.115] { [01:27:36.115] { [01:27:36.115] ...future.startTime <- base::Sys.time() [01:27:36.115] { [01:27:36.115] { [01:27:36.115] { [01:27:36.115] base::local({ [01:27:36.115] has_future <- base::requireNamespace("future", [01:27:36.115] quietly = TRUE) [01:27:36.115] if (has_future) { [01:27:36.115] ns <- base::getNamespace("future") [01:27:36.115] version <- ns[[".package"]][["version"]] [01:27:36.115] if (is.null(version)) [01:27:36.115] version <- utils::packageVersion("future") [01:27:36.115] } [01:27:36.115] else { [01:27:36.115] version <- NULL [01:27:36.115] } [01:27:36.115] if (!has_future || version < "1.8.0") { [01:27:36.115] info <- base::c(r_version = base::gsub("R version ", [01:27:36.115] "", base::R.version$version.string), [01:27:36.115] platform = base::sprintf("%s (%s-bit)", [01:27:36.115] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:36.115] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:36.115] "release", "version")], collapse = " "), [01:27:36.115] hostname = base::Sys.info()[["nodename"]]) [01:27:36.115] info <- base::sprintf("%s: %s", base::names(info), [01:27:36.115] info) [01:27:36.115] info <- base::paste(info, collapse = "; ") [01:27:36.115] if (!has_future) { [01:27:36.115] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:36.115] info) [01:27:36.115] } [01:27:36.115] else { [01:27:36.115] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:36.115] info, version) [01:27:36.115] } [01:27:36.115] base::stop(msg) [01:27:36.115] } [01:27:36.115] }) [01:27:36.115] } [01:27:36.115] options(future.plan = NULL) [01:27:36.115] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.115] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:36.115] } [01:27:36.115] ...future.workdir <- getwd() [01:27:36.115] } [01:27:36.115] ...future.oldOptions <- base::as.list(base::.Options) [01:27:36.115] ...future.oldEnvVars <- base::Sys.getenv() [01:27:36.115] } [01:27:36.115] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:36.115] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:36.115] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:36.115] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:36.115] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:36.115] future.stdout.windows.reencode = NULL, width = 80L) [01:27:36.115] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:36.115] base::names(...future.oldOptions)) [01:27:36.115] } [01:27:36.115] if (FALSE) { [01:27:36.115] } [01:27:36.115] else { [01:27:36.115] if (TRUE) { [01:27:36.115] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:36.115] open = "w") [01:27:36.115] } [01:27:36.115] else { [01:27:36.115] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:36.115] windows = "NUL", "/dev/null"), open = "w") [01:27:36.115] } [01:27:36.115] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:36.115] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:36.115] base::sink(type = "output", split = FALSE) [01:27:36.115] base::close(...future.stdout) [01:27:36.115] }, add = TRUE) [01:27:36.115] } [01:27:36.115] ...future.frame <- base::sys.nframe() [01:27:36.115] ...future.conditions <- base::list() [01:27:36.115] ...future.rng <- base::globalenv()$.Random.seed [01:27:36.115] if (FALSE) { [01:27:36.115] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:36.115] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:36.115] } [01:27:36.115] ...future.result <- base::tryCatch({ [01:27:36.115] base::withCallingHandlers({ [01:27:36.115] ...future.value <- base::withVisible(base::local(1)) [01:27:36.115] future::FutureResult(value = ...future.value$value, [01:27:36.115] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.115] ...future.rng), globalenv = if (FALSE) [01:27:36.115] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:36.115] ...future.globalenv.names)) [01:27:36.115] else NULL, started = ...future.startTime, version = "1.8") [01:27:36.115] }, condition = base::local({ [01:27:36.115] c <- base::c [01:27:36.115] inherits <- base::inherits [01:27:36.115] invokeRestart <- base::invokeRestart [01:27:36.115] length <- base::length [01:27:36.115] list <- base::list [01:27:36.115] seq.int <- base::seq.int [01:27:36.115] signalCondition <- base::signalCondition [01:27:36.115] sys.calls <- base::sys.calls [01:27:36.115] `[[` <- base::`[[` [01:27:36.115] `+` <- base::`+` [01:27:36.115] `<<-` <- base::`<<-` [01:27:36.115] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:36.115] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:36.115] 3L)] [01:27:36.115] } [01:27:36.115] function(cond) { [01:27:36.115] is_error <- inherits(cond, "error") [01:27:36.115] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:36.115] NULL) [01:27:36.115] if (is_error) { [01:27:36.115] sessionInformation <- function() { [01:27:36.115] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:36.115] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:36.115] search = base::search(), system = base::Sys.info()) [01:27:36.115] } [01:27:36.115] ...future.conditions[[length(...future.conditions) + [01:27:36.115] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:36.115] cond$call), session = sessionInformation(), [01:27:36.115] timestamp = base::Sys.time(), signaled = 0L) [01:27:36.115] signalCondition(cond) [01:27:36.115] } [01:27:36.115] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:36.115] "immediateCondition"))) { [01:27:36.115] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:36.115] ...future.conditions[[length(...future.conditions) + [01:27:36.115] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:36.115] if (TRUE && !signal) { [01:27:36.115] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.115] { [01:27:36.115] inherits <- base::inherits [01:27:36.115] invokeRestart <- base::invokeRestart [01:27:36.115] is.null <- base::is.null [01:27:36.115] muffled <- FALSE [01:27:36.115] if (inherits(cond, "message")) { [01:27:36.115] muffled <- grepl(pattern, "muffleMessage") [01:27:36.115] if (muffled) [01:27:36.115] invokeRestart("muffleMessage") [01:27:36.115] } [01:27:36.115] else if (inherits(cond, "warning")) { [01:27:36.115] muffled <- grepl(pattern, "muffleWarning") [01:27:36.115] if (muffled) [01:27:36.115] invokeRestart("muffleWarning") [01:27:36.115] } [01:27:36.115] else if (inherits(cond, "condition")) { [01:27:36.115] if (!is.null(pattern)) { [01:27:36.115] computeRestarts <- base::computeRestarts [01:27:36.115] grepl <- base::grepl [01:27:36.115] restarts <- computeRestarts(cond) [01:27:36.115] for (restart in restarts) { [01:27:36.115] name <- restart$name [01:27:36.115] if (is.null(name)) [01:27:36.115] next [01:27:36.115] if (!grepl(pattern, name)) [01:27:36.115] next [01:27:36.115] invokeRestart(restart) [01:27:36.115] muffled <- TRUE [01:27:36.115] break [01:27:36.115] } [01:27:36.115] } [01:27:36.115] } [01:27:36.115] invisible(muffled) [01:27:36.115] } [01:27:36.115] muffleCondition(cond, pattern = "^muffle") [01:27:36.115] } [01:27:36.115] } [01:27:36.115] else { [01:27:36.115] if (TRUE) { [01:27:36.115] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.115] { [01:27:36.115] inherits <- base::inherits [01:27:36.115] invokeRestart <- base::invokeRestart [01:27:36.115] is.null <- base::is.null [01:27:36.115] muffled <- FALSE [01:27:36.115] if (inherits(cond, "message")) { [01:27:36.115] muffled <- grepl(pattern, "muffleMessage") [01:27:36.115] if (muffled) [01:27:36.115] invokeRestart("muffleMessage") [01:27:36.115] } [01:27:36.115] else if (inherits(cond, "warning")) { [01:27:36.115] muffled <- grepl(pattern, "muffleWarning") [01:27:36.115] if (muffled) [01:27:36.115] invokeRestart("muffleWarning") [01:27:36.115] } [01:27:36.115] else if (inherits(cond, "condition")) { [01:27:36.115] if (!is.null(pattern)) { [01:27:36.115] computeRestarts <- base::computeRestarts [01:27:36.115] grepl <- base::grepl [01:27:36.115] restarts <- computeRestarts(cond) [01:27:36.115] for (restart in restarts) { [01:27:36.115] name <- restart$name [01:27:36.115] if (is.null(name)) [01:27:36.115] next [01:27:36.115] if (!grepl(pattern, name)) [01:27:36.115] next [01:27:36.115] invokeRestart(restart) [01:27:36.115] muffled <- TRUE [01:27:36.115] break [01:27:36.115] } [01:27:36.115] } [01:27:36.115] } [01:27:36.115] invisible(muffled) [01:27:36.115] } [01:27:36.115] muffleCondition(cond, pattern = "^muffle") [01:27:36.115] } [01:27:36.115] } [01:27:36.115] } [01:27:36.115] })) [01:27:36.115] }, error = function(ex) { [01:27:36.115] base::structure(base::list(value = NULL, visible = NULL, [01:27:36.115] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.115] ...future.rng), started = ...future.startTime, [01:27:36.115] finished = Sys.time(), session_uuid = NA_character_, [01:27:36.115] version = "1.8"), class = "FutureResult") [01:27:36.115] }, finally = { [01:27:36.115] if (!identical(...future.workdir, getwd())) [01:27:36.115] setwd(...future.workdir) [01:27:36.115] { [01:27:36.115] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:36.115] ...future.oldOptions$nwarnings <- NULL [01:27:36.115] } [01:27:36.115] base::options(...future.oldOptions) [01:27:36.115] if (.Platform$OS.type == "windows") { [01:27:36.115] old_names <- names(...future.oldEnvVars) [01:27:36.115] envs <- base::Sys.getenv() [01:27:36.115] names <- names(envs) [01:27:36.115] common <- intersect(names, old_names) [01:27:36.115] added <- setdiff(names, old_names) [01:27:36.115] removed <- setdiff(old_names, names) [01:27:36.115] changed <- common[...future.oldEnvVars[common] != [01:27:36.115] envs[common]] [01:27:36.115] NAMES <- toupper(changed) [01:27:36.115] args <- list() [01:27:36.115] for (kk in seq_along(NAMES)) { [01:27:36.115] name <- changed[[kk]] [01:27:36.115] NAME <- NAMES[[kk]] [01:27:36.115] if (name != NAME && is.element(NAME, old_names)) [01:27:36.115] next [01:27:36.115] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.115] } [01:27:36.115] NAMES <- toupper(added) [01:27:36.115] for (kk in seq_along(NAMES)) { [01:27:36.115] name <- added[[kk]] [01:27:36.115] NAME <- NAMES[[kk]] [01:27:36.115] if (name != NAME && is.element(NAME, old_names)) [01:27:36.115] next [01:27:36.115] args[[name]] <- "" [01:27:36.115] } [01:27:36.115] NAMES <- toupper(removed) [01:27:36.115] for (kk in seq_along(NAMES)) { [01:27:36.115] name <- removed[[kk]] [01:27:36.115] NAME <- NAMES[[kk]] [01:27:36.115] if (name != NAME && is.element(NAME, old_names)) [01:27:36.115] next [01:27:36.115] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.115] } [01:27:36.115] if (length(args) > 0) [01:27:36.115] base::do.call(base::Sys.setenv, args = args) [01:27:36.115] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:36.115] } [01:27:36.115] else { [01:27:36.115] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:36.115] } [01:27:36.115] { [01:27:36.115] if (base::length(...future.futureOptionsAdded) > [01:27:36.115] 0L) { [01:27:36.115] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:36.115] base::names(opts) <- ...future.futureOptionsAdded [01:27:36.115] base::options(opts) [01:27:36.115] } [01:27:36.115] { [01:27:36.115] { [01:27:36.115] NULL [01:27:36.115] RNGkind("Mersenne-Twister") [01:27:36.115] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:36.115] inherits = FALSE) [01:27:36.115] } [01:27:36.115] options(future.plan = NULL) [01:27:36.115] if (is.na(NA_character_)) [01:27:36.115] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.115] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:36.115] future::plan(list(function (..., envir = parent.frame()) [01:27:36.115] { [01:27:36.115] future <- SequentialFuture(..., envir = envir) [01:27:36.115] if (!future$lazy) [01:27:36.115] future <- run(future) [01:27:36.115] invisible(future) [01:27:36.115] }), .cleanup = FALSE, .init = FALSE) [01:27:36.115] } [01:27:36.115] } [01:27:36.115] } [01:27:36.115] }) [01:27:36.115] if (TRUE) { [01:27:36.115] base::sink(type = "output", split = FALSE) [01:27:36.115] if (TRUE) { [01:27:36.115] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:36.115] } [01:27:36.115] else { [01:27:36.115] ...future.result["stdout"] <- base::list(NULL) [01:27:36.115] } [01:27:36.115] base::close(...future.stdout) [01:27:36.115] ...future.stdout <- NULL [01:27:36.115] } [01:27:36.115] ...future.result$conditions <- ...future.conditions [01:27:36.115] ...future.result$finished <- base::Sys.time() [01:27:36.115] ...future.result [01:27:36.115] } [01:27:36.119] plan(): Setting new future strategy stack: [01:27:36.119] List of future strategies: [01:27:36.119] 1. sequential: [01:27:36.119] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.119] - tweaked: FALSE [01:27:36.119] - call: NULL [01:27:36.120] plan(): nbrOfWorkers() = 1 [01:27:36.122] plan(): Setting new future strategy stack: [01:27:36.122] List of future strategies: [01:27:36.122] 1. sequential: [01:27:36.122] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.122] - tweaked: FALSE [01:27:36.122] - call: plan(strategy) [01:27:36.123] plan(): nbrOfWorkers() = 1 [01:27:36.123] SequentialFuture started (and completed) [01:27:36.123] - Launch lazy future ... done [01:27:36.124] run() for 'SequentialFuture' ... done c = 1 [01:27:36.124] getGlobalsAndPackages() ... [01:27:36.125] Searching for globals... [01:27:36.125] [01:27:36.125] Searching for globals ... DONE [01:27:36.126] - globals: [0] [01:27:36.126] getGlobalsAndPackages() ... DONE [01:27:36.126] run() for 'Future' ... [01:27:36.127] - state: 'created' [01:27:36.127] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:36.127] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:36.128] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:36.128] - Field: 'label' [01:27:36.128] - Field: 'local' [01:27:36.128] - Field: 'owner' [01:27:36.130] - Field: 'envir' [01:27:36.131] - Field: 'packages' [01:27:36.131] - Field: 'gc' [01:27:36.131] - Field: 'conditions' [01:27:36.131] - Field: 'expr' [01:27:36.131] - Field: 'uuid' [01:27:36.132] - Field: 'seed' [01:27:36.132] - Field: 'version' [01:27:36.132] - Field: 'result' [01:27:36.132] - Field: 'asynchronous' [01:27:36.133] - Field: 'calls' [01:27:36.133] - Field: 'globals' [01:27:36.133] - Field: 'stdout' [01:27:36.133] - Field: 'earlySignal' [01:27:36.133] - Field: 'lazy' [01:27:36.134] - Field: 'state' [01:27:36.134] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:36.134] - Launch lazy future ... [01:27:36.134] Packages needed by the future expression (n = 0): [01:27:36.134] Packages needed by future strategies (n = 0): [01:27:36.135] { [01:27:36.135] { [01:27:36.135] { [01:27:36.135] ...future.startTime <- base::Sys.time() [01:27:36.135] { [01:27:36.135] { [01:27:36.135] { [01:27:36.135] base::local({ [01:27:36.135] has_future <- base::requireNamespace("future", [01:27:36.135] quietly = TRUE) [01:27:36.135] if (has_future) { [01:27:36.135] ns <- base::getNamespace("future") [01:27:36.135] version <- ns[[".package"]][["version"]] [01:27:36.135] if (is.null(version)) [01:27:36.135] version <- utils::packageVersion("future") [01:27:36.135] } [01:27:36.135] else { [01:27:36.135] version <- NULL [01:27:36.135] } [01:27:36.135] if (!has_future || version < "1.8.0") { [01:27:36.135] info <- base::c(r_version = base::gsub("R version ", [01:27:36.135] "", base::R.version$version.string), [01:27:36.135] platform = base::sprintf("%s (%s-bit)", [01:27:36.135] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:36.135] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:36.135] "release", "version")], collapse = " "), [01:27:36.135] hostname = base::Sys.info()[["nodename"]]) [01:27:36.135] info <- base::sprintf("%s: %s", base::names(info), [01:27:36.135] info) [01:27:36.135] info <- base::paste(info, collapse = "; ") [01:27:36.135] if (!has_future) { [01:27:36.135] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:36.135] info) [01:27:36.135] } [01:27:36.135] else { [01:27:36.135] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:36.135] info, version) [01:27:36.135] } [01:27:36.135] base::stop(msg) [01:27:36.135] } [01:27:36.135] }) [01:27:36.135] } [01:27:36.135] options(future.plan = NULL) [01:27:36.135] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.135] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:36.135] } [01:27:36.135] ...future.workdir <- getwd() [01:27:36.135] } [01:27:36.135] ...future.oldOptions <- base::as.list(base::.Options) [01:27:36.135] ...future.oldEnvVars <- base::Sys.getenv() [01:27:36.135] } [01:27:36.135] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:36.135] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:36.135] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:36.135] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:36.135] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:36.135] future.stdout.windows.reencode = NULL, width = 80L) [01:27:36.135] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:36.135] base::names(...future.oldOptions)) [01:27:36.135] } [01:27:36.135] if (FALSE) { [01:27:36.135] } [01:27:36.135] else { [01:27:36.135] if (TRUE) { [01:27:36.135] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:36.135] open = "w") [01:27:36.135] } [01:27:36.135] else { [01:27:36.135] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:36.135] windows = "NUL", "/dev/null"), open = "w") [01:27:36.135] } [01:27:36.135] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:36.135] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:36.135] base::sink(type = "output", split = FALSE) [01:27:36.135] base::close(...future.stdout) [01:27:36.135] }, add = TRUE) [01:27:36.135] } [01:27:36.135] ...future.frame <- base::sys.nframe() [01:27:36.135] ...future.conditions <- base::list() [01:27:36.135] ...future.rng <- base::globalenv()$.Random.seed [01:27:36.135] if (FALSE) { [01:27:36.135] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:36.135] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:36.135] } [01:27:36.135] ...future.result <- base::tryCatch({ [01:27:36.135] base::withCallingHandlers({ [01:27:36.135] ...future.value <- base::withVisible(base::local(1)) [01:27:36.135] future::FutureResult(value = ...future.value$value, [01:27:36.135] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.135] ...future.rng), globalenv = if (FALSE) [01:27:36.135] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:36.135] ...future.globalenv.names)) [01:27:36.135] else NULL, started = ...future.startTime, version = "1.8") [01:27:36.135] }, condition = base::local({ [01:27:36.135] c <- base::c [01:27:36.135] inherits <- base::inherits [01:27:36.135] invokeRestart <- base::invokeRestart [01:27:36.135] length <- base::length [01:27:36.135] list <- base::list [01:27:36.135] seq.int <- base::seq.int [01:27:36.135] signalCondition <- base::signalCondition [01:27:36.135] sys.calls <- base::sys.calls [01:27:36.135] `[[` <- base::`[[` [01:27:36.135] `+` <- base::`+` [01:27:36.135] `<<-` <- base::`<<-` [01:27:36.135] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:36.135] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:36.135] 3L)] [01:27:36.135] } [01:27:36.135] function(cond) { [01:27:36.135] is_error <- inherits(cond, "error") [01:27:36.135] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:36.135] NULL) [01:27:36.135] if (is_error) { [01:27:36.135] sessionInformation <- function() { [01:27:36.135] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:36.135] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:36.135] search = base::search(), system = base::Sys.info()) [01:27:36.135] } [01:27:36.135] ...future.conditions[[length(...future.conditions) + [01:27:36.135] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:36.135] cond$call), session = sessionInformation(), [01:27:36.135] timestamp = base::Sys.time(), signaled = 0L) [01:27:36.135] signalCondition(cond) [01:27:36.135] } [01:27:36.135] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:36.135] "immediateCondition"))) { [01:27:36.135] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:36.135] ...future.conditions[[length(...future.conditions) + [01:27:36.135] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:36.135] if (TRUE && !signal) { [01:27:36.135] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.135] { [01:27:36.135] inherits <- base::inherits [01:27:36.135] invokeRestart <- base::invokeRestart [01:27:36.135] is.null <- base::is.null [01:27:36.135] muffled <- FALSE [01:27:36.135] if (inherits(cond, "message")) { [01:27:36.135] muffled <- grepl(pattern, "muffleMessage") [01:27:36.135] if (muffled) [01:27:36.135] invokeRestart("muffleMessage") [01:27:36.135] } [01:27:36.135] else if (inherits(cond, "warning")) { [01:27:36.135] muffled <- grepl(pattern, "muffleWarning") [01:27:36.135] if (muffled) [01:27:36.135] invokeRestart("muffleWarning") [01:27:36.135] } [01:27:36.135] else if (inherits(cond, "condition")) { [01:27:36.135] if (!is.null(pattern)) { [01:27:36.135] computeRestarts <- base::computeRestarts [01:27:36.135] grepl <- base::grepl [01:27:36.135] restarts <- computeRestarts(cond) [01:27:36.135] for (restart in restarts) { [01:27:36.135] name <- restart$name [01:27:36.135] if (is.null(name)) [01:27:36.135] next [01:27:36.135] if (!grepl(pattern, name)) [01:27:36.135] next [01:27:36.135] invokeRestart(restart) [01:27:36.135] muffled <- TRUE [01:27:36.135] break [01:27:36.135] } [01:27:36.135] } [01:27:36.135] } [01:27:36.135] invisible(muffled) [01:27:36.135] } [01:27:36.135] muffleCondition(cond, pattern = "^muffle") [01:27:36.135] } [01:27:36.135] } [01:27:36.135] else { [01:27:36.135] if (TRUE) { [01:27:36.135] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.135] { [01:27:36.135] inherits <- base::inherits [01:27:36.135] invokeRestart <- base::invokeRestart [01:27:36.135] is.null <- base::is.null [01:27:36.135] muffled <- FALSE [01:27:36.135] if (inherits(cond, "message")) { [01:27:36.135] muffled <- grepl(pattern, "muffleMessage") [01:27:36.135] if (muffled) [01:27:36.135] invokeRestart("muffleMessage") [01:27:36.135] } [01:27:36.135] else if (inherits(cond, "warning")) { [01:27:36.135] muffled <- grepl(pattern, "muffleWarning") [01:27:36.135] if (muffled) [01:27:36.135] invokeRestart("muffleWarning") [01:27:36.135] } [01:27:36.135] else if (inherits(cond, "condition")) { [01:27:36.135] if (!is.null(pattern)) { [01:27:36.135] computeRestarts <- base::computeRestarts [01:27:36.135] grepl <- base::grepl [01:27:36.135] restarts <- computeRestarts(cond) [01:27:36.135] for (restart in restarts) { [01:27:36.135] name <- restart$name [01:27:36.135] if (is.null(name)) [01:27:36.135] next [01:27:36.135] if (!grepl(pattern, name)) [01:27:36.135] next [01:27:36.135] invokeRestart(restart) [01:27:36.135] muffled <- TRUE [01:27:36.135] break [01:27:36.135] } [01:27:36.135] } [01:27:36.135] } [01:27:36.135] invisible(muffled) [01:27:36.135] } [01:27:36.135] muffleCondition(cond, pattern = "^muffle") [01:27:36.135] } [01:27:36.135] } [01:27:36.135] } [01:27:36.135] })) [01:27:36.135] }, error = function(ex) { [01:27:36.135] base::structure(base::list(value = NULL, visible = NULL, [01:27:36.135] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.135] ...future.rng), started = ...future.startTime, [01:27:36.135] finished = Sys.time(), session_uuid = NA_character_, [01:27:36.135] version = "1.8"), class = "FutureResult") [01:27:36.135] }, finally = { [01:27:36.135] if (!identical(...future.workdir, getwd())) [01:27:36.135] setwd(...future.workdir) [01:27:36.135] { [01:27:36.135] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:36.135] ...future.oldOptions$nwarnings <- NULL [01:27:36.135] } [01:27:36.135] base::options(...future.oldOptions) [01:27:36.135] if (.Platform$OS.type == "windows") { [01:27:36.135] old_names <- names(...future.oldEnvVars) [01:27:36.135] envs <- base::Sys.getenv() [01:27:36.135] names <- names(envs) [01:27:36.135] common <- intersect(names, old_names) [01:27:36.135] added <- setdiff(names, old_names) [01:27:36.135] removed <- setdiff(old_names, names) [01:27:36.135] changed <- common[...future.oldEnvVars[common] != [01:27:36.135] envs[common]] [01:27:36.135] NAMES <- toupper(changed) [01:27:36.135] args <- list() [01:27:36.135] for (kk in seq_along(NAMES)) { [01:27:36.135] name <- changed[[kk]] [01:27:36.135] NAME <- NAMES[[kk]] [01:27:36.135] if (name != NAME && is.element(NAME, old_names)) [01:27:36.135] next [01:27:36.135] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.135] } [01:27:36.135] NAMES <- toupper(added) [01:27:36.135] for (kk in seq_along(NAMES)) { [01:27:36.135] name <- added[[kk]] [01:27:36.135] NAME <- NAMES[[kk]] [01:27:36.135] if (name != NAME && is.element(NAME, old_names)) [01:27:36.135] next [01:27:36.135] args[[name]] <- "" [01:27:36.135] } [01:27:36.135] NAMES <- toupper(removed) [01:27:36.135] for (kk in seq_along(NAMES)) { [01:27:36.135] name <- removed[[kk]] [01:27:36.135] NAME <- NAMES[[kk]] [01:27:36.135] if (name != NAME && is.element(NAME, old_names)) [01:27:36.135] next [01:27:36.135] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.135] } [01:27:36.135] if (length(args) > 0) [01:27:36.135] base::do.call(base::Sys.setenv, args = args) [01:27:36.135] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:36.135] } [01:27:36.135] else { [01:27:36.135] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:36.135] } [01:27:36.135] { [01:27:36.135] if (base::length(...future.futureOptionsAdded) > [01:27:36.135] 0L) { [01:27:36.135] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:36.135] base::names(opts) <- ...future.futureOptionsAdded [01:27:36.135] base::options(opts) [01:27:36.135] } [01:27:36.135] { [01:27:36.135] { [01:27:36.135] NULL [01:27:36.135] RNGkind("Mersenne-Twister") [01:27:36.135] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:36.135] inherits = FALSE) [01:27:36.135] } [01:27:36.135] options(future.plan = NULL) [01:27:36.135] if (is.na(NA_character_)) [01:27:36.135] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.135] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:36.135] future::plan(list(function (..., envir = parent.frame()) [01:27:36.135] { [01:27:36.135] future <- SequentialFuture(..., envir = envir) [01:27:36.135] if (!future$lazy) [01:27:36.135] future <- run(future) [01:27:36.135] invisible(future) [01:27:36.135] }), .cleanup = FALSE, .init = FALSE) [01:27:36.135] } [01:27:36.135] } [01:27:36.135] } [01:27:36.135] }) [01:27:36.135] if (TRUE) { [01:27:36.135] base::sink(type = "output", split = FALSE) [01:27:36.135] if (TRUE) { [01:27:36.135] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:36.135] } [01:27:36.135] else { [01:27:36.135] ...future.result["stdout"] <- base::list(NULL) [01:27:36.135] } [01:27:36.135] base::close(...future.stdout) [01:27:36.135] ...future.stdout <- NULL [01:27:36.135] } [01:27:36.135] ...future.result$conditions <- ...future.conditions [01:27:36.135] ...future.result$finished <- base::Sys.time() [01:27:36.135] ...future.result [01:27:36.135] } [01:27:36.139] plan(): Setting new future strategy stack: [01:27:36.139] List of future strategies: [01:27:36.139] 1. sequential: [01:27:36.139] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.139] - tweaked: FALSE [01:27:36.139] - call: NULL [01:27:36.140] plan(): nbrOfWorkers() = 1 [01:27:36.141] plan(): Setting new future strategy stack: [01:27:36.142] List of future strategies: [01:27:36.142] 1. sequential: [01:27:36.142] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.142] - tweaked: FALSE [01:27:36.142] - call: plan(strategy) [01:27:36.142] plan(): nbrOfWorkers() = 1 [01:27:36.143] SequentialFuture started (and completed) [01:27:36.143] - Launch lazy future ... done [01:27:36.143] run() for 'SequentialFuture' ... done d = 1 ** Nested future assignments [01:27:36.144] getGlobalsAndPackages() ... [01:27:36.144] Searching for globals... [01:27:36.150] - globals found: [5] '{', '<-', '%<-%', '%->%', '+' [01:27:36.150] Searching for globals ... DONE [01:27:36.150] Resolving globals: FALSE [01:27:36.151] [01:27:36.151] - packages: [1] 'future' [01:27:36.151] getGlobalsAndPackages() ... DONE [01:27:36.151] run() for 'Future' ... [01:27:36.152] - state: 'created' [01:27:36.152] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:36.152] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:36.152] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:36.153] - Field: 'label' [01:27:36.153] - Field: 'local' [01:27:36.153] - Field: 'owner' [01:27:36.153] - Field: 'envir' [01:27:36.153] - Field: 'packages' [01:27:36.154] - Field: 'gc' [01:27:36.154] - Field: 'conditions' [01:27:36.154] - Field: 'expr' [01:27:36.154] - Field: 'uuid' [01:27:36.154] - Field: 'seed' [01:27:36.155] - Field: 'version' [01:27:36.155] - Field: 'result' [01:27:36.155] - Field: 'asynchronous' [01:27:36.155] - Field: 'calls' [01:27:36.155] - Field: 'globals' [01:27:36.156] - Field: 'stdout' [01:27:36.156] - Field: 'earlySignal' [01:27:36.156] - Field: 'lazy' [01:27:36.156] - Field: 'state' [01:27:36.156] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:36.157] - Launch lazy future ... [01:27:36.157] Packages needed by the future expression (n = 1): 'future' [01:27:36.157] Packages needed by future strategies (n = 0): [01:27:36.158] { [01:27:36.158] { [01:27:36.158] { [01:27:36.158] ...future.startTime <- base::Sys.time() [01:27:36.158] { [01:27:36.158] { [01:27:36.158] { [01:27:36.158] { [01:27:36.158] base::local({ [01:27:36.158] has_future <- base::requireNamespace("future", [01:27:36.158] quietly = TRUE) [01:27:36.158] if (has_future) { [01:27:36.158] ns <- base::getNamespace("future") [01:27:36.158] version <- ns[[".package"]][["version"]] [01:27:36.158] if (is.null(version)) [01:27:36.158] version <- utils::packageVersion("future") [01:27:36.158] } [01:27:36.158] else { [01:27:36.158] version <- NULL [01:27:36.158] } [01:27:36.158] if (!has_future || version < "1.8.0") { [01:27:36.158] info <- base::c(r_version = base::gsub("R version ", [01:27:36.158] "", base::R.version$version.string), [01:27:36.158] platform = base::sprintf("%s (%s-bit)", [01:27:36.158] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:36.158] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:36.158] "release", "version")], collapse = " "), [01:27:36.158] hostname = base::Sys.info()[["nodename"]]) [01:27:36.158] info <- base::sprintf("%s: %s", base::names(info), [01:27:36.158] info) [01:27:36.158] info <- base::paste(info, collapse = "; ") [01:27:36.158] if (!has_future) { [01:27:36.158] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:36.158] info) [01:27:36.158] } [01:27:36.158] else { [01:27:36.158] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:36.158] info, version) [01:27:36.158] } [01:27:36.158] base::stop(msg) [01:27:36.158] } [01:27:36.158] }) [01:27:36.158] } [01:27:36.158] base::local({ [01:27:36.158] for (pkg in "future") { [01:27:36.158] base::loadNamespace(pkg) [01:27:36.158] base::library(pkg, character.only = TRUE) [01:27:36.158] } [01:27:36.158] }) [01:27:36.158] } [01:27:36.158] options(future.plan = NULL) [01:27:36.158] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.158] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:36.158] } [01:27:36.158] ...future.workdir <- getwd() [01:27:36.158] } [01:27:36.158] ...future.oldOptions <- base::as.list(base::.Options) [01:27:36.158] ...future.oldEnvVars <- base::Sys.getenv() [01:27:36.158] } [01:27:36.158] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:36.158] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:36.158] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:36.158] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:36.158] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:36.158] future.stdout.windows.reencode = NULL, width = 80L) [01:27:36.158] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:36.158] base::names(...future.oldOptions)) [01:27:36.158] } [01:27:36.158] if (FALSE) { [01:27:36.158] } [01:27:36.158] else { [01:27:36.158] if (TRUE) { [01:27:36.158] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:36.158] open = "w") [01:27:36.158] } [01:27:36.158] else { [01:27:36.158] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:36.158] windows = "NUL", "/dev/null"), open = "w") [01:27:36.158] } [01:27:36.158] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:36.158] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:36.158] base::sink(type = "output", split = FALSE) [01:27:36.158] base::close(...future.stdout) [01:27:36.158] }, add = TRUE) [01:27:36.158] } [01:27:36.158] ...future.frame <- base::sys.nframe() [01:27:36.158] ...future.conditions <- base::list() [01:27:36.158] ...future.rng <- base::globalenv()$.Random.seed [01:27:36.158] if (FALSE) { [01:27:36.158] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:36.158] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:36.158] } [01:27:36.158] ...future.result <- base::tryCatch({ [01:27:36.158] base::withCallingHandlers({ [01:27:36.158] ...future.value <- base::withVisible(base::local({ [01:27:36.158] b <- 1 [01:27:36.158] c %<-% 2 [01:27:36.158] d <- 3 [01:27:36.158] 4 %->% e [01:27:36.158] b + c + d + e [01:27:36.158] })) [01:27:36.158] future::FutureResult(value = ...future.value$value, [01:27:36.158] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.158] ...future.rng), globalenv = if (FALSE) [01:27:36.158] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:36.158] ...future.globalenv.names)) [01:27:36.158] else NULL, started = ...future.startTime, version = "1.8") [01:27:36.158] }, condition = base::local({ [01:27:36.158] c <- base::c [01:27:36.158] inherits <- base::inherits [01:27:36.158] invokeRestart <- base::invokeRestart [01:27:36.158] length <- base::length [01:27:36.158] list <- base::list [01:27:36.158] seq.int <- base::seq.int [01:27:36.158] signalCondition <- base::signalCondition [01:27:36.158] sys.calls <- base::sys.calls [01:27:36.158] `[[` <- base::`[[` [01:27:36.158] `+` <- base::`+` [01:27:36.158] `<<-` <- base::`<<-` [01:27:36.158] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:36.158] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:36.158] 3L)] [01:27:36.158] } [01:27:36.158] function(cond) { [01:27:36.158] is_error <- inherits(cond, "error") [01:27:36.158] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:36.158] NULL) [01:27:36.158] if (is_error) { [01:27:36.158] sessionInformation <- function() { [01:27:36.158] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:36.158] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:36.158] search = base::search(), system = base::Sys.info()) [01:27:36.158] } [01:27:36.158] ...future.conditions[[length(...future.conditions) + [01:27:36.158] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:36.158] cond$call), session = sessionInformation(), [01:27:36.158] timestamp = base::Sys.time(), signaled = 0L) [01:27:36.158] signalCondition(cond) [01:27:36.158] } [01:27:36.158] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:36.158] "immediateCondition"))) { [01:27:36.158] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:36.158] ...future.conditions[[length(...future.conditions) + [01:27:36.158] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:36.158] if (TRUE && !signal) { [01:27:36.158] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.158] { [01:27:36.158] inherits <- base::inherits [01:27:36.158] invokeRestart <- base::invokeRestart [01:27:36.158] is.null <- base::is.null [01:27:36.158] muffled <- FALSE [01:27:36.158] if (inherits(cond, "message")) { [01:27:36.158] muffled <- grepl(pattern, "muffleMessage") [01:27:36.158] if (muffled) [01:27:36.158] invokeRestart("muffleMessage") [01:27:36.158] } [01:27:36.158] else if (inherits(cond, "warning")) { [01:27:36.158] muffled <- grepl(pattern, "muffleWarning") [01:27:36.158] if (muffled) [01:27:36.158] invokeRestart("muffleWarning") [01:27:36.158] } [01:27:36.158] else if (inherits(cond, "condition")) { [01:27:36.158] if (!is.null(pattern)) { [01:27:36.158] computeRestarts <- base::computeRestarts [01:27:36.158] grepl <- base::grepl [01:27:36.158] restarts <- computeRestarts(cond) [01:27:36.158] for (restart in restarts) { [01:27:36.158] name <- restart$name [01:27:36.158] if (is.null(name)) [01:27:36.158] next [01:27:36.158] if (!grepl(pattern, name)) [01:27:36.158] next [01:27:36.158] invokeRestart(restart) [01:27:36.158] muffled <- TRUE [01:27:36.158] break [01:27:36.158] } [01:27:36.158] } [01:27:36.158] } [01:27:36.158] invisible(muffled) [01:27:36.158] } [01:27:36.158] muffleCondition(cond, pattern = "^muffle") [01:27:36.158] } [01:27:36.158] } [01:27:36.158] else { [01:27:36.158] if (TRUE) { [01:27:36.158] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.158] { [01:27:36.158] inherits <- base::inherits [01:27:36.158] invokeRestart <- base::invokeRestart [01:27:36.158] is.null <- base::is.null [01:27:36.158] muffled <- FALSE [01:27:36.158] if (inherits(cond, "message")) { [01:27:36.158] muffled <- grepl(pattern, "muffleMessage") [01:27:36.158] if (muffled) [01:27:36.158] invokeRestart("muffleMessage") [01:27:36.158] } [01:27:36.158] else if (inherits(cond, "warning")) { [01:27:36.158] muffled <- grepl(pattern, "muffleWarning") [01:27:36.158] if (muffled) [01:27:36.158] invokeRestart("muffleWarning") [01:27:36.158] } [01:27:36.158] else if (inherits(cond, "condition")) { [01:27:36.158] if (!is.null(pattern)) { [01:27:36.158] computeRestarts <- base::computeRestarts [01:27:36.158] grepl <- base::grepl [01:27:36.158] restarts <- computeRestarts(cond) [01:27:36.158] for (restart in restarts) { [01:27:36.158] name <- restart$name [01:27:36.158] if (is.null(name)) [01:27:36.158] next [01:27:36.158] if (!grepl(pattern, name)) [01:27:36.158] next [01:27:36.158] invokeRestart(restart) [01:27:36.158] muffled <- TRUE [01:27:36.158] break [01:27:36.158] } [01:27:36.158] } [01:27:36.158] } [01:27:36.158] invisible(muffled) [01:27:36.158] } [01:27:36.158] muffleCondition(cond, pattern = "^muffle") [01:27:36.158] } [01:27:36.158] } [01:27:36.158] } [01:27:36.158] })) [01:27:36.158] }, error = function(ex) { [01:27:36.158] base::structure(base::list(value = NULL, visible = NULL, [01:27:36.158] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.158] ...future.rng), started = ...future.startTime, [01:27:36.158] finished = Sys.time(), session_uuid = NA_character_, [01:27:36.158] version = "1.8"), class = "FutureResult") [01:27:36.158] }, finally = { [01:27:36.158] if (!identical(...future.workdir, getwd())) [01:27:36.158] setwd(...future.workdir) [01:27:36.158] { [01:27:36.158] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:36.158] ...future.oldOptions$nwarnings <- NULL [01:27:36.158] } [01:27:36.158] base::options(...future.oldOptions) [01:27:36.158] if (.Platform$OS.type == "windows") { [01:27:36.158] old_names <- names(...future.oldEnvVars) [01:27:36.158] envs <- base::Sys.getenv() [01:27:36.158] names <- names(envs) [01:27:36.158] common <- intersect(names, old_names) [01:27:36.158] added <- setdiff(names, old_names) [01:27:36.158] removed <- setdiff(old_names, names) [01:27:36.158] changed <- common[...future.oldEnvVars[common] != [01:27:36.158] envs[common]] [01:27:36.158] NAMES <- toupper(changed) [01:27:36.158] args <- list() [01:27:36.158] for (kk in seq_along(NAMES)) { [01:27:36.158] name <- changed[[kk]] [01:27:36.158] NAME <- NAMES[[kk]] [01:27:36.158] if (name != NAME && is.element(NAME, old_names)) [01:27:36.158] next [01:27:36.158] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.158] } [01:27:36.158] NAMES <- toupper(added) [01:27:36.158] for (kk in seq_along(NAMES)) { [01:27:36.158] name <- added[[kk]] [01:27:36.158] NAME <- NAMES[[kk]] [01:27:36.158] if (name != NAME && is.element(NAME, old_names)) [01:27:36.158] next [01:27:36.158] args[[name]] <- "" [01:27:36.158] } [01:27:36.158] NAMES <- toupper(removed) [01:27:36.158] for (kk in seq_along(NAMES)) { [01:27:36.158] name <- removed[[kk]] [01:27:36.158] NAME <- NAMES[[kk]] [01:27:36.158] if (name != NAME && is.element(NAME, old_names)) [01:27:36.158] next [01:27:36.158] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.158] } [01:27:36.158] if (length(args) > 0) [01:27:36.158] base::do.call(base::Sys.setenv, args = args) [01:27:36.158] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:36.158] } [01:27:36.158] else { [01:27:36.158] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:36.158] } [01:27:36.158] { [01:27:36.158] if (base::length(...future.futureOptionsAdded) > [01:27:36.158] 0L) { [01:27:36.158] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:36.158] base::names(opts) <- ...future.futureOptionsAdded [01:27:36.158] base::options(opts) [01:27:36.158] } [01:27:36.158] { [01:27:36.158] { [01:27:36.158] NULL [01:27:36.158] RNGkind("Mersenne-Twister") [01:27:36.158] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:36.158] inherits = FALSE) [01:27:36.158] } [01:27:36.158] options(future.plan = NULL) [01:27:36.158] if (is.na(NA_character_)) [01:27:36.158] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.158] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:36.158] future::plan(list(function (..., envir = parent.frame()) [01:27:36.158] { [01:27:36.158] future <- SequentialFuture(..., envir = envir) [01:27:36.158] if (!future$lazy) [01:27:36.158] future <- run(future) [01:27:36.158] invisible(future) [01:27:36.158] }), .cleanup = FALSE, .init = FALSE) [01:27:36.158] } [01:27:36.158] } [01:27:36.158] } [01:27:36.158] }) [01:27:36.158] if (TRUE) { [01:27:36.158] base::sink(type = "output", split = FALSE) [01:27:36.158] if (TRUE) { [01:27:36.158] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:36.158] } [01:27:36.158] else { [01:27:36.158] ...future.result["stdout"] <- base::list(NULL) [01:27:36.158] } [01:27:36.158] base::close(...future.stdout) [01:27:36.158] ...future.stdout <- NULL [01:27:36.158] } [01:27:36.158] ...future.result$conditions <- ...future.conditions [01:27:36.158] ...future.result$finished <- base::Sys.time() [01:27:36.158] ...future.result [01:27:36.158] } [01:27:36.162] plan(): Setting new future strategy stack: [01:27:36.163] List of future strategies: [01:27:36.163] 1. sequential: [01:27:36.163] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.163] - tweaked: FALSE [01:27:36.163] - call: NULL [01:27:36.163] plan(): nbrOfWorkers() = 1 [01:27:36.216] plan(): Setting new future strategy stack: [01:27:36.216] List of future strategies: [01:27:36.216] 1. sequential: [01:27:36.216] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.216] - tweaked: FALSE [01:27:36.216] - call: plan(strategy) [01:27:36.217] plan(): nbrOfWorkers() = 1 [01:27:36.217] SequentialFuture started (and completed) [01:27:36.217] signalConditions() ... [01:27:36.217] - include = 'immediateCondition' [01:27:36.218] - exclude = [01:27:36.218] - resignal = FALSE [01:27:36.218] - Number of conditions: 88 [01:27:36.218] signalConditions() ... done [01:27:36.218] - Launch lazy future ... done [01:27:36.219] run() for 'SequentialFuture' ... done [01:27:36.219] signalConditions() ... [01:27:36.219] - include = 'immediateCondition' [01:27:36.219] - exclude = [01:27:36.219] - resignal = FALSE [01:27:36.220] - Number of conditions: 88 [01:27:36.220] signalConditions() ... done [01:27:36.220] Future state: 'finished' [01:27:36.220] signalConditions() ... [01:27:36.220] - include = 'condition' [01:27:36.221] - exclude = 'immediateCondition' [01:27:36.221] - resignal = TRUE [01:27:36.221] - Number of conditions: 88 [01:27:36.221] - Condition #1: 'simpleMessage', 'message', 'condition' [01:27:36.164] getGlobalsAndPackages() ... [01:27:36.221] - Condition #2: 'simpleMessage', 'message', 'condition' [01:27:36.165] Searching for globals... [01:27:36.222] - Condition #3: 'simpleMessage', 'message', 'condition' [01:27:36.183] [01:27:36.222] - Condition #4: 'simpleMessage', 'message', 'condition' [01:27:36.183] Searching for globals ... DONE [01:27:36.222] - Condition #5: 'simpleMessage', 'message', 'condition' [01:27:36.183] - globals: [0] [01:27:36.222] - Condition #6: 'simpleMessage', 'message', 'condition' [01:27:36.183] getGlobalsAndPackages() ... DONE [01:27:36.223] - Condition #7: 'simpleMessage', 'message', 'condition' [01:27:36.183] run() for 'Future' ... [01:27:36.223] - Condition #8: 'simpleMessage', 'message', 'condition' [01:27:36.184] - state: 'created' [01:27:36.223] - Condition #9: 'simpleMessage', 'message', 'condition' [01:27:36.184] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:36.223] - Condition #10: 'simpleMessage', 'message', 'condition' [01:27:36.184] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:36.223] - Condition #11: 'simpleMessage', 'message', 'condition' [01:27:36.185] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:36.224] - Condition #12: 'simpleMessage', 'message', 'condition' [01:27:36.185] - Field: 'label' [01:27:36.224] - Condition #13: 'simpleMessage', 'message', 'condition' [01:27:36.185] - Field: 'local' [01:27:36.224] - Condition #14: 'simpleMessage', 'message', 'condition' [01:27:36.185] - Field: 'owner' [01:27:36.224] - Condition #15: 'simpleMessage', 'message', 'condition' [01:27:36.185] - Field: 'envir' [01:27:36.225] - Condition #16: 'simpleMessage', 'message', 'condition' [01:27:36.186] - Field: 'packages' [01:27:36.225] - Condition #17: 'simpleMessage', 'message', 'condition' [01:27:36.186] - Field: 'gc' [01:27:36.225] - Condition #18: 'simpleMessage', 'message', 'condition' [01:27:36.186] - Field: 'conditions' [01:27:36.227] - Condition #19: 'simpleMessage', 'message', 'condition' [01:27:36.186] - Field: 'expr' [01:27:36.227] - Condition #20: 'simpleMessage', 'message', 'condition' [01:27:36.186] - Field: 'uuid' [01:27:36.227] - Condition #21: 'simpleMessage', 'message', 'condition' [01:27:36.187] - Field: 'seed' [01:27:36.228] - Condition #22: 'simpleMessage', 'message', 'condition' [01:27:36.187] - Field: 'version' [01:27:36.228] - Condition #23: 'simpleMessage', 'message', 'condition' [01:27:36.188] - Field: 'result' [01:27:36.228] - Condition #24: 'simpleMessage', 'message', 'condition' [01:27:36.188] - Field: 'asynchronous' [01:27:36.228] - Condition #25: 'simpleMessage', 'message', 'condition' [01:27:36.189] - Field: 'calls' [01:27:36.229] - Condition #26: 'simpleMessage', 'message', 'condition' [01:27:36.189] - Field: 'globals' [01:27:36.229] - Condition #27: 'simpleMessage', 'message', 'condition' [01:27:36.189] - Field: 'stdout' [01:27:36.229] - Condition #28: 'simpleMessage', 'message', 'condition' [01:27:36.189] - Field: 'earlySignal' [01:27:36.229] - Condition #29: 'simpleMessage', 'message', 'condition' [01:27:36.189] - Field: 'lazy' [01:27:36.229] - Condition #30: 'simpleMessage', 'message', 'condition' [01:27:36.190] - Field: 'state' [01:27:36.230] - Condition #31: 'simpleMessage', 'message', 'condition' [01:27:36.190] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:36.230] - Condition #32: 'simpleMessage', 'message', 'condition' [01:27:36.190] - Launch lazy future ... [01:27:36.230] - Condition #33: 'simpleMessage', 'message', 'condition' [01:27:36.190] Packages needed by the future expression (n = 0): [01:27:36.230] - Condition #34: 'simpleMessage', 'message', 'condition' [01:27:36.191] Packages needed by future strategies (n = 0): [01:27:36.231] - Condition #35: 'simpleMessage', 'message', 'condition' [01:27:36.191] { [01:27:36.191] { [01:27:36.191] { [01:27:36.191] ...future.startTime <- base::Sys.time() [01:27:36.191] { [01:27:36.191] { [01:27:36.191] { [01:27:36.191] base::local({ [01:27:36.191] has_future <- base::requireNamespace("future", [01:27:36.191] quietly = TRUE) [01:27:36.191] if (has_future) { [01:27:36.191] ns <- base::getNamespace("future") [01:27:36.191] version <- ns[[".package"]][["version"]] [01:27:36.191] if (is.null(version)) [01:27:36.191] version <- utils::packageVersion("future") [01:27:36.191] } [01:27:36.191] else { [01:27:36.191] version <- NULL [01:27:36.191] } [01:27:36.191] if (!has_future || version < "1.8.0") { [01:27:36.191] info <- base::c(r_version = base::gsub("R version ", [01:27:36.191] "", base::R.version$version.string), [01:27:36.191] platform = base::sprintf("%s (%s-bit)", [01:27:36.191] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:36.191] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:36.191] "release", "version")], collapse = " "), [01:27:36.191] hostname = base::Sys.info()[["nodename"]]) [01:27:36.191] info <- base::sprintf("%s: %s", base::names(info), [01:27:36.191] info) [01:27:36.191] info <- base::paste(info, collapse = "; ") [01:27:36.191] if (!has_future) { [01:27:36.191] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:36.191] info) [01:27:36.191] } [01:27:36.191] else { [01:27:36.191] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:36.191] info, version) [01:27:36.191] } [01:27:36.191] base::stop(msg) [01:27:36.191] } [01:27:36.191] }) [01:27:36.191] } [01:27:36.191] options(future.plan = NULL) [01:27:36.191] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.191] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:36.191] } [01:27:36.191] ...future.workdir <- getwd() [01:27:36.191] } [01:27:36.191] ...future.oldOptions <- base::as.list(base::.Options) [01:27:36.191] ...future.oldEnvVars <- base::Sys.getenv() [01:27:36.191] } [01:27:36.191] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:36.191] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:36.191] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:36.191] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:36.191] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:36.191] future.stdout.windows.reencode = NULL, width = 80L) [01:27:36.191] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:36.191] base::names(...future.oldOptions)) [01:27:36.191] } [01:27:36.191] if (FALSE) { [01:27:36.191] } [01:27:36.191] else { [01:27:36.191] if (TRUE) { [01:27:36.191] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:36.191] open = "w") [01:27:36.191] } [01:27:36.191] else { [01:27:36.191] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:36.191] windows = "NUL", "/dev/null"), open = "w") [01:27:36.191] } [01:27:36.191] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:36.191] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:36.191] base::sink(type = "output", split = FALSE) [01:27:36.191] base::close(...future.stdout) [01:27:36.191] }, add = TRUE) [01:27:36.191] } [01:27:36.191] ...future.frame <- base::sys.nframe() [01:27:36.191] ...future.conditions <- base::list() [01:27:36.191] ...future.rng <- base::globalenv()$.Random.seed [01:27:36.191] if (FALSE) { [01:27:36.191] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:36.191] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:36.191] } [01:27:36.191] ...future.result <- base::tryCatch({ [01:27:36.191] base::withCallingHandlers({ [01:27:36.191] ...future.value <- base::withVisible(base::local(2)) [01:27:36.191] future::FutureResult(value = ...future.value$value, [01:27:36.191] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.191] ...future.rng), globalenv = if (FALSE) [01:27:36.191] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:36.191] ...future.globalenv.names)) [01:27:36.191] else NULL, started = ...future.startTime, version = "1.8") [01:27:36.191] }, condition = base::local({ [01:27:36.191] c <- base::c [01:27:36.191] inherits <- base::inherits [01:27:36.191] invokeRestart <- base::invokeRestart [01:27:36.191] length <- base::length [01:27:36.191] list <- base::list [01:27:36.191] seq.int <- base::seq.int [01:27:36.191] signalCondition <- base::signalCondition [01:27:36.191] sys.calls <- base::sys.calls [01:27:36.191] `[[` <- base::`[[` [01:27:36.191] `+` <- base::`+` [01:27:36.191] `<<-` <- base::`<<-` [01:27:36.191] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:36.191] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:36.191] 3L)] [01:27:36.191] } [01:27:36.191] function(cond) { [01:27:36.191] is_error <- inherits(cond, "error") [01:27:36.191] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:36.191] NULL) [01:27:36.191] if (is_error) { [01:27:36.191] sessionInformation <- function() { [01:27:36.191] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:36.191] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:36.191] search = base::search(), system = base::Sys.info()) [01:27:36.191] } [01:27:36.191] ...future.conditions[[length(...future.conditions) + [01:27:36.191] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:36.191] cond$call), session = sessionInformation(), [01:27:36.191] timestamp = base::Sys.time(), signaled = 0L) [01:27:36.191] signalCondition(cond) [01:27:36.191] } [01:27:36.191] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:36.191] "immediateCondition"))) { [01:27:36.191] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:36.191] ...future.conditions[[length(...future.conditions) + [01:27:36.191] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:36.191] if (TRUE && !signal) { [01:27:36.191] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.191] { [01:27:36.191] inherits <- base::inherits [01:27:36.191] invokeRestart <- base::invokeRestart [01:27:36.191] is.null <- base::is.null [01:27:36.191] muffled <- FALSE [01:27:36.191] if (inherits(cond, "message")) { [01:27:36.191] muffled <- grepl(pattern, "muffleMessage") [01:27:36.191] if (muffled) [01:27:36.191] invokeRestart("muffleMessage") [01:27:36.191] } [01:27:36.191] else if (inherits(cond, "warning")) { [01:27:36.191] muffled <- grepl(pattern, "muffleWarning") [01:27:36.191] if (muffled) [01:27:36.191] invokeRestart("muffleWarning") [01:27:36.191] } [01:27:36.191] else if (inherits(cond, "condition")) { [01:27:36.191] if (!is.null(pattern)) { [01:27:36.191] computeRestarts <- base::computeRestarts [01:27:36.191] grepl <- base::grepl [01:27:36.191] restarts <- computeRestarts(cond) [01:27:36.191] for (restart in restarts) { [01:27:36.191] name <- restart$name [01:27:36.191] if (is.null(name)) [01:27:36.191] next [01:27:36.191] if (!grepl(pattern, name)) [01:27:36.191] next [01:27:36.191] invokeRestart(restart) [01:27:36.191] muffled <- TRUE [01:27:36.191] break [01:27:36.191] } [01:27:36.191] } [01:27:36.191] } [01:27:36.191] invisible(muffled) [01:27:36.191] } [01:27:36.191] muffleCondition(cond, pattern = "^muffle") [01:27:36.191] } [01:27:36.191] } [01:27:36.191] else { [01:27:36.191] if (TRUE) { [01:27:36.191] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.191] { [01:27:36.191] inherits <- base::inherits [01:27:36.191] invokeRestart <- base::invokeRestart [01:27:36.191] is.null <- base::is.null [01:27:36.191] muffled <- FALSE [01:27:36.191] if (inherits(cond, "message")) { [01:27:36.191] muffled <- grepl(pattern, "muffleMessage") [01:27:36.191] if (muffled) [01:27:36.191] invokeRestart("muffleMessage") [01:27:36.191] } [01:27:36.191] else if (inherits(cond, "warning")) { [01:27:36.191] muffled <- grepl(pattern, "muffleWarning") [01:27:36.191] if (muffled) [01:27:36.191] invokeRestart("muffleWarning") [01:27:36.191] } [01:27:36.191] else if (inherits(cond, "condition")) { [01:27:36.191] if (!is.null(pattern)) { [01:27:36.191] computeRestarts <- base::computeRestarts [01:27:36.191] grepl <- base::grepl [01:27:36.191] restarts <- computeRestarts(cond) [01:27:36.191] for (restart in restarts) { [01:27:36.191] name <- restart$name [01:27:36.191] if (is.null(name)) [01:27:36.191] next [01:27:36.191] if (!grepl(pattern, name)) [01:27:36.191] next [01:27:36.191] invokeRestart(restart) [01:27:36.191] muffled <- TRUE [01:27:36.191] break [01:27:36.191] } [01:27:36.191] } [01:27:36.191] } [01:27:36.191] invisible(muffled) [01:27:36.191] } [01:27:36.191] muffleCondition(cond, pattern = "^muffle") [01:27:36.191] } [01:27:36.191] } [01:27:36.191] } [01:27:36.191] })) [01:27:36.191] }, error = function(ex) { [01:27:36.191] base::structure(base::list(value = NULL, visible = NULL, [01:27:36.191] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.191] ...future.rng), started = ...future.startTime, [01:27:36.191] finished = Sys.time(), session_uuid = NA_character_, [01:27:36.191] version = "1.8"), class = "FutureResult") [01:27:36.191] }, finally = { [01:27:36.191] if (!identical(...future.workdir, getwd())) [01:27:36.191] setwd(...future.workdir) [01:27:36.191] { [01:27:36.191] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:36.191] ...future.oldOptions$nwarnings <- NULL [01:27:36.191] } [01:27:36.191] base::options(...future.oldOptions) [01:27:36.191] if (.Platform$OS.type == "windows") { [01:27:36.191] old_names <- names(...future.oldEnvVars) [01:27:36.191] envs <- base::Sys.getenv() [01:27:36.191] names <- names(envs) [01:27:36.191] common <- intersect(names, old_names) [01:27:36.191] added <- setdiff(names, old_names) [01:27:36.191] removed <- setdiff(old_names, names) [01:27:36.191] changed <- common[...future.oldEnvVars[common] != [01:27:36.191] envs[common]] [01:27:36.191] NAMES <- toupper(changed) [01:27:36.191] args <- list() [01:27:36.191] for (kk in seq_along(NAMES)) { [01:27:36.191] name <- changed[[kk]] [01:27:36.191] NAME <- NAMES[[kk]] [01:27:36.191] if (name != NAME && is.element(NAME, old_names)) [01:27:36.191] next [01:27:36.191] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.191] } [01:27:36.191] NAMES <- toupper(added) [01:27:36.191] for (kk in seq_along(NAMES)) { [01:27:36.191] name <- added[[kk]] [01:27:36.191] NAME <- NAMES[[kk]] [01:27:36.191] if (name != NAME && is.element(NAME, old_names)) [01:27:36.191] next [01:27:36.191] args[[name]] <- "" [01:27:36.191] } [01:27:36.191] NAMES <- toupper(removed) [01:27:36.191] for (kk in seq_along(NAMES)) { [01:27:36.191] name <- removed[[kk]] [01:27:36.191] NAME <- NAMES[[kk]] [01:27:36.191] if (name != NAME && is.element(NAME, old_names)) [01:27:36.191] next [01:27:36.191] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.191] } [01:27:36.191] if (length(args) > 0) [01:27:36.191] base::do.call(base::Sys.setenv, args = args) [01:27:36.191] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:36.191] } [01:27:36.191] else { [01:27:36.191] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:36.191] } [01:27:36.191] { [01:27:36.191] if (base::length(...future.futureOptionsAdded) > [01:27:36.191] 0L) { [01:27:36.191] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:36.191] base::names(opts) <- ...future.futureOptionsAdded [01:27:36.191] base::options(opts) [01:27:36.191] } [01:27:36.191] { [01:27:36.191] { [01:27:36.191] NULL [01:27:36.191] RNGkind("Mersenne-Twister") [01:27:36.191] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:36.191] inherits = FALSE) [01:27:36.191] } [01:27:36.191] options(future.plan = NULL) [01:27:36.191] if (is.na(NA_character_)) [01:27:36.191] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.191] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:36.191] future::plan(list(function (..., envir = parent.frame()) [01:27:36.191] { [01:27:36.191] future <- SequentialFuture(..., envir = envir) [01:27:36.191] if (!future$lazy) [01:27:36.191] future <- run(future) [01:27:36.191] invisible(future) [01:27:36.191] }), .cleanup = FALSE, .init = FALSE) [01:27:36.191] } [01:27:36.191] } [01:27:36.191] } [01:27:36.191] }) [01:27:36.191] if (TRUE) { [01:27:36.191] base::sink(type = "output", split = FALSE) [01:27:36.191] if (TRUE) { [01:27:36.191] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:36.191] } [01:27:36.191] else { [01:27:36.191] ...future.result["stdout"] <- base::list(NULL) [01:27:36.191] } [01:27:36.191] base::close(...future.stdout) [01:27:36.191] ...future.stdout <- NULL [01:27:36.191] } [01:27:36.191] ...future.result$conditions <- ...future.conditions [01:27:36.191] ...future.result$finished <- base::Sys.time() [01:27:36.191] ...future.result [01:27:36.191] } [01:27:36.231] - Condition #36: 'simpleMessage', 'message', 'condition' [01:27:36.195] plan(): Setting new future strategy stack: [01:27:36.231] - Condition #37: 'simpleMessage', 'message', 'condition' [01:27:36.195] List of future strategies: [01:27:36.195] 1. sequential: [01:27:36.195] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.195] - tweaked: FALSE [01:27:36.195] - call: NULL [01:27:36.231] - Condition #38: 'simpleMessage', 'message', 'condition' [01:27:36.196] plan(): nbrOfWorkers() = 1 [01:27:36.232] - Condition #39: 'simpleMessage', 'message', 'condition' [01:27:36.197] plan(): Setting new future strategy stack: [01:27:36.232] - Condition #40: 'simpleMessage', 'message', 'condition' [01:27:36.197] List of future strategies: [01:27:36.197] 1. sequential: [01:27:36.197] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.197] - tweaked: FALSE [01:27:36.197] - call: NULL [01:27:36.232] - Condition #41: 'simpleMessage', 'message', 'condition' [01:27:36.198] plan(): nbrOfWorkers() = 1 [01:27:36.232] - Condition #42: 'simpleMessage', 'message', 'condition' [01:27:36.198] SequentialFuture started (and completed) [01:27:36.233] - Condition #43: 'simpleMessage', 'message', 'condition' [01:27:36.198] - Launch lazy future ... done [01:27:36.233] - Condition #44: 'simpleMessage', 'message', 'condition' [01:27:36.199] run() for 'SequentialFuture' ... done [01:27:36.233] - Condition #45: 'simpleMessage', 'message', 'condition' [01:27:36.199] getGlobalsAndPackages() ... [01:27:36.233] - Condition #46: 'simpleMessage', 'message', 'condition' [01:27:36.199] Searching for globals... [01:27:36.233] - Condition #47: 'simpleMessage', 'message', 'condition' [01:27:36.200] [01:27:36.234] - Condition #48: 'simpleMessage', 'message', 'condition' [01:27:36.200] Searching for globals ... DONE [01:27:36.234] - Condition #49: 'simpleMessage', 'message', 'condition' [01:27:36.200] - globals: [0] [01:27:36.234] - Condition #50: 'simpleMessage', 'message', 'condition' [01:27:36.200] getGlobalsAndPackages() ... DONE [01:27:36.234] - Condition #51: 'simpleMessage', 'message', 'condition' [01:27:36.200] run() for 'Future' ... [01:27:36.234] - Condition #52: 'simpleMessage', 'message', 'condition' [01:27:36.201] - state: 'created' [01:27:36.235] - Condition #53: 'simpleMessage', 'message', 'condition' [01:27:36.201] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:36.235] - Condition #54: 'simpleMessage', 'message', 'condition' [01:27:36.201] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:36.235] - Condition #55: 'simpleMessage', 'message', 'condition' [01:27:36.201] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:36.235] - Condition #56: 'simpleMessage', 'message', 'condition' [01:27:36.202] - Field: 'label' [01:27:36.236] - Condition #57: 'simpleMessage', 'message', 'condition' [01:27:36.202] - Field: 'local' [01:27:36.236] - Condition #58: 'simpleMessage', 'message', 'condition' [01:27:36.202] - Field: 'owner' [01:27:36.236] - Condition #59: 'simpleMessage', 'message', 'condition' [01:27:36.202] - Field: 'envir' [01:27:36.236] - Condition #60: 'simpleMessage', 'message', 'condition' [01:27:36.202] - Field: 'packages' [01:27:36.236] - Condition #61: 'simpleMessage', 'message', 'condition' [01:27:36.203] - Field: 'gc' [01:27:36.237] - Condition #62: 'simpleMessage', 'message', 'condition' [01:27:36.203] - Field: 'conditions' [01:27:36.237] - Condition #63: 'simpleMessage', 'message', 'condition' [01:27:36.203] - Field: 'expr' [01:27:36.237] - Condition #64: 'simpleMessage', 'message', 'condition' [01:27:36.203] - Field: 'uuid' [01:27:36.237] - Condition #65: 'simpleMessage', 'message', 'condition' [01:27:36.203] - Field: 'seed' [01:27:36.238] - Condition #66: 'simpleMessage', 'message', 'condition' [01:27:36.204] - Field: 'version' [01:27:36.238] - Condition #67: 'simpleMessage', 'message', 'condition' [01:27:36.204] - Field: 'result' [01:27:36.238] - Condition #68: 'simpleMessage', 'message', 'condition' [01:27:36.204] - Field: 'asynchronous' [01:27:36.238] - Condition #69: 'simpleMessage', 'message', 'condition' [01:27:36.204] - Field: 'calls' [01:27:36.238] - Condition #70: 'simpleMessage', 'message', 'condition' [01:27:36.205] - Field: 'globals' [01:27:36.239] - Condition #71: 'simpleMessage', 'message', 'condition' [01:27:36.205] - Field: 'stdout' [01:27:36.239] - Condition #72: 'simpleMessage', 'message', 'condition' [01:27:36.205] - Field: 'earlySignal' [01:27:36.239] - Condition #73: 'simpleMessage', 'message', 'condition' [01:27:36.205] - Field: 'lazy' [01:27:36.239] - Condition #74: 'simpleMessage', 'message', 'condition' [01:27:36.205] - Field: 'state' [01:27:36.239] - Condition #75: 'simpleMessage', 'message', 'condition' [01:27:36.206] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:36.240] - Condition #76: 'simpleMessage', 'message', 'condition' [01:27:36.206] - Launch lazy future ... [01:27:36.240] - Condition #77: 'simpleMessage', 'message', 'condition' [01:27:36.206] Packages needed by the future expression (n = 0): [01:27:36.240] - Condition #78: 'simpleMessage', 'message', 'condition' [01:27:36.206] Packages needed by future strategies (n = 0): [01:27:36.240] - Condition #79: 'simpleMessage', 'message', 'condition' [01:27:36.207] { [01:27:36.207] { [01:27:36.207] { [01:27:36.207] ...future.startTime <- base::Sys.time() [01:27:36.207] { [01:27:36.207] { [01:27:36.207] { [01:27:36.207] base::local({ [01:27:36.207] has_future <- base::requireNamespace("future", [01:27:36.207] quietly = TRUE) [01:27:36.207] if (has_future) { [01:27:36.207] ns <- base::getNamespace("future") [01:27:36.207] version <- ns[[".package"]][["version"]] [01:27:36.207] if (is.null(version)) [01:27:36.207] version <- utils::packageVersion("future") [01:27:36.207] } [01:27:36.207] else { [01:27:36.207] version <- NULL [01:27:36.207] } [01:27:36.207] if (!has_future || version < "1.8.0") { [01:27:36.207] info <- base::c(r_version = base::gsub("R version ", [01:27:36.207] "", base::R.version$version.string), [01:27:36.207] platform = base::sprintf("%s (%s-bit)", [01:27:36.207] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:36.207] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:36.207] "release", "version")], collapse = " "), [01:27:36.207] hostname = base::Sys.info()[["nodename"]]) [01:27:36.207] info <- base::sprintf("%s: %s", base::names(info), [01:27:36.207] info) [01:27:36.207] info <- base::paste(info, collapse = "; ") [01:27:36.207] if (!has_future) { [01:27:36.207] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:36.207] info) [01:27:36.207] } [01:27:36.207] else { [01:27:36.207] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:36.207] info, version) [01:27:36.207] } [01:27:36.207] base::stop(msg) [01:27:36.207] } [01:27:36.207] }) [01:27:36.207] } [01:27:36.207] options(future.plan = NULL) [01:27:36.207] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.207] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:36.207] } [01:27:36.207] ...future.workdir <- getwd() [01:27:36.207] } [01:27:36.207] ...future.oldOptions <- base::as.list(base::.Options) [01:27:36.207] ...future.oldEnvVars <- base::Sys.getenv() [01:27:36.207] } [01:27:36.207] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:36.207] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:36.207] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:36.207] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:36.207] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:36.207] future.stdout.windows.reencode = NULL, width = 80L) [01:27:36.207] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:36.207] base::names(...future.oldOptions)) [01:27:36.207] } [01:27:36.207] if (FALSE) { [01:27:36.207] } [01:27:36.207] else { [01:27:36.207] if (TRUE) { [01:27:36.207] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:36.207] open = "w") [01:27:36.207] } [01:27:36.207] else { [01:27:36.207] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:36.207] windows = "NUL", "/dev/null"), open = "w") [01:27:36.207] } [01:27:36.207] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:36.207] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:36.207] base::sink(type = "output", split = FALSE) [01:27:36.207] base::close(...future.stdout) [01:27:36.207] }, add = TRUE) [01:27:36.207] } [01:27:36.207] ...future.frame <- base::sys.nframe() [01:27:36.207] ...future.conditions <- base::list() [01:27:36.207] ...future.rng <- base::globalenv()$.Random.seed [01:27:36.207] if (FALSE) { [01:27:36.207] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:36.207] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:36.207] } [01:27:36.207] ...future.result <- base::tryCatch({ [01:27:36.207] base::withCallingHandlers({ [01:27:36.207] ...future.value <- base::withVisible(base::local(4)) [01:27:36.207] future::FutureResult(value = ...future.value$value, [01:27:36.207] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.207] ...future.rng), globalenv = if (FALSE) [01:27:36.207] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:36.207] ...future.globalenv.names)) [01:27:36.207] else NULL, started = ...future.startTime, version = "1.8") [01:27:36.207] }, condition = base::local({ [01:27:36.207] c <- base::c [01:27:36.207] inherits <- base::inherits [01:27:36.207] invokeRestart <- base::invokeRestart [01:27:36.207] length <- base::length [01:27:36.207] list <- base::list [01:27:36.207] seq.int <- base::seq.int [01:27:36.207] signalCondition <- base::signalCondition [01:27:36.207] sys.calls <- base::sys.calls [01:27:36.207] `[[` <- base::`[[` [01:27:36.207] `+` <- base::`+` [01:27:36.207] `<<-` <- base::`<<-` [01:27:36.207] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:36.207] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:36.207] 3L)] [01:27:36.207] } [01:27:36.207] function(cond) { [01:27:36.207] is_error <- inherits(cond, "error") [01:27:36.207] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:36.207] NULL) [01:27:36.207] if (is_error) { [01:27:36.207] sessionInformation <- function() { [01:27:36.207] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:36.207] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:36.207] search = base::search(), system = base::Sys.info()) [01:27:36.207] } [01:27:36.207] ...future.conditions[[length(...future.conditions) + [01:27:36.207] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:36.207] cond$call), session = sessionInformation(), [01:27:36.207] timestamp = base::Sys.time(), signaled = 0L) [01:27:36.207] signalCondition(cond) [01:27:36.207] } [01:27:36.207] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:36.207] "immediateCondition"))) { [01:27:36.207] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:36.207] ...future.conditions[[length(...future.conditions) + [01:27:36.207] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:36.207] if (TRUE && !signal) { [01:27:36.207] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.207] { [01:27:36.207] inherits <- base::inherits [01:27:36.207] invokeRestart <- base::invokeRestart [01:27:36.207] is.null <- base::is.null [01:27:36.207] muffled <- FALSE [01:27:36.207] if (inherits(cond, "message")) { [01:27:36.207] muffled <- grepl(pattern, "muffleMessage") [01:27:36.207] if (muffled) [01:27:36.207] invokeRestart("muffleMessage") [01:27:36.207] } [01:27:36.207] else if (inherits(cond, "warning")) { [01:27:36.207] muffled <- grepl(pattern, "muffleWarning") [01:27:36.207] if (muffled) [01:27:36.207] invokeRestart("muffleWarning") [01:27:36.207] } [01:27:36.207] else if (inherits(cond, "condition")) { [01:27:36.207] if (!is.null(pattern)) { [01:27:36.207] computeRestarts <- base::computeRestarts [01:27:36.207] grepl <- base::grepl [01:27:36.207] restarts <- computeRestarts(cond) [01:27:36.207] for (restart in restarts) { [01:27:36.207] name <- restart$name [01:27:36.207] if (is.null(name)) [01:27:36.207] next [01:27:36.207] if (!grepl(pattern, name)) [01:27:36.207] next [01:27:36.207] invokeRestart(restart) [01:27:36.207] muffled <- TRUE [01:27:36.207] break [01:27:36.207] } [01:27:36.207] } [01:27:36.207] } [01:27:36.207] invisible(muffled) [01:27:36.207] } [01:27:36.207] muffleCondition(cond, pattern = "^muffle") [01:27:36.207] } [01:27:36.207] } [01:27:36.207] else { [01:27:36.207] if (TRUE) { [01:27:36.207] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.207] { [01:27:36.207] inherits <- base::inherits [01:27:36.207] invokeRestart <- base::invokeRestart [01:27:36.207] is.null <- base::is.null [01:27:36.207] muffled <- FALSE [01:27:36.207] if (inherits(cond, "message")) { [01:27:36.207] muffled <- grepl(pattern, "muffleMessage") [01:27:36.207] if (muffled) [01:27:36.207] invokeRestart("muffleMessage") [01:27:36.207] } [01:27:36.207] else if (inherits(cond, "warning")) { [01:27:36.207] muffled <- grepl(pattern, "muffleWarning") [01:27:36.207] if (muffled) [01:27:36.207] invokeRestart("muffleWarning") [01:27:36.207] } [01:27:36.207] else if (inherits(cond, "condition")) { [01:27:36.207] if (!is.null(pattern)) { [01:27:36.207] computeRestarts <- base::computeRestarts [01:27:36.207] grepl <- base::grepl [01:27:36.207] restarts <- computeRestarts(cond) [01:27:36.207] for (restart in restarts) { [01:27:36.207] name <- restart$name [01:27:36.207] if (is.null(name)) [01:27:36.207] next [01:27:36.207] if (!grepl(pattern, name)) [01:27:36.207] next [01:27:36.207] invokeRestart(restart) [01:27:36.207] muffled <- TRUE [01:27:36.207] break [01:27:36.207] } [01:27:36.207] } [01:27:36.207] } [01:27:36.207] invisible(muffled) [01:27:36.207] } [01:27:36.207] muffleCondition(cond, pattern = "^muffle") [01:27:36.207] } [01:27:36.207] } [01:27:36.207] } [01:27:36.207] })) [01:27:36.207] }, error = function(ex) { [01:27:36.207] base::structure(base::list(value = NULL, visible = NULL, [01:27:36.207] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.207] ...future.rng), started = ...future.startTime, [01:27:36.207] finished = Sys.time(), session_uuid = NA_character_, [01:27:36.207] version = "1.8"), class = "FutureResult") [01:27:36.207] }, finally = { [01:27:36.207] if (!identical(...future.workdir, getwd())) [01:27:36.207] setwd(...future.workdir) [01:27:36.207] { [01:27:36.207] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:36.207] ...future.oldOptions$nwarnings <- NULL [01:27:36.207] } [01:27:36.207] base::options(...future.oldOptions) [01:27:36.207] if (.Platform$OS.type == "windows") { [01:27:36.207] old_names <- names(...future.oldEnvVars) [01:27:36.207] envs <- base::Sys.getenv() [01:27:36.207] names <- names(envs) [01:27:36.207] common <- intersect(names, old_names) [01:27:36.207] added <- setdiff(names, old_names) [01:27:36.207] removed <- setdiff(old_names, names) [01:27:36.207] changed <- common[...future.oldEnvVars[common] != [01:27:36.207] envs[common]] [01:27:36.207] NAMES <- toupper(changed) [01:27:36.207] args <- list() [01:27:36.207] for (kk in seq_along(NAMES)) { [01:27:36.207] name <- changed[[kk]] [01:27:36.207] NAME <- NAMES[[kk]] [01:27:36.207] if (name != NAME && is.element(NAME, old_names)) [01:27:36.207] next [01:27:36.207] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.207] } [01:27:36.207] NAMES <- toupper(added) [01:27:36.207] for (kk in seq_along(NAMES)) { [01:27:36.207] name <- added[[kk]] [01:27:36.207] NAME <- NAMES[[kk]] [01:27:36.207] if (name != NAME && is.element(NAME, old_names)) [01:27:36.207] next [01:27:36.207] args[[name]] <- "" [01:27:36.207] } [01:27:36.207] NAMES <- toupper(removed) [01:27:36.207] for (kk in seq_along(NAMES)) { [01:27:36.207] name <- removed[[kk]] [01:27:36.207] NAME <- NAMES[[kk]] [01:27:36.207] if (name != NAME && is.element(NAME, old_names)) [01:27:36.207] next [01:27:36.207] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.207] } [01:27:36.207] if (length(args) > 0) [01:27:36.207] base::do.call(base::Sys.setenv, args = args) [01:27:36.207] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:36.207] } [01:27:36.207] else { [01:27:36.207] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:36.207] } [01:27:36.207] { [01:27:36.207] if (base::length(...future.futureOptionsAdded) > [01:27:36.207] 0L) { [01:27:36.207] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:36.207] base::names(opts) <- ...future.futureOptionsAdded [01:27:36.207] base::options(opts) [01:27:36.207] } [01:27:36.207] { [01:27:36.207] { [01:27:36.207] NULL [01:27:36.207] RNGkind("Mersenne-Twister") [01:27:36.207] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:36.207] inherits = FALSE) [01:27:36.207] } [01:27:36.207] options(future.plan = NULL) [01:27:36.207] if (is.na(NA_character_)) [01:27:36.207] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.207] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:36.207] future::plan(list(function (..., envir = parent.frame()) [01:27:36.207] { [01:27:36.207] future <- SequentialFuture(..., envir = envir) [01:27:36.207] if (!future$lazy) [01:27:36.207] future <- run(future) [01:27:36.207] invisible(future) [01:27:36.207] }), .cleanup = FALSE, .init = FALSE) [01:27:36.207] } [01:27:36.207] } [01:27:36.207] } [01:27:36.207] }) [01:27:36.207] if (TRUE) { [01:27:36.207] base::sink(type = "output", split = FALSE) [01:27:36.207] if (TRUE) { [01:27:36.207] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:36.207] } [01:27:36.207] else { [01:27:36.207] ...future.result["stdout"] <- base::list(NULL) [01:27:36.207] } [01:27:36.207] base::close(...future.stdout) [01:27:36.207] ...future.stdout <- NULL [01:27:36.207] } [01:27:36.207] ...future.result$conditions <- ...future.conditions [01:27:36.207] ...future.result$finished <- base::Sys.time() [01:27:36.207] ...future.result [01:27:36.207] } [01:27:36.241] - Condition #80: 'simpleMessage', 'message', 'condition' [01:27:36.211] plan(): Setting new future strategy stack: [01:27:36.241] - Condition #81: 'simpleMessage', 'message', 'condition' [01:27:36.211] List of future strategies: [01:27:36.211] 1. sequential: [01:27:36.211] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.211] - tweaked: FALSE [01:27:36.211] - call: NULL [01:27:36.241] - Condition #82: 'simpleMessage', 'message', 'condition' [01:27:36.212] plan(): nbrOfWorkers() = 1 [01:27:36.242] - Condition #83: 'simpleMessage', 'message', 'condition' [01:27:36.213] plan(): Setting new future strategy stack: [01:27:36.242] - Condition #84: 'simpleMessage', 'message', 'condition' [01:27:36.213] List of future strategies: [01:27:36.213] 1. sequential: [01:27:36.213] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.213] - tweaked: FALSE [01:27:36.213] - call: NULL [01:27:36.243] - Condition #85: 'simpleMessage', 'message', 'condition' [01:27:36.214] plan(): nbrOfWorkers() = 1 [01:27:36.243] - Condition #86: 'simpleMessage', 'message', 'condition' [01:27:36.214] SequentialFuture started (and completed) [01:27:36.243] - Condition #87: 'simpleMessage', 'message', 'condition' [01:27:36.215] - Launch lazy future ... done [01:27:36.244] - Condition #88: 'simpleMessage', 'message', 'condition' [01:27:36.215] run() for 'SequentialFuture' ... done [01:27:36.244] signalConditions() ... done a = 10 [01:27:36.245] getGlobalsAndPackages() ... [01:27:36.245] Searching for globals... [01:27:36.247] - globals found: [3] '{', '+', 'a' [01:27:36.247] Searching for globals ... DONE [01:27:36.248] Resolving globals: FALSE [01:27:36.248] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:36.249] The total size of the 1 globals exported for future expression ('{; a + 1; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (56 bytes of class 'numeric') [01:27:36.249] - globals: [1] 'a' [01:27:36.250] [01:27:36.250] getGlobalsAndPackages() ... DONE [01:27:36.251] run() for 'Future' ... [01:27:36.251] - state: 'created' [01:27:36.251] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [01:27:36.252] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [01:27:36.252] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [01:27:36.253] - Field: 'label' [01:27:36.253] - Field: 'local' [01:27:36.253] - Field: 'owner' [01:27:36.253] - Field: 'envir' [01:27:36.254] - Field: 'packages' [01:27:36.254] - Field: 'gc' [01:27:36.254] - Field: 'conditions' [01:27:36.255] - Field: 'expr' [01:27:36.255] - Field: 'uuid' [01:27:36.255] - Field: 'seed' [01:27:36.255] - Field: 'version' [01:27:36.256] - Field: 'result' [01:27:36.256] - Field: 'asynchronous' [01:27:36.256] - Field: 'calls' [01:27:36.256] - Field: 'globals' [01:27:36.257] - Field: 'stdout' [01:27:36.257] - Field: 'earlySignal' [01:27:36.257] - Field: 'lazy' [01:27:36.258] - Field: 'state' [01:27:36.258] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [01:27:36.258] - Launch lazy future ... [01:27:36.259] Packages needed by the future expression (n = 0): [01:27:36.259] Packages needed by future strategies (n = 0): [01:27:36.260] { [01:27:36.260] { [01:27:36.260] { [01:27:36.260] ...future.startTime <- base::Sys.time() [01:27:36.260] { [01:27:36.260] { [01:27:36.260] { [01:27:36.260] base::local({ [01:27:36.260] has_future <- base::requireNamespace("future", [01:27:36.260] quietly = TRUE) [01:27:36.260] if (has_future) { [01:27:36.260] ns <- base::getNamespace("future") [01:27:36.260] version <- ns[[".package"]][["version"]] [01:27:36.260] if (is.null(version)) [01:27:36.260] version <- utils::packageVersion("future") [01:27:36.260] } [01:27:36.260] else { [01:27:36.260] version <- NULL [01:27:36.260] } [01:27:36.260] if (!has_future || version < "1.8.0") { [01:27:36.260] info <- base::c(r_version = base::gsub("R version ", [01:27:36.260] "", base::R.version$version.string), [01:27:36.260] platform = base::sprintf("%s (%s-bit)", [01:27:36.260] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:36.260] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:36.260] "release", "version")], collapse = " "), [01:27:36.260] hostname = base::Sys.info()[["nodename"]]) [01:27:36.260] info <- base::sprintf("%s: %s", base::names(info), [01:27:36.260] info) [01:27:36.260] info <- base::paste(info, collapse = "; ") [01:27:36.260] if (!has_future) { [01:27:36.260] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:36.260] info) [01:27:36.260] } [01:27:36.260] else { [01:27:36.260] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:36.260] info, version) [01:27:36.260] } [01:27:36.260] base::stop(msg) [01:27:36.260] } [01:27:36.260] }) [01:27:36.260] } [01:27:36.260] options(future.plan = NULL) [01:27:36.260] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.260] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:36.260] } [01:27:36.260] ...future.workdir <- getwd() [01:27:36.260] } [01:27:36.260] ...future.oldOptions <- base::as.list(base::.Options) [01:27:36.260] ...future.oldEnvVars <- base::Sys.getenv() [01:27:36.260] } [01:27:36.260] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:36.260] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:36.260] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:36.260] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:36.260] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:36.260] future.stdout.windows.reencode = NULL, width = 80L) [01:27:36.260] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:36.260] base::names(...future.oldOptions)) [01:27:36.260] } [01:27:36.260] if (FALSE) { [01:27:36.260] } [01:27:36.260] else { [01:27:36.260] if (TRUE) { [01:27:36.260] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:36.260] open = "w") [01:27:36.260] } [01:27:36.260] else { [01:27:36.260] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:36.260] windows = "NUL", "/dev/null"), open = "w") [01:27:36.260] } [01:27:36.260] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:36.260] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:36.260] base::sink(type = "output", split = FALSE) [01:27:36.260] base::close(...future.stdout) [01:27:36.260] }, add = TRUE) [01:27:36.260] } [01:27:36.260] ...future.frame <- base::sys.nframe() [01:27:36.260] ...future.conditions <- base::list() [01:27:36.260] ...future.rng <- base::globalenv()$.Random.seed [01:27:36.260] if (FALSE) { [01:27:36.260] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:36.260] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:36.260] } [01:27:36.260] ...future.result <- base::tryCatch({ [01:27:36.260] base::withCallingHandlers({ [01:27:36.260] ...future.value <- base::withVisible(base::local({ [01:27:36.260] a + 1 [01:27:36.260] })) [01:27:36.260] future::FutureResult(value = ...future.value$value, [01:27:36.260] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.260] ...future.rng), globalenv = if (FALSE) [01:27:36.260] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:36.260] ...future.globalenv.names)) [01:27:36.260] else NULL, started = ...future.startTime, version = "1.8") [01:27:36.260] }, condition = base::local({ [01:27:36.260] c <- base::c [01:27:36.260] inherits <- base::inherits [01:27:36.260] invokeRestart <- base::invokeRestart [01:27:36.260] length <- base::length [01:27:36.260] list <- base::list [01:27:36.260] seq.int <- base::seq.int [01:27:36.260] signalCondition <- base::signalCondition [01:27:36.260] sys.calls <- base::sys.calls [01:27:36.260] `[[` <- base::`[[` [01:27:36.260] `+` <- base::`+` [01:27:36.260] `<<-` <- base::`<<-` [01:27:36.260] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:36.260] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:36.260] 3L)] [01:27:36.260] } [01:27:36.260] function(cond) { [01:27:36.260] is_error <- inherits(cond, "error") [01:27:36.260] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:36.260] NULL) [01:27:36.260] if (is_error) { [01:27:36.260] sessionInformation <- function() { [01:27:36.260] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:36.260] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:36.260] search = base::search(), system = base::Sys.info()) [01:27:36.260] } [01:27:36.260] ...future.conditions[[length(...future.conditions) + [01:27:36.260] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:36.260] cond$call), session = sessionInformation(), [01:27:36.260] timestamp = base::Sys.time(), signaled = 0L) [01:27:36.260] signalCondition(cond) [01:27:36.260] } [01:27:36.260] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:36.260] "immediateCondition"))) { [01:27:36.260] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:36.260] ...future.conditions[[length(...future.conditions) + [01:27:36.260] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:36.260] if (TRUE && !signal) { [01:27:36.260] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.260] { [01:27:36.260] inherits <- base::inherits [01:27:36.260] invokeRestart <- base::invokeRestart [01:27:36.260] is.null <- base::is.null [01:27:36.260] muffled <- FALSE [01:27:36.260] if (inherits(cond, "message")) { [01:27:36.260] muffled <- grepl(pattern, "muffleMessage") [01:27:36.260] if (muffled) [01:27:36.260] invokeRestart("muffleMessage") [01:27:36.260] } [01:27:36.260] else if (inherits(cond, "warning")) { [01:27:36.260] muffled <- grepl(pattern, "muffleWarning") [01:27:36.260] if (muffled) [01:27:36.260] invokeRestart("muffleWarning") [01:27:36.260] } [01:27:36.260] else if (inherits(cond, "condition")) { [01:27:36.260] if (!is.null(pattern)) { [01:27:36.260] computeRestarts <- base::computeRestarts [01:27:36.260] grepl <- base::grepl [01:27:36.260] restarts <- computeRestarts(cond) [01:27:36.260] for (restart in restarts) { [01:27:36.260] name <- restart$name [01:27:36.260] if (is.null(name)) [01:27:36.260] next [01:27:36.260] if (!grepl(pattern, name)) [01:27:36.260] next [01:27:36.260] invokeRestart(restart) [01:27:36.260] muffled <- TRUE [01:27:36.260] break [01:27:36.260] } [01:27:36.260] } [01:27:36.260] } [01:27:36.260] invisible(muffled) [01:27:36.260] } [01:27:36.260] muffleCondition(cond, pattern = "^muffle") [01:27:36.260] } [01:27:36.260] } [01:27:36.260] else { [01:27:36.260] if (TRUE) { [01:27:36.260] muffleCondition <- function (cond, pattern = "^muffle") [01:27:36.260] { [01:27:36.260] inherits <- base::inherits [01:27:36.260] invokeRestart <- base::invokeRestart [01:27:36.260] is.null <- base::is.null [01:27:36.260] muffled <- FALSE [01:27:36.260] if (inherits(cond, "message")) { [01:27:36.260] muffled <- grepl(pattern, "muffleMessage") [01:27:36.260] if (muffled) [01:27:36.260] invokeRestart("muffleMessage") [01:27:36.260] } [01:27:36.260] else if (inherits(cond, "warning")) { [01:27:36.260] muffled <- grepl(pattern, "muffleWarning") [01:27:36.260] if (muffled) [01:27:36.260] invokeRestart("muffleWarning") [01:27:36.260] } [01:27:36.260] else if (inherits(cond, "condition")) { [01:27:36.260] if (!is.null(pattern)) { [01:27:36.260] computeRestarts <- base::computeRestarts [01:27:36.260] grepl <- base::grepl [01:27:36.260] restarts <- computeRestarts(cond) [01:27:36.260] for (restart in restarts) { [01:27:36.260] name <- restart$name [01:27:36.260] if (is.null(name)) [01:27:36.260] next [01:27:36.260] if (!grepl(pattern, name)) [01:27:36.260] next [01:27:36.260] invokeRestart(restart) [01:27:36.260] muffled <- TRUE [01:27:36.260] break [01:27:36.260] } [01:27:36.260] } [01:27:36.260] } [01:27:36.260] invisible(muffled) [01:27:36.260] } [01:27:36.260] muffleCondition(cond, pattern = "^muffle") [01:27:36.260] } [01:27:36.260] } [01:27:36.260] } [01:27:36.260] })) [01:27:36.260] }, error = function(ex) { [01:27:36.260] base::structure(base::list(value = NULL, visible = NULL, [01:27:36.260] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:36.260] ...future.rng), started = ...future.startTime, [01:27:36.260] finished = Sys.time(), session_uuid = NA_character_, [01:27:36.260] version = "1.8"), class = "FutureResult") [01:27:36.260] }, finally = { [01:27:36.260] if (!identical(...future.workdir, getwd())) [01:27:36.260] setwd(...future.workdir) [01:27:36.260] { [01:27:36.260] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:36.260] ...future.oldOptions$nwarnings <- NULL [01:27:36.260] } [01:27:36.260] base::options(...future.oldOptions) [01:27:36.260] if (.Platform$OS.type == "windows") { [01:27:36.260] old_names <- names(...future.oldEnvVars) [01:27:36.260] envs <- base::Sys.getenv() [01:27:36.260] names <- names(envs) [01:27:36.260] common <- intersect(names, old_names) [01:27:36.260] added <- setdiff(names, old_names) [01:27:36.260] removed <- setdiff(old_names, names) [01:27:36.260] changed <- common[...future.oldEnvVars[common] != [01:27:36.260] envs[common]] [01:27:36.260] NAMES <- toupper(changed) [01:27:36.260] args <- list() [01:27:36.260] for (kk in seq_along(NAMES)) { [01:27:36.260] name <- changed[[kk]] [01:27:36.260] NAME <- NAMES[[kk]] [01:27:36.260] if (name != NAME && is.element(NAME, old_names)) [01:27:36.260] next [01:27:36.260] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.260] } [01:27:36.260] NAMES <- toupper(added) [01:27:36.260] for (kk in seq_along(NAMES)) { [01:27:36.260] name <- added[[kk]] [01:27:36.260] NAME <- NAMES[[kk]] [01:27:36.260] if (name != NAME && is.element(NAME, old_names)) [01:27:36.260] next [01:27:36.260] args[[name]] <- "" [01:27:36.260] } [01:27:36.260] NAMES <- toupper(removed) [01:27:36.260] for (kk in seq_along(NAMES)) { [01:27:36.260] name <- removed[[kk]] [01:27:36.260] NAME <- NAMES[[kk]] [01:27:36.260] if (name != NAME && is.element(NAME, old_names)) [01:27:36.260] next [01:27:36.260] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:36.260] } [01:27:36.260] if (length(args) > 0) [01:27:36.260] base::do.call(base::Sys.setenv, args = args) [01:27:36.260] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:36.260] } [01:27:36.260] else { [01:27:36.260] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:36.260] } [01:27:36.260] { [01:27:36.260] if (base::length(...future.futureOptionsAdded) > [01:27:36.260] 0L) { [01:27:36.260] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:36.260] base::names(opts) <- ...future.futureOptionsAdded [01:27:36.260] base::options(opts) [01:27:36.260] } [01:27:36.260] { [01:27:36.260] { [01:27:36.260] NULL [01:27:36.260] RNGkind("Mersenne-Twister") [01:27:36.260] base::rm(list = ".Random.seed", envir = base::globalenv(), [01:27:36.260] inherits = FALSE) [01:27:36.260] } [01:27:36.260] options(future.plan = NULL) [01:27:36.260] if (is.na(NA_character_)) [01:27:36.260] Sys.unsetenv("R_FUTURE_PLAN") [01:27:36.260] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:36.260] future::plan(list(function (..., envir = parent.frame()) [01:27:36.260] { [01:27:36.260] future <- SequentialFuture(..., envir = envir) [01:27:36.260] if (!future$lazy) [01:27:36.260] future <- run(future) [01:27:36.260] invisible(future) [01:27:36.260] }), .cleanup = FALSE, .init = FALSE) [01:27:36.260] } [01:27:36.260] } [01:27:36.260] } [01:27:36.260] }) [01:27:36.260] if (TRUE) { [01:27:36.260] base::sink(type = "output", split = FALSE) [01:27:36.260] if (TRUE) { [01:27:36.260] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:36.260] } [01:27:36.260] else { [01:27:36.260] ...future.result["stdout"] <- base::list(NULL) [01:27:36.260] } [01:27:36.260] base::close(...future.stdout) [01:27:36.260] ...future.stdout <- NULL [01:27:36.260] } [01:27:36.260] ...future.result$conditions <- ...future.conditions [01:27:36.260] ...future.result$finished <- base::Sys.time() [01:27:36.260] ...future.result [01:27:36.260] } [01:27:36.264] assign_globals() ... [01:27:36.265] List of 1 [01:27:36.265] $ a: num 10 [01:27:36.265] - attr(*, "where")=List of 1 [01:27:36.265] ..$ a: [01:27:36.265] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [01:27:36.265] - attr(*, "resolved")= logi FALSE [01:27:36.265] - attr(*, "total_size")= num 56 [01:27:36.265] - attr(*, "already-done")= logi TRUE [01:27:36.272] - copied 'a' to environment [01:27:36.272] assign_globals() ... done [01:27:36.273] plan(): Setting new future strategy stack: [01:27:36.274] List of future strategies: [01:27:36.274] 1. sequential: [01:27:36.274] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.274] - tweaked: FALSE [01:27:36.274] - call: NULL [01:27:36.275] plan(): nbrOfWorkers() = 1 [01:27:36.277] plan(): Setting new future strategy stack: [01:27:36.277] List of future strategies: [01:27:36.277] 1. sequential: [01:27:36.277] - args: function (..., envir = parent.frame(), workers = "") [01:27:36.277] - tweaked: FALSE [01:27:36.277] - call: plan(strategy) [01:27:36.277] plan(): nbrOfWorkers() = 1 [01:27:36.278] SequentialFuture started (and completed) [01:27:36.278] - Launch lazy future ... done [01:27:36.278] run() for 'SequentialFuture' ... done b = 11 *** %<-% with 'sequential' futures ... DONE Testing with 1 cores ... DONE Testing with 2 cores ... *** %<-% with 'multisession' futures ... [01:27:36.287] plan(): Setting new future strategy stack: [01:27:36.287] List of future strategies: [01:27:36.287] 1. multisession: [01:27:36.287] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [01:27:36.287] - tweaked: FALSE [01:27:36.287] - call: plan(strategy) [01:27:36.288] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [01:27:36.288] multisession: [01:27:36.288] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [01:27:36.288] - tweaked: FALSE [01:27:36.288] - call: plan(strategy) [01:27:36.294] getGlobalsAndPackages() ... [01:27:36.294] Not searching for globals [01:27:36.294] - globals: [0] [01:27:36.294] getGlobalsAndPackages() ... DONE [01:27:36.295] [local output] makeClusterPSOCK() ... [01:27:36.390] [local output] Workers: [n = 2] 'localhost', 'localhost' [01:27:36.396] [local output] Base port: 39019 [01:27:36.397] [local output] Getting setup options for 2 cluster nodes ... [01:27:36.397] [local output] - Node 1 of 2 ... [01:27:36.397] [local output] localMachine=TRUE => revtunnel=FALSE [01:27:36.399] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp27ykGT/worker.rank=1.parallelly.parent=7984.1f30489e3957.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/Rtmp27ykGT/worker.rank=1.parallelly.parent=7984.1f30489e3957.pid\")"' [01:27:36.836] - Possible to infer worker's PID: TRUE [01:27:36.837] [local output] Rscript port: 39019 [01:27:36.838] [local output] - Node 2 of 2 ... [01:27:36.838] [local output] localMachine=TRUE => revtunnel=FALSE [01:27:36.840] [local output] Rscript port: 39019 [01:27:36.840] [local output] Getting setup options for 2 cluster nodes ... done [01:27:36.841] [local output] - Parallel setup requested for some PSOCK nodes [01:27:36.842] [local output] Setting up PSOCK nodes in parallel [01:27:36.842] List of 36 [01:27:36.842] $ worker : chr "localhost" [01:27:36.842] ..- attr(*, "localhost")= logi TRUE [01:27:36.842] $ master : chr "localhost" [01:27:36.842] $ port : int 39019 [01:27:36.842] $ connectTimeout : num 120 [01:27:36.842] $ timeout : num 120 [01:27:36.842] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [01:27:36.842] $ homogeneous : logi TRUE [01:27:36.842] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=futureAssign_OP.R:7984:CRANWIN3:"| __truncated__ [01:27:36.842] $ rscript_envs : NULL [01:27:36.842] $ rscript_libs : chr [1:2] "D:/temp/RtmpCIb4qz/RLIBS_32fc52ae7b47" "D:/RCompile/recent/R/library" [01:27:36.842] $ rscript_startup : NULL [01:27:36.842] $ rscript_sh : chr "cmd" [01:27:36.842] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [01:27:36.842] $ methods : logi TRUE [01:27:36.842] $ socketOptions : chr "no-delay" [01:27:36.842] $ useXDR : logi FALSE [01:27:36.842] $ outfile : chr "/dev/null" [01:27:36.842] $ renice : int NA [01:27:36.842] $ rshcmd : NULL [01:27:36.842] $ user : chr(0) [01:27:36.842] $ revtunnel : logi FALSE [01:27:36.842] $ rshlogfile : NULL [01:27:36.842] $ rshopts : chr(0) [01:27:36.842] $ rank : int 1 [01:27:36.842] $ manual : logi FALSE [01:27:36.842] $ dryrun : logi FALSE [01:27:36.842] $ quiet : logi FALSE [01:27:36.842] $ setup_strategy : chr "parallel" [01:27:36.842] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [01:27:36.842] $ pidfile : chr "D:/temp/Rtmp27ykGT/worker.rank=1.parallelly.parent=7984.1f30489e3957.pid" [01:27:36.842] $ rshcmd_label : NULL [01:27:36.842] $ rsh_call : NULL [01:27:36.842] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [01:27:36.842] $ localMachine : logi TRUE [01:27:36.842] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [01:27:36.842] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [01:27:36.842] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [01:27:36.842] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [01:27:36.842] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [01:27:36.842] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [01:27:36.842] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [01:27:36.842] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [01:27:36.842] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [01:27:36.842] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [01:27:36.842] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [01:27:36.842] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [01:27:36.842] "parallel"), action = c("launch", "options"), verbose = FALSE) [01:27:36.842] $ arguments :List of 28 [01:27:36.842] ..$ worker : chr "localhost" [01:27:36.842] ..$ master : NULL [01:27:36.842] ..$ port : int 39019 [01:27:36.842] ..$ connectTimeout : num 120 [01:27:36.842] ..$ timeout : num 120 [01:27:36.842] ..$ rscript : NULL [01:27:36.842] ..$ homogeneous : NULL [01:27:36.842] ..$ rscript_args : NULL [01:27:36.842] ..$ rscript_envs : NULL [01:27:36.842] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpCIb4qz/RLIBS_32fc52ae7b47" "D:/RCompile/recent/R/library" [01:27:36.842] ..$ rscript_startup : NULL [01:27:36.842] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [01:27:36.842] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [01:27:36.842] ..$ methods : logi TRUE [01:27:36.842] ..$ socketOptions : chr "no-delay" [01:27:36.842] ..$ useXDR : logi FALSE [01:27:36.842] ..$ outfile : chr "/dev/null" [01:27:36.842] ..$ renice : int NA [01:27:36.842] ..$ rshcmd : NULL [01:27:36.842] ..$ user : NULL [01:27:36.842] ..$ revtunnel : logi NA [01:27:36.842] ..$ rshlogfile : NULL [01:27:36.842] ..$ rshopts : NULL [01:27:36.842] ..$ rank : int 1 [01:27:36.842] ..$ manual : logi FALSE [01:27:36.842] ..$ dryrun : logi FALSE [01:27:36.842] ..$ quiet : logi FALSE [01:27:36.842] ..$ setup_strategy : chr "parallel" [01:27:36.842] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [01:27:36.867] [local output] System call to launch all workers: [01:27:36.867] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=futureAssign_OP.R:7984:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp27ykGT/worker.rank=1.parallelly.parent=7984.1f30489e3957.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/RtmpCIb4qz/RLIBS_32fc52ae7b47\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=39019 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [01:27:36.868] [local output] Starting PSOCK main server [01:27:36.873] [local output] Workers launched [01:27:36.874] [local output] Waiting for workers to connect back [01:27:36.874] - [local output] 0 workers out of 2 ready [01:27:37.069] - [local output] 0 workers out of 2 ready [01:27:37.070] - [local output] 1 workers out of 2 ready [01:27:37.106] - [local output] 1 workers out of 2 ready [01:27:37.106] - [local output] 2 workers out of 2 ready [01:27:37.106] [local output] Launching of workers completed [01:27:37.107] [local output] Collecting session information from workers [01:27:37.108] [local output] - Worker #1 of 2 [01:27:37.108] [local output] - Worker #2 of 2 [01:27:37.109] [local output] makeClusterPSOCK() ... done [01:27:37.122] Packages needed by the future expression (n = 0): [01:27:37.122] Packages needed by future strategies (n = 0): [01:27:37.123] { [01:27:37.123] { [01:27:37.123] { [01:27:37.123] ...future.startTime <- base::Sys.time() [01:27:37.123] { [01:27:37.123] { [01:27:37.123] { [01:27:37.123] { [01:27:37.123] base::local({ [01:27:37.123] has_future <- base::requireNamespace("future", [01:27:37.123] quietly = TRUE) [01:27:37.123] if (has_future) { [01:27:37.123] ns <- base::getNamespace("future") [01:27:37.123] version <- ns[[".package"]][["version"]] [01:27:37.123] if (is.null(version)) [01:27:37.123] version <- utils::packageVersion("future") [01:27:37.123] } [01:27:37.123] else { [01:27:37.123] version <- NULL [01:27:37.123] } [01:27:37.123] if (!has_future || version < "1.8.0") { [01:27:37.123] info <- base::c(r_version = base::gsub("R version ", [01:27:37.123] "", base::R.version$version.string), [01:27:37.123] platform = base::sprintf("%s (%s-bit)", [01:27:37.123] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:37.123] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:37.123] "release", "version")], collapse = " "), [01:27:37.123] hostname = base::Sys.info()[["nodename"]]) [01:27:37.123] info <- base::sprintf("%s: %s", base::names(info), [01:27:37.123] info) [01:27:37.123] info <- base::paste(info, collapse = "; ") [01:27:37.123] if (!has_future) { [01:27:37.123] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:37.123] info) [01:27:37.123] } [01:27:37.123] else { [01:27:37.123] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:37.123] info, version) [01:27:37.123] } [01:27:37.123] base::stop(msg) [01:27:37.123] } [01:27:37.123] }) [01:27:37.123] } [01:27:37.123] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:37.123] base::options(mc.cores = 1L) [01:27:37.123] } [01:27:37.123] options(future.plan = NULL) [01:27:37.123] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.123] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:37.123] } [01:27:37.123] ...future.workdir <- getwd() [01:27:37.123] } [01:27:37.123] ...future.oldOptions <- base::as.list(base::.Options) [01:27:37.123] ...future.oldEnvVars <- base::Sys.getenv() [01:27:37.123] } [01:27:37.123] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:37.123] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:37.123] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:37.123] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:37.123] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:37.123] future.stdout.windows.reencode = NULL, width = 80L) [01:27:37.123] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:37.123] base::names(...future.oldOptions)) [01:27:37.123] } [01:27:37.123] if (FALSE) { [01:27:37.123] } [01:27:37.123] else { [01:27:37.123] if (TRUE) { [01:27:37.123] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:37.123] open = "w") [01:27:37.123] } [01:27:37.123] else { [01:27:37.123] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:37.123] windows = "NUL", "/dev/null"), open = "w") [01:27:37.123] } [01:27:37.123] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:37.123] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:37.123] base::sink(type = "output", split = FALSE) [01:27:37.123] base::close(...future.stdout) [01:27:37.123] }, add = TRUE) [01:27:37.123] } [01:27:37.123] ...future.frame <- base::sys.nframe() [01:27:37.123] ...future.conditions <- base::list() [01:27:37.123] ...future.rng <- base::globalenv()$.Random.seed [01:27:37.123] if (FALSE) { [01:27:37.123] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:37.123] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:37.123] } [01:27:37.123] ...future.result <- base::tryCatch({ [01:27:37.123] base::withCallingHandlers({ [01:27:37.123] ...future.value <- base::withVisible(base::local({ [01:27:37.123] ...future.makeSendCondition <- base::local({ [01:27:37.123] sendCondition <- NULL [01:27:37.123] function(frame = 1L) { [01:27:37.123] if (is.function(sendCondition)) [01:27:37.123] return(sendCondition) [01:27:37.123] ns <- getNamespace("parallel") [01:27:37.123] if (exists("sendData", mode = "function", [01:27:37.123] envir = ns)) { [01:27:37.123] parallel_sendData <- get("sendData", mode = "function", [01:27:37.123] envir = ns) [01:27:37.123] envir <- sys.frame(frame) [01:27:37.123] master <- NULL [01:27:37.123] while (!identical(envir, .GlobalEnv) && [01:27:37.123] !identical(envir, emptyenv())) { [01:27:37.123] if (exists("master", mode = "list", envir = envir, [01:27:37.123] inherits = FALSE)) { [01:27:37.123] master <- get("master", mode = "list", [01:27:37.123] envir = envir, inherits = FALSE) [01:27:37.123] if (inherits(master, c("SOCKnode", [01:27:37.123] "SOCK0node"))) { [01:27:37.123] sendCondition <<- function(cond) { [01:27:37.123] data <- list(type = "VALUE", value = cond, [01:27:37.123] success = TRUE) [01:27:37.123] parallel_sendData(master, data) [01:27:37.123] } [01:27:37.123] return(sendCondition) [01:27:37.123] } [01:27:37.123] } [01:27:37.123] frame <- frame + 1L [01:27:37.123] envir <- sys.frame(frame) [01:27:37.123] } [01:27:37.123] } [01:27:37.123] sendCondition <<- function(cond) NULL [01:27:37.123] } [01:27:37.123] }) [01:27:37.123] withCallingHandlers({ [01:27:37.123] NA [01:27:37.123] }, immediateCondition = function(cond) { [01:27:37.123] sendCondition <- ...future.makeSendCondition() [01:27:37.123] sendCondition(cond) [01:27:37.123] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.123] { [01:27:37.123] inherits <- base::inherits [01:27:37.123] invokeRestart <- base::invokeRestart [01:27:37.123] is.null <- base::is.null [01:27:37.123] muffled <- FALSE [01:27:37.123] if (inherits(cond, "message")) { [01:27:37.123] muffled <- grepl(pattern, "muffleMessage") [01:27:37.123] if (muffled) [01:27:37.123] invokeRestart("muffleMessage") [01:27:37.123] } [01:27:37.123] else if (inherits(cond, "warning")) { [01:27:37.123] muffled <- grepl(pattern, "muffleWarning") [01:27:37.123] if (muffled) [01:27:37.123] invokeRestart("muffleWarning") [01:27:37.123] } [01:27:37.123] else if (inherits(cond, "condition")) { [01:27:37.123] if (!is.null(pattern)) { [01:27:37.123] computeRestarts <- base::computeRestarts [01:27:37.123] grepl <- base::grepl [01:27:37.123] restarts <- computeRestarts(cond) [01:27:37.123] for (restart in restarts) { [01:27:37.123] name <- restart$name [01:27:37.123] if (is.null(name)) [01:27:37.123] next [01:27:37.123] if (!grepl(pattern, name)) [01:27:37.123] next [01:27:37.123] invokeRestart(restart) [01:27:37.123] muffled <- TRUE [01:27:37.123] break [01:27:37.123] } [01:27:37.123] } [01:27:37.123] } [01:27:37.123] invisible(muffled) [01:27:37.123] } [01:27:37.123] muffleCondition(cond) [01:27:37.123] }) [01:27:37.123] })) [01:27:37.123] future::FutureResult(value = ...future.value$value, [01:27:37.123] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.123] ...future.rng), globalenv = if (FALSE) [01:27:37.123] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:37.123] ...future.globalenv.names)) [01:27:37.123] else NULL, started = ...future.startTime, version = "1.8") [01:27:37.123] }, condition = base::local({ [01:27:37.123] c <- base::c [01:27:37.123] inherits <- base::inherits [01:27:37.123] invokeRestart <- base::invokeRestart [01:27:37.123] length <- base::length [01:27:37.123] list <- base::list [01:27:37.123] seq.int <- base::seq.int [01:27:37.123] signalCondition <- base::signalCondition [01:27:37.123] sys.calls <- base::sys.calls [01:27:37.123] `[[` <- base::`[[` [01:27:37.123] `+` <- base::`+` [01:27:37.123] `<<-` <- base::`<<-` [01:27:37.123] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:37.123] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:37.123] 3L)] [01:27:37.123] } [01:27:37.123] function(cond) { [01:27:37.123] is_error <- inherits(cond, "error") [01:27:37.123] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:37.123] NULL) [01:27:37.123] if (is_error) { [01:27:37.123] sessionInformation <- function() { [01:27:37.123] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:37.123] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:37.123] search = base::search(), system = base::Sys.info()) [01:27:37.123] } [01:27:37.123] ...future.conditions[[length(...future.conditions) + [01:27:37.123] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:37.123] cond$call), session = sessionInformation(), [01:27:37.123] timestamp = base::Sys.time(), signaled = 0L) [01:27:37.123] signalCondition(cond) [01:27:37.123] } [01:27:37.123] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:37.123] "immediateCondition"))) { [01:27:37.123] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:37.123] ...future.conditions[[length(...future.conditions) + [01:27:37.123] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:37.123] if (TRUE && !signal) { [01:27:37.123] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.123] { [01:27:37.123] inherits <- base::inherits [01:27:37.123] invokeRestart <- base::invokeRestart [01:27:37.123] is.null <- base::is.null [01:27:37.123] muffled <- FALSE [01:27:37.123] if (inherits(cond, "message")) { [01:27:37.123] muffled <- grepl(pattern, "muffleMessage") [01:27:37.123] if (muffled) [01:27:37.123] invokeRestart("muffleMessage") [01:27:37.123] } [01:27:37.123] else if (inherits(cond, "warning")) { [01:27:37.123] muffled <- grepl(pattern, "muffleWarning") [01:27:37.123] if (muffled) [01:27:37.123] invokeRestart("muffleWarning") [01:27:37.123] } [01:27:37.123] else if (inherits(cond, "condition")) { [01:27:37.123] if (!is.null(pattern)) { [01:27:37.123] computeRestarts <- base::computeRestarts [01:27:37.123] grepl <- base::grepl [01:27:37.123] restarts <- computeRestarts(cond) [01:27:37.123] for (restart in restarts) { [01:27:37.123] name <- restart$name [01:27:37.123] if (is.null(name)) [01:27:37.123] next [01:27:37.123] if (!grepl(pattern, name)) [01:27:37.123] next [01:27:37.123] invokeRestart(restart) [01:27:37.123] muffled <- TRUE [01:27:37.123] break [01:27:37.123] } [01:27:37.123] } [01:27:37.123] } [01:27:37.123] invisible(muffled) [01:27:37.123] } [01:27:37.123] muffleCondition(cond, pattern = "^muffle") [01:27:37.123] } [01:27:37.123] } [01:27:37.123] else { [01:27:37.123] if (TRUE) { [01:27:37.123] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.123] { [01:27:37.123] inherits <- base::inherits [01:27:37.123] invokeRestart <- base::invokeRestart [01:27:37.123] is.null <- base::is.null [01:27:37.123] muffled <- FALSE [01:27:37.123] if (inherits(cond, "message")) { [01:27:37.123] muffled <- grepl(pattern, "muffleMessage") [01:27:37.123] if (muffled) [01:27:37.123] invokeRestart("muffleMessage") [01:27:37.123] } [01:27:37.123] else if (inherits(cond, "warning")) { [01:27:37.123] muffled <- grepl(pattern, "muffleWarning") [01:27:37.123] if (muffled) [01:27:37.123] invokeRestart("muffleWarning") [01:27:37.123] } [01:27:37.123] else if (inherits(cond, "condition")) { [01:27:37.123] if (!is.null(pattern)) { [01:27:37.123] computeRestarts <- base::computeRestarts [01:27:37.123] grepl <- base::grepl [01:27:37.123] restarts <- computeRestarts(cond) [01:27:37.123] for (restart in restarts) { [01:27:37.123] name <- restart$name [01:27:37.123] if (is.null(name)) [01:27:37.123] next [01:27:37.123] if (!grepl(pattern, name)) [01:27:37.123] next [01:27:37.123] invokeRestart(restart) [01:27:37.123] muffled <- TRUE [01:27:37.123] break [01:27:37.123] } [01:27:37.123] } [01:27:37.123] } [01:27:37.123] invisible(muffled) [01:27:37.123] } [01:27:37.123] muffleCondition(cond, pattern = "^muffle") [01:27:37.123] } [01:27:37.123] } [01:27:37.123] } [01:27:37.123] })) [01:27:37.123] }, error = function(ex) { [01:27:37.123] base::structure(base::list(value = NULL, visible = NULL, [01:27:37.123] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.123] ...future.rng), started = ...future.startTime, [01:27:37.123] finished = Sys.time(), session_uuid = NA_character_, [01:27:37.123] version = "1.8"), class = "FutureResult") [01:27:37.123] }, finally = { [01:27:37.123] if (!identical(...future.workdir, getwd())) [01:27:37.123] setwd(...future.workdir) [01:27:37.123] { [01:27:37.123] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:37.123] ...future.oldOptions$nwarnings <- NULL [01:27:37.123] } [01:27:37.123] base::options(...future.oldOptions) [01:27:37.123] if (.Platform$OS.type == "windows") { [01:27:37.123] old_names <- names(...future.oldEnvVars) [01:27:37.123] envs <- base::Sys.getenv() [01:27:37.123] names <- names(envs) [01:27:37.123] common <- intersect(names, old_names) [01:27:37.123] added <- setdiff(names, old_names) [01:27:37.123] removed <- setdiff(old_names, names) [01:27:37.123] changed <- common[...future.oldEnvVars[common] != [01:27:37.123] envs[common]] [01:27:37.123] NAMES <- toupper(changed) [01:27:37.123] args <- list() [01:27:37.123] for (kk in seq_along(NAMES)) { [01:27:37.123] name <- changed[[kk]] [01:27:37.123] NAME <- NAMES[[kk]] [01:27:37.123] if (name != NAME && is.element(NAME, old_names)) [01:27:37.123] next [01:27:37.123] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.123] } [01:27:37.123] NAMES <- toupper(added) [01:27:37.123] for (kk in seq_along(NAMES)) { [01:27:37.123] name <- added[[kk]] [01:27:37.123] NAME <- NAMES[[kk]] [01:27:37.123] if (name != NAME && is.element(NAME, old_names)) [01:27:37.123] next [01:27:37.123] args[[name]] <- "" [01:27:37.123] } [01:27:37.123] NAMES <- toupper(removed) [01:27:37.123] for (kk in seq_along(NAMES)) { [01:27:37.123] name <- removed[[kk]] [01:27:37.123] NAME <- NAMES[[kk]] [01:27:37.123] if (name != NAME && is.element(NAME, old_names)) [01:27:37.123] next [01:27:37.123] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.123] } [01:27:37.123] if (length(args) > 0) [01:27:37.123] base::do.call(base::Sys.setenv, args = args) [01:27:37.123] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:37.123] } [01:27:37.123] else { [01:27:37.123] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:37.123] } [01:27:37.123] { [01:27:37.123] if (base::length(...future.futureOptionsAdded) > [01:27:37.123] 0L) { [01:27:37.123] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:37.123] base::names(opts) <- ...future.futureOptionsAdded [01:27:37.123] base::options(opts) [01:27:37.123] } [01:27:37.123] { [01:27:37.123] { [01:27:37.123] base::options(mc.cores = ...future.mc.cores.old) [01:27:37.123] NULL [01:27:37.123] } [01:27:37.123] options(future.plan = NULL) [01:27:37.123] if (is.na(NA_character_)) [01:27:37.123] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.123] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:37.123] future::plan(list(function (..., workers = availableCores(), [01:27:37.123] lazy = FALSE, rscript_libs = .libPaths(), [01:27:37.123] envir = parent.frame()) [01:27:37.123] { [01:27:37.123] if (is.function(workers)) [01:27:37.123] workers <- workers() [01:27:37.123] workers <- structure(as.integer(workers), [01:27:37.123] class = class(workers)) [01:27:37.123] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:37.123] workers >= 1) [01:27:37.123] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:37.123] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:37.123] } [01:27:37.123] future <- MultisessionFuture(..., workers = workers, [01:27:37.123] lazy = lazy, rscript_libs = rscript_libs, [01:27:37.123] envir = envir) [01:27:37.123] if (!future$lazy) [01:27:37.123] future <- run(future) [01:27:37.123] invisible(future) [01:27:37.123] }), .cleanup = FALSE, .init = FALSE) [01:27:37.123] } [01:27:37.123] } [01:27:37.123] } [01:27:37.123] }) [01:27:37.123] if (TRUE) { [01:27:37.123] base::sink(type = "output", split = FALSE) [01:27:37.123] if (TRUE) { [01:27:37.123] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:37.123] } [01:27:37.123] else { [01:27:37.123] ...future.result["stdout"] <- base::list(NULL) [01:27:37.123] } [01:27:37.123] base::close(...future.stdout) [01:27:37.123] ...future.stdout <- NULL [01:27:37.123] } [01:27:37.123] ...future.result$conditions <- ...future.conditions [01:27:37.123] ...future.result$finished <- base::Sys.time() [01:27:37.123] ...future.result [01:27:37.123] } [01:27:37.205] MultisessionFuture started [01:27:37.205] result() for ClusterFuture ... [01:27:37.206] receiveMessageFromWorker() for ClusterFuture ... [01:27:37.206] - Validating connection of MultisessionFuture [01:27:37.264] - received message: FutureResult [01:27:37.264] - Received FutureResult [01:27:37.268] - Erased future from FutureRegistry [01:27:37.268] result() for ClusterFuture ... [01:27:37.269] - result already collected: FutureResult [01:27:37.269] result() for ClusterFuture ... done [01:27:37.269] receiveMessageFromWorker() for ClusterFuture ... done [01:27:37.269] result() for ClusterFuture ... done [01:27:37.269] result() for ClusterFuture ... [01:27:37.270] - result already collected: FutureResult [01:27:37.270] result() for ClusterFuture ... done [01:27:37.270] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [01:27:37.273] plan(): nbrOfWorkers() = 2 ** Future evaluation without globals [01:27:37.274] getGlobalsAndPackages() ... [01:27:37.274] Searching for globals... [01:27:37.275] - globals found: [2] '{', '<-' [01:27:37.276] Searching for globals ... DONE [01:27:37.276] Resolving globals: FALSE [01:27:37.276] [01:27:37.277] [01:27:37.277] getGlobalsAndPackages() ... DONE [01:27:37.277] run() for 'Future' ... [01:27:37.277] - state: 'created' [01:27:37.278] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:37.293] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:37.293] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:37.293] - Field: 'node' [01:27:37.293] - Field: 'label' [01:27:37.293] - Field: 'local' [01:27:37.294] - Field: 'owner' [01:27:37.294] - Field: 'envir' [01:27:37.294] - Field: 'workers' [01:27:37.294] - Field: 'packages' [01:27:37.294] - Field: 'gc' [01:27:37.295] - Field: 'conditions' [01:27:37.295] - Field: 'persistent' [01:27:37.295] - Field: 'expr' [01:27:37.295] - Field: 'uuid' [01:27:37.295] - Field: 'seed' [01:27:37.296] - Field: 'version' [01:27:37.296] - Field: 'result' [01:27:37.296] - Field: 'asynchronous' [01:27:37.296] - Field: 'calls' [01:27:37.296] - Field: 'globals' [01:27:37.297] - Field: 'stdout' [01:27:37.297] - Field: 'earlySignal' [01:27:37.297] - Field: 'lazy' [01:27:37.297] - Field: 'state' [01:27:37.297] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:37.297] - Launch lazy future ... [01:27:37.298] Packages needed by the future expression (n = 0): [01:27:37.298] Packages needed by future strategies (n = 0): [01:27:37.299] { [01:27:37.299] { [01:27:37.299] { [01:27:37.299] ...future.startTime <- base::Sys.time() [01:27:37.299] { [01:27:37.299] { [01:27:37.299] { [01:27:37.299] { [01:27:37.299] base::local({ [01:27:37.299] has_future <- base::requireNamespace("future", [01:27:37.299] quietly = TRUE) [01:27:37.299] if (has_future) { [01:27:37.299] ns <- base::getNamespace("future") [01:27:37.299] version <- ns[[".package"]][["version"]] [01:27:37.299] if (is.null(version)) [01:27:37.299] version <- utils::packageVersion("future") [01:27:37.299] } [01:27:37.299] else { [01:27:37.299] version <- NULL [01:27:37.299] } [01:27:37.299] if (!has_future || version < "1.8.0") { [01:27:37.299] info <- base::c(r_version = base::gsub("R version ", [01:27:37.299] "", base::R.version$version.string), [01:27:37.299] platform = base::sprintf("%s (%s-bit)", [01:27:37.299] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:37.299] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:37.299] "release", "version")], collapse = " "), [01:27:37.299] hostname = base::Sys.info()[["nodename"]]) [01:27:37.299] info <- base::sprintf("%s: %s", base::names(info), [01:27:37.299] info) [01:27:37.299] info <- base::paste(info, collapse = "; ") [01:27:37.299] if (!has_future) { [01:27:37.299] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:37.299] info) [01:27:37.299] } [01:27:37.299] else { [01:27:37.299] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:37.299] info, version) [01:27:37.299] } [01:27:37.299] base::stop(msg) [01:27:37.299] } [01:27:37.299] }) [01:27:37.299] } [01:27:37.299] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:37.299] base::options(mc.cores = 1L) [01:27:37.299] } [01:27:37.299] options(future.plan = NULL) [01:27:37.299] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.299] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:37.299] } [01:27:37.299] ...future.workdir <- getwd() [01:27:37.299] } [01:27:37.299] ...future.oldOptions <- base::as.list(base::.Options) [01:27:37.299] ...future.oldEnvVars <- base::Sys.getenv() [01:27:37.299] } [01:27:37.299] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:37.299] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:37.299] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:37.299] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:37.299] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:37.299] future.stdout.windows.reencode = NULL, width = 80L) [01:27:37.299] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:37.299] base::names(...future.oldOptions)) [01:27:37.299] } [01:27:37.299] if (FALSE) { [01:27:37.299] } [01:27:37.299] else { [01:27:37.299] if (TRUE) { [01:27:37.299] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:37.299] open = "w") [01:27:37.299] } [01:27:37.299] else { [01:27:37.299] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:37.299] windows = "NUL", "/dev/null"), open = "w") [01:27:37.299] } [01:27:37.299] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:37.299] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:37.299] base::sink(type = "output", split = FALSE) [01:27:37.299] base::close(...future.stdout) [01:27:37.299] }, add = TRUE) [01:27:37.299] } [01:27:37.299] ...future.frame <- base::sys.nframe() [01:27:37.299] ...future.conditions <- base::list() [01:27:37.299] ...future.rng <- base::globalenv()$.Random.seed [01:27:37.299] if (FALSE) { [01:27:37.299] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:37.299] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:37.299] } [01:27:37.299] ...future.result <- base::tryCatch({ [01:27:37.299] base::withCallingHandlers({ [01:27:37.299] ...future.value <- base::withVisible(base::local({ [01:27:37.299] ...future.makeSendCondition <- base::local({ [01:27:37.299] sendCondition <- NULL [01:27:37.299] function(frame = 1L) { [01:27:37.299] if (is.function(sendCondition)) [01:27:37.299] return(sendCondition) [01:27:37.299] ns <- getNamespace("parallel") [01:27:37.299] if (exists("sendData", mode = "function", [01:27:37.299] envir = ns)) { [01:27:37.299] parallel_sendData <- get("sendData", mode = "function", [01:27:37.299] envir = ns) [01:27:37.299] envir <- sys.frame(frame) [01:27:37.299] master <- NULL [01:27:37.299] while (!identical(envir, .GlobalEnv) && [01:27:37.299] !identical(envir, emptyenv())) { [01:27:37.299] if (exists("master", mode = "list", envir = envir, [01:27:37.299] inherits = FALSE)) { [01:27:37.299] master <- get("master", mode = "list", [01:27:37.299] envir = envir, inherits = FALSE) [01:27:37.299] if (inherits(master, c("SOCKnode", [01:27:37.299] "SOCK0node"))) { [01:27:37.299] sendCondition <<- function(cond) { [01:27:37.299] data <- list(type = "VALUE", value = cond, [01:27:37.299] success = TRUE) [01:27:37.299] parallel_sendData(master, data) [01:27:37.299] } [01:27:37.299] return(sendCondition) [01:27:37.299] } [01:27:37.299] } [01:27:37.299] frame <- frame + 1L [01:27:37.299] envir <- sys.frame(frame) [01:27:37.299] } [01:27:37.299] } [01:27:37.299] sendCondition <<- function(cond) NULL [01:27:37.299] } [01:27:37.299] }) [01:27:37.299] withCallingHandlers({ [01:27:37.299] { [01:27:37.299] x <- 1 [01:27:37.299] } [01:27:37.299] }, immediateCondition = function(cond) { [01:27:37.299] sendCondition <- ...future.makeSendCondition() [01:27:37.299] sendCondition(cond) [01:27:37.299] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.299] { [01:27:37.299] inherits <- base::inherits [01:27:37.299] invokeRestart <- base::invokeRestart [01:27:37.299] is.null <- base::is.null [01:27:37.299] muffled <- FALSE [01:27:37.299] if (inherits(cond, "message")) { [01:27:37.299] muffled <- grepl(pattern, "muffleMessage") [01:27:37.299] if (muffled) [01:27:37.299] invokeRestart("muffleMessage") [01:27:37.299] } [01:27:37.299] else if (inherits(cond, "warning")) { [01:27:37.299] muffled <- grepl(pattern, "muffleWarning") [01:27:37.299] if (muffled) [01:27:37.299] invokeRestart("muffleWarning") [01:27:37.299] } [01:27:37.299] else if (inherits(cond, "condition")) { [01:27:37.299] if (!is.null(pattern)) { [01:27:37.299] computeRestarts <- base::computeRestarts [01:27:37.299] grepl <- base::grepl [01:27:37.299] restarts <- computeRestarts(cond) [01:27:37.299] for (restart in restarts) { [01:27:37.299] name <- restart$name [01:27:37.299] if (is.null(name)) [01:27:37.299] next [01:27:37.299] if (!grepl(pattern, name)) [01:27:37.299] next [01:27:37.299] invokeRestart(restart) [01:27:37.299] muffled <- TRUE [01:27:37.299] break [01:27:37.299] } [01:27:37.299] } [01:27:37.299] } [01:27:37.299] invisible(muffled) [01:27:37.299] } [01:27:37.299] muffleCondition(cond) [01:27:37.299] }) [01:27:37.299] })) [01:27:37.299] future::FutureResult(value = ...future.value$value, [01:27:37.299] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.299] ...future.rng), globalenv = if (FALSE) [01:27:37.299] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:37.299] ...future.globalenv.names)) [01:27:37.299] else NULL, started = ...future.startTime, version = "1.8") [01:27:37.299] }, condition = base::local({ [01:27:37.299] c <- base::c [01:27:37.299] inherits <- base::inherits [01:27:37.299] invokeRestart <- base::invokeRestart [01:27:37.299] length <- base::length [01:27:37.299] list <- base::list [01:27:37.299] seq.int <- base::seq.int [01:27:37.299] signalCondition <- base::signalCondition [01:27:37.299] sys.calls <- base::sys.calls [01:27:37.299] `[[` <- base::`[[` [01:27:37.299] `+` <- base::`+` [01:27:37.299] `<<-` <- base::`<<-` [01:27:37.299] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:37.299] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:37.299] 3L)] [01:27:37.299] } [01:27:37.299] function(cond) { [01:27:37.299] is_error <- inherits(cond, "error") [01:27:37.299] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:37.299] NULL) [01:27:37.299] if (is_error) { [01:27:37.299] sessionInformation <- function() { [01:27:37.299] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:37.299] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:37.299] search = base::search(), system = base::Sys.info()) [01:27:37.299] } [01:27:37.299] ...future.conditions[[length(...future.conditions) + [01:27:37.299] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:37.299] cond$call), session = sessionInformation(), [01:27:37.299] timestamp = base::Sys.time(), signaled = 0L) [01:27:37.299] signalCondition(cond) [01:27:37.299] } [01:27:37.299] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:37.299] "immediateCondition"))) { [01:27:37.299] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:37.299] ...future.conditions[[length(...future.conditions) + [01:27:37.299] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:37.299] if (TRUE && !signal) { [01:27:37.299] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.299] { [01:27:37.299] inherits <- base::inherits [01:27:37.299] invokeRestart <- base::invokeRestart [01:27:37.299] is.null <- base::is.null [01:27:37.299] muffled <- FALSE [01:27:37.299] if (inherits(cond, "message")) { [01:27:37.299] muffled <- grepl(pattern, "muffleMessage") [01:27:37.299] if (muffled) [01:27:37.299] invokeRestart("muffleMessage") [01:27:37.299] } [01:27:37.299] else if (inherits(cond, "warning")) { [01:27:37.299] muffled <- grepl(pattern, "muffleWarning") [01:27:37.299] if (muffled) [01:27:37.299] invokeRestart("muffleWarning") [01:27:37.299] } [01:27:37.299] else if (inherits(cond, "condition")) { [01:27:37.299] if (!is.null(pattern)) { [01:27:37.299] computeRestarts <- base::computeRestarts [01:27:37.299] grepl <- base::grepl [01:27:37.299] restarts <- computeRestarts(cond) [01:27:37.299] for (restart in restarts) { [01:27:37.299] name <- restart$name [01:27:37.299] if (is.null(name)) [01:27:37.299] next [01:27:37.299] if (!grepl(pattern, name)) [01:27:37.299] next [01:27:37.299] invokeRestart(restart) [01:27:37.299] muffled <- TRUE [01:27:37.299] break [01:27:37.299] } [01:27:37.299] } [01:27:37.299] } [01:27:37.299] invisible(muffled) [01:27:37.299] } [01:27:37.299] muffleCondition(cond, pattern = "^muffle") [01:27:37.299] } [01:27:37.299] } [01:27:37.299] else { [01:27:37.299] if (TRUE) { [01:27:37.299] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.299] { [01:27:37.299] inherits <- base::inherits [01:27:37.299] invokeRestart <- base::invokeRestart [01:27:37.299] is.null <- base::is.null [01:27:37.299] muffled <- FALSE [01:27:37.299] if (inherits(cond, "message")) { [01:27:37.299] muffled <- grepl(pattern, "muffleMessage") [01:27:37.299] if (muffled) [01:27:37.299] invokeRestart("muffleMessage") [01:27:37.299] } [01:27:37.299] else if (inherits(cond, "warning")) { [01:27:37.299] muffled <- grepl(pattern, "muffleWarning") [01:27:37.299] if (muffled) [01:27:37.299] invokeRestart("muffleWarning") [01:27:37.299] } [01:27:37.299] else if (inherits(cond, "condition")) { [01:27:37.299] if (!is.null(pattern)) { [01:27:37.299] computeRestarts <- base::computeRestarts [01:27:37.299] grepl <- base::grepl [01:27:37.299] restarts <- computeRestarts(cond) [01:27:37.299] for (restart in restarts) { [01:27:37.299] name <- restart$name [01:27:37.299] if (is.null(name)) [01:27:37.299] next [01:27:37.299] if (!grepl(pattern, name)) [01:27:37.299] next [01:27:37.299] invokeRestart(restart) [01:27:37.299] muffled <- TRUE [01:27:37.299] break [01:27:37.299] } [01:27:37.299] } [01:27:37.299] } [01:27:37.299] invisible(muffled) [01:27:37.299] } [01:27:37.299] muffleCondition(cond, pattern = "^muffle") [01:27:37.299] } [01:27:37.299] } [01:27:37.299] } [01:27:37.299] })) [01:27:37.299] }, error = function(ex) { [01:27:37.299] base::structure(base::list(value = NULL, visible = NULL, [01:27:37.299] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.299] ...future.rng), started = ...future.startTime, [01:27:37.299] finished = Sys.time(), session_uuid = NA_character_, [01:27:37.299] version = "1.8"), class = "FutureResult") [01:27:37.299] }, finally = { [01:27:37.299] if (!identical(...future.workdir, getwd())) [01:27:37.299] setwd(...future.workdir) [01:27:37.299] { [01:27:37.299] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:37.299] ...future.oldOptions$nwarnings <- NULL [01:27:37.299] } [01:27:37.299] base::options(...future.oldOptions) [01:27:37.299] if (.Platform$OS.type == "windows") { [01:27:37.299] old_names <- names(...future.oldEnvVars) [01:27:37.299] envs <- base::Sys.getenv() [01:27:37.299] names <- names(envs) [01:27:37.299] common <- intersect(names, old_names) [01:27:37.299] added <- setdiff(names, old_names) [01:27:37.299] removed <- setdiff(old_names, names) [01:27:37.299] changed <- common[...future.oldEnvVars[common] != [01:27:37.299] envs[common]] [01:27:37.299] NAMES <- toupper(changed) [01:27:37.299] args <- list() [01:27:37.299] for (kk in seq_along(NAMES)) { [01:27:37.299] name <- changed[[kk]] [01:27:37.299] NAME <- NAMES[[kk]] [01:27:37.299] if (name != NAME && is.element(NAME, old_names)) [01:27:37.299] next [01:27:37.299] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.299] } [01:27:37.299] NAMES <- toupper(added) [01:27:37.299] for (kk in seq_along(NAMES)) { [01:27:37.299] name <- added[[kk]] [01:27:37.299] NAME <- NAMES[[kk]] [01:27:37.299] if (name != NAME && is.element(NAME, old_names)) [01:27:37.299] next [01:27:37.299] args[[name]] <- "" [01:27:37.299] } [01:27:37.299] NAMES <- toupper(removed) [01:27:37.299] for (kk in seq_along(NAMES)) { [01:27:37.299] name <- removed[[kk]] [01:27:37.299] NAME <- NAMES[[kk]] [01:27:37.299] if (name != NAME && is.element(NAME, old_names)) [01:27:37.299] next [01:27:37.299] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.299] } [01:27:37.299] if (length(args) > 0) [01:27:37.299] base::do.call(base::Sys.setenv, args = args) [01:27:37.299] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:37.299] } [01:27:37.299] else { [01:27:37.299] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:37.299] } [01:27:37.299] { [01:27:37.299] if (base::length(...future.futureOptionsAdded) > [01:27:37.299] 0L) { [01:27:37.299] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:37.299] base::names(opts) <- ...future.futureOptionsAdded [01:27:37.299] base::options(opts) [01:27:37.299] } [01:27:37.299] { [01:27:37.299] { [01:27:37.299] base::options(mc.cores = ...future.mc.cores.old) [01:27:37.299] NULL [01:27:37.299] } [01:27:37.299] options(future.plan = NULL) [01:27:37.299] if (is.na(NA_character_)) [01:27:37.299] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.299] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:37.299] future::plan(list(function (..., workers = availableCores(), [01:27:37.299] lazy = FALSE, rscript_libs = .libPaths(), [01:27:37.299] envir = parent.frame()) [01:27:37.299] { [01:27:37.299] if (is.function(workers)) [01:27:37.299] workers <- workers() [01:27:37.299] workers <- structure(as.integer(workers), [01:27:37.299] class = class(workers)) [01:27:37.299] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:37.299] workers >= 1) [01:27:37.299] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:37.299] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:37.299] } [01:27:37.299] future <- MultisessionFuture(..., workers = workers, [01:27:37.299] lazy = lazy, rscript_libs = rscript_libs, [01:27:37.299] envir = envir) [01:27:37.299] if (!future$lazy) [01:27:37.299] future <- run(future) [01:27:37.299] invisible(future) [01:27:37.299] }), .cleanup = FALSE, .init = FALSE) [01:27:37.299] } [01:27:37.299] } [01:27:37.299] } [01:27:37.299] }) [01:27:37.299] if (TRUE) { [01:27:37.299] base::sink(type = "output", split = FALSE) [01:27:37.299] if (TRUE) { [01:27:37.299] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:37.299] } [01:27:37.299] else { [01:27:37.299] ...future.result["stdout"] <- base::list(NULL) [01:27:37.299] } [01:27:37.299] base::close(...future.stdout) [01:27:37.299] ...future.stdout <- NULL [01:27:37.299] } [01:27:37.299] ...future.result$conditions <- ...future.conditions [01:27:37.299] ...future.result$finished <- base::Sys.time() [01:27:37.299] ...future.result [01:27:37.299] } [01:27:37.305] MultisessionFuture started [01:27:37.305] - Launch lazy future ... done [01:27:37.305] run() for 'MultisessionFuture' ... done [01:27:37.306] result() for ClusterFuture ... [01:27:37.306] receiveMessageFromWorker() for ClusterFuture ... [01:27:37.306] - Validating connection of MultisessionFuture [01:27:37.322] - received message: FutureResult [01:27:37.322] - Received FutureResult [01:27:37.323] - Erased future from FutureRegistry [01:27:37.323] result() for ClusterFuture ... [01:27:37.323] - result already collected: FutureResult [01:27:37.323] result() for ClusterFuture ... done [01:27:37.323] receiveMessageFromWorker() for ClusterFuture ... done [01:27:37.324] result() for ClusterFuture ... done [01:27:37.324] result() for ClusterFuture ... [01:27:37.324] - result already collected: FutureResult [01:27:37.324] result() for ClusterFuture ... done ** Future evaluation with globals [01:27:37.325] getGlobalsAndPackages() ... [01:27:37.325] Searching for globals... [01:27:37.326] - globals found: [3] '{', '<-', 'a' [01:27:37.327] Searching for globals ... DONE [01:27:37.327] Resolving globals: FALSE [01:27:37.327] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:37.328] The total size of the 1 globals exported for future expression ('{; x <- a; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (56 bytes of class 'numeric') [01:27:37.328] - globals: [1] 'a' [01:27:37.328] [01:27:37.329] getGlobalsAndPackages() ... DONE [01:27:37.329] run() for 'Future' ... [01:27:37.329] - state: 'created' [01:27:37.329] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:37.344] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:37.344] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:37.345] - Field: 'node' [01:27:37.345] - Field: 'label' [01:27:37.345] - Field: 'local' [01:27:37.345] - Field: 'owner' [01:27:37.345] - Field: 'envir' [01:27:37.346] - Field: 'workers' [01:27:37.346] - Field: 'packages' [01:27:37.346] - Field: 'gc' [01:27:37.346] - Field: 'conditions' [01:27:37.346] - Field: 'persistent' [01:27:37.347] - Field: 'expr' [01:27:37.347] - Field: 'uuid' [01:27:37.347] - Field: 'seed' [01:27:37.347] - Field: 'version' [01:27:37.347] - Field: 'result' [01:27:37.348] - Field: 'asynchronous' [01:27:37.348] - Field: 'calls' [01:27:37.348] - Field: 'globals' [01:27:37.348] - Field: 'stdout' [01:27:37.348] - Field: 'earlySignal' [01:27:37.349] - Field: 'lazy' [01:27:37.349] - Field: 'state' [01:27:37.349] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:37.349] - Launch lazy future ... [01:27:37.350] Packages needed by the future expression (n = 0): [01:27:37.350] Packages needed by future strategies (n = 0): [01:27:37.350] { [01:27:37.350] { [01:27:37.350] { [01:27:37.350] ...future.startTime <- base::Sys.time() [01:27:37.350] { [01:27:37.350] { [01:27:37.350] { [01:27:37.350] { [01:27:37.350] base::local({ [01:27:37.350] has_future <- base::requireNamespace("future", [01:27:37.350] quietly = TRUE) [01:27:37.350] if (has_future) { [01:27:37.350] ns <- base::getNamespace("future") [01:27:37.350] version <- ns[[".package"]][["version"]] [01:27:37.350] if (is.null(version)) [01:27:37.350] version <- utils::packageVersion("future") [01:27:37.350] } [01:27:37.350] else { [01:27:37.350] version <- NULL [01:27:37.350] } [01:27:37.350] if (!has_future || version < "1.8.0") { [01:27:37.350] info <- base::c(r_version = base::gsub("R version ", [01:27:37.350] "", base::R.version$version.string), [01:27:37.350] platform = base::sprintf("%s (%s-bit)", [01:27:37.350] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:37.350] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:37.350] "release", "version")], collapse = " "), [01:27:37.350] hostname = base::Sys.info()[["nodename"]]) [01:27:37.350] info <- base::sprintf("%s: %s", base::names(info), [01:27:37.350] info) [01:27:37.350] info <- base::paste(info, collapse = "; ") [01:27:37.350] if (!has_future) { [01:27:37.350] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:37.350] info) [01:27:37.350] } [01:27:37.350] else { [01:27:37.350] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:37.350] info, version) [01:27:37.350] } [01:27:37.350] base::stop(msg) [01:27:37.350] } [01:27:37.350] }) [01:27:37.350] } [01:27:37.350] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:37.350] base::options(mc.cores = 1L) [01:27:37.350] } [01:27:37.350] options(future.plan = NULL) [01:27:37.350] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.350] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:37.350] } [01:27:37.350] ...future.workdir <- getwd() [01:27:37.350] } [01:27:37.350] ...future.oldOptions <- base::as.list(base::.Options) [01:27:37.350] ...future.oldEnvVars <- base::Sys.getenv() [01:27:37.350] } [01:27:37.350] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:37.350] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:37.350] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:37.350] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:37.350] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:37.350] future.stdout.windows.reencode = NULL, width = 80L) [01:27:37.350] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:37.350] base::names(...future.oldOptions)) [01:27:37.350] } [01:27:37.350] if (FALSE) { [01:27:37.350] } [01:27:37.350] else { [01:27:37.350] if (TRUE) { [01:27:37.350] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:37.350] open = "w") [01:27:37.350] } [01:27:37.350] else { [01:27:37.350] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:37.350] windows = "NUL", "/dev/null"), open = "w") [01:27:37.350] } [01:27:37.350] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:37.350] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:37.350] base::sink(type = "output", split = FALSE) [01:27:37.350] base::close(...future.stdout) [01:27:37.350] }, add = TRUE) [01:27:37.350] } [01:27:37.350] ...future.frame <- base::sys.nframe() [01:27:37.350] ...future.conditions <- base::list() [01:27:37.350] ...future.rng <- base::globalenv()$.Random.seed [01:27:37.350] if (FALSE) { [01:27:37.350] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:37.350] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:37.350] } [01:27:37.350] ...future.result <- base::tryCatch({ [01:27:37.350] base::withCallingHandlers({ [01:27:37.350] ...future.value <- base::withVisible(base::local({ [01:27:37.350] ...future.makeSendCondition <- base::local({ [01:27:37.350] sendCondition <- NULL [01:27:37.350] function(frame = 1L) { [01:27:37.350] if (is.function(sendCondition)) [01:27:37.350] return(sendCondition) [01:27:37.350] ns <- getNamespace("parallel") [01:27:37.350] if (exists("sendData", mode = "function", [01:27:37.350] envir = ns)) { [01:27:37.350] parallel_sendData <- get("sendData", mode = "function", [01:27:37.350] envir = ns) [01:27:37.350] envir <- sys.frame(frame) [01:27:37.350] master <- NULL [01:27:37.350] while (!identical(envir, .GlobalEnv) && [01:27:37.350] !identical(envir, emptyenv())) { [01:27:37.350] if (exists("master", mode = "list", envir = envir, [01:27:37.350] inherits = FALSE)) { [01:27:37.350] master <- get("master", mode = "list", [01:27:37.350] envir = envir, inherits = FALSE) [01:27:37.350] if (inherits(master, c("SOCKnode", [01:27:37.350] "SOCK0node"))) { [01:27:37.350] sendCondition <<- function(cond) { [01:27:37.350] data <- list(type = "VALUE", value = cond, [01:27:37.350] success = TRUE) [01:27:37.350] parallel_sendData(master, data) [01:27:37.350] } [01:27:37.350] return(sendCondition) [01:27:37.350] } [01:27:37.350] } [01:27:37.350] frame <- frame + 1L [01:27:37.350] envir <- sys.frame(frame) [01:27:37.350] } [01:27:37.350] } [01:27:37.350] sendCondition <<- function(cond) NULL [01:27:37.350] } [01:27:37.350] }) [01:27:37.350] withCallingHandlers({ [01:27:37.350] { [01:27:37.350] x <- a [01:27:37.350] } [01:27:37.350] }, immediateCondition = function(cond) { [01:27:37.350] sendCondition <- ...future.makeSendCondition() [01:27:37.350] sendCondition(cond) [01:27:37.350] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.350] { [01:27:37.350] inherits <- base::inherits [01:27:37.350] invokeRestart <- base::invokeRestart [01:27:37.350] is.null <- base::is.null [01:27:37.350] muffled <- FALSE [01:27:37.350] if (inherits(cond, "message")) { [01:27:37.350] muffled <- grepl(pattern, "muffleMessage") [01:27:37.350] if (muffled) [01:27:37.350] invokeRestart("muffleMessage") [01:27:37.350] } [01:27:37.350] else if (inherits(cond, "warning")) { [01:27:37.350] muffled <- grepl(pattern, "muffleWarning") [01:27:37.350] if (muffled) [01:27:37.350] invokeRestart("muffleWarning") [01:27:37.350] } [01:27:37.350] else if (inherits(cond, "condition")) { [01:27:37.350] if (!is.null(pattern)) { [01:27:37.350] computeRestarts <- base::computeRestarts [01:27:37.350] grepl <- base::grepl [01:27:37.350] restarts <- computeRestarts(cond) [01:27:37.350] for (restart in restarts) { [01:27:37.350] name <- restart$name [01:27:37.350] if (is.null(name)) [01:27:37.350] next [01:27:37.350] if (!grepl(pattern, name)) [01:27:37.350] next [01:27:37.350] invokeRestart(restart) [01:27:37.350] muffled <- TRUE [01:27:37.350] break [01:27:37.350] } [01:27:37.350] } [01:27:37.350] } [01:27:37.350] invisible(muffled) [01:27:37.350] } [01:27:37.350] muffleCondition(cond) [01:27:37.350] }) [01:27:37.350] })) [01:27:37.350] future::FutureResult(value = ...future.value$value, [01:27:37.350] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.350] ...future.rng), globalenv = if (FALSE) [01:27:37.350] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:37.350] ...future.globalenv.names)) [01:27:37.350] else NULL, started = ...future.startTime, version = "1.8") [01:27:37.350] }, condition = base::local({ [01:27:37.350] c <- base::c [01:27:37.350] inherits <- base::inherits [01:27:37.350] invokeRestart <- base::invokeRestart [01:27:37.350] length <- base::length [01:27:37.350] list <- base::list [01:27:37.350] seq.int <- base::seq.int [01:27:37.350] signalCondition <- base::signalCondition [01:27:37.350] sys.calls <- base::sys.calls [01:27:37.350] `[[` <- base::`[[` [01:27:37.350] `+` <- base::`+` [01:27:37.350] `<<-` <- base::`<<-` [01:27:37.350] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:37.350] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:37.350] 3L)] [01:27:37.350] } [01:27:37.350] function(cond) { [01:27:37.350] is_error <- inherits(cond, "error") [01:27:37.350] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:37.350] NULL) [01:27:37.350] if (is_error) { [01:27:37.350] sessionInformation <- function() { [01:27:37.350] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:37.350] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:37.350] search = base::search(), system = base::Sys.info()) [01:27:37.350] } [01:27:37.350] ...future.conditions[[length(...future.conditions) + [01:27:37.350] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:37.350] cond$call), session = sessionInformation(), [01:27:37.350] timestamp = base::Sys.time(), signaled = 0L) [01:27:37.350] signalCondition(cond) [01:27:37.350] } [01:27:37.350] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:37.350] "immediateCondition"))) { [01:27:37.350] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:37.350] ...future.conditions[[length(...future.conditions) + [01:27:37.350] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:37.350] if (TRUE && !signal) { [01:27:37.350] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.350] { [01:27:37.350] inherits <- base::inherits [01:27:37.350] invokeRestart <- base::invokeRestart [01:27:37.350] is.null <- base::is.null [01:27:37.350] muffled <- FALSE [01:27:37.350] if (inherits(cond, "message")) { [01:27:37.350] muffled <- grepl(pattern, "muffleMessage") [01:27:37.350] if (muffled) [01:27:37.350] invokeRestart("muffleMessage") [01:27:37.350] } [01:27:37.350] else if (inherits(cond, "warning")) { [01:27:37.350] muffled <- grepl(pattern, "muffleWarning") [01:27:37.350] if (muffled) [01:27:37.350] invokeRestart("muffleWarning") [01:27:37.350] } [01:27:37.350] else if (inherits(cond, "condition")) { [01:27:37.350] if (!is.null(pattern)) { [01:27:37.350] computeRestarts <- base::computeRestarts [01:27:37.350] grepl <- base::grepl [01:27:37.350] restarts <- computeRestarts(cond) [01:27:37.350] for (restart in restarts) { [01:27:37.350] name <- restart$name [01:27:37.350] if (is.null(name)) [01:27:37.350] next [01:27:37.350] if (!grepl(pattern, name)) [01:27:37.350] next [01:27:37.350] invokeRestart(restart) [01:27:37.350] muffled <- TRUE [01:27:37.350] break [01:27:37.350] } [01:27:37.350] } [01:27:37.350] } [01:27:37.350] invisible(muffled) [01:27:37.350] } [01:27:37.350] muffleCondition(cond, pattern = "^muffle") [01:27:37.350] } [01:27:37.350] } [01:27:37.350] else { [01:27:37.350] if (TRUE) { [01:27:37.350] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.350] { [01:27:37.350] inherits <- base::inherits [01:27:37.350] invokeRestart <- base::invokeRestart [01:27:37.350] is.null <- base::is.null [01:27:37.350] muffled <- FALSE [01:27:37.350] if (inherits(cond, "message")) { [01:27:37.350] muffled <- grepl(pattern, "muffleMessage") [01:27:37.350] if (muffled) [01:27:37.350] invokeRestart("muffleMessage") [01:27:37.350] } [01:27:37.350] else if (inherits(cond, "warning")) { [01:27:37.350] muffled <- grepl(pattern, "muffleWarning") [01:27:37.350] if (muffled) [01:27:37.350] invokeRestart("muffleWarning") [01:27:37.350] } [01:27:37.350] else if (inherits(cond, "condition")) { [01:27:37.350] if (!is.null(pattern)) { [01:27:37.350] computeRestarts <- base::computeRestarts [01:27:37.350] grepl <- base::grepl [01:27:37.350] restarts <- computeRestarts(cond) [01:27:37.350] for (restart in restarts) { [01:27:37.350] name <- restart$name [01:27:37.350] if (is.null(name)) [01:27:37.350] next [01:27:37.350] if (!grepl(pattern, name)) [01:27:37.350] next [01:27:37.350] invokeRestart(restart) [01:27:37.350] muffled <- TRUE [01:27:37.350] break [01:27:37.350] } [01:27:37.350] } [01:27:37.350] } [01:27:37.350] invisible(muffled) [01:27:37.350] } [01:27:37.350] muffleCondition(cond, pattern = "^muffle") [01:27:37.350] } [01:27:37.350] } [01:27:37.350] } [01:27:37.350] })) [01:27:37.350] }, error = function(ex) { [01:27:37.350] base::structure(base::list(value = NULL, visible = NULL, [01:27:37.350] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.350] ...future.rng), started = ...future.startTime, [01:27:37.350] finished = Sys.time(), session_uuid = NA_character_, [01:27:37.350] version = "1.8"), class = "FutureResult") [01:27:37.350] }, finally = { [01:27:37.350] if (!identical(...future.workdir, getwd())) [01:27:37.350] setwd(...future.workdir) [01:27:37.350] { [01:27:37.350] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:37.350] ...future.oldOptions$nwarnings <- NULL [01:27:37.350] } [01:27:37.350] base::options(...future.oldOptions) [01:27:37.350] if (.Platform$OS.type == "windows") { [01:27:37.350] old_names <- names(...future.oldEnvVars) [01:27:37.350] envs <- base::Sys.getenv() [01:27:37.350] names <- names(envs) [01:27:37.350] common <- intersect(names, old_names) [01:27:37.350] added <- setdiff(names, old_names) [01:27:37.350] removed <- setdiff(old_names, names) [01:27:37.350] changed <- common[...future.oldEnvVars[common] != [01:27:37.350] envs[common]] [01:27:37.350] NAMES <- toupper(changed) [01:27:37.350] args <- list() [01:27:37.350] for (kk in seq_along(NAMES)) { [01:27:37.350] name <- changed[[kk]] [01:27:37.350] NAME <- NAMES[[kk]] [01:27:37.350] if (name != NAME && is.element(NAME, old_names)) [01:27:37.350] next [01:27:37.350] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.350] } [01:27:37.350] NAMES <- toupper(added) [01:27:37.350] for (kk in seq_along(NAMES)) { [01:27:37.350] name <- added[[kk]] [01:27:37.350] NAME <- NAMES[[kk]] [01:27:37.350] if (name != NAME && is.element(NAME, old_names)) [01:27:37.350] next [01:27:37.350] args[[name]] <- "" [01:27:37.350] } [01:27:37.350] NAMES <- toupper(removed) [01:27:37.350] for (kk in seq_along(NAMES)) { [01:27:37.350] name <- removed[[kk]] [01:27:37.350] NAME <- NAMES[[kk]] [01:27:37.350] if (name != NAME && is.element(NAME, old_names)) [01:27:37.350] next [01:27:37.350] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.350] } [01:27:37.350] if (length(args) > 0) [01:27:37.350] base::do.call(base::Sys.setenv, args = args) [01:27:37.350] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:37.350] } [01:27:37.350] else { [01:27:37.350] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:37.350] } [01:27:37.350] { [01:27:37.350] if (base::length(...future.futureOptionsAdded) > [01:27:37.350] 0L) { [01:27:37.350] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:37.350] base::names(opts) <- ...future.futureOptionsAdded [01:27:37.350] base::options(opts) [01:27:37.350] } [01:27:37.350] { [01:27:37.350] { [01:27:37.350] base::options(mc.cores = ...future.mc.cores.old) [01:27:37.350] NULL [01:27:37.350] } [01:27:37.350] options(future.plan = NULL) [01:27:37.350] if (is.na(NA_character_)) [01:27:37.350] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.350] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:37.350] future::plan(list(function (..., workers = availableCores(), [01:27:37.350] lazy = FALSE, rscript_libs = .libPaths(), [01:27:37.350] envir = parent.frame()) [01:27:37.350] { [01:27:37.350] if (is.function(workers)) [01:27:37.350] workers <- workers() [01:27:37.350] workers <- structure(as.integer(workers), [01:27:37.350] class = class(workers)) [01:27:37.350] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:37.350] workers >= 1) [01:27:37.350] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:37.350] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:37.350] } [01:27:37.350] future <- MultisessionFuture(..., workers = workers, [01:27:37.350] lazy = lazy, rscript_libs = rscript_libs, [01:27:37.350] envir = envir) [01:27:37.350] if (!future$lazy) [01:27:37.350] future <- run(future) [01:27:37.350] invisible(future) [01:27:37.350] }), .cleanup = FALSE, .init = FALSE) [01:27:37.350] } [01:27:37.350] } [01:27:37.350] } [01:27:37.350] }) [01:27:37.350] if (TRUE) { [01:27:37.350] base::sink(type = "output", split = FALSE) [01:27:37.350] if (TRUE) { [01:27:37.350] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:37.350] } [01:27:37.350] else { [01:27:37.350] ...future.result["stdout"] <- base::list(NULL) [01:27:37.350] } [01:27:37.350] base::close(...future.stdout) [01:27:37.350] ...future.stdout <- NULL [01:27:37.350] } [01:27:37.350] ...future.result$conditions <- ...future.conditions [01:27:37.350] ...future.result$finished <- base::Sys.time() [01:27:37.350] ...future.result [01:27:37.350] } [01:27:37.356] Exporting 1 global objects (56 bytes) to cluster node #1 ... [01:27:37.356] Exporting 'a' (56 bytes) to cluster node #1 ... [01:27:37.357] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [01:27:37.357] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [01:27:37.358] MultisessionFuture started [01:27:37.358] - Launch lazy future ... done [01:27:37.358] run() for 'MultisessionFuture' ... done [01:27:37.359] result() for ClusterFuture ... [01:27:37.359] receiveMessageFromWorker() for ClusterFuture ... [01:27:37.359] - Validating connection of MultisessionFuture [01:27:37.375] - received message: FutureResult [01:27:37.375] - Received FutureResult [01:27:37.375] - Erased future from FutureRegistry [01:27:37.375] result() for ClusterFuture ... [01:27:37.376] - result already collected: FutureResult [01:27:37.376] result() for ClusterFuture ... done [01:27:37.376] receiveMessageFromWorker() for ClusterFuture ... done [01:27:37.376] result() for ClusterFuture ... done [01:27:37.376] result() for ClusterFuture ... [01:27:37.376] - result already collected: FutureResult [01:27:37.377] result() for ClusterFuture ... done ** Future evaluation with errors [01:27:37.377] getGlobalsAndPackages() ... [01:27:37.377] Searching for globals... [01:27:37.380] - globals found: [3] '{', '<-', 'stop' [01:27:37.380] Searching for globals ... DONE [01:27:37.380] Resolving globals: FALSE [01:27:37.381] [01:27:37.381] [01:27:37.381] getGlobalsAndPackages() ... DONE [01:27:37.381] run() for 'Future' ... [01:27:37.382] - state: 'created' [01:27:37.382] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:37.397] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:37.397] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:37.397] - Field: 'node' [01:27:37.398] - Field: 'label' [01:27:37.399] - Field: 'local' [01:27:37.399] - Field: 'owner' [01:27:37.399] - Field: 'envir' [01:27:37.400] - Field: 'workers' [01:27:37.400] - Field: 'packages' [01:27:37.400] - Field: 'gc' [01:27:37.400] - Field: 'conditions' [01:27:37.400] - Field: 'persistent' [01:27:37.401] - Field: 'expr' [01:27:37.401] - Field: 'uuid' [01:27:37.401] - Field: 'seed' [01:27:37.401] - Field: 'version' [01:27:37.402] - Field: 'result' [01:27:37.402] - Field: 'asynchronous' [01:27:37.402] - Field: 'calls' [01:27:37.402] - Field: 'globals' [01:27:37.403] - Field: 'stdout' [01:27:37.403] - Field: 'earlySignal' [01:27:37.403] - Field: 'lazy' [01:27:37.403] - Field: 'state' [01:27:37.404] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:37.404] - Launch lazy future ... [01:27:37.405] Packages needed by the future expression (n = 0): [01:27:37.405] Packages needed by future strategies (n = 0): [01:27:37.406] { [01:27:37.406] { [01:27:37.406] { [01:27:37.406] ...future.startTime <- base::Sys.time() [01:27:37.406] { [01:27:37.406] { [01:27:37.406] { [01:27:37.406] { [01:27:37.406] base::local({ [01:27:37.406] has_future <- base::requireNamespace("future", [01:27:37.406] quietly = TRUE) [01:27:37.406] if (has_future) { [01:27:37.406] ns <- base::getNamespace("future") [01:27:37.406] version <- ns[[".package"]][["version"]] [01:27:37.406] if (is.null(version)) [01:27:37.406] version <- utils::packageVersion("future") [01:27:37.406] } [01:27:37.406] else { [01:27:37.406] version <- NULL [01:27:37.406] } [01:27:37.406] if (!has_future || version < "1.8.0") { [01:27:37.406] info <- base::c(r_version = base::gsub("R version ", [01:27:37.406] "", base::R.version$version.string), [01:27:37.406] platform = base::sprintf("%s (%s-bit)", [01:27:37.406] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:37.406] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:37.406] "release", "version")], collapse = " "), [01:27:37.406] hostname = base::Sys.info()[["nodename"]]) [01:27:37.406] info <- base::sprintf("%s: %s", base::names(info), [01:27:37.406] info) [01:27:37.406] info <- base::paste(info, collapse = "; ") [01:27:37.406] if (!has_future) { [01:27:37.406] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:37.406] info) [01:27:37.406] } [01:27:37.406] else { [01:27:37.406] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:37.406] info, version) [01:27:37.406] } [01:27:37.406] base::stop(msg) [01:27:37.406] } [01:27:37.406] }) [01:27:37.406] } [01:27:37.406] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:37.406] base::options(mc.cores = 1L) [01:27:37.406] } [01:27:37.406] options(future.plan = NULL) [01:27:37.406] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.406] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:37.406] } [01:27:37.406] ...future.workdir <- getwd() [01:27:37.406] } [01:27:37.406] ...future.oldOptions <- base::as.list(base::.Options) [01:27:37.406] ...future.oldEnvVars <- base::Sys.getenv() [01:27:37.406] } [01:27:37.406] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:37.406] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:37.406] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:37.406] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:37.406] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:37.406] future.stdout.windows.reencode = NULL, width = 80L) [01:27:37.406] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:37.406] base::names(...future.oldOptions)) [01:27:37.406] } [01:27:37.406] if (FALSE) { [01:27:37.406] } [01:27:37.406] else { [01:27:37.406] if (TRUE) { [01:27:37.406] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:37.406] open = "w") [01:27:37.406] } [01:27:37.406] else { [01:27:37.406] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:37.406] windows = "NUL", "/dev/null"), open = "w") [01:27:37.406] } [01:27:37.406] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:37.406] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:37.406] base::sink(type = "output", split = FALSE) [01:27:37.406] base::close(...future.stdout) [01:27:37.406] }, add = TRUE) [01:27:37.406] } [01:27:37.406] ...future.frame <- base::sys.nframe() [01:27:37.406] ...future.conditions <- base::list() [01:27:37.406] ...future.rng <- base::globalenv()$.Random.seed [01:27:37.406] if (FALSE) { [01:27:37.406] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:37.406] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:37.406] } [01:27:37.406] ...future.result <- base::tryCatch({ [01:27:37.406] base::withCallingHandlers({ [01:27:37.406] ...future.value <- base::withVisible(base::local({ [01:27:37.406] ...future.makeSendCondition <- base::local({ [01:27:37.406] sendCondition <- NULL [01:27:37.406] function(frame = 1L) { [01:27:37.406] if (is.function(sendCondition)) [01:27:37.406] return(sendCondition) [01:27:37.406] ns <- getNamespace("parallel") [01:27:37.406] if (exists("sendData", mode = "function", [01:27:37.406] envir = ns)) { [01:27:37.406] parallel_sendData <- get("sendData", mode = "function", [01:27:37.406] envir = ns) [01:27:37.406] envir <- sys.frame(frame) [01:27:37.406] master <- NULL [01:27:37.406] while (!identical(envir, .GlobalEnv) && [01:27:37.406] !identical(envir, emptyenv())) { [01:27:37.406] if (exists("master", mode = "list", envir = envir, [01:27:37.406] inherits = FALSE)) { [01:27:37.406] master <- get("master", mode = "list", [01:27:37.406] envir = envir, inherits = FALSE) [01:27:37.406] if (inherits(master, c("SOCKnode", [01:27:37.406] "SOCK0node"))) { [01:27:37.406] sendCondition <<- function(cond) { [01:27:37.406] data <- list(type = "VALUE", value = cond, [01:27:37.406] success = TRUE) [01:27:37.406] parallel_sendData(master, data) [01:27:37.406] } [01:27:37.406] return(sendCondition) [01:27:37.406] } [01:27:37.406] } [01:27:37.406] frame <- frame + 1L [01:27:37.406] envir <- sys.frame(frame) [01:27:37.406] } [01:27:37.406] } [01:27:37.406] sendCondition <<- function(cond) NULL [01:27:37.406] } [01:27:37.406] }) [01:27:37.406] withCallingHandlers({ [01:27:37.406] { [01:27:37.406] x <- 3 [01:27:37.406] stop("Woops!") [01:27:37.406] x [01:27:37.406] } [01:27:37.406] }, immediateCondition = function(cond) { [01:27:37.406] sendCondition <- ...future.makeSendCondition() [01:27:37.406] sendCondition(cond) [01:27:37.406] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.406] { [01:27:37.406] inherits <- base::inherits [01:27:37.406] invokeRestart <- base::invokeRestart [01:27:37.406] is.null <- base::is.null [01:27:37.406] muffled <- FALSE [01:27:37.406] if (inherits(cond, "message")) { [01:27:37.406] muffled <- grepl(pattern, "muffleMessage") [01:27:37.406] if (muffled) [01:27:37.406] invokeRestart("muffleMessage") [01:27:37.406] } [01:27:37.406] else if (inherits(cond, "warning")) { [01:27:37.406] muffled <- grepl(pattern, "muffleWarning") [01:27:37.406] if (muffled) [01:27:37.406] invokeRestart("muffleWarning") [01:27:37.406] } [01:27:37.406] else if (inherits(cond, "condition")) { [01:27:37.406] if (!is.null(pattern)) { [01:27:37.406] computeRestarts <- base::computeRestarts [01:27:37.406] grepl <- base::grepl [01:27:37.406] restarts <- computeRestarts(cond) [01:27:37.406] for (restart in restarts) { [01:27:37.406] name <- restart$name [01:27:37.406] if (is.null(name)) [01:27:37.406] next [01:27:37.406] if (!grepl(pattern, name)) [01:27:37.406] next [01:27:37.406] invokeRestart(restart) [01:27:37.406] muffled <- TRUE [01:27:37.406] break [01:27:37.406] } [01:27:37.406] } [01:27:37.406] } [01:27:37.406] invisible(muffled) [01:27:37.406] } [01:27:37.406] muffleCondition(cond) [01:27:37.406] }) [01:27:37.406] })) [01:27:37.406] future::FutureResult(value = ...future.value$value, [01:27:37.406] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.406] ...future.rng), globalenv = if (FALSE) [01:27:37.406] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:37.406] ...future.globalenv.names)) [01:27:37.406] else NULL, started = ...future.startTime, version = "1.8") [01:27:37.406] }, condition = base::local({ [01:27:37.406] c <- base::c [01:27:37.406] inherits <- base::inherits [01:27:37.406] invokeRestart <- base::invokeRestart [01:27:37.406] length <- base::length [01:27:37.406] list <- base::list [01:27:37.406] seq.int <- base::seq.int [01:27:37.406] signalCondition <- base::signalCondition [01:27:37.406] sys.calls <- base::sys.calls [01:27:37.406] `[[` <- base::`[[` [01:27:37.406] `+` <- base::`+` [01:27:37.406] `<<-` <- base::`<<-` [01:27:37.406] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:37.406] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:37.406] 3L)] [01:27:37.406] } [01:27:37.406] function(cond) { [01:27:37.406] is_error <- inherits(cond, "error") [01:27:37.406] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:37.406] NULL) [01:27:37.406] if (is_error) { [01:27:37.406] sessionInformation <- function() { [01:27:37.406] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:37.406] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:37.406] search = base::search(), system = base::Sys.info()) [01:27:37.406] } [01:27:37.406] ...future.conditions[[length(...future.conditions) + [01:27:37.406] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:37.406] cond$call), session = sessionInformation(), [01:27:37.406] timestamp = base::Sys.time(), signaled = 0L) [01:27:37.406] signalCondition(cond) [01:27:37.406] } [01:27:37.406] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:37.406] "immediateCondition"))) { [01:27:37.406] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:37.406] ...future.conditions[[length(...future.conditions) + [01:27:37.406] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:37.406] if (TRUE && !signal) { [01:27:37.406] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.406] { [01:27:37.406] inherits <- base::inherits [01:27:37.406] invokeRestart <- base::invokeRestart [01:27:37.406] is.null <- base::is.null [01:27:37.406] muffled <- FALSE [01:27:37.406] if (inherits(cond, "message")) { [01:27:37.406] muffled <- grepl(pattern, "muffleMessage") [01:27:37.406] if (muffled) [01:27:37.406] invokeRestart("muffleMessage") [01:27:37.406] } [01:27:37.406] else if (inherits(cond, "warning")) { [01:27:37.406] muffled <- grepl(pattern, "muffleWarning") [01:27:37.406] if (muffled) [01:27:37.406] invokeRestart("muffleWarning") [01:27:37.406] } [01:27:37.406] else if (inherits(cond, "condition")) { [01:27:37.406] if (!is.null(pattern)) { [01:27:37.406] computeRestarts <- base::computeRestarts [01:27:37.406] grepl <- base::grepl [01:27:37.406] restarts <- computeRestarts(cond) [01:27:37.406] for (restart in restarts) { [01:27:37.406] name <- restart$name [01:27:37.406] if (is.null(name)) [01:27:37.406] next [01:27:37.406] if (!grepl(pattern, name)) [01:27:37.406] next [01:27:37.406] invokeRestart(restart) [01:27:37.406] muffled <- TRUE [01:27:37.406] break [01:27:37.406] } [01:27:37.406] } [01:27:37.406] } [01:27:37.406] invisible(muffled) [01:27:37.406] } [01:27:37.406] muffleCondition(cond, pattern = "^muffle") [01:27:37.406] } [01:27:37.406] } [01:27:37.406] else { [01:27:37.406] if (TRUE) { [01:27:37.406] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.406] { [01:27:37.406] inherits <- base::inherits [01:27:37.406] invokeRestart <- base::invokeRestart [01:27:37.406] is.null <- base::is.null [01:27:37.406] muffled <- FALSE [01:27:37.406] if (inherits(cond, "message")) { [01:27:37.406] muffled <- grepl(pattern, "muffleMessage") [01:27:37.406] if (muffled) [01:27:37.406] invokeRestart("muffleMessage") [01:27:37.406] } [01:27:37.406] else if (inherits(cond, "warning")) { [01:27:37.406] muffled <- grepl(pattern, "muffleWarning") [01:27:37.406] if (muffled) [01:27:37.406] invokeRestart("muffleWarning") [01:27:37.406] } [01:27:37.406] else if (inherits(cond, "condition")) { [01:27:37.406] if (!is.null(pattern)) { [01:27:37.406] computeRestarts <- base::computeRestarts [01:27:37.406] grepl <- base::grepl [01:27:37.406] restarts <- computeRestarts(cond) [01:27:37.406] for (restart in restarts) { [01:27:37.406] name <- restart$name [01:27:37.406] if (is.null(name)) [01:27:37.406] next [01:27:37.406] if (!grepl(pattern, name)) [01:27:37.406] next [01:27:37.406] invokeRestart(restart) [01:27:37.406] muffled <- TRUE [01:27:37.406] break [01:27:37.406] } [01:27:37.406] } [01:27:37.406] } [01:27:37.406] invisible(muffled) [01:27:37.406] } [01:27:37.406] muffleCondition(cond, pattern = "^muffle") [01:27:37.406] } [01:27:37.406] } [01:27:37.406] } [01:27:37.406] })) [01:27:37.406] }, error = function(ex) { [01:27:37.406] base::structure(base::list(value = NULL, visible = NULL, [01:27:37.406] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.406] ...future.rng), started = ...future.startTime, [01:27:37.406] finished = Sys.time(), session_uuid = NA_character_, [01:27:37.406] version = "1.8"), class = "FutureResult") [01:27:37.406] }, finally = { [01:27:37.406] if (!identical(...future.workdir, getwd())) [01:27:37.406] setwd(...future.workdir) [01:27:37.406] { [01:27:37.406] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:37.406] ...future.oldOptions$nwarnings <- NULL [01:27:37.406] } [01:27:37.406] base::options(...future.oldOptions) [01:27:37.406] if (.Platform$OS.type == "windows") { [01:27:37.406] old_names <- names(...future.oldEnvVars) [01:27:37.406] envs <- base::Sys.getenv() [01:27:37.406] names <- names(envs) [01:27:37.406] common <- intersect(names, old_names) [01:27:37.406] added <- setdiff(names, old_names) [01:27:37.406] removed <- setdiff(old_names, names) [01:27:37.406] changed <- common[...future.oldEnvVars[common] != [01:27:37.406] envs[common]] [01:27:37.406] NAMES <- toupper(changed) [01:27:37.406] args <- list() [01:27:37.406] for (kk in seq_along(NAMES)) { [01:27:37.406] name <- changed[[kk]] [01:27:37.406] NAME <- NAMES[[kk]] [01:27:37.406] if (name != NAME && is.element(NAME, old_names)) [01:27:37.406] next [01:27:37.406] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.406] } [01:27:37.406] NAMES <- toupper(added) [01:27:37.406] for (kk in seq_along(NAMES)) { [01:27:37.406] name <- added[[kk]] [01:27:37.406] NAME <- NAMES[[kk]] [01:27:37.406] if (name != NAME && is.element(NAME, old_names)) [01:27:37.406] next [01:27:37.406] args[[name]] <- "" [01:27:37.406] } [01:27:37.406] NAMES <- toupper(removed) [01:27:37.406] for (kk in seq_along(NAMES)) { [01:27:37.406] name <- removed[[kk]] [01:27:37.406] NAME <- NAMES[[kk]] [01:27:37.406] if (name != NAME && is.element(NAME, old_names)) [01:27:37.406] next [01:27:37.406] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.406] } [01:27:37.406] if (length(args) > 0) [01:27:37.406] base::do.call(base::Sys.setenv, args = args) [01:27:37.406] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:37.406] } [01:27:37.406] else { [01:27:37.406] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:37.406] } [01:27:37.406] { [01:27:37.406] if (base::length(...future.futureOptionsAdded) > [01:27:37.406] 0L) { [01:27:37.406] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:37.406] base::names(opts) <- ...future.futureOptionsAdded [01:27:37.406] base::options(opts) [01:27:37.406] } [01:27:37.406] { [01:27:37.406] { [01:27:37.406] base::options(mc.cores = ...future.mc.cores.old) [01:27:37.406] NULL [01:27:37.406] } [01:27:37.406] options(future.plan = NULL) [01:27:37.406] if (is.na(NA_character_)) [01:27:37.406] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.406] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:37.406] future::plan(list(function (..., workers = availableCores(), [01:27:37.406] lazy = FALSE, rscript_libs = .libPaths(), [01:27:37.406] envir = parent.frame()) [01:27:37.406] { [01:27:37.406] if (is.function(workers)) [01:27:37.406] workers <- workers() [01:27:37.406] workers <- structure(as.integer(workers), [01:27:37.406] class = class(workers)) [01:27:37.406] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:37.406] workers >= 1) [01:27:37.406] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:37.406] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:37.406] } [01:27:37.406] future <- MultisessionFuture(..., workers = workers, [01:27:37.406] lazy = lazy, rscript_libs = rscript_libs, [01:27:37.406] envir = envir) [01:27:37.406] if (!future$lazy) [01:27:37.406] future <- run(future) [01:27:37.406] invisible(future) [01:27:37.406] }), .cleanup = FALSE, .init = FALSE) [01:27:37.406] } [01:27:37.406] } [01:27:37.406] } [01:27:37.406] }) [01:27:37.406] if (TRUE) { [01:27:37.406] base::sink(type = "output", split = FALSE) [01:27:37.406] if (TRUE) { [01:27:37.406] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:37.406] } [01:27:37.406] else { [01:27:37.406] ...future.result["stdout"] <- base::list(NULL) [01:27:37.406] } [01:27:37.406] base::close(...future.stdout) [01:27:37.406] ...future.stdout <- NULL [01:27:37.406] } [01:27:37.406] ...future.result$conditions <- ...future.conditions [01:27:37.406] ...future.result$finished <- base::Sys.time() [01:27:37.406] ...future.result [01:27:37.406] } [01:27:37.414] MultisessionFuture started [01:27:37.415] - Launch lazy future ... done [01:27:37.415] run() for 'MultisessionFuture' ... done [01:27:37.415] result() for ClusterFuture ... [01:27:37.416] receiveMessageFromWorker() for ClusterFuture ... [01:27:37.416] - Validating connection of MultisessionFuture [01:27:37.431] - received message: FutureResult [01:27:37.431] - Received FutureResult [01:27:37.432] - Erased future from FutureRegistry [01:27:37.432] result() for ClusterFuture ... [01:27:37.432] - result already collected: FutureResult [01:27:37.432] result() for ClusterFuture ... done [01:27:37.432] signalConditions() ... [01:27:37.433] - include = 'immediateCondition' [01:27:37.433] - exclude = [01:27:37.433] - resignal = FALSE [01:27:37.433] - Number of conditions: 1 [01:27:37.433] signalConditions() ... done [01:27:37.434] receiveMessageFromWorker() for ClusterFuture ... done [01:27:37.434] result() for ClusterFuture ... done [01:27:37.434] result() for ClusterFuture ... [01:27:37.434] - result already collected: FutureResult [01:27:37.434] result() for ClusterFuture ... done [01:27:37.435] signalConditions() ... [01:27:37.435] - include = 'immediateCondition' [01:27:37.435] - exclude = [01:27:37.435] - resignal = FALSE [01:27:37.435] - Number of conditions: 1 [01:27:37.436] signalConditions() ... done [01:27:37.436] Future state: 'finished' [01:27:37.436] result() for ClusterFuture ... [01:27:37.436] - result already collected: FutureResult [01:27:37.436] result() for ClusterFuture ... done [01:27:37.437] signalConditions() ... [01:27:37.440] - include = 'condition' [01:27:37.441] - exclude = 'immediateCondition' [01:27:37.441] - resignal = TRUE [01:27:37.441] - Number of conditions: 1 [01:27:37.441] - Condition #1: 'simpleError', 'error', 'condition' [01:27:37.441] signalConditions() ... done [01:27:37.442] getGlobalsAndPackages() ... [01:27:37.442] Searching for globals... [01:27:37.444] - globals found: [6] '{', 'if', '==', '%%', 'ii', 'stop' [01:27:37.444] Searching for globals ... DONE [01:27:37.445] Resolving globals: FALSE [01:27:37.445] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:37.446] The total size of the 1 globals exported for future expression ('{; if (ii%%2 == 0); stop("Woops!"); ii; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [01:27:37.446] - globals: [1] 'ii' [01:27:37.446] [01:27:37.446] getGlobalsAndPackages() ... DONE [01:27:37.447] run() for 'Future' ... [01:27:37.447] - state: 'created' [01:27:37.447] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:37.462] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:37.462] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:37.462] - Field: 'node' [01:27:37.462] - Field: 'label' [01:27:37.463] - Field: 'local' [01:27:37.463] - Field: 'owner' [01:27:37.463] - Field: 'envir' [01:27:37.463] - Field: 'workers' [01:27:37.463] - Field: 'packages' [01:27:37.464] - Field: 'gc' [01:27:37.464] - Field: 'conditions' [01:27:37.464] - Field: 'persistent' [01:27:37.464] - Field: 'expr' [01:27:37.464] - Field: 'uuid' [01:27:37.465] - Field: 'seed' [01:27:37.465] - Field: 'version' [01:27:37.465] - Field: 'result' [01:27:37.465] - Field: 'asynchronous' [01:27:37.465] - Field: 'calls' [01:27:37.465] - Field: 'globals' [01:27:37.466] - Field: 'stdout' [01:27:37.466] - Field: 'earlySignal' [01:27:37.466] - Field: 'lazy' [01:27:37.467] - Field: 'state' [01:27:37.467] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:37.467] - Launch lazy future ... [01:27:37.468] Packages needed by the future expression (n = 0): [01:27:37.468] Packages needed by future strategies (n = 0): [01:27:37.469] { [01:27:37.469] { [01:27:37.469] { [01:27:37.469] ...future.startTime <- base::Sys.time() [01:27:37.469] { [01:27:37.469] { [01:27:37.469] { [01:27:37.469] { [01:27:37.469] base::local({ [01:27:37.469] has_future <- base::requireNamespace("future", [01:27:37.469] quietly = TRUE) [01:27:37.469] if (has_future) { [01:27:37.469] ns <- base::getNamespace("future") [01:27:37.469] version <- ns[[".package"]][["version"]] [01:27:37.469] if (is.null(version)) [01:27:37.469] version <- utils::packageVersion("future") [01:27:37.469] } [01:27:37.469] else { [01:27:37.469] version <- NULL [01:27:37.469] } [01:27:37.469] if (!has_future || version < "1.8.0") { [01:27:37.469] info <- base::c(r_version = base::gsub("R version ", [01:27:37.469] "", base::R.version$version.string), [01:27:37.469] platform = base::sprintf("%s (%s-bit)", [01:27:37.469] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:37.469] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:37.469] "release", "version")], collapse = " "), [01:27:37.469] hostname = base::Sys.info()[["nodename"]]) [01:27:37.469] info <- base::sprintf("%s: %s", base::names(info), [01:27:37.469] info) [01:27:37.469] info <- base::paste(info, collapse = "; ") [01:27:37.469] if (!has_future) { [01:27:37.469] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:37.469] info) [01:27:37.469] } [01:27:37.469] else { [01:27:37.469] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:37.469] info, version) [01:27:37.469] } [01:27:37.469] base::stop(msg) [01:27:37.469] } [01:27:37.469] }) [01:27:37.469] } [01:27:37.469] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:37.469] base::options(mc.cores = 1L) [01:27:37.469] } [01:27:37.469] options(future.plan = NULL) [01:27:37.469] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.469] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:37.469] } [01:27:37.469] ...future.workdir <- getwd() [01:27:37.469] } [01:27:37.469] ...future.oldOptions <- base::as.list(base::.Options) [01:27:37.469] ...future.oldEnvVars <- base::Sys.getenv() [01:27:37.469] } [01:27:37.469] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:37.469] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:37.469] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:37.469] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:37.469] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:37.469] future.stdout.windows.reencode = NULL, width = 80L) [01:27:37.469] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:37.469] base::names(...future.oldOptions)) [01:27:37.469] } [01:27:37.469] if (FALSE) { [01:27:37.469] } [01:27:37.469] else { [01:27:37.469] if (TRUE) { [01:27:37.469] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:37.469] open = "w") [01:27:37.469] } [01:27:37.469] else { [01:27:37.469] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:37.469] windows = "NUL", "/dev/null"), open = "w") [01:27:37.469] } [01:27:37.469] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:37.469] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:37.469] base::sink(type = "output", split = FALSE) [01:27:37.469] base::close(...future.stdout) [01:27:37.469] }, add = TRUE) [01:27:37.469] } [01:27:37.469] ...future.frame <- base::sys.nframe() [01:27:37.469] ...future.conditions <- base::list() [01:27:37.469] ...future.rng <- base::globalenv()$.Random.seed [01:27:37.469] if (FALSE) { [01:27:37.469] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:37.469] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:37.469] } [01:27:37.469] ...future.result <- base::tryCatch({ [01:27:37.469] base::withCallingHandlers({ [01:27:37.469] ...future.value <- base::withVisible(base::local({ [01:27:37.469] ...future.makeSendCondition <- base::local({ [01:27:37.469] sendCondition <- NULL [01:27:37.469] function(frame = 1L) { [01:27:37.469] if (is.function(sendCondition)) [01:27:37.469] return(sendCondition) [01:27:37.469] ns <- getNamespace("parallel") [01:27:37.469] if (exists("sendData", mode = "function", [01:27:37.469] envir = ns)) { [01:27:37.469] parallel_sendData <- get("sendData", mode = "function", [01:27:37.469] envir = ns) [01:27:37.469] envir <- sys.frame(frame) [01:27:37.469] master <- NULL [01:27:37.469] while (!identical(envir, .GlobalEnv) && [01:27:37.469] !identical(envir, emptyenv())) { [01:27:37.469] if (exists("master", mode = "list", envir = envir, [01:27:37.469] inherits = FALSE)) { [01:27:37.469] master <- get("master", mode = "list", [01:27:37.469] envir = envir, inherits = FALSE) [01:27:37.469] if (inherits(master, c("SOCKnode", [01:27:37.469] "SOCK0node"))) { [01:27:37.469] sendCondition <<- function(cond) { [01:27:37.469] data <- list(type = "VALUE", value = cond, [01:27:37.469] success = TRUE) [01:27:37.469] parallel_sendData(master, data) [01:27:37.469] } [01:27:37.469] return(sendCondition) [01:27:37.469] } [01:27:37.469] } [01:27:37.469] frame <- frame + 1L [01:27:37.469] envir <- sys.frame(frame) [01:27:37.469] } [01:27:37.469] } [01:27:37.469] sendCondition <<- function(cond) NULL [01:27:37.469] } [01:27:37.469] }) [01:27:37.469] withCallingHandlers({ [01:27:37.469] { [01:27:37.469] if (ii%%2 == 0) [01:27:37.469] stop("Woops!") [01:27:37.469] ii [01:27:37.469] } [01:27:37.469] }, immediateCondition = function(cond) { [01:27:37.469] sendCondition <- ...future.makeSendCondition() [01:27:37.469] sendCondition(cond) [01:27:37.469] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.469] { [01:27:37.469] inherits <- base::inherits [01:27:37.469] invokeRestart <- base::invokeRestart [01:27:37.469] is.null <- base::is.null [01:27:37.469] muffled <- FALSE [01:27:37.469] if (inherits(cond, "message")) { [01:27:37.469] muffled <- grepl(pattern, "muffleMessage") [01:27:37.469] if (muffled) [01:27:37.469] invokeRestart("muffleMessage") [01:27:37.469] } [01:27:37.469] else if (inherits(cond, "warning")) { [01:27:37.469] muffled <- grepl(pattern, "muffleWarning") [01:27:37.469] if (muffled) [01:27:37.469] invokeRestart("muffleWarning") [01:27:37.469] } [01:27:37.469] else if (inherits(cond, "condition")) { [01:27:37.469] if (!is.null(pattern)) { [01:27:37.469] computeRestarts <- base::computeRestarts [01:27:37.469] grepl <- base::grepl [01:27:37.469] restarts <- computeRestarts(cond) [01:27:37.469] for (restart in restarts) { [01:27:37.469] name <- restart$name [01:27:37.469] if (is.null(name)) [01:27:37.469] next [01:27:37.469] if (!grepl(pattern, name)) [01:27:37.469] next [01:27:37.469] invokeRestart(restart) [01:27:37.469] muffled <- TRUE [01:27:37.469] break [01:27:37.469] } [01:27:37.469] } [01:27:37.469] } [01:27:37.469] invisible(muffled) [01:27:37.469] } [01:27:37.469] muffleCondition(cond) [01:27:37.469] }) [01:27:37.469] })) [01:27:37.469] future::FutureResult(value = ...future.value$value, [01:27:37.469] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.469] ...future.rng), globalenv = if (FALSE) [01:27:37.469] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:37.469] ...future.globalenv.names)) [01:27:37.469] else NULL, started = ...future.startTime, version = "1.8") [01:27:37.469] }, condition = base::local({ [01:27:37.469] c <- base::c [01:27:37.469] inherits <- base::inherits [01:27:37.469] invokeRestart <- base::invokeRestart [01:27:37.469] length <- base::length [01:27:37.469] list <- base::list [01:27:37.469] seq.int <- base::seq.int [01:27:37.469] signalCondition <- base::signalCondition [01:27:37.469] sys.calls <- base::sys.calls [01:27:37.469] `[[` <- base::`[[` [01:27:37.469] `+` <- base::`+` [01:27:37.469] `<<-` <- base::`<<-` [01:27:37.469] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:37.469] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:37.469] 3L)] [01:27:37.469] } [01:27:37.469] function(cond) { [01:27:37.469] is_error <- inherits(cond, "error") [01:27:37.469] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:37.469] NULL) [01:27:37.469] if (is_error) { [01:27:37.469] sessionInformation <- function() { [01:27:37.469] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:37.469] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:37.469] search = base::search(), system = base::Sys.info()) [01:27:37.469] } [01:27:37.469] ...future.conditions[[length(...future.conditions) + [01:27:37.469] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:37.469] cond$call), session = sessionInformation(), [01:27:37.469] timestamp = base::Sys.time(), signaled = 0L) [01:27:37.469] signalCondition(cond) [01:27:37.469] } [01:27:37.469] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:37.469] "immediateCondition"))) { [01:27:37.469] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:37.469] ...future.conditions[[length(...future.conditions) + [01:27:37.469] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:37.469] if (TRUE && !signal) { [01:27:37.469] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.469] { [01:27:37.469] inherits <- base::inherits [01:27:37.469] invokeRestart <- base::invokeRestart [01:27:37.469] is.null <- base::is.null [01:27:37.469] muffled <- FALSE [01:27:37.469] if (inherits(cond, "message")) { [01:27:37.469] muffled <- grepl(pattern, "muffleMessage") [01:27:37.469] if (muffled) [01:27:37.469] invokeRestart("muffleMessage") [01:27:37.469] } [01:27:37.469] else if (inherits(cond, "warning")) { [01:27:37.469] muffled <- grepl(pattern, "muffleWarning") [01:27:37.469] if (muffled) [01:27:37.469] invokeRestart("muffleWarning") [01:27:37.469] } [01:27:37.469] else if (inherits(cond, "condition")) { [01:27:37.469] if (!is.null(pattern)) { [01:27:37.469] computeRestarts <- base::computeRestarts [01:27:37.469] grepl <- base::grepl [01:27:37.469] restarts <- computeRestarts(cond) [01:27:37.469] for (restart in restarts) { [01:27:37.469] name <- restart$name [01:27:37.469] if (is.null(name)) [01:27:37.469] next [01:27:37.469] if (!grepl(pattern, name)) [01:27:37.469] next [01:27:37.469] invokeRestart(restart) [01:27:37.469] muffled <- TRUE [01:27:37.469] break [01:27:37.469] } [01:27:37.469] } [01:27:37.469] } [01:27:37.469] invisible(muffled) [01:27:37.469] } [01:27:37.469] muffleCondition(cond, pattern = "^muffle") [01:27:37.469] } [01:27:37.469] } [01:27:37.469] else { [01:27:37.469] if (TRUE) { [01:27:37.469] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.469] { [01:27:37.469] inherits <- base::inherits [01:27:37.469] invokeRestart <- base::invokeRestart [01:27:37.469] is.null <- base::is.null [01:27:37.469] muffled <- FALSE [01:27:37.469] if (inherits(cond, "message")) { [01:27:37.469] muffled <- grepl(pattern, "muffleMessage") [01:27:37.469] if (muffled) [01:27:37.469] invokeRestart("muffleMessage") [01:27:37.469] } [01:27:37.469] else if (inherits(cond, "warning")) { [01:27:37.469] muffled <- grepl(pattern, "muffleWarning") [01:27:37.469] if (muffled) [01:27:37.469] invokeRestart("muffleWarning") [01:27:37.469] } [01:27:37.469] else if (inherits(cond, "condition")) { [01:27:37.469] if (!is.null(pattern)) { [01:27:37.469] computeRestarts <- base::computeRestarts [01:27:37.469] grepl <- base::grepl [01:27:37.469] restarts <- computeRestarts(cond) [01:27:37.469] for (restart in restarts) { [01:27:37.469] name <- restart$name [01:27:37.469] if (is.null(name)) [01:27:37.469] next [01:27:37.469] if (!grepl(pattern, name)) [01:27:37.469] next [01:27:37.469] invokeRestart(restart) [01:27:37.469] muffled <- TRUE [01:27:37.469] break [01:27:37.469] } [01:27:37.469] } [01:27:37.469] } [01:27:37.469] invisible(muffled) [01:27:37.469] } [01:27:37.469] muffleCondition(cond, pattern = "^muffle") [01:27:37.469] } [01:27:37.469] } [01:27:37.469] } [01:27:37.469] })) [01:27:37.469] }, error = function(ex) { [01:27:37.469] base::structure(base::list(value = NULL, visible = NULL, [01:27:37.469] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.469] ...future.rng), started = ...future.startTime, [01:27:37.469] finished = Sys.time(), session_uuid = NA_character_, [01:27:37.469] version = "1.8"), class = "FutureResult") [01:27:37.469] }, finally = { [01:27:37.469] if (!identical(...future.workdir, getwd())) [01:27:37.469] setwd(...future.workdir) [01:27:37.469] { [01:27:37.469] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:37.469] ...future.oldOptions$nwarnings <- NULL [01:27:37.469] } [01:27:37.469] base::options(...future.oldOptions) [01:27:37.469] if (.Platform$OS.type == "windows") { [01:27:37.469] old_names <- names(...future.oldEnvVars) [01:27:37.469] envs <- base::Sys.getenv() [01:27:37.469] names <- names(envs) [01:27:37.469] common <- intersect(names, old_names) [01:27:37.469] added <- setdiff(names, old_names) [01:27:37.469] removed <- setdiff(old_names, names) [01:27:37.469] changed <- common[...future.oldEnvVars[common] != [01:27:37.469] envs[common]] [01:27:37.469] NAMES <- toupper(changed) [01:27:37.469] args <- list() [01:27:37.469] for (kk in seq_along(NAMES)) { [01:27:37.469] name <- changed[[kk]] [01:27:37.469] NAME <- NAMES[[kk]] [01:27:37.469] if (name != NAME && is.element(NAME, old_names)) [01:27:37.469] next [01:27:37.469] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.469] } [01:27:37.469] NAMES <- toupper(added) [01:27:37.469] for (kk in seq_along(NAMES)) { [01:27:37.469] name <- added[[kk]] [01:27:37.469] NAME <- NAMES[[kk]] [01:27:37.469] if (name != NAME && is.element(NAME, old_names)) [01:27:37.469] next [01:27:37.469] args[[name]] <- "" [01:27:37.469] } [01:27:37.469] NAMES <- toupper(removed) [01:27:37.469] for (kk in seq_along(NAMES)) { [01:27:37.469] name <- removed[[kk]] [01:27:37.469] NAME <- NAMES[[kk]] [01:27:37.469] if (name != NAME && is.element(NAME, old_names)) [01:27:37.469] next [01:27:37.469] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.469] } [01:27:37.469] if (length(args) > 0) [01:27:37.469] base::do.call(base::Sys.setenv, args = args) [01:27:37.469] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:37.469] } [01:27:37.469] else { [01:27:37.469] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:37.469] } [01:27:37.469] { [01:27:37.469] if (base::length(...future.futureOptionsAdded) > [01:27:37.469] 0L) { [01:27:37.469] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:37.469] base::names(opts) <- ...future.futureOptionsAdded [01:27:37.469] base::options(opts) [01:27:37.469] } [01:27:37.469] { [01:27:37.469] { [01:27:37.469] base::options(mc.cores = ...future.mc.cores.old) [01:27:37.469] NULL [01:27:37.469] } [01:27:37.469] options(future.plan = NULL) [01:27:37.469] if (is.na(NA_character_)) [01:27:37.469] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.469] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:37.469] future::plan(list(function (..., workers = availableCores(), [01:27:37.469] lazy = FALSE, rscript_libs = .libPaths(), [01:27:37.469] envir = parent.frame()) [01:27:37.469] { [01:27:37.469] if (is.function(workers)) [01:27:37.469] workers <- workers() [01:27:37.469] workers <- structure(as.integer(workers), [01:27:37.469] class = class(workers)) [01:27:37.469] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:37.469] workers >= 1) [01:27:37.469] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:37.469] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:37.469] } [01:27:37.469] future <- MultisessionFuture(..., workers = workers, [01:27:37.469] lazy = lazy, rscript_libs = rscript_libs, [01:27:37.469] envir = envir) [01:27:37.469] if (!future$lazy) [01:27:37.469] future <- run(future) [01:27:37.469] invisible(future) [01:27:37.469] }), .cleanup = FALSE, .init = FALSE) [01:27:37.469] } [01:27:37.469] } [01:27:37.469] } [01:27:37.469] }) [01:27:37.469] if (TRUE) { [01:27:37.469] base::sink(type = "output", split = FALSE) [01:27:37.469] if (TRUE) { [01:27:37.469] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:37.469] } [01:27:37.469] else { [01:27:37.469] ...future.result["stdout"] <- base::list(NULL) [01:27:37.469] } [01:27:37.469] base::close(...future.stdout) [01:27:37.469] ...future.stdout <- NULL [01:27:37.469] } [01:27:37.469] ...future.result$conditions <- ...future.conditions [01:27:37.469] ...future.result$finished <- base::Sys.time() [01:27:37.469] ...future.result [01:27:37.469] } [01:27:37.474] Exporting 1 global objects (56 bytes) to cluster node #1 ... [01:27:37.474] Exporting 'ii' (56 bytes) to cluster node #1 ... [01:27:37.475] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [01:27:37.475] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [01:27:37.476] MultisessionFuture started [01:27:37.477] - Launch lazy future ... done [01:27:37.477] run() for 'MultisessionFuture' ... done [01:27:37.478] getGlobalsAndPackages() ... [01:27:37.478] Searching for globals... [01:27:37.482] - globals found: [6] '{', 'if', '==', '%%', 'ii', 'stop' [01:27:37.482] Searching for globals ... DONE [01:27:37.482] Resolving globals: FALSE [01:27:37.483] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:37.484] The total size of the 1 globals exported for future expression ('{; if (ii%%2 == 0); stop("Woops!"); ii; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [01:27:37.484] - globals: [1] 'ii' [01:27:37.484] [01:27:37.484] getGlobalsAndPackages() ... DONE [01:27:37.485] run() for 'Future' ... [01:27:37.485] - state: 'created' [01:27:37.485] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:37.504] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:37.504] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:37.505] - Field: 'node' [01:27:37.505] - Field: 'label' [01:27:37.505] - Field: 'local' [01:27:37.505] - Field: 'owner' [01:27:37.506] - Field: 'envir' [01:27:37.506] - Field: 'workers' [01:27:37.506] - Field: 'packages' [01:27:37.506] - Field: 'gc' [01:27:37.506] - Field: 'conditions' [01:27:37.506] - Field: 'persistent' [01:27:37.507] - Field: 'expr' [01:27:37.507] - Field: 'uuid' [01:27:37.507] - Field: 'seed' [01:27:37.508] - Field: 'version' [01:27:37.508] - Field: 'result' [01:27:37.508] - Field: 'asynchronous' [01:27:37.508] - Field: 'calls' [01:27:37.508] - Field: 'globals' [01:27:37.509] - Field: 'stdout' [01:27:37.509] - Field: 'earlySignal' [01:27:37.509] - Field: 'lazy' [01:27:37.509] - Field: 'state' [01:27:37.509] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:37.510] - Launch lazy future ... [01:27:37.510] Packages needed by the future expression (n = 0): [01:27:37.510] Packages needed by future strategies (n = 0): [01:27:37.511] { [01:27:37.511] { [01:27:37.511] { [01:27:37.511] ...future.startTime <- base::Sys.time() [01:27:37.511] { [01:27:37.511] { [01:27:37.511] { [01:27:37.511] { [01:27:37.511] base::local({ [01:27:37.511] has_future <- base::requireNamespace("future", [01:27:37.511] quietly = TRUE) [01:27:37.511] if (has_future) { [01:27:37.511] ns <- base::getNamespace("future") [01:27:37.511] version <- ns[[".package"]][["version"]] [01:27:37.511] if (is.null(version)) [01:27:37.511] version <- utils::packageVersion("future") [01:27:37.511] } [01:27:37.511] else { [01:27:37.511] version <- NULL [01:27:37.511] } [01:27:37.511] if (!has_future || version < "1.8.0") { [01:27:37.511] info <- base::c(r_version = base::gsub("R version ", [01:27:37.511] "", base::R.version$version.string), [01:27:37.511] platform = base::sprintf("%s (%s-bit)", [01:27:37.511] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:37.511] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:37.511] "release", "version")], collapse = " "), [01:27:37.511] hostname = base::Sys.info()[["nodename"]]) [01:27:37.511] info <- base::sprintf("%s: %s", base::names(info), [01:27:37.511] info) [01:27:37.511] info <- base::paste(info, collapse = "; ") [01:27:37.511] if (!has_future) { [01:27:37.511] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:37.511] info) [01:27:37.511] } [01:27:37.511] else { [01:27:37.511] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:37.511] info, version) [01:27:37.511] } [01:27:37.511] base::stop(msg) [01:27:37.511] } [01:27:37.511] }) [01:27:37.511] } [01:27:37.511] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:37.511] base::options(mc.cores = 1L) [01:27:37.511] } [01:27:37.511] options(future.plan = NULL) [01:27:37.511] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.511] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:37.511] } [01:27:37.511] ...future.workdir <- getwd() [01:27:37.511] } [01:27:37.511] ...future.oldOptions <- base::as.list(base::.Options) [01:27:37.511] ...future.oldEnvVars <- base::Sys.getenv() [01:27:37.511] } [01:27:37.511] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:37.511] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:37.511] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:37.511] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:37.511] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:37.511] future.stdout.windows.reencode = NULL, width = 80L) [01:27:37.511] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:37.511] base::names(...future.oldOptions)) [01:27:37.511] } [01:27:37.511] if (FALSE) { [01:27:37.511] } [01:27:37.511] else { [01:27:37.511] if (TRUE) { [01:27:37.511] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:37.511] open = "w") [01:27:37.511] } [01:27:37.511] else { [01:27:37.511] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:37.511] windows = "NUL", "/dev/null"), open = "w") [01:27:37.511] } [01:27:37.511] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:37.511] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:37.511] base::sink(type = "output", split = FALSE) [01:27:37.511] base::close(...future.stdout) [01:27:37.511] }, add = TRUE) [01:27:37.511] } [01:27:37.511] ...future.frame <- base::sys.nframe() [01:27:37.511] ...future.conditions <- base::list() [01:27:37.511] ...future.rng <- base::globalenv()$.Random.seed [01:27:37.511] if (FALSE) { [01:27:37.511] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:37.511] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:37.511] } [01:27:37.511] ...future.result <- base::tryCatch({ [01:27:37.511] base::withCallingHandlers({ [01:27:37.511] ...future.value <- base::withVisible(base::local({ [01:27:37.511] ...future.makeSendCondition <- base::local({ [01:27:37.511] sendCondition <- NULL [01:27:37.511] function(frame = 1L) { [01:27:37.511] if (is.function(sendCondition)) [01:27:37.511] return(sendCondition) [01:27:37.511] ns <- getNamespace("parallel") [01:27:37.511] if (exists("sendData", mode = "function", [01:27:37.511] envir = ns)) { [01:27:37.511] parallel_sendData <- get("sendData", mode = "function", [01:27:37.511] envir = ns) [01:27:37.511] envir <- sys.frame(frame) [01:27:37.511] master <- NULL [01:27:37.511] while (!identical(envir, .GlobalEnv) && [01:27:37.511] !identical(envir, emptyenv())) { [01:27:37.511] if (exists("master", mode = "list", envir = envir, [01:27:37.511] inherits = FALSE)) { [01:27:37.511] master <- get("master", mode = "list", [01:27:37.511] envir = envir, inherits = FALSE) [01:27:37.511] if (inherits(master, c("SOCKnode", [01:27:37.511] "SOCK0node"))) { [01:27:37.511] sendCondition <<- function(cond) { [01:27:37.511] data <- list(type = "VALUE", value = cond, [01:27:37.511] success = TRUE) [01:27:37.511] parallel_sendData(master, data) [01:27:37.511] } [01:27:37.511] return(sendCondition) [01:27:37.511] } [01:27:37.511] } [01:27:37.511] frame <- frame + 1L [01:27:37.511] envir <- sys.frame(frame) [01:27:37.511] } [01:27:37.511] } [01:27:37.511] sendCondition <<- function(cond) NULL [01:27:37.511] } [01:27:37.511] }) [01:27:37.511] withCallingHandlers({ [01:27:37.511] { [01:27:37.511] if (ii%%2 == 0) [01:27:37.511] stop("Woops!") [01:27:37.511] ii [01:27:37.511] } [01:27:37.511] }, immediateCondition = function(cond) { [01:27:37.511] sendCondition <- ...future.makeSendCondition() [01:27:37.511] sendCondition(cond) [01:27:37.511] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.511] { [01:27:37.511] inherits <- base::inherits [01:27:37.511] invokeRestart <- base::invokeRestart [01:27:37.511] is.null <- base::is.null [01:27:37.511] muffled <- FALSE [01:27:37.511] if (inherits(cond, "message")) { [01:27:37.511] muffled <- grepl(pattern, "muffleMessage") [01:27:37.511] if (muffled) [01:27:37.511] invokeRestart("muffleMessage") [01:27:37.511] } [01:27:37.511] else if (inherits(cond, "warning")) { [01:27:37.511] muffled <- grepl(pattern, "muffleWarning") [01:27:37.511] if (muffled) [01:27:37.511] invokeRestart("muffleWarning") [01:27:37.511] } [01:27:37.511] else if (inherits(cond, "condition")) { [01:27:37.511] if (!is.null(pattern)) { [01:27:37.511] computeRestarts <- base::computeRestarts [01:27:37.511] grepl <- base::grepl [01:27:37.511] restarts <- computeRestarts(cond) [01:27:37.511] for (restart in restarts) { [01:27:37.511] name <- restart$name [01:27:37.511] if (is.null(name)) [01:27:37.511] next [01:27:37.511] if (!grepl(pattern, name)) [01:27:37.511] next [01:27:37.511] invokeRestart(restart) [01:27:37.511] muffled <- TRUE [01:27:37.511] break [01:27:37.511] } [01:27:37.511] } [01:27:37.511] } [01:27:37.511] invisible(muffled) [01:27:37.511] } [01:27:37.511] muffleCondition(cond) [01:27:37.511] }) [01:27:37.511] })) [01:27:37.511] future::FutureResult(value = ...future.value$value, [01:27:37.511] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.511] ...future.rng), globalenv = if (FALSE) [01:27:37.511] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:37.511] ...future.globalenv.names)) [01:27:37.511] else NULL, started = ...future.startTime, version = "1.8") [01:27:37.511] }, condition = base::local({ [01:27:37.511] c <- base::c [01:27:37.511] inherits <- base::inherits [01:27:37.511] invokeRestart <- base::invokeRestart [01:27:37.511] length <- base::length [01:27:37.511] list <- base::list [01:27:37.511] seq.int <- base::seq.int [01:27:37.511] signalCondition <- base::signalCondition [01:27:37.511] sys.calls <- base::sys.calls [01:27:37.511] `[[` <- base::`[[` [01:27:37.511] `+` <- base::`+` [01:27:37.511] `<<-` <- base::`<<-` [01:27:37.511] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:37.511] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:37.511] 3L)] [01:27:37.511] } [01:27:37.511] function(cond) { [01:27:37.511] is_error <- inherits(cond, "error") [01:27:37.511] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:37.511] NULL) [01:27:37.511] if (is_error) { [01:27:37.511] sessionInformation <- function() { [01:27:37.511] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:37.511] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:37.511] search = base::search(), system = base::Sys.info()) [01:27:37.511] } [01:27:37.511] ...future.conditions[[length(...future.conditions) + [01:27:37.511] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:37.511] cond$call), session = sessionInformation(), [01:27:37.511] timestamp = base::Sys.time(), signaled = 0L) [01:27:37.511] signalCondition(cond) [01:27:37.511] } [01:27:37.511] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:37.511] "immediateCondition"))) { [01:27:37.511] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:37.511] ...future.conditions[[length(...future.conditions) + [01:27:37.511] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:37.511] if (TRUE && !signal) { [01:27:37.511] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.511] { [01:27:37.511] inherits <- base::inherits [01:27:37.511] invokeRestart <- base::invokeRestart [01:27:37.511] is.null <- base::is.null [01:27:37.511] muffled <- FALSE [01:27:37.511] if (inherits(cond, "message")) { [01:27:37.511] muffled <- grepl(pattern, "muffleMessage") [01:27:37.511] if (muffled) [01:27:37.511] invokeRestart("muffleMessage") [01:27:37.511] } [01:27:37.511] else if (inherits(cond, "warning")) { [01:27:37.511] muffled <- grepl(pattern, "muffleWarning") [01:27:37.511] if (muffled) [01:27:37.511] invokeRestart("muffleWarning") [01:27:37.511] } [01:27:37.511] else if (inherits(cond, "condition")) { [01:27:37.511] if (!is.null(pattern)) { [01:27:37.511] computeRestarts <- base::computeRestarts [01:27:37.511] grepl <- base::grepl [01:27:37.511] restarts <- computeRestarts(cond) [01:27:37.511] for (restart in restarts) { [01:27:37.511] name <- restart$name [01:27:37.511] if (is.null(name)) [01:27:37.511] next [01:27:37.511] if (!grepl(pattern, name)) [01:27:37.511] next [01:27:37.511] invokeRestart(restart) [01:27:37.511] muffled <- TRUE [01:27:37.511] break [01:27:37.511] } [01:27:37.511] } [01:27:37.511] } [01:27:37.511] invisible(muffled) [01:27:37.511] } [01:27:37.511] muffleCondition(cond, pattern = "^muffle") [01:27:37.511] } [01:27:37.511] } [01:27:37.511] else { [01:27:37.511] if (TRUE) { [01:27:37.511] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.511] { [01:27:37.511] inherits <- base::inherits [01:27:37.511] invokeRestart <- base::invokeRestart [01:27:37.511] is.null <- base::is.null [01:27:37.511] muffled <- FALSE [01:27:37.511] if (inherits(cond, "message")) { [01:27:37.511] muffled <- grepl(pattern, "muffleMessage") [01:27:37.511] if (muffled) [01:27:37.511] invokeRestart("muffleMessage") [01:27:37.511] } [01:27:37.511] else if (inherits(cond, "warning")) { [01:27:37.511] muffled <- grepl(pattern, "muffleWarning") [01:27:37.511] if (muffled) [01:27:37.511] invokeRestart("muffleWarning") [01:27:37.511] } [01:27:37.511] else if (inherits(cond, "condition")) { [01:27:37.511] if (!is.null(pattern)) { [01:27:37.511] computeRestarts <- base::computeRestarts [01:27:37.511] grepl <- base::grepl [01:27:37.511] restarts <- computeRestarts(cond) [01:27:37.511] for (restart in restarts) { [01:27:37.511] name <- restart$name [01:27:37.511] if (is.null(name)) [01:27:37.511] next [01:27:37.511] if (!grepl(pattern, name)) [01:27:37.511] next [01:27:37.511] invokeRestart(restart) [01:27:37.511] muffled <- TRUE [01:27:37.511] break [01:27:37.511] } [01:27:37.511] } [01:27:37.511] } [01:27:37.511] invisible(muffled) [01:27:37.511] } [01:27:37.511] muffleCondition(cond, pattern = "^muffle") [01:27:37.511] } [01:27:37.511] } [01:27:37.511] } [01:27:37.511] })) [01:27:37.511] }, error = function(ex) { [01:27:37.511] base::structure(base::list(value = NULL, visible = NULL, [01:27:37.511] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.511] ...future.rng), started = ...future.startTime, [01:27:37.511] finished = Sys.time(), session_uuid = NA_character_, [01:27:37.511] version = "1.8"), class = "FutureResult") [01:27:37.511] }, finally = { [01:27:37.511] if (!identical(...future.workdir, getwd())) [01:27:37.511] setwd(...future.workdir) [01:27:37.511] { [01:27:37.511] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:37.511] ...future.oldOptions$nwarnings <- NULL [01:27:37.511] } [01:27:37.511] base::options(...future.oldOptions) [01:27:37.511] if (.Platform$OS.type == "windows") { [01:27:37.511] old_names <- names(...future.oldEnvVars) [01:27:37.511] envs <- base::Sys.getenv() [01:27:37.511] names <- names(envs) [01:27:37.511] common <- intersect(names, old_names) [01:27:37.511] added <- setdiff(names, old_names) [01:27:37.511] removed <- setdiff(old_names, names) [01:27:37.511] changed <- common[...future.oldEnvVars[common] != [01:27:37.511] envs[common]] [01:27:37.511] NAMES <- toupper(changed) [01:27:37.511] args <- list() [01:27:37.511] for (kk in seq_along(NAMES)) { [01:27:37.511] name <- changed[[kk]] [01:27:37.511] NAME <- NAMES[[kk]] [01:27:37.511] if (name != NAME && is.element(NAME, old_names)) [01:27:37.511] next [01:27:37.511] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.511] } [01:27:37.511] NAMES <- toupper(added) [01:27:37.511] for (kk in seq_along(NAMES)) { [01:27:37.511] name <- added[[kk]] [01:27:37.511] NAME <- NAMES[[kk]] [01:27:37.511] if (name != NAME && is.element(NAME, old_names)) [01:27:37.511] next [01:27:37.511] args[[name]] <- "" [01:27:37.511] } [01:27:37.511] NAMES <- toupper(removed) [01:27:37.511] for (kk in seq_along(NAMES)) { [01:27:37.511] name <- removed[[kk]] [01:27:37.511] NAME <- NAMES[[kk]] [01:27:37.511] if (name != NAME && is.element(NAME, old_names)) [01:27:37.511] next [01:27:37.511] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.511] } [01:27:37.511] if (length(args) > 0) [01:27:37.511] base::do.call(base::Sys.setenv, args = args) [01:27:37.511] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:37.511] } [01:27:37.511] else { [01:27:37.511] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:37.511] } [01:27:37.511] { [01:27:37.511] if (base::length(...future.futureOptionsAdded) > [01:27:37.511] 0L) { [01:27:37.511] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:37.511] base::names(opts) <- ...future.futureOptionsAdded [01:27:37.511] base::options(opts) [01:27:37.511] } [01:27:37.511] { [01:27:37.511] { [01:27:37.511] base::options(mc.cores = ...future.mc.cores.old) [01:27:37.511] NULL [01:27:37.511] } [01:27:37.511] options(future.plan = NULL) [01:27:37.511] if (is.na(NA_character_)) [01:27:37.511] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.511] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:37.511] future::plan(list(function (..., workers = availableCores(), [01:27:37.511] lazy = FALSE, rscript_libs = .libPaths(), [01:27:37.511] envir = parent.frame()) [01:27:37.511] { [01:27:37.511] if (is.function(workers)) [01:27:37.511] workers <- workers() [01:27:37.511] workers <- structure(as.integer(workers), [01:27:37.511] class = class(workers)) [01:27:37.511] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:37.511] workers >= 1) [01:27:37.511] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:37.511] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:37.511] } [01:27:37.511] future <- MultisessionFuture(..., workers = workers, [01:27:37.511] lazy = lazy, rscript_libs = rscript_libs, [01:27:37.511] envir = envir) [01:27:37.511] if (!future$lazy) [01:27:37.511] future <- run(future) [01:27:37.511] invisible(future) [01:27:37.511] }), .cleanup = FALSE, .init = FALSE) [01:27:37.511] } [01:27:37.511] } [01:27:37.511] } [01:27:37.511] }) [01:27:37.511] if (TRUE) { [01:27:37.511] base::sink(type = "output", split = FALSE) [01:27:37.511] if (TRUE) { [01:27:37.511] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:37.511] } [01:27:37.511] else { [01:27:37.511] ...future.result["stdout"] <- base::list(NULL) [01:27:37.511] } [01:27:37.511] base::close(...future.stdout) [01:27:37.511] ...future.stdout <- NULL [01:27:37.511] } [01:27:37.511] ...future.result$conditions <- ...future.conditions [01:27:37.511] ...future.result$finished <- base::Sys.time() [01:27:37.511] ...future.result [01:27:37.511] } [01:27:37.610] Exporting 1 global objects (56 bytes) to cluster node #2 ... [01:27:37.610] Exporting 'ii' (56 bytes) to cluster node #2 ... [01:27:37.611] Exporting 'ii' (56 bytes) to cluster node #2 ... DONE [01:27:37.611] Exporting 1 global objects (56 bytes) to cluster node #2 ... DONE [01:27:37.612] MultisessionFuture started [01:27:37.613] - Launch lazy future ... done [01:27:37.613] run() for 'MultisessionFuture' ... done [01:27:37.613] getGlobalsAndPackages() ... [01:27:37.614] Searching for globals... [01:27:37.616] - globals found: [6] '{', 'if', '==', '%%', 'ii', 'stop' [01:27:37.616] Searching for globals ... DONE [01:27:37.617] Resolving globals: FALSE [01:27:37.618] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:37.619] The total size of the 1 globals exported for future expression ('{; if (ii%%2 == 0); stop("Woops!"); ii; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [01:27:37.619] - globals: [1] 'ii' [01:27:37.620] [01:27:37.620] getGlobalsAndPackages() ... DONE [01:27:37.620] run() for 'Future' ... [01:27:37.621] - state: 'created' [01:27:37.621] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:37.637] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:37.638] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:37.638] - Field: 'node' [01:27:37.638] - Field: 'label' [01:27:37.638] - Field: 'local' [01:27:37.638] - Field: 'owner' [01:27:37.639] - Field: 'envir' [01:27:37.639] - Field: 'workers' [01:27:37.639] - Field: 'packages' [01:27:37.639] - Field: 'gc' [01:27:37.639] - Field: 'conditions' [01:27:37.640] - Field: 'persistent' [01:27:37.640] - Field: 'expr' [01:27:37.640] - Field: 'uuid' [01:27:37.640] - Field: 'seed' [01:27:37.640] - Field: 'version' [01:27:37.641] - Field: 'result' [01:27:37.641] - Field: 'asynchronous' [01:27:37.641] - Field: 'calls' [01:27:37.641] - Field: 'globals' [01:27:37.641] - Field: 'stdout' [01:27:37.642] - Field: 'earlySignal' [01:27:37.642] - Field: 'lazy' [01:27:37.642] - Field: 'state' [01:27:37.642] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:37.642] - Launch lazy future ... [01:27:37.643] Packages needed by the future expression (n = 0): [01:27:37.643] Packages needed by future strategies (n = 0): [01:27:37.644] { [01:27:37.644] { [01:27:37.644] { [01:27:37.644] ...future.startTime <- base::Sys.time() [01:27:37.644] { [01:27:37.644] { [01:27:37.644] { [01:27:37.644] { [01:27:37.644] base::local({ [01:27:37.644] has_future <- base::requireNamespace("future", [01:27:37.644] quietly = TRUE) [01:27:37.644] if (has_future) { [01:27:37.644] ns <- base::getNamespace("future") [01:27:37.644] version <- ns[[".package"]][["version"]] [01:27:37.644] if (is.null(version)) [01:27:37.644] version <- utils::packageVersion("future") [01:27:37.644] } [01:27:37.644] else { [01:27:37.644] version <- NULL [01:27:37.644] } [01:27:37.644] if (!has_future || version < "1.8.0") { [01:27:37.644] info <- base::c(r_version = base::gsub("R version ", [01:27:37.644] "", base::R.version$version.string), [01:27:37.644] platform = base::sprintf("%s (%s-bit)", [01:27:37.644] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:37.644] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:37.644] "release", "version")], collapse = " "), [01:27:37.644] hostname = base::Sys.info()[["nodename"]]) [01:27:37.644] info <- base::sprintf("%s: %s", base::names(info), [01:27:37.644] info) [01:27:37.644] info <- base::paste(info, collapse = "; ") [01:27:37.644] if (!has_future) { [01:27:37.644] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:37.644] info) [01:27:37.644] } [01:27:37.644] else { [01:27:37.644] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:37.644] info, version) [01:27:37.644] } [01:27:37.644] base::stop(msg) [01:27:37.644] } [01:27:37.644] }) [01:27:37.644] } [01:27:37.644] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:37.644] base::options(mc.cores = 1L) [01:27:37.644] } [01:27:37.644] options(future.plan = NULL) [01:27:37.644] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.644] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:37.644] } [01:27:37.644] ...future.workdir <- getwd() [01:27:37.644] } [01:27:37.644] ...future.oldOptions <- base::as.list(base::.Options) [01:27:37.644] ...future.oldEnvVars <- base::Sys.getenv() [01:27:37.644] } [01:27:37.644] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:37.644] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:37.644] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:37.644] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:37.644] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:37.644] future.stdout.windows.reencode = NULL, width = 80L) [01:27:37.644] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:37.644] base::names(...future.oldOptions)) [01:27:37.644] } [01:27:37.644] if (FALSE) { [01:27:37.644] } [01:27:37.644] else { [01:27:37.644] if (TRUE) { [01:27:37.644] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:37.644] open = "w") [01:27:37.644] } [01:27:37.644] else { [01:27:37.644] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:37.644] windows = "NUL", "/dev/null"), open = "w") [01:27:37.644] } [01:27:37.644] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:37.644] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:37.644] base::sink(type = "output", split = FALSE) [01:27:37.644] base::close(...future.stdout) [01:27:37.644] }, add = TRUE) [01:27:37.644] } [01:27:37.644] ...future.frame <- base::sys.nframe() [01:27:37.644] ...future.conditions <- base::list() [01:27:37.644] ...future.rng <- base::globalenv()$.Random.seed [01:27:37.644] if (FALSE) { [01:27:37.644] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:37.644] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:37.644] } [01:27:37.644] ...future.result <- base::tryCatch({ [01:27:37.644] base::withCallingHandlers({ [01:27:37.644] ...future.value <- base::withVisible(base::local({ [01:27:37.644] ...future.makeSendCondition <- base::local({ [01:27:37.644] sendCondition <- NULL [01:27:37.644] function(frame = 1L) { [01:27:37.644] if (is.function(sendCondition)) [01:27:37.644] return(sendCondition) [01:27:37.644] ns <- getNamespace("parallel") [01:27:37.644] if (exists("sendData", mode = "function", [01:27:37.644] envir = ns)) { [01:27:37.644] parallel_sendData <- get("sendData", mode = "function", [01:27:37.644] envir = ns) [01:27:37.644] envir <- sys.frame(frame) [01:27:37.644] master <- NULL [01:27:37.644] while (!identical(envir, .GlobalEnv) && [01:27:37.644] !identical(envir, emptyenv())) { [01:27:37.644] if (exists("master", mode = "list", envir = envir, [01:27:37.644] inherits = FALSE)) { [01:27:37.644] master <- get("master", mode = "list", [01:27:37.644] envir = envir, inherits = FALSE) [01:27:37.644] if (inherits(master, c("SOCKnode", [01:27:37.644] "SOCK0node"))) { [01:27:37.644] sendCondition <<- function(cond) { [01:27:37.644] data <- list(type = "VALUE", value = cond, [01:27:37.644] success = TRUE) [01:27:37.644] parallel_sendData(master, data) [01:27:37.644] } [01:27:37.644] return(sendCondition) [01:27:37.644] } [01:27:37.644] } [01:27:37.644] frame <- frame + 1L [01:27:37.644] envir <- sys.frame(frame) [01:27:37.644] } [01:27:37.644] } [01:27:37.644] sendCondition <<- function(cond) NULL [01:27:37.644] } [01:27:37.644] }) [01:27:37.644] withCallingHandlers({ [01:27:37.644] { [01:27:37.644] if (ii%%2 == 0) [01:27:37.644] stop("Woops!") [01:27:37.644] ii [01:27:37.644] } [01:27:37.644] }, immediateCondition = function(cond) { [01:27:37.644] sendCondition <- ...future.makeSendCondition() [01:27:37.644] sendCondition(cond) [01:27:37.644] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.644] { [01:27:37.644] inherits <- base::inherits [01:27:37.644] invokeRestart <- base::invokeRestart [01:27:37.644] is.null <- base::is.null [01:27:37.644] muffled <- FALSE [01:27:37.644] if (inherits(cond, "message")) { [01:27:37.644] muffled <- grepl(pattern, "muffleMessage") [01:27:37.644] if (muffled) [01:27:37.644] invokeRestart("muffleMessage") [01:27:37.644] } [01:27:37.644] else if (inherits(cond, "warning")) { [01:27:37.644] muffled <- grepl(pattern, "muffleWarning") [01:27:37.644] if (muffled) [01:27:37.644] invokeRestart("muffleWarning") [01:27:37.644] } [01:27:37.644] else if (inherits(cond, "condition")) { [01:27:37.644] if (!is.null(pattern)) { [01:27:37.644] computeRestarts <- base::computeRestarts [01:27:37.644] grepl <- base::grepl [01:27:37.644] restarts <- computeRestarts(cond) [01:27:37.644] for (restart in restarts) { [01:27:37.644] name <- restart$name [01:27:37.644] if (is.null(name)) [01:27:37.644] next [01:27:37.644] if (!grepl(pattern, name)) [01:27:37.644] next [01:27:37.644] invokeRestart(restart) [01:27:37.644] muffled <- TRUE [01:27:37.644] break [01:27:37.644] } [01:27:37.644] } [01:27:37.644] } [01:27:37.644] invisible(muffled) [01:27:37.644] } [01:27:37.644] muffleCondition(cond) [01:27:37.644] }) [01:27:37.644] })) [01:27:37.644] future::FutureResult(value = ...future.value$value, [01:27:37.644] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.644] ...future.rng), globalenv = if (FALSE) [01:27:37.644] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:37.644] ...future.globalenv.names)) [01:27:37.644] else NULL, started = ...future.startTime, version = "1.8") [01:27:37.644] }, condition = base::local({ [01:27:37.644] c <- base::c [01:27:37.644] inherits <- base::inherits [01:27:37.644] invokeRestart <- base::invokeRestart [01:27:37.644] length <- base::length [01:27:37.644] list <- base::list [01:27:37.644] seq.int <- base::seq.int [01:27:37.644] signalCondition <- base::signalCondition [01:27:37.644] sys.calls <- base::sys.calls [01:27:37.644] `[[` <- base::`[[` [01:27:37.644] `+` <- base::`+` [01:27:37.644] `<<-` <- base::`<<-` [01:27:37.644] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:37.644] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:37.644] 3L)] [01:27:37.644] } [01:27:37.644] function(cond) { [01:27:37.644] is_error <- inherits(cond, "error") [01:27:37.644] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:37.644] NULL) [01:27:37.644] if (is_error) { [01:27:37.644] sessionInformation <- function() { [01:27:37.644] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:37.644] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:37.644] search = base::search(), system = base::Sys.info()) [01:27:37.644] } [01:27:37.644] ...future.conditions[[length(...future.conditions) + [01:27:37.644] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:37.644] cond$call), session = sessionInformation(), [01:27:37.644] timestamp = base::Sys.time(), signaled = 0L) [01:27:37.644] signalCondition(cond) [01:27:37.644] } [01:27:37.644] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:37.644] "immediateCondition"))) { [01:27:37.644] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:37.644] ...future.conditions[[length(...future.conditions) + [01:27:37.644] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:37.644] if (TRUE && !signal) { [01:27:37.644] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.644] { [01:27:37.644] inherits <- base::inherits [01:27:37.644] invokeRestart <- base::invokeRestart [01:27:37.644] is.null <- base::is.null [01:27:37.644] muffled <- FALSE [01:27:37.644] if (inherits(cond, "message")) { [01:27:37.644] muffled <- grepl(pattern, "muffleMessage") [01:27:37.644] if (muffled) [01:27:37.644] invokeRestart("muffleMessage") [01:27:37.644] } [01:27:37.644] else if (inherits(cond, "warning")) { [01:27:37.644] muffled <- grepl(pattern, "muffleWarning") [01:27:37.644] if (muffled) [01:27:37.644] invokeRestart("muffleWarning") [01:27:37.644] } [01:27:37.644] else if (inherits(cond, "condition")) { [01:27:37.644] if (!is.null(pattern)) { [01:27:37.644] computeRestarts <- base::computeRestarts [01:27:37.644] grepl <- base::grepl [01:27:37.644] restarts <- computeRestarts(cond) [01:27:37.644] for (restart in restarts) { [01:27:37.644] name <- restart$name [01:27:37.644] if (is.null(name)) [01:27:37.644] next [01:27:37.644] if (!grepl(pattern, name)) [01:27:37.644] next [01:27:37.644] invokeRestart(restart) [01:27:37.644] muffled <- TRUE [01:27:37.644] break [01:27:37.644] } [01:27:37.644] } [01:27:37.644] } [01:27:37.644] invisible(muffled) [01:27:37.644] } [01:27:37.644] muffleCondition(cond, pattern = "^muffle") [01:27:37.644] } [01:27:37.644] } [01:27:37.644] else { [01:27:37.644] if (TRUE) { [01:27:37.644] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.644] { [01:27:37.644] inherits <- base::inherits [01:27:37.644] invokeRestart <- base::invokeRestart [01:27:37.644] is.null <- base::is.null [01:27:37.644] muffled <- FALSE [01:27:37.644] if (inherits(cond, "message")) { [01:27:37.644] muffled <- grepl(pattern, "muffleMessage") [01:27:37.644] if (muffled) [01:27:37.644] invokeRestart("muffleMessage") [01:27:37.644] } [01:27:37.644] else if (inherits(cond, "warning")) { [01:27:37.644] muffled <- grepl(pattern, "muffleWarning") [01:27:37.644] if (muffled) [01:27:37.644] invokeRestart("muffleWarning") [01:27:37.644] } [01:27:37.644] else if (inherits(cond, "condition")) { [01:27:37.644] if (!is.null(pattern)) { [01:27:37.644] computeRestarts <- base::computeRestarts [01:27:37.644] grepl <- base::grepl [01:27:37.644] restarts <- computeRestarts(cond) [01:27:37.644] for (restart in restarts) { [01:27:37.644] name <- restart$name [01:27:37.644] if (is.null(name)) [01:27:37.644] next [01:27:37.644] if (!grepl(pattern, name)) [01:27:37.644] next [01:27:37.644] invokeRestart(restart) [01:27:37.644] muffled <- TRUE [01:27:37.644] break [01:27:37.644] } [01:27:37.644] } [01:27:37.644] } [01:27:37.644] invisible(muffled) [01:27:37.644] } [01:27:37.644] muffleCondition(cond, pattern = "^muffle") [01:27:37.644] } [01:27:37.644] } [01:27:37.644] } [01:27:37.644] })) [01:27:37.644] }, error = function(ex) { [01:27:37.644] base::structure(base::list(value = NULL, visible = NULL, [01:27:37.644] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.644] ...future.rng), started = ...future.startTime, [01:27:37.644] finished = Sys.time(), session_uuid = NA_character_, [01:27:37.644] version = "1.8"), class = "FutureResult") [01:27:37.644] }, finally = { [01:27:37.644] if (!identical(...future.workdir, getwd())) [01:27:37.644] setwd(...future.workdir) [01:27:37.644] { [01:27:37.644] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:37.644] ...future.oldOptions$nwarnings <- NULL [01:27:37.644] } [01:27:37.644] base::options(...future.oldOptions) [01:27:37.644] if (.Platform$OS.type == "windows") { [01:27:37.644] old_names <- names(...future.oldEnvVars) [01:27:37.644] envs <- base::Sys.getenv() [01:27:37.644] names <- names(envs) [01:27:37.644] common <- intersect(names, old_names) [01:27:37.644] added <- setdiff(names, old_names) [01:27:37.644] removed <- setdiff(old_names, names) [01:27:37.644] changed <- common[...future.oldEnvVars[common] != [01:27:37.644] envs[common]] [01:27:37.644] NAMES <- toupper(changed) [01:27:37.644] args <- list() [01:27:37.644] for (kk in seq_along(NAMES)) { [01:27:37.644] name <- changed[[kk]] [01:27:37.644] NAME <- NAMES[[kk]] [01:27:37.644] if (name != NAME && is.element(NAME, old_names)) [01:27:37.644] next [01:27:37.644] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.644] } [01:27:37.644] NAMES <- toupper(added) [01:27:37.644] for (kk in seq_along(NAMES)) { [01:27:37.644] name <- added[[kk]] [01:27:37.644] NAME <- NAMES[[kk]] [01:27:37.644] if (name != NAME && is.element(NAME, old_names)) [01:27:37.644] next [01:27:37.644] args[[name]] <- "" [01:27:37.644] } [01:27:37.644] NAMES <- toupper(removed) [01:27:37.644] for (kk in seq_along(NAMES)) { [01:27:37.644] name <- removed[[kk]] [01:27:37.644] NAME <- NAMES[[kk]] [01:27:37.644] if (name != NAME && is.element(NAME, old_names)) [01:27:37.644] next [01:27:37.644] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.644] } [01:27:37.644] if (length(args) > 0) [01:27:37.644] base::do.call(base::Sys.setenv, args = args) [01:27:37.644] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:37.644] } [01:27:37.644] else { [01:27:37.644] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:37.644] } [01:27:37.644] { [01:27:37.644] if (base::length(...future.futureOptionsAdded) > [01:27:37.644] 0L) { [01:27:37.644] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:37.644] base::names(opts) <- ...future.futureOptionsAdded [01:27:37.644] base::options(opts) [01:27:37.644] } [01:27:37.644] { [01:27:37.644] { [01:27:37.644] base::options(mc.cores = ...future.mc.cores.old) [01:27:37.644] NULL [01:27:37.644] } [01:27:37.644] options(future.plan = NULL) [01:27:37.644] if (is.na(NA_character_)) [01:27:37.644] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.644] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:37.644] future::plan(list(function (..., workers = availableCores(), [01:27:37.644] lazy = FALSE, rscript_libs = .libPaths(), [01:27:37.644] envir = parent.frame()) [01:27:37.644] { [01:27:37.644] if (is.function(workers)) [01:27:37.644] workers <- workers() [01:27:37.644] workers <- structure(as.integer(workers), [01:27:37.644] class = class(workers)) [01:27:37.644] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:37.644] workers >= 1) [01:27:37.644] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:37.644] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:37.644] } [01:27:37.644] future <- MultisessionFuture(..., workers = workers, [01:27:37.644] lazy = lazy, rscript_libs = rscript_libs, [01:27:37.644] envir = envir) [01:27:37.644] if (!future$lazy) [01:27:37.644] future <- run(future) [01:27:37.644] invisible(future) [01:27:37.644] }), .cleanup = FALSE, .init = FALSE) [01:27:37.644] } [01:27:37.644] } [01:27:37.644] } [01:27:37.644] }) [01:27:37.644] if (TRUE) { [01:27:37.644] base::sink(type = "output", split = FALSE) [01:27:37.644] if (TRUE) { [01:27:37.644] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:37.644] } [01:27:37.644] else { [01:27:37.644] ...future.result["stdout"] <- base::list(NULL) [01:27:37.644] } [01:27:37.644] base::close(...future.stdout) [01:27:37.644] ...future.stdout <- NULL [01:27:37.644] } [01:27:37.644] ...future.result$conditions <- ...future.conditions [01:27:37.644] ...future.result$finished <- base::Sys.time() [01:27:37.644] ...future.result [01:27:37.644] } [01:27:37.650] Poll #1 (0): usedNodes() = 2, workers = 2 [01:27:37.665] receiveMessageFromWorker() for ClusterFuture ... [01:27:37.665] - Validating connection of MultisessionFuture [01:27:37.665] - received message: FutureResult [01:27:37.666] - Received FutureResult [01:27:37.666] - Erased future from FutureRegistry [01:27:37.666] result() for ClusterFuture ... [01:27:37.666] - result already collected: FutureResult [01:27:37.666] result() for ClusterFuture ... done [01:27:37.667] receiveMessageFromWorker() for ClusterFuture ... done [01:27:37.667] result() for ClusterFuture ... [01:27:37.667] - result already collected: FutureResult [01:27:37.667] result() for ClusterFuture ... done [01:27:37.667] result() for ClusterFuture ... [01:27:37.667] - result already collected: FutureResult [01:27:37.668] result() for ClusterFuture ... done [01:27:37.669] Exporting 1 global objects (56 bytes) to cluster node #1 ... [01:27:37.669] Exporting 'ii' (56 bytes) to cluster node #1 ... [01:27:37.670] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [01:27:37.670] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [01:27:37.671] MultisessionFuture started [01:27:37.671] - Launch lazy future ... done [01:27:37.671] run() for 'MultisessionFuture' ... done [01:27:37.672] result() for ClusterFuture ... [01:27:37.672] - result already collected: FutureResult [01:27:37.672] result() for ClusterFuture ... done [01:27:37.672] result() for ClusterFuture ... [01:27:37.672] - result already collected: FutureResult [01:27:37.673] result() for ClusterFuture ... done [01:27:37.673] result() for ClusterFuture ... [01:27:37.673] receiveMessageFromWorker() for ClusterFuture ... [01:27:37.673] - Validating connection of MultisessionFuture [01:27:37.688] - received message: FutureResult [01:27:37.689] - Received FutureResult [01:27:37.689] - Erased future from FutureRegistry [01:27:37.689] result() for ClusterFuture ... [01:27:37.689] - result already collected: FutureResult [01:27:37.689] result() for ClusterFuture ... done [01:27:37.689] signalConditions() ... [01:27:37.690] - include = 'immediateCondition' [01:27:37.690] - exclude = [01:27:37.690] - resignal = FALSE [01:27:37.690] - Number of conditions: 1 [01:27:37.690] signalConditions() ... done [01:27:37.690] receiveMessageFromWorker() for ClusterFuture ... done [01:27:37.691] result() for ClusterFuture ... done [01:27:37.691] result() for ClusterFuture ... [01:27:37.691] - result already collected: FutureResult [01:27:37.691] result() for ClusterFuture ... done [01:27:37.691] signalConditions() ... [01:27:37.691] - include = 'immediateCondition' [01:27:37.692] - exclude = [01:27:37.692] - resignal = FALSE [01:27:37.692] - Number of conditions: 1 [01:27:37.692] signalConditions() ... done [01:27:37.692] Future state: 'finished' [01:27:37.693] result() for ClusterFuture ... [01:27:37.693] - result already collected: FutureResult [01:27:37.693] result() for ClusterFuture ... done [01:27:37.693] signalConditions() ... [01:27:37.693] - include = 'condition' [01:27:37.693] - exclude = 'immediateCondition' [01:27:37.693] - resignal = TRUE [01:27:37.694] - Number of conditions: 1 [01:27:37.694] - Condition #1: 'simpleError', 'error', 'condition' [01:27:37.694] signalConditions() ... done [01:27:37.695] result() for ClusterFuture ... [01:27:37.695] receiveMessageFromWorker() for ClusterFuture ... [01:27:37.695] - Validating connection of MultisessionFuture [01:27:37.696] - received message: FutureResult [01:27:37.696] - Received FutureResult [01:27:37.696] - Erased future from FutureRegistry [01:27:37.696] result() for ClusterFuture ... [01:27:37.696] - result already collected: FutureResult [01:27:37.696] result() for ClusterFuture ... done [01:27:37.697] receiveMessageFromWorker() for ClusterFuture ... done [01:27:37.697] result() for ClusterFuture ... done [01:27:37.697] result() for ClusterFuture ... [01:27:37.697] - result already collected: FutureResult [01:27:37.697] result() for ClusterFuture ... done Warning in get(var, envir = x, inherits = FALSE) : restarting interrupted promise evaluation [01:27:37.698] result() for ClusterFuture ... [01:27:37.698] - result already collected: FutureResult [01:27:37.698] result() for ClusterFuture ... done [01:27:37.698] result() for ClusterFuture ... [01:27:37.698] - result already collected: FutureResult [01:27:37.699] result() for ClusterFuture ... done [01:27:37.699] signalConditions() ... [01:27:37.699] - include = 'immediateCondition' [01:27:37.699] - exclude = [01:27:37.699] - resignal = FALSE [01:27:37.699] - Number of conditions: 1 [01:27:37.700] signalConditions() ... done [01:27:37.700] Future state: 'finished' [01:27:37.700] result() for ClusterFuture ... [01:27:37.700] - result already collected: FutureResult [01:27:37.700] result() for ClusterFuture ... done [01:27:37.700] signalConditions() ... [01:27:37.701] - include = 'condition' [01:27:37.701] - exclude = 'immediateCondition' [01:27:37.701] - resignal = TRUE [01:27:37.701] - Number of conditions: 1 [01:27:37.701] - Condition #1: 'simpleError', 'error', 'condition' [01:27:37.702] signalConditions() ... done Warning in get(var, envir = x, inherits = FALSE) : restarting interrupted promise evaluation [01:27:37.702] result() for ClusterFuture ... [01:27:37.702] - result already collected: FutureResult [01:27:37.703] result() for ClusterFuture ... done [01:27:37.703] result() for ClusterFuture ... [01:27:37.703] - result already collected: FutureResult [01:27:37.703] result() for ClusterFuture ... done [01:27:37.703] signalConditions() ... [01:27:37.703] - include = 'immediateCondition' [01:27:37.704] - exclude = [01:27:37.704] - resignal = FALSE [01:27:37.704] - Number of conditions: 1 [01:27:37.704] signalConditions() ... done [01:27:37.704] Future state: 'finished' [01:27:37.704] result() for ClusterFuture ... [01:27:37.705] - result already collected: FutureResult [01:27:37.705] result() for ClusterFuture ... done [01:27:37.705] signalConditions() ... [01:27:37.705] - include = 'condition' [01:27:37.705] - exclude = 'immediateCondition' [01:27:37.705] - resignal = TRUE [01:27:37.706] - Number of conditions: 1 [01:27:37.706] - Condition #1: 'simpleError', 'error', 'condition' [01:27:37.706] signalConditions() ... done ** Future evaluation with a poor-man's "progress bar" [01:27:37.707] getGlobalsAndPackages() ... [01:27:37.707] Searching for globals... [01:27:37.709] - globals found: [4] '{', 'cat', 'for', ':' [01:27:37.710] Searching for globals ... DONE [01:27:37.710] Resolving globals: FALSE [01:27:37.710] [01:27:37.711] [01:27:37.711] getGlobalsAndPackages() ... DONE [01:27:37.711] run() for 'Future' ... [01:27:37.711] - state: 'created' [01:27:37.712] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:37.728] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:37.728] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:37.728] - Field: 'node' [01:27:37.729] - Field: 'label' [01:27:37.729] - Field: 'local' [01:27:37.729] - Field: 'owner' [01:27:37.729] - Field: 'envir' [01:27:37.729] - Field: 'workers' [01:27:37.729] - Field: 'packages' [01:27:37.730] - Field: 'gc' [01:27:37.730] - Field: 'conditions' [01:27:37.730] - Field: 'persistent' [01:27:37.730] - Field: 'expr' [01:27:37.730] - Field: 'uuid' [01:27:37.731] - Field: 'seed' [01:27:37.731] - Field: 'version' [01:27:37.731] - Field: 'result' [01:27:37.731] - Field: 'asynchronous' [01:27:37.731] - Field: 'calls' [01:27:37.731] - Field: 'globals' [01:27:37.732] - Field: 'stdout' [01:27:37.732] - Field: 'earlySignal' [01:27:37.732] - Field: 'lazy' [01:27:37.732] - Field: 'state' [01:27:37.732] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:37.733] - Launch lazy future ... [01:27:37.733] Packages needed by the future expression (n = 0): [01:27:37.733] Packages needed by future strategies (n = 0): [01:27:37.734] { [01:27:37.734] { [01:27:37.734] { [01:27:37.734] ...future.startTime <- base::Sys.time() [01:27:37.734] { [01:27:37.734] { [01:27:37.734] { [01:27:37.734] { [01:27:37.734] base::local({ [01:27:37.734] has_future <- base::requireNamespace("future", [01:27:37.734] quietly = TRUE) [01:27:37.734] if (has_future) { [01:27:37.734] ns <- base::getNamespace("future") [01:27:37.734] version <- ns[[".package"]][["version"]] [01:27:37.734] if (is.null(version)) [01:27:37.734] version <- utils::packageVersion("future") [01:27:37.734] } [01:27:37.734] else { [01:27:37.734] version <- NULL [01:27:37.734] } [01:27:37.734] if (!has_future || version < "1.8.0") { [01:27:37.734] info <- base::c(r_version = base::gsub("R version ", [01:27:37.734] "", base::R.version$version.string), [01:27:37.734] platform = base::sprintf("%s (%s-bit)", [01:27:37.734] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:37.734] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:37.734] "release", "version")], collapse = " "), [01:27:37.734] hostname = base::Sys.info()[["nodename"]]) [01:27:37.734] info <- base::sprintf("%s: %s", base::names(info), [01:27:37.734] info) [01:27:37.734] info <- base::paste(info, collapse = "; ") [01:27:37.734] if (!has_future) { [01:27:37.734] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:37.734] info) [01:27:37.734] } [01:27:37.734] else { [01:27:37.734] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:37.734] info, version) [01:27:37.734] } [01:27:37.734] base::stop(msg) [01:27:37.734] } [01:27:37.734] }) [01:27:37.734] } [01:27:37.734] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:37.734] base::options(mc.cores = 1L) [01:27:37.734] } [01:27:37.734] options(future.plan = NULL) [01:27:37.734] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.734] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:37.734] } [01:27:37.734] ...future.workdir <- getwd() [01:27:37.734] } [01:27:37.734] ...future.oldOptions <- base::as.list(base::.Options) [01:27:37.734] ...future.oldEnvVars <- base::Sys.getenv() [01:27:37.734] } [01:27:37.734] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:37.734] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:37.734] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:37.734] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:37.734] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:37.734] future.stdout.windows.reencode = NULL, width = 80L) [01:27:37.734] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:37.734] base::names(...future.oldOptions)) [01:27:37.734] } [01:27:37.734] if (FALSE) { [01:27:37.734] } [01:27:37.734] else { [01:27:37.734] if (TRUE) { [01:27:37.734] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:37.734] open = "w") [01:27:37.734] } [01:27:37.734] else { [01:27:37.734] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:37.734] windows = "NUL", "/dev/null"), open = "w") [01:27:37.734] } [01:27:37.734] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:37.734] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:37.734] base::sink(type = "output", split = FALSE) [01:27:37.734] base::close(...future.stdout) [01:27:37.734] }, add = TRUE) [01:27:37.734] } [01:27:37.734] ...future.frame <- base::sys.nframe() [01:27:37.734] ...future.conditions <- base::list() [01:27:37.734] ...future.rng <- base::globalenv()$.Random.seed [01:27:37.734] if (FALSE) { [01:27:37.734] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:37.734] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:37.734] } [01:27:37.734] ...future.result <- base::tryCatch({ [01:27:37.734] base::withCallingHandlers({ [01:27:37.734] ...future.value <- base::withVisible(base::local({ [01:27:37.734] ...future.makeSendCondition <- base::local({ [01:27:37.734] sendCondition <- NULL [01:27:37.734] function(frame = 1L) { [01:27:37.734] if (is.function(sendCondition)) [01:27:37.734] return(sendCondition) [01:27:37.734] ns <- getNamespace("parallel") [01:27:37.734] if (exists("sendData", mode = "function", [01:27:37.734] envir = ns)) { [01:27:37.734] parallel_sendData <- get("sendData", mode = "function", [01:27:37.734] envir = ns) [01:27:37.734] envir <- sys.frame(frame) [01:27:37.734] master <- NULL [01:27:37.734] while (!identical(envir, .GlobalEnv) && [01:27:37.734] !identical(envir, emptyenv())) { [01:27:37.734] if (exists("master", mode = "list", envir = envir, [01:27:37.734] inherits = FALSE)) { [01:27:37.734] master <- get("master", mode = "list", [01:27:37.734] envir = envir, inherits = FALSE) [01:27:37.734] if (inherits(master, c("SOCKnode", [01:27:37.734] "SOCK0node"))) { [01:27:37.734] sendCondition <<- function(cond) { [01:27:37.734] data <- list(type = "VALUE", value = cond, [01:27:37.734] success = TRUE) [01:27:37.734] parallel_sendData(master, data) [01:27:37.734] } [01:27:37.734] return(sendCondition) [01:27:37.734] } [01:27:37.734] } [01:27:37.734] frame <- frame + 1L [01:27:37.734] envir <- sys.frame(frame) [01:27:37.734] } [01:27:37.734] } [01:27:37.734] sendCondition <<- function(cond) NULL [01:27:37.734] } [01:27:37.734] }) [01:27:37.734] withCallingHandlers({ [01:27:37.734] { [01:27:37.734] cat("Processing: ") [01:27:37.734] for (ii in 1:10) { [01:27:37.734] cat(".") [01:27:37.734] } [01:27:37.734] cat(" [100%]\n") [01:27:37.734] 4 [01:27:37.734] } [01:27:37.734] }, immediateCondition = function(cond) { [01:27:37.734] sendCondition <- ...future.makeSendCondition() [01:27:37.734] sendCondition(cond) [01:27:37.734] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.734] { [01:27:37.734] inherits <- base::inherits [01:27:37.734] invokeRestart <- base::invokeRestart [01:27:37.734] is.null <- base::is.null [01:27:37.734] muffled <- FALSE [01:27:37.734] if (inherits(cond, "message")) { [01:27:37.734] muffled <- grepl(pattern, "muffleMessage") [01:27:37.734] if (muffled) [01:27:37.734] invokeRestart("muffleMessage") [01:27:37.734] } [01:27:37.734] else if (inherits(cond, "warning")) { [01:27:37.734] muffled <- grepl(pattern, "muffleWarning") [01:27:37.734] if (muffled) [01:27:37.734] invokeRestart("muffleWarning") [01:27:37.734] } [01:27:37.734] else if (inherits(cond, "condition")) { [01:27:37.734] if (!is.null(pattern)) { [01:27:37.734] computeRestarts <- base::computeRestarts [01:27:37.734] grepl <- base::grepl [01:27:37.734] restarts <- computeRestarts(cond) [01:27:37.734] for (restart in restarts) { [01:27:37.734] name <- restart$name [01:27:37.734] if (is.null(name)) [01:27:37.734] next [01:27:37.734] if (!grepl(pattern, name)) [01:27:37.734] next [01:27:37.734] invokeRestart(restart) [01:27:37.734] muffled <- TRUE [01:27:37.734] break [01:27:37.734] } [01:27:37.734] } [01:27:37.734] } [01:27:37.734] invisible(muffled) [01:27:37.734] } [01:27:37.734] muffleCondition(cond) [01:27:37.734] }) [01:27:37.734] })) [01:27:37.734] future::FutureResult(value = ...future.value$value, [01:27:37.734] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.734] ...future.rng), globalenv = if (FALSE) [01:27:37.734] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:37.734] ...future.globalenv.names)) [01:27:37.734] else NULL, started = ...future.startTime, version = "1.8") [01:27:37.734] }, condition = base::local({ [01:27:37.734] c <- base::c [01:27:37.734] inherits <- base::inherits [01:27:37.734] invokeRestart <- base::invokeRestart [01:27:37.734] length <- base::length [01:27:37.734] list <- base::list [01:27:37.734] seq.int <- base::seq.int [01:27:37.734] signalCondition <- base::signalCondition [01:27:37.734] sys.calls <- base::sys.calls [01:27:37.734] `[[` <- base::`[[` [01:27:37.734] `+` <- base::`+` [01:27:37.734] `<<-` <- base::`<<-` [01:27:37.734] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:37.734] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:37.734] 3L)] [01:27:37.734] } [01:27:37.734] function(cond) { [01:27:37.734] is_error <- inherits(cond, "error") [01:27:37.734] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:37.734] NULL) [01:27:37.734] if (is_error) { [01:27:37.734] sessionInformation <- function() { [01:27:37.734] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:37.734] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:37.734] search = base::search(), system = base::Sys.info()) [01:27:37.734] } [01:27:37.734] ...future.conditions[[length(...future.conditions) + [01:27:37.734] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:37.734] cond$call), session = sessionInformation(), [01:27:37.734] timestamp = base::Sys.time(), signaled = 0L) [01:27:37.734] signalCondition(cond) [01:27:37.734] } [01:27:37.734] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:37.734] "immediateCondition"))) { [01:27:37.734] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:37.734] ...future.conditions[[length(...future.conditions) + [01:27:37.734] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:37.734] if (TRUE && !signal) { [01:27:37.734] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.734] { [01:27:37.734] inherits <- base::inherits [01:27:37.734] invokeRestart <- base::invokeRestart [01:27:37.734] is.null <- base::is.null [01:27:37.734] muffled <- FALSE [01:27:37.734] if (inherits(cond, "message")) { [01:27:37.734] muffled <- grepl(pattern, "muffleMessage") [01:27:37.734] if (muffled) [01:27:37.734] invokeRestart("muffleMessage") [01:27:37.734] } [01:27:37.734] else if (inherits(cond, "warning")) { [01:27:37.734] muffled <- grepl(pattern, "muffleWarning") [01:27:37.734] if (muffled) [01:27:37.734] invokeRestart("muffleWarning") [01:27:37.734] } [01:27:37.734] else if (inherits(cond, "condition")) { [01:27:37.734] if (!is.null(pattern)) { [01:27:37.734] computeRestarts <- base::computeRestarts [01:27:37.734] grepl <- base::grepl [01:27:37.734] restarts <- computeRestarts(cond) [01:27:37.734] for (restart in restarts) { [01:27:37.734] name <- restart$name [01:27:37.734] if (is.null(name)) [01:27:37.734] next [01:27:37.734] if (!grepl(pattern, name)) [01:27:37.734] next [01:27:37.734] invokeRestart(restart) [01:27:37.734] muffled <- TRUE [01:27:37.734] break [01:27:37.734] } [01:27:37.734] } [01:27:37.734] } [01:27:37.734] invisible(muffled) [01:27:37.734] } [01:27:37.734] muffleCondition(cond, pattern = "^muffle") [01:27:37.734] } [01:27:37.734] } [01:27:37.734] else { [01:27:37.734] if (TRUE) { [01:27:37.734] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.734] { [01:27:37.734] inherits <- base::inherits [01:27:37.734] invokeRestart <- base::invokeRestart [01:27:37.734] is.null <- base::is.null [01:27:37.734] muffled <- FALSE [01:27:37.734] if (inherits(cond, "message")) { [01:27:37.734] muffled <- grepl(pattern, "muffleMessage") [01:27:37.734] if (muffled) [01:27:37.734] invokeRestart("muffleMessage") [01:27:37.734] } [01:27:37.734] else if (inherits(cond, "warning")) { [01:27:37.734] muffled <- grepl(pattern, "muffleWarning") [01:27:37.734] if (muffled) [01:27:37.734] invokeRestart("muffleWarning") [01:27:37.734] } [01:27:37.734] else if (inherits(cond, "condition")) { [01:27:37.734] if (!is.null(pattern)) { [01:27:37.734] computeRestarts <- base::computeRestarts [01:27:37.734] grepl <- base::grepl [01:27:37.734] restarts <- computeRestarts(cond) [01:27:37.734] for (restart in restarts) { [01:27:37.734] name <- restart$name [01:27:37.734] if (is.null(name)) [01:27:37.734] next [01:27:37.734] if (!grepl(pattern, name)) [01:27:37.734] next [01:27:37.734] invokeRestart(restart) [01:27:37.734] muffled <- TRUE [01:27:37.734] break [01:27:37.734] } [01:27:37.734] } [01:27:37.734] } [01:27:37.734] invisible(muffled) [01:27:37.734] } [01:27:37.734] muffleCondition(cond, pattern = "^muffle") [01:27:37.734] } [01:27:37.734] } [01:27:37.734] } [01:27:37.734] })) [01:27:37.734] }, error = function(ex) { [01:27:37.734] base::structure(base::list(value = NULL, visible = NULL, [01:27:37.734] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.734] ...future.rng), started = ...future.startTime, [01:27:37.734] finished = Sys.time(), session_uuid = NA_character_, [01:27:37.734] version = "1.8"), class = "FutureResult") [01:27:37.734] }, finally = { [01:27:37.734] if (!identical(...future.workdir, getwd())) [01:27:37.734] setwd(...future.workdir) [01:27:37.734] { [01:27:37.734] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:37.734] ...future.oldOptions$nwarnings <- NULL [01:27:37.734] } [01:27:37.734] base::options(...future.oldOptions) [01:27:37.734] if (.Platform$OS.type == "windows") { [01:27:37.734] old_names <- names(...future.oldEnvVars) [01:27:37.734] envs <- base::Sys.getenv() [01:27:37.734] names <- names(envs) [01:27:37.734] common <- intersect(names, old_names) [01:27:37.734] added <- setdiff(names, old_names) [01:27:37.734] removed <- setdiff(old_names, names) [01:27:37.734] changed <- common[...future.oldEnvVars[common] != [01:27:37.734] envs[common]] [01:27:37.734] NAMES <- toupper(changed) [01:27:37.734] args <- list() [01:27:37.734] for (kk in seq_along(NAMES)) { [01:27:37.734] name <- changed[[kk]] [01:27:37.734] NAME <- NAMES[[kk]] [01:27:37.734] if (name != NAME && is.element(NAME, old_names)) [01:27:37.734] next [01:27:37.734] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.734] } [01:27:37.734] NAMES <- toupper(added) [01:27:37.734] for (kk in seq_along(NAMES)) { [01:27:37.734] name <- added[[kk]] [01:27:37.734] NAME <- NAMES[[kk]] [01:27:37.734] if (name != NAME && is.element(NAME, old_names)) [01:27:37.734] next [01:27:37.734] args[[name]] <- "" [01:27:37.734] } [01:27:37.734] NAMES <- toupper(removed) [01:27:37.734] for (kk in seq_along(NAMES)) { [01:27:37.734] name <- removed[[kk]] [01:27:37.734] NAME <- NAMES[[kk]] [01:27:37.734] if (name != NAME && is.element(NAME, old_names)) [01:27:37.734] next [01:27:37.734] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.734] } [01:27:37.734] if (length(args) > 0) [01:27:37.734] base::do.call(base::Sys.setenv, args = args) [01:27:37.734] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:37.734] } [01:27:37.734] else { [01:27:37.734] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:37.734] } [01:27:37.734] { [01:27:37.734] if (base::length(...future.futureOptionsAdded) > [01:27:37.734] 0L) { [01:27:37.734] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:37.734] base::names(opts) <- ...future.futureOptionsAdded [01:27:37.734] base::options(opts) [01:27:37.734] } [01:27:37.734] { [01:27:37.734] { [01:27:37.734] base::options(mc.cores = ...future.mc.cores.old) [01:27:37.734] NULL [01:27:37.734] } [01:27:37.734] options(future.plan = NULL) [01:27:37.734] if (is.na(NA_character_)) [01:27:37.734] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.734] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:37.734] future::plan(list(function (..., workers = availableCores(), [01:27:37.734] lazy = FALSE, rscript_libs = .libPaths(), [01:27:37.734] envir = parent.frame()) [01:27:37.734] { [01:27:37.734] if (is.function(workers)) [01:27:37.734] workers <- workers() [01:27:37.734] workers <- structure(as.integer(workers), [01:27:37.734] class = class(workers)) [01:27:37.734] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:37.734] workers >= 1) [01:27:37.734] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:37.734] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:37.734] } [01:27:37.734] future <- MultisessionFuture(..., workers = workers, [01:27:37.734] lazy = lazy, rscript_libs = rscript_libs, [01:27:37.734] envir = envir) [01:27:37.734] if (!future$lazy) [01:27:37.734] future <- run(future) [01:27:37.734] invisible(future) [01:27:37.734] }), .cleanup = FALSE, .init = FALSE) [01:27:37.734] } [01:27:37.734] } [01:27:37.734] } [01:27:37.734] }) [01:27:37.734] if (TRUE) { [01:27:37.734] base::sink(type = "output", split = FALSE) [01:27:37.734] if (TRUE) { [01:27:37.734] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:37.734] } [01:27:37.734] else { [01:27:37.734] ...future.result["stdout"] <- base::list(NULL) [01:27:37.734] } [01:27:37.734] base::close(...future.stdout) [01:27:37.734] ...future.stdout <- NULL [01:27:37.734] } [01:27:37.734] ...future.result$conditions <- ...future.conditions [01:27:37.734] ...future.result$finished <- base::Sys.time() [01:27:37.734] ...future.result [01:27:37.734] } [01:27:37.740] MultisessionFuture started [01:27:37.740] - Launch lazy future ... done [01:27:37.741] run() for 'MultisessionFuture' ... done ** Collecting results v1 = 1 v2 = 2 Warning in sprintf(...) : restarting interrupted promise evaluation [01:27:37.741] result() for ClusterFuture ... [01:27:37.741] - result already collected: FutureResult [01:27:37.742] result() for ClusterFuture ... done [01:27:37.742] result() for ClusterFuture ... [01:27:37.742] - result already collected: FutureResult [01:27:37.742] result() for ClusterFuture ... done [01:27:37.742] signalConditions() ... [01:27:37.743] - include = 'immediateCondition' [01:27:37.743] - exclude = [01:27:37.743] - resignal = FALSE [01:27:37.743] - Number of conditions: 1 [01:27:37.743] signalConditions() ... done [01:27:37.743] Future state: 'finished' [01:27:37.744] result() for ClusterFuture ... [01:27:37.744] - result already collected: FutureResult [01:27:37.744] result() for ClusterFuture ... done [01:27:37.744] signalConditions() ... [01:27:37.744] - include = 'condition' [01:27:37.744] - exclude = 'immediateCondition' [01:27:37.745] - resignal = TRUE [01:27:37.745] - Number of conditions: 1 [01:27:37.745] - Condition #1: 'simpleError', 'error', 'condition' [01:27:37.745] signalConditions() ... done v3: (as expect) [01:27:37.745] result() for ClusterFuture ... [01:27:37.746] receiveMessageFromWorker() for ClusterFuture ... [01:27:37.746] - Validating connection of MultisessionFuture [01:27:37.758] - received message: FutureResult [01:27:37.758] - Received FutureResult [01:27:37.759] - Erased future from FutureRegistry [01:27:37.759] result() for ClusterFuture ... [01:27:37.759] - result already collected: FutureResult [01:27:37.759] result() for ClusterFuture ... done [01:27:37.759] receiveMessageFromWorker() for ClusterFuture ... done [01:27:37.759] result() for ClusterFuture ... done [01:27:37.760] result() for ClusterFuture ... [01:27:37.760] - result already collected: FutureResult [01:27:37.760] result() for ClusterFuture ... done Processing: .......... [100%] v4 = 4 ** Left-to-right and right-to-left future assignments [01:27:37.760] getGlobalsAndPackages() ... [01:27:37.761] Searching for globals... [01:27:37.761] [01:27:37.761] Searching for globals ... DONE [01:27:37.761] - globals: [0] [01:27:37.762] getGlobalsAndPackages() ... DONE [01:27:37.762] run() for 'Future' ... [01:27:37.762] - state: 'created' [01:27:37.762] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:37.777] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:37.777] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:37.777] - Field: 'node' [01:27:37.778] - Field: 'label' [01:27:37.778] - Field: 'local' [01:27:37.778] - Field: 'owner' [01:27:37.778] - Field: 'envir' [01:27:37.778] - Field: 'workers' [01:27:37.778] - Field: 'packages' [01:27:37.779] - Field: 'gc' [01:27:37.779] - Field: 'conditions' [01:27:37.779] - Field: 'persistent' [01:27:37.779] - Field: 'expr' [01:27:37.779] - Field: 'uuid' [01:27:37.780] - Field: 'seed' [01:27:37.780] - Field: 'version' [01:27:37.780] - Field: 'result' [01:27:37.780] - Field: 'asynchronous' [01:27:37.780] - Field: 'calls' [01:27:37.780] - Field: 'globals' [01:27:37.781] - Field: 'stdout' [01:27:37.781] - Field: 'earlySignal' [01:27:37.781] - Field: 'lazy' [01:27:37.781] - Field: 'state' [01:27:37.781] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:37.782] - Launch lazy future ... [01:27:37.782] Packages needed by the future expression (n = 0): [01:27:37.782] Packages needed by future strategies (n = 0): [01:27:37.783] { [01:27:37.783] { [01:27:37.783] { [01:27:37.783] ...future.startTime <- base::Sys.time() [01:27:37.783] { [01:27:37.783] { [01:27:37.783] { [01:27:37.783] { [01:27:37.783] base::local({ [01:27:37.783] has_future <- base::requireNamespace("future", [01:27:37.783] quietly = TRUE) [01:27:37.783] if (has_future) { [01:27:37.783] ns <- base::getNamespace("future") [01:27:37.783] version <- ns[[".package"]][["version"]] [01:27:37.783] if (is.null(version)) [01:27:37.783] version <- utils::packageVersion("future") [01:27:37.783] } [01:27:37.783] else { [01:27:37.783] version <- NULL [01:27:37.783] } [01:27:37.783] if (!has_future || version < "1.8.0") { [01:27:37.783] info <- base::c(r_version = base::gsub("R version ", [01:27:37.783] "", base::R.version$version.string), [01:27:37.783] platform = base::sprintf("%s (%s-bit)", [01:27:37.783] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:37.783] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:37.783] "release", "version")], collapse = " "), [01:27:37.783] hostname = base::Sys.info()[["nodename"]]) [01:27:37.783] info <- base::sprintf("%s: %s", base::names(info), [01:27:37.783] info) [01:27:37.783] info <- base::paste(info, collapse = "; ") [01:27:37.783] if (!has_future) { [01:27:37.783] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:37.783] info) [01:27:37.783] } [01:27:37.783] else { [01:27:37.783] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:37.783] info, version) [01:27:37.783] } [01:27:37.783] base::stop(msg) [01:27:37.783] } [01:27:37.783] }) [01:27:37.783] } [01:27:37.783] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:37.783] base::options(mc.cores = 1L) [01:27:37.783] } [01:27:37.783] options(future.plan = NULL) [01:27:37.783] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.783] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:37.783] } [01:27:37.783] ...future.workdir <- getwd() [01:27:37.783] } [01:27:37.783] ...future.oldOptions <- base::as.list(base::.Options) [01:27:37.783] ...future.oldEnvVars <- base::Sys.getenv() [01:27:37.783] } [01:27:37.783] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:37.783] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:37.783] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:37.783] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:37.783] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:37.783] future.stdout.windows.reencode = NULL, width = 80L) [01:27:37.783] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:37.783] base::names(...future.oldOptions)) [01:27:37.783] } [01:27:37.783] if (FALSE) { [01:27:37.783] } [01:27:37.783] else { [01:27:37.783] if (TRUE) { [01:27:37.783] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:37.783] open = "w") [01:27:37.783] } [01:27:37.783] else { [01:27:37.783] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:37.783] windows = "NUL", "/dev/null"), open = "w") [01:27:37.783] } [01:27:37.783] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:37.783] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:37.783] base::sink(type = "output", split = FALSE) [01:27:37.783] base::close(...future.stdout) [01:27:37.783] }, add = TRUE) [01:27:37.783] } [01:27:37.783] ...future.frame <- base::sys.nframe() [01:27:37.783] ...future.conditions <- base::list() [01:27:37.783] ...future.rng <- base::globalenv()$.Random.seed [01:27:37.783] if (FALSE) { [01:27:37.783] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:37.783] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:37.783] } [01:27:37.783] ...future.result <- base::tryCatch({ [01:27:37.783] base::withCallingHandlers({ [01:27:37.783] ...future.value <- base::withVisible(base::local({ [01:27:37.783] ...future.makeSendCondition <- base::local({ [01:27:37.783] sendCondition <- NULL [01:27:37.783] function(frame = 1L) { [01:27:37.783] if (is.function(sendCondition)) [01:27:37.783] return(sendCondition) [01:27:37.783] ns <- getNamespace("parallel") [01:27:37.783] if (exists("sendData", mode = "function", [01:27:37.783] envir = ns)) { [01:27:37.783] parallel_sendData <- get("sendData", mode = "function", [01:27:37.783] envir = ns) [01:27:37.783] envir <- sys.frame(frame) [01:27:37.783] master <- NULL [01:27:37.783] while (!identical(envir, .GlobalEnv) && [01:27:37.783] !identical(envir, emptyenv())) { [01:27:37.783] if (exists("master", mode = "list", envir = envir, [01:27:37.783] inherits = FALSE)) { [01:27:37.783] master <- get("master", mode = "list", [01:27:37.783] envir = envir, inherits = FALSE) [01:27:37.783] if (inherits(master, c("SOCKnode", [01:27:37.783] "SOCK0node"))) { [01:27:37.783] sendCondition <<- function(cond) { [01:27:37.783] data <- list(type = "VALUE", value = cond, [01:27:37.783] success = TRUE) [01:27:37.783] parallel_sendData(master, data) [01:27:37.783] } [01:27:37.783] return(sendCondition) [01:27:37.783] } [01:27:37.783] } [01:27:37.783] frame <- frame + 1L [01:27:37.783] envir <- sys.frame(frame) [01:27:37.783] } [01:27:37.783] } [01:27:37.783] sendCondition <<- function(cond) NULL [01:27:37.783] } [01:27:37.783] }) [01:27:37.783] withCallingHandlers({ [01:27:37.783] 1 [01:27:37.783] }, immediateCondition = function(cond) { [01:27:37.783] sendCondition <- ...future.makeSendCondition() [01:27:37.783] sendCondition(cond) [01:27:37.783] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.783] { [01:27:37.783] inherits <- base::inherits [01:27:37.783] invokeRestart <- base::invokeRestart [01:27:37.783] is.null <- base::is.null [01:27:37.783] muffled <- FALSE [01:27:37.783] if (inherits(cond, "message")) { [01:27:37.783] muffled <- grepl(pattern, "muffleMessage") [01:27:37.783] if (muffled) [01:27:37.783] invokeRestart("muffleMessage") [01:27:37.783] } [01:27:37.783] else if (inherits(cond, "warning")) { [01:27:37.783] muffled <- grepl(pattern, "muffleWarning") [01:27:37.783] if (muffled) [01:27:37.783] invokeRestart("muffleWarning") [01:27:37.783] } [01:27:37.783] else if (inherits(cond, "condition")) { [01:27:37.783] if (!is.null(pattern)) { [01:27:37.783] computeRestarts <- base::computeRestarts [01:27:37.783] grepl <- base::grepl [01:27:37.783] restarts <- computeRestarts(cond) [01:27:37.783] for (restart in restarts) { [01:27:37.783] name <- restart$name [01:27:37.783] if (is.null(name)) [01:27:37.783] next [01:27:37.783] if (!grepl(pattern, name)) [01:27:37.783] next [01:27:37.783] invokeRestart(restart) [01:27:37.783] muffled <- TRUE [01:27:37.783] break [01:27:37.783] } [01:27:37.783] } [01:27:37.783] } [01:27:37.783] invisible(muffled) [01:27:37.783] } [01:27:37.783] muffleCondition(cond) [01:27:37.783] }) [01:27:37.783] })) [01:27:37.783] future::FutureResult(value = ...future.value$value, [01:27:37.783] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.783] ...future.rng), globalenv = if (FALSE) [01:27:37.783] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:37.783] ...future.globalenv.names)) [01:27:37.783] else NULL, started = ...future.startTime, version = "1.8") [01:27:37.783] }, condition = base::local({ [01:27:37.783] c <- base::c [01:27:37.783] inherits <- base::inherits [01:27:37.783] invokeRestart <- base::invokeRestart [01:27:37.783] length <- base::length [01:27:37.783] list <- base::list [01:27:37.783] seq.int <- base::seq.int [01:27:37.783] signalCondition <- base::signalCondition [01:27:37.783] sys.calls <- base::sys.calls [01:27:37.783] `[[` <- base::`[[` [01:27:37.783] `+` <- base::`+` [01:27:37.783] `<<-` <- base::`<<-` [01:27:37.783] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:37.783] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:37.783] 3L)] [01:27:37.783] } [01:27:37.783] function(cond) { [01:27:37.783] is_error <- inherits(cond, "error") [01:27:37.783] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:37.783] NULL) [01:27:37.783] if (is_error) { [01:27:37.783] sessionInformation <- function() { [01:27:37.783] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:37.783] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:37.783] search = base::search(), system = base::Sys.info()) [01:27:37.783] } [01:27:37.783] ...future.conditions[[length(...future.conditions) + [01:27:37.783] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:37.783] cond$call), session = sessionInformation(), [01:27:37.783] timestamp = base::Sys.time(), signaled = 0L) [01:27:37.783] signalCondition(cond) [01:27:37.783] } [01:27:37.783] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:37.783] "immediateCondition"))) { [01:27:37.783] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:37.783] ...future.conditions[[length(...future.conditions) + [01:27:37.783] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:37.783] if (TRUE && !signal) { [01:27:37.783] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.783] { [01:27:37.783] inherits <- base::inherits [01:27:37.783] invokeRestart <- base::invokeRestart [01:27:37.783] is.null <- base::is.null [01:27:37.783] muffled <- FALSE [01:27:37.783] if (inherits(cond, "message")) { [01:27:37.783] muffled <- grepl(pattern, "muffleMessage") [01:27:37.783] if (muffled) [01:27:37.783] invokeRestart("muffleMessage") [01:27:37.783] } [01:27:37.783] else if (inherits(cond, "warning")) { [01:27:37.783] muffled <- grepl(pattern, "muffleWarning") [01:27:37.783] if (muffled) [01:27:37.783] invokeRestart("muffleWarning") [01:27:37.783] } [01:27:37.783] else if (inherits(cond, "condition")) { [01:27:37.783] if (!is.null(pattern)) { [01:27:37.783] computeRestarts <- base::computeRestarts [01:27:37.783] grepl <- base::grepl [01:27:37.783] restarts <- computeRestarts(cond) [01:27:37.783] for (restart in restarts) { [01:27:37.783] name <- restart$name [01:27:37.783] if (is.null(name)) [01:27:37.783] next [01:27:37.783] if (!grepl(pattern, name)) [01:27:37.783] next [01:27:37.783] invokeRestart(restart) [01:27:37.783] muffled <- TRUE [01:27:37.783] break [01:27:37.783] } [01:27:37.783] } [01:27:37.783] } [01:27:37.783] invisible(muffled) [01:27:37.783] } [01:27:37.783] muffleCondition(cond, pattern = "^muffle") [01:27:37.783] } [01:27:37.783] } [01:27:37.783] else { [01:27:37.783] if (TRUE) { [01:27:37.783] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.783] { [01:27:37.783] inherits <- base::inherits [01:27:37.783] invokeRestart <- base::invokeRestart [01:27:37.783] is.null <- base::is.null [01:27:37.783] muffled <- FALSE [01:27:37.783] if (inherits(cond, "message")) { [01:27:37.783] muffled <- grepl(pattern, "muffleMessage") [01:27:37.783] if (muffled) [01:27:37.783] invokeRestart("muffleMessage") [01:27:37.783] } [01:27:37.783] else if (inherits(cond, "warning")) { [01:27:37.783] muffled <- grepl(pattern, "muffleWarning") [01:27:37.783] if (muffled) [01:27:37.783] invokeRestart("muffleWarning") [01:27:37.783] } [01:27:37.783] else if (inherits(cond, "condition")) { [01:27:37.783] if (!is.null(pattern)) { [01:27:37.783] computeRestarts <- base::computeRestarts [01:27:37.783] grepl <- base::grepl [01:27:37.783] restarts <- computeRestarts(cond) [01:27:37.783] for (restart in restarts) { [01:27:37.783] name <- restart$name [01:27:37.783] if (is.null(name)) [01:27:37.783] next [01:27:37.783] if (!grepl(pattern, name)) [01:27:37.783] next [01:27:37.783] invokeRestart(restart) [01:27:37.783] muffled <- TRUE [01:27:37.783] break [01:27:37.783] } [01:27:37.783] } [01:27:37.783] } [01:27:37.783] invisible(muffled) [01:27:37.783] } [01:27:37.783] muffleCondition(cond, pattern = "^muffle") [01:27:37.783] } [01:27:37.783] } [01:27:37.783] } [01:27:37.783] })) [01:27:37.783] }, error = function(ex) { [01:27:37.783] base::structure(base::list(value = NULL, visible = NULL, [01:27:37.783] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.783] ...future.rng), started = ...future.startTime, [01:27:37.783] finished = Sys.time(), session_uuid = NA_character_, [01:27:37.783] version = "1.8"), class = "FutureResult") [01:27:37.783] }, finally = { [01:27:37.783] if (!identical(...future.workdir, getwd())) [01:27:37.783] setwd(...future.workdir) [01:27:37.783] { [01:27:37.783] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:37.783] ...future.oldOptions$nwarnings <- NULL [01:27:37.783] } [01:27:37.783] base::options(...future.oldOptions) [01:27:37.783] if (.Platform$OS.type == "windows") { [01:27:37.783] old_names <- names(...future.oldEnvVars) [01:27:37.783] envs <- base::Sys.getenv() [01:27:37.783] names <- names(envs) [01:27:37.783] common <- intersect(names, old_names) [01:27:37.783] added <- setdiff(names, old_names) [01:27:37.783] removed <- setdiff(old_names, names) [01:27:37.783] changed <- common[...future.oldEnvVars[common] != [01:27:37.783] envs[common]] [01:27:37.783] NAMES <- toupper(changed) [01:27:37.783] args <- list() [01:27:37.783] for (kk in seq_along(NAMES)) { [01:27:37.783] name <- changed[[kk]] [01:27:37.783] NAME <- NAMES[[kk]] [01:27:37.783] if (name != NAME && is.element(NAME, old_names)) [01:27:37.783] next [01:27:37.783] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.783] } [01:27:37.783] NAMES <- toupper(added) [01:27:37.783] for (kk in seq_along(NAMES)) { [01:27:37.783] name <- added[[kk]] [01:27:37.783] NAME <- NAMES[[kk]] [01:27:37.783] if (name != NAME && is.element(NAME, old_names)) [01:27:37.783] next [01:27:37.783] args[[name]] <- "" [01:27:37.783] } [01:27:37.783] NAMES <- toupper(removed) [01:27:37.783] for (kk in seq_along(NAMES)) { [01:27:37.783] name <- removed[[kk]] [01:27:37.783] NAME <- NAMES[[kk]] [01:27:37.783] if (name != NAME && is.element(NAME, old_names)) [01:27:37.783] next [01:27:37.783] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.783] } [01:27:37.783] if (length(args) > 0) [01:27:37.783] base::do.call(base::Sys.setenv, args = args) [01:27:37.783] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:37.783] } [01:27:37.783] else { [01:27:37.783] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:37.783] } [01:27:37.783] { [01:27:37.783] if (base::length(...future.futureOptionsAdded) > [01:27:37.783] 0L) { [01:27:37.783] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:37.783] base::names(opts) <- ...future.futureOptionsAdded [01:27:37.783] base::options(opts) [01:27:37.783] } [01:27:37.783] { [01:27:37.783] { [01:27:37.783] base::options(mc.cores = ...future.mc.cores.old) [01:27:37.783] NULL [01:27:37.783] } [01:27:37.783] options(future.plan = NULL) [01:27:37.783] if (is.na(NA_character_)) [01:27:37.783] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.783] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:37.783] future::plan(list(function (..., workers = availableCores(), [01:27:37.783] lazy = FALSE, rscript_libs = .libPaths(), [01:27:37.783] envir = parent.frame()) [01:27:37.783] { [01:27:37.783] if (is.function(workers)) [01:27:37.783] workers <- workers() [01:27:37.783] workers <- structure(as.integer(workers), [01:27:37.783] class = class(workers)) [01:27:37.783] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:37.783] workers >= 1) [01:27:37.783] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:37.783] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:37.783] } [01:27:37.783] future <- MultisessionFuture(..., workers = workers, [01:27:37.783] lazy = lazy, rscript_libs = rscript_libs, [01:27:37.783] envir = envir) [01:27:37.783] if (!future$lazy) [01:27:37.783] future <- run(future) [01:27:37.783] invisible(future) [01:27:37.783] }), .cleanup = FALSE, .init = FALSE) [01:27:37.783] } [01:27:37.783] } [01:27:37.783] } [01:27:37.783] }) [01:27:37.783] if (TRUE) { [01:27:37.783] base::sink(type = "output", split = FALSE) [01:27:37.783] if (TRUE) { [01:27:37.783] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:37.783] } [01:27:37.783] else { [01:27:37.783] ...future.result["stdout"] <- base::list(NULL) [01:27:37.783] } [01:27:37.783] base::close(...future.stdout) [01:27:37.783] ...future.stdout <- NULL [01:27:37.783] } [01:27:37.783] ...future.result$conditions <- ...future.conditions [01:27:37.783] ...future.result$finished <- base::Sys.time() [01:27:37.783] ...future.result [01:27:37.783] } [01:27:37.789] MultisessionFuture started [01:27:37.790] - Launch lazy future ... done [01:27:37.790] run() for 'MultisessionFuture' ... done [01:27:37.796] result() for ClusterFuture ... [01:27:37.796] receiveMessageFromWorker() for ClusterFuture ... [01:27:37.797] - Validating connection of MultisessionFuture [01:27:37.807] - received message: FutureResult [01:27:37.807] - Received FutureResult [01:27:37.807] - Erased future from FutureRegistry [01:27:37.808] result() for ClusterFuture ... [01:27:37.808] - result already collected: FutureResult [01:27:37.808] result() for ClusterFuture ... done [01:27:37.808] receiveMessageFromWorker() for ClusterFuture ... done [01:27:37.808] result() for ClusterFuture ... done [01:27:37.809] result() for ClusterFuture ... [01:27:37.809] - result already collected: FutureResult [01:27:37.809] result() for ClusterFuture ... done c = 1 [01:27:37.809] getGlobalsAndPackages() ... [01:27:37.810] Searching for globals... [01:27:37.810] [01:27:37.810] Searching for globals ... DONE [01:27:37.810] - globals: [0] [01:27:37.811] getGlobalsAndPackages() ... DONE [01:27:37.811] run() for 'Future' ... [01:27:37.811] - state: 'created' [01:27:37.812] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:37.826] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:37.827] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:37.827] - Field: 'node' [01:27:37.827] - Field: 'label' [01:27:37.827] - Field: 'local' [01:27:37.827] - Field: 'owner' [01:27:37.828] - Field: 'envir' [01:27:37.828] - Field: 'workers' [01:27:37.828] - Field: 'packages' [01:27:37.828] - Field: 'gc' [01:27:37.828] - Field: 'conditions' [01:27:37.829] - Field: 'persistent' [01:27:37.829] - Field: 'expr' [01:27:37.829] - Field: 'uuid' [01:27:37.829] - Field: 'seed' [01:27:37.829] - Field: 'version' [01:27:37.830] - Field: 'result' [01:27:37.830] - Field: 'asynchronous' [01:27:37.830] - Field: 'calls' [01:27:37.830] - Field: 'globals' [01:27:37.830] - Field: 'stdout' [01:27:37.831] - Field: 'earlySignal' [01:27:37.831] - Field: 'lazy' [01:27:37.831] - Field: 'state' [01:27:37.831] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:37.831] - Launch lazy future ... [01:27:37.832] Packages needed by the future expression (n = 0): [01:27:37.832] Packages needed by future strategies (n = 0): [01:27:37.833] { [01:27:37.833] { [01:27:37.833] { [01:27:37.833] ...future.startTime <- base::Sys.time() [01:27:37.833] { [01:27:37.833] { [01:27:37.833] { [01:27:37.833] { [01:27:37.833] base::local({ [01:27:37.833] has_future <- base::requireNamespace("future", [01:27:37.833] quietly = TRUE) [01:27:37.833] if (has_future) { [01:27:37.833] ns <- base::getNamespace("future") [01:27:37.833] version <- ns[[".package"]][["version"]] [01:27:37.833] if (is.null(version)) [01:27:37.833] version <- utils::packageVersion("future") [01:27:37.833] } [01:27:37.833] else { [01:27:37.833] version <- NULL [01:27:37.833] } [01:27:37.833] if (!has_future || version < "1.8.0") { [01:27:37.833] info <- base::c(r_version = base::gsub("R version ", [01:27:37.833] "", base::R.version$version.string), [01:27:37.833] platform = base::sprintf("%s (%s-bit)", [01:27:37.833] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:37.833] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:37.833] "release", "version")], collapse = " "), [01:27:37.833] hostname = base::Sys.info()[["nodename"]]) [01:27:37.833] info <- base::sprintf("%s: %s", base::names(info), [01:27:37.833] info) [01:27:37.833] info <- base::paste(info, collapse = "; ") [01:27:37.833] if (!has_future) { [01:27:37.833] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:37.833] info) [01:27:37.833] } [01:27:37.833] else { [01:27:37.833] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:37.833] info, version) [01:27:37.833] } [01:27:37.833] base::stop(msg) [01:27:37.833] } [01:27:37.833] }) [01:27:37.833] } [01:27:37.833] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:37.833] base::options(mc.cores = 1L) [01:27:37.833] } [01:27:37.833] options(future.plan = NULL) [01:27:37.833] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.833] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:37.833] } [01:27:37.833] ...future.workdir <- getwd() [01:27:37.833] } [01:27:37.833] ...future.oldOptions <- base::as.list(base::.Options) [01:27:37.833] ...future.oldEnvVars <- base::Sys.getenv() [01:27:37.833] } [01:27:37.833] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:37.833] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:37.833] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:37.833] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:37.833] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:37.833] future.stdout.windows.reencode = NULL, width = 80L) [01:27:37.833] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:37.833] base::names(...future.oldOptions)) [01:27:37.833] } [01:27:37.833] if (FALSE) { [01:27:37.833] } [01:27:37.833] else { [01:27:37.833] if (TRUE) { [01:27:37.833] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:37.833] open = "w") [01:27:37.833] } [01:27:37.833] else { [01:27:37.833] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:37.833] windows = "NUL", "/dev/null"), open = "w") [01:27:37.833] } [01:27:37.833] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:37.833] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:37.833] base::sink(type = "output", split = FALSE) [01:27:37.833] base::close(...future.stdout) [01:27:37.833] }, add = TRUE) [01:27:37.833] } [01:27:37.833] ...future.frame <- base::sys.nframe() [01:27:37.833] ...future.conditions <- base::list() [01:27:37.833] ...future.rng <- base::globalenv()$.Random.seed [01:27:37.833] if (FALSE) { [01:27:37.833] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:37.833] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:37.833] } [01:27:37.833] ...future.result <- base::tryCatch({ [01:27:37.833] base::withCallingHandlers({ [01:27:37.833] ...future.value <- base::withVisible(base::local({ [01:27:37.833] ...future.makeSendCondition <- base::local({ [01:27:37.833] sendCondition <- NULL [01:27:37.833] function(frame = 1L) { [01:27:37.833] if (is.function(sendCondition)) [01:27:37.833] return(sendCondition) [01:27:37.833] ns <- getNamespace("parallel") [01:27:37.833] if (exists("sendData", mode = "function", [01:27:37.833] envir = ns)) { [01:27:37.833] parallel_sendData <- get("sendData", mode = "function", [01:27:37.833] envir = ns) [01:27:37.833] envir <- sys.frame(frame) [01:27:37.833] master <- NULL [01:27:37.833] while (!identical(envir, .GlobalEnv) && [01:27:37.833] !identical(envir, emptyenv())) { [01:27:37.833] if (exists("master", mode = "list", envir = envir, [01:27:37.833] inherits = FALSE)) { [01:27:37.833] master <- get("master", mode = "list", [01:27:37.833] envir = envir, inherits = FALSE) [01:27:37.833] if (inherits(master, c("SOCKnode", [01:27:37.833] "SOCK0node"))) { [01:27:37.833] sendCondition <<- function(cond) { [01:27:37.833] data <- list(type = "VALUE", value = cond, [01:27:37.833] success = TRUE) [01:27:37.833] parallel_sendData(master, data) [01:27:37.833] } [01:27:37.833] return(sendCondition) [01:27:37.833] } [01:27:37.833] } [01:27:37.833] frame <- frame + 1L [01:27:37.833] envir <- sys.frame(frame) [01:27:37.833] } [01:27:37.833] } [01:27:37.833] sendCondition <<- function(cond) NULL [01:27:37.833] } [01:27:37.833] }) [01:27:37.833] withCallingHandlers({ [01:27:37.833] 1 [01:27:37.833] }, immediateCondition = function(cond) { [01:27:37.833] sendCondition <- ...future.makeSendCondition() [01:27:37.833] sendCondition(cond) [01:27:37.833] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.833] { [01:27:37.833] inherits <- base::inherits [01:27:37.833] invokeRestart <- base::invokeRestart [01:27:37.833] is.null <- base::is.null [01:27:37.833] muffled <- FALSE [01:27:37.833] if (inherits(cond, "message")) { [01:27:37.833] muffled <- grepl(pattern, "muffleMessage") [01:27:37.833] if (muffled) [01:27:37.833] invokeRestart("muffleMessage") [01:27:37.833] } [01:27:37.833] else if (inherits(cond, "warning")) { [01:27:37.833] muffled <- grepl(pattern, "muffleWarning") [01:27:37.833] if (muffled) [01:27:37.833] invokeRestart("muffleWarning") [01:27:37.833] } [01:27:37.833] else if (inherits(cond, "condition")) { [01:27:37.833] if (!is.null(pattern)) { [01:27:37.833] computeRestarts <- base::computeRestarts [01:27:37.833] grepl <- base::grepl [01:27:37.833] restarts <- computeRestarts(cond) [01:27:37.833] for (restart in restarts) { [01:27:37.833] name <- restart$name [01:27:37.833] if (is.null(name)) [01:27:37.833] next [01:27:37.833] if (!grepl(pattern, name)) [01:27:37.833] next [01:27:37.833] invokeRestart(restart) [01:27:37.833] muffled <- TRUE [01:27:37.833] break [01:27:37.833] } [01:27:37.833] } [01:27:37.833] } [01:27:37.833] invisible(muffled) [01:27:37.833] } [01:27:37.833] muffleCondition(cond) [01:27:37.833] }) [01:27:37.833] })) [01:27:37.833] future::FutureResult(value = ...future.value$value, [01:27:37.833] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.833] ...future.rng), globalenv = if (FALSE) [01:27:37.833] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:37.833] ...future.globalenv.names)) [01:27:37.833] else NULL, started = ...future.startTime, version = "1.8") [01:27:37.833] }, condition = base::local({ [01:27:37.833] c <- base::c [01:27:37.833] inherits <- base::inherits [01:27:37.833] invokeRestart <- base::invokeRestart [01:27:37.833] length <- base::length [01:27:37.833] list <- base::list [01:27:37.833] seq.int <- base::seq.int [01:27:37.833] signalCondition <- base::signalCondition [01:27:37.833] sys.calls <- base::sys.calls [01:27:37.833] `[[` <- base::`[[` [01:27:37.833] `+` <- base::`+` [01:27:37.833] `<<-` <- base::`<<-` [01:27:37.833] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:37.833] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:37.833] 3L)] [01:27:37.833] } [01:27:37.833] function(cond) { [01:27:37.833] is_error <- inherits(cond, "error") [01:27:37.833] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:37.833] NULL) [01:27:37.833] if (is_error) { [01:27:37.833] sessionInformation <- function() { [01:27:37.833] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:37.833] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:37.833] search = base::search(), system = base::Sys.info()) [01:27:37.833] } [01:27:37.833] ...future.conditions[[length(...future.conditions) + [01:27:37.833] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:37.833] cond$call), session = sessionInformation(), [01:27:37.833] timestamp = base::Sys.time(), signaled = 0L) [01:27:37.833] signalCondition(cond) [01:27:37.833] } [01:27:37.833] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:37.833] "immediateCondition"))) { [01:27:37.833] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:37.833] ...future.conditions[[length(...future.conditions) + [01:27:37.833] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:37.833] if (TRUE && !signal) { [01:27:37.833] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.833] { [01:27:37.833] inherits <- base::inherits [01:27:37.833] invokeRestart <- base::invokeRestart [01:27:37.833] is.null <- base::is.null [01:27:37.833] muffled <- FALSE [01:27:37.833] if (inherits(cond, "message")) { [01:27:37.833] muffled <- grepl(pattern, "muffleMessage") [01:27:37.833] if (muffled) [01:27:37.833] invokeRestart("muffleMessage") [01:27:37.833] } [01:27:37.833] else if (inherits(cond, "warning")) { [01:27:37.833] muffled <- grepl(pattern, "muffleWarning") [01:27:37.833] if (muffled) [01:27:37.833] invokeRestart("muffleWarning") [01:27:37.833] } [01:27:37.833] else if (inherits(cond, "condition")) { [01:27:37.833] if (!is.null(pattern)) { [01:27:37.833] computeRestarts <- base::computeRestarts [01:27:37.833] grepl <- base::grepl [01:27:37.833] restarts <- computeRestarts(cond) [01:27:37.833] for (restart in restarts) { [01:27:37.833] name <- restart$name [01:27:37.833] if (is.null(name)) [01:27:37.833] next [01:27:37.833] if (!grepl(pattern, name)) [01:27:37.833] next [01:27:37.833] invokeRestart(restart) [01:27:37.833] muffled <- TRUE [01:27:37.833] break [01:27:37.833] } [01:27:37.833] } [01:27:37.833] } [01:27:37.833] invisible(muffled) [01:27:37.833] } [01:27:37.833] muffleCondition(cond, pattern = "^muffle") [01:27:37.833] } [01:27:37.833] } [01:27:37.833] else { [01:27:37.833] if (TRUE) { [01:27:37.833] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.833] { [01:27:37.833] inherits <- base::inherits [01:27:37.833] invokeRestart <- base::invokeRestart [01:27:37.833] is.null <- base::is.null [01:27:37.833] muffled <- FALSE [01:27:37.833] if (inherits(cond, "message")) { [01:27:37.833] muffled <- grepl(pattern, "muffleMessage") [01:27:37.833] if (muffled) [01:27:37.833] invokeRestart("muffleMessage") [01:27:37.833] } [01:27:37.833] else if (inherits(cond, "warning")) { [01:27:37.833] muffled <- grepl(pattern, "muffleWarning") [01:27:37.833] if (muffled) [01:27:37.833] invokeRestart("muffleWarning") [01:27:37.833] } [01:27:37.833] else if (inherits(cond, "condition")) { [01:27:37.833] if (!is.null(pattern)) { [01:27:37.833] computeRestarts <- base::computeRestarts [01:27:37.833] grepl <- base::grepl [01:27:37.833] restarts <- computeRestarts(cond) [01:27:37.833] for (restart in restarts) { [01:27:37.833] name <- restart$name [01:27:37.833] if (is.null(name)) [01:27:37.833] next [01:27:37.833] if (!grepl(pattern, name)) [01:27:37.833] next [01:27:37.833] invokeRestart(restart) [01:27:37.833] muffled <- TRUE [01:27:37.833] break [01:27:37.833] } [01:27:37.833] } [01:27:37.833] } [01:27:37.833] invisible(muffled) [01:27:37.833] } [01:27:37.833] muffleCondition(cond, pattern = "^muffle") [01:27:37.833] } [01:27:37.833] } [01:27:37.833] } [01:27:37.833] })) [01:27:37.833] }, error = function(ex) { [01:27:37.833] base::structure(base::list(value = NULL, visible = NULL, [01:27:37.833] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.833] ...future.rng), started = ...future.startTime, [01:27:37.833] finished = Sys.time(), session_uuid = NA_character_, [01:27:37.833] version = "1.8"), class = "FutureResult") [01:27:37.833] }, finally = { [01:27:37.833] if (!identical(...future.workdir, getwd())) [01:27:37.833] setwd(...future.workdir) [01:27:37.833] { [01:27:37.833] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:37.833] ...future.oldOptions$nwarnings <- NULL [01:27:37.833] } [01:27:37.833] base::options(...future.oldOptions) [01:27:37.833] if (.Platform$OS.type == "windows") { [01:27:37.833] old_names <- names(...future.oldEnvVars) [01:27:37.833] envs <- base::Sys.getenv() [01:27:37.833] names <- names(envs) [01:27:37.833] common <- intersect(names, old_names) [01:27:37.833] added <- setdiff(names, old_names) [01:27:37.833] removed <- setdiff(old_names, names) [01:27:37.833] changed <- common[...future.oldEnvVars[common] != [01:27:37.833] envs[common]] [01:27:37.833] NAMES <- toupper(changed) [01:27:37.833] args <- list() [01:27:37.833] for (kk in seq_along(NAMES)) { [01:27:37.833] name <- changed[[kk]] [01:27:37.833] NAME <- NAMES[[kk]] [01:27:37.833] if (name != NAME && is.element(NAME, old_names)) [01:27:37.833] next [01:27:37.833] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.833] } [01:27:37.833] NAMES <- toupper(added) [01:27:37.833] for (kk in seq_along(NAMES)) { [01:27:37.833] name <- added[[kk]] [01:27:37.833] NAME <- NAMES[[kk]] [01:27:37.833] if (name != NAME && is.element(NAME, old_names)) [01:27:37.833] next [01:27:37.833] args[[name]] <- "" [01:27:37.833] } [01:27:37.833] NAMES <- toupper(removed) [01:27:37.833] for (kk in seq_along(NAMES)) { [01:27:37.833] name <- removed[[kk]] [01:27:37.833] NAME <- NAMES[[kk]] [01:27:37.833] if (name != NAME && is.element(NAME, old_names)) [01:27:37.833] next [01:27:37.833] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.833] } [01:27:37.833] if (length(args) > 0) [01:27:37.833] base::do.call(base::Sys.setenv, args = args) [01:27:37.833] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:37.833] } [01:27:37.833] else { [01:27:37.833] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:37.833] } [01:27:37.833] { [01:27:37.833] if (base::length(...future.futureOptionsAdded) > [01:27:37.833] 0L) { [01:27:37.833] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:37.833] base::names(opts) <- ...future.futureOptionsAdded [01:27:37.833] base::options(opts) [01:27:37.833] } [01:27:37.833] { [01:27:37.833] { [01:27:37.833] base::options(mc.cores = ...future.mc.cores.old) [01:27:37.833] NULL [01:27:37.833] } [01:27:37.833] options(future.plan = NULL) [01:27:37.833] if (is.na(NA_character_)) [01:27:37.833] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.833] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:37.833] future::plan(list(function (..., workers = availableCores(), [01:27:37.833] lazy = FALSE, rscript_libs = .libPaths(), [01:27:37.833] envir = parent.frame()) [01:27:37.833] { [01:27:37.833] if (is.function(workers)) [01:27:37.833] workers <- workers() [01:27:37.833] workers <- structure(as.integer(workers), [01:27:37.833] class = class(workers)) [01:27:37.833] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:37.833] workers >= 1) [01:27:37.833] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:37.833] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:37.833] } [01:27:37.833] future <- MultisessionFuture(..., workers = workers, [01:27:37.833] lazy = lazy, rscript_libs = rscript_libs, [01:27:37.833] envir = envir) [01:27:37.833] if (!future$lazy) [01:27:37.833] future <- run(future) [01:27:37.833] invisible(future) [01:27:37.833] }), .cleanup = FALSE, .init = FALSE) [01:27:37.833] } [01:27:37.833] } [01:27:37.833] } [01:27:37.833] }) [01:27:37.833] if (TRUE) { [01:27:37.833] base::sink(type = "output", split = FALSE) [01:27:37.833] if (TRUE) { [01:27:37.833] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:37.833] } [01:27:37.833] else { [01:27:37.833] ...future.result["stdout"] <- base::list(NULL) [01:27:37.833] } [01:27:37.833] base::close(...future.stdout) [01:27:37.833] ...future.stdout <- NULL [01:27:37.833] } [01:27:37.833] ...future.result$conditions <- ...future.conditions [01:27:37.833] ...future.result$finished <- base::Sys.time() [01:27:37.833] ...future.result [01:27:37.833] } [01:27:37.840] MultisessionFuture started [01:27:37.841] - Launch lazy future ... done [01:27:37.841] run() for 'MultisessionFuture' ... done [01:27:37.841] result() for ClusterFuture ... [01:27:37.841] receiveMessageFromWorker() for ClusterFuture ... [01:27:37.842] - Validating connection of MultisessionFuture [01:27:37.856] - received message: FutureResult [01:27:37.857] - Received FutureResult [01:27:37.857] - Erased future from FutureRegistry [01:27:37.857] result() for ClusterFuture ... [01:27:37.857] - result already collected: FutureResult [01:27:37.857] result() for ClusterFuture ... done [01:27:37.858] receiveMessageFromWorker() for ClusterFuture ... done [01:27:37.858] result() for ClusterFuture ... done [01:27:37.858] result() for ClusterFuture ... [01:27:37.858] - result already collected: FutureResult [01:27:37.858] result() for ClusterFuture ... done d = 1 ** Nested future assignments [01:27:37.859] getGlobalsAndPackages() ... [01:27:37.859] Searching for globals... [01:27:37.865] - globals found: [5] '{', '<-', '%<-%', '%->%', '+' [01:27:37.865] Searching for globals ... DONE [01:27:37.865] Resolving globals: FALSE [01:27:37.866] [01:27:37.866] - packages: [1] 'future' [01:27:37.866] getGlobalsAndPackages() ... DONE [01:27:37.867] run() for 'Future' ... [01:27:37.867] - state: 'created' [01:27:37.867] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:37.882] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:37.883] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:37.883] - Field: 'node' [01:27:37.883] - Field: 'label' [01:27:37.883] - Field: 'local' [01:27:37.884] - Field: 'owner' [01:27:37.884] - Field: 'envir' [01:27:37.884] - Field: 'workers' [01:27:37.884] - Field: 'packages' [01:27:37.885] - Field: 'gc' [01:27:37.885] - Field: 'conditions' [01:27:37.885] - Field: 'persistent' [01:27:37.885] - Field: 'expr' [01:27:37.885] - Field: 'uuid' [01:27:37.886] - Field: 'seed' [01:27:37.886] - Field: 'version' [01:27:37.886] - Field: 'result' [01:27:37.886] - Field: 'asynchronous' [01:27:37.886] - Field: 'calls' [01:27:37.887] - Field: 'globals' [01:27:37.887] - Field: 'stdout' [01:27:37.887] - Field: 'earlySignal' [01:27:37.887] - Field: 'lazy' [01:27:37.887] - Field: 'state' [01:27:37.888] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:37.888] - Launch lazy future ... [01:27:37.889] Packages needed by the future expression (n = 1): 'future' [01:27:37.889] Packages needed by future strategies (n = 0): [01:27:37.890] { [01:27:37.890] { [01:27:37.890] { [01:27:37.890] ...future.startTime <- base::Sys.time() [01:27:37.890] { [01:27:37.890] { [01:27:37.890] { [01:27:37.890] { [01:27:37.890] { [01:27:37.890] base::local({ [01:27:37.890] has_future <- base::requireNamespace("future", [01:27:37.890] quietly = TRUE) [01:27:37.890] if (has_future) { [01:27:37.890] ns <- base::getNamespace("future") [01:27:37.890] version <- ns[[".package"]][["version"]] [01:27:37.890] if (is.null(version)) [01:27:37.890] version <- utils::packageVersion("future") [01:27:37.890] } [01:27:37.890] else { [01:27:37.890] version <- NULL [01:27:37.890] } [01:27:37.890] if (!has_future || version < "1.8.0") { [01:27:37.890] info <- base::c(r_version = base::gsub("R version ", [01:27:37.890] "", base::R.version$version.string), [01:27:37.890] platform = base::sprintf("%s (%s-bit)", [01:27:37.890] base::R.version$platform, 8 * [01:27:37.890] base::.Machine$sizeof.pointer), [01:27:37.890] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:37.890] "release", "version")], collapse = " "), [01:27:37.890] hostname = base::Sys.info()[["nodename"]]) [01:27:37.890] info <- base::sprintf("%s: %s", base::names(info), [01:27:37.890] info) [01:27:37.890] info <- base::paste(info, collapse = "; ") [01:27:37.890] if (!has_future) { [01:27:37.890] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:37.890] info) [01:27:37.890] } [01:27:37.890] else { [01:27:37.890] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:37.890] info, version) [01:27:37.890] } [01:27:37.890] base::stop(msg) [01:27:37.890] } [01:27:37.890] }) [01:27:37.890] } [01:27:37.890] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:37.890] base::options(mc.cores = 1L) [01:27:37.890] } [01:27:37.890] base::local({ [01:27:37.890] for (pkg in "future") { [01:27:37.890] base::loadNamespace(pkg) [01:27:37.890] base::library(pkg, character.only = TRUE) [01:27:37.890] } [01:27:37.890] }) [01:27:37.890] } [01:27:37.890] options(future.plan = NULL) [01:27:37.890] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.890] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:37.890] } [01:27:37.890] ...future.workdir <- getwd() [01:27:37.890] } [01:27:37.890] ...future.oldOptions <- base::as.list(base::.Options) [01:27:37.890] ...future.oldEnvVars <- base::Sys.getenv() [01:27:37.890] } [01:27:37.890] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:37.890] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:37.890] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:37.890] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:37.890] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:37.890] future.stdout.windows.reencode = NULL, width = 80L) [01:27:37.890] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:37.890] base::names(...future.oldOptions)) [01:27:37.890] } [01:27:37.890] if (FALSE) { [01:27:37.890] } [01:27:37.890] else { [01:27:37.890] if (TRUE) { [01:27:37.890] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:37.890] open = "w") [01:27:37.890] } [01:27:37.890] else { [01:27:37.890] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:37.890] windows = "NUL", "/dev/null"), open = "w") [01:27:37.890] } [01:27:37.890] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:37.890] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:37.890] base::sink(type = "output", split = FALSE) [01:27:37.890] base::close(...future.stdout) [01:27:37.890] }, add = TRUE) [01:27:37.890] } [01:27:37.890] ...future.frame <- base::sys.nframe() [01:27:37.890] ...future.conditions <- base::list() [01:27:37.890] ...future.rng <- base::globalenv()$.Random.seed [01:27:37.890] if (FALSE) { [01:27:37.890] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:37.890] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:37.890] } [01:27:37.890] ...future.result <- base::tryCatch({ [01:27:37.890] base::withCallingHandlers({ [01:27:37.890] ...future.value <- base::withVisible(base::local({ [01:27:37.890] ...future.makeSendCondition <- base::local({ [01:27:37.890] sendCondition <- NULL [01:27:37.890] function(frame = 1L) { [01:27:37.890] if (is.function(sendCondition)) [01:27:37.890] return(sendCondition) [01:27:37.890] ns <- getNamespace("parallel") [01:27:37.890] if (exists("sendData", mode = "function", [01:27:37.890] envir = ns)) { [01:27:37.890] parallel_sendData <- get("sendData", mode = "function", [01:27:37.890] envir = ns) [01:27:37.890] envir <- sys.frame(frame) [01:27:37.890] master <- NULL [01:27:37.890] while (!identical(envir, .GlobalEnv) && [01:27:37.890] !identical(envir, emptyenv())) { [01:27:37.890] if (exists("master", mode = "list", envir = envir, [01:27:37.890] inherits = FALSE)) { [01:27:37.890] master <- get("master", mode = "list", [01:27:37.890] envir = envir, inherits = FALSE) [01:27:37.890] if (inherits(master, c("SOCKnode", [01:27:37.890] "SOCK0node"))) { [01:27:37.890] sendCondition <<- function(cond) { [01:27:37.890] data <- list(type = "VALUE", value = cond, [01:27:37.890] success = TRUE) [01:27:37.890] parallel_sendData(master, data) [01:27:37.890] } [01:27:37.890] return(sendCondition) [01:27:37.890] } [01:27:37.890] } [01:27:37.890] frame <- frame + 1L [01:27:37.890] envir <- sys.frame(frame) [01:27:37.890] } [01:27:37.890] } [01:27:37.890] sendCondition <<- function(cond) NULL [01:27:37.890] } [01:27:37.890] }) [01:27:37.890] withCallingHandlers({ [01:27:37.890] { [01:27:37.890] b <- 1 [01:27:37.890] c %<-% 2 [01:27:37.890] d <- 3 [01:27:37.890] 4 %->% e [01:27:37.890] b + c + d + e [01:27:37.890] } [01:27:37.890] }, immediateCondition = function(cond) { [01:27:37.890] sendCondition <- ...future.makeSendCondition() [01:27:37.890] sendCondition(cond) [01:27:37.890] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.890] { [01:27:37.890] inherits <- base::inherits [01:27:37.890] invokeRestart <- base::invokeRestart [01:27:37.890] is.null <- base::is.null [01:27:37.890] muffled <- FALSE [01:27:37.890] if (inherits(cond, "message")) { [01:27:37.890] muffled <- grepl(pattern, "muffleMessage") [01:27:37.890] if (muffled) [01:27:37.890] invokeRestart("muffleMessage") [01:27:37.890] } [01:27:37.890] else if (inherits(cond, "warning")) { [01:27:37.890] muffled <- grepl(pattern, "muffleWarning") [01:27:37.890] if (muffled) [01:27:37.890] invokeRestart("muffleWarning") [01:27:37.890] } [01:27:37.890] else if (inherits(cond, "condition")) { [01:27:37.890] if (!is.null(pattern)) { [01:27:37.890] computeRestarts <- base::computeRestarts [01:27:37.890] grepl <- base::grepl [01:27:37.890] restarts <- computeRestarts(cond) [01:27:37.890] for (restart in restarts) { [01:27:37.890] name <- restart$name [01:27:37.890] if (is.null(name)) [01:27:37.890] next [01:27:37.890] if (!grepl(pattern, name)) [01:27:37.890] next [01:27:37.890] invokeRestart(restart) [01:27:37.890] muffled <- TRUE [01:27:37.890] break [01:27:37.890] } [01:27:37.890] } [01:27:37.890] } [01:27:37.890] invisible(muffled) [01:27:37.890] } [01:27:37.890] muffleCondition(cond) [01:27:37.890] }) [01:27:37.890] })) [01:27:37.890] future::FutureResult(value = ...future.value$value, [01:27:37.890] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.890] ...future.rng), globalenv = if (FALSE) [01:27:37.890] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:37.890] ...future.globalenv.names)) [01:27:37.890] else NULL, started = ...future.startTime, version = "1.8") [01:27:37.890] }, condition = base::local({ [01:27:37.890] c <- base::c [01:27:37.890] inherits <- base::inherits [01:27:37.890] invokeRestart <- base::invokeRestart [01:27:37.890] length <- base::length [01:27:37.890] list <- base::list [01:27:37.890] seq.int <- base::seq.int [01:27:37.890] signalCondition <- base::signalCondition [01:27:37.890] sys.calls <- base::sys.calls [01:27:37.890] `[[` <- base::`[[` [01:27:37.890] `+` <- base::`+` [01:27:37.890] `<<-` <- base::`<<-` [01:27:37.890] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:37.890] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:37.890] 3L)] [01:27:37.890] } [01:27:37.890] function(cond) { [01:27:37.890] is_error <- inherits(cond, "error") [01:27:37.890] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:37.890] NULL) [01:27:37.890] if (is_error) { [01:27:37.890] sessionInformation <- function() { [01:27:37.890] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:37.890] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:37.890] search = base::search(), system = base::Sys.info()) [01:27:37.890] } [01:27:37.890] ...future.conditions[[length(...future.conditions) + [01:27:37.890] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:37.890] cond$call), session = sessionInformation(), [01:27:37.890] timestamp = base::Sys.time(), signaled = 0L) [01:27:37.890] signalCondition(cond) [01:27:37.890] } [01:27:37.890] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:37.890] "immediateCondition"))) { [01:27:37.890] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:37.890] ...future.conditions[[length(...future.conditions) + [01:27:37.890] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:37.890] if (TRUE && !signal) { [01:27:37.890] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.890] { [01:27:37.890] inherits <- base::inherits [01:27:37.890] invokeRestart <- base::invokeRestart [01:27:37.890] is.null <- base::is.null [01:27:37.890] muffled <- FALSE [01:27:37.890] if (inherits(cond, "message")) { [01:27:37.890] muffled <- grepl(pattern, "muffleMessage") [01:27:37.890] if (muffled) [01:27:37.890] invokeRestart("muffleMessage") [01:27:37.890] } [01:27:37.890] else if (inherits(cond, "warning")) { [01:27:37.890] muffled <- grepl(pattern, "muffleWarning") [01:27:37.890] if (muffled) [01:27:37.890] invokeRestart("muffleWarning") [01:27:37.890] } [01:27:37.890] else if (inherits(cond, "condition")) { [01:27:37.890] if (!is.null(pattern)) { [01:27:37.890] computeRestarts <- base::computeRestarts [01:27:37.890] grepl <- base::grepl [01:27:37.890] restarts <- computeRestarts(cond) [01:27:37.890] for (restart in restarts) { [01:27:37.890] name <- restart$name [01:27:37.890] if (is.null(name)) [01:27:37.890] next [01:27:37.890] if (!grepl(pattern, name)) [01:27:37.890] next [01:27:37.890] invokeRestart(restart) [01:27:37.890] muffled <- TRUE [01:27:37.890] break [01:27:37.890] } [01:27:37.890] } [01:27:37.890] } [01:27:37.890] invisible(muffled) [01:27:37.890] } [01:27:37.890] muffleCondition(cond, pattern = "^muffle") [01:27:37.890] } [01:27:37.890] } [01:27:37.890] else { [01:27:37.890] if (TRUE) { [01:27:37.890] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.890] { [01:27:37.890] inherits <- base::inherits [01:27:37.890] invokeRestart <- base::invokeRestart [01:27:37.890] is.null <- base::is.null [01:27:37.890] muffled <- FALSE [01:27:37.890] if (inherits(cond, "message")) { [01:27:37.890] muffled <- grepl(pattern, "muffleMessage") [01:27:37.890] if (muffled) [01:27:37.890] invokeRestart("muffleMessage") [01:27:37.890] } [01:27:37.890] else if (inherits(cond, "warning")) { [01:27:37.890] muffled <- grepl(pattern, "muffleWarning") [01:27:37.890] if (muffled) [01:27:37.890] invokeRestart("muffleWarning") [01:27:37.890] } [01:27:37.890] else if (inherits(cond, "condition")) { [01:27:37.890] if (!is.null(pattern)) { [01:27:37.890] computeRestarts <- base::computeRestarts [01:27:37.890] grepl <- base::grepl [01:27:37.890] restarts <- computeRestarts(cond) [01:27:37.890] for (restart in restarts) { [01:27:37.890] name <- restart$name [01:27:37.890] if (is.null(name)) [01:27:37.890] next [01:27:37.890] if (!grepl(pattern, name)) [01:27:37.890] next [01:27:37.890] invokeRestart(restart) [01:27:37.890] muffled <- TRUE [01:27:37.890] break [01:27:37.890] } [01:27:37.890] } [01:27:37.890] } [01:27:37.890] invisible(muffled) [01:27:37.890] } [01:27:37.890] muffleCondition(cond, pattern = "^muffle") [01:27:37.890] } [01:27:37.890] } [01:27:37.890] } [01:27:37.890] })) [01:27:37.890] }, error = function(ex) { [01:27:37.890] base::structure(base::list(value = NULL, visible = NULL, [01:27:37.890] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.890] ...future.rng), started = ...future.startTime, [01:27:37.890] finished = Sys.time(), session_uuid = NA_character_, [01:27:37.890] version = "1.8"), class = "FutureResult") [01:27:37.890] }, finally = { [01:27:37.890] if (!identical(...future.workdir, getwd())) [01:27:37.890] setwd(...future.workdir) [01:27:37.890] { [01:27:37.890] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:37.890] ...future.oldOptions$nwarnings <- NULL [01:27:37.890] } [01:27:37.890] base::options(...future.oldOptions) [01:27:37.890] if (.Platform$OS.type == "windows") { [01:27:37.890] old_names <- names(...future.oldEnvVars) [01:27:37.890] envs <- base::Sys.getenv() [01:27:37.890] names <- names(envs) [01:27:37.890] common <- intersect(names, old_names) [01:27:37.890] added <- setdiff(names, old_names) [01:27:37.890] removed <- setdiff(old_names, names) [01:27:37.890] changed <- common[...future.oldEnvVars[common] != [01:27:37.890] envs[common]] [01:27:37.890] NAMES <- toupper(changed) [01:27:37.890] args <- list() [01:27:37.890] for (kk in seq_along(NAMES)) { [01:27:37.890] name <- changed[[kk]] [01:27:37.890] NAME <- NAMES[[kk]] [01:27:37.890] if (name != NAME && is.element(NAME, old_names)) [01:27:37.890] next [01:27:37.890] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.890] } [01:27:37.890] NAMES <- toupper(added) [01:27:37.890] for (kk in seq_along(NAMES)) { [01:27:37.890] name <- added[[kk]] [01:27:37.890] NAME <- NAMES[[kk]] [01:27:37.890] if (name != NAME && is.element(NAME, old_names)) [01:27:37.890] next [01:27:37.890] args[[name]] <- "" [01:27:37.890] } [01:27:37.890] NAMES <- toupper(removed) [01:27:37.890] for (kk in seq_along(NAMES)) { [01:27:37.890] name <- removed[[kk]] [01:27:37.890] NAME <- NAMES[[kk]] [01:27:37.890] if (name != NAME && is.element(NAME, old_names)) [01:27:37.890] next [01:27:37.890] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.890] } [01:27:37.890] if (length(args) > 0) [01:27:37.890] base::do.call(base::Sys.setenv, args = args) [01:27:37.890] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:37.890] } [01:27:37.890] else { [01:27:37.890] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:37.890] } [01:27:37.890] { [01:27:37.890] if (base::length(...future.futureOptionsAdded) > [01:27:37.890] 0L) { [01:27:37.890] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:37.890] base::names(opts) <- ...future.futureOptionsAdded [01:27:37.890] base::options(opts) [01:27:37.890] } [01:27:37.890] { [01:27:37.890] { [01:27:37.890] base::options(mc.cores = ...future.mc.cores.old) [01:27:37.890] NULL [01:27:37.890] } [01:27:37.890] options(future.plan = NULL) [01:27:37.890] if (is.na(NA_character_)) [01:27:37.890] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.890] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:37.890] future::plan(list(function (..., workers = availableCores(), [01:27:37.890] lazy = FALSE, rscript_libs = .libPaths(), [01:27:37.890] envir = parent.frame()) [01:27:37.890] { [01:27:37.890] if (is.function(workers)) [01:27:37.890] workers <- workers() [01:27:37.890] workers <- structure(as.integer(workers), [01:27:37.890] class = class(workers)) [01:27:37.890] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:37.890] workers >= 1) [01:27:37.890] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:37.890] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:37.890] } [01:27:37.890] future <- MultisessionFuture(..., workers = workers, [01:27:37.890] lazy = lazy, rscript_libs = rscript_libs, [01:27:37.890] envir = envir) [01:27:37.890] if (!future$lazy) [01:27:37.890] future <- run(future) [01:27:37.890] invisible(future) [01:27:37.890] }), .cleanup = FALSE, .init = FALSE) [01:27:37.890] } [01:27:37.890] } [01:27:37.890] } [01:27:37.890] }) [01:27:37.890] if (TRUE) { [01:27:37.890] base::sink(type = "output", split = FALSE) [01:27:37.890] if (TRUE) { [01:27:37.890] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:37.890] } [01:27:37.890] else { [01:27:37.890] ...future.result["stdout"] <- base::list(NULL) [01:27:37.890] } [01:27:37.890] base::close(...future.stdout) [01:27:37.890] ...future.stdout <- NULL [01:27:37.890] } [01:27:37.890] ...future.result$conditions <- ...future.conditions [01:27:37.890] ...future.result$finished <- base::Sys.time() [01:27:37.890] ...future.result [01:27:37.890] } [01:27:37.897] MultisessionFuture started [01:27:37.898] - Launch lazy future ... done [01:27:37.898] run() for 'MultisessionFuture' ... done [01:27:37.899] result() for ClusterFuture ... [01:27:37.899] receiveMessageFromWorker() for ClusterFuture ... [01:27:37.899] - Validating connection of MultisessionFuture [01:27:37.932] - received message: FutureResult [01:27:37.932] - Received FutureResult [01:27:37.932] - Erased future from FutureRegistry [01:27:37.933] result() for ClusterFuture ... [01:27:37.933] - result already collected: FutureResult [01:27:37.933] result() for ClusterFuture ... done [01:27:37.933] receiveMessageFromWorker() for ClusterFuture ... done [01:27:37.933] result() for ClusterFuture ... done [01:27:37.934] result() for ClusterFuture ... [01:27:37.934] - result already collected: FutureResult [01:27:37.934] result() for ClusterFuture ... done a = 10 [01:27:37.935] getGlobalsAndPackages() ... [01:27:37.935] Searching for globals... [01:27:37.936] - globals found: [3] '{', '+', 'a' [01:27:37.936] Searching for globals ... DONE [01:27:37.936] Resolving globals: FALSE [01:27:37.937] The total size of the 1 globals is 56 bytes (56 bytes) [01:27:37.937] The total size of the 1 globals exported for future expression ('{; a + 1; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (56 bytes of class 'numeric') [01:27:37.938] - globals: [1] 'a' [01:27:37.938] [01:27:37.938] getGlobalsAndPackages() ... DONE [01:27:37.938] run() for 'Future' ... [01:27:37.939] - state: 'created' [01:27:37.939] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [01:27:37.954] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [01:27:37.954] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [01:27:37.954] - Field: 'node' [01:27:37.954] - Field: 'label' [01:27:37.955] - Field: 'local' [01:27:37.955] - Field: 'owner' [01:27:37.955] - Field: 'envir' [01:27:37.955] - Field: 'workers' [01:27:37.955] - Field: 'packages' [01:27:37.956] - Field: 'gc' [01:27:37.956] - Field: 'conditions' [01:27:37.956] - Field: 'persistent' [01:27:37.956] - Field: 'expr' [01:27:37.956] - Field: 'uuid' [01:27:37.956] - Field: 'seed' [01:27:37.957] - Field: 'version' [01:27:37.957] - Field: 'result' [01:27:37.957] - Field: 'asynchronous' [01:27:37.957] - Field: 'calls' [01:27:37.957] - Field: 'globals' [01:27:37.958] - Field: 'stdout' [01:27:37.958] - Field: 'earlySignal' [01:27:37.958] - Field: 'lazy' [01:27:37.958] - Field: 'state' [01:27:37.958] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [01:27:37.958] - Launch lazy future ... [01:27:37.959] Packages needed by the future expression (n = 0): [01:27:37.959] Packages needed by future strategies (n = 0): [01:27:37.960] { [01:27:37.960] { [01:27:37.960] { [01:27:37.960] ...future.startTime <- base::Sys.time() [01:27:37.960] { [01:27:37.960] { [01:27:37.960] { [01:27:37.960] { [01:27:37.960] base::local({ [01:27:37.960] has_future <- base::requireNamespace("future", [01:27:37.960] quietly = TRUE) [01:27:37.960] if (has_future) { [01:27:37.960] ns <- base::getNamespace("future") [01:27:37.960] version <- ns[[".package"]][["version"]] [01:27:37.960] if (is.null(version)) [01:27:37.960] version <- utils::packageVersion("future") [01:27:37.960] } [01:27:37.960] else { [01:27:37.960] version <- NULL [01:27:37.960] } [01:27:37.960] if (!has_future || version < "1.8.0") { [01:27:37.960] info <- base::c(r_version = base::gsub("R version ", [01:27:37.960] "", base::R.version$version.string), [01:27:37.960] platform = base::sprintf("%s (%s-bit)", [01:27:37.960] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [01:27:37.960] os = base::paste(base::Sys.info()[base::c("sysname", [01:27:37.960] "release", "version")], collapse = " "), [01:27:37.960] hostname = base::Sys.info()[["nodename"]]) [01:27:37.960] info <- base::sprintf("%s: %s", base::names(info), [01:27:37.960] info) [01:27:37.960] info <- base::paste(info, collapse = "; ") [01:27:37.960] if (!has_future) { [01:27:37.960] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [01:27:37.960] info) [01:27:37.960] } [01:27:37.960] else { [01:27:37.960] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [01:27:37.960] info, version) [01:27:37.960] } [01:27:37.960] base::stop(msg) [01:27:37.960] } [01:27:37.960] }) [01:27:37.960] } [01:27:37.960] ...future.mc.cores.old <- base::getOption("mc.cores") [01:27:37.960] base::options(mc.cores = 1L) [01:27:37.960] } [01:27:37.960] options(future.plan = NULL) [01:27:37.960] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.960] future::plan("default", .cleanup = FALSE, .init = FALSE) [01:27:37.960] } [01:27:37.960] ...future.workdir <- getwd() [01:27:37.960] } [01:27:37.960] ...future.oldOptions <- base::as.list(base::.Options) [01:27:37.960] ...future.oldEnvVars <- base::Sys.getenv() [01:27:37.960] } [01:27:37.960] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [01:27:37.960] future.globals.maxSize = NULL, future.globals.method = NULL, [01:27:37.960] future.globals.onMissing = NULL, future.globals.onReference = NULL, [01:27:37.960] future.globals.resolve = NULL, future.resolve.recursive = NULL, [01:27:37.960] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [01:27:37.960] future.stdout.windows.reencode = NULL, width = 80L) [01:27:37.960] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [01:27:37.960] base::names(...future.oldOptions)) [01:27:37.960] } [01:27:37.960] if (FALSE) { [01:27:37.960] } [01:27:37.960] else { [01:27:37.960] if (TRUE) { [01:27:37.960] ...future.stdout <- base::rawConnection(base::raw(0L), [01:27:37.960] open = "w") [01:27:37.960] } [01:27:37.960] else { [01:27:37.960] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [01:27:37.960] windows = "NUL", "/dev/null"), open = "w") [01:27:37.960] } [01:27:37.960] base::sink(...future.stdout, type = "output", split = FALSE) [01:27:37.960] base::on.exit(if (!base::is.null(...future.stdout)) { [01:27:37.960] base::sink(type = "output", split = FALSE) [01:27:37.960] base::close(...future.stdout) [01:27:37.960] }, add = TRUE) [01:27:37.960] } [01:27:37.960] ...future.frame <- base::sys.nframe() [01:27:37.960] ...future.conditions <- base::list() [01:27:37.960] ...future.rng <- base::globalenv()$.Random.seed [01:27:37.960] if (FALSE) { [01:27:37.960] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [01:27:37.960] "...future.value", "...future.globalenv.names", ".Random.seed") [01:27:37.960] } [01:27:37.960] ...future.result <- base::tryCatch({ [01:27:37.960] base::withCallingHandlers({ [01:27:37.960] ...future.value <- base::withVisible(base::local({ [01:27:37.960] ...future.makeSendCondition <- base::local({ [01:27:37.960] sendCondition <- NULL [01:27:37.960] function(frame = 1L) { [01:27:37.960] if (is.function(sendCondition)) [01:27:37.960] return(sendCondition) [01:27:37.960] ns <- getNamespace("parallel") [01:27:37.960] if (exists("sendData", mode = "function", [01:27:37.960] envir = ns)) { [01:27:37.960] parallel_sendData <- get("sendData", mode = "function", [01:27:37.960] envir = ns) [01:27:37.960] envir <- sys.frame(frame) [01:27:37.960] master <- NULL [01:27:37.960] while (!identical(envir, .GlobalEnv) && [01:27:37.960] !identical(envir, emptyenv())) { [01:27:37.960] if (exists("master", mode = "list", envir = envir, [01:27:37.960] inherits = FALSE)) { [01:27:37.960] master <- get("master", mode = "list", [01:27:37.960] envir = envir, inherits = FALSE) [01:27:37.960] if (inherits(master, c("SOCKnode", [01:27:37.960] "SOCK0node"))) { [01:27:37.960] sendCondition <<- function(cond) { [01:27:37.960] data <- list(type = "VALUE", value = cond, [01:27:37.960] success = TRUE) [01:27:37.960] parallel_sendData(master, data) [01:27:37.960] } [01:27:37.960] return(sendCondition) [01:27:37.960] } [01:27:37.960] } [01:27:37.960] frame <- frame + 1L [01:27:37.960] envir <- sys.frame(frame) [01:27:37.960] } [01:27:37.960] } [01:27:37.960] sendCondition <<- function(cond) NULL [01:27:37.960] } [01:27:37.960] }) [01:27:37.960] withCallingHandlers({ [01:27:37.960] { [01:27:37.960] a + 1 [01:27:37.960] } [01:27:37.960] }, immediateCondition = function(cond) { [01:27:37.960] sendCondition <- ...future.makeSendCondition() [01:27:37.960] sendCondition(cond) [01:27:37.960] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.960] { [01:27:37.960] inherits <- base::inherits [01:27:37.960] invokeRestart <- base::invokeRestart [01:27:37.960] is.null <- base::is.null [01:27:37.960] muffled <- FALSE [01:27:37.960] if (inherits(cond, "message")) { [01:27:37.960] muffled <- grepl(pattern, "muffleMessage") [01:27:37.960] if (muffled) [01:27:37.960] invokeRestart("muffleMessage") [01:27:37.960] } [01:27:37.960] else if (inherits(cond, "warning")) { [01:27:37.960] muffled <- grepl(pattern, "muffleWarning") [01:27:37.960] if (muffled) [01:27:37.960] invokeRestart("muffleWarning") [01:27:37.960] } [01:27:37.960] else if (inherits(cond, "condition")) { [01:27:37.960] if (!is.null(pattern)) { [01:27:37.960] computeRestarts <- base::computeRestarts [01:27:37.960] grepl <- base::grepl [01:27:37.960] restarts <- computeRestarts(cond) [01:27:37.960] for (restart in restarts) { [01:27:37.960] name <- restart$name [01:27:37.960] if (is.null(name)) [01:27:37.960] next [01:27:37.960] if (!grepl(pattern, name)) [01:27:37.960] next [01:27:37.960] invokeRestart(restart) [01:27:37.960] muffled <- TRUE [01:27:37.960] break [01:27:37.960] } [01:27:37.960] } [01:27:37.960] } [01:27:37.960] invisible(muffled) [01:27:37.960] } [01:27:37.960] muffleCondition(cond) [01:27:37.960] }) [01:27:37.960] })) [01:27:37.960] future::FutureResult(value = ...future.value$value, [01:27:37.960] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.960] ...future.rng), globalenv = if (FALSE) [01:27:37.960] list(added = base::setdiff(base::names(base::.GlobalEnv), [01:27:37.960] ...future.globalenv.names)) [01:27:37.960] else NULL, started = ...future.startTime, version = "1.8") [01:27:37.960] }, condition = base::local({ [01:27:37.960] c <- base::c [01:27:37.960] inherits <- base::inherits [01:27:37.960] invokeRestart <- base::invokeRestart [01:27:37.960] length <- base::length [01:27:37.960] list <- base::list [01:27:37.960] seq.int <- base::seq.int [01:27:37.960] signalCondition <- base::signalCondition [01:27:37.960] sys.calls <- base::sys.calls [01:27:37.960] `[[` <- base::`[[` [01:27:37.960] `+` <- base::`+` [01:27:37.960] `<<-` <- base::`<<-` [01:27:37.960] sysCalls <- function(calls = sys.calls(), from = 1L) { [01:27:37.960] calls[seq.int(from = from + 12L, to = length(calls) - [01:27:37.960] 3L)] [01:27:37.960] } [01:27:37.960] function(cond) { [01:27:37.960] is_error <- inherits(cond, "error") [01:27:37.960] ignore <- !is_error && !is.null(NULL) && inherits(cond, [01:27:37.960] NULL) [01:27:37.960] if (is_error) { [01:27:37.960] sessionInformation <- function() { [01:27:37.960] list(r = base::R.Version(), locale = base::Sys.getlocale(), [01:27:37.960] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [01:27:37.960] search = base::search(), system = base::Sys.info()) [01:27:37.960] } [01:27:37.960] ...future.conditions[[length(...future.conditions) + [01:27:37.960] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [01:27:37.960] cond$call), session = sessionInformation(), [01:27:37.960] timestamp = base::Sys.time(), signaled = 0L) [01:27:37.960] signalCondition(cond) [01:27:37.960] } [01:27:37.960] else if (!ignore && TRUE && inherits(cond, c("condition", [01:27:37.960] "immediateCondition"))) { [01:27:37.960] signal <- TRUE && inherits(cond, "immediateCondition") [01:27:37.960] ...future.conditions[[length(...future.conditions) + [01:27:37.960] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [01:27:37.960] if (TRUE && !signal) { [01:27:37.960] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.960] { [01:27:37.960] inherits <- base::inherits [01:27:37.960] invokeRestart <- base::invokeRestart [01:27:37.960] is.null <- base::is.null [01:27:37.960] muffled <- FALSE [01:27:37.960] if (inherits(cond, "message")) { [01:27:37.960] muffled <- grepl(pattern, "muffleMessage") [01:27:37.960] if (muffled) [01:27:37.960] invokeRestart("muffleMessage") [01:27:37.960] } [01:27:37.960] else if (inherits(cond, "warning")) { [01:27:37.960] muffled <- grepl(pattern, "muffleWarning") [01:27:37.960] if (muffled) [01:27:37.960] invokeRestart("muffleWarning") [01:27:37.960] } [01:27:37.960] else if (inherits(cond, "condition")) { [01:27:37.960] if (!is.null(pattern)) { [01:27:37.960] computeRestarts <- base::computeRestarts [01:27:37.960] grepl <- base::grepl [01:27:37.960] restarts <- computeRestarts(cond) [01:27:37.960] for (restart in restarts) { [01:27:37.960] name <- restart$name [01:27:37.960] if (is.null(name)) [01:27:37.960] next [01:27:37.960] if (!grepl(pattern, name)) [01:27:37.960] next [01:27:37.960] invokeRestart(restart) [01:27:37.960] muffled <- TRUE [01:27:37.960] break [01:27:37.960] } [01:27:37.960] } [01:27:37.960] } [01:27:37.960] invisible(muffled) [01:27:37.960] } [01:27:37.960] muffleCondition(cond, pattern = "^muffle") [01:27:37.960] } [01:27:37.960] } [01:27:37.960] else { [01:27:37.960] if (TRUE) { [01:27:37.960] muffleCondition <- function (cond, pattern = "^muffle") [01:27:37.960] { [01:27:37.960] inherits <- base::inherits [01:27:37.960] invokeRestart <- base::invokeRestart [01:27:37.960] is.null <- base::is.null [01:27:37.960] muffled <- FALSE [01:27:37.960] if (inherits(cond, "message")) { [01:27:37.960] muffled <- grepl(pattern, "muffleMessage") [01:27:37.960] if (muffled) [01:27:37.960] invokeRestart("muffleMessage") [01:27:37.960] } [01:27:37.960] else if (inherits(cond, "warning")) { [01:27:37.960] muffled <- grepl(pattern, "muffleWarning") [01:27:37.960] if (muffled) [01:27:37.960] invokeRestart("muffleWarning") [01:27:37.960] } [01:27:37.960] else if (inherits(cond, "condition")) { [01:27:37.960] if (!is.null(pattern)) { [01:27:37.960] computeRestarts <- base::computeRestarts [01:27:37.960] grepl <- base::grepl [01:27:37.960] restarts <- computeRestarts(cond) [01:27:37.960] for (restart in restarts) { [01:27:37.960] name <- restart$name [01:27:37.960] if (is.null(name)) [01:27:37.960] next [01:27:37.960] if (!grepl(pattern, name)) [01:27:37.960] next [01:27:37.960] invokeRestart(restart) [01:27:37.960] muffled <- TRUE [01:27:37.960] break [01:27:37.960] } [01:27:37.960] } [01:27:37.960] } [01:27:37.960] invisible(muffled) [01:27:37.960] } [01:27:37.960] muffleCondition(cond, pattern = "^muffle") [01:27:37.960] } [01:27:37.960] } [01:27:37.960] } [01:27:37.960] })) [01:27:37.960] }, error = function(ex) { [01:27:37.960] base::structure(base::list(value = NULL, visible = NULL, [01:27:37.960] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [01:27:37.960] ...future.rng), started = ...future.startTime, [01:27:37.960] finished = Sys.time(), session_uuid = NA_character_, [01:27:37.960] version = "1.8"), class = "FutureResult") [01:27:37.960] }, finally = { [01:27:37.960] if (!identical(...future.workdir, getwd())) [01:27:37.960] setwd(...future.workdir) [01:27:37.960] { [01:27:37.960] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [01:27:37.960] ...future.oldOptions$nwarnings <- NULL [01:27:37.960] } [01:27:37.960] base::options(...future.oldOptions) [01:27:37.960] if (.Platform$OS.type == "windows") { [01:27:37.960] old_names <- names(...future.oldEnvVars) [01:27:37.960] envs <- base::Sys.getenv() [01:27:37.960] names <- names(envs) [01:27:37.960] common <- intersect(names, old_names) [01:27:37.960] added <- setdiff(names, old_names) [01:27:37.960] removed <- setdiff(old_names, names) [01:27:37.960] changed <- common[...future.oldEnvVars[common] != [01:27:37.960] envs[common]] [01:27:37.960] NAMES <- toupper(changed) [01:27:37.960] args <- list() [01:27:37.960] for (kk in seq_along(NAMES)) { [01:27:37.960] name <- changed[[kk]] [01:27:37.960] NAME <- NAMES[[kk]] [01:27:37.960] if (name != NAME && is.element(NAME, old_names)) [01:27:37.960] next [01:27:37.960] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.960] } [01:27:37.960] NAMES <- toupper(added) [01:27:37.960] for (kk in seq_along(NAMES)) { [01:27:37.960] name <- added[[kk]] [01:27:37.960] NAME <- NAMES[[kk]] [01:27:37.960] if (name != NAME && is.element(NAME, old_names)) [01:27:37.960] next [01:27:37.960] args[[name]] <- "" [01:27:37.960] } [01:27:37.960] NAMES <- toupper(removed) [01:27:37.960] for (kk in seq_along(NAMES)) { [01:27:37.960] name <- removed[[kk]] [01:27:37.960] NAME <- NAMES[[kk]] [01:27:37.960] if (name != NAME && is.element(NAME, old_names)) [01:27:37.960] next [01:27:37.960] args[[name]] <- ...future.oldEnvVars[[name]] [01:27:37.960] } [01:27:37.960] if (length(args) > 0) [01:27:37.960] base::do.call(base::Sys.setenv, args = args) [01:27:37.960] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [01:27:37.960] } [01:27:37.960] else { [01:27:37.960] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [01:27:37.960] } [01:27:37.960] { [01:27:37.960] if (base::length(...future.futureOptionsAdded) > [01:27:37.960] 0L) { [01:27:37.960] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [01:27:37.960] base::names(opts) <- ...future.futureOptionsAdded [01:27:37.960] base::options(opts) [01:27:37.960] } [01:27:37.960] { [01:27:37.960] { [01:27:37.960] base::options(mc.cores = ...future.mc.cores.old) [01:27:37.960] NULL [01:27:37.960] } [01:27:37.960] options(future.plan = NULL) [01:27:37.960] if (is.na(NA_character_)) [01:27:37.960] Sys.unsetenv("R_FUTURE_PLAN") [01:27:37.960] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [01:27:37.960] future::plan(list(function (..., workers = availableCores(), [01:27:37.960] lazy = FALSE, rscript_libs = .libPaths(), [01:27:37.960] envir = parent.frame()) [01:27:37.960] { [01:27:37.960] if (is.function(workers)) [01:27:37.960] workers <- workers() [01:27:37.960] workers <- structure(as.integer(workers), [01:27:37.960] class = class(workers)) [01:27:37.960] stop_if_not(length(workers) == 1, is.finite(workers), [01:27:37.960] workers >= 1) [01:27:37.960] if (workers == 1L && !inherits(workers, "AsIs")) { [01:27:37.960] return(sequential(..., lazy = TRUE, envir = envir)) [01:27:37.960] } [01:27:37.960] future <- MultisessionFuture(..., workers = workers, [01:27:37.960] lazy = lazy, rscript_libs = rscript_libs, [01:27:37.960] envir = envir) [01:27:37.960] if (!future$lazy) [01:27:37.960] future <- run(future) [01:27:37.960] invisible(future) [01:27:37.960] }), .cleanup = FALSE, .init = FALSE) [01:27:37.960] } [01:27:37.960] } [01:27:37.960] } [01:27:37.960] }) [01:27:37.960] if (TRUE) { [01:27:37.960] base::sink(type = "output", split = FALSE) [01:27:37.960] if (TRUE) { [01:27:37.960] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [01:27:37.960] } [01:27:37.960] else { [01:27:37.960] ...future.result["stdout"] <- base::list(NULL) [01:27:37.960] } [01:27:37.960] base::close(...future.stdout) [01:27:37.960] ...future.stdout <- NULL [01:27:37.960] } [01:27:37.960] ...future.result$conditions <- ...future.conditions [01:27:37.960] ...future.result$finished <- base::Sys.time() [01:27:37.960] ...future.result [01:27:37.960] } [01:27:37.966] Exporting 1 global objects (56 bytes) to cluster node #1 ... [01:27:37.966] Exporting 'a' (56 bytes) to cluster node #1 ... [01:27:37.966] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [01:27:37.967] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [01:27:37.967] MultisessionFuture started [01:27:37.967] - Launch lazy future ... done [01:27:37.968] run() for 'MultisessionFuture' ... done [01:27:37.968] result() for ClusterFuture ... [01:27:37.968] receiveMessageFromWorker() for ClusterFuture ... [01:27:37.968] - Validating connection of MultisessionFuture [01:27:37.984] - received message: FutureResult [01:27:37.985] - Received FutureResult [01:27:37.985] - Erased future from FutureRegistry [01:27:37.985] result() for ClusterFuture ... [01:27:37.985] - result already collected: FutureResult [01:27:37.985] result() for ClusterFuture ... done [01:27:37.986] receiveMessageFromWorker() for ClusterFuture ... done [01:27:37.986] result() for ClusterFuture ... done [01:27:37.986] result() for ClusterFuture ... [01:27:37.986] - result already collected: FutureResult [01:27:37.986] result() for ClusterFuture ... done b = 11 *** %<-% with 'multisession' futures ... DONE Testing with 2 cores ... DONE > > message("*** %<-% ... DONE") *** %<-% ... DONE > > source("incl/end.R") [01:27:37.988] plan(): Setting new future strategy stack: [01:27:37.988] List of future strategies: [01:27:37.988] 1. FutureStrategy: [01:27:37.988] - args: function (..., envir = parent.frame(), workers = "") [01:27:37.988] - tweaked: FALSE [01:27:37.988] - call: future::plan(oplan) [01:27:37.989] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=204] '!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', 'OCL', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', '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_MBCS_CONVERSION_FAILURE_', '_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_NOTE_LOST_BRACES_', '_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_', '__R_CHECK_DOC_FILES_NOTE_IF_ALL_SPECIAL__', '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 1.46 0.04 2.56