R Under development (unstable) (2024-03-25 r86192 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > source("incl/start.R") [17:27:25.219] plan(): Setting new future strategy stack: [17:27:25.220] List of future strategies: [17:27:25.220] 1. sequential: [17:27:25.220] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.220] - tweaked: FALSE [17:27:25.220] - call: future::plan("sequential") [17:27:25.235] plan(): nbrOfWorkers() = 1 > > strategies <- supportedStrategies() > > message("*** Nested futures ...") *** Nested futures ... > > for (strategy1 in strategies) { + ## Speed up CRAN checks: Skip on CRAN Windows 32-bit + if (!fullTest && isWin32) next + + for (strategy2 in strategies) { + message(sprintf("- plan(list('%s', '%s')) ...", strategy1, strategy2)) + plan(list(a = strategy1, b = strategy2)) + + nested <- plan("list") + stopifnot( + length(nested) == 2L, + all(names(nested) == c("a", "b")), + inherits(plan("next"), strategy1) + ) + + x %<-% { + a <- 1L + + ## IMPORTANT: Use future::plan() - not just plan() - otherwise + ## we're exporting the plan() function including its local stack! + plan_a <- unclass(future::plan("list")) + nested_a <- nested[-1] + + stopifnot( + length(nested_a) == 1L, + length(plan_a) == 1L, + inherits(plan_a[[1]], "future"), + inherits(future::plan("next"), strategy2) + ) + + ## Attribute 'init' is modified at run time + for (kk in seq_along(plan_a)) attr(plan_a[[kk]], "init") <- NULL + for (kk in seq_along(nested_a)) attr(nested_a[[kk]], "init") <- NULL + stopifnot(all.equal(plan_a, nested_a)) + + y %<-% { + b <- 2L + + ## IMPORTANT: Use future::plan() - not just plan() - otherwise + ## we're exporting the plan() function including its local stack! + plan_b <- future::plan("list") + nested_b <- nested_a[-1] + + stopifnot( + length(nested_b) == 0L, + length(plan_b) == 1L, + inherits(plan_b[[1]], "future"), + inherits(future::plan("next"), "sequential") + ) + + list(a = a, nested_a = nested_a, plan_a = plan_a, + b = b, nested_b = nested_b, plan_b = plan_b) + } + y + } + + str(x) + + stopifnot( + length(x) == 3 * length(nested), + all(names(x) == c("a", "nested_a", "plan_a", + "b", "nested_b", "plan_b")), + + x$a == 1L, + length(x$nested_a) == 1L, + is.list(x$plan_a), + length(x$plan_a) == 1L, + inherits(x$plan_a[[1]], "future"), + + x$b == 2L, + length(x$nested_b) == 0L, + is.list(x$plan_b), + length(x$plan_b) == 1L, + inherits(x$plan_b[[1]], "future"), + inherits(x$plan_b[[1]], "sequential") + ) + + ## Attribute 'init' is modified at run time + for (kk in seq_along(x$plan_a)) attr(x$plan_a[[kk]], "init") <- NULL + for (kk in seq_along(nested)) attr(nested[[kk]], "init") <- NULL + stopifnot(all.equal(x$plan_a, nested[-1L])) + + rm(list = c("nested", "x")) + + + ## Nested futures and globals + ## In future (<= 1.7.0), the below would produce an error saying + ## "Failed to locate global object in the relevant environments: 'a'" + ## Related to https://github.com/HenrikBengtsson/globals/issues/35 + data <- data.frame(a = 1:3, b = 3:1) + y_truth <- subset(data, a == 2) + f <- future({ + value(future( subset(data, a == 2) )) + }) + y <- value(f) + stopifnot(identical(y, y_truth)) + + message(sprintf("- plan(list('%s', '%s')) ... DONE", strategy1, strategy2)) + } + } - plan(list('sequential', 'sequential')) ... [17:27:25.297] plan(): Setting new future strategy stack: [17:27:25.298] List of future strategies: [17:27:25.298] 1. sequential: [17:27:25.298] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.298] - tweaked: FALSE [17:27:25.298] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.298] 2. sequential: [17:27:25.298] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.298] - tweaked: FALSE [17:27:25.298] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.311] plan(): nbrOfWorkers() = 1 [17:27:25.312] getGlobalsAndPackages() ... [17:27:25.312] Searching for globals... [17:27:25.340] - globals found: [21] '{', '<-', 'unclass', '::', '[', 'nested', '-', 'stopifnot', '==', 'length', 'inherits', '[[', 'strategy2', 'for', 'seq_along', 'attr', 'attr<-', '[[<-', 'all.equal', 'list', '%<-%' [17:27:25.341] Searching for globals ... DONE [17:27:25.341] Resolving globals: FALSE [17:27:25.343] The total size of the 2 globals is 22.60 KiB (23144 bytes) [17:27:25.343] The total size of the 2 globals exported for future expression ('{; a <- 1L; plan_a <- unclass(future::plan("list")); nested_a <- nested[-1]; stopifnot(length(nested_a) == 1L, length(plan_a) == 1L, inherits(plan_a[[1]],; "future"), inherits(future::plan("next"), strategy2)); ...; }; y; }') is 22.60 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'nested' (22.48 KiB of class 'list') and 'strategy2' (120 bytes of class 'character') [17:27:25.344] - globals: [2] 'nested', 'strategy2' [17:27:25.344] - packages: [1] 'future' [17:27:25.344] getGlobalsAndPackages() ... DONE [17:27:25.345] run() for 'Future' ... [17:27:25.345] - state: 'created' [17:27:25.345] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:25.346] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:25.346] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:25.346] - Field: 'label' [17:27:25.346] - Field: 'local' [17:27:25.346] - Field: 'owner' [17:27:25.347] - Field: 'envir' [17:27:25.347] - Field: 'packages' [17:27:25.347] - Field: 'gc' [17:27:25.347] - Field: 'conditions' [17:27:25.347] - Field: 'expr' [17:27:25.347] - Field: 'uuid' [17:27:25.348] - Field: 'seed' [17:27:25.348] - Field: 'version' [17:27:25.348] - Field: 'result' [17:27:25.348] - Field: 'asynchronous' [17:27:25.348] - Field: 'calls' [17:27:25.348] - Field: 'globals' [17:27:25.349] - Field: 'stdout' [17:27:25.349] - Field: 'earlySignal' [17:27:25.349] - Field: 'lazy' [17:27:25.349] - Field: 'state' [17:27:25.349] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:25.350] - Launch lazy future ... [17:27:25.350] Packages needed by the future expression (n = 1): 'future' [17:27:25.351] Packages needed by future strategies (n = 1): 'future' [17:27:25.352] { [17:27:25.352] { [17:27:25.352] { [17:27:25.352] ...future.startTime <- base::Sys.time() [17:27:25.352] { [17:27:25.352] { [17:27:25.352] { [17:27:25.352] { [17:27:25.352] base::local({ [17:27:25.352] has_future <- base::requireNamespace("future", [17:27:25.352] quietly = TRUE) [17:27:25.352] if (has_future) { [17:27:25.352] ns <- base::getNamespace("future") [17:27:25.352] version <- ns[[".package"]][["version"]] [17:27:25.352] if (is.null(version)) [17:27:25.352] version <- utils::packageVersion("future") [17:27:25.352] } [17:27:25.352] else { [17:27:25.352] version <- NULL [17:27:25.352] } [17:27:25.352] if (!has_future || version < "1.8.0") { [17:27:25.352] info <- base::c(r_version = base::gsub("R version ", [17:27:25.352] "", base::R.version$version.string), [17:27:25.352] platform = base::sprintf("%s (%s-bit)", [17:27:25.352] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:25.352] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:25.352] "release", "version")], collapse = " "), [17:27:25.352] hostname = base::Sys.info()[["nodename"]]) [17:27:25.352] info <- base::sprintf("%s: %s", base::names(info), [17:27:25.352] info) [17:27:25.352] info <- base::paste(info, collapse = "; ") [17:27:25.352] if (!has_future) { [17:27:25.352] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:25.352] info) [17:27:25.352] } [17:27:25.352] else { [17:27:25.352] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:25.352] info, version) [17:27:25.352] } [17:27:25.352] base::stop(msg) [17:27:25.352] } [17:27:25.352] }) [17:27:25.352] } [17:27:25.352] base::local({ [17:27:25.352] for (pkg in "future") { [17:27:25.352] base::loadNamespace(pkg) [17:27:25.352] base::library(pkg, character.only = TRUE) [17:27:25.352] } [17:27:25.352] }) [17:27:25.352] } [17:27:25.352] ...future.strategy.old <- future::plan("list") [17:27:25.352] options(future.plan = NULL) [17:27:25.352] Sys.unsetenv("R_FUTURE_PLAN") [17:27:25.352] future::plan(list(b = function (..., envir = parent.frame()) [17:27:25.352] { [17:27:25.352] future <- SequentialFuture(..., envir = envir) [17:27:25.352] if (!future$lazy) [17:27:25.352] future <- run(future) [17:27:25.352] invisible(future) [17:27:25.352] }), .cleanup = FALSE, .init = FALSE) [17:27:25.352] } [17:27:25.352] ...future.workdir <- getwd() [17:27:25.352] } [17:27:25.352] ...future.oldOptions <- base::as.list(base::.Options) [17:27:25.352] ...future.oldEnvVars <- base::Sys.getenv() [17:27:25.352] } [17:27:25.352] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:25.352] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:25.352] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:25.352] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:25.352] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:25.352] future.stdout.windows.reencode = NULL, width = 80L) [17:27:25.352] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:25.352] base::names(...future.oldOptions)) [17:27:25.352] } [17:27:25.352] if (FALSE) { [17:27:25.352] } [17:27:25.352] else { [17:27:25.352] if (TRUE) { [17:27:25.352] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:25.352] open = "w") [17:27:25.352] } [17:27:25.352] else { [17:27:25.352] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:25.352] windows = "NUL", "/dev/null"), open = "w") [17:27:25.352] } [17:27:25.352] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:25.352] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:25.352] base::sink(type = "output", split = FALSE) [17:27:25.352] base::close(...future.stdout) [17:27:25.352] }, add = TRUE) [17:27:25.352] } [17:27:25.352] ...future.frame <- base::sys.nframe() [17:27:25.352] ...future.conditions <- base::list() [17:27:25.352] ...future.rng <- base::globalenv()$.Random.seed [17:27:25.352] if (FALSE) { [17:27:25.352] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:25.352] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:25.352] } [17:27:25.352] ...future.result <- base::tryCatch({ [17:27:25.352] base::withCallingHandlers({ [17:27:25.352] ...future.value <- base::withVisible(base::local({ [17:27:25.352] a <- 1L [17:27:25.352] plan_a <- unclass(future::plan("list")) [17:27:25.352] nested_a <- nested[-1] [17:27:25.352] stopifnot(length(nested_a) == 1L, length(plan_a) == [17:27:25.352] 1L, inherits(plan_a[[1]], "future"), inherits(future::plan("next"), [17:27:25.352] strategy2)) [17:27:25.352] for (kk in seq_along(plan_a)) attr(plan_a[[kk]], [17:27:25.352] "init") <- NULL [17:27:25.352] for (kk in seq_along(nested_a)) attr(nested_a[[kk]], [17:27:25.352] "init") <- NULL [17:27:25.352] stopifnot(all.equal(plan_a, nested_a)) [17:27:25.352] y %<-% { [17:27:25.352] b <- 2L [17:27:25.352] plan_b <- future::plan("list") [17:27:25.352] nested_b <- nested_a[-1] [17:27:25.352] stopifnot(length(nested_b) == 0L, length(plan_b) == [17:27:25.352] 1L, inherits(plan_b[[1]], "future"), inherits(future::plan("next"), [17:27:25.352] "sequential")) [17:27:25.352] list(a = a, nested_a = nested_a, plan_a = plan_a, [17:27:25.352] b = b, nested_b = nested_b, plan_b = plan_b) [17:27:25.352] } [17:27:25.352] y [17:27:25.352] })) [17:27:25.352] future::FutureResult(value = ...future.value$value, [17:27:25.352] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:25.352] ...future.rng), globalenv = if (FALSE) [17:27:25.352] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:25.352] ...future.globalenv.names)) [17:27:25.352] else NULL, started = ...future.startTime, version = "1.8") [17:27:25.352] }, condition = base::local({ [17:27:25.352] c <- base::c [17:27:25.352] inherits <- base::inherits [17:27:25.352] invokeRestart <- base::invokeRestart [17:27:25.352] length <- base::length [17:27:25.352] list <- base::list [17:27:25.352] seq.int <- base::seq.int [17:27:25.352] signalCondition <- base::signalCondition [17:27:25.352] sys.calls <- base::sys.calls [17:27:25.352] `[[` <- base::`[[` [17:27:25.352] `+` <- base::`+` [17:27:25.352] `<<-` <- base::`<<-` [17:27:25.352] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:25.352] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:25.352] 3L)] [17:27:25.352] } [17:27:25.352] function(cond) { [17:27:25.352] is_error <- inherits(cond, "error") [17:27:25.352] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:25.352] NULL) [17:27:25.352] if (is_error) { [17:27:25.352] sessionInformation <- function() { [17:27:25.352] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:25.352] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:25.352] search = base::search(), system = base::Sys.info()) [17:27:25.352] } [17:27:25.352] ...future.conditions[[length(...future.conditions) + [17:27:25.352] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:25.352] cond$call), session = sessionInformation(), [17:27:25.352] timestamp = base::Sys.time(), signaled = 0L) [17:27:25.352] signalCondition(cond) [17:27:25.352] } [17:27:25.352] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:25.352] "immediateCondition"))) { [17:27:25.352] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:25.352] ...future.conditions[[length(...future.conditions) + [17:27:25.352] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:25.352] if (TRUE && !signal) { [17:27:25.352] muffleCondition <- function (cond, pattern = "^muffle") [17:27:25.352] { [17:27:25.352] inherits <- base::inherits [17:27:25.352] invokeRestart <- base::invokeRestart [17:27:25.352] is.null <- base::is.null [17:27:25.352] muffled <- FALSE [17:27:25.352] if (inherits(cond, "message")) { [17:27:25.352] muffled <- grepl(pattern, "muffleMessage") [17:27:25.352] if (muffled) [17:27:25.352] invokeRestart("muffleMessage") [17:27:25.352] } [17:27:25.352] else if (inherits(cond, "warning")) { [17:27:25.352] muffled <- grepl(pattern, "muffleWarning") [17:27:25.352] if (muffled) [17:27:25.352] invokeRestart("muffleWarning") [17:27:25.352] } [17:27:25.352] else if (inherits(cond, "condition")) { [17:27:25.352] if (!is.null(pattern)) { [17:27:25.352] computeRestarts <- base::computeRestarts [17:27:25.352] grepl <- base::grepl [17:27:25.352] restarts <- computeRestarts(cond) [17:27:25.352] for (restart in restarts) { [17:27:25.352] name <- restart$name [17:27:25.352] if (is.null(name)) [17:27:25.352] next [17:27:25.352] if (!grepl(pattern, name)) [17:27:25.352] next [17:27:25.352] invokeRestart(restart) [17:27:25.352] muffled <- TRUE [17:27:25.352] break [17:27:25.352] } [17:27:25.352] } [17:27:25.352] } [17:27:25.352] invisible(muffled) [17:27:25.352] } [17:27:25.352] muffleCondition(cond, pattern = "^muffle") [17:27:25.352] } [17:27:25.352] } [17:27:25.352] else { [17:27:25.352] if (TRUE) { [17:27:25.352] muffleCondition <- function (cond, pattern = "^muffle") [17:27:25.352] { [17:27:25.352] inherits <- base::inherits [17:27:25.352] invokeRestart <- base::invokeRestart [17:27:25.352] is.null <- base::is.null [17:27:25.352] muffled <- FALSE [17:27:25.352] if (inherits(cond, "message")) { [17:27:25.352] muffled <- grepl(pattern, "muffleMessage") [17:27:25.352] if (muffled) [17:27:25.352] invokeRestart("muffleMessage") [17:27:25.352] } [17:27:25.352] else if (inherits(cond, "warning")) { [17:27:25.352] muffled <- grepl(pattern, "muffleWarning") [17:27:25.352] if (muffled) [17:27:25.352] invokeRestart("muffleWarning") [17:27:25.352] } [17:27:25.352] else if (inherits(cond, "condition")) { [17:27:25.352] if (!is.null(pattern)) { [17:27:25.352] computeRestarts <- base::computeRestarts [17:27:25.352] grepl <- base::grepl [17:27:25.352] restarts <- computeRestarts(cond) [17:27:25.352] for (restart in restarts) { [17:27:25.352] name <- restart$name [17:27:25.352] if (is.null(name)) [17:27:25.352] next [17:27:25.352] if (!grepl(pattern, name)) [17:27:25.352] next [17:27:25.352] invokeRestart(restart) [17:27:25.352] muffled <- TRUE [17:27:25.352] break [17:27:25.352] } [17:27:25.352] } [17:27:25.352] } [17:27:25.352] invisible(muffled) [17:27:25.352] } [17:27:25.352] muffleCondition(cond, pattern = "^muffle") [17:27:25.352] } [17:27:25.352] } [17:27:25.352] } [17:27:25.352] })) [17:27:25.352] }, error = function(ex) { [17:27:25.352] base::structure(base::list(value = NULL, visible = NULL, [17:27:25.352] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:25.352] ...future.rng), started = ...future.startTime, [17:27:25.352] finished = Sys.time(), session_uuid = NA_character_, [17:27:25.352] version = "1.8"), class = "FutureResult") [17:27:25.352] }, finally = { [17:27:25.352] if (!identical(...future.workdir, getwd())) [17:27:25.352] setwd(...future.workdir) [17:27:25.352] { [17:27:25.352] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:25.352] ...future.oldOptions$nwarnings <- NULL [17:27:25.352] } [17:27:25.352] base::options(...future.oldOptions) [17:27:25.352] if (.Platform$OS.type == "windows") { [17:27:25.352] old_names <- names(...future.oldEnvVars) [17:27:25.352] envs <- base::Sys.getenv() [17:27:25.352] names <- names(envs) [17:27:25.352] common <- intersect(names, old_names) [17:27:25.352] added <- setdiff(names, old_names) [17:27:25.352] removed <- setdiff(old_names, names) [17:27:25.352] changed <- common[...future.oldEnvVars[common] != [17:27:25.352] envs[common]] [17:27:25.352] NAMES <- toupper(changed) [17:27:25.352] args <- list() [17:27:25.352] for (kk in seq_along(NAMES)) { [17:27:25.352] name <- changed[[kk]] [17:27:25.352] NAME <- NAMES[[kk]] [17:27:25.352] if (name != NAME && is.element(NAME, old_names)) [17:27:25.352] next [17:27:25.352] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:25.352] } [17:27:25.352] NAMES <- toupper(added) [17:27:25.352] for (kk in seq_along(NAMES)) { [17:27:25.352] name <- added[[kk]] [17:27:25.352] NAME <- NAMES[[kk]] [17:27:25.352] if (name != NAME && is.element(NAME, old_names)) [17:27:25.352] next [17:27:25.352] args[[name]] <- "" [17:27:25.352] } [17:27:25.352] NAMES <- toupper(removed) [17:27:25.352] for (kk in seq_along(NAMES)) { [17:27:25.352] name <- removed[[kk]] [17:27:25.352] NAME <- NAMES[[kk]] [17:27:25.352] if (name != NAME && is.element(NAME, old_names)) [17:27:25.352] next [17:27:25.352] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:25.352] } [17:27:25.352] if (length(args) > 0) [17:27:25.352] base::do.call(base::Sys.setenv, args = args) [17:27:25.352] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:25.352] } [17:27:25.352] else { [17:27:25.352] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:25.352] } [17:27:25.352] { [17:27:25.352] if (base::length(...future.futureOptionsAdded) > [17:27:25.352] 0L) { [17:27:25.352] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:25.352] base::names(opts) <- ...future.futureOptionsAdded [17:27:25.352] base::options(opts) [17:27:25.352] } [17:27:25.352] { [17:27:25.352] { [17:27:25.352] NULL [17:27:25.352] RNGkind("Mersenne-Twister") [17:27:25.352] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:25.352] inherits = FALSE) [17:27:25.352] } [17:27:25.352] options(future.plan = NULL) [17:27:25.352] if (is.na(NA_character_)) [17:27:25.352] Sys.unsetenv("R_FUTURE_PLAN") [17:27:25.352] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:25.352] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:25.352] .init = FALSE) [17:27:25.352] } [17:27:25.352] } [17:27:25.352] } [17:27:25.352] }) [17:27:25.352] if (TRUE) { [17:27:25.352] base::sink(type = "output", split = FALSE) [17:27:25.352] if (TRUE) { [17:27:25.352] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:25.352] } [17:27:25.352] else { [17:27:25.352] ...future.result["stdout"] <- base::list(NULL) [17:27:25.352] } [17:27:25.352] base::close(...future.stdout) [17:27:25.352] ...future.stdout <- NULL [17:27:25.352] } [17:27:25.352] ...future.result$conditions <- ...future.conditions [17:27:25.352] ...future.result$finished <- base::Sys.time() [17:27:25.352] ...future.result [17:27:25.352] } [17:27:25.356] assign_globals() ... [17:27:25.356] List of 2 [17:27:25.356] $ nested :List of 2 [17:27:25.356] ..$ a:function (..., envir = parent.frame()) [17:27:25.356] .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [17:27:25.356] .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) [17:27:25.356] ..$ b:function (..., envir = parent.frame()) [17:27:25.356] .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [17:27:25.356] .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) [17:27:25.356] ..- attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [17:27:25.356] $ strategy2: chr "sequential" [17:27:25.356] - attr(*, "where")=List of 2 [17:27:25.356] ..$ nested : [17:27:25.356] ..$ strategy2: [17:27:25.356] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:25.356] - attr(*, "resolved")= logi FALSE [17:27:25.356] - attr(*, "total_size")= num 23144 [17:27:25.356] - attr(*, "already-done")= logi TRUE [17:27:25.364] - copied 'nested' to environment [17:27:25.364] - copied 'strategy2' to environment [17:27:25.364] assign_globals() ... done [17:27:25.365] plan(): Setting new future strategy stack: [17:27:25.365] List of future strategies: [17:27:25.365] 1. sequential: [17:27:25.365] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.365] - tweaked: FALSE [17:27:25.365] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.366] plan(): nbrOfWorkers() = 1 [17:27:25.438] plan(): Setting new future strategy stack: [17:27:25.438] List of future strategies: [17:27:25.438] 1. sequential: [17:27:25.438] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.438] - tweaked: FALSE [17:27:25.438] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.438] 2. sequential: [17:27:25.438] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.438] - tweaked: FALSE [17:27:25.438] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.439] plan(): nbrOfWorkers() = 1 [17:27:25.439] SequentialFuture started (and completed) [17:27:25.440] signalConditions() ... [17:27:25.440] - include = 'immediateCondition' [17:27:25.440] - exclude = [17:27:25.440] - resignal = FALSE [17:27:25.440] - Number of conditions: 54 [17:27:25.441] signalConditions() ... done [17:27:25.441] - Launch lazy future ... done [17:27:25.441] run() for 'SequentialFuture' ... done [17:27:25.441] signalConditions() ... [17:27:25.441] - include = 'immediateCondition' [17:27:25.442] - exclude = [17:27:25.442] - resignal = FALSE [17:27:25.442] - Number of conditions: 54 [17:27:25.442] signalConditions() ... done [17:27:25.442] Future state: 'finished' [17:27:25.443] signalConditions() ... [17:27:25.443] - include = 'condition' [17:27:25.443] - exclude = 'immediateCondition' [17:27:25.445] - resignal = TRUE [17:27:25.445] - Number of conditions: 54 [17:27:25.445] - Condition #1: 'simpleMessage', 'message', 'condition' [17:27:25.367] getGlobalsAndPackages() ... [17:27:25.445] - Condition #2: 'simpleMessage', 'message', 'condition' [17:27:25.368] Searching for globals... [17:27:25.446] - Condition #3: 'simpleMessage', 'message', 'condition' [17:27:25.408] - globals found: [14] '{', '<-', '::', '[', 'nested_a', '-', 'stopifnot', '==', 'length', 'inherits', '[[', 'list', 'a', 'plan_a' [17:27:25.446] - Condition #4: 'simpleMessage', 'message', 'condition' [17:27:25.409] Searching for globals ... DONE [17:27:25.446] - Condition #5: 'simpleMessage', 'message', 'condition' [17:27:25.409] Resolving globals: FALSE [17:27:25.446] - Condition #6: 'simpleMessage', 'message', 'condition' [17:27:25.410] The total size of the 3 globals is 22.54 KiB (23080 bytes) [17:27:25.446] - Condition #7: 'simpleMessage', 'message', 'condition' [17:27:25.411] The total size of the 3 globals exported for future expression ('{; b <- 2L; plan_b <- future::plan("list"); nested_b <- nested_a[-1]; stopifnot(length(nested_b) == 0L, length(plan_b) == 1L, inherits(plan_b[[1]],; "future"), inherits(future::plan("next"), "sequential")); list(a = a, nested_a = nested_a, plan_a = plan_a, b = b,; nested_b = nested_b, plan_b = plan_b); }') is 22.54 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are three globals: 'nested_a' (11.24 KiB of class 'list'), 'plan_a' (11.24 KiB of class 'list') and 'a' (56 bytes of class 'numeric') [17:27:25.447] - Condition #8: 'simpleMessage', 'message', 'condition' [17:27:25.411] - globals: [3] 'nested_a', 'a', 'plan_a' [17:27:25.447] - Condition #9: 'simpleMessage', 'message', 'condition' [17:27:25.411] [17:27:25.447] - Condition #10: 'simpleMessage', 'message', 'condition' [17:27:25.411] getGlobalsAndPackages() ... DONE [17:27:25.448] - Condition #11: 'simpleMessage', 'message', 'condition' [17:27:25.412] run() for 'Future' ... [17:27:25.448] - Condition #12: 'simpleMessage', 'message', 'condition' [17:27:25.412] - state: 'created' [17:27:25.448] - Condition #13: 'simpleMessage', 'message', 'condition' [17:27:25.413] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:25.448] - Condition #14: 'simpleMessage', 'message', 'condition' [17:27:25.413] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:25.448] - Condition #15: 'simpleMessage', 'message', 'condition' [17:27:25.413] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:25.449] - Condition #16: 'simpleMessage', 'message', 'condition' [17:27:25.413] - Field: 'label' [17:27:25.449] - Condition #17: 'simpleMessage', 'message', 'condition' [17:27:25.414] - Field: 'local' [17:27:25.449] - Condition #18: 'simpleMessage', 'message', 'condition' [17:27:25.414] - Field: 'owner' [17:27:25.449] - Condition #19: 'simpleMessage', 'message', 'condition' [17:27:25.414] - Field: 'envir' [17:27:25.449] - Condition #20: 'simpleMessage', 'message', 'condition' [17:27:25.414] - Field: 'packages' [17:27:25.450] - Condition #21: 'simpleMessage', 'message', 'condition' [17:27:25.415] - Field: 'gc' [17:27:25.450] - Condition #22: 'simpleMessage', 'message', 'condition' [17:27:25.415] - Field: 'conditions' [17:27:25.450] - Condition #23: 'simpleMessage', 'message', 'condition' [17:27:25.415] - Field: 'expr' [17:27:25.450] - Condition #24: 'simpleMessage', 'message', 'condition' [17:27:25.415] - Field: 'uuid' [17:27:25.451] - Condition #25: 'simpleMessage', 'message', 'condition' [17:27:25.415] - Field: 'seed' [17:27:25.451] - Condition #26: 'simpleMessage', 'message', 'condition' [17:27:25.416] - Field: 'version' [17:27:25.451] - Condition #27: 'simpleMessage', 'message', 'condition' [17:27:25.416] - Field: 'result' [17:27:25.451] - Condition #28: 'simpleMessage', 'message', 'condition' [17:27:25.416] - Field: 'asynchronous' [17:27:25.451] - Condition #29: 'simpleMessage', 'message', 'condition' [17:27:25.416] - Field: 'calls' [17:27:25.452] - Condition #30: 'simpleMessage', 'message', 'condition' [17:27:25.416] - Field: 'globals' [17:27:25.452] - Condition #31: 'simpleMessage', 'message', 'condition' [17:27:25.417] - Field: 'stdout' [17:27:25.452] - Condition #32: 'simpleMessage', 'message', 'condition' [17:27:25.417] - Field: 'earlySignal' [17:27:25.452] - Condition #33: 'simpleMessage', 'message', 'condition' [17:27:25.417] - Field: 'lazy' [17:27:25.453] - Condition #34: 'simpleMessage', 'message', 'condition' [17:27:25.417] - Field: 'state' [17:27:25.453] - Condition #35: 'simpleMessage', 'message', 'condition' [17:27:25.417] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:25.453] - Condition #36: 'simpleMessage', 'message', 'condition' [17:27:25.418] - Launch lazy future ... [17:27:25.453] - Condition #37: 'simpleMessage', 'message', 'condition' [17:27:25.418] Packages needed by the future expression (n = 0): [17:27:25.453] - Condition #38: 'simpleMessage', 'message', 'condition' [17:27:25.418] Packages needed by future strategies (n = 0): [17:27:25.454] - Condition #39: 'simpleMessage', 'message', 'condition' [17:27:25.419] { [17:27:25.419] { [17:27:25.419] { [17:27:25.419] ...future.startTime <- base::Sys.time() [17:27:25.419] { [17:27:25.419] { [17:27:25.419] { [17:27:25.419] base::local({ [17:27:25.419] has_future <- base::requireNamespace("future", [17:27:25.419] quietly = TRUE) [17:27:25.419] if (has_future) { [17:27:25.419] ns <- base::getNamespace("future") [17:27:25.419] version <- ns[[".package"]][["version"]] [17:27:25.419] if (is.null(version)) [17:27:25.419] version <- utils::packageVersion("future") [17:27:25.419] } [17:27:25.419] else { [17:27:25.419] version <- NULL [17:27:25.419] } [17:27:25.419] if (!has_future || version < "1.8.0") { [17:27:25.419] info <- base::c(r_version = base::gsub("R version ", [17:27:25.419] "", base::R.version$version.string), [17:27:25.419] platform = base::sprintf("%s (%s-bit)", [17:27:25.419] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:25.419] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:25.419] "release", "version")], collapse = " "), [17:27:25.419] hostname = base::Sys.info()[["nodename"]]) [17:27:25.419] info <- base::sprintf("%s: %s", base::names(info), [17:27:25.419] info) [17:27:25.419] info <- base::paste(info, collapse = "; ") [17:27:25.419] if (!has_future) { [17:27:25.419] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:25.419] info) [17:27:25.419] } [17:27:25.419] else { [17:27:25.419] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:25.419] info, version) [17:27:25.419] } [17:27:25.419] base::stop(msg) [17:27:25.419] } [17:27:25.419] }) [17:27:25.419] } [17:27:25.419] ...future.strategy.old <- future::plan("list") [17:27:25.419] options(future.plan = NULL) [17:27:25.419] Sys.unsetenv("R_FUTURE_PLAN") [17:27:25.419] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:25.419] } [17:27:25.419] ...future.workdir <- getwd() [17:27:25.419] } [17:27:25.419] ...future.oldOptions <- base::as.list(base::.Options) [17:27:25.419] ...future.oldEnvVars <- base::Sys.getenv() [17:27:25.419] } [17:27:25.419] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:25.419] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:25.419] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:25.419] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:25.419] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:25.419] future.stdout.windows.reencode = NULL, width = 80L) [17:27:25.419] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:25.419] base::names(...future.oldOptions)) [17:27:25.419] } [17:27:25.419] if (FALSE) { [17:27:25.419] } [17:27:25.419] else { [17:27:25.419] if (TRUE) { [17:27:25.419] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:25.419] open = "w") [17:27:25.419] } [17:27:25.419] else { [17:27:25.419] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:25.419] windows = "NUL", "/dev/null"), open = "w") [17:27:25.419] } [17:27:25.419] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:25.419] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:25.419] base::sink(type = "output", split = FALSE) [17:27:25.419] base::close(...future.stdout) [17:27:25.419] }, add = TRUE) [17:27:25.419] } [17:27:25.419] ...future.frame <- base::sys.nframe() [17:27:25.419] ...future.conditions <- base::list() [17:27:25.419] ...future.rng <- base::globalenv()$.Random.seed [17:27:25.419] if (FALSE) { [17:27:25.419] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:25.419] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:25.419] } [17:27:25.419] ...future.result <- base::tryCatch({ [17:27:25.419] base::withCallingHandlers({ [17:27:25.419] ...future.value <- base::withVisible(base::local({ [17:27:25.419] b <- 2L [17:27:25.419] plan_b <- future::plan("list") [17:27:25.419] nested_b <- nested_a[-1] [17:27:25.419] stopifnot(length(nested_b) == 0L, length(plan_b) == [17:27:25.419] 1L, inherits(plan_b[[1]], "future"), inherits(future::plan("next"), [17:27:25.419] "sequential")) [17:27:25.419] list(a = a, nested_a = nested_a, plan_a = plan_a, [17:27:25.419] b = b, nested_b = nested_b, plan_b = plan_b) [17:27:25.419] })) [17:27:25.419] future::FutureResult(value = ...future.value$value, [17:27:25.419] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:25.419] ...future.rng), globalenv = if (FALSE) [17:27:25.419] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:25.419] ...future.globalenv.names)) [17:27:25.419] else NULL, started = ...future.startTime, version = "1.8") [17:27:25.419] }, condition = base::local({ [17:27:25.419] c <- base::c [17:27:25.419] inherits <- base::inherits [17:27:25.419] invokeRestart <- base::invokeRestart [17:27:25.419] length <- base::length [17:27:25.419] list <- base::list [17:27:25.419] seq.int <- base::seq.int [17:27:25.419] signalCondition <- base::signalCondition [17:27:25.419] sys.calls <- base::sys.calls [17:27:25.419] `[[` <- base::`[[` [17:27:25.419] `+` <- base::`+` [17:27:25.419] `<<-` <- base::`<<-` [17:27:25.419] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:25.419] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:25.419] 3L)] [17:27:25.419] } [17:27:25.419] function(cond) { [17:27:25.419] is_error <- inherits(cond, "error") [17:27:25.419] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:25.419] NULL) [17:27:25.419] if (is_error) { [17:27:25.419] sessionInformation <- function() { [17:27:25.419] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:25.419] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:25.419] search = base::search(), system = base::Sys.info()) [17:27:25.419] } [17:27:25.419] ...future.conditions[[length(...future.conditions) + [17:27:25.419] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:25.419] cond$call), session = sessionInformation(), [17:27:25.419] timestamp = base::Sys.time(), signaled = 0L) [17:27:25.419] signalCondition(cond) [17:27:25.419] } [17:27:25.419] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:25.419] "immediateCondition"))) { [17:27:25.419] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:25.419] ...future.conditions[[length(...future.conditions) + [17:27:25.419] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:25.419] if (TRUE && !signal) { [17:27:25.419] muffleCondition <- function (cond, pattern = "^muffle") [17:27:25.419] { [17:27:25.419] inherits <- base::inherits [17:27:25.419] invokeRestart <- base::invokeRestart [17:27:25.419] is.null <- base::is.null [17:27:25.419] muffled <- FALSE [17:27:25.419] if (inherits(cond, "message")) { [17:27:25.419] muffled <- grepl(pattern, "muffleMessage") [17:27:25.419] if (muffled) [17:27:25.419] invokeRestart("muffleMessage") [17:27:25.419] } [17:27:25.419] else if (inherits(cond, "warning")) { [17:27:25.419] muffled <- grepl(pattern, "muffleWarning") [17:27:25.419] if (muffled) [17:27:25.419] invokeRestart("muffleWarning") [17:27:25.419] } [17:27:25.419] else if (inherits(cond, "condition")) { [17:27:25.419] if (!is.null(pattern)) { [17:27:25.419] computeRestarts <- base::computeRestarts [17:27:25.419] grepl <- base::grepl [17:27:25.419] restarts <- computeRestarts(cond) [17:27:25.419] for (restart in restarts) { [17:27:25.419] name <- restart$name [17:27:25.419] if (is.null(name)) [17:27:25.419] next [17:27:25.419] if (!grepl(pattern, name)) [17:27:25.419] next [17:27:25.419] invokeRestart(restart) [17:27:25.419] muffled <- TRUE [17:27:25.419] break [17:27:25.419] } [17:27:25.419] } [17:27:25.419] } [17:27:25.419] invisible(muffled) [17:27:25.419] } [17:27:25.419] muffleCondition(cond, pattern = "^muffle") [17:27:25.419] } [17:27:25.419] } [17:27:25.419] else { [17:27:25.419] if (TRUE) { [17:27:25.419] muffleCondition <- function (cond, pattern = "^muffle") [17:27:25.419] { [17:27:25.419] inherits <- base::inherits [17:27:25.419] invokeRestart <- base::invokeRestart [17:27:25.419] is.null <- base::is.null [17:27:25.419] muffled <- FALSE [17:27:25.419] if (inherits(cond, "message")) { [17:27:25.419] muffled <- grepl(pattern, "muffleMessage") [17:27:25.419] if (muffled) [17:27:25.419] invokeRestart("muffleMessage") [17:27:25.419] } [17:27:25.419] else if (inherits(cond, "warning")) { [17:27:25.419] muffled <- grepl(pattern, "muffleWarning") [17:27:25.419] if (muffled) [17:27:25.419] invokeRestart("muffleWarning") [17:27:25.419] } [17:27:25.419] else if (inherits(cond, "condition")) { [17:27:25.419] if (!is.null(pattern)) { [17:27:25.419] computeRestarts <- base::computeRestarts [17:27:25.419] grepl <- base::grepl [17:27:25.419] restarts <- computeRestarts(cond) [17:27:25.419] for (restart in restarts) { [17:27:25.419] name <- restart$name [17:27:25.419] if (is.null(name)) [17:27:25.419] next [17:27:25.419] if (!grepl(pattern, name)) [17:27:25.419] next [17:27:25.419] invokeRestart(restart) [17:27:25.419] muffled <- TRUE [17:27:25.419] break [17:27:25.419] } [17:27:25.419] } [17:27:25.419] } [17:27:25.419] invisible(muffled) [17:27:25.419] } [17:27:25.419] muffleCondition(cond, pattern = "^muffle") [17:27:25.419] } [17:27:25.419] } [17:27:25.419] } [17:27:25.419] })) [17:27:25.419] }, error = function(ex) { [17:27:25.419] base::structure(base::list(value = NULL, visible = NULL, [17:27:25.419] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:25.419] ...future.rng), started = ...future.startTime, [17:27:25.419] finished = Sys.time(), session_uuid = NA_character_, [17:27:25.419] version = "1.8"), class = "FutureResult") [17:27:25.419] }, finally = { [17:27:25.419] if (!identical(...future.workdir, getwd())) [17:27:25.419] setwd(...future.workdir) [17:27:25.419] { [17:27:25.419] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:25.419] ...future.oldOptions$nwarnings <- NULL [17:27:25.419] } [17:27:25.419] base::options(...future.oldOptions) [17:27:25.419] if (.Platform$OS.type == "windows") { [17:27:25.419] old_names <- names(...future.oldEnvVars) [17:27:25.419] envs <- base::Sys.getenv() [17:27:25.419] names <- names(envs) [17:27:25.419] common <- intersect(names, old_names) [17:27:25.419] added <- setdiff(names, old_names) [17:27:25.419] removed <- setdiff(old_names, names) [17:27:25.419] changed <- common[...future.oldEnvVars[common] != [17:27:25.419] envs[common]] [17:27:25.419] NAMES <- toupper(changed) [17:27:25.419] args <- list() [17:27:25.419] for (kk in seq_along(NAMES)) { [17:27:25.419] name <- changed[[kk]] [17:27:25.419] NAME <- NAMES[[kk]] [17:27:25.419] if (name != NAME && is.element(NAME, old_names)) [17:27:25.419] next [17:27:25.419] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:25.419] } [17:27:25.419] NAMES <- toupper(added) [17:27:25.419] for (kk in seq_along(NAMES)) { [17:27:25.419] name <- added[[kk]] [17:27:25.419] NAME <- NAMES[[kk]] [17:27:25.419] if (name != NAME && is.element(NAME, old_names)) [17:27:25.419] next [17:27:25.419] args[[name]] <- "" [17:27:25.419] } [17:27:25.419] NAMES <- toupper(removed) [17:27:25.419] for (kk in seq_along(NAMES)) { [17:27:25.419] name <- removed[[kk]] [17:27:25.419] NAME <- NAMES[[kk]] [17:27:25.419] if (name != NAME && is.element(NAME, old_names)) [17:27:25.419] next [17:27:25.419] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:25.419] } [17:27:25.419] if (length(args) > 0) [17:27:25.419] base::do.call(base::Sys.setenv, args = args) [17:27:25.419] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:25.419] } [17:27:25.419] else { [17:27:25.419] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:25.419] } [17:27:25.419] { [17:27:25.419] if (base::length(...future.futureOptionsAdded) > [17:27:25.419] 0L) { [17:27:25.419] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:25.419] base::names(opts) <- ...future.futureOptionsAdded [17:27:25.419] base::options(opts) [17:27:25.419] } [17:27:25.419] { [17:27:25.419] { [17:27:25.419] NULL [17:27:25.419] RNGkind("Mersenne-Twister") [17:27:25.419] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:25.419] inherits = FALSE) [17:27:25.419] } [17:27:25.419] options(future.plan = NULL) [17:27:25.419] if (is.na(NA_character_)) [17:27:25.419] Sys.unsetenv("R_FUTURE_PLAN") [17:27:25.419] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:25.419] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:25.419] .init = FALSE) [17:27:25.419] } [17:27:25.419] } [17:27:25.419] } [17:27:25.419] }) [17:27:25.419] if (TRUE) { [17:27:25.419] base::sink(type = "output", split = FALSE) [17:27:25.419] if (TRUE) { [17:27:25.419] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:25.419] } [17:27:25.419] else { [17:27:25.419] ...future.result["stdout"] <- base::list(NULL) [17:27:25.419] } [17:27:25.419] base::close(...future.stdout) [17:27:25.419] ...future.stdout <- NULL [17:27:25.419] } [17:27:25.419] ...future.result$conditions <- ...future.conditions [17:27:25.419] ...future.result$finished <- base::Sys.time() [17:27:25.419] ...future.result [17:27:25.419] } [17:27:25.454] - Condition #40: 'simpleMessage', 'message', 'condition' [17:27:25.423] assign_globals() ... [17:27:25.454] - Condition #41: 'simpleMessage', 'message', 'condition' [17:27:25.423] List of 3 [17:27:25.423] $ nested_a:List of 1 [17:27:25.423] ..$ b:function (..., envir = parent.frame()) [17:27:25.423] .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [17:27:25.423] .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) [17:27:25.423] $ a : int 1 [17:27:25.423] $ plan_a :List of 1 [17:27:25.423] ..$ b:function (..., envir = parent.frame()) [17:27:25.423] .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [17:27:25.423] .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) [17:27:25.423] - attr(*, "where")=List of 3 [17:27:25.423] ..$ nested_a: [17:27:25.423] ..$ a : [17:27:25.423] ..$ plan_a : [17:27:25.423] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:25.423] - attr(*, "resolved")= logi FALSE [17:27:25.423] - attr(*, "total_size")= num 23080 [17:27:25.423] - attr(*, "already-done")= logi TRUE [17:27:25.454] - Condition #42: 'simpleMessage', 'message', 'condition' [17:27:25.430] - copied 'nested_a' to environment [17:27:25.455] - Condition #43: 'simpleMessage', 'message', 'condition' [17:27:25.430] - copied 'a' to environment [17:27:25.455] - Condition #44: 'simpleMessage', 'message', 'condition' [17:27:25.430] - copied 'plan_a' to environment [17:27:25.455] - Condition #45: 'simpleMessage', 'message', 'condition' [17:27:25.431] assign_globals() ... done [17:27:25.455] - Condition #46: 'simpleMessage', 'message', 'condition' [17:27:25.431] plan(): Setting new future strategy stack: [17:27:25.455] - Condition #47: 'simpleMessage', 'message', 'condition' [17:27:25.431] List of future strategies: [17:27:25.431] 1. sequential: [17:27:25.431] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.431] - tweaked: FALSE [17:27:25.431] - call: NULL [17:27:25.456] - Condition #48: 'simpleMessage', 'message', 'condition' [17:27:25.432] plan(): nbrOfWorkers() = 1 [17:27:25.456] - Condition #49: 'simpleMessage', 'message', 'condition' [17:27:25.434] plan(): Setting new future strategy stack: [17:27:25.456] - Condition #50: 'simpleMessage', 'message', 'condition' [17:27:25.435] List of future strategies: [17:27:25.435] 1. sequential: [17:27:25.435] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.435] - tweaked: FALSE [17:27:25.435] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.456] - Condition #51: 'simpleMessage', 'message', 'condition' [17:27:25.435] plan(): nbrOfWorkers() = 1 [17:27:25.457] - Condition #52: 'simpleMessage', 'message', 'condition' [17:27:25.436] SequentialFuture started (and completed) [17:27:25.457] - Condition #53: 'simpleMessage', 'message', 'condition' [17:27:25.436] - Launch lazy future ... done [17:27:25.457] - Condition #54: 'simpleMessage', 'message', 'condition' [17:27:25.437] run() for 'SequentialFuture' ... done [17:27:25.457] signalConditions() ... done List of 6 $ a : int 1 $ nested_a:List of 1 ..$ b:function (..., envir = parent.frame()) .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) $ plan_a :List of 1 ..$ b:function (..., envir = parent.frame()) .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) $ b : int 2 $ nested_b: Named list() $ plan_b :List of 1 ..$ :function (..., envir = parent.frame()) .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" ..- attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [17:27:25.463] getGlobalsAndPackages() ... [17:27:25.463] Searching for globals... [17:27:25.465] - globals found: [7] '{', 'value', 'future', 'subset', 'data', '==', 'a' [17:27:25.465] Searching for globals ... DONE [17:27:25.465] Resolving globals: FALSE [17:27:25.466] The total size of the 1 globals is 128 bytes (128 bytes) [17:27:25.467] The total size of the 1 globals exported for future expression ('{; value(future(subset(data, a == 2))); }') is 128 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'data' (128 bytes of class 'list') [17:27:25.467] - globals: [1] 'data' [17:27:25.467] - packages: [1] 'future' [17:27:25.467] getGlobalsAndPackages() ... DONE [17:27:25.468] run() for 'Future' ... [17:27:25.468] - state: 'created' [17:27:25.468] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:25.468] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:25.469] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:25.469] - Field: 'label' [17:27:25.469] - Field: 'local' [17:27:25.469] - Field: 'owner' [17:27:25.469] - Field: 'envir' [17:27:25.470] - Field: 'packages' [17:27:25.470] - Field: 'gc' [17:27:25.470] - Field: 'conditions' [17:27:25.470] - Field: 'expr' [17:27:25.470] - Field: 'uuid' [17:27:25.470] - Field: 'seed' [17:27:25.471] - Field: 'version' [17:27:25.471] - Field: 'result' [17:27:25.471] - Field: 'asynchronous' [17:27:25.471] - Field: 'calls' [17:27:25.472] - Field: 'globals' [17:27:25.473] - Field: 'stdout' [17:27:25.473] - Field: 'earlySignal' [17:27:25.473] - Field: 'lazy' [17:27:25.473] - Field: 'state' [17:27:25.473] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:25.474] - Launch lazy future ... [17:27:25.474] Packages needed by the future expression (n = 1): 'future' [17:27:25.474] Packages needed by future strategies (n = 1): 'future' [17:27:25.475] { [17:27:25.475] { [17:27:25.475] { [17:27:25.475] ...future.startTime <- base::Sys.time() [17:27:25.475] { [17:27:25.475] { [17:27:25.475] { [17:27:25.475] { [17:27:25.475] base::local({ [17:27:25.475] has_future <- base::requireNamespace("future", [17:27:25.475] quietly = TRUE) [17:27:25.475] if (has_future) { [17:27:25.475] ns <- base::getNamespace("future") [17:27:25.475] version <- ns[[".package"]][["version"]] [17:27:25.475] if (is.null(version)) [17:27:25.475] version <- utils::packageVersion("future") [17:27:25.475] } [17:27:25.475] else { [17:27:25.475] version <- NULL [17:27:25.475] } [17:27:25.475] if (!has_future || version < "1.8.0") { [17:27:25.475] info <- base::c(r_version = base::gsub("R version ", [17:27:25.475] "", base::R.version$version.string), [17:27:25.475] platform = base::sprintf("%s (%s-bit)", [17:27:25.475] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:25.475] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:25.475] "release", "version")], collapse = " "), [17:27:25.475] hostname = base::Sys.info()[["nodename"]]) [17:27:25.475] info <- base::sprintf("%s: %s", base::names(info), [17:27:25.475] info) [17:27:25.475] info <- base::paste(info, collapse = "; ") [17:27:25.475] if (!has_future) { [17:27:25.475] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:25.475] info) [17:27:25.475] } [17:27:25.475] else { [17:27:25.475] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:25.475] info, version) [17:27:25.475] } [17:27:25.475] base::stop(msg) [17:27:25.475] } [17:27:25.475] }) [17:27:25.475] } [17:27:25.475] base::local({ [17:27:25.475] for (pkg in "future") { [17:27:25.475] base::loadNamespace(pkg) [17:27:25.475] base::library(pkg, character.only = TRUE) [17:27:25.475] } [17:27:25.475] }) [17:27:25.475] } [17:27:25.475] ...future.strategy.old <- future::plan("list") [17:27:25.475] options(future.plan = NULL) [17:27:25.475] Sys.unsetenv("R_FUTURE_PLAN") [17:27:25.475] future::plan(list(b = function (..., envir = parent.frame()) [17:27:25.475] { [17:27:25.475] future <- SequentialFuture(..., envir = envir) [17:27:25.475] if (!future$lazy) [17:27:25.475] future <- run(future) [17:27:25.475] invisible(future) [17:27:25.475] }), .cleanup = FALSE, .init = FALSE) [17:27:25.475] } [17:27:25.475] ...future.workdir <- getwd() [17:27:25.475] } [17:27:25.475] ...future.oldOptions <- base::as.list(base::.Options) [17:27:25.475] ...future.oldEnvVars <- base::Sys.getenv() [17:27:25.475] } [17:27:25.475] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:25.475] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:25.475] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:25.475] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:25.475] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:25.475] future.stdout.windows.reencode = NULL, width = 80L) [17:27:25.475] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:25.475] base::names(...future.oldOptions)) [17:27:25.475] } [17:27:25.475] if (FALSE) { [17:27:25.475] } [17:27:25.475] else { [17:27:25.475] if (TRUE) { [17:27:25.475] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:25.475] open = "w") [17:27:25.475] } [17:27:25.475] else { [17:27:25.475] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:25.475] windows = "NUL", "/dev/null"), open = "w") [17:27:25.475] } [17:27:25.475] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:25.475] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:25.475] base::sink(type = "output", split = FALSE) [17:27:25.475] base::close(...future.stdout) [17:27:25.475] }, add = TRUE) [17:27:25.475] } [17:27:25.475] ...future.frame <- base::sys.nframe() [17:27:25.475] ...future.conditions <- base::list() [17:27:25.475] ...future.rng <- base::globalenv()$.Random.seed [17:27:25.475] if (FALSE) { [17:27:25.475] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:25.475] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:25.475] } [17:27:25.475] ...future.result <- base::tryCatch({ [17:27:25.475] base::withCallingHandlers({ [17:27:25.475] ...future.value <- base::withVisible(base::local({ [17:27:25.475] value(future(subset(data, a == 2))) [17:27:25.475] })) [17:27:25.475] future::FutureResult(value = ...future.value$value, [17:27:25.475] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:25.475] ...future.rng), globalenv = if (FALSE) [17:27:25.475] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:25.475] ...future.globalenv.names)) [17:27:25.475] else NULL, started = ...future.startTime, version = "1.8") [17:27:25.475] }, condition = base::local({ [17:27:25.475] c <- base::c [17:27:25.475] inherits <- base::inherits [17:27:25.475] invokeRestart <- base::invokeRestart [17:27:25.475] length <- base::length [17:27:25.475] list <- base::list [17:27:25.475] seq.int <- base::seq.int [17:27:25.475] signalCondition <- base::signalCondition [17:27:25.475] sys.calls <- base::sys.calls [17:27:25.475] `[[` <- base::`[[` [17:27:25.475] `+` <- base::`+` [17:27:25.475] `<<-` <- base::`<<-` [17:27:25.475] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:25.475] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:25.475] 3L)] [17:27:25.475] } [17:27:25.475] function(cond) { [17:27:25.475] is_error <- inherits(cond, "error") [17:27:25.475] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:25.475] NULL) [17:27:25.475] if (is_error) { [17:27:25.475] sessionInformation <- function() { [17:27:25.475] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:25.475] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:25.475] search = base::search(), system = base::Sys.info()) [17:27:25.475] } [17:27:25.475] ...future.conditions[[length(...future.conditions) + [17:27:25.475] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:25.475] cond$call), session = sessionInformation(), [17:27:25.475] timestamp = base::Sys.time(), signaled = 0L) [17:27:25.475] signalCondition(cond) [17:27:25.475] } [17:27:25.475] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:25.475] "immediateCondition"))) { [17:27:25.475] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:25.475] ...future.conditions[[length(...future.conditions) + [17:27:25.475] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:25.475] if (TRUE && !signal) { [17:27:25.475] muffleCondition <- function (cond, pattern = "^muffle") [17:27:25.475] { [17:27:25.475] inherits <- base::inherits [17:27:25.475] invokeRestart <- base::invokeRestart [17:27:25.475] is.null <- base::is.null [17:27:25.475] muffled <- FALSE [17:27:25.475] if (inherits(cond, "message")) { [17:27:25.475] muffled <- grepl(pattern, "muffleMessage") [17:27:25.475] if (muffled) [17:27:25.475] invokeRestart("muffleMessage") [17:27:25.475] } [17:27:25.475] else if (inherits(cond, "warning")) { [17:27:25.475] muffled <- grepl(pattern, "muffleWarning") [17:27:25.475] if (muffled) [17:27:25.475] invokeRestart("muffleWarning") [17:27:25.475] } [17:27:25.475] else if (inherits(cond, "condition")) { [17:27:25.475] if (!is.null(pattern)) { [17:27:25.475] computeRestarts <- base::computeRestarts [17:27:25.475] grepl <- base::grepl [17:27:25.475] restarts <- computeRestarts(cond) [17:27:25.475] for (restart in restarts) { [17:27:25.475] name <- restart$name [17:27:25.475] if (is.null(name)) [17:27:25.475] next [17:27:25.475] if (!grepl(pattern, name)) [17:27:25.475] next [17:27:25.475] invokeRestart(restart) [17:27:25.475] muffled <- TRUE [17:27:25.475] break [17:27:25.475] } [17:27:25.475] } [17:27:25.475] } [17:27:25.475] invisible(muffled) [17:27:25.475] } [17:27:25.475] muffleCondition(cond, pattern = "^muffle") [17:27:25.475] } [17:27:25.475] } [17:27:25.475] else { [17:27:25.475] if (TRUE) { [17:27:25.475] muffleCondition <- function (cond, pattern = "^muffle") [17:27:25.475] { [17:27:25.475] inherits <- base::inherits [17:27:25.475] invokeRestart <- base::invokeRestart [17:27:25.475] is.null <- base::is.null [17:27:25.475] muffled <- FALSE [17:27:25.475] if (inherits(cond, "message")) { [17:27:25.475] muffled <- grepl(pattern, "muffleMessage") [17:27:25.475] if (muffled) [17:27:25.475] invokeRestart("muffleMessage") [17:27:25.475] } [17:27:25.475] else if (inherits(cond, "warning")) { [17:27:25.475] muffled <- grepl(pattern, "muffleWarning") [17:27:25.475] if (muffled) [17:27:25.475] invokeRestart("muffleWarning") [17:27:25.475] } [17:27:25.475] else if (inherits(cond, "condition")) { [17:27:25.475] if (!is.null(pattern)) { [17:27:25.475] computeRestarts <- base::computeRestarts [17:27:25.475] grepl <- base::grepl [17:27:25.475] restarts <- computeRestarts(cond) [17:27:25.475] for (restart in restarts) { [17:27:25.475] name <- restart$name [17:27:25.475] if (is.null(name)) [17:27:25.475] next [17:27:25.475] if (!grepl(pattern, name)) [17:27:25.475] next [17:27:25.475] invokeRestart(restart) [17:27:25.475] muffled <- TRUE [17:27:25.475] break [17:27:25.475] } [17:27:25.475] } [17:27:25.475] } [17:27:25.475] invisible(muffled) [17:27:25.475] } [17:27:25.475] muffleCondition(cond, pattern = "^muffle") [17:27:25.475] } [17:27:25.475] } [17:27:25.475] } [17:27:25.475] })) [17:27:25.475] }, error = function(ex) { [17:27:25.475] base::structure(base::list(value = NULL, visible = NULL, [17:27:25.475] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:25.475] ...future.rng), started = ...future.startTime, [17:27:25.475] finished = Sys.time(), session_uuid = NA_character_, [17:27:25.475] version = "1.8"), class = "FutureResult") [17:27:25.475] }, finally = { [17:27:25.475] if (!identical(...future.workdir, getwd())) [17:27:25.475] setwd(...future.workdir) [17:27:25.475] { [17:27:25.475] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:25.475] ...future.oldOptions$nwarnings <- NULL [17:27:25.475] } [17:27:25.475] base::options(...future.oldOptions) [17:27:25.475] if (.Platform$OS.type == "windows") { [17:27:25.475] old_names <- names(...future.oldEnvVars) [17:27:25.475] envs <- base::Sys.getenv() [17:27:25.475] names <- names(envs) [17:27:25.475] common <- intersect(names, old_names) [17:27:25.475] added <- setdiff(names, old_names) [17:27:25.475] removed <- setdiff(old_names, names) [17:27:25.475] changed <- common[...future.oldEnvVars[common] != [17:27:25.475] envs[common]] [17:27:25.475] NAMES <- toupper(changed) [17:27:25.475] args <- list() [17:27:25.475] for (kk in seq_along(NAMES)) { [17:27:25.475] name <- changed[[kk]] [17:27:25.475] NAME <- NAMES[[kk]] [17:27:25.475] if (name != NAME && is.element(NAME, old_names)) [17:27:25.475] next [17:27:25.475] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:25.475] } [17:27:25.475] NAMES <- toupper(added) [17:27:25.475] for (kk in seq_along(NAMES)) { [17:27:25.475] name <- added[[kk]] [17:27:25.475] NAME <- NAMES[[kk]] [17:27:25.475] if (name != NAME && is.element(NAME, old_names)) [17:27:25.475] next [17:27:25.475] args[[name]] <- "" [17:27:25.475] } [17:27:25.475] NAMES <- toupper(removed) [17:27:25.475] for (kk in seq_along(NAMES)) { [17:27:25.475] name <- removed[[kk]] [17:27:25.475] NAME <- NAMES[[kk]] [17:27:25.475] if (name != NAME && is.element(NAME, old_names)) [17:27:25.475] next [17:27:25.475] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:25.475] } [17:27:25.475] if (length(args) > 0) [17:27:25.475] base::do.call(base::Sys.setenv, args = args) [17:27:25.475] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:25.475] } [17:27:25.475] else { [17:27:25.475] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:25.475] } [17:27:25.475] { [17:27:25.475] if (base::length(...future.futureOptionsAdded) > [17:27:25.475] 0L) { [17:27:25.475] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:25.475] base::names(opts) <- ...future.futureOptionsAdded [17:27:25.475] base::options(opts) [17:27:25.475] } [17:27:25.475] { [17:27:25.475] { [17:27:25.475] NULL [17:27:25.475] RNGkind("Mersenne-Twister") [17:27:25.475] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:25.475] inherits = FALSE) [17:27:25.475] } [17:27:25.475] options(future.plan = NULL) [17:27:25.475] if (is.na(NA_character_)) [17:27:25.475] Sys.unsetenv("R_FUTURE_PLAN") [17:27:25.475] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:25.475] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:25.475] .init = FALSE) [17:27:25.475] } [17:27:25.475] } [17:27:25.475] } [17:27:25.475] }) [17:27:25.475] if (TRUE) { [17:27:25.475] base::sink(type = "output", split = FALSE) [17:27:25.475] if (TRUE) { [17:27:25.475] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:25.475] } [17:27:25.475] else { [17:27:25.475] ...future.result["stdout"] <- base::list(NULL) [17:27:25.475] } [17:27:25.475] base::close(...future.stdout) [17:27:25.475] ...future.stdout <- NULL [17:27:25.475] } [17:27:25.475] ...future.result$conditions <- ...future.conditions [17:27:25.475] ...future.result$finished <- base::Sys.time() [17:27:25.475] ...future.result [17:27:25.475] } [17:27:25.479] assign_globals() ... [17:27:25.479] List of 1 [17:27:25.479] $ data:'data.frame': 3 obs. of 2 variables: [17:27:25.479] ..$ a: int [1:3] 1 2 3 [17:27:25.479] ..$ b: int [1:3] 3 2 1 [17:27:25.479] - attr(*, "where")=List of 1 [17:27:25.479] ..$ data: [17:27:25.479] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:25.479] - attr(*, "resolved")= logi FALSE [17:27:25.479] - attr(*, "total_size")= num 128 [17:27:25.479] - attr(*, "already-done")= logi TRUE [17:27:25.483] - copied 'data' to environment [17:27:25.483] assign_globals() ... done [17:27:25.484] plan(): Setting new future strategy stack: [17:27:25.484] List of future strategies: [17:27:25.484] 1. sequential: [17:27:25.484] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.484] - tweaked: FALSE [17:27:25.484] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.485] plan(): nbrOfWorkers() = 1 [17:27:25.525] plan(): Setting new future strategy stack: [17:27:25.525] List of future strategies: [17:27:25.525] 1. sequential: [17:27:25.525] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.525] - tweaked: FALSE [17:27:25.525] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.525] 2. sequential: [17:27:25.525] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.525] - tweaked: FALSE [17:27:25.525] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.526] plan(): nbrOfWorkers() = 1 [17:27:25.526] SequentialFuture started (and completed) [17:27:25.526] signalConditions() ... [17:27:25.526] - include = 'immediateCondition' [17:27:25.527] - exclude = [17:27:25.527] - resignal = FALSE [17:27:25.527] - Number of conditions: 52 [17:27:25.527] signalConditions() ... done [17:27:25.527] - Launch lazy future ... done [17:27:25.527] run() for 'SequentialFuture' ... done [17:27:25.528] signalConditions() ... [17:27:25.528] - include = 'immediateCondition' [17:27:25.528] - exclude = [17:27:25.528] - resignal = FALSE [17:27:25.528] - Number of conditions: 52 [17:27:25.529] signalConditions() ... done [17:27:25.529] Future state: 'finished' [17:27:25.529] signalConditions() ... [17:27:25.529] - include = 'condition' [17:27:25.529] - exclude = 'immediateCondition' [17:27:25.529] - resignal = TRUE [17:27:25.530] - Number of conditions: 52 [17:27:25.530] - Condition #1: 'simpleMessage', 'message', 'condition' [17:27:25.485] getGlobalsAndPackages() ... [17:27:25.530] - Condition #2: 'simpleMessage', 'message', 'condition' [17:27:25.485] Searching for globals... [17:27:25.530] - Condition #3: 'simpleMessage', 'message', 'condition' [17:27:25.503] - globals found: [4] 'subset', 'data', '==', 'a' [17:27:25.530] - Condition #4: 'simpleMessage', 'message', 'condition' [17:27:25.503] Searching for globals ... DONE [17:27:25.531] - Condition #5: 'simpleMessage', 'message', 'condition' [17:27:25.503] Resolving globals: FALSE [17:27:25.531] - Condition #6: 'simpleMessage', 'message', 'condition' [17:27:25.504] The total size of the 1 globals is 128 bytes (128 bytes) [17:27:25.531] - Condition #7: 'simpleMessage', 'message', 'condition' [17:27:25.504] The total size of the 1 globals exported for future expression ('subset(data, a == 2)') is 128 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'data' (128 bytes of class 'list') [17:27:25.531] - Condition #8: 'simpleMessage', 'message', 'condition' [17:27:25.504] - globals: [1] 'data' [17:27:25.531] - Condition #9: 'simpleMessage', 'message', 'condition' [17:27:25.505] [17:27:25.532] - Condition #10: 'simpleMessage', 'message', 'condition' [17:27:25.505] getGlobalsAndPackages() ... DONE [17:27:25.532] - Condition #11: 'simpleMessage', 'message', 'condition' [17:27:25.505] run() for 'Future' ... [17:27:25.532] - Condition #12: 'simpleMessage', 'message', 'condition' [17:27:25.505] - state: 'created' [17:27:25.532] - Condition #13: 'simpleMessage', 'message', 'condition' [17:27:25.505] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:25.532] - Condition #14: 'simpleMessage', 'message', 'condition' [17:27:25.506] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:25.533] - Condition #15: 'simpleMessage', 'message', 'condition' [17:27:25.506] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:25.533] - Condition #16: 'simpleMessage', 'message', 'condition' [17:27:25.506] - Field: 'label' [17:27:25.533] - Condition #17: 'simpleMessage', 'message', 'condition' [17:27:25.506] - Field: 'local' [17:27:25.533] - Condition #18: 'simpleMessage', 'message', 'condition' [17:27:25.507] - Field: 'owner' [17:27:25.534] - Condition #19: 'simpleMessage', 'message', 'condition' [17:27:25.507] - Field: 'envir' [17:27:25.534] - Condition #20: 'simpleMessage', 'message', 'condition' [17:27:25.507] - Field: 'packages' [17:27:25.534] - Condition #21: 'simpleMessage', 'message', 'condition' [17:27:25.507] - Field: 'gc' [17:27:25.534] - Condition #22: 'simpleMessage', 'message', 'condition' [17:27:25.507] - Field: 'conditions' [17:27:25.534] - Condition #23: 'simpleMessage', 'message', 'condition' [17:27:25.508] - Field: 'expr' [17:27:25.535] - Condition #24: 'simpleMessage', 'message', 'condition' [17:27:25.508] - Field: 'uuid' [17:27:25.535] - Condition #25: 'simpleMessage', 'message', 'condition' [17:27:25.508] - Field: 'seed' [17:27:25.535] - Condition #26: 'simpleMessage', 'message', 'condition' [17:27:25.508] - Field: 'version' [17:27:25.535] - Condition #27: 'simpleMessage', 'message', 'condition' [17:27:25.508] - Field: 'result' [17:27:25.535] - Condition #28: 'simpleMessage', 'message', 'condition' [17:27:25.509] - Field: 'asynchronous' [17:27:25.536] - Condition #29: 'simpleMessage', 'message', 'condition' [17:27:25.509] - Field: 'calls' [17:27:25.536] - Condition #30: 'simpleMessage', 'message', 'condition' [17:27:25.509] - Field: 'globals' [17:27:25.536] - Condition #31: 'simpleMessage', 'message', 'condition' [17:27:25.509] - Field: 'stdout' [17:27:25.536] - Condition #32: 'simpleMessage', 'message', 'condition' [17:27:25.509] - Field: 'earlySignal' [17:27:25.536] - Condition #33: 'simpleMessage', 'message', 'condition' [17:27:25.510] - Field: 'lazy' [17:27:25.537] - Condition #34: 'simpleMessage', 'message', 'condition' [17:27:25.510] - Field: 'state' [17:27:25.537] - Condition #35: 'simpleMessage', 'message', 'condition' [17:27:25.510] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:25.537] - Condition #36: 'simpleMessage', 'message', 'condition' [17:27:25.510] - Launch lazy future ... [17:27:25.537] - Condition #37: 'simpleMessage', 'message', 'condition' [17:27:25.510] Packages needed by the future expression (n = 0): [17:27:25.537] - Condition #38: 'simpleMessage', 'message', 'condition' [17:27:25.511] Packages needed by future strategies (n = 0): [17:27:25.538] - Condition #39: 'simpleMessage', 'message', 'condition' [17:27:25.511] { [17:27:25.511] { [17:27:25.511] { [17:27:25.511] ...future.startTime <- base::Sys.time() [17:27:25.511] { [17:27:25.511] { [17:27:25.511] { [17:27:25.511] base::local({ [17:27:25.511] has_future <- base::requireNamespace("future", [17:27:25.511] quietly = TRUE) [17:27:25.511] if (has_future) { [17:27:25.511] ns <- base::getNamespace("future") [17:27:25.511] version <- ns[[".package"]][["version"]] [17:27:25.511] if (is.null(version)) [17:27:25.511] version <- utils::packageVersion("future") [17:27:25.511] } [17:27:25.511] else { [17:27:25.511] version <- NULL [17:27:25.511] } [17:27:25.511] if (!has_future || version < "1.8.0") { [17:27:25.511] info <- base::c(r_version = base::gsub("R version ", [17:27:25.511] "", base::R.version$version.string), [17:27:25.511] platform = base::sprintf("%s (%s-bit)", [17:27:25.511] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:25.511] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:25.511] "release", "version")], collapse = " "), [17:27:25.511] hostname = base::Sys.info()[["nodename"]]) [17:27:25.511] info <- base::sprintf("%s: %s", base::names(info), [17:27:25.511] info) [17:27:25.511] info <- base::paste(info, collapse = "; ") [17:27:25.511] if (!has_future) { [17:27:25.511] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:25.511] info) [17:27:25.511] } [17:27:25.511] else { [17:27:25.511] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:25.511] info, version) [17:27:25.511] } [17:27:25.511] base::stop(msg) [17:27:25.511] } [17:27:25.511] }) [17:27:25.511] } [17:27:25.511] ...future.strategy.old <- future::plan("list") [17:27:25.511] options(future.plan = NULL) [17:27:25.511] Sys.unsetenv("R_FUTURE_PLAN") [17:27:25.511] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:25.511] } [17:27:25.511] ...future.workdir <- getwd() [17:27:25.511] } [17:27:25.511] ...future.oldOptions <- base::as.list(base::.Options) [17:27:25.511] ...future.oldEnvVars <- base::Sys.getenv() [17:27:25.511] } [17:27:25.511] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:25.511] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:25.511] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:25.511] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:25.511] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:25.511] future.stdout.windows.reencode = NULL, width = 80L) [17:27:25.511] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:25.511] base::names(...future.oldOptions)) [17:27:25.511] } [17:27:25.511] if (FALSE) { [17:27:25.511] } [17:27:25.511] else { [17:27:25.511] if (TRUE) { [17:27:25.511] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:25.511] open = "w") [17:27:25.511] } [17:27:25.511] else { [17:27:25.511] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:25.511] windows = "NUL", "/dev/null"), open = "w") [17:27:25.511] } [17:27:25.511] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:25.511] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:25.511] base::sink(type = "output", split = FALSE) [17:27:25.511] base::close(...future.stdout) [17:27:25.511] }, add = TRUE) [17:27:25.511] } [17:27:25.511] ...future.frame <- base::sys.nframe() [17:27:25.511] ...future.conditions <- base::list() [17:27:25.511] ...future.rng <- base::globalenv()$.Random.seed [17:27:25.511] if (FALSE) { [17:27:25.511] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:25.511] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:25.511] } [17:27:25.511] ...future.result <- base::tryCatch({ [17:27:25.511] base::withCallingHandlers({ [17:27:25.511] ...future.value <- base::withVisible(base::local(subset(data, [17:27:25.511] a == 2))) [17:27:25.511] future::FutureResult(value = ...future.value$value, [17:27:25.511] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:25.511] ...future.rng), globalenv = if (FALSE) [17:27:25.511] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:25.511] ...future.globalenv.names)) [17:27:25.511] else NULL, started = ...future.startTime, version = "1.8") [17:27:25.511] }, condition = base::local({ [17:27:25.511] c <- base::c [17:27:25.511] inherits <- base::inherits [17:27:25.511] invokeRestart <- base::invokeRestart [17:27:25.511] length <- base::length [17:27:25.511] list <- base::list [17:27:25.511] seq.int <- base::seq.int [17:27:25.511] signalCondition <- base::signalCondition [17:27:25.511] sys.calls <- base::sys.calls [17:27:25.511] `[[` <- base::`[[` [17:27:25.511] `+` <- base::`+` [17:27:25.511] `<<-` <- base::`<<-` [17:27:25.511] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:25.511] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:25.511] 3L)] [17:27:25.511] } [17:27:25.511] function(cond) { [17:27:25.511] is_error <- inherits(cond, "error") [17:27:25.511] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:25.511] NULL) [17:27:25.511] if (is_error) { [17:27:25.511] sessionInformation <- function() { [17:27:25.511] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:25.511] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:25.511] search = base::search(), system = base::Sys.info()) [17:27:25.511] } [17:27:25.511] ...future.conditions[[length(...future.conditions) + [17:27:25.511] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:25.511] cond$call), session = sessionInformation(), [17:27:25.511] timestamp = base::Sys.time(), signaled = 0L) [17:27:25.511] signalCondition(cond) [17:27:25.511] } [17:27:25.511] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:25.511] "immediateCondition"))) { [17:27:25.511] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:25.511] ...future.conditions[[length(...future.conditions) + [17:27:25.511] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:25.511] if (TRUE && !signal) { [17:27:25.511] muffleCondition <- function (cond, pattern = "^muffle") [17:27:25.511] { [17:27:25.511] inherits <- base::inherits [17:27:25.511] invokeRestart <- base::invokeRestart [17:27:25.511] is.null <- base::is.null [17:27:25.511] muffled <- FALSE [17:27:25.511] if (inherits(cond, "message")) { [17:27:25.511] muffled <- grepl(pattern, "muffleMessage") [17:27:25.511] if (muffled) [17:27:25.511] invokeRestart("muffleMessage") [17:27:25.511] } [17:27:25.511] else if (inherits(cond, "warning")) { [17:27:25.511] muffled <- grepl(pattern, "muffleWarning") [17:27:25.511] if (muffled) [17:27:25.511] invokeRestart("muffleWarning") [17:27:25.511] } [17:27:25.511] else if (inherits(cond, "condition")) { [17:27:25.511] if (!is.null(pattern)) { [17:27:25.511] computeRestarts <- base::computeRestarts [17:27:25.511] grepl <- base::grepl [17:27:25.511] restarts <- computeRestarts(cond) [17:27:25.511] for (restart in restarts) { [17:27:25.511] name <- restart$name [17:27:25.511] if (is.null(name)) [17:27:25.511] next [17:27:25.511] if (!grepl(pattern, name)) [17:27:25.511] next [17:27:25.511] invokeRestart(restart) [17:27:25.511] muffled <- TRUE [17:27:25.511] break [17:27:25.511] } [17:27:25.511] } [17:27:25.511] } [17:27:25.511] invisible(muffled) [17:27:25.511] } [17:27:25.511] muffleCondition(cond, pattern = "^muffle") [17:27:25.511] } [17:27:25.511] } [17:27:25.511] else { [17:27:25.511] if (TRUE) { [17:27:25.511] muffleCondition <- function (cond, pattern = "^muffle") [17:27:25.511] { [17:27:25.511] inherits <- base::inherits [17:27:25.511] invokeRestart <- base::invokeRestart [17:27:25.511] is.null <- base::is.null [17:27:25.511] muffled <- FALSE [17:27:25.511] if (inherits(cond, "message")) { [17:27:25.511] muffled <- grepl(pattern, "muffleMessage") [17:27:25.511] if (muffled) [17:27:25.511] invokeRestart("muffleMessage") [17:27:25.511] } [17:27:25.511] else if (inherits(cond, "warning")) { [17:27:25.511] muffled <- grepl(pattern, "muffleWarning") [17:27:25.511] if (muffled) [17:27:25.511] invokeRestart("muffleWarning") [17:27:25.511] } [17:27:25.511] else if (inherits(cond, "condition")) { [17:27:25.511] if (!is.null(pattern)) { [17:27:25.511] computeRestarts <- base::computeRestarts [17:27:25.511] grepl <- base::grepl [17:27:25.511] restarts <- computeRestarts(cond) [17:27:25.511] for (restart in restarts) { [17:27:25.511] name <- restart$name [17:27:25.511] if (is.null(name)) [17:27:25.511] next [17:27:25.511] if (!grepl(pattern, name)) [17:27:25.511] next [17:27:25.511] invokeRestart(restart) [17:27:25.511] muffled <- TRUE [17:27:25.511] break [17:27:25.511] } [17:27:25.511] } [17:27:25.511] } [17:27:25.511] invisible(muffled) [17:27:25.511] } [17:27:25.511] muffleCondition(cond, pattern = "^muffle") [17:27:25.511] } [17:27:25.511] } [17:27:25.511] } [17:27:25.511] })) [17:27:25.511] }, error = function(ex) { [17:27:25.511] base::structure(base::list(value = NULL, visible = NULL, [17:27:25.511] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:25.511] ...future.rng), started = ...future.startTime, [17:27:25.511] finished = Sys.time(), session_uuid = NA_character_, [17:27:25.511] version = "1.8"), class = "FutureResult") [17:27:25.511] }, finally = { [17:27:25.511] if (!identical(...future.workdir, getwd())) [17:27:25.511] setwd(...future.workdir) [17:27:25.511] { [17:27:25.511] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:25.511] ...future.oldOptions$nwarnings <- NULL [17:27:25.511] } [17:27:25.511] base::options(...future.oldOptions) [17:27:25.511] if (.Platform$OS.type == "windows") { [17:27:25.511] old_names <- names(...future.oldEnvVars) [17:27:25.511] envs <- base::Sys.getenv() [17:27:25.511] names <- names(envs) [17:27:25.511] common <- intersect(names, old_names) [17:27:25.511] added <- setdiff(names, old_names) [17:27:25.511] removed <- setdiff(old_names, names) [17:27:25.511] changed <- common[...future.oldEnvVars[common] != [17:27:25.511] envs[common]] [17:27:25.511] NAMES <- toupper(changed) [17:27:25.511] args <- list() [17:27:25.511] for (kk in seq_along(NAMES)) { [17:27:25.511] name <- changed[[kk]] [17:27:25.511] NAME <- NAMES[[kk]] [17:27:25.511] if (name != NAME && is.element(NAME, old_names)) [17:27:25.511] next [17:27:25.511] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:25.511] } [17:27:25.511] NAMES <- toupper(added) [17:27:25.511] for (kk in seq_along(NAMES)) { [17:27:25.511] name <- added[[kk]] [17:27:25.511] NAME <- NAMES[[kk]] [17:27:25.511] if (name != NAME && is.element(NAME, old_names)) [17:27:25.511] next [17:27:25.511] args[[name]] <- "" [17:27:25.511] } [17:27:25.511] NAMES <- toupper(removed) [17:27:25.511] for (kk in seq_along(NAMES)) { [17:27:25.511] name <- removed[[kk]] [17:27:25.511] NAME <- NAMES[[kk]] [17:27:25.511] if (name != NAME && is.element(NAME, old_names)) [17:27:25.511] next [17:27:25.511] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:25.511] } [17:27:25.511] if (length(args) > 0) [17:27:25.511] base::do.call(base::Sys.setenv, args = args) [17:27:25.511] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:25.511] } [17:27:25.511] else { [17:27:25.511] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:25.511] } [17:27:25.511] { [17:27:25.511] if (base::length(...future.futureOptionsAdded) > [17:27:25.511] 0L) { [17:27:25.511] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:25.511] base::names(opts) <- ...future.futureOptionsAdded [17:27:25.511] base::options(opts) [17:27:25.511] } [17:27:25.511] { [17:27:25.511] { [17:27:25.511] NULL [17:27:25.511] RNGkind("Mersenne-Twister") [17:27:25.511] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:25.511] inherits = FALSE) [17:27:25.511] } [17:27:25.511] options(future.plan = NULL) [17:27:25.511] if (is.na(NA_character_)) [17:27:25.511] Sys.unsetenv("R_FUTURE_PLAN") [17:27:25.511] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:25.511] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:25.511] .init = FALSE) [17:27:25.511] } [17:27:25.511] } [17:27:25.511] } [17:27:25.511] }) [17:27:25.511] if (TRUE) { [17:27:25.511] base::sink(type = "output", split = FALSE) [17:27:25.511] if (TRUE) { [17:27:25.511] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:25.511] } [17:27:25.511] else { [17:27:25.511] ...future.result["stdout"] <- base::list(NULL) [17:27:25.511] } [17:27:25.511] base::close(...future.stdout) [17:27:25.511] ...future.stdout <- NULL [17:27:25.511] } [17:27:25.511] ...future.result$conditions <- ...future.conditions [17:27:25.511] ...future.result$finished <- base::Sys.time() [17:27:25.511] ...future.result [17:27:25.511] } [17:27:25.538] - Condition #40: 'simpleMessage', 'message', 'condition' [17:27:25.515] assign_globals() ... [17:27:25.538] - Condition #41: 'simpleMessage', 'message', 'condition' [17:27:25.515] List of 1 [17:27:25.515] $ data:'data.frame': 3 obs. of 2 variables: [17:27:25.515] ..$ a: int [1:3] 1 2 3 [17:27:25.515] ..$ b: int [1:3] 3 2 1 [17:27:25.515] - attr(*, "where")=List of 1 [17:27:25.515] ..$ data: [17:27:25.515] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:25.515] - attr(*, "resolved")= logi FALSE [17:27:25.515] - attr(*, "total_size")= num 128 [17:27:25.515] - attr(*, "already-done")= logi TRUE [17:27:25.538] - Condition #42: 'simpleMessage', 'message', 'condition' [17:27:25.519] - copied 'data' to environment [17:27:25.539] - Condition #43: 'simpleMessage', 'message', 'condition' [17:27:25.519] assign_globals() ... done [17:27:25.539] - Condition #44: 'simpleMessage', 'message', 'condition' [17:27:25.519] plan(): Setting new future strategy stack: [17:27:25.539] - Condition #45: 'simpleMessage', 'message', 'condition' [17:27:25.519] List of future strategies: [17:27:25.519] 1. sequential: [17:27:25.519] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.519] - tweaked: FALSE [17:27:25.519] - call: NULL [17:27:25.539] - Condition #46: 'simpleMessage', 'message', 'condition' [17:27:25.520] plan(): nbrOfWorkers() = 1 [17:27:25.540] - Condition #47: 'simpleMessage', 'message', 'condition' [17:27:25.521] plan(): Setting new future strategy stack: [17:27:25.540] - Condition #48: 'simpleMessage', 'message', 'condition' [17:27:25.522] List of future strategies: [17:27:25.522] 1. sequential: [17:27:25.522] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.522] - tweaked: FALSE [17:27:25.522] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.540] - Condition #49: 'simpleMessage', 'message', 'condition' [17:27:25.523] plan(): nbrOfWorkers() = 1 [17:27:25.540] - Condition #50: 'simpleMessage', 'message', 'condition' [17:27:25.523] SequentialFuture started (and completed) [17:27:25.540] - Condition #51: 'simpleMessage', 'message', 'condition' [17:27:25.524] - Launch lazy future ... done [17:27:25.541] - Condition #52: 'simpleMessage', 'message', 'condition' [17:27:25.524] run() for 'SequentialFuture' ... done [17:27:25.541] signalConditions() ... done - plan(list('sequential', 'sequential')) ... DONE - plan(list('sequential', 'multisession')) ... [17:27:25.541] plan(): Setting new future strategy stack: [17:27:25.541] List of future strategies: [17:27:25.541] 1. sequential: [17:27:25.541] - args: function (..., envir = parent.frame(), workers = "") [17:27:25.541] - tweaked: FALSE [17:27:25.541] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.541] 2. multisession: [17:27:25.541] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:25.541] - tweaked: FALSE [17:27:25.541] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.542] plan(): nbrOfWorkers() = 1 [17:27:25.543] getGlobalsAndPackages() ... [17:27:25.543] Searching for globals... [17:27:25.565] - globals found: [21] '{', '<-', 'unclass', '::', '[', 'nested', '-', 'stopifnot', '==', 'length', 'inherits', '[[', 'strategy2', 'for', 'seq_along', 'attr', 'attr<-', '[[<-', 'all.equal', 'list', '%<-%' [17:27:25.565] Searching for globals ... DONE [17:27:25.566] Resolving globals: FALSE [17:27:25.567] The total size of the 2 globals is 55.41 KiB (56736 bytes) [17:27:25.567] The total size of the 2 globals exported for future expression ('{; a <- 1L; plan_a <- unclass(future::plan("list")); nested_a <- nested[-1]; stopifnot(length(nested_a) == 1L, length(plan_a) == 1L, inherits(plan_a[[1]],; "future"), inherits(future::plan("next"), strategy2)); ...; }; y; }') is 55.41 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'nested' (55.29 KiB of class 'list') and 'strategy2' (120 bytes of class 'character') [17:27:25.568] - globals: [2] 'nested', 'strategy2' [17:27:25.568] - packages: [1] 'future' [17:27:25.568] getGlobalsAndPackages() ... DONE [17:27:25.568] run() for 'Future' ... [17:27:25.569] - state: 'created' [17:27:25.569] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:25.569] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:25.569] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:25.570] - Field: 'label' [17:27:25.570] - Field: 'local' [17:27:25.570] - Field: 'owner' [17:27:25.570] - Field: 'envir' [17:27:25.570] - Field: 'packages' [17:27:25.570] - Field: 'gc' [17:27:25.571] - Field: 'conditions' [17:27:25.571] - Field: 'expr' [17:27:25.571] - Field: 'uuid' [17:27:25.571] - Field: 'seed' [17:27:25.571] - Field: 'version' [17:27:25.572] - Field: 'result' [17:27:25.572] - Field: 'asynchronous' [17:27:25.572] - Field: 'calls' [17:27:25.572] - Field: 'globals' [17:27:25.572] - Field: 'stdout' [17:27:25.572] - Field: 'earlySignal' [17:27:25.573] - Field: 'lazy' [17:27:25.573] - Field: 'state' [17:27:25.573] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:25.573] - Launch lazy future ... [17:27:25.573] Packages needed by the future expression (n = 1): 'future' [17:27:25.574] Packages needed by future strategies (n = 1): 'future' [17:27:25.574] { [17:27:25.574] { [17:27:25.574] { [17:27:25.574] ...future.startTime <- base::Sys.time() [17:27:25.574] { [17:27:25.574] { [17:27:25.574] { [17:27:25.574] { [17:27:25.574] base::local({ [17:27:25.574] has_future <- base::requireNamespace("future", [17:27:25.574] quietly = TRUE) [17:27:25.574] if (has_future) { [17:27:25.574] ns <- base::getNamespace("future") [17:27:25.574] version <- ns[[".package"]][["version"]] [17:27:25.574] if (is.null(version)) [17:27:25.574] version <- utils::packageVersion("future") [17:27:25.574] } [17:27:25.574] else { [17:27:25.574] version <- NULL [17:27:25.574] } [17:27:25.574] if (!has_future || version < "1.8.0") { [17:27:25.574] info <- base::c(r_version = base::gsub("R version ", [17:27:25.574] "", base::R.version$version.string), [17:27:25.574] platform = base::sprintf("%s (%s-bit)", [17:27:25.574] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:25.574] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:25.574] "release", "version")], collapse = " "), [17:27:25.574] hostname = base::Sys.info()[["nodename"]]) [17:27:25.574] info <- base::sprintf("%s: %s", base::names(info), [17:27:25.574] info) [17:27:25.574] info <- base::paste(info, collapse = "; ") [17:27:25.574] if (!has_future) { [17:27:25.574] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:25.574] info) [17:27:25.574] } [17:27:25.574] else { [17:27:25.574] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:25.574] info, version) [17:27:25.574] } [17:27:25.574] base::stop(msg) [17:27:25.574] } [17:27:25.574] }) [17:27:25.574] } [17:27:25.574] base::local({ [17:27:25.574] for (pkg in "future") { [17:27:25.574] base::loadNamespace(pkg) [17:27:25.574] base::library(pkg, character.only = TRUE) [17:27:25.574] } [17:27:25.574] }) [17:27:25.574] } [17:27:25.574] ...future.strategy.old <- future::plan("list") [17:27:25.574] options(future.plan = NULL) [17:27:25.574] Sys.unsetenv("R_FUTURE_PLAN") [17:27:25.574] future::plan(list(b = function (..., workers = availableCores(), [17:27:25.574] lazy = FALSE, rscript_libs = .libPaths(), [17:27:25.574] envir = parent.frame()) [17:27:25.574] { [17:27:25.574] if (is.function(workers)) [17:27:25.574] workers <- workers() [17:27:25.574] workers <- structure(as.integer(workers), [17:27:25.574] class = class(workers)) [17:27:25.574] stop_if_not(length(workers) == 1, is.finite(workers), [17:27:25.574] workers >= 1) [17:27:25.574] if (workers == 1L && !inherits(workers, "AsIs")) { [17:27:25.574] return(sequential(..., lazy = TRUE, envir = envir)) [17:27:25.574] } [17:27:25.574] future <- MultisessionFuture(..., workers = workers, [17:27:25.574] lazy = lazy, rscript_libs = rscript_libs, [17:27:25.574] envir = envir) [17:27:25.574] if (!future$lazy) [17:27:25.574] future <- run(future) [17:27:25.574] invisible(future) [17:27:25.574] }), .cleanup = FALSE, .init = FALSE) [17:27:25.574] } [17:27:25.574] ...future.workdir <- getwd() [17:27:25.574] } [17:27:25.574] ...future.oldOptions <- base::as.list(base::.Options) [17:27:25.574] ...future.oldEnvVars <- base::Sys.getenv() [17:27:25.574] } [17:27:25.574] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:25.574] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:25.574] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:25.574] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:25.574] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:25.574] future.stdout.windows.reencode = NULL, width = 80L) [17:27:25.574] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:25.574] base::names(...future.oldOptions)) [17:27:25.574] } [17:27:25.574] if (FALSE) { [17:27:25.574] } [17:27:25.574] else { [17:27:25.574] if (TRUE) { [17:27:25.574] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:25.574] open = "w") [17:27:25.574] } [17:27:25.574] else { [17:27:25.574] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:25.574] windows = "NUL", "/dev/null"), open = "w") [17:27:25.574] } [17:27:25.574] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:25.574] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:25.574] base::sink(type = "output", split = FALSE) [17:27:25.574] base::close(...future.stdout) [17:27:25.574] }, add = TRUE) [17:27:25.574] } [17:27:25.574] ...future.frame <- base::sys.nframe() [17:27:25.574] ...future.conditions <- base::list() [17:27:25.574] ...future.rng <- base::globalenv()$.Random.seed [17:27:25.574] if (FALSE) { [17:27:25.574] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:25.574] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:25.574] } [17:27:25.574] ...future.result <- base::tryCatch({ [17:27:25.574] base::withCallingHandlers({ [17:27:25.574] ...future.value <- base::withVisible(base::local({ [17:27:25.574] a <- 1L [17:27:25.574] plan_a <- unclass(future::plan("list")) [17:27:25.574] nested_a <- nested[-1] [17:27:25.574] stopifnot(length(nested_a) == 1L, length(plan_a) == [17:27:25.574] 1L, inherits(plan_a[[1]], "future"), inherits(future::plan("next"), [17:27:25.574] strategy2)) [17:27:25.574] for (kk in seq_along(plan_a)) attr(plan_a[[kk]], [17:27:25.574] "init") <- NULL [17:27:25.574] for (kk in seq_along(nested_a)) attr(nested_a[[kk]], [17:27:25.574] "init") <- NULL [17:27:25.574] stopifnot(all.equal(plan_a, nested_a)) [17:27:25.574] y %<-% { [17:27:25.574] b <- 2L [17:27:25.574] plan_b <- future::plan("list") [17:27:25.574] nested_b <- nested_a[-1] [17:27:25.574] stopifnot(length(nested_b) == 0L, length(plan_b) == [17:27:25.574] 1L, inherits(plan_b[[1]], "future"), inherits(future::plan("next"), [17:27:25.574] "sequential")) [17:27:25.574] list(a = a, nested_a = nested_a, plan_a = plan_a, [17:27:25.574] b = b, nested_b = nested_b, plan_b = plan_b) [17:27:25.574] } [17:27:25.574] y [17:27:25.574] })) [17:27:25.574] future::FutureResult(value = ...future.value$value, [17:27:25.574] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:25.574] ...future.rng), globalenv = if (FALSE) [17:27:25.574] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:25.574] ...future.globalenv.names)) [17:27:25.574] else NULL, started = ...future.startTime, version = "1.8") [17:27:25.574] }, condition = base::local({ [17:27:25.574] c <- base::c [17:27:25.574] inherits <- base::inherits [17:27:25.574] invokeRestart <- base::invokeRestart [17:27:25.574] length <- base::length [17:27:25.574] list <- base::list [17:27:25.574] seq.int <- base::seq.int [17:27:25.574] signalCondition <- base::signalCondition [17:27:25.574] sys.calls <- base::sys.calls [17:27:25.574] `[[` <- base::`[[` [17:27:25.574] `+` <- base::`+` [17:27:25.574] `<<-` <- base::`<<-` [17:27:25.574] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:25.574] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:25.574] 3L)] [17:27:25.574] } [17:27:25.574] function(cond) { [17:27:25.574] is_error <- inherits(cond, "error") [17:27:25.574] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:25.574] NULL) [17:27:25.574] if (is_error) { [17:27:25.574] sessionInformation <- function() { [17:27:25.574] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:25.574] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:25.574] search = base::search(), system = base::Sys.info()) [17:27:25.574] } [17:27:25.574] ...future.conditions[[length(...future.conditions) + [17:27:25.574] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:25.574] cond$call), session = sessionInformation(), [17:27:25.574] timestamp = base::Sys.time(), signaled = 0L) [17:27:25.574] signalCondition(cond) [17:27:25.574] } [17:27:25.574] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:25.574] "immediateCondition"))) { [17:27:25.574] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:25.574] ...future.conditions[[length(...future.conditions) + [17:27:25.574] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:25.574] if (TRUE && !signal) { [17:27:25.574] muffleCondition <- function (cond, pattern = "^muffle") [17:27:25.574] { [17:27:25.574] inherits <- base::inherits [17:27:25.574] invokeRestart <- base::invokeRestart [17:27:25.574] is.null <- base::is.null [17:27:25.574] muffled <- FALSE [17:27:25.574] if (inherits(cond, "message")) { [17:27:25.574] muffled <- grepl(pattern, "muffleMessage") [17:27:25.574] if (muffled) [17:27:25.574] invokeRestart("muffleMessage") [17:27:25.574] } [17:27:25.574] else if (inherits(cond, "warning")) { [17:27:25.574] muffled <- grepl(pattern, "muffleWarning") [17:27:25.574] if (muffled) [17:27:25.574] invokeRestart("muffleWarning") [17:27:25.574] } [17:27:25.574] else if (inherits(cond, "condition")) { [17:27:25.574] if (!is.null(pattern)) { [17:27:25.574] computeRestarts <- base::computeRestarts [17:27:25.574] grepl <- base::grepl [17:27:25.574] restarts <- computeRestarts(cond) [17:27:25.574] for (restart in restarts) { [17:27:25.574] name <- restart$name [17:27:25.574] if (is.null(name)) [17:27:25.574] next [17:27:25.574] if (!grepl(pattern, name)) [17:27:25.574] next [17:27:25.574] invokeRestart(restart) [17:27:25.574] muffled <- TRUE [17:27:25.574] break [17:27:25.574] } [17:27:25.574] } [17:27:25.574] } [17:27:25.574] invisible(muffled) [17:27:25.574] } [17:27:25.574] muffleCondition(cond, pattern = "^muffle") [17:27:25.574] } [17:27:25.574] } [17:27:25.574] else { [17:27:25.574] if (TRUE) { [17:27:25.574] muffleCondition <- function (cond, pattern = "^muffle") [17:27:25.574] { [17:27:25.574] inherits <- base::inherits [17:27:25.574] invokeRestart <- base::invokeRestart [17:27:25.574] is.null <- base::is.null [17:27:25.574] muffled <- FALSE [17:27:25.574] if (inherits(cond, "message")) { [17:27:25.574] muffled <- grepl(pattern, "muffleMessage") [17:27:25.574] if (muffled) [17:27:25.574] invokeRestart("muffleMessage") [17:27:25.574] } [17:27:25.574] else if (inherits(cond, "warning")) { [17:27:25.574] muffled <- grepl(pattern, "muffleWarning") [17:27:25.574] if (muffled) [17:27:25.574] invokeRestart("muffleWarning") [17:27:25.574] } [17:27:25.574] else if (inherits(cond, "condition")) { [17:27:25.574] if (!is.null(pattern)) { [17:27:25.574] computeRestarts <- base::computeRestarts [17:27:25.574] grepl <- base::grepl [17:27:25.574] restarts <- computeRestarts(cond) [17:27:25.574] for (restart in restarts) { [17:27:25.574] name <- restart$name [17:27:25.574] if (is.null(name)) [17:27:25.574] next [17:27:25.574] if (!grepl(pattern, name)) [17:27:25.574] next [17:27:25.574] invokeRestart(restart) [17:27:25.574] muffled <- TRUE [17:27:25.574] break [17:27:25.574] } [17:27:25.574] } [17:27:25.574] } [17:27:25.574] invisible(muffled) [17:27:25.574] } [17:27:25.574] muffleCondition(cond, pattern = "^muffle") [17:27:25.574] } [17:27:25.574] } [17:27:25.574] } [17:27:25.574] })) [17:27:25.574] }, error = function(ex) { [17:27:25.574] base::structure(base::list(value = NULL, visible = NULL, [17:27:25.574] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:25.574] ...future.rng), started = ...future.startTime, [17:27:25.574] finished = Sys.time(), session_uuid = NA_character_, [17:27:25.574] version = "1.8"), class = "FutureResult") [17:27:25.574] }, finally = { [17:27:25.574] if (!identical(...future.workdir, getwd())) [17:27:25.574] setwd(...future.workdir) [17:27:25.574] { [17:27:25.574] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:25.574] ...future.oldOptions$nwarnings <- NULL [17:27:25.574] } [17:27:25.574] base::options(...future.oldOptions) [17:27:25.574] if (.Platform$OS.type == "windows") { [17:27:25.574] old_names <- names(...future.oldEnvVars) [17:27:25.574] envs <- base::Sys.getenv() [17:27:25.574] names <- names(envs) [17:27:25.574] common <- intersect(names, old_names) [17:27:25.574] added <- setdiff(names, old_names) [17:27:25.574] removed <- setdiff(old_names, names) [17:27:25.574] changed <- common[...future.oldEnvVars[common] != [17:27:25.574] envs[common]] [17:27:25.574] NAMES <- toupper(changed) [17:27:25.574] args <- list() [17:27:25.574] for (kk in seq_along(NAMES)) { [17:27:25.574] name <- changed[[kk]] [17:27:25.574] NAME <- NAMES[[kk]] [17:27:25.574] if (name != NAME && is.element(NAME, old_names)) [17:27:25.574] next [17:27:25.574] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:25.574] } [17:27:25.574] NAMES <- toupper(added) [17:27:25.574] for (kk in seq_along(NAMES)) { [17:27:25.574] name <- added[[kk]] [17:27:25.574] NAME <- NAMES[[kk]] [17:27:25.574] if (name != NAME && is.element(NAME, old_names)) [17:27:25.574] next [17:27:25.574] args[[name]] <- "" [17:27:25.574] } [17:27:25.574] NAMES <- toupper(removed) [17:27:25.574] for (kk in seq_along(NAMES)) { [17:27:25.574] name <- removed[[kk]] [17:27:25.574] NAME <- NAMES[[kk]] [17:27:25.574] if (name != NAME && is.element(NAME, old_names)) [17:27:25.574] next [17:27:25.574] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:25.574] } [17:27:25.574] if (length(args) > 0) [17:27:25.574] base::do.call(base::Sys.setenv, args = args) [17:27:25.574] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:25.574] } [17:27:25.574] else { [17:27:25.574] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:25.574] } [17:27:25.574] { [17:27:25.574] if (base::length(...future.futureOptionsAdded) > [17:27:25.574] 0L) { [17:27:25.574] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:25.574] base::names(opts) <- ...future.futureOptionsAdded [17:27:25.574] base::options(opts) [17:27:25.574] } [17:27:25.574] { [17:27:25.574] { [17:27:25.574] NULL [17:27:25.574] RNGkind("Mersenne-Twister") [17:27:25.574] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:25.574] inherits = FALSE) [17:27:25.574] } [17:27:25.574] options(future.plan = NULL) [17:27:25.574] if (is.na(NA_character_)) [17:27:25.574] Sys.unsetenv("R_FUTURE_PLAN") [17:27:25.574] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:25.574] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:25.574] .init = FALSE) [17:27:25.574] } [17:27:25.574] } [17:27:25.574] } [17:27:25.574] }) [17:27:25.574] if (TRUE) { [17:27:25.574] base::sink(type = "output", split = FALSE) [17:27:25.574] if (TRUE) { [17:27:25.574] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:25.574] } [17:27:25.574] else { [17:27:25.574] ...future.result["stdout"] <- base::list(NULL) [17:27:25.574] } [17:27:25.574] base::close(...future.stdout) [17:27:25.574] ...future.stdout <- NULL [17:27:25.574] } [17:27:25.574] ...future.result$conditions <- ...future.conditions [17:27:25.574] ...future.result$finished <- base::Sys.time() [17:27:25.574] ...future.result [17:27:25.574] } [17:27:25.579] assign_globals() ... [17:27:25.579] List of 2 [17:27:25.579] $ nested :List of 2 [17:27:25.579] ..$ a:function (..., envir = parent.frame()) [17:27:25.579] .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [17:27:25.579] .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) [17:27:25.579] ..$ b:function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), [17:27:25.579] envir = parent.frame()) [17:27:25.579] .. ..- attr(*, "class")= chr [1:5] "multisession" "cluster" "multiprocess" "future" ... [17:27:25.579] .. ..- attr(*, "init")= logi TRUE [17:27:25.579] .. ..- attr(*, "untweakable")= chr "persistent" [17:27:25.579] .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) [17:27:25.579] ..- attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [17:27:25.579] $ strategy2: chr "multisession" [17:27:25.579] - attr(*, "where")=List of 2 [17:27:25.579] ..$ nested : [17:27:25.579] ..$ strategy2: [17:27:25.579] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:25.579] - attr(*, "resolved")= logi FALSE [17:27:25.579] - attr(*, "total_size")= num 56736 [17:27:25.579] - attr(*, "already-done")= logi TRUE [17:27:25.585] - copied 'nested' to environment [17:27:25.585] - copied 'strategy2' to environment [17:27:25.586] assign_globals() ... done [17:27:25.586] plan(): Setting new future strategy stack: [17:27:25.586] List of future strategies: [17:27:25.586] 1. multisession: [17:27:25.586] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:25.586] - tweaked: FALSE [17:27:25.586] - call: plan(list(a = strategy1, b = strategy2)) [17:27:25.589] plan(): nbrOfWorkers() = 2 [17:27:26.530] plan(): Setting new future strategy stack: [17:27:26.531] List of future strategies: [17:27:26.531] 1. sequential: [17:27:26.531] - args: function (..., envir = parent.frame(), workers = "") [17:27:26.531] - tweaked: FALSE [17:27:26.531] - call: plan(list(a = strategy1, b = strategy2)) [17:27:26.531] 2. multisession: [17:27:26.531] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:26.531] - tweaked: FALSE [17:27:26.531] - call: plan(list(a = strategy1, b = strategy2)) [17:27:26.532] plan(): nbrOfWorkers() = 1 [17:27:26.532] SequentialFuture started (and completed) [17:27:26.532] signalConditions() ... [17:27:26.533] - include = 'immediateCondition' [17:27:26.533] - exclude = [17:27:26.533] - resignal = FALSE [17:27:26.533] - Number of conditions: 97 [17:27:26.533] signalConditions() ... done [17:27:26.534] - Launch lazy future ... done [17:27:26.534] run() for 'SequentialFuture' ... done [17:27:26.534] signalConditions() ... [17:27:26.534] - include = 'immediateCondition' [17:27:26.535] - exclude = [17:27:26.535] - resignal = FALSE [17:27:26.535] - Number of conditions: 97 [17:27:26.535] signalConditions() ... done [17:27:26.535] Future state: 'finished' [17:27:26.536] signalConditions() ... [17:27:26.536] - include = 'condition' [17:27:26.536] - exclude = 'immediateCondition' [17:27:26.536] - resignal = TRUE [17:27:26.536] - Number of conditions: 97 [17:27:26.537] - Condition #1: 'simpleMessage', 'message', 'condition' [17:27:25.590] getGlobalsAndPackages() ... [17:27:26.537] - Condition #2: 'simpleMessage', 'message', 'condition' [17:27:25.591] Searching for globals... [17:27:26.537] - Condition #3: 'simpleMessage', 'message', 'condition' [17:27:25.613] - globals found: [14] '{', '<-', '::', '[', 'nested_a', '-', 'stopifnot', '==', 'length', 'inherits', '[[', 'list', 'a', 'plan_a' [17:27:26.537] - Condition #4: 'simpleMessage', 'message', 'condition' [17:27:25.613] Searching for globals ... DONE [17:27:26.538] - Condition #5: 'simpleMessage', 'message', 'condition' [17:27:25.614] Resolving globals: FALSE [17:27:26.538] - Condition #6: 'simpleMessage', 'message', 'condition' [17:27:25.614] The total size of the 3 globals is 87.82 KiB (89928 bytes) [17:27:26.538] - Condition #7: 'simpleMessage', 'message', 'condition' [17:27:25.615] The total size of the 3 globals exported for future expression ('{; b <- 2L; plan_b <- future::plan("list"); nested_b <- nested_a[-1]; stopifnot(length(nested_b) == 0L, length(plan_b) == 1L, inherits(plan_b[[1]],; "future"), inherits(future::plan("next"), "sequential")); list(a = a, nested_a = nested_a, plan_a = plan_a, b = b,; nested_b = nested_b, plan_b = plan_b); }') is 87.82 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are three globals: 'nested_a' (43.88 KiB of class 'list'), 'plan_a' (43.88 KiB of class 'list') and 'a' (56 bytes of class 'numeric') [17:27:26.538] - Condition #8: 'simpleMessage', 'message', 'condition' [17:27:25.615] - globals: [3] 'nested_a', 'a', 'plan_a' [17:27:26.539] - Condition #9: 'simpleMessage', 'message', 'condition' [17:27:25.616] [17:27:26.539] - Condition #10: 'simpleMessage', 'message', 'condition' [17:27:25.616] getGlobalsAndPackages() ... DONE [17:27:26.539] - Condition #11: 'simpleMessage', 'message', 'condition' [17:27:25.616] run() for 'Future' ... [17:27:26.539] - Condition #12: 'simpleMessage', 'message', 'condition' [17:27:25.616] - state: 'created' [17:27:26.540] - Condition #13: 'simpleMessage', 'message', 'condition' [17:27:25.617] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:26.540] - Condition #14: 'simpleMessage', 'message', 'condition' [17:27:25.621] [local output] makeClusterPSOCK() ... [17:27:26.540] - Condition #15: 'simpleMessage', 'message', 'condition' [17:27:25.698] [local output] Workers: [n = 2] 'localhost', 'localhost' [17:27:26.540] - Condition #16: 'simpleMessage', 'message', 'condition' [17:27:25.704] [local output] Base port: 27571 [17:27:26.541] - Condition #17: 'simpleMessage', 'message', 'condition' [17:27:25.705] [local output] Getting setup options for 2 cluster nodes ... [17:27:26.541] - Condition #18: 'simpleMessage', 'message', 'condition' [17:27:25.705] [local output] - Node 1 of 2 ... [17:27:26.541] - Condition #19: 'simpleMessage', 'message', 'condition' [17:27:25.705] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:26.541] - Condition #20: 'simpleMessage', 'message', 'condition' [17:27:25.707] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp0sX0WZ/worker.rank=1.parallelly.parent=96212.177d47d981837.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/Rtmp0sX0WZ/worker.rank=1.parallelly.parent=96212.177d47d981837.pid\")"' [17:27:26.542] - Condition #21: 'simpleMessage', 'message', 'condition' [17:27:26.158] - Possible to infer worker's PID: TRUE [17:27:26.542] - Condition #22: 'simpleMessage', 'message', 'condition' [17:27:26.159] [local output] Rscript port: 27571 [17:27:26.542] - Condition #23: 'simpleMessage', 'message', 'condition' [17:27:26.159] [local output] - Node 2 of 2 ... [17:27:26.542] - Condition #24: 'simpleMessage', 'message', 'condition' [17:27:26.160] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:26.543] - Condition #25: 'simpleMessage', 'message', 'condition' [17:27:26.161] [local output] Rscript port: 27571 [17:27:26.543] - Condition #26: 'simpleMessage', 'message', 'condition' [17:27:26.162] [local output] Getting setup options for 2 cluster nodes ... done [17:27:26.543] - Condition #27: 'simpleMessage', 'message', 'condition' [17:27:26.162] [local output] - Parallel setup requested for some PSOCK nodes [17:27:26.543] - Condition #28: 'simpleMessage', 'message', 'condition' [17:27:26.163] [local output] Setting up PSOCK nodes in parallel [17:27:26.544] - Condition #29: 'simpleMessage', 'message', 'condition' [17:27:26.163] List of 36 [17:27:26.163] $ worker : chr "localhost" [17:27:26.163] ..- attr(*, "localhost")= logi TRUE [17:27:26.163] $ master : chr "localhost" [17:27:26.163] $ port : int 27571 [17:27:26.163] $ connectTimeout : num 120 [17:27:26.163] $ timeout : num 120 [17:27:26.163] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [17:27:26.163] $ homogeneous : logi TRUE [17:27:26.163] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=nested_futures.R:96212:CRANWIN3:"| __truncated__ [17:27:26.163] $ rscript_envs : NULL [17:27:26.163] $ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:26.163] $ rscript_startup : NULL [17:27:26.163] $ rscript_sh : chr "cmd" [17:27:26.163] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:26.163] $ methods : logi TRUE [17:27:26.163] $ socketOptions : chr "no-delay" [17:27:26.163] $ useXDR : logi FALSE [17:27:26.163] $ outfile : chr "/dev/null" [17:27:26.163] $ renice : int NA [17:27:26.163] $ rshcmd : NULL [17:27:26.163] $ user : chr(0) [17:27:26.163] $ revtunnel : logi FALSE [17:27:26.163] $ rshlogfile : NULL [17:27:26.163] $ rshopts : chr(0) [17:27:26.163] $ rank : int 1 [17:27:26.163] $ manual : logi FALSE [17:27:26.163] $ dryrun : logi FALSE [17:27:26.163] $ quiet : logi FALSE [17:27:26.163] $ setup_strategy : chr "parallel" [17:27:26.163] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:26.163] $ pidfile : chr "D:/temp/Rtmp0sX0WZ/worker.rank=1.parallelly.parent=96212.177d47d981837.pid" [17:27:26.163] $ rshcmd_label : NULL [17:27:26.163] $ rsh_call : NULL [17:27:26.163] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:26.163] $ localMachine : logi TRUE [17:27:26.163] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [17:27:26.163] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [17:27:26.163] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [17:27:26.163] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [17:27:26.163] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [17:27:26.163] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [17:27:26.163] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [17:27:26.163] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [17:27:26.163] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [17:27:26.163] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [17:27:26.163] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [17:27:26.163] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [17:27:26.163] "parallel"), action = c("launch", "options"), verbose = FALSE) [17:27:26.163] $ arguments :List of 28 [17:27:26.163] ..$ worker : chr "localhost" [17:27:26.163] ..$ master : NULL [17:27:26.163] ..$ port : int 27571 [17:27:26.163] ..$ connectTimeout : num 120 [17:27:26.163] ..$ timeout : num 120 [17:27:26.163] ..$ rscript : NULL [17:27:26.163] ..$ homogeneous : NULL [17:27:26.163] ..$ rscript_args : NULL [17:27:26.163] ..$ rscript_envs : NULL [17:27:26.163] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:26.163] ..$ rscript_startup : NULL [17:27:26.163] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [17:27:26.163] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:26.163] ..$ methods : logi TRUE [17:27:26.163] ..$ socketOptions : chr "no-delay" [17:27:26.163] ..$ useXDR : logi FALSE [17:27:26.163] ..$ outfile : chr "/dev/null" [17:27:26.163] ..$ renice : int NA [17:27:26.163] ..$ rshcmd : NULL [17:27:26.163] ..$ user : NULL [17:27:26.163] ..$ revtunnel : logi NA [17:27:26.163] ..$ rshlogfile : NULL [17:27:26.163] ..$ rshopts : NULL [17:27:26.163] ..$ rank : int 1 [17:27:26.163] ..$ manual : logi FALSE [17:27:26.163] ..$ dryrun : logi FALSE [17:27:26.163] ..$ quiet : logi FALSE [17:27:26.163] ..$ setup_strategy : chr "parallel" [17:27:26.163] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [17:27:26.544] - Condition #30: 'simpleMessage', 'message', 'condition' [17:27:26.191] [local output] System call to launch all workers: [17:27:26.544] - Condition #31: 'simpleMessage', 'message', 'condition' [17:27:26.191] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=nested_futures.R:96212:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp0sX0WZ/worker.rank=1.parallelly.parent=96212.177d47d981837.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=27571 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [17:27:26.544] - Condition #32: 'simpleMessage', 'message', 'condition' [17:27:26.191] [local output] Starting PSOCK main server [17:27:26.545] - Condition #33: 'simpleMessage', 'message', 'condition' [17:27:26.197] [local output] Workers launched [17:27:26.545] - Condition #34: 'simpleMessage', 'message', 'condition' [17:27:26.197] [local output] Waiting for workers to connect back [17:27:26.545] - Condition #35: 'simpleMessage', 'message', 'condition' [17:27:26.197] - [local output] 0 workers out of 2 ready [17:27:26.545] - Condition #36: 'simpleMessage', 'message', 'condition' [17:27:26.360] - [local output] 0 workers out of 2 ready [17:27:26.546] - Condition #37: 'simpleMessage', 'message', 'condition' [17:27:26.361] - [local output] 1 workers out of 2 ready [17:27:26.546] - Condition #38: 'simpleMessage', 'message', 'condition' [17:27:26.362] - [local output] 2 workers out of 2 ready [17:27:26.546] - Condition #39: 'simpleMessage', 'message', 'condition' [17:27:26.362] [local output] Launching of workers completed [17:27:26.546] - Condition #40: 'simpleMessage', 'message', 'condition' [17:27:26.363] [local output] Collecting session information from workers [17:27:26.547] - Condition #41: 'simpleMessage', 'message', 'condition' [17:27:26.364] [local output] - Worker #1 of 2 [17:27:26.547] - Condition #42: 'simpleMessage', 'message', 'condition' [17:27:26.364] [local output] - Worker #2 of 2 [17:27:26.547] - Condition #43: 'simpleMessage', 'message', 'condition' [17:27:26.365] [local output] makeClusterPSOCK() ... done [17:27:26.547] - Condition #44: 'simpleMessage', 'message', 'condition' [17:27:26.377] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:26.548] - Condition #45: 'simpleMessage', 'message', 'condition' [17:27:26.377] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:26.548] - Condition #46: 'simpleMessage', 'message', 'condition' [17:27:26.377] - Field: 'node' [17:27:26.548] - Condition #47: 'simpleMessage', 'message', 'condition' [17:27:26.377] - Field: 'label' [17:27:26.548] - Condition #48: 'simpleMessage', 'message', 'condition' [17:27:26.378] - Field: 'local' [17:27:26.549] - Condition #49: 'simpleMessage', 'message', 'condition' [17:27:26.378] - Field: 'owner' [17:27:26.549] - Condition #50: 'simpleMessage', 'message', 'condition' [17:27:26.378] - Field: 'envir' [17:27:26.549] - Condition #51: 'simpleMessage', 'message', 'condition' [17:27:26.378] - Field: 'workers' [17:27:26.549] - Condition #52: 'simpleMessage', 'message', 'condition' [17:27:26.379] - Field: 'packages' [17:27:26.550] - Condition #53: 'simpleMessage', 'message', 'condition' [17:27:26.379] - Field: 'gc' [17:27:26.550] - Condition #54: 'simpleMessage', 'message', 'condition' [17:27:26.379] - Field: 'conditions' [17:27:26.550] - Condition #55: 'simpleMessage', 'message', 'condition' [17:27:26.379] - Field: 'persistent' [17:27:26.550] - Condition #56: 'simpleMessage', 'message', 'condition' [17:27:26.379] - Field: 'expr' [17:27:26.551] - Condition #57: 'simpleMessage', 'message', 'condition' [17:27:26.380] - Field: 'uuid' [17:27:26.551] - Condition #58: 'simpleMessage', 'message', 'condition' [17:27:26.380] - Field: 'seed' [17:27:26.551] - Condition #59: 'simpleMessage', 'message', 'condition' [17:27:26.380] - Field: 'version' [17:27:26.551] - Condition #60: 'simpleMessage', 'message', 'condition' [17:27:26.380] - Field: 'result' [17:27:26.551] - Condition #61: 'simpleMessage', 'message', 'condition' [17:27:26.381] - Field: 'asynchronous' [17:27:26.552] - Condition #62: 'simpleMessage', 'message', 'condition' [17:27:26.381] - Field: 'calls' [17:27:26.552] - Condition #63: 'simpleMessage', 'message', 'condition' [17:27:26.381] - Field: 'globals' [17:27:26.552] - Condition #64: 'simpleMessage', 'message', 'condition' [17:27:26.381] - Field: 'stdout' [17:27:26.552] - Condition #65: 'simpleMessage', 'message', 'condition' [17:27:26.381] - Field: 'earlySignal' [17:27:26.553] - Condition #66: 'simpleMessage', 'message', 'condition' [17:27:26.382] - Field: 'lazy' [17:27:26.553] - Condition #67: 'simpleMessage', 'message', 'condition' [17:27:26.382] - Field: 'state' [17:27:26.553] - Condition #68: 'simpleMessage', 'message', 'condition' [17:27:26.382] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:26.553] - Condition #69: 'simpleMessage', 'message', 'condition' [17:27:26.382] - Launch lazy future ... [17:27:26.554] - Condition #70: 'simpleMessage', 'message', 'condition' [17:27:26.383] Packages needed by the future expression (n = 0): [17:27:26.554] - Condition #71: 'simpleMessage', 'message', 'condition' [17:27:26.384] Packages needed by future strategies (n = 0): [17:27:26.554] - Condition #72: 'simpleMessage', 'message', 'condition' [17:27:26.384] { [17:27:26.384] { [17:27:26.384] { [17:27:26.384] ...future.startTime <- base::Sys.time() [17:27:26.384] { [17:27:26.384] { [17:27:26.384] { [17:27:26.384] { [17:27:26.384] base::local({ [17:27:26.384] has_future <- base::requireNamespace("future", [17:27:26.384] quietly = TRUE) [17:27:26.384] if (has_future) { [17:27:26.384] ns <- base::getNamespace("future") [17:27:26.384] version <- ns[[".package"]][["version"]] [17:27:26.384] if (is.null(version)) [17:27:26.384] version <- utils::packageVersion("future") [17:27:26.384] } [17:27:26.384] else { [17:27:26.384] version <- NULL [17:27:26.384] } [17:27:26.384] if (!has_future || version < "1.8.0") { [17:27:26.384] info <- base::c(r_version = base::gsub("R version ", [17:27:26.384] "", base::R.version$version.string), [17:27:26.384] platform = base::sprintf("%s (%s-bit)", [17:27:26.384] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:26.384] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:26.384] "release", "version")], collapse = " "), [17:27:26.384] hostname = base::Sys.info()[["nodename"]]) [17:27:26.384] info <- base::sprintf("%s: %s", base::names(info), [17:27:26.384] info) [17:27:26.384] info <- base::paste(info, collapse = "; ") [17:27:26.384] if (!has_future) { [17:27:26.384] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:26.384] info) [17:27:26.384] } [17:27:26.384] else { [17:27:26.384] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:26.384] info, version) [17:27:26.384] } [17:27:26.384] base::stop(msg) [17:27:26.384] } [17:27:26.384] }) [17:27:26.384] } [17:27:26.384] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:26.384] base::options(mc.cores = 1L) [17:27:26.384] } [17:27:26.384] ...future.strategy.old <- future::plan("list") [17:27:26.384] options(future.plan = NULL) [17:27:26.384] Sys.unsetenv("R_FUTURE_PLAN") [17:27:26.384] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:26.384] } [17:27:26.384] ...future.workdir <- getwd() [17:27:26.384] } [17:27:26.384] ...future.oldOptions <- base::as.list(base::.Options) [17:27:26.384] ...future.oldEnvVars <- base::Sys.getenv() [17:27:26.384] } [17:27:26.384] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:26.384] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:26.384] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:26.384] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:26.384] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:26.384] future.stdout.windows.reencode = NULL, width = 80L) [17:27:26.384] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:26.384] base::names(...future.oldOptions)) [17:27:26.384] } [17:27:26.384] if (FALSE) { [17:27:26.384] } [17:27:26.384] else { [17:27:26.384] if (TRUE) { [17:27:26.384] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:26.384] open = "w") [17:27:26.384] } [17:27:26.384] else { [17:27:26.384] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:26.384] windows = "NUL", "/dev/null"), open = "w") [17:27:26.384] } [17:27:26.384] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:26.384] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:26.384] base::sink(type = "output", split = FALSE) [17:27:26.384] base::close(...future.stdout) [17:27:26.384] }, add = TRUE) [17:27:26.384] } [17:27:26.384] ...future.frame <- base::sys.nframe() [17:27:26.384] ...future.conditions <- base::list() [17:27:26.384] ...future.rng <- base::globalenv()$.Random.seed [17:27:26.384] if (FALSE) { [17:27:26.384] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:26.384] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:26.384] } [17:27:26.384] ...future.result <- base::tryCatch({ [17:27:26.384] base::withCallingHandlers({ [17:27:26.384] ...future.value <- base::withVisible(base::local({ [17:27:26.384] ...future.makeSendCondition <- base::local({ [17:27:26.384] sendCondition <- NULL [17:27:26.384] function(frame = 1L) { [17:27:26.384] if (is.function(sendCondition)) [17:27:26.384] return(sendCondition) [17:27:26.384] ns <- getNamespace("parallel") [17:27:26.384] if (exists("sendData", mode = "function", [17:27:26.384] envir = ns)) { [17:27:26.384] parallel_sendData <- get("sendData", mode = "function", [17:27:26.384] envir = ns) [17:27:26.384] envir <- sys.frame(frame) [17:27:26.384] master <- NULL [17:27:26.384] while (!identical(envir, .GlobalEnv) && [17:27:26.384] !identical(envir, emptyenv())) { [17:27:26.384] if (exists("master", mode = "list", envir = envir, [17:27:26.384] inherits = FALSE)) { [17:27:26.384] master <- get("master", mode = "list", [17:27:26.384] envir = envir, inherits = FALSE) [17:27:26.384] if (inherits(master, c("SOCKnode", [17:27:26.384] "SOCK0node"))) { [17:27:26.384] sendCondition <<- function(cond) { [17:27:26.384] data <- list(type = "VALUE", value = cond, [17:27:26.384] success = TRUE) [17:27:26.384] parallel_sendData(master, data) [17:27:26.384] } [17:27:26.384] return(sendCondition) [17:27:26.384] } [17:27:26.384] } [17:27:26.384] frame <- frame + 1L [17:27:26.384] envir <- sys.frame(frame) [17:27:26.384] } [17:27:26.384] } [17:27:26.384] sendCondition <<- function(cond) NULL [17:27:26.384] } [17:27:26.384] }) [17:27:26.384] withCallingHandlers({ [17:27:26.384] { [17:27:26.384] b <- 2L [17:27:26.384] plan_b <- future::plan("list") [17:27:26.384] nested_b <- nested_a[-1] [17:27:26.384] stopifnot(length(nested_b) == 0L, length(plan_b) == [17:27:26.384] 1L, inherits(plan_b[[1]], "future"), inherits(future::plan("next"), [17:27:26.384] "sequential")) [17:27:26.384] list(a = a, nested_a = nested_a, plan_a = plan_a, [17:27:26.384] b = b, nested_b = nested_b, plan_b = plan_b) [17:27:26.384] } [17:27:26.384] }, immediateCondition = function(cond) { [17:27:26.384] sendCondition <- ...future.makeSendCondition() [17:27:26.384] sendCondition(cond) [17:27:26.384] muffleCondition <- function (cond, pattern = "^muffle") [17:27:26.384] { [17:27:26.384] inherits <- base::inherits [17:27:26.384] invokeRestart <- base::invokeRestart [17:27:26.384] is.null <- base::is.null [17:27:26.384] muffled <- FALSE [17:27:26.384] if (inherits(cond, "message")) { [17:27:26.384] muffled <- grepl(pattern, "muffleMessage") [17:27:26.384] if (muffled) [17:27:26.384] invokeRestart("muffleMessage") [17:27:26.384] } [17:27:26.384] else if (inherits(cond, "warning")) { [17:27:26.384] muffled <- grepl(pattern, "muffleWarning") [17:27:26.384] if (muffled) [17:27:26.384] invokeRestart("muffleWarning") [17:27:26.384] } [17:27:26.384] else if (inherits(cond, "condition")) { [17:27:26.384] if (!is.null(pattern)) { [17:27:26.384] computeRestarts <- base::computeRestarts [17:27:26.384] grepl <- base::grepl [17:27:26.384] restarts <- computeRestarts(cond) [17:27:26.384] for (restart in restarts) { [17:27:26.384] name <- restart$name [17:27:26.384] if (is.null(name)) [17:27:26.384] next [17:27:26.384] if (!grepl(pattern, name)) [17:27:26.384] next [17:27:26.384] invokeRestart(restart) [17:27:26.384] muffled <- TRUE [17:27:26.384] break [17:27:26.384] } [17:27:26.384] } [17:27:26.384] } [17:27:26.384] invisible(muffled) [17:27:26.384] } [17:27:26.384] muffleCondition(cond) [17:27:26.384] }) [17:27:26.384] })) [17:27:26.384] future::FutureResult(value = ...future.value$value, [17:27:26.384] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:26.384] ...future.rng), globalenv = if (FALSE) [17:27:26.384] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:26.384] ...future.globalenv.names)) [17:27:26.384] else NULL, started = ...future.startTime, version = "1.8") [17:27:26.384] }, condition = base::local({ [17:27:26.384] c <- base::c [17:27:26.384] inherits <- base::inherits [17:27:26.384] invokeRestart <- base::invokeRestart [17:27:26.384] length <- base::length [17:27:26.384] list <- base::list [17:27:26.384] seq.int <- base::seq.int [17:27:26.384] signalCondition <- base::signalCondition [17:27:26.384] sys.calls <- base::sys.calls [17:27:26.384] `[[` <- base::`[[` [17:27:26.384] `+` <- base::`+` [17:27:26.384] `<<-` <- base::`<<-` [17:27:26.384] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:26.384] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:26.384] 3L)] [17:27:26.384] } [17:27:26.384] function(cond) { [17:27:26.384] is_error <- inherits(cond, "error") [17:27:26.384] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:26.384] NULL) [17:27:26.384] if (is_error) { [17:27:26.384] sessionInformation <- function() { [17:27:26.384] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:26.384] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:26.384] search = base::search(), system = base::Sys.info()) [17:27:26.384] } [17:27:26.384] ...future.conditions[[length(...future.conditions) + [17:27:26.384] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:26.384] cond$call), session = sessionInformation(), [17:27:26.384] timestamp = base::Sys.time(), signaled = 0L) [17:27:26.384] signalCondition(cond) [17:27:26.384] } [17:27:26.384] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:26.384] "immediateCondition"))) { [17:27:26.384] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:26.384] ...future.conditions[[length(...future.conditions) + [17:27:26.384] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:26.384] if (TRUE && !signal) { [17:27:26.384] muffleCondition <- function (cond, pattern = "^muffle") [17:27:26.384] { [17:27:26.384] inherits <- base::inherits [17:27:26.384] invokeRestart <- base::invokeRestart [17:27:26.384] is.null <- base::is.null [17:27:26.384] muffled <- FALSE [17:27:26.384] if (inherits(cond, "message")) { [17:27:26.384] muffled <- grepl(pattern, "muffleMessage") [17:27:26.384] if (muffled) [17:27:26.384] invokeRestart("muffleMessage") [17:27:26.384] } [17:27:26.384] else if (inherits(cond, "warning")) { [17:27:26.384] muffled <- grepl(pattern, "muffleWarning") [17:27:26.384] if (muffled) [17:27:26.384] invokeRestart("muffleWarning") [17:27:26.384] } [17:27:26.384] else if (inherits(cond, "condition")) { [17:27:26.384] if (!is.null(pattern)) { [17:27:26.384] computeRestarts <- base::computeRestarts [17:27:26.384] grepl <- base::grepl [17:27:26.384] restarts <- computeRestarts(cond) [17:27:26.384] for (restart in restarts) { [17:27:26.384] name <- restart$name [17:27:26.384] if (is.null(name)) [17:27:26.384] next [17:27:26.384] if (!grepl(pattern, name)) [17:27:26.384] next [17:27:26.384] invokeRestart(restart) [17:27:26.384] muffled <- TRUE [17:27:26.384] break [17:27:26.384] } [17:27:26.384] } [17:27:26.384] } [17:27:26.384] invisible(muffled) [17:27:26.384] } [17:27:26.384] muffleCondition(cond, pattern = "^muffle") [17:27:26.384] } [17:27:26.384] } [17:27:26.384] else { [17:27:26.384] if (TRUE) { [17:27:26.384] muffleCondition <- function (cond, pattern = "^muffle") [17:27:26.384] { [17:27:26.384] inherits <- base::inherits [17:27:26.384] invokeRestart <- base::invokeRestart [17:27:26.384] is.null <- base::is.null [17:27:26.384] muffled <- FALSE [17:27:26.384] if (inherits(cond, "message")) { [17:27:26.384] muffled <- grepl(pattern, "muffleMessage") [17:27:26.384] if (muffled) [17:27:26.384] invokeRestart("muffleMessage") [17:27:26.384] } [17:27:26.384] else if (inherits(cond, "warning")) { [17:27:26.384] muffled <- grepl(pattern, "muffleWarning") [17:27:26.384] if (muffled) [17:27:26.384] invokeRestart("muffleWarning") [17:27:26.384] } [17:27:26.384] else if (inherits(cond, "condition")) { [17:27:26.384] if (!is.null(pattern)) { [17:27:26.384] computeRestarts <- base::computeRestarts [17:27:26.384] grepl <- base::grepl [17:27:26.384] restarts <- computeRestarts(cond) [17:27:26.384] for (restart in restarts) { [17:27:26.384] name <- restart$name [17:27:26.384] if (is.null(name)) [17:27:26.384] next [17:27:26.384] if (!grepl(pattern, name)) [17:27:26.384] next [17:27:26.384] invokeRestart(restart) [17:27:26.384] muffled <- TRUE [17:27:26.384] break [17:27:26.384] } [17:27:26.384] } [17:27:26.384] } [17:27:26.384] invisible(muffled) [17:27:26.384] } [17:27:26.384] muffleCondition(cond, pattern = "^muffle") [17:27:26.384] } [17:27:26.384] } [17:27:26.384] } [17:27:26.384] })) [17:27:26.384] }, error = function(ex) { [17:27:26.384] base::structure(base::list(value = NULL, visible = NULL, [17:27:26.384] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:26.384] ...future.rng), started = ...future.startTime, [17:27:26.384] finished = Sys.time(), session_uuid = NA_character_, [17:27:26.384] version = "1.8"), class = "FutureResult") [17:27:26.384] }, finally = { [17:27:26.384] if (!identical(...future.workdir, getwd())) [17:27:26.384] setwd(...future.workdir) [17:27:26.384] { [17:27:26.384] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:26.384] ...future.oldOptions$nwarnings <- NULL [17:27:26.384] } [17:27:26.384] base::options(...future.oldOptions) [17:27:26.384] if (.Platform$OS.type == "windows") { [17:27:26.384] old_names <- names(...future.oldEnvVars) [17:27:26.384] envs <- base::Sys.getenv() [17:27:26.384] names <- names(envs) [17:27:26.384] common <- intersect(names, old_names) [17:27:26.384] added <- setdiff(names, old_names) [17:27:26.384] removed <- setdiff(old_names, names) [17:27:26.384] changed <- common[...future.oldEnvVars[common] != [17:27:26.384] envs[common]] [17:27:26.384] NAMES <- toupper(changed) [17:27:26.384] args <- list() [17:27:26.384] for (kk in seq_along(NAMES)) { [17:27:26.384] name <- changed[[kk]] [17:27:26.384] NAME <- NAMES[[kk]] [17:27:26.384] if (name != NAME && is.element(NAME, old_names)) [17:27:26.384] next [17:27:26.384] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:26.384] } [17:27:26.384] NAMES <- toupper(added) [17:27:26.384] for (kk in seq_along(NAMES)) { [17:27:26.384] name <- added[[kk]] [17:27:26.384] NAME <- NAMES[[kk]] [17:27:26.384] if (name != NAME && is.element(NAME, old_names)) [17:27:26.384] next [17:27:26.384] args[[name]] <- "" [17:27:26.384] } [17:27:26.384] NAMES <- toupper(removed) [17:27:26.384] for (kk in seq_along(NAMES)) { [17:27:26.384] name <- removed[[kk]] [17:27:26.384] NAME <- NAMES[[kk]] [17:27:26.384] if (name != NAME && is.element(NAME, old_names)) [17:27:26.384] next [17:27:26.384] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:26.384] } [17:27:26.384] if (length(args) > 0) [17:27:26.384] base::do.call(base::Sys.setenv, args = args) [17:27:26.384] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:26.384] } [17:27:26.384] else { [17:27:26.384] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:26.384] } [17:27:26.384] { [17:27:26.384] if (base::length(...future.futureOptionsAdded) > [17:27:26.384] 0L) { [17:27:26.384] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:26.384] base::names(opts) <- ...future.futureOptionsAdded [17:27:26.384] base::options(opts) [17:27:26.384] } [17:27:26.384] { [17:27:26.384] { [17:27:26.384] base::options(mc.cores = ...future.mc.cores.old) [17:27:26.384] NULL [17:27:26.384] } [17:27:26.384] options(future.plan = NULL) [17:27:26.384] if (is.na(NA_character_)) [17:27:26.384] Sys.unsetenv("R_FUTURE_PLAN") [17:27:26.384] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:26.384] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:26.384] .init = FALSE) [17:27:26.384] } [17:27:26.384] } [17:27:26.384] } [17:27:26.384] }) [17:27:26.384] if (TRUE) { [17:27:26.384] base::sink(type = "output", split = FALSE) [17:27:26.384] if (TRUE) { [17:27:26.384] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:26.384] } [17:27:26.384] else { [17:27:26.384] ...future.result["stdout"] <- base::list(NULL) [17:27:26.384] } [17:27:26.384] base::close(...future.stdout) [17:27:26.384] ...future.stdout <- NULL [17:27:26.384] } [17:27:26.384] ...future.result$conditions <- ...future.conditions [17:27:26.384] ...future.result$finished <- base::Sys.time() [17:27:26.384] ...future.result [17:27:26.384] } [17:27:26.555] - Condition #73: 'simpleMessage', 'message', 'condition' [17:27:26.467] Exporting 3 global objects (87.82 KiB) to cluster node #1 ... [17:27:26.555] - Condition #74: 'simpleMessage', 'message', 'condition' [17:27:26.468] Exporting 'nested_a' (43.88 KiB) to cluster node #1 ... [17:27:26.555] - Condition #75: 'simpleMessage', 'message', 'condition' [17:27:26.468] Exporting 'nested_a' (43.88 KiB) to cluster node #1 ... DONE [17:27:26.555] - Condition #76: 'simpleMessage', 'message', 'condition' [17:27:26.469] Exporting 'a' (56 bytes) to cluster node #1 ... [17:27:26.555] - Condition #77: 'simpleMessage', 'message', 'condition' [17:27:26.469] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [17:27:26.556] - Condition #78: 'simpleMessage', 'message', 'condition' [17:27:26.469] Exporting 'plan_a' (43.88 KiB) to cluster node #1 ... [17:27:26.556] - Condition #79: 'simpleMessage', 'message', 'condition' [17:27:26.470] Exporting 'plan_a' (43.88 KiB) to cluster node #1 ... DONE [17:27:26.556] - Condition #80: 'simpleMessage', 'message', 'condition' [17:27:26.470] Exporting 3 global objects (87.82 KiB) to cluster node #1 ... DONE [17:27:26.556] - Condition #81: 'simpleMessage', 'message', 'condition' [17:27:26.471] MultisessionFuture started [17:27:26.557] - Condition #82: 'simpleMessage', 'message', 'condition' [17:27:26.471] - Launch lazy future ... done [17:27:26.557] - Condition #83: 'simpleMessage', 'message', 'condition' [17:27:26.471] run() for 'MultisessionFuture' ... done [17:27:26.557] - Condition #84: 'simpleMessage', 'message', 'condition' [17:27:26.472] result() for ClusterFuture ... [17:27:26.557] - Condition #85: 'simpleMessage', 'message', 'condition' [17:27:26.472] receiveMessageFromWorker() for ClusterFuture ... [17:27:26.558] - Condition #86: 'simpleMessage', 'message', 'condition' [17:27:26.473] - Validating connection of MultisessionFuture [17:27:26.558] - Condition #87: 'simpleMessage', 'message', 'condition' [17:27:26.523] - received message: FutureResult [17:27:26.558] - Condition #88: 'simpleMessage', 'message', 'condition' [17:27:26.524] - Received FutureResult [17:27:26.558] - Condition #89: 'simpleMessage', 'message', 'condition' [17:27:26.527] - Erased future from FutureRegistry [17:27:26.559] - Condition #90: 'simpleMessage', 'message', 'condition' [17:27:26.528] result() for ClusterFuture ... [17:27:26.559] - Condition #91: 'simpleMessage', 'message', 'condition' [17:27:26.528] - result already collected: FutureResult [17:27:26.559] - Condition #92: 'simpleMessage', 'message', 'condition' [17:27:26.528] result() for ClusterFuture ... done [17:27:26.559] - Condition #93: 'simpleMessage', 'message', 'condition' [17:27:26.528] receiveMessageFromWorker() for ClusterFuture ... done [17:27:26.560] - Condition #94: 'simpleMessage', 'message', 'condition' [17:27:26.529] result() for ClusterFuture ... done [17:27:26.560] - Condition #95: 'simpleMessage', 'message', 'condition' [17:27:26.529] result() for ClusterFuture ... [17:27:26.560] - Condition #96: 'simpleMessage', 'message', 'condition' [17:27:26.529] - result already collected: FutureResult [17:27:26.560] - Condition #97: 'simpleMessage', 'message', 'condition' [17:27:26.529] result() for ClusterFuture ... done [17:27:26.561] signalConditions() ... done List of 6 $ a : int 1 $ nested_a:List of 1 ..$ b:function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) .. ..- attr(*, "class")= chr [1:5] "multisession" "cluster" "multiprocess" "future" ... .. ..- attr(*, "untweakable")= chr "persistent" .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) $ plan_a :List of 1 ..$ b:function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) .. ..- attr(*, "class")= chr [1:5] "multisession" "cluster" "multiprocess" "future" ... .. ..- attr(*, "untweakable")= chr "persistent" .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) $ b : int 2 $ nested_b: Named list() $ plan_b :List of 1 ..$ :function (..., envir = parent.frame()) .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" ..- attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [17:27:26.569] getGlobalsAndPackages() ... [17:27:26.569] Searching for globals... [17:27:26.571] - globals found: [7] '{', 'value', 'future', 'subset', 'data', '==', 'a' [17:27:26.571] Searching for globals ... DONE [17:27:26.572] Resolving globals: FALSE [17:27:26.572] The total size of the 1 globals is 128 bytes (128 bytes) [17:27:26.573] The total size of the 1 globals exported for future expression ('{; value(future(subset(data, a == 2))); }') is 128 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'data' (128 bytes of class 'list') [17:27:26.573] - globals: [1] 'data' [17:27:26.573] - packages: [1] 'future' [17:27:26.574] getGlobalsAndPackages() ... DONE [17:27:26.574] run() for 'Future' ... [17:27:26.574] - state: 'created' [17:27:26.575] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:26.575] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:26.575] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:26.576] - Field: 'label' [17:27:26.576] - Field: 'local' [17:27:26.576] - Field: 'owner' [17:27:26.576] - Field: 'envir' [17:27:26.576] - Field: 'packages' [17:27:26.577] - Field: 'gc' [17:27:26.577] - Field: 'conditions' [17:27:26.577] - Field: 'expr' [17:27:26.577] - Field: 'uuid' [17:27:26.577] - Field: 'seed' [17:27:26.578] - Field: 'version' [17:27:26.578] - Field: 'result' [17:27:26.578] - Field: 'asynchronous' [17:27:26.578] - Field: 'calls' [17:27:26.579] - Field: 'globals' [17:27:26.579] - Field: 'stdout' [17:27:26.579] - Field: 'earlySignal' [17:27:26.579] - Field: 'lazy' [17:27:26.579] - Field: 'state' [17:27:26.580] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:26.580] - Launch lazy future ... [17:27:26.580] Packages needed by the future expression (n = 1): 'future' [17:27:26.581] Packages needed by future strategies (n = 1): 'future' [17:27:26.582] { [17:27:26.582] { [17:27:26.582] { [17:27:26.582] ...future.startTime <- base::Sys.time() [17:27:26.582] { [17:27:26.582] { [17:27:26.582] { [17:27:26.582] { [17:27:26.582] base::local({ [17:27:26.582] has_future <- base::requireNamespace("future", [17:27:26.582] quietly = TRUE) [17:27:26.582] if (has_future) { [17:27:26.582] ns <- base::getNamespace("future") [17:27:26.582] version <- ns[[".package"]][["version"]] [17:27:26.582] if (is.null(version)) [17:27:26.582] version <- utils::packageVersion("future") [17:27:26.582] } [17:27:26.582] else { [17:27:26.582] version <- NULL [17:27:26.582] } [17:27:26.582] if (!has_future || version < "1.8.0") { [17:27:26.582] info <- base::c(r_version = base::gsub("R version ", [17:27:26.582] "", base::R.version$version.string), [17:27:26.582] platform = base::sprintf("%s (%s-bit)", [17:27:26.582] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:26.582] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:26.582] "release", "version")], collapse = " "), [17:27:26.582] hostname = base::Sys.info()[["nodename"]]) [17:27:26.582] info <- base::sprintf("%s: %s", base::names(info), [17:27:26.582] info) [17:27:26.582] info <- base::paste(info, collapse = "; ") [17:27:26.582] if (!has_future) { [17:27:26.582] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:26.582] info) [17:27:26.582] } [17:27:26.582] else { [17:27:26.582] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:26.582] info, version) [17:27:26.582] } [17:27:26.582] base::stop(msg) [17:27:26.582] } [17:27:26.582] }) [17:27:26.582] } [17:27:26.582] base::local({ [17:27:26.582] for (pkg in "future") { [17:27:26.582] base::loadNamespace(pkg) [17:27:26.582] base::library(pkg, character.only = TRUE) [17:27:26.582] } [17:27:26.582] }) [17:27:26.582] } [17:27:26.582] ...future.strategy.old <- future::plan("list") [17:27:26.582] options(future.plan = NULL) [17:27:26.582] Sys.unsetenv("R_FUTURE_PLAN") [17:27:26.582] future::plan(list(b = function (..., workers = availableCores(), [17:27:26.582] lazy = FALSE, rscript_libs = .libPaths(), [17:27:26.582] envir = parent.frame()) [17:27:26.582] { [17:27:26.582] if (is.function(workers)) [17:27:26.582] workers <- workers() [17:27:26.582] workers <- structure(as.integer(workers), [17:27:26.582] class = class(workers)) [17:27:26.582] stop_if_not(length(workers) == 1, is.finite(workers), [17:27:26.582] workers >= 1) [17:27:26.582] if (workers == 1L && !inherits(workers, "AsIs")) { [17:27:26.582] return(sequential(..., lazy = TRUE, envir = envir)) [17:27:26.582] } [17:27:26.582] future <- MultisessionFuture(..., workers = workers, [17:27:26.582] lazy = lazy, rscript_libs = rscript_libs, [17:27:26.582] envir = envir) [17:27:26.582] if (!future$lazy) [17:27:26.582] future <- run(future) [17:27:26.582] invisible(future) [17:27:26.582] }), .cleanup = FALSE, .init = FALSE) [17:27:26.582] } [17:27:26.582] ...future.workdir <- getwd() [17:27:26.582] } [17:27:26.582] ...future.oldOptions <- base::as.list(base::.Options) [17:27:26.582] ...future.oldEnvVars <- base::Sys.getenv() [17:27:26.582] } [17:27:26.582] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:26.582] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:26.582] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:26.582] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:26.582] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:26.582] future.stdout.windows.reencode = NULL, width = 80L) [17:27:26.582] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:26.582] base::names(...future.oldOptions)) [17:27:26.582] } [17:27:26.582] if (FALSE) { [17:27:26.582] } [17:27:26.582] else { [17:27:26.582] if (TRUE) { [17:27:26.582] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:26.582] open = "w") [17:27:26.582] } [17:27:26.582] else { [17:27:26.582] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:26.582] windows = "NUL", "/dev/null"), open = "w") [17:27:26.582] } [17:27:26.582] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:26.582] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:26.582] base::sink(type = "output", split = FALSE) [17:27:26.582] base::close(...future.stdout) [17:27:26.582] }, add = TRUE) [17:27:26.582] } [17:27:26.582] ...future.frame <- base::sys.nframe() [17:27:26.582] ...future.conditions <- base::list() [17:27:26.582] ...future.rng <- base::globalenv()$.Random.seed [17:27:26.582] if (FALSE) { [17:27:26.582] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:26.582] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:26.582] } [17:27:26.582] ...future.result <- base::tryCatch({ [17:27:26.582] base::withCallingHandlers({ [17:27:26.582] ...future.value <- base::withVisible(base::local({ [17:27:26.582] value(future(subset(data, a == 2))) [17:27:26.582] })) [17:27:26.582] future::FutureResult(value = ...future.value$value, [17:27:26.582] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:26.582] ...future.rng), globalenv = if (FALSE) [17:27:26.582] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:26.582] ...future.globalenv.names)) [17:27:26.582] else NULL, started = ...future.startTime, version = "1.8") [17:27:26.582] }, condition = base::local({ [17:27:26.582] c <- base::c [17:27:26.582] inherits <- base::inherits [17:27:26.582] invokeRestart <- base::invokeRestart [17:27:26.582] length <- base::length [17:27:26.582] list <- base::list [17:27:26.582] seq.int <- base::seq.int [17:27:26.582] signalCondition <- base::signalCondition [17:27:26.582] sys.calls <- base::sys.calls [17:27:26.582] `[[` <- base::`[[` [17:27:26.582] `+` <- base::`+` [17:27:26.582] `<<-` <- base::`<<-` [17:27:26.582] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:26.582] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:26.582] 3L)] [17:27:26.582] } [17:27:26.582] function(cond) { [17:27:26.582] is_error <- inherits(cond, "error") [17:27:26.582] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:26.582] NULL) [17:27:26.582] if (is_error) { [17:27:26.582] sessionInformation <- function() { [17:27:26.582] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:26.582] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:26.582] search = base::search(), system = base::Sys.info()) [17:27:26.582] } [17:27:26.582] ...future.conditions[[length(...future.conditions) + [17:27:26.582] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:26.582] cond$call), session = sessionInformation(), [17:27:26.582] timestamp = base::Sys.time(), signaled = 0L) [17:27:26.582] signalCondition(cond) [17:27:26.582] } [17:27:26.582] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:26.582] "immediateCondition"))) { [17:27:26.582] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:26.582] ...future.conditions[[length(...future.conditions) + [17:27:26.582] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:26.582] if (TRUE && !signal) { [17:27:26.582] muffleCondition <- function (cond, pattern = "^muffle") [17:27:26.582] { [17:27:26.582] inherits <- base::inherits [17:27:26.582] invokeRestart <- base::invokeRestart [17:27:26.582] is.null <- base::is.null [17:27:26.582] muffled <- FALSE [17:27:26.582] if (inherits(cond, "message")) { [17:27:26.582] muffled <- grepl(pattern, "muffleMessage") [17:27:26.582] if (muffled) [17:27:26.582] invokeRestart("muffleMessage") [17:27:26.582] } [17:27:26.582] else if (inherits(cond, "warning")) { [17:27:26.582] muffled <- grepl(pattern, "muffleWarning") [17:27:26.582] if (muffled) [17:27:26.582] invokeRestart("muffleWarning") [17:27:26.582] } [17:27:26.582] else if (inherits(cond, "condition")) { [17:27:26.582] if (!is.null(pattern)) { [17:27:26.582] computeRestarts <- base::computeRestarts [17:27:26.582] grepl <- base::grepl [17:27:26.582] restarts <- computeRestarts(cond) [17:27:26.582] for (restart in restarts) { [17:27:26.582] name <- restart$name [17:27:26.582] if (is.null(name)) [17:27:26.582] next [17:27:26.582] if (!grepl(pattern, name)) [17:27:26.582] next [17:27:26.582] invokeRestart(restart) [17:27:26.582] muffled <- TRUE [17:27:26.582] break [17:27:26.582] } [17:27:26.582] } [17:27:26.582] } [17:27:26.582] invisible(muffled) [17:27:26.582] } [17:27:26.582] muffleCondition(cond, pattern = "^muffle") [17:27:26.582] } [17:27:26.582] } [17:27:26.582] else { [17:27:26.582] if (TRUE) { [17:27:26.582] muffleCondition <- function (cond, pattern = "^muffle") [17:27:26.582] { [17:27:26.582] inherits <- base::inherits [17:27:26.582] invokeRestart <- base::invokeRestart [17:27:26.582] is.null <- base::is.null [17:27:26.582] muffled <- FALSE [17:27:26.582] if (inherits(cond, "message")) { [17:27:26.582] muffled <- grepl(pattern, "muffleMessage") [17:27:26.582] if (muffled) [17:27:26.582] invokeRestart("muffleMessage") [17:27:26.582] } [17:27:26.582] else if (inherits(cond, "warning")) { [17:27:26.582] muffled <- grepl(pattern, "muffleWarning") [17:27:26.582] if (muffled) [17:27:26.582] invokeRestart("muffleWarning") [17:27:26.582] } [17:27:26.582] else if (inherits(cond, "condition")) { [17:27:26.582] if (!is.null(pattern)) { [17:27:26.582] computeRestarts <- base::computeRestarts [17:27:26.582] grepl <- base::grepl [17:27:26.582] restarts <- computeRestarts(cond) [17:27:26.582] for (restart in restarts) { [17:27:26.582] name <- restart$name [17:27:26.582] if (is.null(name)) [17:27:26.582] next [17:27:26.582] if (!grepl(pattern, name)) [17:27:26.582] next [17:27:26.582] invokeRestart(restart) [17:27:26.582] muffled <- TRUE [17:27:26.582] break [17:27:26.582] } [17:27:26.582] } [17:27:26.582] } [17:27:26.582] invisible(muffled) [17:27:26.582] } [17:27:26.582] muffleCondition(cond, pattern = "^muffle") [17:27:26.582] } [17:27:26.582] } [17:27:26.582] } [17:27:26.582] })) [17:27:26.582] }, error = function(ex) { [17:27:26.582] base::structure(base::list(value = NULL, visible = NULL, [17:27:26.582] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:26.582] ...future.rng), started = ...future.startTime, [17:27:26.582] finished = Sys.time(), session_uuid = NA_character_, [17:27:26.582] version = "1.8"), class = "FutureResult") [17:27:26.582] }, finally = { [17:27:26.582] if (!identical(...future.workdir, getwd())) [17:27:26.582] setwd(...future.workdir) [17:27:26.582] { [17:27:26.582] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:26.582] ...future.oldOptions$nwarnings <- NULL [17:27:26.582] } [17:27:26.582] base::options(...future.oldOptions) [17:27:26.582] if (.Platform$OS.type == "windows") { [17:27:26.582] old_names <- names(...future.oldEnvVars) [17:27:26.582] envs <- base::Sys.getenv() [17:27:26.582] names <- names(envs) [17:27:26.582] common <- intersect(names, old_names) [17:27:26.582] added <- setdiff(names, old_names) [17:27:26.582] removed <- setdiff(old_names, names) [17:27:26.582] changed <- common[...future.oldEnvVars[common] != [17:27:26.582] envs[common]] [17:27:26.582] NAMES <- toupper(changed) [17:27:26.582] args <- list() [17:27:26.582] for (kk in seq_along(NAMES)) { [17:27:26.582] name <- changed[[kk]] [17:27:26.582] NAME <- NAMES[[kk]] [17:27:26.582] if (name != NAME && is.element(NAME, old_names)) [17:27:26.582] next [17:27:26.582] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:26.582] } [17:27:26.582] NAMES <- toupper(added) [17:27:26.582] for (kk in seq_along(NAMES)) { [17:27:26.582] name <- added[[kk]] [17:27:26.582] NAME <- NAMES[[kk]] [17:27:26.582] if (name != NAME && is.element(NAME, old_names)) [17:27:26.582] next [17:27:26.582] args[[name]] <- "" [17:27:26.582] } [17:27:26.582] NAMES <- toupper(removed) [17:27:26.582] for (kk in seq_along(NAMES)) { [17:27:26.582] name <- removed[[kk]] [17:27:26.582] NAME <- NAMES[[kk]] [17:27:26.582] if (name != NAME && is.element(NAME, old_names)) [17:27:26.582] next [17:27:26.582] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:26.582] } [17:27:26.582] if (length(args) > 0) [17:27:26.582] base::do.call(base::Sys.setenv, args = args) [17:27:26.582] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:26.582] } [17:27:26.582] else { [17:27:26.582] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:26.582] } [17:27:26.582] { [17:27:26.582] if (base::length(...future.futureOptionsAdded) > [17:27:26.582] 0L) { [17:27:26.582] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:26.582] base::names(opts) <- ...future.futureOptionsAdded [17:27:26.582] base::options(opts) [17:27:26.582] } [17:27:26.582] { [17:27:26.582] { [17:27:26.582] NULL [17:27:26.582] RNGkind("Mersenne-Twister") [17:27:26.582] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:26.582] inherits = FALSE) [17:27:26.582] } [17:27:26.582] options(future.plan = NULL) [17:27:26.582] if (is.na(NA_character_)) [17:27:26.582] Sys.unsetenv("R_FUTURE_PLAN") [17:27:26.582] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:26.582] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:26.582] .init = FALSE) [17:27:26.582] } [17:27:26.582] } [17:27:26.582] } [17:27:26.582] }) [17:27:26.582] if (TRUE) { [17:27:26.582] base::sink(type = "output", split = FALSE) [17:27:26.582] if (TRUE) { [17:27:26.582] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:26.582] } [17:27:26.582] else { [17:27:26.582] ...future.result["stdout"] <- base::list(NULL) [17:27:26.582] } [17:27:26.582] base::close(...future.stdout) [17:27:26.582] ...future.stdout <- NULL [17:27:26.582] } [17:27:26.582] ...future.result$conditions <- ...future.conditions [17:27:26.582] ...future.result$finished <- base::Sys.time() [17:27:26.582] ...future.result [17:27:26.582] } [17:27:26.586] assign_globals() ... [17:27:26.586] List of 1 [17:27:26.586] $ data:'data.frame': 3 obs. of 2 variables: [17:27:26.586] ..$ a: int [1:3] 1 2 3 [17:27:26.586] ..$ b: int [1:3] 3 2 1 [17:27:26.586] - attr(*, "where")=List of 1 [17:27:26.586] ..$ data: [17:27:26.586] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:26.586] - attr(*, "resolved")= logi FALSE [17:27:26.586] - attr(*, "total_size")= num 128 [17:27:26.586] - attr(*, "already-done")= logi TRUE [17:27:26.594] - copied 'data' to environment [17:27:26.594] assign_globals() ... done [17:27:26.595] plan(): Setting new future strategy stack: [17:27:26.595] List of future strategies: [17:27:26.595] 1. multisession: [17:27:26.595] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:26.595] - tweaked: FALSE [17:27:26.595] - call: plan(list(a = strategy1, b = strategy2)) [17:27:26.598] plan(): nbrOfWorkers() = 2 [17:27:26.665] plan(): Setting new future strategy stack: [17:27:26.665] List of future strategies: [17:27:26.665] 1. sequential: [17:27:26.665] - args: function (..., envir = parent.frame(), workers = "") [17:27:26.665] - tweaked: FALSE [17:27:26.665] - call: plan(list(a = strategy1, b = strategy2)) [17:27:26.665] 2. multisession: [17:27:26.665] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:26.665] - tweaked: FALSE [17:27:26.665] - call: plan(list(a = strategy1, b = strategy2)) [17:27:26.666] plan(): nbrOfWorkers() = 1 [17:27:26.666] SequentialFuture started (and completed) [17:27:26.667] signalConditions() ... [17:27:26.667] - include = 'immediateCondition' [17:27:26.667] - exclude = [17:27:26.667] - resignal = FALSE [17:27:26.667] - Number of conditions: 63 [17:27:26.668] signalConditions() ... done [17:27:26.668] - Launch lazy future ... done [17:27:26.668] run() for 'SequentialFuture' ... done [17:27:26.668] signalConditions() ... [17:27:26.668] - include = 'immediateCondition' [17:27:26.668] - exclude = [17:27:26.669] - resignal = FALSE [17:27:26.669] - Number of conditions: 63 [17:27:26.669] signalConditions() ... done [17:27:26.669] Future state: 'finished' [17:27:26.669] signalConditions() ... [17:27:26.670] - include = 'condition' [17:27:26.670] - exclude = 'immediateCondition' [17:27:26.670] - resignal = TRUE [17:27:26.670] - Number of conditions: 63 [17:27:26.670] - Condition #1: 'simpleMessage', 'message', 'condition' [17:27:26.599] getGlobalsAndPackages() ... [17:27:26.671] - Condition #2: 'simpleMessage', 'message', 'condition' [17:27:26.599] Searching for globals... [17:27:26.671] - Condition #3: 'simpleMessage', 'message', 'condition' [17:27:26.616] - globals found: [4] 'subset', 'data', '==', 'a' [17:27:26.671] - Condition #4: 'simpleMessage', 'message', 'condition' [17:27:26.616] Searching for globals ... DONE [17:27:26.671] - Condition #5: 'simpleMessage', 'message', 'condition' [17:27:26.616] Resolving globals: FALSE [17:27:26.671] - Condition #6: 'simpleMessage', 'message', 'condition' [17:27:26.617] The total size of the 1 globals is 128 bytes (128 bytes) [17:27:26.672] - Condition #7: 'simpleMessage', 'message', 'condition' [17:27:26.617] The total size of the 1 globals exported for future expression ('subset(data, a == 2)') is 128 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'data' (128 bytes of class 'list') [17:27:26.672] - Condition #8: 'simpleMessage', 'message', 'condition' [17:27:26.618] - globals: [1] 'data' [17:27:26.672] - Condition #9: 'simpleMessage', 'message', 'condition' [17:27:26.618] [17:27:26.672] - Condition #10: 'simpleMessage', 'message', 'condition' [17:27:26.618] getGlobalsAndPackages() ... DONE [17:27:26.672] - Condition #11: 'simpleMessage', 'message', 'condition' [17:27:26.618] run() for 'Future' ... [17:27:26.673] - Condition #12: 'simpleMessage', 'message', 'condition' [17:27:26.619] - state: 'created' [17:27:26.673] - Condition #13: 'simpleMessage', 'message', 'condition' [17:27:26.619] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:26.673] - Condition #14: 'simpleMessage', 'message', 'condition' [17:27:26.632] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:26.673] - Condition #15: 'simpleMessage', 'message', 'condition' [17:27:26.633] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:26.674] - Condition #16: 'simpleMessage', 'message', 'condition' [17:27:26.633] - Field: 'node' [17:27:26.674] - Condition #17: 'simpleMessage', 'message', 'condition' [17:27:26.633] - Field: 'label' [17:27:26.674] - Condition #18: 'simpleMessage', 'message', 'condition' [17:27:26.633] - Field: 'local' [17:27:26.674] - Condition #19: 'simpleMessage', 'message', 'condition' [17:27:26.634] - Field: 'owner' [17:27:26.674] - Condition #20: 'simpleMessage', 'message', 'condition' [17:27:26.634] - Field: 'envir' [17:27:26.675] - Condition #21: 'simpleMessage', 'message', 'condition' [17:27:26.634] - Field: 'workers' [17:27:26.675] - Condition #22: 'simpleMessage', 'message', 'condition' [17:27:26.634] - Field: 'packages' [17:27:26.675] - Condition #23: 'simpleMessage', 'message', 'condition' [17:27:26.634] - Field: 'gc' [17:27:26.675] - Condition #24: 'simpleMessage', 'message', 'condition' [17:27:26.635] - Field: 'conditions' [17:27:26.675] - Condition #25: 'simpleMessage', 'message', 'condition' [17:27:26.635] - Field: 'persistent' [17:27:26.676] - Condition #26: 'simpleMessage', 'message', 'condition' [17:27:26.635] - Field: 'expr' [17:27:26.676] - Condition #27: 'simpleMessage', 'message', 'condition' [17:27:26.635] - Field: 'uuid' [17:27:26.676] - Condition #28: 'simpleMessage', 'message', 'condition' [17:27:26.635] - Field: 'seed' [17:27:26.676] - Condition #29: 'simpleMessage', 'message', 'condition' [17:27:26.636] - Field: 'version' [17:27:26.677] - Condition #30: 'simpleMessage', 'message', 'condition' [17:27:26.636] - Field: 'result' [17:27:26.677] - Condition #31: 'simpleMessage', 'message', 'condition' [17:27:26.636] - Field: 'asynchronous' [17:27:26.677] - Condition #32: 'simpleMessage', 'message', 'condition' [17:27:26.636] - Field: 'calls' [17:27:26.677] - Condition #33: 'simpleMessage', 'message', 'condition' [17:27:26.636] - Field: 'globals' [17:27:26.677] - Condition #34: 'simpleMessage', 'message', 'condition' [17:27:26.637] - Field: 'stdout' [17:27:26.678] - Condition #35: 'simpleMessage', 'message', 'condition' [17:27:26.637] - Field: 'earlySignal' [17:27:26.678] - Condition #36: 'simpleMessage', 'message', 'condition' [17:27:26.637] - Field: 'lazy' [17:27:26.678] - Condition #37: 'simpleMessage', 'message', 'condition' [17:27:26.637] - Field: 'state' [17:27:26.678] - Condition #38: 'simpleMessage', 'message', 'condition' [17:27:26.637] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:26.679] - Condition #39: 'simpleMessage', 'message', 'condition' [17:27:26.638] - Launch lazy future ... [17:27:26.679] - Condition #40: 'simpleMessage', 'message', 'condition' [17:27:26.638] Packages needed by the future expression (n = 0): [17:27:26.679] - Condition #41: 'simpleMessage', 'message', 'condition' [17:27:26.638] Packages needed by future strategies (n = 0): [17:27:26.679] - Condition #42: 'simpleMessage', 'message', 'condition' [17:27:26.639] { [17:27:26.639] { [17:27:26.639] { [17:27:26.639] ...future.startTime <- base::Sys.time() [17:27:26.639] { [17:27:26.639] { [17:27:26.639] { [17:27:26.639] { [17:27:26.639] base::local({ [17:27:26.639] has_future <- base::requireNamespace("future", [17:27:26.639] quietly = TRUE) [17:27:26.639] if (has_future) { [17:27:26.639] ns <- base::getNamespace("future") [17:27:26.639] version <- ns[[".package"]][["version"]] [17:27:26.639] if (is.null(version)) [17:27:26.639] version <- utils::packageVersion("future") [17:27:26.639] } [17:27:26.639] else { [17:27:26.639] version <- NULL [17:27:26.639] } [17:27:26.639] if (!has_future || version < "1.8.0") { [17:27:26.639] info <- base::c(r_version = base::gsub("R version ", [17:27:26.639] "", base::R.version$version.string), [17:27:26.639] platform = base::sprintf("%s (%s-bit)", [17:27:26.639] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:26.639] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:26.639] "release", "version")], collapse = " "), [17:27:26.639] hostname = base::Sys.info()[["nodename"]]) [17:27:26.639] info <- base::sprintf("%s: %s", base::names(info), [17:27:26.639] info) [17:27:26.639] info <- base::paste(info, collapse = "; ") [17:27:26.639] if (!has_future) { [17:27:26.639] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:26.639] info) [17:27:26.639] } [17:27:26.639] else { [17:27:26.639] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:26.639] info, version) [17:27:26.639] } [17:27:26.639] base::stop(msg) [17:27:26.639] } [17:27:26.639] }) [17:27:26.639] } [17:27:26.639] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:26.639] base::options(mc.cores = 1L) [17:27:26.639] } [17:27:26.639] ...future.strategy.old <- future::plan("list") [17:27:26.639] options(future.plan = NULL) [17:27:26.639] Sys.unsetenv("R_FUTURE_PLAN") [17:27:26.639] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:26.639] } [17:27:26.639] ...future.workdir <- getwd() [17:27:26.639] } [17:27:26.639] ...future.oldOptions <- base::as.list(base::.Options) [17:27:26.639] ...future.oldEnvVars <- base::Sys.getenv() [17:27:26.639] } [17:27:26.639] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:26.639] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:26.639] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:26.639] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:26.639] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:26.639] future.stdout.windows.reencode = NULL, width = 80L) [17:27:26.639] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:26.639] base::names(...future.oldOptions)) [17:27:26.639] } [17:27:26.639] if (FALSE) { [17:27:26.639] } [17:27:26.639] else { [17:27:26.639] if (TRUE) { [17:27:26.639] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:26.639] open = "w") [17:27:26.639] } [17:27:26.639] else { [17:27:26.639] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:26.639] windows = "NUL", "/dev/null"), open = "w") [17:27:26.639] } [17:27:26.639] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:26.639] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:26.639] base::sink(type = "output", split = FALSE) [17:27:26.639] base::close(...future.stdout) [17:27:26.639] }, add = TRUE) [17:27:26.639] } [17:27:26.639] ...future.frame <- base::sys.nframe() [17:27:26.639] ...future.conditions <- base::list() [17:27:26.639] ...future.rng <- base::globalenv()$.Random.seed [17:27:26.639] if (FALSE) { [17:27:26.639] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:26.639] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:26.639] } [17:27:26.639] ...future.result <- base::tryCatch({ [17:27:26.639] base::withCallingHandlers({ [17:27:26.639] ...future.value <- base::withVisible(base::local({ [17:27:26.639] ...future.makeSendCondition <- base::local({ [17:27:26.639] sendCondition <- NULL [17:27:26.639] function(frame = 1L) { [17:27:26.639] if (is.function(sendCondition)) [17:27:26.639] return(sendCondition) [17:27:26.639] ns <- getNamespace("parallel") [17:27:26.639] if (exists("sendData", mode = "function", [17:27:26.639] envir = ns)) { [17:27:26.639] parallel_sendData <- get("sendData", mode = "function", [17:27:26.639] envir = ns) [17:27:26.639] envir <- sys.frame(frame) [17:27:26.639] master <- NULL [17:27:26.639] while (!identical(envir, .GlobalEnv) && [17:27:26.639] !identical(envir, emptyenv())) { [17:27:26.639] if (exists("master", mode = "list", envir = envir, [17:27:26.639] inherits = FALSE)) { [17:27:26.639] master <- get("master", mode = "list", [17:27:26.639] envir = envir, inherits = FALSE) [17:27:26.639] if (inherits(master, c("SOCKnode", [17:27:26.639] "SOCK0node"))) { [17:27:26.639] sendCondition <<- function(cond) { [17:27:26.639] data <- list(type = "VALUE", value = cond, [17:27:26.639] success = TRUE) [17:27:26.639] parallel_sendData(master, data) [17:27:26.639] } [17:27:26.639] return(sendCondition) [17:27:26.639] } [17:27:26.639] } [17:27:26.639] frame <- frame + 1L [17:27:26.639] envir <- sys.frame(frame) [17:27:26.639] } [17:27:26.639] } [17:27:26.639] sendCondition <<- function(cond) NULL [17:27:26.639] } [17:27:26.639] }) [17:27:26.639] withCallingHandlers({ [17:27:26.639] subset(data, a == 2) [17:27:26.639] }, immediateCondition = function(cond) { [17:27:26.639] sendCondition <- ...future.makeSendCondition() [17:27:26.639] sendCondition(cond) [17:27:26.639] muffleCondition <- function (cond, pattern = "^muffle") [17:27:26.639] { [17:27:26.639] inherits <- base::inherits [17:27:26.639] invokeRestart <- base::invokeRestart [17:27:26.639] is.null <- base::is.null [17:27:26.639] muffled <- FALSE [17:27:26.639] if (inherits(cond, "message")) { [17:27:26.639] muffled <- grepl(pattern, "muffleMessage") [17:27:26.639] if (muffled) [17:27:26.639] invokeRestart("muffleMessage") [17:27:26.639] } [17:27:26.639] else if (inherits(cond, "warning")) { [17:27:26.639] muffled <- grepl(pattern, "muffleWarning") [17:27:26.639] if (muffled) [17:27:26.639] invokeRestart("muffleWarning") [17:27:26.639] } [17:27:26.639] else if (inherits(cond, "condition")) { [17:27:26.639] if (!is.null(pattern)) { [17:27:26.639] computeRestarts <- base::computeRestarts [17:27:26.639] grepl <- base::grepl [17:27:26.639] restarts <- computeRestarts(cond) [17:27:26.639] for (restart in restarts) { [17:27:26.639] name <- restart$name [17:27:26.639] if (is.null(name)) [17:27:26.639] next [17:27:26.639] if (!grepl(pattern, name)) [17:27:26.639] next [17:27:26.639] invokeRestart(restart) [17:27:26.639] muffled <- TRUE [17:27:26.639] break [17:27:26.639] } [17:27:26.639] } [17:27:26.639] } [17:27:26.639] invisible(muffled) [17:27:26.639] } [17:27:26.639] muffleCondition(cond) [17:27:26.639] }) [17:27:26.639] })) [17:27:26.639] future::FutureResult(value = ...future.value$value, [17:27:26.639] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:26.639] ...future.rng), globalenv = if (FALSE) [17:27:26.639] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:26.639] ...future.globalenv.names)) [17:27:26.639] else NULL, started = ...future.startTime, version = "1.8") [17:27:26.639] }, condition = base::local({ [17:27:26.639] c <- base::c [17:27:26.639] inherits <- base::inherits [17:27:26.639] invokeRestart <- base::invokeRestart [17:27:26.639] length <- base::length [17:27:26.639] list <- base::list [17:27:26.639] seq.int <- base::seq.int [17:27:26.639] signalCondition <- base::signalCondition [17:27:26.639] sys.calls <- base::sys.calls [17:27:26.639] `[[` <- base::`[[` [17:27:26.639] `+` <- base::`+` [17:27:26.639] `<<-` <- base::`<<-` [17:27:26.639] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:26.639] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:26.639] 3L)] [17:27:26.639] } [17:27:26.639] function(cond) { [17:27:26.639] is_error <- inherits(cond, "error") [17:27:26.639] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:26.639] NULL) [17:27:26.639] if (is_error) { [17:27:26.639] sessionInformation <- function() { [17:27:26.639] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:26.639] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:26.639] search = base::search(), system = base::Sys.info()) [17:27:26.639] } [17:27:26.639] ...future.conditions[[length(...future.conditions) + [17:27:26.639] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:26.639] cond$call), session = sessionInformation(), [17:27:26.639] timestamp = base::Sys.time(), signaled = 0L) [17:27:26.639] signalCondition(cond) [17:27:26.639] } [17:27:26.639] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:26.639] "immediateCondition"))) { [17:27:26.639] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:26.639] ...future.conditions[[length(...future.conditions) + [17:27:26.639] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:26.639] if (TRUE && !signal) { [17:27:26.639] muffleCondition <- function (cond, pattern = "^muffle") [17:27:26.639] { [17:27:26.639] inherits <- base::inherits [17:27:26.639] invokeRestart <- base::invokeRestart [17:27:26.639] is.null <- base::is.null [17:27:26.639] muffled <- FALSE [17:27:26.639] if (inherits(cond, "message")) { [17:27:26.639] muffled <- grepl(pattern, "muffleMessage") [17:27:26.639] if (muffled) [17:27:26.639] invokeRestart("muffleMessage") [17:27:26.639] } [17:27:26.639] else if (inherits(cond, "warning")) { [17:27:26.639] muffled <- grepl(pattern, "muffleWarning") [17:27:26.639] if (muffled) [17:27:26.639] invokeRestart("muffleWarning") [17:27:26.639] } [17:27:26.639] else if (inherits(cond, "condition")) { [17:27:26.639] if (!is.null(pattern)) { [17:27:26.639] computeRestarts <- base::computeRestarts [17:27:26.639] grepl <- base::grepl [17:27:26.639] restarts <- computeRestarts(cond) [17:27:26.639] for (restart in restarts) { [17:27:26.639] name <- restart$name [17:27:26.639] if (is.null(name)) [17:27:26.639] next [17:27:26.639] if (!grepl(pattern, name)) [17:27:26.639] next [17:27:26.639] invokeRestart(restart) [17:27:26.639] muffled <- TRUE [17:27:26.639] break [17:27:26.639] } [17:27:26.639] } [17:27:26.639] } [17:27:26.639] invisible(muffled) [17:27:26.639] } [17:27:26.639] muffleCondition(cond, pattern = "^muffle") [17:27:26.639] } [17:27:26.639] } [17:27:26.639] else { [17:27:26.639] if (TRUE) { [17:27:26.639] muffleCondition <- function (cond, pattern = "^muffle") [17:27:26.639] { [17:27:26.639] inherits <- base::inherits [17:27:26.639] invokeRestart <- base::invokeRestart [17:27:26.639] is.null <- base::is.null [17:27:26.639] muffled <- FALSE [17:27:26.639] if (inherits(cond, "message")) { [17:27:26.639] muffled <- grepl(pattern, "muffleMessage") [17:27:26.639] if (muffled) [17:27:26.639] invokeRestart("muffleMessage") [17:27:26.639] } [17:27:26.639] else if (inherits(cond, "warning")) { [17:27:26.639] muffled <- grepl(pattern, "muffleWarning") [17:27:26.639] if (muffled) [17:27:26.639] invokeRestart("muffleWarning") [17:27:26.639] } [17:27:26.639] else if (inherits(cond, "condition")) { [17:27:26.639] if (!is.null(pattern)) { [17:27:26.639] computeRestarts <- base::computeRestarts [17:27:26.639] grepl <- base::grepl [17:27:26.639] restarts <- computeRestarts(cond) [17:27:26.639] for (restart in restarts) { [17:27:26.639] name <- restart$name [17:27:26.639] if (is.null(name)) [17:27:26.639] next [17:27:26.639] if (!grepl(pattern, name)) [17:27:26.639] next [17:27:26.639] invokeRestart(restart) [17:27:26.639] muffled <- TRUE [17:27:26.639] break [17:27:26.639] } [17:27:26.639] } [17:27:26.639] } [17:27:26.639] invisible(muffled) [17:27:26.639] } [17:27:26.639] muffleCondition(cond, pattern = "^muffle") [17:27:26.639] } [17:27:26.639] } [17:27:26.639] } [17:27:26.639] })) [17:27:26.639] }, error = function(ex) { [17:27:26.639] base::structure(base::list(value = NULL, visible = NULL, [17:27:26.639] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:26.639] ...future.rng), started = ...future.startTime, [17:27:26.639] finished = Sys.time(), session_uuid = NA_character_, [17:27:26.639] version = "1.8"), class = "FutureResult") [17:27:26.639] }, finally = { [17:27:26.639] if (!identical(...future.workdir, getwd())) [17:27:26.639] setwd(...future.workdir) [17:27:26.639] { [17:27:26.639] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:26.639] ...future.oldOptions$nwarnings <- NULL [17:27:26.639] } [17:27:26.639] base::options(...future.oldOptions) [17:27:26.639] if (.Platform$OS.type == "windows") { [17:27:26.639] old_names <- names(...future.oldEnvVars) [17:27:26.639] envs <- base::Sys.getenv() [17:27:26.639] names <- names(envs) [17:27:26.639] common <- intersect(names, old_names) [17:27:26.639] added <- setdiff(names, old_names) [17:27:26.639] removed <- setdiff(old_names, names) [17:27:26.639] changed <- common[...future.oldEnvVars[common] != [17:27:26.639] envs[common]] [17:27:26.639] NAMES <- toupper(changed) [17:27:26.639] args <- list() [17:27:26.639] for (kk in seq_along(NAMES)) { [17:27:26.639] name <- changed[[kk]] [17:27:26.639] NAME <- NAMES[[kk]] [17:27:26.639] if (name != NAME && is.element(NAME, old_names)) [17:27:26.639] next [17:27:26.639] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:26.639] } [17:27:26.639] NAMES <- toupper(added) [17:27:26.639] for (kk in seq_along(NAMES)) { [17:27:26.639] name <- added[[kk]] [17:27:26.639] NAME <- NAMES[[kk]] [17:27:26.639] if (name != NAME && is.element(NAME, old_names)) [17:27:26.639] next [17:27:26.639] args[[name]] <- "" [17:27:26.639] } [17:27:26.639] NAMES <- toupper(removed) [17:27:26.639] for (kk in seq_along(NAMES)) { [17:27:26.639] name <- removed[[kk]] [17:27:26.639] NAME <- NAMES[[kk]] [17:27:26.639] if (name != NAME && is.element(NAME, old_names)) [17:27:26.639] next [17:27:26.639] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:26.639] } [17:27:26.639] if (length(args) > 0) [17:27:26.639] base::do.call(base::Sys.setenv, args = args) [17:27:26.639] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:26.639] } [17:27:26.639] else { [17:27:26.639] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:26.639] } [17:27:26.639] { [17:27:26.639] if (base::length(...future.futureOptionsAdded) > [17:27:26.639] 0L) { [17:27:26.639] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:26.639] base::names(opts) <- ...future.futureOptionsAdded [17:27:26.639] base::options(opts) [17:27:26.639] } [17:27:26.639] { [17:27:26.639] { [17:27:26.639] base::options(mc.cores = ...future.mc.cores.old) [17:27:26.639] NULL [17:27:26.639] } [17:27:26.639] options(future.plan = NULL) [17:27:26.639] if (is.na(NA_character_)) [17:27:26.639] Sys.unsetenv("R_FUTURE_PLAN") [17:27:26.639] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:26.639] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:26.639] .init = FALSE) [17:27:26.639] } [17:27:26.639] } [17:27:26.639] } [17:27:26.639] }) [17:27:26.639] if (TRUE) { [17:27:26.639] base::sink(type = "output", split = FALSE) [17:27:26.639] if (TRUE) { [17:27:26.639] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:26.639] } [17:27:26.639] else { [17:27:26.639] ...future.result["stdout"] <- base::list(NULL) [17:27:26.639] } [17:27:26.639] base::close(...future.stdout) [17:27:26.639] ...future.stdout <- NULL [17:27:26.639] } [17:27:26.639] ...future.result$conditions <- ...future.conditions [17:27:26.639] ...future.result$finished <- base::Sys.time() [17:27:26.639] ...future.result [17:27:26.639] } [17:27:26.680] - Condition #43: 'simpleMessage', 'message', 'condition' [17:27:26.644] Exporting 1 global objects (128 bytes) to cluster node #1 ... [17:27:26.680] - Condition #44: 'simpleMessage', 'message', 'condition' [17:27:26.644] Exporting 'data' (128 bytes) to cluster node #1 ... [17:27:26.680] - Condition #45: 'simpleMessage', 'message', 'condition' [17:27:26.645] Exporting 'data' (128 bytes) to cluster node #1 ... DONE [17:27:26.680] - Condition #46: 'simpleMessage', 'message', 'condition' [17:27:26.645] Exporting 1 global objects (128 bytes) to cluster node #1 ... DONE [17:27:26.680] - Condition #47: 'simpleMessage', 'message', 'condition' [17:27:26.645] MultisessionFuture started [17:27:26.681] - Condition #48: 'simpleMessage', 'message', 'condition' [17:27:26.646] - Launch lazy future ... done [17:27:26.681] - Condition #49: 'simpleMessage', 'message', 'condition' [17:27:26.646] run() for 'MultisessionFuture' ... done [17:27:26.681] - Condition #50: 'simpleMessage', 'message', 'condition' [17:27:26.646] result() for ClusterFuture ... [17:27:26.681] - Condition #51: 'simpleMessage', 'message', 'condition' [17:27:26.646] receiveMessageFromWorker() for ClusterFuture ... [17:27:26.681] - Condition #52: 'simpleMessage', 'message', 'condition' [17:27:26.646] - Validating connection of MultisessionFuture [17:27:26.682] - Condition #53: 'simpleMessage', 'message', 'condition' [17:27:26.662] - received message: FutureResult [17:27:26.682] - Condition #54: 'simpleMessage', 'message', 'condition' [17:27:26.663] - Received FutureResult [17:27:26.682] - Condition #55: 'simpleMessage', 'message', 'condition' [17:27:26.663] - Erased future from FutureRegistry [17:27:26.682] - Condition #56: 'simpleMessage', 'message', 'condition' [17:27:26.663] result() for ClusterFuture ... [17:27:26.683] - Condition #57: 'simpleMessage', 'message', 'condition' [17:27:26.663] - result already collected: FutureResult [17:27:26.683] - Condition #58: 'simpleMessage', 'message', 'condition' [17:27:26.663] result() for ClusterFuture ... done [17:27:26.683] - Condition #59: 'simpleMessage', 'message', 'condition' [17:27:26.664] receiveMessageFromWorker() for ClusterFuture ... done [17:27:26.683] - Condition #60: 'simpleMessage', 'message', 'condition' [17:27:26.664] result() for ClusterFuture ... done [17:27:26.683] - Condition #61: 'simpleMessage', 'message', 'condition' [17:27:26.664] result() for ClusterFuture ... [17:27:26.684] - Condition #62: 'simpleMessage', 'message', 'condition' [17:27:26.664] - result already collected: FutureResult [17:27:26.684] - Condition #63: 'simpleMessage', 'message', 'condition' [17:27:26.664] result() for ClusterFuture ... done [17:27:26.684] signalConditions() ... done - plan(list('sequential', 'multisession')) ... DONE - plan(list('multisession', 'sequential')) ... [17:27:26.685] plan(): Setting new future strategy stack: [17:27:26.685] List of future strategies: [17:27:26.685] 1. multisession: [17:27:26.685] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:26.685] - tweaked: FALSE [17:27:26.685] - call: plan(list(a = strategy1, b = strategy2)) [17:27:26.685] 2. sequential: [17:27:26.685] - args: function (..., envir = parent.frame(), workers = "") [17:27:26.685] - tweaked: FALSE [17:27:26.685] - call: plan(list(a = strategy1, b = strategy2)) [17:27:26.686] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [17:27:26.686] multisession: [17:27:26.686] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:26.686] - tweaked: FALSE [17:27:26.686] - call: plan(list(a = strategy1, b = strategy2)) [17:27:26.689] getGlobalsAndPackages() ... [17:27:26.689] Not searching for globals [17:27:26.689] - globals: [0] [17:27:26.689] getGlobalsAndPackages() ... DONE [17:27:26.690] [local output] makeClusterPSOCK() ... [17:27:26.693] [local output] Workers: [n = 2] 'localhost', 'localhost' [17:27:26.696] [local output] Base port: 23371 [17:27:26.696] [local output] Getting setup options for 2 cluster nodes ... [17:27:26.696] [local output] - Node 1 of 2 ... [17:27:26.697] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:26.698] [local output] Rscript port: 23371 [17:27:26.699] [local output] - Node 2 of 2 ... [17:27:26.699] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:26.700] [local output] Rscript port: 23371 [17:27:26.701] [local output] Getting setup options for 2 cluster nodes ... done [17:27:26.701] [local output] - Parallel setup requested for some PSOCK nodes [17:27:26.701] [local output] Setting up PSOCK nodes in parallel [17:27:26.701] List of 36 [17:27:26.701] $ worker : chr "localhost" [17:27:26.701] ..- attr(*, "localhost")= logi TRUE [17:27:26.701] $ master : chr "localhost" [17:27:26.701] $ port : int 23371 [17:27:26.701] $ connectTimeout : num 120 [17:27:26.701] $ timeout : num 120 [17:27:26.701] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [17:27:26.701] $ homogeneous : logi TRUE [17:27:26.701] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=nested_futures.R:96212:CRANWIN3:"| __truncated__ [17:27:26.701] $ rscript_envs : NULL [17:27:26.701] $ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:26.701] $ rscript_startup : NULL [17:27:26.701] $ rscript_sh : chr "cmd" [17:27:26.701] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:26.701] $ methods : logi TRUE [17:27:26.701] $ socketOptions : chr "no-delay" [17:27:26.701] $ useXDR : logi FALSE [17:27:26.701] $ outfile : chr "/dev/null" [17:27:26.701] $ renice : int NA [17:27:26.701] $ rshcmd : NULL [17:27:26.701] $ user : chr(0) [17:27:26.701] $ revtunnel : logi FALSE [17:27:26.701] $ rshlogfile : NULL [17:27:26.701] $ rshopts : chr(0) [17:27:26.701] $ rank : int 1 [17:27:26.701] $ manual : logi FALSE [17:27:26.701] $ dryrun : logi FALSE [17:27:26.701] $ quiet : logi FALSE [17:27:26.701] $ setup_strategy : chr "parallel" [17:27:26.701] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:26.701] $ pidfile : chr "D:/temp/Rtmp0sX0WZ/worker.rank=1.parallelly.parent=96212.177d4473a6d1d.pid" [17:27:26.701] $ rshcmd_label : NULL [17:27:26.701] $ rsh_call : NULL [17:27:26.701] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:26.701] $ localMachine : logi TRUE [17:27:26.701] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [17:27:26.701] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [17:27:26.701] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [17:27:26.701] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [17:27:26.701] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [17:27:26.701] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [17:27:26.701] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [17:27:26.701] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [17:27:26.701] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [17:27:26.701] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [17:27:26.701] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [17:27:26.701] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [17:27:26.701] "parallel"), action = c("launch", "options"), verbose = FALSE) [17:27:26.701] $ arguments :List of 28 [17:27:26.701] ..$ worker : chr "localhost" [17:27:26.701] ..$ master : NULL [17:27:26.701] ..$ port : int 23371 [17:27:26.701] ..$ connectTimeout : num 120 [17:27:26.701] ..$ timeout : num 120 [17:27:26.701] ..$ rscript : NULL [17:27:26.701] ..$ homogeneous : NULL [17:27:26.701] ..$ rscript_args : NULL [17:27:26.701] ..$ rscript_envs : NULL [17:27:26.701] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:26.701] ..$ rscript_startup : NULL [17:27:26.701] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [17:27:26.701] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:26.701] ..$ methods : logi TRUE [17:27:26.701] ..$ socketOptions : chr "no-delay" [17:27:26.701] ..$ useXDR : logi FALSE [17:27:26.701] ..$ outfile : chr "/dev/null" [17:27:26.701] ..$ renice : int NA [17:27:26.701] ..$ rshcmd : NULL [17:27:26.701] ..$ user : NULL [17:27:26.701] ..$ revtunnel : logi NA [17:27:26.701] ..$ rshlogfile : NULL [17:27:26.701] ..$ rshopts : NULL [17:27:26.701] ..$ rank : int 1 [17:27:26.701] ..$ manual : logi FALSE [17:27:26.701] ..$ dryrun : logi FALSE [17:27:26.701] ..$ quiet : logi FALSE [17:27:26.701] ..$ setup_strategy : chr "parallel" [17:27:26.701] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [17:27:26.725] [local output] System call to launch all workers: [17:27:26.726] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=nested_futures.R:96212:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp0sX0WZ/worker.rank=1.parallelly.parent=96212.177d4473a6d1d.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=23371 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [17:27:26.726] [local output] Starting PSOCK main server [17:27:26.731] [local output] Workers launched [17:27:26.732] [local output] Waiting for workers to connect back [17:27:26.732] - [local output] 0 workers out of 2 ready [17:27:26.894] - [local output] 0 workers out of 2 ready [17:27:26.894] - [local output] 1 workers out of 2 ready [17:27:26.925] - [local output] 1 workers out of 2 ready [17:27:26.926] - [local output] 2 workers out of 2 ready [17:27:26.926] [local output] Launching of workers completed [17:27:26.926] [local output] Collecting session information from workers [17:27:26.927] [local output] - Worker #1 of 2 [17:27:26.927] [local output] - Worker #2 of 2 [17:27:26.927] [local output] makeClusterPSOCK() ... done [17:27:26.939] Packages needed by the future expression (n = 0): [17:27:26.939] Packages needed by future strategies (n = 1): 'future' [17:27:26.940] { [17:27:26.940] { [17:27:26.940] { [17:27:26.940] ...future.startTime <- base::Sys.time() [17:27:26.940] { [17:27:26.940] { [17:27:26.940] { [17:27:26.940] { [17:27:26.940] { [17:27:26.940] base::local({ [17:27:26.940] has_future <- base::requireNamespace("future", [17:27:26.940] quietly = TRUE) [17:27:26.940] if (has_future) { [17:27:26.940] ns <- base::getNamespace("future") [17:27:26.940] version <- ns[[".package"]][["version"]] [17:27:26.940] if (is.null(version)) [17:27:26.940] version <- utils::packageVersion("future") [17:27:26.940] } [17:27:26.940] else { [17:27:26.940] version <- NULL [17:27:26.940] } [17:27:26.940] if (!has_future || version < "1.8.0") { [17:27:26.940] info <- base::c(r_version = base::gsub("R version ", [17:27:26.940] "", base::R.version$version.string), [17:27:26.940] platform = base::sprintf("%s (%s-bit)", [17:27:26.940] base::R.version$platform, 8 * [17:27:26.940] base::.Machine$sizeof.pointer), [17:27:26.940] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:26.940] "release", "version")], collapse = " "), [17:27:26.940] hostname = base::Sys.info()[["nodename"]]) [17:27:26.940] info <- base::sprintf("%s: %s", base::names(info), [17:27:26.940] info) [17:27:26.940] info <- base::paste(info, collapse = "; ") [17:27:26.940] if (!has_future) { [17:27:26.940] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:26.940] info) [17:27:26.940] } [17:27:26.940] else { [17:27:26.940] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:26.940] info, version) [17:27:26.940] } [17:27:26.940] base::stop(msg) [17:27:26.940] } [17:27:26.940] }) [17:27:26.940] } [17:27:26.940] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:26.940] base::options(mc.cores = 1L) [17:27:26.940] } [17:27:26.940] base::local({ [17:27:26.940] for (pkg in "future") { [17:27:26.940] base::loadNamespace(pkg) [17:27:26.940] base::library(pkg, character.only = TRUE) [17:27:26.940] } [17:27:26.940] }) [17:27:26.940] } [17:27:26.940] ...future.strategy.old <- future::plan("list") [17:27:26.940] options(future.plan = NULL) [17:27:26.940] Sys.unsetenv("R_FUTURE_PLAN") [17:27:26.940] future::plan(list(b = function (..., envir = parent.frame()) [17:27:26.940] { [17:27:26.940] future <- SequentialFuture(..., envir = envir) [17:27:26.940] if (!future$lazy) [17:27:26.940] future <- run(future) [17:27:26.940] invisible(future) [17:27:26.940] }), .cleanup = FALSE, .init = FALSE) [17:27:26.940] } [17:27:26.940] ...future.workdir <- getwd() [17:27:26.940] } [17:27:26.940] ...future.oldOptions <- base::as.list(base::.Options) [17:27:26.940] ...future.oldEnvVars <- base::Sys.getenv() [17:27:26.940] } [17:27:26.940] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:26.940] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:26.940] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:26.940] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:26.940] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:26.940] future.stdout.windows.reencode = NULL, width = 80L) [17:27:26.940] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:26.940] base::names(...future.oldOptions)) [17:27:26.940] } [17:27:26.940] if (FALSE) { [17:27:26.940] } [17:27:26.940] else { [17:27:26.940] if (TRUE) { [17:27:26.940] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:26.940] open = "w") [17:27:26.940] } [17:27:26.940] else { [17:27:26.940] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:26.940] windows = "NUL", "/dev/null"), open = "w") [17:27:26.940] } [17:27:26.940] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:26.940] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:26.940] base::sink(type = "output", split = FALSE) [17:27:26.940] base::close(...future.stdout) [17:27:26.940] }, add = TRUE) [17:27:26.940] } [17:27:26.940] ...future.frame <- base::sys.nframe() [17:27:26.940] ...future.conditions <- base::list() [17:27:26.940] ...future.rng <- base::globalenv()$.Random.seed [17:27:26.940] if (FALSE) { [17:27:26.940] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:26.940] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:26.940] } [17:27:26.940] ...future.result <- base::tryCatch({ [17:27:26.940] base::withCallingHandlers({ [17:27:26.940] ...future.value <- base::withVisible(base::local({ [17:27:26.940] ...future.makeSendCondition <- base::local({ [17:27:26.940] sendCondition <- NULL [17:27:26.940] function(frame = 1L) { [17:27:26.940] if (is.function(sendCondition)) [17:27:26.940] return(sendCondition) [17:27:26.940] ns <- getNamespace("parallel") [17:27:26.940] if (exists("sendData", mode = "function", [17:27:26.940] envir = ns)) { [17:27:26.940] parallel_sendData <- get("sendData", mode = "function", [17:27:26.940] envir = ns) [17:27:26.940] envir <- sys.frame(frame) [17:27:26.940] master <- NULL [17:27:26.940] while (!identical(envir, .GlobalEnv) && [17:27:26.940] !identical(envir, emptyenv())) { [17:27:26.940] if (exists("master", mode = "list", envir = envir, [17:27:26.940] inherits = FALSE)) { [17:27:26.940] master <- get("master", mode = "list", [17:27:26.940] envir = envir, inherits = FALSE) [17:27:26.940] if (inherits(master, c("SOCKnode", [17:27:26.940] "SOCK0node"))) { [17:27:26.940] sendCondition <<- function(cond) { [17:27:26.940] data <- list(type = "VALUE", value = cond, [17:27:26.940] success = TRUE) [17:27:26.940] parallel_sendData(master, data) [17:27:26.940] } [17:27:26.940] return(sendCondition) [17:27:26.940] } [17:27:26.940] } [17:27:26.940] frame <- frame + 1L [17:27:26.940] envir <- sys.frame(frame) [17:27:26.940] } [17:27:26.940] } [17:27:26.940] sendCondition <<- function(cond) NULL [17:27:26.940] } [17:27:26.940] }) [17:27:26.940] withCallingHandlers({ [17:27:26.940] NA [17:27:26.940] }, immediateCondition = function(cond) { [17:27:26.940] sendCondition <- ...future.makeSendCondition() [17:27:26.940] sendCondition(cond) [17:27:26.940] muffleCondition <- function (cond, pattern = "^muffle") [17:27:26.940] { [17:27:26.940] inherits <- base::inherits [17:27:26.940] invokeRestart <- base::invokeRestart [17:27:26.940] is.null <- base::is.null [17:27:26.940] muffled <- FALSE [17:27:26.940] if (inherits(cond, "message")) { [17:27:26.940] muffled <- grepl(pattern, "muffleMessage") [17:27:26.940] if (muffled) [17:27:26.940] invokeRestart("muffleMessage") [17:27:26.940] } [17:27:26.940] else if (inherits(cond, "warning")) { [17:27:26.940] muffled <- grepl(pattern, "muffleWarning") [17:27:26.940] if (muffled) [17:27:26.940] invokeRestart("muffleWarning") [17:27:26.940] } [17:27:26.940] else if (inherits(cond, "condition")) { [17:27:26.940] if (!is.null(pattern)) { [17:27:26.940] computeRestarts <- base::computeRestarts [17:27:26.940] grepl <- base::grepl [17:27:26.940] restarts <- computeRestarts(cond) [17:27:26.940] for (restart in restarts) { [17:27:26.940] name <- restart$name [17:27:26.940] if (is.null(name)) [17:27:26.940] next [17:27:26.940] if (!grepl(pattern, name)) [17:27:26.940] next [17:27:26.940] invokeRestart(restart) [17:27:26.940] muffled <- TRUE [17:27:26.940] break [17:27:26.940] } [17:27:26.940] } [17:27:26.940] } [17:27:26.940] invisible(muffled) [17:27:26.940] } [17:27:26.940] muffleCondition(cond) [17:27:26.940] }) [17:27:26.940] })) [17:27:26.940] future::FutureResult(value = ...future.value$value, [17:27:26.940] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:26.940] ...future.rng), globalenv = if (FALSE) [17:27:26.940] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:26.940] ...future.globalenv.names)) [17:27:26.940] else NULL, started = ...future.startTime, version = "1.8") [17:27:26.940] }, condition = base::local({ [17:27:26.940] c <- base::c [17:27:26.940] inherits <- base::inherits [17:27:26.940] invokeRestart <- base::invokeRestart [17:27:26.940] length <- base::length [17:27:26.940] list <- base::list [17:27:26.940] seq.int <- base::seq.int [17:27:26.940] signalCondition <- base::signalCondition [17:27:26.940] sys.calls <- base::sys.calls [17:27:26.940] `[[` <- base::`[[` [17:27:26.940] `+` <- base::`+` [17:27:26.940] `<<-` <- base::`<<-` [17:27:26.940] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:26.940] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:26.940] 3L)] [17:27:26.940] } [17:27:26.940] function(cond) { [17:27:26.940] is_error <- inherits(cond, "error") [17:27:26.940] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:26.940] NULL) [17:27:26.940] if (is_error) { [17:27:26.940] sessionInformation <- function() { [17:27:26.940] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:26.940] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:26.940] search = base::search(), system = base::Sys.info()) [17:27:26.940] } [17:27:26.940] ...future.conditions[[length(...future.conditions) + [17:27:26.940] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:26.940] cond$call), session = sessionInformation(), [17:27:26.940] timestamp = base::Sys.time(), signaled = 0L) [17:27:26.940] signalCondition(cond) [17:27:26.940] } [17:27:26.940] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:26.940] "immediateCondition"))) { [17:27:26.940] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:26.940] ...future.conditions[[length(...future.conditions) + [17:27:26.940] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:26.940] if (TRUE && !signal) { [17:27:26.940] muffleCondition <- function (cond, pattern = "^muffle") [17:27:26.940] { [17:27:26.940] inherits <- base::inherits [17:27:26.940] invokeRestart <- base::invokeRestart [17:27:26.940] is.null <- base::is.null [17:27:26.940] muffled <- FALSE [17:27:26.940] if (inherits(cond, "message")) { [17:27:26.940] muffled <- grepl(pattern, "muffleMessage") [17:27:26.940] if (muffled) [17:27:26.940] invokeRestart("muffleMessage") [17:27:26.940] } [17:27:26.940] else if (inherits(cond, "warning")) { [17:27:26.940] muffled <- grepl(pattern, "muffleWarning") [17:27:26.940] if (muffled) [17:27:26.940] invokeRestart("muffleWarning") [17:27:26.940] } [17:27:26.940] else if (inherits(cond, "condition")) { [17:27:26.940] if (!is.null(pattern)) { [17:27:26.940] computeRestarts <- base::computeRestarts [17:27:26.940] grepl <- base::grepl [17:27:26.940] restarts <- computeRestarts(cond) [17:27:26.940] for (restart in restarts) { [17:27:26.940] name <- restart$name [17:27:26.940] if (is.null(name)) [17:27:26.940] next [17:27:26.940] if (!grepl(pattern, name)) [17:27:26.940] next [17:27:26.940] invokeRestart(restart) [17:27:26.940] muffled <- TRUE [17:27:26.940] break [17:27:26.940] } [17:27:26.940] } [17:27:26.940] } [17:27:26.940] invisible(muffled) [17:27:26.940] } [17:27:26.940] muffleCondition(cond, pattern = "^muffle") [17:27:26.940] } [17:27:26.940] } [17:27:26.940] else { [17:27:26.940] if (TRUE) { [17:27:26.940] muffleCondition <- function (cond, pattern = "^muffle") [17:27:26.940] { [17:27:26.940] inherits <- base::inherits [17:27:26.940] invokeRestart <- base::invokeRestart [17:27:26.940] is.null <- base::is.null [17:27:26.940] muffled <- FALSE [17:27:26.940] if (inherits(cond, "message")) { [17:27:26.940] muffled <- grepl(pattern, "muffleMessage") [17:27:26.940] if (muffled) [17:27:26.940] invokeRestart("muffleMessage") [17:27:26.940] } [17:27:26.940] else if (inherits(cond, "warning")) { [17:27:26.940] muffled <- grepl(pattern, "muffleWarning") [17:27:26.940] if (muffled) [17:27:26.940] invokeRestart("muffleWarning") [17:27:26.940] } [17:27:26.940] else if (inherits(cond, "condition")) { [17:27:26.940] if (!is.null(pattern)) { [17:27:26.940] computeRestarts <- base::computeRestarts [17:27:26.940] grepl <- base::grepl [17:27:26.940] restarts <- computeRestarts(cond) [17:27:26.940] for (restart in restarts) { [17:27:26.940] name <- restart$name [17:27:26.940] if (is.null(name)) [17:27:26.940] next [17:27:26.940] if (!grepl(pattern, name)) [17:27:26.940] next [17:27:26.940] invokeRestart(restart) [17:27:26.940] muffled <- TRUE [17:27:26.940] break [17:27:26.940] } [17:27:26.940] } [17:27:26.940] } [17:27:26.940] invisible(muffled) [17:27:26.940] } [17:27:26.940] muffleCondition(cond, pattern = "^muffle") [17:27:26.940] } [17:27:26.940] } [17:27:26.940] } [17:27:26.940] })) [17:27:26.940] }, error = function(ex) { [17:27:26.940] base::structure(base::list(value = NULL, visible = NULL, [17:27:26.940] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:26.940] ...future.rng), started = ...future.startTime, [17:27:26.940] finished = Sys.time(), session_uuid = NA_character_, [17:27:26.940] version = "1.8"), class = "FutureResult") [17:27:26.940] }, finally = { [17:27:26.940] if (!identical(...future.workdir, getwd())) [17:27:26.940] setwd(...future.workdir) [17:27:26.940] { [17:27:26.940] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:26.940] ...future.oldOptions$nwarnings <- NULL [17:27:26.940] } [17:27:26.940] base::options(...future.oldOptions) [17:27:26.940] if (.Platform$OS.type == "windows") { [17:27:26.940] old_names <- names(...future.oldEnvVars) [17:27:26.940] envs <- base::Sys.getenv() [17:27:26.940] names <- names(envs) [17:27:26.940] common <- intersect(names, old_names) [17:27:26.940] added <- setdiff(names, old_names) [17:27:26.940] removed <- setdiff(old_names, names) [17:27:26.940] changed <- common[...future.oldEnvVars[common] != [17:27:26.940] envs[common]] [17:27:26.940] NAMES <- toupper(changed) [17:27:26.940] args <- list() [17:27:26.940] for (kk in seq_along(NAMES)) { [17:27:26.940] name <- changed[[kk]] [17:27:26.940] NAME <- NAMES[[kk]] [17:27:26.940] if (name != NAME && is.element(NAME, old_names)) [17:27:26.940] next [17:27:26.940] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:26.940] } [17:27:26.940] NAMES <- toupper(added) [17:27:26.940] for (kk in seq_along(NAMES)) { [17:27:26.940] name <- added[[kk]] [17:27:26.940] NAME <- NAMES[[kk]] [17:27:26.940] if (name != NAME && is.element(NAME, old_names)) [17:27:26.940] next [17:27:26.940] args[[name]] <- "" [17:27:26.940] } [17:27:26.940] NAMES <- toupper(removed) [17:27:26.940] for (kk in seq_along(NAMES)) { [17:27:26.940] name <- removed[[kk]] [17:27:26.940] NAME <- NAMES[[kk]] [17:27:26.940] if (name != NAME && is.element(NAME, old_names)) [17:27:26.940] next [17:27:26.940] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:26.940] } [17:27:26.940] if (length(args) > 0) [17:27:26.940] base::do.call(base::Sys.setenv, args = args) [17:27:26.940] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:26.940] } [17:27:26.940] else { [17:27:26.940] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:26.940] } [17:27:26.940] { [17:27:26.940] if (base::length(...future.futureOptionsAdded) > [17:27:26.940] 0L) { [17:27:26.940] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:26.940] base::names(opts) <- ...future.futureOptionsAdded [17:27:26.940] base::options(opts) [17:27:26.940] } [17:27:26.940] { [17:27:26.940] { [17:27:26.940] base::options(mc.cores = ...future.mc.cores.old) [17:27:26.940] NULL [17:27:26.940] } [17:27:26.940] options(future.plan = NULL) [17:27:26.940] if (is.na(NA_character_)) [17:27:26.940] Sys.unsetenv("R_FUTURE_PLAN") [17:27:26.940] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:26.940] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:26.940] .init = FALSE) [17:27:26.940] } [17:27:26.940] } [17:27:26.940] } [17:27:26.940] }) [17:27:26.940] if (TRUE) { [17:27:26.940] base::sink(type = "output", split = FALSE) [17:27:26.940] if (TRUE) { [17:27:26.940] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:26.940] } [17:27:26.940] else { [17:27:26.940] ...future.result["stdout"] <- base::list(NULL) [17:27:26.940] } [17:27:26.940] base::close(...future.stdout) [17:27:26.940] ...future.stdout <- NULL [17:27:26.940] } [17:27:26.940] ...future.result$conditions <- ...future.conditions [17:27:26.940] ...future.result$finished <- base::Sys.time() [17:27:26.940] ...future.result [17:27:26.940] } [17:27:27.027] MultisessionFuture started [17:27:27.027] result() for ClusterFuture ... [17:27:27.027] receiveMessageFromWorker() for ClusterFuture ... [17:27:27.027] - Validating connection of MultisessionFuture [17:27:27.084] - received message: FutureResult [17:27:27.084] - Received FutureResult [17:27:27.084] - Erased future from FutureRegistry [17:27:27.084] result() for ClusterFuture ... [17:27:27.085] - result already collected: FutureResult [17:27:27.085] result() for ClusterFuture ... done [17:27:27.085] receiveMessageFromWorker() for ClusterFuture ... done [17:27:27.085] result() for ClusterFuture ... done [17:27:27.085] result() for ClusterFuture ... [17:27:27.085] - result already collected: FutureResult [17:27:27.085] result() for ClusterFuture ... done [17:27:27.086] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [17:27:27.088] plan(): nbrOfWorkers() = 2 [17:27:27.088] getGlobalsAndPackages() ... [17:27:27.089] Searching for globals... [17:27:27.110] - globals found: [21] '{', '<-', 'unclass', '::', '[', 'nested', '-', 'stopifnot', '==', 'length', 'inherits', '[[', 'strategy2', 'for', 'seq_along', 'attr', 'attr<-', '[[<-', 'all.equal', 'list', '%<-%' [17:27:27.110] Searching for globals ... DONE [17:27:27.110] Resolving globals: FALSE [17:27:27.111] The total size of the 2 globals is 55.46 KiB (56792 bytes) [17:27:27.112] The total size of the 2 globals exported for future expression ('{; a <- 1L; plan_a <- unclass(future::plan("list")); nested_a <- nested[-1]; stopifnot(length(nested_a) == 1L, length(plan_a) == 1L, inherits(plan_a[[1]],; "future"), inherits(future::plan("next"), strategy2)); ...; }; y; }') is 55.46 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'nested' (55.34 KiB of class 'list') and 'strategy2' (120 bytes of class 'character') [17:27:27.112] - globals: [2] 'nested', 'strategy2' [17:27:27.113] - packages: [1] 'future' [17:27:27.113] getGlobalsAndPackages() ... DONE [17:27:27.113] run() for 'Future' ... [17:27:27.113] - state: 'created' [17:27:27.113] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:27.127] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:27.127] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:27.127] - Field: 'node' [17:27:27.128] - Field: 'label' [17:27:27.128] - Field: 'local' [17:27:27.128] - Field: 'owner' [17:27:27.128] - Field: 'envir' [17:27:27.128] - Field: 'workers' [17:27:27.128] - Field: 'packages' [17:27:27.129] - Field: 'gc' [17:27:27.129] - Field: 'conditions' [17:27:27.129] - Field: 'persistent' [17:27:27.129] - Field: 'expr' [17:27:27.129] - Field: 'uuid' [17:27:27.129] - Field: 'seed' [17:27:27.130] - Field: 'version' [17:27:27.130] - Field: 'result' [17:27:27.130] - Field: 'asynchronous' [17:27:27.130] - Field: 'calls' [17:27:27.130] - Field: 'globals' [17:27:27.131] - Field: 'stdout' [17:27:27.131] - Field: 'earlySignal' [17:27:27.131] - Field: 'lazy' [17:27:27.131] - Field: 'state' [17:27:27.131] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:27.131] - Launch lazy future ... [17:27:27.132] Packages needed by the future expression (n = 1): 'future' [17:27:27.132] Packages needed by future strategies (n = 1): 'future' [17:27:27.133] { [17:27:27.133] { [17:27:27.133] { [17:27:27.133] ...future.startTime <- base::Sys.time() [17:27:27.133] { [17:27:27.133] { [17:27:27.133] { [17:27:27.133] { [17:27:27.133] { [17:27:27.133] base::local({ [17:27:27.133] has_future <- base::requireNamespace("future", [17:27:27.133] quietly = TRUE) [17:27:27.133] if (has_future) { [17:27:27.133] ns <- base::getNamespace("future") [17:27:27.133] version <- ns[[".package"]][["version"]] [17:27:27.133] if (is.null(version)) [17:27:27.133] version <- utils::packageVersion("future") [17:27:27.133] } [17:27:27.133] else { [17:27:27.133] version <- NULL [17:27:27.133] } [17:27:27.133] if (!has_future || version < "1.8.0") { [17:27:27.133] info <- base::c(r_version = base::gsub("R version ", [17:27:27.133] "", base::R.version$version.string), [17:27:27.133] platform = base::sprintf("%s (%s-bit)", [17:27:27.133] base::R.version$platform, 8 * [17:27:27.133] base::.Machine$sizeof.pointer), [17:27:27.133] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:27.133] "release", "version")], collapse = " "), [17:27:27.133] hostname = base::Sys.info()[["nodename"]]) [17:27:27.133] info <- base::sprintf("%s: %s", base::names(info), [17:27:27.133] info) [17:27:27.133] info <- base::paste(info, collapse = "; ") [17:27:27.133] if (!has_future) { [17:27:27.133] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:27.133] info) [17:27:27.133] } [17:27:27.133] else { [17:27:27.133] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:27.133] info, version) [17:27:27.133] } [17:27:27.133] base::stop(msg) [17:27:27.133] } [17:27:27.133] }) [17:27:27.133] } [17:27:27.133] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:27.133] base::options(mc.cores = 1L) [17:27:27.133] } [17:27:27.133] base::local({ [17:27:27.133] for (pkg in "future") { [17:27:27.133] base::loadNamespace(pkg) [17:27:27.133] base::library(pkg, character.only = TRUE) [17:27:27.133] } [17:27:27.133] }) [17:27:27.133] } [17:27:27.133] ...future.strategy.old <- future::plan("list") [17:27:27.133] options(future.plan = NULL) [17:27:27.133] Sys.unsetenv("R_FUTURE_PLAN") [17:27:27.133] future::plan(list(b = function (..., envir = parent.frame()) [17:27:27.133] { [17:27:27.133] future <- SequentialFuture(..., envir = envir) [17:27:27.133] if (!future$lazy) [17:27:27.133] future <- run(future) [17:27:27.133] invisible(future) [17:27:27.133] }), .cleanup = FALSE, .init = FALSE) [17:27:27.133] } [17:27:27.133] ...future.workdir <- getwd() [17:27:27.133] } [17:27:27.133] ...future.oldOptions <- base::as.list(base::.Options) [17:27:27.133] ...future.oldEnvVars <- base::Sys.getenv() [17:27:27.133] } [17:27:27.133] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:27.133] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:27.133] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:27.133] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:27.133] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:27.133] future.stdout.windows.reencode = NULL, width = 80L) [17:27:27.133] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:27.133] base::names(...future.oldOptions)) [17:27:27.133] } [17:27:27.133] if (FALSE) { [17:27:27.133] } [17:27:27.133] else { [17:27:27.133] if (TRUE) { [17:27:27.133] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:27.133] open = "w") [17:27:27.133] } [17:27:27.133] else { [17:27:27.133] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:27.133] windows = "NUL", "/dev/null"), open = "w") [17:27:27.133] } [17:27:27.133] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:27.133] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:27.133] base::sink(type = "output", split = FALSE) [17:27:27.133] base::close(...future.stdout) [17:27:27.133] }, add = TRUE) [17:27:27.133] } [17:27:27.133] ...future.frame <- base::sys.nframe() [17:27:27.133] ...future.conditions <- base::list() [17:27:27.133] ...future.rng <- base::globalenv()$.Random.seed [17:27:27.133] if (FALSE) { [17:27:27.133] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:27.133] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:27.133] } [17:27:27.133] ...future.result <- base::tryCatch({ [17:27:27.133] base::withCallingHandlers({ [17:27:27.133] ...future.value <- base::withVisible(base::local({ [17:27:27.133] ...future.makeSendCondition <- base::local({ [17:27:27.133] sendCondition <- NULL [17:27:27.133] function(frame = 1L) { [17:27:27.133] if (is.function(sendCondition)) [17:27:27.133] return(sendCondition) [17:27:27.133] ns <- getNamespace("parallel") [17:27:27.133] if (exists("sendData", mode = "function", [17:27:27.133] envir = ns)) { [17:27:27.133] parallel_sendData <- get("sendData", mode = "function", [17:27:27.133] envir = ns) [17:27:27.133] envir <- sys.frame(frame) [17:27:27.133] master <- NULL [17:27:27.133] while (!identical(envir, .GlobalEnv) && [17:27:27.133] !identical(envir, emptyenv())) { [17:27:27.133] if (exists("master", mode = "list", envir = envir, [17:27:27.133] inherits = FALSE)) { [17:27:27.133] master <- get("master", mode = "list", [17:27:27.133] envir = envir, inherits = FALSE) [17:27:27.133] if (inherits(master, c("SOCKnode", [17:27:27.133] "SOCK0node"))) { [17:27:27.133] sendCondition <<- function(cond) { [17:27:27.133] data <- list(type = "VALUE", value = cond, [17:27:27.133] success = TRUE) [17:27:27.133] parallel_sendData(master, data) [17:27:27.133] } [17:27:27.133] return(sendCondition) [17:27:27.133] } [17:27:27.133] } [17:27:27.133] frame <- frame + 1L [17:27:27.133] envir <- sys.frame(frame) [17:27:27.133] } [17:27:27.133] } [17:27:27.133] sendCondition <<- function(cond) NULL [17:27:27.133] } [17:27:27.133] }) [17:27:27.133] withCallingHandlers({ [17:27:27.133] { [17:27:27.133] a <- 1L [17:27:27.133] plan_a <- unclass(future::plan("list")) [17:27:27.133] nested_a <- nested[-1] [17:27:27.133] stopifnot(length(nested_a) == 1L, length(plan_a) == [17:27:27.133] 1L, inherits(plan_a[[1]], "future"), inherits(future::plan("next"), [17:27:27.133] strategy2)) [17:27:27.133] for (kk in seq_along(plan_a)) attr(plan_a[[kk]], [17:27:27.133] "init") <- NULL [17:27:27.133] for (kk in seq_along(nested_a)) attr(nested_a[[kk]], [17:27:27.133] "init") <- NULL [17:27:27.133] stopifnot(all.equal(plan_a, nested_a)) [17:27:27.133] y %<-% { [17:27:27.133] b <- 2L [17:27:27.133] plan_b <- future::plan("list") [17:27:27.133] nested_b <- nested_a[-1] [17:27:27.133] stopifnot(length(nested_b) == 0L, length(plan_b) == [17:27:27.133] 1L, inherits(plan_b[[1]], "future"), [17:27:27.133] inherits(future::plan("next"), "sequential")) [17:27:27.133] list(a = a, nested_a = nested_a, plan_a = plan_a, [17:27:27.133] b = b, nested_b = nested_b, plan_b = plan_b) [17:27:27.133] } [17:27:27.133] y [17:27:27.133] } [17:27:27.133] }, immediateCondition = function(cond) { [17:27:27.133] sendCondition <- ...future.makeSendCondition() [17:27:27.133] sendCondition(cond) [17:27:27.133] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.133] { [17:27:27.133] inherits <- base::inherits [17:27:27.133] invokeRestart <- base::invokeRestart [17:27:27.133] is.null <- base::is.null [17:27:27.133] muffled <- FALSE [17:27:27.133] if (inherits(cond, "message")) { [17:27:27.133] muffled <- grepl(pattern, "muffleMessage") [17:27:27.133] if (muffled) [17:27:27.133] invokeRestart("muffleMessage") [17:27:27.133] } [17:27:27.133] else if (inherits(cond, "warning")) { [17:27:27.133] muffled <- grepl(pattern, "muffleWarning") [17:27:27.133] if (muffled) [17:27:27.133] invokeRestart("muffleWarning") [17:27:27.133] } [17:27:27.133] else if (inherits(cond, "condition")) { [17:27:27.133] if (!is.null(pattern)) { [17:27:27.133] computeRestarts <- base::computeRestarts [17:27:27.133] grepl <- base::grepl [17:27:27.133] restarts <- computeRestarts(cond) [17:27:27.133] for (restart in restarts) { [17:27:27.133] name <- restart$name [17:27:27.133] if (is.null(name)) [17:27:27.133] next [17:27:27.133] if (!grepl(pattern, name)) [17:27:27.133] next [17:27:27.133] invokeRestart(restart) [17:27:27.133] muffled <- TRUE [17:27:27.133] break [17:27:27.133] } [17:27:27.133] } [17:27:27.133] } [17:27:27.133] invisible(muffled) [17:27:27.133] } [17:27:27.133] muffleCondition(cond) [17:27:27.133] }) [17:27:27.133] })) [17:27:27.133] future::FutureResult(value = ...future.value$value, [17:27:27.133] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:27.133] ...future.rng), globalenv = if (FALSE) [17:27:27.133] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:27.133] ...future.globalenv.names)) [17:27:27.133] else NULL, started = ...future.startTime, version = "1.8") [17:27:27.133] }, condition = base::local({ [17:27:27.133] c <- base::c [17:27:27.133] inherits <- base::inherits [17:27:27.133] invokeRestart <- base::invokeRestart [17:27:27.133] length <- base::length [17:27:27.133] list <- base::list [17:27:27.133] seq.int <- base::seq.int [17:27:27.133] signalCondition <- base::signalCondition [17:27:27.133] sys.calls <- base::sys.calls [17:27:27.133] `[[` <- base::`[[` [17:27:27.133] `+` <- base::`+` [17:27:27.133] `<<-` <- base::`<<-` [17:27:27.133] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:27.133] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:27.133] 3L)] [17:27:27.133] } [17:27:27.133] function(cond) { [17:27:27.133] is_error <- inherits(cond, "error") [17:27:27.133] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:27.133] NULL) [17:27:27.133] if (is_error) { [17:27:27.133] sessionInformation <- function() { [17:27:27.133] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:27.133] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:27.133] search = base::search(), system = base::Sys.info()) [17:27:27.133] } [17:27:27.133] ...future.conditions[[length(...future.conditions) + [17:27:27.133] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:27.133] cond$call), session = sessionInformation(), [17:27:27.133] timestamp = base::Sys.time(), signaled = 0L) [17:27:27.133] signalCondition(cond) [17:27:27.133] } [17:27:27.133] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:27.133] "immediateCondition"))) { [17:27:27.133] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:27.133] ...future.conditions[[length(...future.conditions) + [17:27:27.133] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:27.133] if (TRUE && !signal) { [17:27:27.133] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.133] { [17:27:27.133] inherits <- base::inherits [17:27:27.133] invokeRestart <- base::invokeRestart [17:27:27.133] is.null <- base::is.null [17:27:27.133] muffled <- FALSE [17:27:27.133] if (inherits(cond, "message")) { [17:27:27.133] muffled <- grepl(pattern, "muffleMessage") [17:27:27.133] if (muffled) [17:27:27.133] invokeRestart("muffleMessage") [17:27:27.133] } [17:27:27.133] else if (inherits(cond, "warning")) { [17:27:27.133] muffled <- grepl(pattern, "muffleWarning") [17:27:27.133] if (muffled) [17:27:27.133] invokeRestart("muffleWarning") [17:27:27.133] } [17:27:27.133] else if (inherits(cond, "condition")) { [17:27:27.133] if (!is.null(pattern)) { [17:27:27.133] computeRestarts <- base::computeRestarts [17:27:27.133] grepl <- base::grepl [17:27:27.133] restarts <- computeRestarts(cond) [17:27:27.133] for (restart in restarts) { [17:27:27.133] name <- restart$name [17:27:27.133] if (is.null(name)) [17:27:27.133] next [17:27:27.133] if (!grepl(pattern, name)) [17:27:27.133] next [17:27:27.133] invokeRestart(restart) [17:27:27.133] muffled <- TRUE [17:27:27.133] break [17:27:27.133] } [17:27:27.133] } [17:27:27.133] } [17:27:27.133] invisible(muffled) [17:27:27.133] } [17:27:27.133] muffleCondition(cond, pattern = "^muffle") [17:27:27.133] } [17:27:27.133] } [17:27:27.133] else { [17:27:27.133] if (TRUE) { [17:27:27.133] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.133] { [17:27:27.133] inherits <- base::inherits [17:27:27.133] invokeRestart <- base::invokeRestart [17:27:27.133] is.null <- base::is.null [17:27:27.133] muffled <- FALSE [17:27:27.133] if (inherits(cond, "message")) { [17:27:27.133] muffled <- grepl(pattern, "muffleMessage") [17:27:27.133] if (muffled) [17:27:27.133] invokeRestart("muffleMessage") [17:27:27.133] } [17:27:27.133] else if (inherits(cond, "warning")) { [17:27:27.133] muffled <- grepl(pattern, "muffleWarning") [17:27:27.133] if (muffled) [17:27:27.133] invokeRestart("muffleWarning") [17:27:27.133] } [17:27:27.133] else if (inherits(cond, "condition")) { [17:27:27.133] if (!is.null(pattern)) { [17:27:27.133] computeRestarts <- base::computeRestarts [17:27:27.133] grepl <- base::grepl [17:27:27.133] restarts <- computeRestarts(cond) [17:27:27.133] for (restart in restarts) { [17:27:27.133] name <- restart$name [17:27:27.133] if (is.null(name)) [17:27:27.133] next [17:27:27.133] if (!grepl(pattern, name)) [17:27:27.133] next [17:27:27.133] invokeRestart(restart) [17:27:27.133] muffled <- TRUE [17:27:27.133] break [17:27:27.133] } [17:27:27.133] } [17:27:27.133] } [17:27:27.133] invisible(muffled) [17:27:27.133] } [17:27:27.133] muffleCondition(cond, pattern = "^muffle") [17:27:27.133] } [17:27:27.133] } [17:27:27.133] } [17:27:27.133] })) [17:27:27.133] }, error = function(ex) { [17:27:27.133] base::structure(base::list(value = NULL, visible = NULL, [17:27:27.133] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:27.133] ...future.rng), started = ...future.startTime, [17:27:27.133] finished = Sys.time(), session_uuid = NA_character_, [17:27:27.133] version = "1.8"), class = "FutureResult") [17:27:27.133] }, finally = { [17:27:27.133] if (!identical(...future.workdir, getwd())) [17:27:27.133] setwd(...future.workdir) [17:27:27.133] { [17:27:27.133] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:27.133] ...future.oldOptions$nwarnings <- NULL [17:27:27.133] } [17:27:27.133] base::options(...future.oldOptions) [17:27:27.133] if (.Platform$OS.type == "windows") { [17:27:27.133] old_names <- names(...future.oldEnvVars) [17:27:27.133] envs <- base::Sys.getenv() [17:27:27.133] names <- names(envs) [17:27:27.133] common <- intersect(names, old_names) [17:27:27.133] added <- setdiff(names, old_names) [17:27:27.133] removed <- setdiff(old_names, names) [17:27:27.133] changed <- common[...future.oldEnvVars[common] != [17:27:27.133] envs[common]] [17:27:27.133] NAMES <- toupper(changed) [17:27:27.133] args <- list() [17:27:27.133] for (kk in seq_along(NAMES)) { [17:27:27.133] name <- changed[[kk]] [17:27:27.133] NAME <- NAMES[[kk]] [17:27:27.133] if (name != NAME && is.element(NAME, old_names)) [17:27:27.133] next [17:27:27.133] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:27.133] } [17:27:27.133] NAMES <- toupper(added) [17:27:27.133] for (kk in seq_along(NAMES)) { [17:27:27.133] name <- added[[kk]] [17:27:27.133] NAME <- NAMES[[kk]] [17:27:27.133] if (name != NAME && is.element(NAME, old_names)) [17:27:27.133] next [17:27:27.133] args[[name]] <- "" [17:27:27.133] } [17:27:27.133] NAMES <- toupper(removed) [17:27:27.133] for (kk in seq_along(NAMES)) { [17:27:27.133] name <- removed[[kk]] [17:27:27.133] NAME <- NAMES[[kk]] [17:27:27.133] if (name != NAME && is.element(NAME, old_names)) [17:27:27.133] next [17:27:27.133] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:27.133] } [17:27:27.133] if (length(args) > 0) [17:27:27.133] base::do.call(base::Sys.setenv, args = args) [17:27:27.133] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:27.133] } [17:27:27.133] else { [17:27:27.133] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:27.133] } [17:27:27.133] { [17:27:27.133] if (base::length(...future.futureOptionsAdded) > [17:27:27.133] 0L) { [17:27:27.133] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:27.133] base::names(opts) <- ...future.futureOptionsAdded [17:27:27.133] base::options(opts) [17:27:27.133] } [17:27:27.133] { [17:27:27.133] { [17:27:27.133] base::options(mc.cores = ...future.mc.cores.old) [17:27:27.133] NULL [17:27:27.133] } [17:27:27.133] options(future.plan = NULL) [17:27:27.133] if (is.na(NA_character_)) [17:27:27.133] Sys.unsetenv("R_FUTURE_PLAN") [17:27:27.133] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:27.133] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:27.133] .init = FALSE) [17:27:27.133] } [17:27:27.133] } [17:27:27.133] } [17:27:27.133] }) [17:27:27.133] if (TRUE) { [17:27:27.133] base::sink(type = "output", split = FALSE) [17:27:27.133] if (TRUE) { [17:27:27.133] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:27.133] } [17:27:27.133] else { [17:27:27.133] ...future.result["stdout"] <- base::list(NULL) [17:27:27.133] } [17:27:27.133] base::close(...future.stdout) [17:27:27.133] ...future.stdout <- NULL [17:27:27.133] } [17:27:27.133] ...future.result$conditions <- ...future.conditions [17:27:27.133] ...future.result$finished <- base::Sys.time() [17:27:27.133] ...future.result [17:27:27.133] } [17:27:27.138] Exporting 2 global objects (55.46 KiB) to cluster node #1 ... [17:27:27.139] Exporting 'nested' (55.34 KiB) to cluster node #1 ... [17:27:27.139] Exporting 'nested' (55.34 KiB) to cluster node #1 ... DONE [17:27:27.139] Exporting 'strategy2' (120 bytes) to cluster node #1 ... [17:27:27.140] Exporting 'strategy2' (120 bytes) to cluster node #1 ... DONE [17:27:27.140] Exporting 2 global objects (55.46 KiB) to cluster node #1 ... DONE [17:27:27.141] MultisessionFuture started [17:27:27.141] - Launch lazy future ... done [17:27:27.141] run() for 'MultisessionFuture' ... done [17:27:27.141] result() for ClusterFuture ... [17:27:27.141] receiveMessageFromWorker() for ClusterFuture ... [17:27:27.142] - Validating connection of MultisessionFuture [17:27:27.179] - received message: FutureResult [17:27:27.179] - Received FutureResult [17:27:27.179] - Erased future from FutureRegistry [17:27:27.179] result() for ClusterFuture ... [17:27:27.180] - result already collected: FutureResult [17:27:27.180] result() for ClusterFuture ... done [17:27:27.180] receiveMessageFromWorker() for ClusterFuture ... done [17:27:27.180] result() for ClusterFuture ... done [17:27:27.180] result() for ClusterFuture ... [17:27:27.180] - result already collected: FutureResult [17:27:27.181] result() for ClusterFuture ... done List of 6 $ a : int 1 $ nested_a:List of 1 ..$ b:function (..., envir = parent.frame()) .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) $ plan_a :List of 1 ..$ b:function (..., envir = parent.frame()) .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) $ b : int 2 $ nested_b: Named list() $ plan_b :List of 1 ..$ :function (..., envir = parent.frame()) .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" ..- attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [17:27:27.187] getGlobalsAndPackages() ... [17:27:27.187] Searching for globals... [17:27:27.188] - globals found: [7] '{', 'value', 'future', 'subset', 'data', '==', 'a' [17:27:27.189] Searching for globals ... DONE [17:27:27.189] Resolving globals: FALSE [17:27:27.189] The total size of the 1 globals is 128 bytes (128 bytes) [17:27:27.190] The total size of the 1 globals exported for future expression ('{; value(future(subset(data, a == 2))); }') is 128 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'data' (128 bytes of class 'list') [17:27:27.190] - globals: [1] 'data' [17:27:27.190] - packages: [1] 'future' [17:27:27.190] getGlobalsAndPackages() ... DONE [17:27:27.191] run() for 'Future' ... [17:27:27.191] - state: 'created' [17:27:27.191] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:27.205] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:27.205] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:27.205] - Field: 'node' [17:27:27.205] - Field: 'label' [17:27:27.206] - Field: 'local' [17:27:27.206] - Field: 'owner' [17:27:27.206] - Field: 'envir' [17:27:27.206] - Field: 'workers' [17:27:27.206] - Field: 'packages' [17:27:27.206] - Field: 'gc' [17:27:27.207] - Field: 'conditions' [17:27:27.207] - Field: 'persistent' [17:27:27.207] - Field: 'expr' [17:27:27.207] - Field: 'uuid' [17:27:27.207] - Field: 'seed' [17:27:27.207] - Field: 'version' [17:27:27.208] - Field: 'result' [17:27:27.208] - Field: 'asynchronous' [17:27:27.208] - Field: 'calls' [17:27:27.208] - Field: 'globals' [17:27:27.208] - Field: 'stdout' [17:27:27.209] - Field: 'earlySignal' [17:27:27.209] - Field: 'lazy' [17:27:27.209] - Field: 'state' [17:27:27.209] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:27.209] - Launch lazy future ... [17:27:27.210] Packages needed by the future expression (n = 1): 'future' [17:27:27.210] Packages needed by future strategies (n = 1): 'future' [17:27:27.210] { [17:27:27.210] { [17:27:27.210] { [17:27:27.210] ...future.startTime <- base::Sys.time() [17:27:27.210] { [17:27:27.210] { [17:27:27.210] { [17:27:27.210] { [17:27:27.210] { [17:27:27.210] base::local({ [17:27:27.210] has_future <- base::requireNamespace("future", [17:27:27.210] quietly = TRUE) [17:27:27.210] if (has_future) { [17:27:27.210] ns <- base::getNamespace("future") [17:27:27.210] version <- ns[[".package"]][["version"]] [17:27:27.210] if (is.null(version)) [17:27:27.210] version <- utils::packageVersion("future") [17:27:27.210] } [17:27:27.210] else { [17:27:27.210] version <- NULL [17:27:27.210] } [17:27:27.210] if (!has_future || version < "1.8.0") { [17:27:27.210] info <- base::c(r_version = base::gsub("R version ", [17:27:27.210] "", base::R.version$version.string), [17:27:27.210] platform = base::sprintf("%s (%s-bit)", [17:27:27.210] base::R.version$platform, 8 * [17:27:27.210] base::.Machine$sizeof.pointer), [17:27:27.210] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:27.210] "release", "version")], collapse = " "), [17:27:27.210] hostname = base::Sys.info()[["nodename"]]) [17:27:27.210] info <- base::sprintf("%s: %s", base::names(info), [17:27:27.210] info) [17:27:27.210] info <- base::paste(info, collapse = "; ") [17:27:27.210] if (!has_future) { [17:27:27.210] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:27.210] info) [17:27:27.210] } [17:27:27.210] else { [17:27:27.210] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:27.210] info, version) [17:27:27.210] } [17:27:27.210] base::stop(msg) [17:27:27.210] } [17:27:27.210] }) [17:27:27.210] } [17:27:27.210] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:27.210] base::options(mc.cores = 1L) [17:27:27.210] } [17:27:27.210] base::local({ [17:27:27.210] for (pkg in "future") { [17:27:27.210] base::loadNamespace(pkg) [17:27:27.210] base::library(pkg, character.only = TRUE) [17:27:27.210] } [17:27:27.210] }) [17:27:27.210] } [17:27:27.210] ...future.strategy.old <- future::plan("list") [17:27:27.210] options(future.plan = NULL) [17:27:27.210] Sys.unsetenv("R_FUTURE_PLAN") [17:27:27.210] future::plan(list(b = function (..., envir = parent.frame()) [17:27:27.210] { [17:27:27.210] future <- SequentialFuture(..., envir = envir) [17:27:27.210] if (!future$lazy) [17:27:27.210] future <- run(future) [17:27:27.210] invisible(future) [17:27:27.210] }), .cleanup = FALSE, .init = FALSE) [17:27:27.210] } [17:27:27.210] ...future.workdir <- getwd() [17:27:27.210] } [17:27:27.210] ...future.oldOptions <- base::as.list(base::.Options) [17:27:27.210] ...future.oldEnvVars <- base::Sys.getenv() [17:27:27.210] } [17:27:27.210] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:27.210] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:27.210] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:27.210] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:27.210] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:27.210] future.stdout.windows.reencode = NULL, width = 80L) [17:27:27.210] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:27.210] base::names(...future.oldOptions)) [17:27:27.210] } [17:27:27.210] if (FALSE) { [17:27:27.210] } [17:27:27.210] else { [17:27:27.210] if (TRUE) { [17:27:27.210] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:27.210] open = "w") [17:27:27.210] } [17:27:27.210] else { [17:27:27.210] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:27.210] windows = "NUL", "/dev/null"), open = "w") [17:27:27.210] } [17:27:27.210] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:27.210] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:27.210] base::sink(type = "output", split = FALSE) [17:27:27.210] base::close(...future.stdout) [17:27:27.210] }, add = TRUE) [17:27:27.210] } [17:27:27.210] ...future.frame <- base::sys.nframe() [17:27:27.210] ...future.conditions <- base::list() [17:27:27.210] ...future.rng <- base::globalenv()$.Random.seed [17:27:27.210] if (FALSE) { [17:27:27.210] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:27.210] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:27.210] } [17:27:27.210] ...future.result <- base::tryCatch({ [17:27:27.210] base::withCallingHandlers({ [17:27:27.210] ...future.value <- base::withVisible(base::local({ [17:27:27.210] ...future.makeSendCondition <- base::local({ [17:27:27.210] sendCondition <- NULL [17:27:27.210] function(frame = 1L) { [17:27:27.210] if (is.function(sendCondition)) [17:27:27.210] return(sendCondition) [17:27:27.210] ns <- getNamespace("parallel") [17:27:27.210] if (exists("sendData", mode = "function", [17:27:27.210] envir = ns)) { [17:27:27.210] parallel_sendData <- get("sendData", mode = "function", [17:27:27.210] envir = ns) [17:27:27.210] envir <- sys.frame(frame) [17:27:27.210] master <- NULL [17:27:27.210] while (!identical(envir, .GlobalEnv) && [17:27:27.210] !identical(envir, emptyenv())) { [17:27:27.210] if (exists("master", mode = "list", envir = envir, [17:27:27.210] inherits = FALSE)) { [17:27:27.210] master <- get("master", mode = "list", [17:27:27.210] envir = envir, inherits = FALSE) [17:27:27.210] if (inherits(master, c("SOCKnode", [17:27:27.210] "SOCK0node"))) { [17:27:27.210] sendCondition <<- function(cond) { [17:27:27.210] data <- list(type = "VALUE", value = cond, [17:27:27.210] success = TRUE) [17:27:27.210] parallel_sendData(master, data) [17:27:27.210] } [17:27:27.210] return(sendCondition) [17:27:27.210] } [17:27:27.210] } [17:27:27.210] frame <- frame + 1L [17:27:27.210] envir <- sys.frame(frame) [17:27:27.210] } [17:27:27.210] } [17:27:27.210] sendCondition <<- function(cond) NULL [17:27:27.210] } [17:27:27.210] }) [17:27:27.210] withCallingHandlers({ [17:27:27.210] { [17:27:27.210] value(future(subset(data, a == 2))) [17:27:27.210] } [17:27:27.210] }, immediateCondition = function(cond) { [17:27:27.210] sendCondition <- ...future.makeSendCondition() [17:27:27.210] sendCondition(cond) [17:27:27.210] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.210] { [17:27:27.210] inherits <- base::inherits [17:27:27.210] invokeRestart <- base::invokeRestart [17:27:27.210] is.null <- base::is.null [17:27:27.210] muffled <- FALSE [17:27:27.210] if (inherits(cond, "message")) { [17:27:27.210] muffled <- grepl(pattern, "muffleMessage") [17:27:27.210] if (muffled) [17:27:27.210] invokeRestart("muffleMessage") [17:27:27.210] } [17:27:27.210] else if (inherits(cond, "warning")) { [17:27:27.210] muffled <- grepl(pattern, "muffleWarning") [17:27:27.210] if (muffled) [17:27:27.210] invokeRestart("muffleWarning") [17:27:27.210] } [17:27:27.210] else if (inherits(cond, "condition")) { [17:27:27.210] if (!is.null(pattern)) { [17:27:27.210] computeRestarts <- base::computeRestarts [17:27:27.210] grepl <- base::grepl [17:27:27.210] restarts <- computeRestarts(cond) [17:27:27.210] for (restart in restarts) { [17:27:27.210] name <- restart$name [17:27:27.210] if (is.null(name)) [17:27:27.210] next [17:27:27.210] if (!grepl(pattern, name)) [17:27:27.210] next [17:27:27.210] invokeRestart(restart) [17:27:27.210] muffled <- TRUE [17:27:27.210] break [17:27:27.210] } [17:27:27.210] } [17:27:27.210] } [17:27:27.210] invisible(muffled) [17:27:27.210] } [17:27:27.210] muffleCondition(cond) [17:27:27.210] }) [17:27:27.210] })) [17:27:27.210] future::FutureResult(value = ...future.value$value, [17:27:27.210] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:27.210] ...future.rng), globalenv = if (FALSE) [17:27:27.210] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:27.210] ...future.globalenv.names)) [17:27:27.210] else NULL, started = ...future.startTime, version = "1.8") [17:27:27.210] }, condition = base::local({ [17:27:27.210] c <- base::c [17:27:27.210] inherits <- base::inherits [17:27:27.210] invokeRestart <- base::invokeRestart [17:27:27.210] length <- base::length [17:27:27.210] list <- base::list [17:27:27.210] seq.int <- base::seq.int [17:27:27.210] signalCondition <- base::signalCondition [17:27:27.210] sys.calls <- base::sys.calls [17:27:27.210] `[[` <- base::`[[` [17:27:27.210] `+` <- base::`+` [17:27:27.210] `<<-` <- base::`<<-` [17:27:27.210] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:27.210] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:27.210] 3L)] [17:27:27.210] } [17:27:27.210] function(cond) { [17:27:27.210] is_error <- inherits(cond, "error") [17:27:27.210] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:27.210] NULL) [17:27:27.210] if (is_error) { [17:27:27.210] sessionInformation <- function() { [17:27:27.210] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:27.210] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:27.210] search = base::search(), system = base::Sys.info()) [17:27:27.210] } [17:27:27.210] ...future.conditions[[length(...future.conditions) + [17:27:27.210] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:27.210] cond$call), session = sessionInformation(), [17:27:27.210] timestamp = base::Sys.time(), signaled = 0L) [17:27:27.210] signalCondition(cond) [17:27:27.210] } [17:27:27.210] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:27.210] "immediateCondition"))) { [17:27:27.210] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:27.210] ...future.conditions[[length(...future.conditions) + [17:27:27.210] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:27.210] if (TRUE && !signal) { [17:27:27.210] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.210] { [17:27:27.210] inherits <- base::inherits [17:27:27.210] invokeRestart <- base::invokeRestart [17:27:27.210] is.null <- base::is.null [17:27:27.210] muffled <- FALSE [17:27:27.210] if (inherits(cond, "message")) { [17:27:27.210] muffled <- grepl(pattern, "muffleMessage") [17:27:27.210] if (muffled) [17:27:27.210] invokeRestart("muffleMessage") [17:27:27.210] } [17:27:27.210] else if (inherits(cond, "warning")) { [17:27:27.210] muffled <- grepl(pattern, "muffleWarning") [17:27:27.210] if (muffled) [17:27:27.210] invokeRestart("muffleWarning") [17:27:27.210] } [17:27:27.210] else if (inherits(cond, "condition")) { [17:27:27.210] if (!is.null(pattern)) { [17:27:27.210] computeRestarts <- base::computeRestarts [17:27:27.210] grepl <- base::grepl [17:27:27.210] restarts <- computeRestarts(cond) [17:27:27.210] for (restart in restarts) { [17:27:27.210] name <- restart$name [17:27:27.210] if (is.null(name)) [17:27:27.210] next [17:27:27.210] if (!grepl(pattern, name)) [17:27:27.210] next [17:27:27.210] invokeRestart(restart) [17:27:27.210] muffled <- TRUE [17:27:27.210] break [17:27:27.210] } [17:27:27.210] } [17:27:27.210] } [17:27:27.210] invisible(muffled) [17:27:27.210] } [17:27:27.210] muffleCondition(cond, pattern = "^muffle") [17:27:27.210] } [17:27:27.210] } [17:27:27.210] else { [17:27:27.210] if (TRUE) { [17:27:27.210] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.210] { [17:27:27.210] inherits <- base::inherits [17:27:27.210] invokeRestart <- base::invokeRestart [17:27:27.210] is.null <- base::is.null [17:27:27.210] muffled <- FALSE [17:27:27.210] if (inherits(cond, "message")) { [17:27:27.210] muffled <- grepl(pattern, "muffleMessage") [17:27:27.210] if (muffled) [17:27:27.210] invokeRestart("muffleMessage") [17:27:27.210] } [17:27:27.210] else if (inherits(cond, "warning")) { [17:27:27.210] muffled <- grepl(pattern, "muffleWarning") [17:27:27.210] if (muffled) [17:27:27.210] invokeRestart("muffleWarning") [17:27:27.210] } [17:27:27.210] else if (inherits(cond, "condition")) { [17:27:27.210] if (!is.null(pattern)) { [17:27:27.210] computeRestarts <- base::computeRestarts [17:27:27.210] grepl <- base::grepl [17:27:27.210] restarts <- computeRestarts(cond) [17:27:27.210] for (restart in restarts) { [17:27:27.210] name <- restart$name [17:27:27.210] if (is.null(name)) [17:27:27.210] next [17:27:27.210] if (!grepl(pattern, name)) [17:27:27.210] next [17:27:27.210] invokeRestart(restart) [17:27:27.210] muffled <- TRUE [17:27:27.210] break [17:27:27.210] } [17:27:27.210] } [17:27:27.210] } [17:27:27.210] invisible(muffled) [17:27:27.210] } [17:27:27.210] muffleCondition(cond, pattern = "^muffle") [17:27:27.210] } [17:27:27.210] } [17:27:27.210] } [17:27:27.210] })) [17:27:27.210] }, error = function(ex) { [17:27:27.210] base::structure(base::list(value = NULL, visible = NULL, [17:27:27.210] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:27.210] ...future.rng), started = ...future.startTime, [17:27:27.210] finished = Sys.time(), session_uuid = NA_character_, [17:27:27.210] version = "1.8"), class = "FutureResult") [17:27:27.210] }, finally = { [17:27:27.210] if (!identical(...future.workdir, getwd())) [17:27:27.210] setwd(...future.workdir) [17:27:27.210] { [17:27:27.210] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:27.210] ...future.oldOptions$nwarnings <- NULL [17:27:27.210] } [17:27:27.210] base::options(...future.oldOptions) [17:27:27.210] if (.Platform$OS.type == "windows") { [17:27:27.210] old_names <- names(...future.oldEnvVars) [17:27:27.210] envs <- base::Sys.getenv() [17:27:27.210] names <- names(envs) [17:27:27.210] common <- intersect(names, old_names) [17:27:27.210] added <- setdiff(names, old_names) [17:27:27.210] removed <- setdiff(old_names, names) [17:27:27.210] changed <- common[...future.oldEnvVars[common] != [17:27:27.210] envs[common]] [17:27:27.210] NAMES <- toupper(changed) [17:27:27.210] args <- list() [17:27:27.210] for (kk in seq_along(NAMES)) { [17:27:27.210] name <- changed[[kk]] [17:27:27.210] NAME <- NAMES[[kk]] [17:27:27.210] if (name != NAME && is.element(NAME, old_names)) [17:27:27.210] next [17:27:27.210] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:27.210] } [17:27:27.210] NAMES <- toupper(added) [17:27:27.210] for (kk in seq_along(NAMES)) { [17:27:27.210] name <- added[[kk]] [17:27:27.210] NAME <- NAMES[[kk]] [17:27:27.210] if (name != NAME && is.element(NAME, old_names)) [17:27:27.210] next [17:27:27.210] args[[name]] <- "" [17:27:27.210] } [17:27:27.210] NAMES <- toupper(removed) [17:27:27.210] for (kk in seq_along(NAMES)) { [17:27:27.210] name <- removed[[kk]] [17:27:27.210] NAME <- NAMES[[kk]] [17:27:27.210] if (name != NAME && is.element(NAME, old_names)) [17:27:27.210] next [17:27:27.210] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:27.210] } [17:27:27.210] if (length(args) > 0) [17:27:27.210] base::do.call(base::Sys.setenv, args = args) [17:27:27.210] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:27.210] } [17:27:27.210] else { [17:27:27.210] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:27.210] } [17:27:27.210] { [17:27:27.210] if (base::length(...future.futureOptionsAdded) > [17:27:27.210] 0L) { [17:27:27.210] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:27.210] base::names(opts) <- ...future.futureOptionsAdded [17:27:27.210] base::options(opts) [17:27:27.210] } [17:27:27.210] { [17:27:27.210] { [17:27:27.210] base::options(mc.cores = ...future.mc.cores.old) [17:27:27.210] NULL [17:27:27.210] } [17:27:27.210] options(future.plan = NULL) [17:27:27.210] if (is.na(NA_character_)) [17:27:27.210] Sys.unsetenv("R_FUTURE_PLAN") [17:27:27.210] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:27.210] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:27.210] .init = FALSE) [17:27:27.210] } [17:27:27.210] } [17:27:27.210] } [17:27:27.210] }) [17:27:27.210] if (TRUE) { [17:27:27.210] base::sink(type = "output", split = FALSE) [17:27:27.210] if (TRUE) { [17:27:27.210] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:27.210] } [17:27:27.210] else { [17:27:27.210] ...future.result["stdout"] <- base::list(NULL) [17:27:27.210] } [17:27:27.210] base::close(...future.stdout) [17:27:27.210] ...future.stdout <- NULL [17:27:27.210] } [17:27:27.210] ...future.result$conditions <- ...future.conditions [17:27:27.210] ...future.result$finished <- base::Sys.time() [17:27:27.210] ...future.result [17:27:27.210] } [17:27:27.216] Exporting 1 global objects (128 bytes) to cluster node #1 ... [17:27:27.216] Exporting 'data' (128 bytes) to cluster node #1 ... [17:27:27.216] Exporting 'data' (128 bytes) to cluster node #1 ... DONE [17:27:27.217] Exporting 1 global objects (128 bytes) to cluster node #1 ... DONE [17:27:27.217] MultisessionFuture started [17:27:27.217] - Launch lazy future ... done [17:27:27.218] run() for 'MultisessionFuture' ... done [17:27:27.218] result() for ClusterFuture ... [17:27:27.218] receiveMessageFromWorker() for ClusterFuture ... [17:27:27.218] - Validating connection of MultisessionFuture [17:27:27.237] - received message: FutureResult [17:27:27.237] - Received FutureResult [17:27:27.237] - Erased future from FutureRegistry [17:27:27.237] result() for ClusterFuture ... [17:27:27.238] - result already collected: FutureResult [17:27:27.238] result() for ClusterFuture ... done [17:27:27.238] receiveMessageFromWorker() for ClusterFuture ... done [17:27:27.238] result() for ClusterFuture ... done [17:27:27.238] result() for ClusterFuture ... [17:27:27.238] - result already collected: FutureResult [17:27:27.238] result() for ClusterFuture ... done - plan(list('multisession', 'sequential')) ... DONE - plan(list('multisession', 'multisession')) ... [17:27:27.239] plan(): Setting new future strategy stack: [17:27:27.239] List of future strategies: [17:27:27.239] 1. multisession: [17:27:27.239] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:27.239] - tweaked: FALSE [17:27:27.239] - call: plan(list(a = strategy1, b = strategy2)) [17:27:27.239] 2. multisession: [17:27:27.239] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:27.239] - tweaked: FALSE [17:27:27.239] - call: plan(list(a = strategy1, b = strategy2)) [17:27:27.240] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [17:27:27.240] multisession: [17:27:27.240] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:27.240] - tweaked: FALSE [17:27:27.240] - call: plan(list(a = strategy1, b = strategy2)) [17:27:27.243] getGlobalsAndPackages() ... [17:27:27.243] Not searching for globals [17:27:27.243] - globals: [0] [17:27:27.243] getGlobalsAndPackages() ... DONE [17:27:27.244] [local output] makeClusterPSOCK() ... [17:27:27.246] [local output] Workers: [n = 2] 'localhost', 'localhost' [17:27:27.249] [local output] Base port: 29347 [17:27:27.249] [local output] Getting setup options for 2 cluster nodes ... [17:27:27.249] [local output] - Node 1 of 2 ... [17:27:27.249] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:27.251] [local output] Rscript port: 29347 [17:27:27.251] [local output] - Node 2 of 2 ... [17:27:27.252] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:27.253] [local output] Rscript port: 29347 [17:27:27.254] [local output] Getting setup options for 2 cluster nodes ... done [17:27:27.254] [local output] - Parallel setup requested for some PSOCK nodes [17:27:27.254] [local output] Setting up PSOCK nodes in parallel [17:27:27.254] List of 36 [17:27:27.254] $ worker : chr "localhost" [17:27:27.254] ..- attr(*, "localhost")= logi TRUE [17:27:27.254] $ master : chr "localhost" [17:27:27.254] $ port : int 29347 [17:27:27.254] $ connectTimeout : num 120 [17:27:27.254] $ timeout : num 120 [17:27:27.254] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [17:27:27.254] $ homogeneous : logi TRUE [17:27:27.254] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=nested_futures.R:96212:CRANWIN3:"| __truncated__ [17:27:27.254] $ rscript_envs : NULL [17:27:27.254] $ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:27.254] $ rscript_startup : NULL [17:27:27.254] $ rscript_sh : chr "cmd" [17:27:27.254] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:27.254] $ methods : logi TRUE [17:27:27.254] $ socketOptions : chr "no-delay" [17:27:27.254] $ useXDR : logi FALSE [17:27:27.254] $ outfile : chr "/dev/null" [17:27:27.254] $ renice : int NA [17:27:27.254] $ rshcmd : NULL [17:27:27.254] $ user : chr(0) [17:27:27.254] $ revtunnel : logi FALSE [17:27:27.254] $ rshlogfile : NULL [17:27:27.254] $ rshopts : chr(0) [17:27:27.254] $ rank : int 1 [17:27:27.254] $ manual : logi FALSE [17:27:27.254] $ dryrun : logi FALSE [17:27:27.254] $ quiet : logi FALSE [17:27:27.254] $ setup_strategy : chr "parallel" [17:27:27.254] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:27.254] $ pidfile : chr "D:/temp/Rtmp0sX0WZ/worker.rank=1.parallelly.parent=96212.177d4330c2157.pid" [17:27:27.254] $ rshcmd_label : NULL [17:27:27.254] $ rsh_call : NULL [17:27:27.254] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:27.254] $ localMachine : logi TRUE [17:27:27.254] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [17:27:27.254] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [17:27:27.254] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [17:27:27.254] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [17:27:27.254] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [17:27:27.254] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [17:27:27.254] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [17:27:27.254] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [17:27:27.254] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [17:27:27.254] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [17:27:27.254] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [17:27:27.254] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [17:27:27.254] "parallel"), action = c("launch", "options"), verbose = FALSE) [17:27:27.254] $ arguments :List of 28 [17:27:27.254] ..$ worker : chr "localhost" [17:27:27.254] ..$ master : NULL [17:27:27.254] ..$ port : int 29347 [17:27:27.254] ..$ connectTimeout : num 120 [17:27:27.254] ..$ timeout : num 120 [17:27:27.254] ..$ rscript : NULL [17:27:27.254] ..$ homogeneous : NULL [17:27:27.254] ..$ rscript_args : NULL [17:27:27.254] ..$ rscript_envs : NULL [17:27:27.254] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:27.254] ..$ rscript_startup : NULL [17:27:27.254] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [17:27:27.254] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:27.254] ..$ methods : logi TRUE [17:27:27.254] ..$ socketOptions : chr "no-delay" [17:27:27.254] ..$ useXDR : logi FALSE [17:27:27.254] ..$ outfile : chr "/dev/null" [17:27:27.254] ..$ renice : int NA [17:27:27.254] ..$ rshcmd : NULL [17:27:27.254] ..$ user : NULL [17:27:27.254] ..$ revtunnel : logi NA [17:27:27.254] ..$ rshlogfile : NULL [17:27:27.254] ..$ rshopts : NULL [17:27:27.254] ..$ rank : int 1 [17:27:27.254] ..$ manual : logi FALSE [17:27:27.254] ..$ dryrun : logi FALSE [17:27:27.254] ..$ quiet : logi FALSE [17:27:27.254] ..$ setup_strategy : chr "parallel" [17:27:27.254] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [17:27:27.277] [local output] System call to launch all workers: [17:27:27.277] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=nested_futures.R:96212:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp0sX0WZ/worker.rank=1.parallelly.parent=96212.177d4330c2157.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=29347 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [17:27:27.277] [local output] Starting PSOCK main server [17:27:27.283] [local output] Workers launched [17:27:27.283] [local output] Waiting for workers to connect back [17:27:27.283] - [local output] 0 workers out of 2 ready [17:27:27.445] - [local output] 0 workers out of 2 ready [17:27:27.446] - [local output] 1 workers out of 2 ready [17:27:27.452] - [local output] 1 workers out of 2 ready [17:27:27.453] - [local output] 2 workers out of 2 ready [17:27:27.453] [local output] Launching of workers completed [17:27:27.453] [local output] Collecting session information from workers [17:27:27.454] [local output] - Worker #1 of 2 [17:27:27.454] [local output] - Worker #2 of 2 [17:27:27.455] [local output] makeClusterPSOCK() ... done [17:27:27.467] Packages needed by the future expression (n = 0): [17:27:27.467] Packages needed by future strategies (n = 1): 'future' [17:27:27.468] { [17:27:27.468] { [17:27:27.468] { [17:27:27.468] ...future.startTime <- base::Sys.time() [17:27:27.468] { [17:27:27.468] { [17:27:27.468] { [17:27:27.468] { [17:27:27.468] { [17:27:27.468] base::local({ [17:27:27.468] has_future <- base::requireNamespace("future", [17:27:27.468] quietly = TRUE) [17:27:27.468] if (has_future) { [17:27:27.468] ns <- base::getNamespace("future") [17:27:27.468] version <- ns[[".package"]][["version"]] [17:27:27.468] if (is.null(version)) [17:27:27.468] version <- utils::packageVersion("future") [17:27:27.468] } [17:27:27.468] else { [17:27:27.468] version <- NULL [17:27:27.468] } [17:27:27.468] if (!has_future || version < "1.8.0") { [17:27:27.468] info <- base::c(r_version = base::gsub("R version ", [17:27:27.468] "", base::R.version$version.string), [17:27:27.468] platform = base::sprintf("%s (%s-bit)", [17:27:27.468] base::R.version$platform, 8 * [17:27:27.468] base::.Machine$sizeof.pointer), [17:27:27.468] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:27.468] "release", "version")], collapse = " "), [17:27:27.468] hostname = base::Sys.info()[["nodename"]]) [17:27:27.468] info <- base::sprintf("%s: %s", base::names(info), [17:27:27.468] info) [17:27:27.468] info <- base::paste(info, collapse = "; ") [17:27:27.468] if (!has_future) { [17:27:27.468] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:27.468] info) [17:27:27.468] } [17:27:27.468] else { [17:27:27.468] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:27.468] info, version) [17:27:27.468] } [17:27:27.468] base::stop(msg) [17:27:27.468] } [17:27:27.468] }) [17:27:27.468] } [17:27:27.468] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:27.468] base::options(mc.cores = 1L) [17:27:27.468] } [17:27:27.468] base::local({ [17:27:27.468] for (pkg in "future") { [17:27:27.468] base::loadNamespace(pkg) [17:27:27.468] base::library(pkg, character.only = TRUE) [17:27:27.468] } [17:27:27.468] }) [17:27:27.468] } [17:27:27.468] ...future.strategy.old <- future::plan("list") [17:27:27.468] options(future.plan = NULL) [17:27:27.468] Sys.unsetenv("R_FUTURE_PLAN") [17:27:27.468] future::plan(list(b = function (..., workers = availableCores(), [17:27:27.468] lazy = FALSE, rscript_libs = .libPaths(), [17:27:27.468] envir = parent.frame()) [17:27:27.468] { [17:27:27.468] if (is.function(workers)) [17:27:27.468] workers <- workers() [17:27:27.468] workers <- structure(as.integer(workers), [17:27:27.468] class = class(workers)) [17:27:27.468] stop_if_not(length(workers) == 1, is.finite(workers), [17:27:27.468] workers >= 1) [17:27:27.468] if (workers == 1L && !inherits(workers, "AsIs")) { [17:27:27.468] return(sequential(..., lazy = TRUE, envir = envir)) [17:27:27.468] } [17:27:27.468] future <- MultisessionFuture(..., workers = workers, [17:27:27.468] lazy = lazy, rscript_libs = rscript_libs, [17:27:27.468] envir = envir) [17:27:27.468] if (!future$lazy) [17:27:27.468] future <- run(future) [17:27:27.468] invisible(future) [17:27:27.468] }), .cleanup = FALSE, .init = FALSE) [17:27:27.468] } [17:27:27.468] ...future.workdir <- getwd() [17:27:27.468] } [17:27:27.468] ...future.oldOptions <- base::as.list(base::.Options) [17:27:27.468] ...future.oldEnvVars <- base::Sys.getenv() [17:27:27.468] } [17:27:27.468] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:27.468] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:27.468] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:27.468] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:27.468] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:27.468] future.stdout.windows.reencode = NULL, width = 80L) [17:27:27.468] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:27.468] base::names(...future.oldOptions)) [17:27:27.468] } [17:27:27.468] if (FALSE) { [17:27:27.468] } [17:27:27.468] else { [17:27:27.468] if (TRUE) { [17:27:27.468] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:27.468] open = "w") [17:27:27.468] } [17:27:27.468] else { [17:27:27.468] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:27.468] windows = "NUL", "/dev/null"), open = "w") [17:27:27.468] } [17:27:27.468] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:27.468] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:27.468] base::sink(type = "output", split = FALSE) [17:27:27.468] base::close(...future.stdout) [17:27:27.468] }, add = TRUE) [17:27:27.468] } [17:27:27.468] ...future.frame <- base::sys.nframe() [17:27:27.468] ...future.conditions <- base::list() [17:27:27.468] ...future.rng <- base::globalenv()$.Random.seed [17:27:27.468] if (FALSE) { [17:27:27.468] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:27.468] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:27.468] } [17:27:27.468] ...future.result <- base::tryCatch({ [17:27:27.468] base::withCallingHandlers({ [17:27:27.468] ...future.value <- base::withVisible(base::local({ [17:27:27.468] ...future.makeSendCondition <- base::local({ [17:27:27.468] sendCondition <- NULL [17:27:27.468] function(frame = 1L) { [17:27:27.468] if (is.function(sendCondition)) [17:27:27.468] return(sendCondition) [17:27:27.468] ns <- getNamespace("parallel") [17:27:27.468] if (exists("sendData", mode = "function", [17:27:27.468] envir = ns)) { [17:27:27.468] parallel_sendData <- get("sendData", mode = "function", [17:27:27.468] envir = ns) [17:27:27.468] envir <- sys.frame(frame) [17:27:27.468] master <- NULL [17:27:27.468] while (!identical(envir, .GlobalEnv) && [17:27:27.468] !identical(envir, emptyenv())) { [17:27:27.468] if (exists("master", mode = "list", envir = envir, [17:27:27.468] inherits = FALSE)) { [17:27:27.468] master <- get("master", mode = "list", [17:27:27.468] envir = envir, inherits = FALSE) [17:27:27.468] if (inherits(master, c("SOCKnode", [17:27:27.468] "SOCK0node"))) { [17:27:27.468] sendCondition <<- function(cond) { [17:27:27.468] data <- list(type = "VALUE", value = cond, [17:27:27.468] success = TRUE) [17:27:27.468] parallel_sendData(master, data) [17:27:27.468] } [17:27:27.468] return(sendCondition) [17:27:27.468] } [17:27:27.468] } [17:27:27.468] frame <- frame + 1L [17:27:27.468] envir <- sys.frame(frame) [17:27:27.468] } [17:27:27.468] } [17:27:27.468] sendCondition <<- function(cond) NULL [17:27:27.468] } [17:27:27.468] }) [17:27:27.468] withCallingHandlers({ [17:27:27.468] NA [17:27:27.468] }, immediateCondition = function(cond) { [17:27:27.468] sendCondition <- ...future.makeSendCondition() [17:27:27.468] sendCondition(cond) [17:27:27.468] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.468] { [17:27:27.468] inherits <- base::inherits [17:27:27.468] invokeRestart <- base::invokeRestart [17:27:27.468] is.null <- base::is.null [17:27:27.468] muffled <- FALSE [17:27:27.468] if (inherits(cond, "message")) { [17:27:27.468] muffled <- grepl(pattern, "muffleMessage") [17:27:27.468] if (muffled) [17:27:27.468] invokeRestart("muffleMessage") [17:27:27.468] } [17:27:27.468] else if (inherits(cond, "warning")) { [17:27:27.468] muffled <- grepl(pattern, "muffleWarning") [17:27:27.468] if (muffled) [17:27:27.468] invokeRestart("muffleWarning") [17:27:27.468] } [17:27:27.468] else if (inherits(cond, "condition")) { [17:27:27.468] if (!is.null(pattern)) { [17:27:27.468] computeRestarts <- base::computeRestarts [17:27:27.468] grepl <- base::grepl [17:27:27.468] restarts <- computeRestarts(cond) [17:27:27.468] for (restart in restarts) { [17:27:27.468] name <- restart$name [17:27:27.468] if (is.null(name)) [17:27:27.468] next [17:27:27.468] if (!grepl(pattern, name)) [17:27:27.468] next [17:27:27.468] invokeRestart(restart) [17:27:27.468] muffled <- TRUE [17:27:27.468] break [17:27:27.468] } [17:27:27.468] } [17:27:27.468] } [17:27:27.468] invisible(muffled) [17:27:27.468] } [17:27:27.468] muffleCondition(cond) [17:27:27.468] }) [17:27:27.468] })) [17:27:27.468] future::FutureResult(value = ...future.value$value, [17:27:27.468] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:27.468] ...future.rng), globalenv = if (FALSE) [17:27:27.468] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:27.468] ...future.globalenv.names)) [17:27:27.468] else NULL, started = ...future.startTime, version = "1.8") [17:27:27.468] }, condition = base::local({ [17:27:27.468] c <- base::c [17:27:27.468] inherits <- base::inherits [17:27:27.468] invokeRestart <- base::invokeRestart [17:27:27.468] length <- base::length [17:27:27.468] list <- base::list [17:27:27.468] seq.int <- base::seq.int [17:27:27.468] signalCondition <- base::signalCondition [17:27:27.468] sys.calls <- base::sys.calls [17:27:27.468] `[[` <- base::`[[` [17:27:27.468] `+` <- base::`+` [17:27:27.468] `<<-` <- base::`<<-` [17:27:27.468] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:27.468] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:27.468] 3L)] [17:27:27.468] } [17:27:27.468] function(cond) { [17:27:27.468] is_error <- inherits(cond, "error") [17:27:27.468] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:27.468] NULL) [17:27:27.468] if (is_error) { [17:27:27.468] sessionInformation <- function() { [17:27:27.468] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:27.468] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:27.468] search = base::search(), system = base::Sys.info()) [17:27:27.468] } [17:27:27.468] ...future.conditions[[length(...future.conditions) + [17:27:27.468] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:27.468] cond$call), session = sessionInformation(), [17:27:27.468] timestamp = base::Sys.time(), signaled = 0L) [17:27:27.468] signalCondition(cond) [17:27:27.468] } [17:27:27.468] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:27.468] "immediateCondition"))) { [17:27:27.468] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:27.468] ...future.conditions[[length(...future.conditions) + [17:27:27.468] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:27.468] if (TRUE && !signal) { [17:27:27.468] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.468] { [17:27:27.468] inherits <- base::inherits [17:27:27.468] invokeRestart <- base::invokeRestart [17:27:27.468] is.null <- base::is.null [17:27:27.468] muffled <- FALSE [17:27:27.468] if (inherits(cond, "message")) { [17:27:27.468] muffled <- grepl(pattern, "muffleMessage") [17:27:27.468] if (muffled) [17:27:27.468] invokeRestart("muffleMessage") [17:27:27.468] } [17:27:27.468] else if (inherits(cond, "warning")) { [17:27:27.468] muffled <- grepl(pattern, "muffleWarning") [17:27:27.468] if (muffled) [17:27:27.468] invokeRestart("muffleWarning") [17:27:27.468] } [17:27:27.468] else if (inherits(cond, "condition")) { [17:27:27.468] if (!is.null(pattern)) { [17:27:27.468] computeRestarts <- base::computeRestarts [17:27:27.468] grepl <- base::grepl [17:27:27.468] restarts <- computeRestarts(cond) [17:27:27.468] for (restart in restarts) { [17:27:27.468] name <- restart$name [17:27:27.468] if (is.null(name)) [17:27:27.468] next [17:27:27.468] if (!grepl(pattern, name)) [17:27:27.468] next [17:27:27.468] invokeRestart(restart) [17:27:27.468] muffled <- TRUE [17:27:27.468] break [17:27:27.468] } [17:27:27.468] } [17:27:27.468] } [17:27:27.468] invisible(muffled) [17:27:27.468] } [17:27:27.468] muffleCondition(cond, pattern = "^muffle") [17:27:27.468] } [17:27:27.468] } [17:27:27.468] else { [17:27:27.468] if (TRUE) { [17:27:27.468] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.468] { [17:27:27.468] inherits <- base::inherits [17:27:27.468] invokeRestart <- base::invokeRestart [17:27:27.468] is.null <- base::is.null [17:27:27.468] muffled <- FALSE [17:27:27.468] if (inherits(cond, "message")) { [17:27:27.468] muffled <- grepl(pattern, "muffleMessage") [17:27:27.468] if (muffled) [17:27:27.468] invokeRestart("muffleMessage") [17:27:27.468] } [17:27:27.468] else if (inherits(cond, "warning")) { [17:27:27.468] muffled <- grepl(pattern, "muffleWarning") [17:27:27.468] if (muffled) [17:27:27.468] invokeRestart("muffleWarning") [17:27:27.468] } [17:27:27.468] else if (inherits(cond, "condition")) { [17:27:27.468] if (!is.null(pattern)) { [17:27:27.468] computeRestarts <- base::computeRestarts [17:27:27.468] grepl <- base::grepl [17:27:27.468] restarts <- computeRestarts(cond) [17:27:27.468] for (restart in restarts) { [17:27:27.468] name <- restart$name [17:27:27.468] if (is.null(name)) [17:27:27.468] next [17:27:27.468] if (!grepl(pattern, name)) [17:27:27.468] next [17:27:27.468] invokeRestart(restart) [17:27:27.468] muffled <- TRUE [17:27:27.468] break [17:27:27.468] } [17:27:27.468] } [17:27:27.468] } [17:27:27.468] invisible(muffled) [17:27:27.468] } [17:27:27.468] muffleCondition(cond, pattern = "^muffle") [17:27:27.468] } [17:27:27.468] } [17:27:27.468] } [17:27:27.468] })) [17:27:27.468] }, error = function(ex) { [17:27:27.468] base::structure(base::list(value = NULL, visible = NULL, [17:27:27.468] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:27.468] ...future.rng), started = ...future.startTime, [17:27:27.468] finished = Sys.time(), session_uuid = NA_character_, [17:27:27.468] version = "1.8"), class = "FutureResult") [17:27:27.468] }, finally = { [17:27:27.468] if (!identical(...future.workdir, getwd())) [17:27:27.468] setwd(...future.workdir) [17:27:27.468] { [17:27:27.468] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:27.468] ...future.oldOptions$nwarnings <- NULL [17:27:27.468] } [17:27:27.468] base::options(...future.oldOptions) [17:27:27.468] if (.Platform$OS.type == "windows") { [17:27:27.468] old_names <- names(...future.oldEnvVars) [17:27:27.468] envs <- base::Sys.getenv() [17:27:27.468] names <- names(envs) [17:27:27.468] common <- intersect(names, old_names) [17:27:27.468] added <- setdiff(names, old_names) [17:27:27.468] removed <- setdiff(old_names, names) [17:27:27.468] changed <- common[...future.oldEnvVars[common] != [17:27:27.468] envs[common]] [17:27:27.468] NAMES <- toupper(changed) [17:27:27.468] args <- list() [17:27:27.468] for (kk in seq_along(NAMES)) { [17:27:27.468] name <- changed[[kk]] [17:27:27.468] NAME <- NAMES[[kk]] [17:27:27.468] if (name != NAME && is.element(NAME, old_names)) [17:27:27.468] next [17:27:27.468] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:27.468] } [17:27:27.468] NAMES <- toupper(added) [17:27:27.468] for (kk in seq_along(NAMES)) { [17:27:27.468] name <- added[[kk]] [17:27:27.468] NAME <- NAMES[[kk]] [17:27:27.468] if (name != NAME && is.element(NAME, old_names)) [17:27:27.468] next [17:27:27.468] args[[name]] <- "" [17:27:27.468] } [17:27:27.468] NAMES <- toupper(removed) [17:27:27.468] for (kk in seq_along(NAMES)) { [17:27:27.468] name <- removed[[kk]] [17:27:27.468] NAME <- NAMES[[kk]] [17:27:27.468] if (name != NAME && is.element(NAME, old_names)) [17:27:27.468] next [17:27:27.468] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:27.468] } [17:27:27.468] if (length(args) > 0) [17:27:27.468] base::do.call(base::Sys.setenv, args = args) [17:27:27.468] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:27.468] } [17:27:27.468] else { [17:27:27.468] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:27.468] } [17:27:27.468] { [17:27:27.468] if (base::length(...future.futureOptionsAdded) > [17:27:27.468] 0L) { [17:27:27.468] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:27.468] base::names(opts) <- ...future.futureOptionsAdded [17:27:27.468] base::options(opts) [17:27:27.468] } [17:27:27.468] { [17:27:27.468] { [17:27:27.468] base::options(mc.cores = ...future.mc.cores.old) [17:27:27.468] NULL [17:27:27.468] } [17:27:27.468] options(future.plan = NULL) [17:27:27.468] if (is.na(NA_character_)) [17:27:27.468] Sys.unsetenv("R_FUTURE_PLAN") [17:27:27.468] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:27.468] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:27.468] .init = FALSE) [17:27:27.468] } [17:27:27.468] } [17:27:27.468] } [17:27:27.468] }) [17:27:27.468] if (TRUE) { [17:27:27.468] base::sink(type = "output", split = FALSE) [17:27:27.468] if (TRUE) { [17:27:27.468] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:27.468] } [17:27:27.468] else { [17:27:27.468] ...future.result["stdout"] <- base::list(NULL) [17:27:27.468] } [17:27:27.468] base::close(...future.stdout) [17:27:27.468] ...future.stdout <- NULL [17:27:27.468] } [17:27:27.468] ...future.result$conditions <- ...future.conditions [17:27:27.468] ...future.result$finished <- base::Sys.time() [17:27:27.468] ...future.result [17:27:27.468] } [17:27:27.550] MultisessionFuture started [17:27:27.550] result() for ClusterFuture ... [17:27:27.550] receiveMessageFromWorker() for ClusterFuture ... [17:27:27.551] - Validating connection of MultisessionFuture [17:27:27.609] - received message: FutureResult [17:27:27.610] - Received FutureResult [17:27:27.610] - Erased future from FutureRegistry [17:27:27.610] result() for ClusterFuture ... [17:27:27.610] - result already collected: FutureResult [17:27:27.610] result() for ClusterFuture ... done [17:27:27.611] receiveMessageFromWorker() for ClusterFuture ... done [17:27:27.611] result() for ClusterFuture ... done [17:27:27.611] result() for ClusterFuture ... [17:27:27.611] - result already collected: FutureResult [17:27:27.611] result() for ClusterFuture ... done [17:27:27.611] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [17:27:27.614] plan(): nbrOfWorkers() = 2 [17:27:27.614] getGlobalsAndPackages() ... [17:27:27.614] Searching for globals... [17:27:27.635] - globals found: [21] '{', '<-', 'unclass', '::', '[', 'nested', '-', 'stopifnot', '==', 'length', 'inherits', '[[', 'strategy2', 'for', 'seq_along', 'attr', 'attr<-', '[[<-', 'all.equal', 'list', '%<-%' [17:27:27.636] Searching for globals ... DONE [17:27:27.636] Resolving globals: FALSE [17:27:27.637] The total size of the 2 globals is 88.27 KiB (90384 bytes) [17:27:27.638] The total size of the 2 globals exported for future expression ('{; a <- 1L; plan_a <- unclass(future::plan("list")); nested_a <- nested[-1]; stopifnot(length(nested_a) == 1L, length(plan_a) == 1L, inherits(plan_a[[1]],; "future"), inherits(future::plan("next"), strategy2)); ...; }; y; }') is 88.27 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'nested' (88.15 KiB of class 'list') and 'strategy2' (120 bytes of class 'character') [17:27:27.638] - globals: [2] 'nested', 'strategy2' [17:27:27.638] - packages: [1] 'future' [17:27:27.638] getGlobalsAndPackages() ... DONE [17:27:27.639] run() for 'Future' ... [17:27:27.639] - state: 'created' [17:27:27.639] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:27.653] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:27.653] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:27.653] - Field: 'node' [17:27:27.653] - Field: 'label' [17:27:27.653] - Field: 'local' [17:27:27.654] - Field: 'owner' [17:27:27.654] - Field: 'envir' [17:27:27.654] - Field: 'workers' [17:27:27.654] - Field: 'packages' [17:27:27.654] - Field: 'gc' [17:27:27.655] - Field: 'conditions' [17:27:27.655] - Field: 'persistent' [17:27:27.655] - Field: 'expr' [17:27:27.655] - Field: 'uuid' [17:27:27.655] - Field: 'seed' [17:27:27.655] - Field: 'version' [17:27:27.656] - Field: 'result' [17:27:27.656] - Field: 'asynchronous' [17:27:27.656] - Field: 'calls' [17:27:27.656] - Field: 'globals' [17:27:27.656] - Field: 'stdout' [17:27:27.656] - Field: 'earlySignal' [17:27:27.657] - Field: 'lazy' [17:27:27.657] - Field: 'state' [17:27:27.657] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:27.657] - Launch lazy future ... [17:27:27.657] Packages needed by the future expression (n = 1): 'future' [17:27:27.658] Packages needed by future strategies (n = 1): 'future' [17:27:27.658] { [17:27:27.658] { [17:27:27.658] { [17:27:27.658] ...future.startTime <- base::Sys.time() [17:27:27.658] { [17:27:27.658] { [17:27:27.658] { [17:27:27.658] { [17:27:27.658] { [17:27:27.658] base::local({ [17:27:27.658] has_future <- base::requireNamespace("future", [17:27:27.658] quietly = TRUE) [17:27:27.658] if (has_future) { [17:27:27.658] ns <- base::getNamespace("future") [17:27:27.658] version <- ns[[".package"]][["version"]] [17:27:27.658] if (is.null(version)) [17:27:27.658] version <- utils::packageVersion("future") [17:27:27.658] } [17:27:27.658] else { [17:27:27.658] version <- NULL [17:27:27.658] } [17:27:27.658] if (!has_future || version < "1.8.0") { [17:27:27.658] info <- base::c(r_version = base::gsub("R version ", [17:27:27.658] "", base::R.version$version.string), [17:27:27.658] platform = base::sprintf("%s (%s-bit)", [17:27:27.658] base::R.version$platform, 8 * [17:27:27.658] base::.Machine$sizeof.pointer), [17:27:27.658] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:27.658] "release", "version")], collapse = " "), [17:27:27.658] hostname = base::Sys.info()[["nodename"]]) [17:27:27.658] info <- base::sprintf("%s: %s", base::names(info), [17:27:27.658] info) [17:27:27.658] info <- base::paste(info, collapse = "; ") [17:27:27.658] if (!has_future) { [17:27:27.658] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:27.658] info) [17:27:27.658] } [17:27:27.658] else { [17:27:27.658] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:27.658] info, version) [17:27:27.658] } [17:27:27.658] base::stop(msg) [17:27:27.658] } [17:27:27.658] }) [17:27:27.658] } [17:27:27.658] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:27.658] base::options(mc.cores = 1L) [17:27:27.658] } [17:27:27.658] base::local({ [17:27:27.658] for (pkg in "future") { [17:27:27.658] base::loadNamespace(pkg) [17:27:27.658] base::library(pkg, character.only = TRUE) [17:27:27.658] } [17:27:27.658] }) [17:27:27.658] } [17:27:27.658] ...future.strategy.old <- future::plan("list") [17:27:27.658] options(future.plan = NULL) [17:27:27.658] Sys.unsetenv("R_FUTURE_PLAN") [17:27:27.658] future::plan(list(b = function (..., workers = availableCores(), [17:27:27.658] lazy = FALSE, rscript_libs = .libPaths(), [17:27:27.658] envir = parent.frame()) [17:27:27.658] { [17:27:27.658] if (is.function(workers)) [17:27:27.658] workers <- workers() [17:27:27.658] workers <- structure(as.integer(workers), [17:27:27.658] class = class(workers)) [17:27:27.658] stop_if_not(length(workers) == 1, is.finite(workers), [17:27:27.658] workers >= 1) [17:27:27.658] if (workers == 1L && !inherits(workers, "AsIs")) { [17:27:27.658] return(sequential(..., lazy = TRUE, envir = envir)) [17:27:27.658] } [17:27:27.658] future <- MultisessionFuture(..., workers = workers, [17:27:27.658] lazy = lazy, rscript_libs = rscript_libs, [17:27:27.658] envir = envir) [17:27:27.658] if (!future$lazy) [17:27:27.658] future <- run(future) [17:27:27.658] invisible(future) [17:27:27.658] }), .cleanup = FALSE, .init = FALSE) [17:27:27.658] } [17:27:27.658] ...future.workdir <- getwd() [17:27:27.658] } [17:27:27.658] ...future.oldOptions <- base::as.list(base::.Options) [17:27:27.658] ...future.oldEnvVars <- base::Sys.getenv() [17:27:27.658] } [17:27:27.658] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:27.658] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:27.658] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:27.658] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:27.658] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:27.658] future.stdout.windows.reencode = NULL, width = 80L) [17:27:27.658] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:27.658] base::names(...future.oldOptions)) [17:27:27.658] } [17:27:27.658] if (FALSE) { [17:27:27.658] } [17:27:27.658] else { [17:27:27.658] if (TRUE) { [17:27:27.658] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:27.658] open = "w") [17:27:27.658] } [17:27:27.658] else { [17:27:27.658] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:27.658] windows = "NUL", "/dev/null"), open = "w") [17:27:27.658] } [17:27:27.658] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:27.658] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:27.658] base::sink(type = "output", split = FALSE) [17:27:27.658] base::close(...future.stdout) [17:27:27.658] }, add = TRUE) [17:27:27.658] } [17:27:27.658] ...future.frame <- base::sys.nframe() [17:27:27.658] ...future.conditions <- base::list() [17:27:27.658] ...future.rng <- base::globalenv()$.Random.seed [17:27:27.658] if (FALSE) { [17:27:27.658] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:27.658] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:27.658] } [17:27:27.658] ...future.result <- base::tryCatch({ [17:27:27.658] base::withCallingHandlers({ [17:27:27.658] ...future.value <- base::withVisible(base::local({ [17:27:27.658] ...future.makeSendCondition <- base::local({ [17:27:27.658] sendCondition <- NULL [17:27:27.658] function(frame = 1L) { [17:27:27.658] if (is.function(sendCondition)) [17:27:27.658] return(sendCondition) [17:27:27.658] ns <- getNamespace("parallel") [17:27:27.658] if (exists("sendData", mode = "function", [17:27:27.658] envir = ns)) { [17:27:27.658] parallel_sendData <- get("sendData", mode = "function", [17:27:27.658] envir = ns) [17:27:27.658] envir <- sys.frame(frame) [17:27:27.658] master <- NULL [17:27:27.658] while (!identical(envir, .GlobalEnv) && [17:27:27.658] !identical(envir, emptyenv())) { [17:27:27.658] if (exists("master", mode = "list", envir = envir, [17:27:27.658] inherits = FALSE)) { [17:27:27.658] master <- get("master", mode = "list", [17:27:27.658] envir = envir, inherits = FALSE) [17:27:27.658] if (inherits(master, c("SOCKnode", [17:27:27.658] "SOCK0node"))) { [17:27:27.658] sendCondition <<- function(cond) { [17:27:27.658] data <- list(type = "VALUE", value = cond, [17:27:27.658] success = TRUE) [17:27:27.658] parallel_sendData(master, data) [17:27:27.658] } [17:27:27.658] return(sendCondition) [17:27:27.658] } [17:27:27.658] } [17:27:27.658] frame <- frame + 1L [17:27:27.658] envir <- sys.frame(frame) [17:27:27.658] } [17:27:27.658] } [17:27:27.658] sendCondition <<- function(cond) NULL [17:27:27.658] } [17:27:27.658] }) [17:27:27.658] withCallingHandlers({ [17:27:27.658] { [17:27:27.658] a <- 1L [17:27:27.658] plan_a <- unclass(future::plan("list")) [17:27:27.658] nested_a <- nested[-1] [17:27:27.658] stopifnot(length(nested_a) == 1L, length(plan_a) == [17:27:27.658] 1L, inherits(plan_a[[1]], "future"), inherits(future::plan("next"), [17:27:27.658] strategy2)) [17:27:27.658] for (kk in seq_along(plan_a)) attr(plan_a[[kk]], [17:27:27.658] "init") <- NULL [17:27:27.658] for (kk in seq_along(nested_a)) attr(nested_a[[kk]], [17:27:27.658] "init") <- NULL [17:27:27.658] stopifnot(all.equal(plan_a, nested_a)) [17:27:27.658] y %<-% { [17:27:27.658] b <- 2L [17:27:27.658] plan_b <- future::plan("list") [17:27:27.658] nested_b <- nested_a[-1] [17:27:27.658] stopifnot(length(nested_b) == 0L, length(plan_b) == [17:27:27.658] 1L, inherits(plan_b[[1]], "future"), [17:27:27.658] inherits(future::plan("next"), "sequential")) [17:27:27.658] list(a = a, nested_a = nested_a, plan_a = plan_a, [17:27:27.658] b = b, nested_b = nested_b, plan_b = plan_b) [17:27:27.658] } [17:27:27.658] y [17:27:27.658] } [17:27:27.658] }, immediateCondition = function(cond) { [17:27:27.658] sendCondition <- ...future.makeSendCondition() [17:27:27.658] sendCondition(cond) [17:27:27.658] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.658] { [17:27:27.658] inherits <- base::inherits [17:27:27.658] invokeRestart <- base::invokeRestart [17:27:27.658] is.null <- base::is.null [17:27:27.658] muffled <- FALSE [17:27:27.658] if (inherits(cond, "message")) { [17:27:27.658] muffled <- grepl(pattern, "muffleMessage") [17:27:27.658] if (muffled) [17:27:27.658] invokeRestart("muffleMessage") [17:27:27.658] } [17:27:27.658] else if (inherits(cond, "warning")) { [17:27:27.658] muffled <- grepl(pattern, "muffleWarning") [17:27:27.658] if (muffled) [17:27:27.658] invokeRestart("muffleWarning") [17:27:27.658] } [17:27:27.658] else if (inherits(cond, "condition")) { [17:27:27.658] if (!is.null(pattern)) { [17:27:27.658] computeRestarts <- base::computeRestarts [17:27:27.658] grepl <- base::grepl [17:27:27.658] restarts <- computeRestarts(cond) [17:27:27.658] for (restart in restarts) { [17:27:27.658] name <- restart$name [17:27:27.658] if (is.null(name)) [17:27:27.658] next [17:27:27.658] if (!grepl(pattern, name)) [17:27:27.658] next [17:27:27.658] invokeRestart(restart) [17:27:27.658] muffled <- TRUE [17:27:27.658] break [17:27:27.658] } [17:27:27.658] } [17:27:27.658] } [17:27:27.658] invisible(muffled) [17:27:27.658] } [17:27:27.658] muffleCondition(cond) [17:27:27.658] }) [17:27:27.658] })) [17:27:27.658] future::FutureResult(value = ...future.value$value, [17:27:27.658] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:27.658] ...future.rng), globalenv = if (FALSE) [17:27:27.658] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:27.658] ...future.globalenv.names)) [17:27:27.658] else NULL, started = ...future.startTime, version = "1.8") [17:27:27.658] }, condition = base::local({ [17:27:27.658] c <- base::c [17:27:27.658] inherits <- base::inherits [17:27:27.658] invokeRestart <- base::invokeRestart [17:27:27.658] length <- base::length [17:27:27.658] list <- base::list [17:27:27.658] seq.int <- base::seq.int [17:27:27.658] signalCondition <- base::signalCondition [17:27:27.658] sys.calls <- base::sys.calls [17:27:27.658] `[[` <- base::`[[` [17:27:27.658] `+` <- base::`+` [17:27:27.658] `<<-` <- base::`<<-` [17:27:27.658] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:27.658] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:27.658] 3L)] [17:27:27.658] } [17:27:27.658] function(cond) { [17:27:27.658] is_error <- inherits(cond, "error") [17:27:27.658] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:27.658] NULL) [17:27:27.658] if (is_error) { [17:27:27.658] sessionInformation <- function() { [17:27:27.658] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:27.658] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:27.658] search = base::search(), system = base::Sys.info()) [17:27:27.658] } [17:27:27.658] ...future.conditions[[length(...future.conditions) + [17:27:27.658] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:27.658] cond$call), session = sessionInformation(), [17:27:27.658] timestamp = base::Sys.time(), signaled = 0L) [17:27:27.658] signalCondition(cond) [17:27:27.658] } [17:27:27.658] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:27.658] "immediateCondition"))) { [17:27:27.658] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:27.658] ...future.conditions[[length(...future.conditions) + [17:27:27.658] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:27.658] if (TRUE && !signal) { [17:27:27.658] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.658] { [17:27:27.658] inherits <- base::inherits [17:27:27.658] invokeRestart <- base::invokeRestart [17:27:27.658] is.null <- base::is.null [17:27:27.658] muffled <- FALSE [17:27:27.658] if (inherits(cond, "message")) { [17:27:27.658] muffled <- grepl(pattern, "muffleMessage") [17:27:27.658] if (muffled) [17:27:27.658] invokeRestart("muffleMessage") [17:27:27.658] } [17:27:27.658] else if (inherits(cond, "warning")) { [17:27:27.658] muffled <- grepl(pattern, "muffleWarning") [17:27:27.658] if (muffled) [17:27:27.658] invokeRestart("muffleWarning") [17:27:27.658] } [17:27:27.658] else if (inherits(cond, "condition")) { [17:27:27.658] if (!is.null(pattern)) { [17:27:27.658] computeRestarts <- base::computeRestarts [17:27:27.658] grepl <- base::grepl [17:27:27.658] restarts <- computeRestarts(cond) [17:27:27.658] for (restart in restarts) { [17:27:27.658] name <- restart$name [17:27:27.658] if (is.null(name)) [17:27:27.658] next [17:27:27.658] if (!grepl(pattern, name)) [17:27:27.658] next [17:27:27.658] invokeRestart(restart) [17:27:27.658] muffled <- TRUE [17:27:27.658] break [17:27:27.658] } [17:27:27.658] } [17:27:27.658] } [17:27:27.658] invisible(muffled) [17:27:27.658] } [17:27:27.658] muffleCondition(cond, pattern = "^muffle") [17:27:27.658] } [17:27:27.658] } [17:27:27.658] else { [17:27:27.658] if (TRUE) { [17:27:27.658] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.658] { [17:27:27.658] inherits <- base::inherits [17:27:27.658] invokeRestart <- base::invokeRestart [17:27:27.658] is.null <- base::is.null [17:27:27.658] muffled <- FALSE [17:27:27.658] if (inherits(cond, "message")) { [17:27:27.658] muffled <- grepl(pattern, "muffleMessage") [17:27:27.658] if (muffled) [17:27:27.658] invokeRestart("muffleMessage") [17:27:27.658] } [17:27:27.658] else if (inherits(cond, "warning")) { [17:27:27.658] muffled <- grepl(pattern, "muffleWarning") [17:27:27.658] if (muffled) [17:27:27.658] invokeRestart("muffleWarning") [17:27:27.658] } [17:27:27.658] else if (inherits(cond, "condition")) { [17:27:27.658] if (!is.null(pattern)) { [17:27:27.658] computeRestarts <- base::computeRestarts [17:27:27.658] grepl <- base::grepl [17:27:27.658] restarts <- computeRestarts(cond) [17:27:27.658] for (restart in restarts) { [17:27:27.658] name <- restart$name [17:27:27.658] if (is.null(name)) [17:27:27.658] next [17:27:27.658] if (!grepl(pattern, name)) [17:27:27.658] next [17:27:27.658] invokeRestart(restart) [17:27:27.658] muffled <- TRUE [17:27:27.658] break [17:27:27.658] } [17:27:27.658] } [17:27:27.658] } [17:27:27.658] invisible(muffled) [17:27:27.658] } [17:27:27.658] muffleCondition(cond, pattern = "^muffle") [17:27:27.658] } [17:27:27.658] } [17:27:27.658] } [17:27:27.658] })) [17:27:27.658] }, error = function(ex) { [17:27:27.658] base::structure(base::list(value = NULL, visible = NULL, [17:27:27.658] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:27.658] ...future.rng), started = ...future.startTime, [17:27:27.658] finished = Sys.time(), session_uuid = NA_character_, [17:27:27.658] version = "1.8"), class = "FutureResult") [17:27:27.658] }, finally = { [17:27:27.658] if (!identical(...future.workdir, getwd())) [17:27:27.658] setwd(...future.workdir) [17:27:27.658] { [17:27:27.658] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:27.658] ...future.oldOptions$nwarnings <- NULL [17:27:27.658] } [17:27:27.658] base::options(...future.oldOptions) [17:27:27.658] if (.Platform$OS.type == "windows") { [17:27:27.658] old_names <- names(...future.oldEnvVars) [17:27:27.658] envs <- base::Sys.getenv() [17:27:27.658] names <- names(envs) [17:27:27.658] common <- intersect(names, old_names) [17:27:27.658] added <- setdiff(names, old_names) [17:27:27.658] removed <- setdiff(old_names, names) [17:27:27.658] changed <- common[...future.oldEnvVars[common] != [17:27:27.658] envs[common]] [17:27:27.658] NAMES <- toupper(changed) [17:27:27.658] args <- list() [17:27:27.658] for (kk in seq_along(NAMES)) { [17:27:27.658] name <- changed[[kk]] [17:27:27.658] NAME <- NAMES[[kk]] [17:27:27.658] if (name != NAME && is.element(NAME, old_names)) [17:27:27.658] next [17:27:27.658] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:27.658] } [17:27:27.658] NAMES <- toupper(added) [17:27:27.658] for (kk in seq_along(NAMES)) { [17:27:27.658] name <- added[[kk]] [17:27:27.658] NAME <- NAMES[[kk]] [17:27:27.658] if (name != NAME && is.element(NAME, old_names)) [17:27:27.658] next [17:27:27.658] args[[name]] <- "" [17:27:27.658] } [17:27:27.658] NAMES <- toupper(removed) [17:27:27.658] for (kk in seq_along(NAMES)) { [17:27:27.658] name <- removed[[kk]] [17:27:27.658] NAME <- NAMES[[kk]] [17:27:27.658] if (name != NAME && is.element(NAME, old_names)) [17:27:27.658] next [17:27:27.658] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:27.658] } [17:27:27.658] if (length(args) > 0) [17:27:27.658] base::do.call(base::Sys.setenv, args = args) [17:27:27.658] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:27.658] } [17:27:27.658] else { [17:27:27.658] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:27.658] } [17:27:27.658] { [17:27:27.658] if (base::length(...future.futureOptionsAdded) > [17:27:27.658] 0L) { [17:27:27.658] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:27.658] base::names(opts) <- ...future.futureOptionsAdded [17:27:27.658] base::options(opts) [17:27:27.658] } [17:27:27.658] { [17:27:27.658] { [17:27:27.658] base::options(mc.cores = ...future.mc.cores.old) [17:27:27.658] NULL [17:27:27.658] } [17:27:27.658] options(future.plan = NULL) [17:27:27.658] if (is.na(NA_character_)) [17:27:27.658] Sys.unsetenv("R_FUTURE_PLAN") [17:27:27.658] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:27.658] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:27.658] .init = FALSE) [17:27:27.658] } [17:27:27.658] } [17:27:27.658] } [17:27:27.658] }) [17:27:27.658] if (TRUE) { [17:27:27.658] base::sink(type = "output", split = FALSE) [17:27:27.658] if (TRUE) { [17:27:27.658] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:27.658] } [17:27:27.658] else { [17:27:27.658] ...future.result["stdout"] <- base::list(NULL) [17:27:27.658] } [17:27:27.658] base::close(...future.stdout) [17:27:27.658] ...future.stdout <- NULL [17:27:27.658] } [17:27:27.658] ...future.result$conditions <- ...future.conditions [17:27:27.658] ...future.result$finished <- base::Sys.time() [17:27:27.658] ...future.result [17:27:27.658] } [17:27:27.664] Exporting 2 global objects (88.27 KiB) to cluster node #1 ... [17:27:27.665] Exporting 'nested' (88.15 KiB) to cluster node #1 ... [17:27:27.665] Exporting 'nested' (88.15 KiB) to cluster node #1 ... DONE [17:27:27.665] Exporting 'strategy2' (120 bytes) to cluster node #1 ... [17:27:27.666] Exporting 'strategy2' (120 bytes) to cluster node #1 ... DONE [17:27:27.666] Exporting 2 global objects (88.27 KiB) to cluster node #1 ... DONE [17:27:27.667] MultisessionFuture started [17:27:27.667] - Launch lazy future ... done [17:27:27.667] run() for 'MultisessionFuture' ... done [17:27:27.667] result() for ClusterFuture ... [17:27:27.668] receiveMessageFromWorker() for ClusterFuture ... [17:27:27.668] - Validating connection of MultisessionFuture [17:27:27.710] - received message: FutureResult [17:27:27.711] - Received FutureResult [17:27:27.711] - Erased future from FutureRegistry [17:27:27.711] result() for ClusterFuture ... [17:27:27.711] - result already collected: FutureResult [17:27:27.711] result() for ClusterFuture ... done [17:27:27.711] receiveMessageFromWorker() for ClusterFuture ... done [17:27:27.711] result() for ClusterFuture ... done [17:27:27.712] result() for ClusterFuture ... [17:27:27.712] - result already collected: FutureResult [17:27:27.712] result() for ClusterFuture ... done List of 6 $ a : int 1 $ nested_a:List of 1 ..$ b:function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) .. ..- attr(*, "class")= chr [1:5] "multisession" "cluster" "multiprocess" "future" ... .. ..- attr(*, "untweakable")= chr "persistent" .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) $ plan_a :List of 1 ..$ b:function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) .. ..- attr(*, "class")= chr [1:5] "multisession" "cluster" "multiprocess" "future" ... .. ..- attr(*, "untweakable")= chr "persistent" .. ..- attr(*, "call")= language plan(list(a = strategy1, b = strategy2)) $ b : int 2 $ nested_b: Named list() $ plan_b :List of 1 ..$ :function (..., envir = parent.frame()) .. ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" ..- attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [17:27:27.719] getGlobalsAndPackages() ... [17:27:27.719] Searching for globals... [17:27:27.721] - globals found: [7] '{', 'value', 'future', 'subset', 'data', '==', 'a' [17:27:27.721] Searching for globals ... DONE [17:27:27.721] Resolving globals: FALSE [17:27:27.724] The total size of the 1 globals is 128 bytes (128 bytes) [17:27:27.724] The total size of the 1 globals exported for future expression ('{; value(future(subset(data, a == 2))); }') is 128 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'data' (128 bytes of class 'list') [17:27:27.724] - globals: [1] 'data' [17:27:27.724] - packages: [1] 'future' [17:27:27.725] getGlobalsAndPackages() ... DONE [17:27:27.725] run() for 'Future' ... [17:27:27.725] - state: 'created' [17:27:27.725] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:27.739] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:27.739] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:27.739] - Field: 'node' [17:27:27.739] - Field: 'label' [17:27:27.739] - Field: 'local' [17:27:27.739] - Field: 'owner' [17:27:27.740] - Field: 'envir' [17:27:27.740] - Field: 'workers' [17:27:27.740] - Field: 'packages' [17:27:27.740] - Field: 'gc' [17:27:27.740] - Field: 'conditions' [17:27:27.741] - Field: 'persistent' [17:27:27.741] - Field: 'expr' [17:27:27.741] - Field: 'uuid' [17:27:27.741] - Field: 'seed' [17:27:27.741] - Field: 'version' [17:27:27.741] - Field: 'result' [17:27:27.742] - Field: 'asynchronous' [17:27:27.742] - Field: 'calls' [17:27:27.742] - Field: 'globals' [17:27:27.742] - Field: 'stdout' [17:27:27.742] - Field: 'earlySignal' [17:27:27.742] - Field: 'lazy' [17:27:27.743] - Field: 'state' [17:27:27.743] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:27.743] - Launch lazy future ... [17:27:27.743] Packages needed by the future expression (n = 1): 'future' [17:27:27.744] Packages needed by future strategies (n = 1): 'future' [17:27:27.744] { [17:27:27.744] { [17:27:27.744] { [17:27:27.744] ...future.startTime <- base::Sys.time() [17:27:27.744] { [17:27:27.744] { [17:27:27.744] { [17:27:27.744] { [17:27:27.744] { [17:27:27.744] base::local({ [17:27:27.744] has_future <- base::requireNamespace("future", [17:27:27.744] quietly = TRUE) [17:27:27.744] if (has_future) { [17:27:27.744] ns <- base::getNamespace("future") [17:27:27.744] version <- ns[[".package"]][["version"]] [17:27:27.744] if (is.null(version)) [17:27:27.744] version <- utils::packageVersion("future") [17:27:27.744] } [17:27:27.744] else { [17:27:27.744] version <- NULL [17:27:27.744] } [17:27:27.744] if (!has_future || version < "1.8.0") { [17:27:27.744] info <- base::c(r_version = base::gsub("R version ", [17:27:27.744] "", base::R.version$version.string), [17:27:27.744] platform = base::sprintf("%s (%s-bit)", [17:27:27.744] base::R.version$platform, 8 * [17:27:27.744] base::.Machine$sizeof.pointer), [17:27:27.744] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:27.744] "release", "version")], collapse = " "), [17:27:27.744] hostname = base::Sys.info()[["nodename"]]) [17:27:27.744] info <- base::sprintf("%s: %s", base::names(info), [17:27:27.744] info) [17:27:27.744] info <- base::paste(info, collapse = "; ") [17:27:27.744] if (!has_future) { [17:27:27.744] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:27.744] info) [17:27:27.744] } [17:27:27.744] else { [17:27:27.744] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:27.744] info, version) [17:27:27.744] } [17:27:27.744] base::stop(msg) [17:27:27.744] } [17:27:27.744] }) [17:27:27.744] } [17:27:27.744] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:27.744] base::options(mc.cores = 1L) [17:27:27.744] } [17:27:27.744] base::local({ [17:27:27.744] for (pkg in "future") { [17:27:27.744] base::loadNamespace(pkg) [17:27:27.744] base::library(pkg, character.only = TRUE) [17:27:27.744] } [17:27:27.744] }) [17:27:27.744] } [17:27:27.744] ...future.strategy.old <- future::plan("list") [17:27:27.744] options(future.plan = NULL) [17:27:27.744] Sys.unsetenv("R_FUTURE_PLAN") [17:27:27.744] future::plan(list(b = function (..., workers = availableCores(), [17:27:27.744] lazy = FALSE, rscript_libs = .libPaths(), [17:27:27.744] envir = parent.frame()) [17:27:27.744] { [17:27:27.744] if (is.function(workers)) [17:27:27.744] workers <- workers() [17:27:27.744] workers <- structure(as.integer(workers), [17:27:27.744] class = class(workers)) [17:27:27.744] stop_if_not(length(workers) == 1, is.finite(workers), [17:27:27.744] workers >= 1) [17:27:27.744] if (workers == 1L && !inherits(workers, "AsIs")) { [17:27:27.744] return(sequential(..., lazy = TRUE, envir = envir)) [17:27:27.744] } [17:27:27.744] future <- MultisessionFuture(..., workers = workers, [17:27:27.744] lazy = lazy, rscript_libs = rscript_libs, [17:27:27.744] envir = envir) [17:27:27.744] if (!future$lazy) [17:27:27.744] future <- run(future) [17:27:27.744] invisible(future) [17:27:27.744] }), .cleanup = FALSE, .init = FALSE) [17:27:27.744] } [17:27:27.744] ...future.workdir <- getwd() [17:27:27.744] } [17:27:27.744] ...future.oldOptions <- base::as.list(base::.Options) [17:27:27.744] ...future.oldEnvVars <- base::Sys.getenv() [17:27:27.744] } [17:27:27.744] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:27.744] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:27.744] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:27.744] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:27.744] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:27.744] future.stdout.windows.reencode = NULL, width = 80L) [17:27:27.744] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:27.744] base::names(...future.oldOptions)) [17:27:27.744] } [17:27:27.744] if (FALSE) { [17:27:27.744] } [17:27:27.744] else { [17:27:27.744] if (TRUE) { [17:27:27.744] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:27.744] open = "w") [17:27:27.744] } [17:27:27.744] else { [17:27:27.744] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:27.744] windows = "NUL", "/dev/null"), open = "w") [17:27:27.744] } [17:27:27.744] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:27.744] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:27.744] base::sink(type = "output", split = FALSE) [17:27:27.744] base::close(...future.stdout) [17:27:27.744] }, add = TRUE) [17:27:27.744] } [17:27:27.744] ...future.frame <- base::sys.nframe() [17:27:27.744] ...future.conditions <- base::list() [17:27:27.744] ...future.rng <- base::globalenv()$.Random.seed [17:27:27.744] if (FALSE) { [17:27:27.744] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:27.744] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:27.744] } [17:27:27.744] ...future.result <- base::tryCatch({ [17:27:27.744] base::withCallingHandlers({ [17:27:27.744] ...future.value <- base::withVisible(base::local({ [17:27:27.744] ...future.makeSendCondition <- base::local({ [17:27:27.744] sendCondition <- NULL [17:27:27.744] function(frame = 1L) { [17:27:27.744] if (is.function(sendCondition)) [17:27:27.744] return(sendCondition) [17:27:27.744] ns <- getNamespace("parallel") [17:27:27.744] if (exists("sendData", mode = "function", [17:27:27.744] envir = ns)) { [17:27:27.744] parallel_sendData <- get("sendData", mode = "function", [17:27:27.744] envir = ns) [17:27:27.744] envir <- sys.frame(frame) [17:27:27.744] master <- NULL [17:27:27.744] while (!identical(envir, .GlobalEnv) && [17:27:27.744] !identical(envir, emptyenv())) { [17:27:27.744] if (exists("master", mode = "list", envir = envir, [17:27:27.744] inherits = FALSE)) { [17:27:27.744] master <- get("master", mode = "list", [17:27:27.744] envir = envir, inherits = FALSE) [17:27:27.744] if (inherits(master, c("SOCKnode", [17:27:27.744] "SOCK0node"))) { [17:27:27.744] sendCondition <<- function(cond) { [17:27:27.744] data <- list(type = "VALUE", value = cond, [17:27:27.744] success = TRUE) [17:27:27.744] parallel_sendData(master, data) [17:27:27.744] } [17:27:27.744] return(sendCondition) [17:27:27.744] } [17:27:27.744] } [17:27:27.744] frame <- frame + 1L [17:27:27.744] envir <- sys.frame(frame) [17:27:27.744] } [17:27:27.744] } [17:27:27.744] sendCondition <<- function(cond) NULL [17:27:27.744] } [17:27:27.744] }) [17:27:27.744] withCallingHandlers({ [17:27:27.744] { [17:27:27.744] value(future(subset(data, a == 2))) [17:27:27.744] } [17:27:27.744] }, immediateCondition = function(cond) { [17:27:27.744] sendCondition <- ...future.makeSendCondition() [17:27:27.744] sendCondition(cond) [17:27:27.744] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.744] { [17:27:27.744] inherits <- base::inherits [17:27:27.744] invokeRestart <- base::invokeRestart [17:27:27.744] is.null <- base::is.null [17:27:27.744] muffled <- FALSE [17:27:27.744] if (inherits(cond, "message")) { [17:27:27.744] muffled <- grepl(pattern, "muffleMessage") [17:27:27.744] if (muffled) [17:27:27.744] invokeRestart("muffleMessage") [17:27:27.744] } [17:27:27.744] else if (inherits(cond, "warning")) { [17:27:27.744] muffled <- grepl(pattern, "muffleWarning") [17:27:27.744] if (muffled) [17:27:27.744] invokeRestart("muffleWarning") [17:27:27.744] } [17:27:27.744] else if (inherits(cond, "condition")) { [17:27:27.744] if (!is.null(pattern)) { [17:27:27.744] computeRestarts <- base::computeRestarts [17:27:27.744] grepl <- base::grepl [17:27:27.744] restarts <- computeRestarts(cond) [17:27:27.744] for (restart in restarts) { [17:27:27.744] name <- restart$name [17:27:27.744] if (is.null(name)) [17:27:27.744] next [17:27:27.744] if (!grepl(pattern, name)) [17:27:27.744] next [17:27:27.744] invokeRestart(restart) [17:27:27.744] muffled <- TRUE [17:27:27.744] break [17:27:27.744] } [17:27:27.744] } [17:27:27.744] } [17:27:27.744] invisible(muffled) [17:27:27.744] } [17:27:27.744] muffleCondition(cond) [17:27:27.744] }) [17:27:27.744] })) [17:27:27.744] future::FutureResult(value = ...future.value$value, [17:27:27.744] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:27.744] ...future.rng), globalenv = if (FALSE) [17:27:27.744] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:27.744] ...future.globalenv.names)) [17:27:27.744] else NULL, started = ...future.startTime, version = "1.8") [17:27:27.744] }, condition = base::local({ [17:27:27.744] c <- base::c [17:27:27.744] inherits <- base::inherits [17:27:27.744] invokeRestart <- base::invokeRestart [17:27:27.744] length <- base::length [17:27:27.744] list <- base::list [17:27:27.744] seq.int <- base::seq.int [17:27:27.744] signalCondition <- base::signalCondition [17:27:27.744] sys.calls <- base::sys.calls [17:27:27.744] `[[` <- base::`[[` [17:27:27.744] `+` <- base::`+` [17:27:27.744] `<<-` <- base::`<<-` [17:27:27.744] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:27.744] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:27.744] 3L)] [17:27:27.744] } [17:27:27.744] function(cond) { [17:27:27.744] is_error <- inherits(cond, "error") [17:27:27.744] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:27.744] NULL) [17:27:27.744] if (is_error) { [17:27:27.744] sessionInformation <- function() { [17:27:27.744] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:27.744] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:27.744] search = base::search(), system = base::Sys.info()) [17:27:27.744] } [17:27:27.744] ...future.conditions[[length(...future.conditions) + [17:27:27.744] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:27.744] cond$call), session = sessionInformation(), [17:27:27.744] timestamp = base::Sys.time(), signaled = 0L) [17:27:27.744] signalCondition(cond) [17:27:27.744] } [17:27:27.744] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:27.744] "immediateCondition"))) { [17:27:27.744] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:27.744] ...future.conditions[[length(...future.conditions) + [17:27:27.744] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:27.744] if (TRUE && !signal) { [17:27:27.744] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.744] { [17:27:27.744] inherits <- base::inherits [17:27:27.744] invokeRestart <- base::invokeRestart [17:27:27.744] is.null <- base::is.null [17:27:27.744] muffled <- FALSE [17:27:27.744] if (inherits(cond, "message")) { [17:27:27.744] muffled <- grepl(pattern, "muffleMessage") [17:27:27.744] if (muffled) [17:27:27.744] invokeRestart("muffleMessage") [17:27:27.744] } [17:27:27.744] else if (inherits(cond, "warning")) { [17:27:27.744] muffled <- grepl(pattern, "muffleWarning") [17:27:27.744] if (muffled) [17:27:27.744] invokeRestart("muffleWarning") [17:27:27.744] } [17:27:27.744] else if (inherits(cond, "condition")) { [17:27:27.744] if (!is.null(pattern)) { [17:27:27.744] computeRestarts <- base::computeRestarts [17:27:27.744] grepl <- base::grepl [17:27:27.744] restarts <- computeRestarts(cond) [17:27:27.744] for (restart in restarts) { [17:27:27.744] name <- restart$name [17:27:27.744] if (is.null(name)) [17:27:27.744] next [17:27:27.744] if (!grepl(pattern, name)) [17:27:27.744] next [17:27:27.744] invokeRestart(restart) [17:27:27.744] muffled <- TRUE [17:27:27.744] break [17:27:27.744] } [17:27:27.744] } [17:27:27.744] } [17:27:27.744] invisible(muffled) [17:27:27.744] } [17:27:27.744] muffleCondition(cond, pattern = "^muffle") [17:27:27.744] } [17:27:27.744] } [17:27:27.744] else { [17:27:27.744] if (TRUE) { [17:27:27.744] muffleCondition <- function (cond, pattern = "^muffle") [17:27:27.744] { [17:27:27.744] inherits <- base::inherits [17:27:27.744] invokeRestart <- base::invokeRestart [17:27:27.744] is.null <- base::is.null [17:27:27.744] muffled <- FALSE [17:27:27.744] if (inherits(cond, "message")) { [17:27:27.744] muffled <- grepl(pattern, "muffleMessage") [17:27:27.744] if (muffled) [17:27:27.744] invokeRestart("muffleMessage") [17:27:27.744] } [17:27:27.744] else if (inherits(cond, "warning")) { [17:27:27.744] muffled <- grepl(pattern, "muffleWarning") [17:27:27.744] if (muffled) [17:27:27.744] invokeRestart("muffleWarning") [17:27:27.744] } [17:27:27.744] else if (inherits(cond, "condition")) { [17:27:27.744] if (!is.null(pattern)) { [17:27:27.744] computeRestarts <- base::computeRestarts [17:27:27.744] grepl <- base::grepl [17:27:27.744] restarts <- computeRestarts(cond) [17:27:27.744] for (restart in restarts) { [17:27:27.744] name <- restart$name [17:27:27.744] if (is.null(name)) [17:27:27.744] next [17:27:27.744] if (!grepl(pattern, name)) [17:27:27.744] next [17:27:27.744] invokeRestart(restart) [17:27:27.744] muffled <- TRUE [17:27:27.744] break [17:27:27.744] } [17:27:27.744] } [17:27:27.744] } [17:27:27.744] invisible(muffled) [17:27:27.744] } [17:27:27.744] muffleCondition(cond, pattern = "^muffle") [17:27:27.744] } [17:27:27.744] } [17:27:27.744] } [17:27:27.744] })) [17:27:27.744] }, error = function(ex) { [17:27:27.744] base::structure(base::list(value = NULL, visible = NULL, [17:27:27.744] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:27.744] ...future.rng), started = ...future.startTime, [17:27:27.744] finished = Sys.time(), session_uuid = NA_character_, [17:27:27.744] version = "1.8"), class = "FutureResult") [17:27:27.744] }, finally = { [17:27:27.744] if (!identical(...future.workdir, getwd())) [17:27:27.744] setwd(...future.workdir) [17:27:27.744] { [17:27:27.744] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:27.744] ...future.oldOptions$nwarnings <- NULL [17:27:27.744] } [17:27:27.744] base::options(...future.oldOptions) [17:27:27.744] if (.Platform$OS.type == "windows") { [17:27:27.744] old_names <- names(...future.oldEnvVars) [17:27:27.744] envs <- base::Sys.getenv() [17:27:27.744] names <- names(envs) [17:27:27.744] common <- intersect(names, old_names) [17:27:27.744] added <- setdiff(names, old_names) [17:27:27.744] removed <- setdiff(old_names, names) [17:27:27.744] changed <- common[...future.oldEnvVars[common] != [17:27:27.744] envs[common]] [17:27:27.744] NAMES <- toupper(changed) [17:27:27.744] args <- list() [17:27:27.744] for (kk in seq_along(NAMES)) { [17:27:27.744] name <- changed[[kk]] [17:27:27.744] NAME <- NAMES[[kk]] [17:27:27.744] if (name != NAME && is.element(NAME, old_names)) [17:27:27.744] next [17:27:27.744] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:27.744] } [17:27:27.744] NAMES <- toupper(added) [17:27:27.744] for (kk in seq_along(NAMES)) { [17:27:27.744] name <- added[[kk]] [17:27:27.744] NAME <- NAMES[[kk]] [17:27:27.744] if (name != NAME && is.element(NAME, old_names)) [17:27:27.744] next [17:27:27.744] args[[name]] <- "" [17:27:27.744] } [17:27:27.744] NAMES <- toupper(removed) [17:27:27.744] for (kk in seq_along(NAMES)) { [17:27:27.744] name <- removed[[kk]] [17:27:27.744] NAME <- NAMES[[kk]] [17:27:27.744] if (name != NAME && is.element(NAME, old_names)) [17:27:27.744] next [17:27:27.744] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:27.744] } [17:27:27.744] if (length(args) > 0) [17:27:27.744] base::do.call(base::Sys.setenv, args = args) [17:27:27.744] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:27.744] } [17:27:27.744] else { [17:27:27.744] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:27.744] } [17:27:27.744] { [17:27:27.744] if (base::length(...future.futureOptionsAdded) > [17:27:27.744] 0L) { [17:27:27.744] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:27.744] base::names(opts) <- ...future.futureOptionsAdded [17:27:27.744] base::options(opts) [17:27:27.744] } [17:27:27.744] { [17:27:27.744] { [17:27:27.744] base::options(mc.cores = ...future.mc.cores.old) [17:27:27.744] NULL [17:27:27.744] } [17:27:27.744] options(future.plan = NULL) [17:27:27.744] if (is.na(NA_character_)) [17:27:27.744] Sys.unsetenv("R_FUTURE_PLAN") [17:27:27.744] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:27.744] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:27.744] .init = FALSE) [17:27:27.744] } [17:27:27.744] } [17:27:27.744] } [17:27:27.744] }) [17:27:27.744] if (TRUE) { [17:27:27.744] base::sink(type = "output", split = FALSE) [17:27:27.744] if (TRUE) { [17:27:27.744] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:27.744] } [17:27:27.744] else { [17:27:27.744] ...future.result["stdout"] <- base::list(NULL) [17:27:27.744] } [17:27:27.744] base::close(...future.stdout) [17:27:27.744] ...future.stdout <- NULL [17:27:27.744] } [17:27:27.744] ...future.result$conditions <- ...future.conditions [17:27:27.744] ...future.result$finished <- base::Sys.time() [17:27:27.744] ...future.result [17:27:27.744] } [17:27:27.749] Exporting 1 global objects (128 bytes) to cluster node #1 ... [17:27:27.750] Exporting 'data' (128 bytes) to cluster node #1 ... [17:27:27.750] Exporting 'data' (128 bytes) to cluster node #1 ... DONE [17:27:27.750] Exporting 1 global objects (128 bytes) to cluster node #1 ... DONE [17:27:27.751] MultisessionFuture started [17:27:27.751] - Launch lazy future ... done [17:27:27.751] run() for 'MultisessionFuture' ... done [17:27:27.752] result() for ClusterFuture ... [17:27:27.752] receiveMessageFromWorker() for ClusterFuture ... [17:27:27.752] - Validating connection of MultisessionFuture [17:27:27.776] - received message: FutureResult [17:27:27.776] - Received FutureResult [17:27:27.776] - Erased future from FutureRegistry [17:27:27.776] result() for ClusterFuture ... [17:27:27.776] - result already collected: FutureResult [17:27:27.777] result() for ClusterFuture ... done [17:27:27.777] receiveMessageFromWorker() for ClusterFuture ... done [17:27:27.777] result() for ClusterFuture ... done [17:27:27.777] result() for ClusterFuture ... [17:27:27.777] - result already collected: FutureResult [17:27:27.777] result() for ClusterFuture ... done - plan(list('multisession', 'multisession')) ... DONE > > message("*** Nested futures ... DONE") *** Nested futures ... DONE > > source("incl/end.R") [17:27:27.778] plan(): Setting new future strategy stack: [17:27:27.779] List of future strategies: [17:27:27.779] 1. FutureStrategy: [17:27:27.779] - args: function (..., envir = parent.frame(), workers = "") [17:27:27.779] - tweaked: FALSE [17:27:27.779] - call: future::plan(oplan) [17:27:27.779] 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', 'RTOOLS44_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_RTOOLS44_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_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_DEPRECATED_IS_R_', '_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.26 0.09 2.81