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:16.409] plan(): Setting new future strategy stack: [17:27:16.411] List of future strategies: [17:27:16.411] 1. sequential: [17:27:16.411] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.411] - tweaked: FALSE [17:27:16.411] - call: future::plan("sequential") [17:27:16.426] plan(): nbrOfWorkers() = 1 > library("listenv") > > message("*** multisession() ...") *** multisession() ... > > for (cores in 1:availCores) { + ## Speed up CRAN checks: Skip on CRAN Windows 32-bit + if (!fullTest && isWin32) next + + message(sprintf("Testing with %d cores ...", cores)) + options(mc.cores = cores) + + ## No global variables + f <- multisession({ + 42L + }) + print(f) + stopifnot(inherits(f, "ClusterFuture") || (inherits(f, "SequentialFuture") && f$lazy)) + + print(resolved(f)) + y <- value(f) + print(y) + stopifnot(y == 42L) + + + ## A global variable + a <- 0 + f <- multisession({ + b <- 3 + c <- 2 + a * b * c + }, globals = TRUE) + print(f) + + + ## A multisession future is evaluated in a separate + ## R session process. Changing the value of a global + ## variable should not affect the result of the + ## future. + a <- 7 ## Make sure globals are frozen + v <- value(f) + print(v) + stopifnot(v == 0) + + + message("*** multisession() with globals and blocking") + x <- listenv() + for (ii in 2:1) { + message(sprintf(" - Creating multisession future #%d ...", ii)) + x[[ii]] <- multisession({ ii }, globals = TRUE) + } + message(sprintf(" - Resolving %d multisession futures", length(x))) + v <- sapply(x, FUN = value) + stopifnot(all(v == 1:2)) + + + message("*** multisession() - workers inherit .libPaths()") + + libs <- value(future(.libPaths())) + str(list( + main = .libPaths(), + workers = libs + )) + stopifnot(identical(libs, .libPaths())) + + message("*** multisession() and errors") + f <- multisession({ + stop("Whoops!") + 1 + }) + print(f) + v <- value(f, signal = FALSE) + print(v) + stopifnot(inherits(v, "simpleError")) + + res <- try(value(f), silent = TRUE) + print(res) + stopifnot(inherits(res, "try-error")) + + ## Error is repeated + res <- try(value(f), silent = TRUE) + print(res) + stopifnot(inherits(res, "try-error")) + + ## Custom error class + f <- multisession({ + stop(structure(list(message = "boom"), + class = c("MyError", "error", "condition"))) + }) + print(f) + v <- value(f, signal = FALSE) + print(v) + stopifnot(inherits(v, "error"), inherits(v, "MyError")) + + ## Make sure error is signaled + res <- tryCatch(value(f), error = identity) + stopifnot(inherits(res, "error")) + + ## Issue #200: Custom condition class attributes are lost + ## https://github.com/HenrikBengtsson/Wishlist-for-R/issues/57 + ## stopifnot(inherits(res, "MyError")) + + message(sprintf("Testing with %d cores ... DONE", cores)) + } ## for (cores ...) Testing with 1 cores ... [17:27:16.486] getGlobalsAndPackages() ... [17:27:16.487] Searching for globals... [17:27:16.490] - globals found: [1] '{' [17:27:16.490] Searching for globals ... DONE [17:27:16.490] Resolving globals: FALSE [17:27:16.491] [17:27:16.491] [17:27:16.491] getGlobalsAndPackages() ... DONE SequentialFuture: Label: '' Expression: { 42L } Lazy evaluation: TRUE Asynchronous evaluation: FALSE Local evaluation: TRUE Environment: R_GlobalEnv Capture standard output: TRUE Capture condition classes: 'condition' (excluding 'nothing') Globals: Packages: L'Ecuyer-CMRG RNG seed: (seed = FALSE) Resolved: FALSE Value: Conditions captured: Early signaling: FALSE Owner process: d2a8edf5-8a7b-b5a7-7a6e-8ce02a91c005 Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:16.493] Packages needed by the future expression (n = 0): [17:27:16.493] Packages needed by future strategies (n = 0): [17:27:16.494] { [17:27:16.494] { [17:27:16.494] { [17:27:16.494] ...future.startTime <- base::Sys.time() [17:27:16.494] { [17:27:16.494] { [17:27:16.494] { [17:27:16.494] base::local({ [17:27:16.494] has_future <- base::requireNamespace("future", [17:27:16.494] quietly = TRUE) [17:27:16.494] if (has_future) { [17:27:16.494] ns <- base::getNamespace("future") [17:27:16.494] version <- ns[[".package"]][["version"]] [17:27:16.494] if (is.null(version)) [17:27:16.494] version <- utils::packageVersion("future") [17:27:16.494] } [17:27:16.494] else { [17:27:16.494] version <- NULL [17:27:16.494] } [17:27:16.494] if (!has_future || version < "1.8.0") { [17:27:16.494] info <- base::c(r_version = base::gsub("R version ", [17:27:16.494] "", base::R.version$version.string), [17:27:16.494] platform = base::sprintf("%s (%s-bit)", [17:27:16.494] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:16.494] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:16.494] "release", "version")], collapse = " "), [17:27:16.494] hostname = base::Sys.info()[["nodename"]]) [17:27:16.494] info <- base::sprintf("%s: %s", base::names(info), [17:27:16.494] info) [17:27:16.494] info <- base::paste(info, collapse = "; ") [17:27:16.494] if (!has_future) { [17:27:16.494] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:16.494] info) [17:27:16.494] } [17:27:16.494] else { [17:27:16.494] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:16.494] info, version) [17:27:16.494] } [17:27:16.494] base::stop(msg) [17:27:16.494] } [17:27:16.494] }) [17:27:16.494] } [17:27:16.494] ...future.strategy.old <- future::plan("list") [17:27:16.494] options(future.plan = NULL) [17:27:16.494] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.494] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:16.494] } [17:27:16.494] ...future.workdir <- getwd() [17:27:16.494] } [17:27:16.494] ...future.oldOptions <- base::as.list(base::.Options) [17:27:16.494] ...future.oldEnvVars <- base::Sys.getenv() [17:27:16.494] } [17:27:16.494] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:16.494] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:16.494] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:16.494] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:16.494] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:16.494] future.stdout.windows.reencode = NULL, width = 80L) [17:27:16.494] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:16.494] base::names(...future.oldOptions)) [17:27:16.494] } [17:27:16.494] if (FALSE) { [17:27:16.494] } [17:27:16.494] else { [17:27:16.494] if (TRUE) { [17:27:16.494] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:16.494] open = "w") [17:27:16.494] } [17:27:16.494] else { [17:27:16.494] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:16.494] windows = "NUL", "/dev/null"), open = "w") [17:27:16.494] } [17:27:16.494] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:16.494] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:16.494] base::sink(type = "output", split = FALSE) [17:27:16.494] base::close(...future.stdout) [17:27:16.494] }, add = TRUE) [17:27:16.494] } [17:27:16.494] ...future.frame <- base::sys.nframe() [17:27:16.494] ...future.conditions <- base::list() [17:27:16.494] ...future.rng <- base::globalenv()$.Random.seed [17:27:16.494] if (FALSE) { [17:27:16.494] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:16.494] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:16.494] } [17:27:16.494] ...future.result <- base::tryCatch({ [17:27:16.494] base::withCallingHandlers({ [17:27:16.494] ...future.value <- base::withVisible(base::local({ [17:27:16.494] 42L [17:27:16.494] })) [17:27:16.494] future::FutureResult(value = ...future.value$value, [17:27:16.494] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.494] ...future.rng), globalenv = if (FALSE) [17:27:16.494] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:16.494] ...future.globalenv.names)) [17:27:16.494] else NULL, started = ...future.startTime, version = "1.8") [17:27:16.494] }, condition = base::local({ [17:27:16.494] c <- base::c [17:27:16.494] inherits <- base::inherits [17:27:16.494] invokeRestart <- base::invokeRestart [17:27:16.494] length <- base::length [17:27:16.494] list <- base::list [17:27:16.494] seq.int <- base::seq.int [17:27:16.494] signalCondition <- base::signalCondition [17:27:16.494] sys.calls <- base::sys.calls [17:27:16.494] `[[` <- base::`[[` [17:27:16.494] `+` <- base::`+` [17:27:16.494] `<<-` <- base::`<<-` [17:27:16.494] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:16.494] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:16.494] 3L)] [17:27:16.494] } [17:27:16.494] function(cond) { [17:27:16.494] is_error <- inherits(cond, "error") [17:27:16.494] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:16.494] NULL) [17:27:16.494] if (is_error) { [17:27:16.494] sessionInformation <- function() { [17:27:16.494] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:16.494] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:16.494] search = base::search(), system = base::Sys.info()) [17:27:16.494] } [17:27:16.494] ...future.conditions[[length(...future.conditions) + [17:27:16.494] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:16.494] cond$call), session = sessionInformation(), [17:27:16.494] timestamp = base::Sys.time(), signaled = 0L) [17:27:16.494] signalCondition(cond) [17:27:16.494] } [17:27:16.494] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:16.494] "immediateCondition"))) { [17:27:16.494] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:16.494] ...future.conditions[[length(...future.conditions) + [17:27:16.494] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:16.494] if (TRUE && !signal) { [17:27:16.494] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.494] { [17:27:16.494] inherits <- base::inherits [17:27:16.494] invokeRestart <- base::invokeRestart [17:27:16.494] is.null <- base::is.null [17:27:16.494] muffled <- FALSE [17:27:16.494] if (inherits(cond, "message")) { [17:27:16.494] muffled <- grepl(pattern, "muffleMessage") [17:27:16.494] if (muffled) [17:27:16.494] invokeRestart("muffleMessage") [17:27:16.494] } [17:27:16.494] else if (inherits(cond, "warning")) { [17:27:16.494] muffled <- grepl(pattern, "muffleWarning") [17:27:16.494] if (muffled) [17:27:16.494] invokeRestart("muffleWarning") [17:27:16.494] } [17:27:16.494] else if (inherits(cond, "condition")) { [17:27:16.494] if (!is.null(pattern)) { [17:27:16.494] computeRestarts <- base::computeRestarts [17:27:16.494] grepl <- base::grepl [17:27:16.494] restarts <- computeRestarts(cond) [17:27:16.494] for (restart in restarts) { [17:27:16.494] name <- restart$name [17:27:16.494] if (is.null(name)) [17:27:16.494] next [17:27:16.494] if (!grepl(pattern, name)) [17:27:16.494] next [17:27:16.494] invokeRestart(restart) [17:27:16.494] muffled <- TRUE [17:27:16.494] break [17:27:16.494] } [17:27:16.494] } [17:27:16.494] } [17:27:16.494] invisible(muffled) [17:27:16.494] } [17:27:16.494] muffleCondition(cond, pattern = "^muffle") [17:27:16.494] } [17:27:16.494] } [17:27:16.494] else { [17:27:16.494] if (TRUE) { [17:27:16.494] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.494] { [17:27:16.494] inherits <- base::inherits [17:27:16.494] invokeRestart <- base::invokeRestart [17:27:16.494] is.null <- base::is.null [17:27:16.494] muffled <- FALSE [17:27:16.494] if (inherits(cond, "message")) { [17:27:16.494] muffled <- grepl(pattern, "muffleMessage") [17:27:16.494] if (muffled) [17:27:16.494] invokeRestart("muffleMessage") [17:27:16.494] } [17:27:16.494] else if (inherits(cond, "warning")) { [17:27:16.494] muffled <- grepl(pattern, "muffleWarning") [17:27:16.494] if (muffled) [17:27:16.494] invokeRestart("muffleWarning") [17:27:16.494] } [17:27:16.494] else if (inherits(cond, "condition")) { [17:27:16.494] if (!is.null(pattern)) { [17:27:16.494] computeRestarts <- base::computeRestarts [17:27:16.494] grepl <- base::grepl [17:27:16.494] restarts <- computeRestarts(cond) [17:27:16.494] for (restart in restarts) { [17:27:16.494] name <- restart$name [17:27:16.494] if (is.null(name)) [17:27:16.494] next [17:27:16.494] if (!grepl(pattern, name)) [17:27:16.494] next [17:27:16.494] invokeRestart(restart) [17:27:16.494] muffled <- TRUE [17:27:16.494] break [17:27:16.494] } [17:27:16.494] } [17:27:16.494] } [17:27:16.494] invisible(muffled) [17:27:16.494] } [17:27:16.494] muffleCondition(cond, pattern = "^muffle") [17:27:16.494] } [17:27:16.494] } [17:27:16.494] } [17:27:16.494] })) [17:27:16.494] }, error = function(ex) { [17:27:16.494] base::structure(base::list(value = NULL, visible = NULL, [17:27:16.494] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.494] ...future.rng), started = ...future.startTime, [17:27:16.494] finished = Sys.time(), session_uuid = NA_character_, [17:27:16.494] version = "1.8"), class = "FutureResult") [17:27:16.494] }, finally = { [17:27:16.494] if (!identical(...future.workdir, getwd())) [17:27:16.494] setwd(...future.workdir) [17:27:16.494] { [17:27:16.494] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:16.494] ...future.oldOptions$nwarnings <- NULL [17:27:16.494] } [17:27:16.494] base::options(...future.oldOptions) [17:27:16.494] if (.Platform$OS.type == "windows") { [17:27:16.494] old_names <- names(...future.oldEnvVars) [17:27:16.494] envs <- base::Sys.getenv() [17:27:16.494] names <- names(envs) [17:27:16.494] common <- intersect(names, old_names) [17:27:16.494] added <- setdiff(names, old_names) [17:27:16.494] removed <- setdiff(old_names, names) [17:27:16.494] changed <- common[...future.oldEnvVars[common] != [17:27:16.494] envs[common]] [17:27:16.494] NAMES <- toupper(changed) [17:27:16.494] args <- list() [17:27:16.494] for (kk in seq_along(NAMES)) { [17:27:16.494] name <- changed[[kk]] [17:27:16.494] NAME <- NAMES[[kk]] [17:27:16.494] if (name != NAME && is.element(NAME, old_names)) [17:27:16.494] next [17:27:16.494] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.494] } [17:27:16.494] NAMES <- toupper(added) [17:27:16.494] for (kk in seq_along(NAMES)) { [17:27:16.494] name <- added[[kk]] [17:27:16.494] NAME <- NAMES[[kk]] [17:27:16.494] if (name != NAME && is.element(NAME, old_names)) [17:27:16.494] next [17:27:16.494] args[[name]] <- "" [17:27:16.494] } [17:27:16.494] NAMES <- toupper(removed) [17:27:16.494] for (kk in seq_along(NAMES)) { [17:27:16.494] name <- removed[[kk]] [17:27:16.494] NAME <- NAMES[[kk]] [17:27:16.494] if (name != NAME && is.element(NAME, old_names)) [17:27:16.494] next [17:27:16.494] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.494] } [17:27:16.494] if (length(args) > 0) [17:27:16.494] base::do.call(base::Sys.setenv, args = args) [17:27:16.494] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:16.494] } [17:27:16.494] else { [17:27:16.494] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:16.494] } [17:27:16.494] { [17:27:16.494] if (base::length(...future.futureOptionsAdded) > [17:27:16.494] 0L) { [17:27:16.494] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:16.494] base::names(opts) <- ...future.futureOptionsAdded [17:27:16.494] base::options(opts) [17:27:16.494] } [17:27:16.494] { [17:27:16.494] { [17:27:16.494] NULL [17:27:16.494] RNGkind("Mersenne-Twister") [17:27:16.494] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:16.494] inherits = FALSE) [17:27:16.494] } [17:27:16.494] options(future.plan = NULL) [17:27:16.494] if (is.na(NA_character_)) [17:27:16.494] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.494] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:16.494] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:16.494] .init = FALSE) [17:27:16.494] } [17:27:16.494] } [17:27:16.494] } [17:27:16.494] }) [17:27:16.494] if (TRUE) { [17:27:16.494] base::sink(type = "output", split = FALSE) [17:27:16.494] if (TRUE) { [17:27:16.494] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:16.494] } [17:27:16.494] else { [17:27:16.494] ...future.result["stdout"] <- base::list(NULL) [17:27:16.494] } [17:27:16.494] base::close(...future.stdout) [17:27:16.494] ...future.stdout <- NULL [17:27:16.494] } [17:27:16.494] ...future.result$conditions <- ...future.conditions [17:27:16.494] ...future.result$finished <- base::Sys.time() [17:27:16.494] ...future.result [17:27:16.494] } [17:27:16.498] plan(): Setting new future strategy stack: [17:27:16.499] List of future strategies: [17:27:16.499] 1. sequential: [17:27:16.499] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.499] - tweaked: FALSE [17:27:16.499] - call: NULL [17:27:16.499] plan(): nbrOfWorkers() = 1 [17:27:16.501] plan(): Setting new future strategy stack: [17:27:16.501] List of future strategies: [17:27:16.501] 1. sequential: [17:27:16.501] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.501] - tweaked: FALSE [17:27:16.501] - call: future::plan("sequential") [17:27:16.502] plan(): nbrOfWorkers() = 1 [17:27:16.502] SequentialFuture started (and completed) [17:27:16.503] resolved() for 'SequentialFuture' ... [17:27:16.503] - state: 'finished' [17:27:16.503] - run: TRUE [17:27:16.503] - result: 'FutureResult' [17:27:16.504] resolved() for 'SequentialFuture' ... done [1] TRUE [1] 42 [17:27:16.506] getGlobalsAndPackages() ... [17:27:16.506] Searching for globals... [17:27:16.512] - globals found: [4] '{', '<-', '*', 'a' [17:27:16.512] Searching for globals ... DONE [17:27:16.512] Resolving globals: FALSE [17:27:16.513] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:16.514] The total size of the 1 globals exported for future expression ('{; b <- 3; c <- 2; a * b * c; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (56 bytes of class 'numeric') [17:27:16.514] - globals: [1] 'a' [17:27:16.514] [17:27:16.514] getGlobalsAndPackages() ... DONE SequentialFuture: Label: '' Expression: { b <- 3 c <- 2 a * b * c } Lazy evaluation: TRUE Asynchronous evaluation: FALSE Local evaluation: TRUE Environment: R_GlobalEnv Capture standard output: TRUE Capture condition classes: 'condition' (excluding 'nothing') Globals: 1 objects totaling 56 bytes (numeric 'a' of 56 bytes) Packages: L'Ecuyer-CMRG RNG seed: (seed = FALSE) Resolved: FALSE Value: Conditions captured: Early signaling: FALSE Owner process: d2a8edf5-8a7b-b5a7-7a6e-8ce02a91c005 Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:16.516] Packages needed by the future expression (n = 0): [17:27:16.516] Packages needed by future strategies (n = 0): [17:27:16.516] { [17:27:16.516] { [17:27:16.516] { [17:27:16.516] ...future.startTime <- base::Sys.time() [17:27:16.516] { [17:27:16.516] { [17:27:16.516] { [17:27:16.516] base::local({ [17:27:16.516] has_future <- base::requireNamespace("future", [17:27:16.516] quietly = TRUE) [17:27:16.516] if (has_future) { [17:27:16.516] ns <- base::getNamespace("future") [17:27:16.516] version <- ns[[".package"]][["version"]] [17:27:16.516] if (is.null(version)) [17:27:16.516] version <- utils::packageVersion("future") [17:27:16.516] } [17:27:16.516] else { [17:27:16.516] version <- NULL [17:27:16.516] } [17:27:16.516] if (!has_future || version < "1.8.0") { [17:27:16.516] info <- base::c(r_version = base::gsub("R version ", [17:27:16.516] "", base::R.version$version.string), [17:27:16.516] platform = base::sprintf("%s (%s-bit)", [17:27:16.516] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:16.516] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:16.516] "release", "version")], collapse = " "), [17:27:16.516] hostname = base::Sys.info()[["nodename"]]) [17:27:16.516] info <- base::sprintf("%s: %s", base::names(info), [17:27:16.516] info) [17:27:16.516] info <- base::paste(info, collapse = "; ") [17:27:16.516] if (!has_future) { [17:27:16.516] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:16.516] info) [17:27:16.516] } [17:27:16.516] else { [17:27:16.516] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:16.516] info, version) [17:27:16.516] } [17:27:16.516] base::stop(msg) [17:27:16.516] } [17:27:16.516] }) [17:27:16.516] } [17:27:16.516] ...future.strategy.old <- future::plan("list") [17:27:16.516] options(future.plan = NULL) [17:27:16.516] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.516] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:16.516] } [17:27:16.516] ...future.workdir <- getwd() [17:27:16.516] } [17:27:16.516] ...future.oldOptions <- base::as.list(base::.Options) [17:27:16.516] ...future.oldEnvVars <- base::Sys.getenv() [17:27:16.516] } [17:27:16.516] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:16.516] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:16.516] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:16.516] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:16.516] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:16.516] future.stdout.windows.reencode = NULL, width = 80L) [17:27:16.516] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:16.516] base::names(...future.oldOptions)) [17:27:16.516] } [17:27:16.516] if (FALSE) { [17:27:16.516] } [17:27:16.516] else { [17:27:16.516] if (TRUE) { [17:27:16.516] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:16.516] open = "w") [17:27:16.516] } [17:27:16.516] else { [17:27:16.516] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:16.516] windows = "NUL", "/dev/null"), open = "w") [17:27:16.516] } [17:27:16.516] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:16.516] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:16.516] base::sink(type = "output", split = FALSE) [17:27:16.516] base::close(...future.stdout) [17:27:16.516] }, add = TRUE) [17:27:16.516] } [17:27:16.516] ...future.frame <- base::sys.nframe() [17:27:16.516] ...future.conditions <- base::list() [17:27:16.516] ...future.rng <- base::globalenv()$.Random.seed [17:27:16.516] if (FALSE) { [17:27:16.516] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:16.516] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:16.516] } [17:27:16.516] ...future.result <- base::tryCatch({ [17:27:16.516] base::withCallingHandlers({ [17:27:16.516] ...future.value <- base::withVisible(base::local({ [17:27:16.516] b <- 3 [17:27:16.516] c <- 2 [17:27:16.516] a * b * c [17:27:16.516] })) [17:27:16.516] future::FutureResult(value = ...future.value$value, [17:27:16.516] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.516] ...future.rng), globalenv = if (FALSE) [17:27:16.516] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:16.516] ...future.globalenv.names)) [17:27:16.516] else NULL, started = ...future.startTime, version = "1.8") [17:27:16.516] }, condition = base::local({ [17:27:16.516] c <- base::c [17:27:16.516] inherits <- base::inherits [17:27:16.516] invokeRestart <- base::invokeRestart [17:27:16.516] length <- base::length [17:27:16.516] list <- base::list [17:27:16.516] seq.int <- base::seq.int [17:27:16.516] signalCondition <- base::signalCondition [17:27:16.516] sys.calls <- base::sys.calls [17:27:16.516] `[[` <- base::`[[` [17:27:16.516] `+` <- base::`+` [17:27:16.516] `<<-` <- base::`<<-` [17:27:16.516] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:16.516] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:16.516] 3L)] [17:27:16.516] } [17:27:16.516] function(cond) { [17:27:16.516] is_error <- inherits(cond, "error") [17:27:16.516] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:16.516] NULL) [17:27:16.516] if (is_error) { [17:27:16.516] sessionInformation <- function() { [17:27:16.516] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:16.516] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:16.516] search = base::search(), system = base::Sys.info()) [17:27:16.516] } [17:27:16.516] ...future.conditions[[length(...future.conditions) + [17:27:16.516] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:16.516] cond$call), session = sessionInformation(), [17:27:16.516] timestamp = base::Sys.time(), signaled = 0L) [17:27:16.516] signalCondition(cond) [17:27:16.516] } [17:27:16.516] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:16.516] "immediateCondition"))) { [17:27:16.516] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:16.516] ...future.conditions[[length(...future.conditions) + [17:27:16.516] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:16.516] if (TRUE && !signal) { [17:27:16.516] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.516] { [17:27:16.516] inherits <- base::inherits [17:27:16.516] invokeRestart <- base::invokeRestart [17:27:16.516] is.null <- base::is.null [17:27:16.516] muffled <- FALSE [17:27:16.516] if (inherits(cond, "message")) { [17:27:16.516] muffled <- grepl(pattern, "muffleMessage") [17:27:16.516] if (muffled) [17:27:16.516] invokeRestart("muffleMessage") [17:27:16.516] } [17:27:16.516] else if (inherits(cond, "warning")) { [17:27:16.516] muffled <- grepl(pattern, "muffleWarning") [17:27:16.516] if (muffled) [17:27:16.516] invokeRestart("muffleWarning") [17:27:16.516] } [17:27:16.516] else if (inherits(cond, "condition")) { [17:27:16.516] if (!is.null(pattern)) { [17:27:16.516] computeRestarts <- base::computeRestarts [17:27:16.516] grepl <- base::grepl [17:27:16.516] restarts <- computeRestarts(cond) [17:27:16.516] for (restart in restarts) { [17:27:16.516] name <- restart$name [17:27:16.516] if (is.null(name)) [17:27:16.516] next [17:27:16.516] if (!grepl(pattern, name)) [17:27:16.516] next [17:27:16.516] invokeRestart(restart) [17:27:16.516] muffled <- TRUE [17:27:16.516] break [17:27:16.516] } [17:27:16.516] } [17:27:16.516] } [17:27:16.516] invisible(muffled) [17:27:16.516] } [17:27:16.516] muffleCondition(cond, pattern = "^muffle") [17:27:16.516] } [17:27:16.516] } [17:27:16.516] else { [17:27:16.516] if (TRUE) { [17:27:16.516] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.516] { [17:27:16.516] inherits <- base::inherits [17:27:16.516] invokeRestart <- base::invokeRestart [17:27:16.516] is.null <- base::is.null [17:27:16.516] muffled <- FALSE [17:27:16.516] if (inherits(cond, "message")) { [17:27:16.516] muffled <- grepl(pattern, "muffleMessage") [17:27:16.516] if (muffled) [17:27:16.516] invokeRestart("muffleMessage") [17:27:16.516] } [17:27:16.516] else if (inherits(cond, "warning")) { [17:27:16.516] muffled <- grepl(pattern, "muffleWarning") [17:27:16.516] if (muffled) [17:27:16.516] invokeRestart("muffleWarning") [17:27:16.516] } [17:27:16.516] else if (inherits(cond, "condition")) { [17:27:16.516] if (!is.null(pattern)) { [17:27:16.516] computeRestarts <- base::computeRestarts [17:27:16.516] grepl <- base::grepl [17:27:16.516] restarts <- computeRestarts(cond) [17:27:16.516] for (restart in restarts) { [17:27:16.516] name <- restart$name [17:27:16.516] if (is.null(name)) [17:27:16.516] next [17:27:16.516] if (!grepl(pattern, name)) [17:27:16.516] next [17:27:16.516] invokeRestart(restart) [17:27:16.516] muffled <- TRUE [17:27:16.516] break [17:27:16.516] } [17:27:16.516] } [17:27:16.516] } [17:27:16.516] invisible(muffled) [17:27:16.516] } [17:27:16.516] muffleCondition(cond, pattern = "^muffle") [17:27:16.516] } [17:27:16.516] } [17:27:16.516] } [17:27:16.516] })) [17:27:16.516] }, error = function(ex) { [17:27:16.516] base::structure(base::list(value = NULL, visible = NULL, [17:27:16.516] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.516] ...future.rng), started = ...future.startTime, [17:27:16.516] finished = Sys.time(), session_uuid = NA_character_, [17:27:16.516] version = "1.8"), class = "FutureResult") [17:27:16.516] }, finally = { [17:27:16.516] if (!identical(...future.workdir, getwd())) [17:27:16.516] setwd(...future.workdir) [17:27:16.516] { [17:27:16.516] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:16.516] ...future.oldOptions$nwarnings <- NULL [17:27:16.516] } [17:27:16.516] base::options(...future.oldOptions) [17:27:16.516] if (.Platform$OS.type == "windows") { [17:27:16.516] old_names <- names(...future.oldEnvVars) [17:27:16.516] envs <- base::Sys.getenv() [17:27:16.516] names <- names(envs) [17:27:16.516] common <- intersect(names, old_names) [17:27:16.516] added <- setdiff(names, old_names) [17:27:16.516] removed <- setdiff(old_names, names) [17:27:16.516] changed <- common[...future.oldEnvVars[common] != [17:27:16.516] envs[common]] [17:27:16.516] NAMES <- toupper(changed) [17:27:16.516] args <- list() [17:27:16.516] for (kk in seq_along(NAMES)) { [17:27:16.516] name <- changed[[kk]] [17:27:16.516] NAME <- NAMES[[kk]] [17:27:16.516] if (name != NAME && is.element(NAME, old_names)) [17:27:16.516] next [17:27:16.516] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.516] } [17:27:16.516] NAMES <- toupper(added) [17:27:16.516] for (kk in seq_along(NAMES)) { [17:27:16.516] name <- added[[kk]] [17:27:16.516] NAME <- NAMES[[kk]] [17:27:16.516] if (name != NAME && is.element(NAME, old_names)) [17:27:16.516] next [17:27:16.516] args[[name]] <- "" [17:27:16.516] } [17:27:16.516] NAMES <- toupper(removed) [17:27:16.516] for (kk in seq_along(NAMES)) { [17:27:16.516] name <- removed[[kk]] [17:27:16.516] NAME <- NAMES[[kk]] [17:27:16.516] if (name != NAME && is.element(NAME, old_names)) [17:27:16.516] next [17:27:16.516] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.516] } [17:27:16.516] if (length(args) > 0) [17:27:16.516] base::do.call(base::Sys.setenv, args = args) [17:27:16.516] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:16.516] } [17:27:16.516] else { [17:27:16.516] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:16.516] } [17:27:16.516] { [17:27:16.516] if (base::length(...future.futureOptionsAdded) > [17:27:16.516] 0L) { [17:27:16.516] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:16.516] base::names(opts) <- ...future.futureOptionsAdded [17:27:16.516] base::options(opts) [17:27:16.516] } [17:27:16.516] { [17:27:16.516] { [17:27:16.516] NULL [17:27:16.516] RNGkind("Mersenne-Twister") [17:27:16.516] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:16.516] inherits = FALSE) [17:27:16.516] } [17:27:16.516] options(future.plan = NULL) [17:27:16.516] if (is.na(NA_character_)) [17:27:16.516] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.516] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:16.516] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:16.516] .init = FALSE) [17:27:16.516] } [17:27:16.516] } [17:27:16.516] } [17:27:16.516] }) [17:27:16.516] if (TRUE) { [17:27:16.516] base::sink(type = "output", split = FALSE) [17:27:16.516] if (TRUE) { [17:27:16.516] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:16.516] } [17:27:16.516] else { [17:27:16.516] ...future.result["stdout"] <- base::list(NULL) [17:27:16.516] } [17:27:16.516] base::close(...future.stdout) [17:27:16.516] ...future.stdout <- NULL [17:27:16.516] } [17:27:16.516] ...future.result$conditions <- ...future.conditions [17:27:16.516] ...future.result$finished <- base::Sys.time() [17:27:16.516] ...future.result [17:27:16.516] } [17:27:16.520] assign_globals() ... [17:27:16.521] List of 1 [17:27:16.521] $ a: num 0 [17:27:16.521] - attr(*, "where")=List of 1 [17:27:16.521] ..$ a: [17:27:16.521] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:16.521] - attr(*, "resolved")= logi FALSE [17:27:16.521] - attr(*, "total_size")= num 56 [17:27:16.526] - copied 'a' to environment [17:27:16.526] assign_globals() ... done [17:27:16.526] plan(): Setting new future strategy stack: [17:27:16.526] List of future strategies: [17:27:16.526] 1. sequential: [17:27:16.526] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.526] - tweaked: FALSE [17:27:16.526] - call: NULL [17:27:16.527] plan(): nbrOfWorkers() = 1 [17:27:16.530] plan(): Setting new future strategy stack: [17:27:16.530] List of future strategies: [17:27:16.530] 1. sequential: [17:27:16.530] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.530] - tweaked: FALSE [17:27:16.530] - call: future::plan("sequential") [17:27:16.531] plan(): nbrOfWorkers() = 1 [17:27:16.531] SequentialFuture started (and completed) [1] 0 *** multisession() with globals and blocking - Creating multisession future #2 ... [17:27:16.533] getGlobalsAndPackages() ... [17:27:16.534] Searching for globals... [17:27:16.534] - globals found: [2] '{', 'ii' [17:27:16.535] Searching for globals ... DONE [17:27:16.535] Resolving globals: FALSE [17:27:16.535] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:16.536] The total size of the 1 globals exported for future expression ('{; ii; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:16.536] - globals: [1] 'ii' [17:27:16.536] [17:27:16.536] getGlobalsAndPackages() ... DONE - Creating multisession future #1 ... [17:27:16.539] getGlobalsAndPackages() ... [17:27:16.539] Searching for globals... [17:27:16.540] - globals found: [2] '{', 'ii' [17:27:16.540] Searching for globals ... DONE [17:27:16.540] Resolving globals: FALSE [17:27:16.540] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:16.541] The total size of the 1 globals exported for future expression ('{; ii; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:16.541] - globals: [1] 'ii' [17:27:16.541] [17:27:16.541] getGlobalsAndPackages() ... DONE - Resolving 2 multisession futures [17:27:16.542] Packages needed by the future expression (n = 0): [17:27:16.542] Packages needed by future strategies (n = 0): [17:27:16.543] { [17:27:16.543] { [17:27:16.543] { [17:27:16.543] ...future.startTime <- base::Sys.time() [17:27:16.543] { [17:27:16.543] { [17:27:16.543] { [17:27:16.543] base::local({ [17:27:16.543] has_future <- base::requireNamespace("future", [17:27:16.543] quietly = TRUE) [17:27:16.543] if (has_future) { [17:27:16.543] ns <- base::getNamespace("future") [17:27:16.543] version <- ns[[".package"]][["version"]] [17:27:16.543] if (is.null(version)) [17:27:16.543] version <- utils::packageVersion("future") [17:27:16.543] } [17:27:16.543] else { [17:27:16.543] version <- NULL [17:27:16.543] } [17:27:16.543] if (!has_future || version < "1.8.0") { [17:27:16.543] info <- base::c(r_version = base::gsub("R version ", [17:27:16.543] "", base::R.version$version.string), [17:27:16.543] platform = base::sprintf("%s (%s-bit)", [17:27:16.543] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:16.543] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:16.543] "release", "version")], collapse = " "), [17:27:16.543] hostname = base::Sys.info()[["nodename"]]) [17:27:16.543] info <- base::sprintf("%s: %s", base::names(info), [17:27:16.543] info) [17:27:16.543] info <- base::paste(info, collapse = "; ") [17:27:16.543] if (!has_future) { [17:27:16.543] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:16.543] info) [17:27:16.543] } [17:27:16.543] else { [17:27:16.543] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:16.543] info, version) [17:27:16.543] } [17:27:16.543] base::stop(msg) [17:27:16.543] } [17:27:16.543] }) [17:27:16.543] } [17:27:16.543] ...future.strategy.old <- future::plan("list") [17:27:16.543] options(future.plan = NULL) [17:27:16.543] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.543] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:16.543] } [17:27:16.543] ...future.workdir <- getwd() [17:27:16.543] } [17:27:16.543] ...future.oldOptions <- base::as.list(base::.Options) [17:27:16.543] ...future.oldEnvVars <- base::Sys.getenv() [17:27:16.543] } [17:27:16.543] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:16.543] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:16.543] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:16.543] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:16.543] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:16.543] future.stdout.windows.reencode = NULL, width = 80L) [17:27:16.543] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:16.543] base::names(...future.oldOptions)) [17:27:16.543] } [17:27:16.543] if (FALSE) { [17:27:16.543] } [17:27:16.543] else { [17:27:16.543] if (TRUE) { [17:27:16.543] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:16.543] open = "w") [17:27:16.543] } [17:27:16.543] else { [17:27:16.543] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:16.543] windows = "NUL", "/dev/null"), open = "w") [17:27:16.543] } [17:27:16.543] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:16.543] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:16.543] base::sink(type = "output", split = FALSE) [17:27:16.543] base::close(...future.stdout) [17:27:16.543] }, add = TRUE) [17:27:16.543] } [17:27:16.543] ...future.frame <- base::sys.nframe() [17:27:16.543] ...future.conditions <- base::list() [17:27:16.543] ...future.rng <- base::globalenv()$.Random.seed [17:27:16.543] if (FALSE) { [17:27:16.543] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:16.543] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:16.543] } [17:27:16.543] ...future.result <- base::tryCatch({ [17:27:16.543] base::withCallingHandlers({ [17:27:16.543] ...future.value <- base::withVisible(base::local({ [17:27:16.543] ii [17:27:16.543] })) [17:27:16.543] future::FutureResult(value = ...future.value$value, [17:27:16.543] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.543] ...future.rng), globalenv = if (FALSE) [17:27:16.543] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:16.543] ...future.globalenv.names)) [17:27:16.543] else NULL, started = ...future.startTime, version = "1.8") [17:27:16.543] }, condition = base::local({ [17:27:16.543] c <- base::c [17:27:16.543] inherits <- base::inherits [17:27:16.543] invokeRestart <- base::invokeRestart [17:27:16.543] length <- base::length [17:27:16.543] list <- base::list [17:27:16.543] seq.int <- base::seq.int [17:27:16.543] signalCondition <- base::signalCondition [17:27:16.543] sys.calls <- base::sys.calls [17:27:16.543] `[[` <- base::`[[` [17:27:16.543] `+` <- base::`+` [17:27:16.543] `<<-` <- base::`<<-` [17:27:16.543] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:16.543] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:16.543] 3L)] [17:27:16.543] } [17:27:16.543] function(cond) { [17:27:16.543] is_error <- inherits(cond, "error") [17:27:16.543] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:16.543] NULL) [17:27:16.543] if (is_error) { [17:27:16.543] sessionInformation <- function() { [17:27:16.543] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:16.543] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:16.543] search = base::search(), system = base::Sys.info()) [17:27:16.543] } [17:27:16.543] ...future.conditions[[length(...future.conditions) + [17:27:16.543] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:16.543] cond$call), session = sessionInformation(), [17:27:16.543] timestamp = base::Sys.time(), signaled = 0L) [17:27:16.543] signalCondition(cond) [17:27:16.543] } [17:27:16.543] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:16.543] "immediateCondition"))) { [17:27:16.543] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:16.543] ...future.conditions[[length(...future.conditions) + [17:27:16.543] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:16.543] if (TRUE && !signal) { [17:27:16.543] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.543] { [17:27:16.543] inherits <- base::inherits [17:27:16.543] invokeRestart <- base::invokeRestart [17:27:16.543] is.null <- base::is.null [17:27:16.543] muffled <- FALSE [17:27:16.543] if (inherits(cond, "message")) { [17:27:16.543] muffled <- grepl(pattern, "muffleMessage") [17:27:16.543] if (muffled) [17:27:16.543] invokeRestart("muffleMessage") [17:27:16.543] } [17:27:16.543] else if (inherits(cond, "warning")) { [17:27:16.543] muffled <- grepl(pattern, "muffleWarning") [17:27:16.543] if (muffled) [17:27:16.543] invokeRestart("muffleWarning") [17:27:16.543] } [17:27:16.543] else if (inherits(cond, "condition")) { [17:27:16.543] if (!is.null(pattern)) { [17:27:16.543] computeRestarts <- base::computeRestarts [17:27:16.543] grepl <- base::grepl [17:27:16.543] restarts <- computeRestarts(cond) [17:27:16.543] for (restart in restarts) { [17:27:16.543] name <- restart$name [17:27:16.543] if (is.null(name)) [17:27:16.543] next [17:27:16.543] if (!grepl(pattern, name)) [17:27:16.543] next [17:27:16.543] invokeRestart(restart) [17:27:16.543] muffled <- TRUE [17:27:16.543] break [17:27:16.543] } [17:27:16.543] } [17:27:16.543] } [17:27:16.543] invisible(muffled) [17:27:16.543] } [17:27:16.543] muffleCondition(cond, pattern = "^muffle") [17:27:16.543] } [17:27:16.543] } [17:27:16.543] else { [17:27:16.543] if (TRUE) { [17:27:16.543] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.543] { [17:27:16.543] inherits <- base::inherits [17:27:16.543] invokeRestart <- base::invokeRestart [17:27:16.543] is.null <- base::is.null [17:27:16.543] muffled <- FALSE [17:27:16.543] if (inherits(cond, "message")) { [17:27:16.543] muffled <- grepl(pattern, "muffleMessage") [17:27:16.543] if (muffled) [17:27:16.543] invokeRestart("muffleMessage") [17:27:16.543] } [17:27:16.543] else if (inherits(cond, "warning")) { [17:27:16.543] muffled <- grepl(pattern, "muffleWarning") [17:27:16.543] if (muffled) [17:27:16.543] invokeRestart("muffleWarning") [17:27:16.543] } [17:27:16.543] else if (inherits(cond, "condition")) { [17:27:16.543] if (!is.null(pattern)) { [17:27:16.543] computeRestarts <- base::computeRestarts [17:27:16.543] grepl <- base::grepl [17:27:16.543] restarts <- computeRestarts(cond) [17:27:16.543] for (restart in restarts) { [17:27:16.543] name <- restart$name [17:27:16.543] if (is.null(name)) [17:27:16.543] next [17:27:16.543] if (!grepl(pattern, name)) [17:27:16.543] next [17:27:16.543] invokeRestart(restart) [17:27:16.543] muffled <- TRUE [17:27:16.543] break [17:27:16.543] } [17:27:16.543] } [17:27:16.543] } [17:27:16.543] invisible(muffled) [17:27:16.543] } [17:27:16.543] muffleCondition(cond, pattern = "^muffle") [17:27:16.543] } [17:27:16.543] } [17:27:16.543] } [17:27:16.543] })) [17:27:16.543] }, error = function(ex) { [17:27:16.543] base::structure(base::list(value = NULL, visible = NULL, [17:27:16.543] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.543] ...future.rng), started = ...future.startTime, [17:27:16.543] finished = Sys.time(), session_uuid = NA_character_, [17:27:16.543] version = "1.8"), class = "FutureResult") [17:27:16.543] }, finally = { [17:27:16.543] if (!identical(...future.workdir, getwd())) [17:27:16.543] setwd(...future.workdir) [17:27:16.543] { [17:27:16.543] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:16.543] ...future.oldOptions$nwarnings <- NULL [17:27:16.543] } [17:27:16.543] base::options(...future.oldOptions) [17:27:16.543] if (.Platform$OS.type == "windows") { [17:27:16.543] old_names <- names(...future.oldEnvVars) [17:27:16.543] envs <- base::Sys.getenv() [17:27:16.543] names <- names(envs) [17:27:16.543] common <- intersect(names, old_names) [17:27:16.543] added <- setdiff(names, old_names) [17:27:16.543] removed <- setdiff(old_names, names) [17:27:16.543] changed <- common[...future.oldEnvVars[common] != [17:27:16.543] envs[common]] [17:27:16.543] NAMES <- toupper(changed) [17:27:16.543] args <- list() [17:27:16.543] for (kk in seq_along(NAMES)) { [17:27:16.543] name <- changed[[kk]] [17:27:16.543] NAME <- NAMES[[kk]] [17:27:16.543] if (name != NAME && is.element(NAME, old_names)) [17:27:16.543] next [17:27:16.543] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.543] } [17:27:16.543] NAMES <- toupper(added) [17:27:16.543] for (kk in seq_along(NAMES)) { [17:27:16.543] name <- added[[kk]] [17:27:16.543] NAME <- NAMES[[kk]] [17:27:16.543] if (name != NAME && is.element(NAME, old_names)) [17:27:16.543] next [17:27:16.543] args[[name]] <- "" [17:27:16.543] } [17:27:16.543] NAMES <- toupper(removed) [17:27:16.543] for (kk in seq_along(NAMES)) { [17:27:16.543] name <- removed[[kk]] [17:27:16.543] NAME <- NAMES[[kk]] [17:27:16.543] if (name != NAME && is.element(NAME, old_names)) [17:27:16.543] next [17:27:16.543] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.543] } [17:27:16.543] if (length(args) > 0) [17:27:16.543] base::do.call(base::Sys.setenv, args = args) [17:27:16.543] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:16.543] } [17:27:16.543] else { [17:27:16.543] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:16.543] } [17:27:16.543] { [17:27:16.543] if (base::length(...future.futureOptionsAdded) > [17:27:16.543] 0L) { [17:27:16.543] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:16.543] base::names(opts) <- ...future.futureOptionsAdded [17:27:16.543] base::options(opts) [17:27:16.543] } [17:27:16.543] { [17:27:16.543] { [17:27:16.543] NULL [17:27:16.543] RNGkind("Mersenne-Twister") [17:27:16.543] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:16.543] inherits = FALSE) [17:27:16.543] } [17:27:16.543] options(future.plan = NULL) [17:27:16.543] if (is.na(NA_character_)) [17:27:16.543] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.543] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:16.543] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:16.543] .init = FALSE) [17:27:16.543] } [17:27:16.543] } [17:27:16.543] } [17:27:16.543] }) [17:27:16.543] if (TRUE) { [17:27:16.543] base::sink(type = "output", split = FALSE) [17:27:16.543] if (TRUE) { [17:27:16.543] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:16.543] } [17:27:16.543] else { [17:27:16.543] ...future.result["stdout"] <- base::list(NULL) [17:27:16.543] } [17:27:16.543] base::close(...future.stdout) [17:27:16.543] ...future.stdout <- NULL [17:27:16.543] } [17:27:16.543] ...future.result$conditions <- ...future.conditions [17:27:16.543] ...future.result$finished <- base::Sys.time() [17:27:16.543] ...future.result [17:27:16.543] } [17:27:16.547] assign_globals() ... [17:27:16.547] List of 1 [17:27:16.547] $ ii: int 1 [17:27:16.547] - attr(*, "where")=List of 1 [17:27:16.547] ..$ ii: [17:27:16.547] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:16.547] - attr(*, "resolved")= logi FALSE [17:27:16.547] - attr(*, "total_size")= num 56 [17:27:16.549] - copied 'ii' to environment [17:27:16.549] assign_globals() ... done [17:27:16.550] plan(): Setting new future strategy stack: [17:27:16.550] List of future strategies: [17:27:16.550] 1. sequential: [17:27:16.550] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.550] - tweaked: FALSE [17:27:16.550] - call: NULL [17:27:16.551] plan(): nbrOfWorkers() = 1 [17:27:16.552] plan(): Setting new future strategy stack: [17:27:16.552] List of future strategies: [17:27:16.552] 1. sequential: [17:27:16.552] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.552] - tweaked: FALSE [17:27:16.552] - call: future::plan("sequential") [17:27:16.553] plan(): nbrOfWorkers() = 1 [17:27:16.553] SequentialFuture started (and completed) [17:27:16.553] Packages needed by the future expression (n = 0): [17:27:16.553] Packages needed by future strategies (n = 0): [17:27:16.554] { [17:27:16.554] { [17:27:16.554] { [17:27:16.554] ...future.startTime <- base::Sys.time() [17:27:16.554] { [17:27:16.554] { [17:27:16.554] { [17:27:16.554] base::local({ [17:27:16.554] has_future <- base::requireNamespace("future", [17:27:16.554] quietly = TRUE) [17:27:16.554] if (has_future) { [17:27:16.554] ns <- base::getNamespace("future") [17:27:16.554] version <- ns[[".package"]][["version"]] [17:27:16.554] if (is.null(version)) [17:27:16.554] version <- utils::packageVersion("future") [17:27:16.554] } [17:27:16.554] else { [17:27:16.554] version <- NULL [17:27:16.554] } [17:27:16.554] if (!has_future || version < "1.8.0") { [17:27:16.554] info <- base::c(r_version = base::gsub("R version ", [17:27:16.554] "", base::R.version$version.string), [17:27:16.554] platform = base::sprintf("%s (%s-bit)", [17:27:16.554] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:16.554] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:16.554] "release", "version")], collapse = " "), [17:27:16.554] hostname = base::Sys.info()[["nodename"]]) [17:27:16.554] info <- base::sprintf("%s: %s", base::names(info), [17:27:16.554] info) [17:27:16.554] info <- base::paste(info, collapse = "; ") [17:27:16.554] if (!has_future) { [17:27:16.554] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:16.554] info) [17:27:16.554] } [17:27:16.554] else { [17:27:16.554] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:16.554] info, version) [17:27:16.554] } [17:27:16.554] base::stop(msg) [17:27:16.554] } [17:27:16.554] }) [17:27:16.554] } [17:27:16.554] ...future.strategy.old <- future::plan("list") [17:27:16.554] options(future.plan = NULL) [17:27:16.554] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.554] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:16.554] } [17:27:16.554] ...future.workdir <- getwd() [17:27:16.554] } [17:27:16.554] ...future.oldOptions <- base::as.list(base::.Options) [17:27:16.554] ...future.oldEnvVars <- base::Sys.getenv() [17:27:16.554] } [17:27:16.554] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:16.554] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:16.554] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:16.554] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:16.554] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:16.554] future.stdout.windows.reencode = NULL, width = 80L) [17:27:16.554] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:16.554] base::names(...future.oldOptions)) [17:27:16.554] } [17:27:16.554] if (FALSE) { [17:27:16.554] } [17:27:16.554] else { [17:27:16.554] if (TRUE) { [17:27:16.554] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:16.554] open = "w") [17:27:16.554] } [17:27:16.554] else { [17:27:16.554] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:16.554] windows = "NUL", "/dev/null"), open = "w") [17:27:16.554] } [17:27:16.554] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:16.554] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:16.554] base::sink(type = "output", split = FALSE) [17:27:16.554] base::close(...future.stdout) [17:27:16.554] }, add = TRUE) [17:27:16.554] } [17:27:16.554] ...future.frame <- base::sys.nframe() [17:27:16.554] ...future.conditions <- base::list() [17:27:16.554] ...future.rng <- base::globalenv()$.Random.seed [17:27:16.554] if (FALSE) { [17:27:16.554] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:16.554] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:16.554] } [17:27:16.554] ...future.result <- base::tryCatch({ [17:27:16.554] base::withCallingHandlers({ [17:27:16.554] ...future.value <- base::withVisible(base::local({ [17:27:16.554] ii [17:27:16.554] })) [17:27:16.554] future::FutureResult(value = ...future.value$value, [17:27:16.554] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.554] ...future.rng), globalenv = if (FALSE) [17:27:16.554] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:16.554] ...future.globalenv.names)) [17:27:16.554] else NULL, started = ...future.startTime, version = "1.8") [17:27:16.554] }, condition = base::local({ [17:27:16.554] c <- base::c [17:27:16.554] inherits <- base::inherits [17:27:16.554] invokeRestart <- base::invokeRestart [17:27:16.554] length <- base::length [17:27:16.554] list <- base::list [17:27:16.554] seq.int <- base::seq.int [17:27:16.554] signalCondition <- base::signalCondition [17:27:16.554] sys.calls <- base::sys.calls [17:27:16.554] `[[` <- base::`[[` [17:27:16.554] `+` <- base::`+` [17:27:16.554] `<<-` <- base::`<<-` [17:27:16.554] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:16.554] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:16.554] 3L)] [17:27:16.554] } [17:27:16.554] function(cond) { [17:27:16.554] is_error <- inherits(cond, "error") [17:27:16.554] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:16.554] NULL) [17:27:16.554] if (is_error) { [17:27:16.554] sessionInformation <- function() { [17:27:16.554] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:16.554] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:16.554] search = base::search(), system = base::Sys.info()) [17:27:16.554] } [17:27:16.554] ...future.conditions[[length(...future.conditions) + [17:27:16.554] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:16.554] cond$call), session = sessionInformation(), [17:27:16.554] timestamp = base::Sys.time(), signaled = 0L) [17:27:16.554] signalCondition(cond) [17:27:16.554] } [17:27:16.554] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:16.554] "immediateCondition"))) { [17:27:16.554] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:16.554] ...future.conditions[[length(...future.conditions) + [17:27:16.554] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:16.554] if (TRUE && !signal) { [17:27:16.554] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.554] { [17:27:16.554] inherits <- base::inherits [17:27:16.554] invokeRestart <- base::invokeRestart [17:27:16.554] is.null <- base::is.null [17:27:16.554] muffled <- FALSE [17:27:16.554] if (inherits(cond, "message")) { [17:27:16.554] muffled <- grepl(pattern, "muffleMessage") [17:27:16.554] if (muffled) [17:27:16.554] invokeRestart("muffleMessage") [17:27:16.554] } [17:27:16.554] else if (inherits(cond, "warning")) { [17:27:16.554] muffled <- grepl(pattern, "muffleWarning") [17:27:16.554] if (muffled) [17:27:16.554] invokeRestart("muffleWarning") [17:27:16.554] } [17:27:16.554] else if (inherits(cond, "condition")) { [17:27:16.554] if (!is.null(pattern)) { [17:27:16.554] computeRestarts <- base::computeRestarts [17:27:16.554] grepl <- base::grepl [17:27:16.554] restarts <- computeRestarts(cond) [17:27:16.554] for (restart in restarts) { [17:27:16.554] name <- restart$name [17:27:16.554] if (is.null(name)) [17:27:16.554] next [17:27:16.554] if (!grepl(pattern, name)) [17:27:16.554] next [17:27:16.554] invokeRestart(restart) [17:27:16.554] muffled <- TRUE [17:27:16.554] break [17:27:16.554] } [17:27:16.554] } [17:27:16.554] } [17:27:16.554] invisible(muffled) [17:27:16.554] } [17:27:16.554] muffleCondition(cond, pattern = "^muffle") [17:27:16.554] } [17:27:16.554] } [17:27:16.554] else { [17:27:16.554] if (TRUE) { [17:27:16.554] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.554] { [17:27:16.554] inherits <- base::inherits [17:27:16.554] invokeRestart <- base::invokeRestart [17:27:16.554] is.null <- base::is.null [17:27:16.554] muffled <- FALSE [17:27:16.554] if (inherits(cond, "message")) { [17:27:16.554] muffled <- grepl(pattern, "muffleMessage") [17:27:16.554] if (muffled) [17:27:16.554] invokeRestart("muffleMessage") [17:27:16.554] } [17:27:16.554] else if (inherits(cond, "warning")) { [17:27:16.554] muffled <- grepl(pattern, "muffleWarning") [17:27:16.554] if (muffled) [17:27:16.554] invokeRestart("muffleWarning") [17:27:16.554] } [17:27:16.554] else if (inherits(cond, "condition")) { [17:27:16.554] if (!is.null(pattern)) { [17:27:16.554] computeRestarts <- base::computeRestarts [17:27:16.554] grepl <- base::grepl [17:27:16.554] restarts <- computeRestarts(cond) [17:27:16.554] for (restart in restarts) { [17:27:16.554] name <- restart$name [17:27:16.554] if (is.null(name)) [17:27:16.554] next [17:27:16.554] if (!grepl(pattern, name)) [17:27:16.554] next [17:27:16.554] invokeRestart(restart) [17:27:16.554] muffled <- TRUE [17:27:16.554] break [17:27:16.554] } [17:27:16.554] } [17:27:16.554] } [17:27:16.554] invisible(muffled) [17:27:16.554] } [17:27:16.554] muffleCondition(cond, pattern = "^muffle") [17:27:16.554] } [17:27:16.554] } [17:27:16.554] } [17:27:16.554] })) [17:27:16.554] }, error = function(ex) { [17:27:16.554] base::structure(base::list(value = NULL, visible = NULL, [17:27:16.554] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.554] ...future.rng), started = ...future.startTime, [17:27:16.554] finished = Sys.time(), session_uuid = NA_character_, [17:27:16.554] version = "1.8"), class = "FutureResult") [17:27:16.554] }, finally = { [17:27:16.554] if (!identical(...future.workdir, getwd())) [17:27:16.554] setwd(...future.workdir) [17:27:16.554] { [17:27:16.554] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:16.554] ...future.oldOptions$nwarnings <- NULL [17:27:16.554] } [17:27:16.554] base::options(...future.oldOptions) [17:27:16.554] if (.Platform$OS.type == "windows") { [17:27:16.554] old_names <- names(...future.oldEnvVars) [17:27:16.554] envs <- base::Sys.getenv() [17:27:16.554] names <- names(envs) [17:27:16.554] common <- intersect(names, old_names) [17:27:16.554] added <- setdiff(names, old_names) [17:27:16.554] removed <- setdiff(old_names, names) [17:27:16.554] changed <- common[...future.oldEnvVars[common] != [17:27:16.554] envs[common]] [17:27:16.554] NAMES <- toupper(changed) [17:27:16.554] args <- list() [17:27:16.554] for (kk in seq_along(NAMES)) { [17:27:16.554] name <- changed[[kk]] [17:27:16.554] NAME <- NAMES[[kk]] [17:27:16.554] if (name != NAME && is.element(NAME, old_names)) [17:27:16.554] next [17:27:16.554] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.554] } [17:27:16.554] NAMES <- toupper(added) [17:27:16.554] for (kk in seq_along(NAMES)) { [17:27:16.554] name <- added[[kk]] [17:27:16.554] NAME <- NAMES[[kk]] [17:27:16.554] if (name != NAME && is.element(NAME, old_names)) [17:27:16.554] next [17:27:16.554] args[[name]] <- "" [17:27:16.554] } [17:27:16.554] NAMES <- toupper(removed) [17:27:16.554] for (kk in seq_along(NAMES)) { [17:27:16.554] name <- removed[[kk]] [17:27:16.554] NAME <- NAMES[[kk]] [17:27:16.554] if (name != NAME && is.element(NAME, old_names)) [17:27:16.554] next [17:27:16.554] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.554] } [17:27:16.554] if (length(args) > 0) [17:27:16.554] base::do.call(base::Sys.setenv, args = args) [17:27:16.554] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:16.554] } [17:27:16.554] else { [17:27:16.554] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:16.554] } [17:27:16.554] { [17:27:16.554] if (base::length(...future.futureOptionsAdded) > [17:27:16.554] 0L) { [17:27:16.554] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:16.554] base::names(opts) <- ...future.futureOptionsAdded [17:27:16.554] base::options(opts) [17:27:16.554] } [17:27:16.554] { [17:27:16.554] { [17:27:16.554] NULL [17:27:16.554] RNGkind("Mersenne-Twister") [17:27:16.554] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:16.554] inherits = FALSE) [17:27:16.554] } [17:27:16.554] options(future.plan = NULL) [17:27:16.554] if (is.na(NA_character_)) [17:27:16.554] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.554] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:16.554] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:16.554] .init = FALSE) [17:27:16.554] } [17:27:16.554] } [17:27:16.554] } [17:27:16.554] }) [17:27:16.554] if (TRUE) { [17:27:16.554] base::sink(type = "output", split = FALSE) [17:27:16.554] if (TRUE) { [17:27:16.554] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:16.554] } [17:27:16.554] else { [17:27:16.554] ...future.result["stdout"] <- base::list(NULL) [17:27:16.554] } [17:27:16.554] base::close(...future.stdout) [17:27:16.554] ...future.stdout <- NULL [17:27:16.554] } [17:27:16.554] ...future.result$conditions <- ...future.conditions [17:27:16.554] ...future.result$finished <- base::Sys.time() [17:27:16.554] ...future.result [17:27:16.554] } [17:27:16.558] assign_globals() ... [17:27:16.558] List of 1 [17:27:16.558] $ ii: int 2 [17:27:16.558] - attr(*, "where")=List of 1 [17:27:16.558] ..$ ii: [17:27:16.558] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:16.558] - attr(*, "resolved")= logi FALSE [17:27:16.558] - attr(*, "total_size")= num 56 [17:27:16.560] - copied 'ii' to environment [17:27:16.561] assign_globals() ... done [17:27:16.561] plan(): Setting new future strategy stack: [17:27:16.561] List of future strategies: [17:27:16.561] 1. sequential: [17:27:16.561] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.561] - tweaked: FALSE [17:27:16.561] - call: NULL [17:27:16.562] plan(): nbrOfWorkers() = 1 [17:27:16.563] plan(): Setting new future strategy stack: [17:27:16.563] List of future strategies: [17:27:16.563] 1. sequential: [17:27:16.563] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.563] - tweaked: FALSE [17:27:16.563] - call: future::plan("sequential") [17:27:16.564] plan(): nbrOfWorkers() = 1 [17:27:16.564] SequentialFuture started (and completed) *** multisession() - workers inherit .libPaths() [17:27:16.564] getGlobalsAndPackages() ... [17:27:16.564] Searching for globals... [17:27:16.565] - globals found: [1] '.libPaths' [17:27:16.565] Searching for globals ... DONE [17:27:16.565] Resolving globals: FALSE [17:27:16.566] [17:27:16.566] [17:27:16.566] getGlobalsAndPackages() ... DONE [17:27:16.567] run() for 'Future' ... [17:27:16.568] - state: 'created' [17:27:16.568] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:16.568] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:16.568] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:16.569] - Field: 'label' [17:27:16.569] - Field: 'local' [17:27:16.569] - Field: 'owner' [17:27:16.569] - Field: 'envir' [17:27:16.569] - Field: 'packages' [17:27:16.570] - Field: 'gc' [17:27:16.570] - Field: 'conditions' [17:27:16.570] - Field: 'expr' [17:27:16.570] - Field: 'uuid' [17:27:16.570] - Field: 'seed' [17:27:16.570] - Field: 'version' [17:27:16.571] - Field: 'result' [17:27:16.571] - Field: 'asynchronous' [17:27:16.571] - Field: 'calls' [17:27:16.571] - Field: 'globals' [17:27:16.571] - Field: 'stdout' [17:27:16.571] - Field: 'earlySignal' [17:27:16.572] - Field: 'lazy' [17:27:16.572] - Field: 'state' [17:27:16.572] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:16.572] - Launch lazy future ... [17:27:16.572] Packages needed by the future expression (n = 0): [17:27:16.573] Packages needed by future strategies (n = 0): [17:27:16.573] { [17:27:16.573] { [17:27:16.573] { [17:27:16.573] ...future.startTime <- base::Sys.time() [17:27:16.573] { [17:27:16.573] { [17:27:16.573] { [17:27:16.573] base::local({ [17:27:16.573] has_future <- base::requireNamespace("future", [17:27:16.573] quietly = TRUE) [17:27:16.573] if (has_future) { [17:27:16.573] ns <- base::getNamespace("future") [17:27:16.573] version <- ns[[".package"]][["version"]] [17:27:16.573] if (is.null(version)) [17:27:16.573] version <- utils::packageVersion("future") [17:27:16.573] } [17:27:16.573] else { [17:27:16.573] version <- NULL [17:27:16.573] } [17:27:16.573] if (!has_future || version < "1.8.0") { [17:27:16.573] info <- base::c(r_version = base::gsub("R version ", [17:27:16.573] "", base::R.version$version.string), [17:27:16.573] platform = base::sprintf("%s (%s-bit)", [17:27:16.573] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:16.573] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:16.573] "release", "version")], collapse = " "), [17:27:16.573] hostname = base::Sys.info()[["nodename"]]) [17:27:16.573] info <- base::sprintf("%s: %s", base::names(info), [17:27:16.573] info) [17:27:16.573] info <- base::paste(info, collapse = "; ") [17:27:16.573] if (!has_future) { [17:27:16.573] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:16.573] info) [17:27:16.573] } [17:27:16.573] else { [17:27:16.573] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:16.573] info, version) [17:27:16.573] } [17:27:16.573] base::stop(msg) [17:27:16.573] } [17:27:16.573] }) [17:27:16.573] } [17:27:16.573] ...future.strategy.old <- future::plan("list") [17:27:16.573] options(future.plan = NULL) [17:27:16.573] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.573] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:16.573] } [17:27:16.573] ...future.workdir <- getwd() [17:27:16.573] } [17:27:16.573] ...future.oldOptions <- base::as.list(base::.Options) [17:27:16.573] ...future.oldEnvVars <- base::Sys.getenv() [17:27:16.573] } [17:27:16.573] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:16.573] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:16.573] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:16.573] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:16.573] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:16.573] future.stdout.windows.reencode = NULL, width = 80L) [17:27:16.573] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:16.573] base::names(...future.oldOptions)) [17:27:16.573] } [17:27:16.573] if (FALSE) { [17:27:16.573] } [17:27:16.573] else { [17:27:16.573] if (TRUE) { [17:27:16.573] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:16.573] open = "w") [17:27:16.573] } [17:27:16.573] else { [17:27:16.573] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:16.573] windows = "NUL", "/dev/null"), open = "w") [17:27:16.573] } [17:27:16.573] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:16.573] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:16.573] base::sink(type = "output", split = FALSE) [17:27:16.573] base::close(...future.stdout) [17:27:16.573] }, add = TRUE) [17:27:16.573] } [17:27:16.573] ...future.frame <- base::sys.nframe() [17:27:16.573] ...future.conditions <- base::list() [17:27:16.573] ...future.rng <- base::globalenv()$.Random.seed [17:27:16.573] if (FALSE) { [17:27:16.573] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:16.573] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:16.573] } [17:27:16.573] ...future.result <- base::tryCatch({ [17:27:16.573] base::withCallingHandlers({ [17:27:16.573] ...future.value <- base::withVisible(base::local(.libPaths())) [17:27:16.573] future::FutureResult(value = ...future.value$value, [17:27:16.573] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.573] ...future.rng), globalenv = if (FALSE) [17:27:16.573] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:16.573] ...future.globalenv.names)) [17:27:16.573] else NULL, started = ...future.startTime, version = "1.8") [17:27:16.573] }, condition = base::local({ [17:27:16.573] c <- base::c [17:27:16.573] inherits <- base::inherits [17:27:16.573] invokeRestart <- base::invokeRestart [17:27:16.573] length <- base::length [17:27:16.573] list <- base::list [17:27:16.573] seq.int <- base::seq.int [17:27:16.573] signalCondition <- base::signalCondition [17:27:16.573] sys.calls <- base::sys.calls [17:27:16.573] `[[` <- base::`[[` [17:27:16.573] `+` <- base::`+` [17:27:16.573] `<<-` <- base::`<<-` [17:27:16.573] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:16.573] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:16.573] 3L)] [17:27:16.573] } [17:27:16.573] function(cond) { [17:27:16.573] is_error <- inherits(cond, "error") [17:27:16.573] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:16.573] NULL) [17:27:16.573] if (is_error) { [17:27:16.573] sessionInformation <- function() { [17:27:16.573] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:16.573] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:16.573] search = base::search(), system = base::Sys.info()) [17:27:16.573] } [17:27:16.573] ...future.conditions[[length(...future.conditions) + [17:27:16.573] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:16.573] cond$call), session = sessionInformation(), [17:27:16.573] timestamp = base::Sys.time(), signaled = 0L) [17:27:16.573] signalCondition(cond) [17:27:16.573] } [17:27:16.573] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:16.573] "immediateCondition"))) { [17:27:16.573] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:16.573] ...future.conditions[[length(...future.conditions) + [17:27:16.573] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:16.573] if (TRUE && !signal) { [17:27:16.573] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.573] { [17:27:16.573] inherits <- base::inherits [17:27:16.573] invokeRestart <- base::invokeRestart [17:27:16.573] is.null <- base::is.null [17:27:16.573] muffled <- FALSE [17:27:16.573] if (inherits(cond, "message")) { [17:27:16.573] muffled <- grepl(pattern, "muffleMessage") [17:27:16.573] if (muffled) [17:27:16.573] invokeRestart("muffleMessage") [17:27:16.573] } [17:27:16.573] else if (inherits(cond, "warning")) { [17:27:16.573] muffled <- grepl(pattern, "muffleWarning") [17:27:16.573] if (muffled) [17:27:16.573] invokeRestart("muffleWarning") [17:27:16.573] } [17:27:16.573] else if (inherits(cond, "condition")) { [17:27:16.573] if (!is.null(pattern)) { [17:27:16.573] computeRestarts <- base::computeRestarts [17:27:16.573] grepl <- base::grepl [17:27:16.573] restarts <- computeRestarts(cond) [17:27:16.573] for (restart in restarts) { [17:27:16.573] name <- restart$name [17:27:16.573] if (is.null(name)) [17:27:16.573] next [17:27:16.573] if (!grepl(pattern, name)) [17:27:16.573] next [17:27:16.573] invokeRestart(restart) [17:27:16.573] muffled <- TRUE [17:27:16.573] break [17:27:16.573] } [17:27:16.573] } [17:27:16.573] } [17:27:16.573] invisible(muffled) [17:27:16.573] } [17:27:16.573] muffleCondition(cond, pattern = "^muffle") [17:27:16.573] } [17:27:16.573] } [17:27:16.573] else { [17:27:16.573] if (TRUE) { [17:27:16.573] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.573] { [17:27:16.573] inherits <- base::inherits [17:27:16.573] invokeRestart <- base::invokeRestart [17:27:16.573] is.null <- base::is.null [17:27:16.573] muffled <- FALSE [17:27:16.573] if (inherits(cond, "message")) { [17:27:16.573] muffled <- grepl(pattern, "muffleMessage") [17:27:16.573] if (muffled) [17:27:16.573] invokeRestart("muffleMessage") [17:27:16.573] } [17:27:16.573] else if (inherits(cond, "warning")) { [17:27:16.573] muffled <- grepl(pattern, "muffleWarning") [17:27:16.573] if (muffled) [17:27:16.573] invokeRestart("muffleWarning") [17:27:16.573] } [17:27:16.573] else if (inherits(cond, "condition")) { [17:27:16.573] if (!is.null(pattern)) { [17:27:16.573] computeRestarts <- base::computeRestarts [17:27:16.573] grepl <- base::grepl [17:27:16.573] restarts <- computeRestarts(cond) [17:27:16.573] for (restart in restarts) { [17:27:16.573] name <- restart$name [17:27:16.573] if (is.null(name)) [17:27:16.573] next [17:27:16.573] if (!grepl(pattern, name)) [17:27:16.573] next [17:27:16.573] invokeRestart(restart) [17:27:16.573] muffled <- TRUE [17:27:16.573] break [17:27:16.573] } [17:27:16.573] } [17:27:16.573] } [17:27:16.573] invisible(muffled) [17:27:16.573] } [17:27:16.573] muffleCondition(cond, pattern = "^muffle") [17:27:16.573] } [17:27:16.573] } [17:27:16.573] } [17:27:16.573] })) [17:27:16.573] }, error = function(ex) { [17:27:16.573] base::structure(base::list(value = NULL, visible = NULL, [17:27:16.573] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.573] ...future.rng), started = ...future.startTime, [17:27:16.573] finished = Sys.time(), session_uuid = NA_character_, [17:27:16.573] version = "1.8"), class = "FutureResult") [17:27:16.573] }, finally = { [17:27:16.573] if (!identical(...future.workdir, getwd())) [17:27:16.573] setwd(...future.workdir) [17:27:16.573] { [17:27:16.573] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:16.573] ...future.oldOptions$nwarnings <- NULL [17:27:16.573] } [17:27:16.573] base::options(...future.oldOptions) [17:27:16.573] if (.Platform$OS.type == "windows") { [17:27:16.573] old_names <- names(...future.oldEnvVars) [17:27:16.573] envs <- base::Sys.getenv() [17:27:16.573] names <- names(envs) [17:27:16.573] common <- intersect(names, old_names) [17:27:16.573] added <- setdiff(names, old_names) [17:27:16.573] removed <- setdiff(old_names, names) [17:27:16.573] changed <- common[...future.oldEnvVars[common] != [17:27:16.573] envs[common]] [17:27:16.573] NAMES <- toupper(changed) [17:27:16.573] args <- list() [17:27:16.573] for (kk in seq_along(NAMES)) { [17:27:16.573] name <- changed[[kk]] [17:27:16.573] NAME <- NAMES[[kk]] [17:27:16.573] if (name != NAME && is.element(NAME, old_names)) [17:27:16.573] next [17:27:16.573] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.573] } [17:27:16.573] NAMES <- toupper(added) [17:27:16.573] for (kk in seq_along(NAMES)) { [17:27:16.573] name <- added[[kk]] [17:27:16.573] NAME <- NAMES[[kk]] [17:27:16.573] if (name != NAME && is.element(NAME, old_names)) [17:27:16.573] next [17:27:16.573] args[[name]] <- "" [17:27:16.573] } [17:27:16.573] NAMES <- toupper(removed) [17:27:16.573] for (kk in seq_along(NAMES)) { [17:27:16.573] name <- removed[[kk]] [17:27:16.573] NAME <- NAMES[[kk]] [17:27:16.573] if (name != NAME && is.element(NAME, old_names)) [17:27:16.573] next [17:27:16.573] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.573] } [17:27:16.573] if (length(args) > 0) [17:27:16.573] base::do.call(base::Sys.setenv, args = args) [17:27:16.573] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:16.573] } [17:27:16.573] else { [17:27:16.573] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:16.573] } [17:27:16.573] { [17:27:16.573] if (base::length(...future.futureOptionsAdded) > [17:27:16.573] 0L) { [17:27:16.573] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:16.573] base::names(opts) <- ...future.futureOptionsAdded [17:27:16.573] base::options(opts) [17:27:16.573] } [17:27:16.573] { [17:27:16.573] { [17:27:16.573] NULL [17:27:16.573] RNGkind("Mersenne-Twister") [17:27:16.573] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:16.573] inherits = FALSE) [17:27:16.573] } [17:27:16.573] options(future.plan = NULL) [17:27:16.573] if (is.na(NA_character_)) [17:27:16.573] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.573] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:16.573] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:16.573] .init = FALSE) [17:27:16.573] } [17:27:16.573] } [17:27:16.573] } [17:27:16.573] }) [17:27:16.573] if (TRUE) { [17:27:16.573] base::sink(type = "output", split = FALSE) [17:27:16.573] if (TRUE) { [17:27:16.573] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:16.573] } [17:27:16.573] else { [17:27:16.573] ...future.result["stdout"] <- base::list(NULL) [17:27:16.573] } [17:27:16.573] base::close(...future.stdout) [17:27:16.573] ...future.stdout <- NULL [17:27:16.573] } [17:27:16.573] ...future.result$conditions <- ...future.conditions [17:27:16.573] ...future.result$finished <- base::Sys.time() [17:27:16.573] ...future.result [17:27:16.573] } [17:27:16.577] plan(): Setting new future strategy stack: [17:27:16.577] List of future strategies: [17:27:16.577] 1. sequential: [17:27:16.577] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.577] - tweaked: FALSE [17:27:16.577] - call: NULL [17:27:16.578] plan(): nbrOfWorkers() = 1 [17:27:16.579] plan(): Setting new future strategy stack: [17:27:16.579] List of future strategies: [17:27:16.579] 1. sequential: [17:27:16.579] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.579] - tweaked: FALSE [17:27:16.579] - call: future::plan("sequential") [17:27:16.580] plan(): nbrOfWorkers() = 1 [17:27:16.580] SequentialFuture started (and completed) [17:27:16.580] - Launch lazy future ... done [17:27:16.580] run() for 'SequentialFuture' ... done List of 2 $ main : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" $ workers: chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" *** multisession() and errors [17:27:16.583] getGlobalsAndPackages() ... [17:27:16.584] Searching for globals... [17:27:16.585] - globals found: [2] '{', 'stop' [17:27:16.585] Searching for globals ... DONE [17:27:16.585] Resolving globals: FALSE [17:27:16.585] [17:27:16.586] [17:27:16.586] getGlobalsAndPackages() ... DONE SequentialFuture: Label: '' Expression: { stop("Whoops!") 1 } Lazy evaluation: TRUE Asynchronous evaluation: FALSE Local evaluation: TRUE Environment: R_GlobalEnv Capture standard output: TRUE Capture condition classes: 'condition' (excluding 'nothing') Globals: Packages: L'Ecuyer-CMRG RNG seed: (seed = FALSE) Resolved: FALSE Value: Conditions captured: Early signaling: FALSE Owner process: d2a8edf5-8a7b-b5a7-7a6e-8ce02a91c005 Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:16.586] Packages needed by the future expression (n = 0): [17:27:16.587] Packages needed by future strategies (n = 0): [17:27:16.587] { [17:27:16.587] { [17:27:16.587] { [17:27:16.587] ...future.startTime <- base::Sys.time() [17:27:16.587] { [17:27:16.587] { [17:27:16.587] { [17:27:16.587] base::local({ [17:27:16.587] has_future <- base::requireNamespace("future", [17:27:16.587] quietly = TRUE) [17:27:16.587] if (has_future) { [17:27:16.587] ns <- base::getNamespace("future") [17:27:16.587] version <- ns[[".package"]][["version"]] [17:27:16.587] if (is.null(version)) [17:27:16.587] version <- utils::packageVersion("future") [17:27:16.587] } [17:27:16.587] else { [17:27:16.587] version <- NULL [17:27:16.587] } [17:27:16.587] if (!has_future || version < "1.8.0") { [17:27:16.587] info <- base::c(r_version = base::gsub("R version ", [17:27:16.587] "", base::R.version$version.string), [17:27:16.587] platform = base::sprintf("%s (%s-bit)", [17:27:16.587] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:16.587] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:16.587] "release", "version")], collapse = " "), [17:27:16.587] hostname = base::Sys.info()[["nodename"]]) [17:27:16.587] info <- base::sprintf("%s: %s", base::names(info), [17:27:16.587] info) [17:27:16.587] info <- base::paste(info, collapse = "; ") [17:27:16.587] if (!has_future) { [17:27:16.587] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:16.587] info) [17:27:16.587] } [17:27:16.587] else { [17:27:16.587] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:16.587] info, version) [17:27:16.587] } [17:27:16.587] base::stop(msg) [17:27:16.587] } [17:27:16.587] }) [17:27:16.587] } [17:27:16.587] ...future.strategy.old <- future::plan("list") [17:27:16.587] options(future.plan = NULL) [17:27:16.587] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.587] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:16.587] } [17:27:16.587] ...future.workdir <- getwd() [17:27:16.587] } [17:27:16.587] ...future.oldOptions <- base::as.list(base::.Options) [17:27:16.587] ...future.oldEnvVars <- base::Sys.getenv() [17:27:16.587] } [17:27:16.587] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:16.587] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:16.587] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:16.587] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:16.587] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:16.587] future.stdout.windows.reencode = NULL, width = 80L) [17:27:16.587] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:16.587] base::names(...future.oldOptions)) [17:27:16.587] } [17:27:16.587] if (FALSE) { [17:27:16.587] } [17:27:16.587] else { [17:27:16.587] if (TRUE) { [17:27:16.587] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:16.587] open = "w") [17:27:16.587] } [17:27:16.587] else { [17:27:16.587] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:16.587] windows = "NUL", "/dev/null"), open = "w") [17:27:16.587] } [17:27:16.587] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:16.587] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:16.587] base::sink(type = "output", split = FALSE) [17:27:16.587] base::close(...future.stdout) [17:27:16.587] }, add = TRUE) [17:27:16.587] } [17:27:16.587] ...future.frame <- base::sys.nframe() [17:27:16.587] ...future.conditions <- base::list() [17:27:16.587] ...future.rng <- base::globalenv()$.Random.seed [17:27:16.587] if (FALSE) { [17:27:16.587] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:16.587] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:16.587] } [17:27:16.587] ...future.result <- base::tryCatch({ [17:27:16.587] base::withCallingHandlers({ [17:27:16.587] ...future.value <- base::withVisible(base::local({ [17:27:16.587] stop("Whoops!") [17:27:16.587] 1 [17:27:16.587] })) [17:27:16.587] future::FutureResult(value = ...future.value$value, [17:27:16.587] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.587] ...future.rng), globalenv = if (FALSE) [17:27:16.587] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:16.587] ...future.globalenv.names)) [17:27:16.587] else NULL, started = ...future.startTime, version = "1.8") [17:27:16.587] }, condition = base::local({ [17:27:16.587] c <- base::c [17:27:16.587] inherits <- base::inherits [17:27:16.587] invokeRestart <- base::invokeRestart [17:27:16.587] length <- base::length [17:27:16.587] list <- base::list [17:27:16.587] seq.int <- base::seq.int [17:27:16.587] signalCondition <- base::signalCondition [17:27:16.587] sys.calls <- base::sys.calls [17:27:16.587] `[[` <- base::`[[` [17:27:16.587] `+` <- base::`+` [17:27:16.587] `<<-` <- base::`<<-` [17:27:16.587] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:16.587] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:16.587] 3L)] [17:27:16.587] } [17:27:16.587] function(cond) { [17:27:16.587] is_error <- inherits(cond, "error") [17:27:16.587] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:16.587] NULL) [17:27:16.587] if (is_error) { [17:27:16.587] sessionInformation <- function() { [17:27:16.587] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:16.587] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:16.587] search = base::search(), system = base::Sys.info()) [17:27:16.587] } [17:27:16.587] ...future.conditions[[length(...future.conditions) + [17:27:16.587] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:16.587] cond$call), session = sessionInformation(), [17:27:16.587] timestamp = base::Sys.time(), signaled = 0L) [17:27:16.587] signalCondition(cond) [17:27:16.587] } [17:27:16.587] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:16.587] "immediateCondition"))) { [17:27:16.587] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:16.587] ...future.conditions[[length(...future.conditions) + [17:27:16.587] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:16.587] if (TRUE && !signal) { [17:27:16.587] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.587] { [17:27:16.587] inherits <- base::inherits [17:27:16.587] invokeRestart <- base::invokeRestart [17:27:16.587] is.null <- base::is.null [17:27:16.587] muffled <- FALSE [17:27:16.587] if (inherits(cond, "message")) { [17:27:16.587] muffled <- grepl(pattern, "muffleMessage") [17:27:16.587] if (muffled) [17:27:16.587] invokeRestart("muffleMessage") [17:27:16.587] } [17:27:16.587] else if (inherits(cond, "warning")) { [17:27:16.587] muffled <- grepl(pattern, "muffleWarning") [17:27:16.587] if (muffled) [17:27:16.587] invokeRestart("muffleWarning") [17:27:16.587] } [17:27:16.587] else if (inherits(cond, "condition")) { [17:27:16.587] if (!is.null(pattern)) { [17:27:16.587] computeRestarts <- base::computeRestarts [17:27:16.587] grepl <- base::grepl [17:27:16.587] restarts <- computeRestarts(cond) [17:27:16.587] for (restart in restarts) { [17:27:16.587] name <- restart$name [17:27:16.587] if (is.null(name)) [17:27:16.587] next [17:27:16.587] if (!grepl(pattern, name)) [17:27:16.587] next [17:27:16.587] invokeRestart(restart) [17:27:16.587] muffled <- TRUE [17:27:16.587] break [17:27:16.587] } [17:27:16.587] } [17:27:16.587] } [17:27:16.587] invisible(muffled) [17:27:16.587] } [17:27:16.587] muffleCondition(cond, pattern = "^muffle") [17:27:16.587] } [17:27:16.587] } [17:27:16.587] else { [17:27:16.587] if (TRUE) { [17:27:16.587] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.587] { [17:27:16.587] inherits <- base::inherits [17:27:16.587] invokeRestart <- base::invokeRestart [17:27:16.587] is.null <- base::is.null [17:27:16.587] muffled <- FALSE [17:27:16.587] if (inherits(cond, "message")) { [17:27:16.587] muffled <- grepl(pattern, "muffleMessage") [17:27:16.587] if (muffled) [17:27:16.587] invokeRestart("muffleMessage") [17:27:16.587] } [17:27:16.587] else if (inherits(cond, "warning")) { [17:27:16.587] muffled <- grepl(pattern, "muffleWarning") [17:27:16.587] if (muffled) [17:27:16.587] invokeRestart("muffleWarning") [17:27:16.587] } [17:27:16.587] else if (inherits(cond, "condition")) { [17:27:16.587] if (!is.null(pattern)) { [17:27:16.587] computeRestarts <- base::computeRestarts [17:27:16.587] grepl <- base::grepl [17:27:16.587] restarts <- computeRestarts(cond) [17:27:16.587] for (restart in restarts) { [17:27:16.587] name <- restart$name [17:27:16.587] if (is.null(name)) [17:27:16.587] next [17:27:16.587] if (!grepl(pattern, name)) [17:27:16.587] next [17:27:16.587] invokeRestart(restart) [17:27:16.587] muffled <- TRUE [17:27:16.587] break [17:27:16.587] } [17:27:16.587] } [17:27:16.587] } [17:27:16.587] invisible(muffled) [17:27:16.587] } [17:27:16.587] muffleCondition(cond, pattern = "^muffle") [17:27:16.587] } [17:27:16.587] } [17:27:16.587] } [17:27:16.587] })) [17:27:16.587] }, error = function(ex) { [17:27:16.587] base::structure(base::list(value = NULL, visible = NULL, [17:27:16.587] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.587] ...future.rng), started = ...future.startTime, [17:27:16.587] finished = Sys.time(), session_uuid = NA_character_, [17:27:16.587] version = "1.8"), class = "FutureResult") [17:27:16.587] }, finally = { [17:27:16.587] if (!identical(...future.workdir, getwd())) [17:27:16.587] setwd(...future.workdir) [17:27:16.587] { [17:27:16.587] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:16.587] ...future.oldOptions$nwarnings <- NULL [17:27:16.587] } [17:27:16.587] base::options(...future.oldOptions) [17:27:16.587] if (.Platform$OS.type == "windows") { [17:27:16.587] old_names <- names(...future.oldEnvVars) [17:27:16.587] envs <- base::Sys.getenv() [17:27:16.587] names <- names(envs) [17:27:16.587] common <- intersect(names, old_names) [17:27:16.587] added <- setdiff(names, old_names) [17:27:16.587] removed <- setdiff(old_names, names) [17:27:16.587] changed <- common[...future.oldEnvVars[common] != [17:27:16.587] envs[common]] [17:27:16.587] NAMES <- toupper(changed) [17:27:16.587] args <- list() [17:27:16.587] for (kk in seq_along(NAMES)) { [17:27:16.587] name <- changed[[kk]] [17:27:16.587] NAME <- NAMES[[kk]] [17:27:16.587] if (name != NAME && is.element(NAME, old_names)) [17:27:16.587] next [17:27:16.587] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.587] } [17:27:16.587] NAMES <- toupper(added) [17:27:16.587] for (kk in seq_along(NAMES)) { [17:27:16.587] name <- added[[kk]] [17:27:16.587] NAME <- NAMES[[kk]] [17:27:16.587] if (name != NAME && is.element(NAME, old_names)) [17:27:16.587] next [17:27:16.587] args[[name]] <- "" [17:27:16.587] } [17:27:16.587] NAMES <- toupper(removed) [17:27:16.587] for (kk in seq_along(NAMES)) { [17:27:16.587] name <- removed[[kk]] [17:27:16.587] NAME <- NAMES[[kk]] [17:27:16.587] if (name != NAME && is.element(NAME, old_names)) [17:27:16.587] next [17:27:16.587] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.587] } [17:27:16.587] if (length(args) > 0) [17:27:16.587] base::do.call(base::Sys.setenv, args = args) [17:27:16.587] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:16.587] } [17:27:16.587] else { [17:27:16.587] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:16.587] } [17:27:16.587] { [17:27:16.587] if (base::length(...future.futureOptionsAdded) > [17:27:16.587] 0L) { [17:27:16.587] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:16.587] base::names(opts) <- ...future.futureOptionsAdded [17:27:16.587] base::options(opts) [17:27:16.587] } [17:27:16.587] { [17:27:16.587] { [17:27:16.587] NULL [17:27:16.587] RNGkind("Mersenne-Twister") [17:27:16.587] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:16.587] inherits = FALSE) [17:27:16.587] } [17:27:16.587] options(future.plan = NULL) [17:27:16.587] if (is.na(NA_character_)) [17:27:16.587] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.587] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:16.587] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:16.587] .init = FALSE) [17:27:16.587] } [17:27:16.587] } [17:27:16.587] } [17:27:16.587] }) [17:27:16.587] if (TRUE) { [17:27:16.587] base::sink(type = "output", split = FALSE) [17:27:16.587] if (TRUE) { [17:27:16.587] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:16.587] } [17:27:16.587] else { [17:27:16.587] ...future.result["stdout"] <- base::list(NULL) [17:27:16.587] } [17:27:16.587] base::close(...future.stdout) [17:27:16.587] ...future.stdout <- NULL [17:27:16.587] } [17:27:16.587] ...future.result$conditions <- ...future.conditions [17:27:16.587] ...future.result$finished <- base::Sys.time() [17:27:16.587] ...future.result [17:27:16.587] } [17:27:16.591] plan(): Setting new future strategy stack: [17:27:16.591] List of future strategies: [17:27:16.591] 1. sequential: [17:27:16.591] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.591] - tweaked: FALSE [17:27:16.591] - call: NULL [17:27:16.592] plan(): nbrOfWorkers() = 1 [17:27:16.593] plan(): Setting new future strategy stack: [17:27:16.593] List of future strategies: [17:27:16.593] 1. sequential: [17:27:16.593] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.593] - tweaked: FALSE [17:27:16.593] - call: future::plan("sequential") [17:27:16.594] plan(): nbrOfWorkers() = 1 [17:27:16.594] SequentialFuture started (and completed) [17:27:16.594] signalConditions() ... [17:27:16.595] - include = 'immediateCondition' [17:27:16.595] - exclude = [17:27:16.595] - resignal = FALSE [17:27:16.595] - Number of conditions: 1 [17:27:16.595] signalConditions() ... done [17:27:16.596] signalConditions() ... [17:27:16.596] - include = 'immediateCondition' [17:27:16.596] - exclude = [17:27:16.596] - resignal = FALSE [17:27:16.596] - Number of conditions: 1 [17:27:16.596] signalConditions() ... done [17:27:16.597] signalConditions() ... [17:27:16.597] - include = 'immediateCondition' [17:27:16.597] - exclude = [17:27:16.597] - resignal = FALSE [17:27:16.597] - Number of conditions: 1 [17:27:16.598] signalConditions() ... done [17:27:16.598] Future state: 'finished' [17:27:16.598] signalConditions() ... [17:27:16.598] - include = 'condition' [17:27:16.598] - exclude = 'immediateCondition' [17:27:16.598] - resignal = TRUE [17:27:16.599] - Number of conditions: 1 [17:27:16.599] - Condition #1: 'simpleError', 'error', 'condition' [17:27:16.599] signalConditions() ... done [1] "Error in eval(quote({ : Whoops!\n" attr(,"class") [1] "try-error" attr(,"condition") [17:27:16.599] signalConditions() ... [17:27:16.600] - include = 'immediateCondition' [17:27:16.600] - exclude = [17:27:16.600] - resignal = FALSE [17:27:16.600] - Number of conditions: 1 [17:27:16.600] signalConditions() ... done [17:27:16.601] Future state: 'finished' [17:27:16.601] signalConditions() ... [17:27:16.601] - include = 'condition' [17:27:16.601] - exclude = 'immediateCondition' [17:27:16.601] - resignal = TRUE [17:27:16.601] - Number of conditions: 1 [17:27:16.602] - Condition #1: 'simpleError', 'error', 'condition' [17:27:16.602] signalConditions() ... done [1] "Error in eval(quote({ : Whoops!\n" attr(,"class") [1] "try-error" attr(,"condition") [17:27:16.604] getGlobalsAndPackages() ... [17:27:16.604] Searching for globals... [17:27:16.607] - globals found: [5] '{', 'stop', 'structure', 'list', 'c' [17:27:16.607] Searching for globals ... DONE [17:27:16.607] Resolving globals: FALSE [17:27:16.608] [17:27:16.608] [17:27:16.608] getGlobalsAndPackages() ... DONE SequentialFuture: Label: '' Expression: { stop(structure(list(message = "boom"), class = c("MyError", "error", "condition"))) } Lazy evaluation: TRUE Asynchronous evaluation: FALSE Local evaluation: TRUE Environment: R_GlobalEnv Capture standard output: TRUE Capture condition classes: 'condition' (excluding 'nothing') Globals: Packages: L'Ecuyer-CMRG RNG seed: (seed = FALSE) Resolved: FALSE Value: Conditions captured: Early signaling: FALSE Owner process: d2a8edf5-8a7b-b5a7-7a6e-8ce02a91c005 Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:16.609] Packages needed by the future expression (n = 0): [17:27:16.609] Packages needed by future strategies (n = 0): [17:27:16.609] { [17:27:16.609] { [17:27:16.609] { [17:27:16.609] ...future.startTime <- base::Sys.time() [17:27:16.609] { [17:27:16.609] { [17:27:16.609] { [17:27:16.609] base::local({ [17:27:16.609] has_future <- base::requireNamespace("future", [17:27:16.609] quietly = TRUE) [17:27:16.609] if (has_future) { [17:27:16.609] ns <- base::getNamespace("future") [17:27:16.609] version <- ns[[".package"]][["version"]] [17:27:16.609] if (is.null(version)) [17:27:16.609] version <- utils::packageVersion("future") [17:27:16.609] } [17:27:16.609] else { [17:27:16.609] version <- NULL [17:27:16.609] } [17:27:16.609] if (!has_future || version < "1.8.0") { [17:27:16.609] info <- base::c(r_version = base::gsub("R version ", [17:27:16.609] "", base::R.version$version.string), [17:27:16.609] platform = base::sprintf("%s (%s-bit)", [17:27:16.609] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:16.609] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:16.609] "release", "version")], collapse = " "), [17:27:16.609] hostname = base::Sys.info()[["nodename"]]) [17:27:16.609] info <- base::sprintf("%s: %s", base::names(info), [17:27:16.609] info) [17:27:16.609] info <- base::paste(info, collapse = "; ") [17:27:16.609] if (!has_future) { [17:27:16.609] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:16.609] info) [17:27:16.609] } [17:27:16.609] else { [17:27:16.609] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:16.609] info, version) [17:27:16.609] } [17:27:16.609] base::stop(msg) [17:27:16.609] } [17:27:16.609] }) [17:27:16.609] } [17:27:16.609] ...future.strategy.old <- future::plan("list") [17:27:16.609] options(future.plan = NULL) [17:27:16.609] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.609] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:16.609] } [17:27:16.609] ...future.workdir <- getwd() [17:27:16.609] } [17:27:16.609] ...future.oldOptions <- base::as.list(base::.Options) [17:27:16.609] ...future.oldEnvVars <- base::Sys.getenv() [17:27:16.609] } [17:27:16.609] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:16.609] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:16.609] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:16.609] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:16.609] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:16.609] future.stdout.windows.reencode = NULL, width = 80L) [17:27:16.609] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:16.609] base::names(...future.oldOptions)) [17:27:16.609] } [17:27:16.609] if (FALSE) { [17:27:16.609] } [17:27:16.609] else { [17:27:16.609] if (TRUE) { [17:27:16.609] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:16.609] open = "w") [17:27:16.609] } [17:27:16.609] else { [17:27:16.609] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:16.609] windows = "NUL", "/dev/null"), open = "w") [17:27:16.609] } [17:27:16.609] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:16.609] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:16.609] base::sink(type = "output", split = FALSE) [17:27:16.609] base::close(...future.stdout) [17:27:16.609] }, add = TRUE) [17:27:16.609] } [17:27:16.609] ...future.frame <- base::sys.nframe() [17:27:16.609] ...future.conditions <- base::list() [17:27:16.609] ...future.rng <- base::globalenv()$.Random.seed [17:27:16.609] if (FALSE) { [17:27:16.609] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:16.609] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:16.609] } [17:27:16.609] ...future.result <- base::tryCatch({ [17:27:16.609] base::withCallingHandlers({ [17:27:16.609] ...future.value <- base::withVisible(base::local({ [17:27:16.609] stop(structure(list(message = "boom"), class = c("MyError", [17:27:16.609] "error", "condition"))) [17:27:16.609] })) [17:27:16.609] future::FutureResult(value = ...future.value$value, [17:27:16.609] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.609] ...future.rng), globalenv = if (FALSE) [17:27:16.609] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:16.609] ...future.globalenv.names)) [17:27:16.609] else NULL, started = ...future.startTime, version = "1.8") [17:27:16.609] }, condition = base::local({ [17:27:16.609] c <- base::c [17:27:16.609] inherits <- base::inherits [17:27:16.609] invokeRestart <- base::invokeRestart [17:27:16.609] length <- base::length [17:27:16.609] list <- base::list [17:27:16.609] seq.int <- base::seq.int [17:27:16.609] signalCondition <- base::signalCondition [17:27:16.609] sys.calls <- base::sys.calls [17:27:16.609] `[[` <- base::`[[` [17:27:16.609] `+` <- base::`+` [17:27:16.609] `<<-` <- base::`<<-` [17:27:16.609] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:16.609] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:16.609] 3L)] [17:27:16.609] } [17:27:16.609] function(cond) { [17:27:16.609] is_error <- inherits(cond, "error") [17:27:16.609] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:16.609] NULL) [17:27:16.609] if (is_error) { [17:27:16.609] sessionInformation <- function() { [17:27:16.609] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:16.609] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:16.609] search = base::search(), system = base::Sys.info()) [17:27:16.609] } [17:27:16.609] ...future.conditions[[length(...future.conditions) + [17:27:16.609] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:16.609] cond$call), session = sessionInformation(), [17:27:16.609] timestamp = base::Sys.time(), signaled = 0L) [17:27:16.609] signalCondition(cond) [17:27:16.609] } [17:27:16.609] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:16.609] "immediateCondition"))) { [17:27:16.609] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:16.609] ...future.conditions[[length(...future.conditions) + [17:27:16.609] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:16.609] if (TRUE && !signal) { [17:27:16.609] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.609] { [17:27:16.609] inherits <- base::inherits [17:27:16.609] invokeRestart <- base::invokeRestart [17:27:16.609] is.null <- base::is.null [17:27:16.609] muffled <- FALSE [17:27:16.609] if (inherits(cond, "message")) { [17:27:16.609] muffled <- grepl(pattern, "muffleMessage") [17:27:16.609] if (muffled) [17:27:16.609] invokeRestart("muffleMessage") [17:27:16.609] } [17:27:16.609] else if (inherits(cond, "warning")) { [17:27:16.609] muffled <- grepl(pattern, "muffleWarning") [17:27:16.609] if (muffled) [17:27:16.609] invokeRestart("muffleWarning") [17:27:16.609] } [17:27:16.609] else if (inherits(cond, "condition")) { [17:27:16.609] if (!is.null(pattern)) { [17:27:16.609] computeRestarts <- base::computeRestarts [17:27:16.609] grepl <- base::grepl [17:27:16.609] restarts <- computeRestarts(cond) [17:27:16.609] for (restart in restarts) { [17:27:16.609] name <- restart$name [17:27:16.609] if (is.null(name)) [17:27:16.609] next [17:27:16.609] if (!grepl(pattern, name)) [17:27:16.609] next [17:27:16.609] invokeRestart(restart) [17:27:16.609] muffled <- TRUE [17:27:16.609] break [17:27:16.609] } [17:27:16.609] } [17:27:16.609] } [17:27:16.609] invisible(muffled) [17:27:16.609] } [17:27:16.609] muffleCondition(cond, pattern = "^muffle") [17:27:16.609] } [17:27:16.609] } [17:27:16.609] else { [17:27:16.609] if (TRUE) { [17:27:16.609] muffleCondition <- function (cond, pattern = "^muffle") [17:27:16.609] { [17:27:16.609] inherits <- base::inherits [17:27:16.609] invokeRestart <- base::invokeRestart [17:27:16.609] is.null <- base::is.null [17:27:16.609] muffled <- FALSE [17:27:16.609] if (inherits(cond, "message")) { [17:27:16.609] muffled <- grepl(pattern, "muffleMessage") [17:27:16.609] if (muffled) [17:27:16.609] invokeRestart("muffleMessage") [17:27:16.609] } [17:27:16.609] else if (inherits(cond, "warning")) { [17:27:16.609] muffled <- grepl(pattern, "muffleWarning") [17:27:16.609] if (muffled) [17:27:16.609] invokeRestart("muffleWarning") [17:27:16.609] } [17:27:16.609] else if (inherits(cond, "condition")) { [17:27:16.609] if (!is.null(pattern)) { [17:27:16.609] computeRestarts <- base::computeRestarts [17:27:16.609] grepl <- base::grepl [17:27:16.609] restarts <- computeRestarts(cond) [17:27:16.609] for (restart in restarts) { [17:27:16.609] name <- restart$name [17:27:16.609] if (is.null(name)) [17:27:16.609] next [17:27:16.609] if (!grepl(pattern, name)) [17:27:16.609] next [17:27:16.609] invokeRestart(restart) [17:27:16.609] muffled <- TRUE [17:27:16.609] break [17:27:16.609] } [17:27:16.609] } [17:27:16.609] } [17:27:16.609] invisible(muffled) [17:27:16.609] } [17:27:16.609] muffleCondition(cond, pattern = "^muffle") [17:27:16.609] } [17:27:16.609] } [17:27:16.609] } [17:27:16.609] })) [17:27:16.609] }, error = function(ex) { [17:27:16.609] base::structure(base::list(value = NULL, visible = NULL, [17:27:16.609] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:16.609] ...future.rng), started = ...future.startTime, [17:27:16.609] finished = Sys.time(), session_uuid = NA_character_, [17:27:16.609] version = "1.8"), class = "FutureResult") [17:27:16.609] }, finally = { [17:27:16.609] if (!identical(...future.workdir, getwd())) [17:27:16.609] setwd(...future.workdir) [17:27:16.609] { [17:27:16.609] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:16.609] ...future.oldOptions$nwarnings <- NULL [17:27:16.609] } [17:27:16.609] base::options(...future.oldOptions) [17:27:16.609] if (.Platform$OS.type == "windows") { [17:27:16.609] old_names <- names(...future.oldEnvVars) [17:27:16.609] envs <- base::Sys.getenv() [17:27:16.609] names <- names(envs) [17:27:16.609] common <- intersect(names, old_names) [17:27:16.609] added <- setdiff(names, old_names) [17:27:16.609] removed <- setdiff(old_names, names) [17:27:16.609] changed <- common[...future.oldEnvVars[common] != [17:27:16.609] envs[common]] [17:27:16.609] NAMES <- toupper(changed) [17:27:16.609] args <- list() [17:27:16.609] for (kk in seq_along(NAMES)) { [17:27:16.609] name <- changed[[kk]] [17:27:16.609] NAME <- NAMES[[kk]] [17:27:16.609] if (name != NAME && is.element(NAME, old_names)) [17:27:16.609] next [17:27:16.609] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.609] } [17:27:16.609] NAMES <- toupper(added) [17:27:16.609] for (kk in seq_along(NAMES)) { [17:27:16.609] name <- added[[kk]] [17:27:16.609] NAME <- NAMES[[kk]] [17:27:16.609] if (name != NAME && is.element(NAME, old_names)) [17:27:16.609] next [17:27:16.609] args[[name]] <- "" [17:27:16.609] } [17:27:16.609] NAMES <- toupper(removed) [17:27:16.609] for (kk in seq_along(NAMES)) { [17:27:16.609] name <- removed[[kk]] [17:27:16.609] NAME <- NAMES[[kk]] [17:27:16.609] if (name != NAME && is.element(NAME, old_names)) [17:27:16.609] next [17:27:16.609] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:16.609] } [17:27:16.609] if (length(args) > 0) [17:27:16.609] base::do.call(base::Sys.setenv, args = args) [17:27:16.609] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:16.609] } [17:27:16.609] else { [17:27:16.609] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:16.609] } [17:27:16.609] { [17:27:16.609] if (base::length(...future.futureOptionsAdded) > [17:27:16.609] 0L) { [17:27:16.609] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:16.609] base::names(opts) <- ...future.futureOptionsAdded [17:27:16.609] base::options(opts) [17:27:16.609] } [17:27:16.609] { [17:27:16.609] { [17:27:16.609] NULL [17:27:16.609] RNGkind("Mersenne-Twister") [17:27:16.609] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:16.609] inherits = FALSE) [17:27:16.609] } [17:27:16.609] options(future.plan = NULL) [17:27:16.609] if (is.na(NA_character_)) [17:27:16.609] Sys.unsetenv("R_FUTURE_PLAN") [17:27:16.609] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:16.609] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:16.609] .init = FALSE) [17:27:16.609] } [17:27:16.609] } [17:27:16.609] } [17:27:16.609] }) [17:27:16.609] if (TRUE) { [17:27:16.609] base::sink(type = "output", split = FALSE) [17:27:16.609] if (TRUE) { [17:27:16.609] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:16.609] } [17:27:16.609] else { [17:27:16.609] ...future.result["stdout"] <- base::list(NULL) [17:27:16.609] } [17:27:16.609] base::close(...future.stdout) [17:27:16.609] ...future.stdout <- NULL [17:27:16.609] } [17:27:16.609] ...future.result$conditions <- ...future.conditions [17:27:16.609] ...future.result$finished <- base::Sys.time() [17:27:16.609] ...future.result [17:27:16.609] } [17:27:16.613] plan(): Setting new future strategy stack: [17:27:16.613] List of future strategies: [17:27:16.613] 1. sequential: [17:27:16.613] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.613] - tweaked: FALSE [17:27:16.613] - call: NULL [17:27:16.614] plan(): nbrOfWorkers() = 1 [17:27:16.615] plan(): Setting new future strategy stack: [17:27:16.616] List of future strategies: [17:27:16.616] 1. sequential: [17:27:16.616] - args: function (..., envir = parent.frame(), workers = "") [17:27:16.616] - tweaked: FALSE [17:27:16.616] - call: future::plan("sequential") [17:27:16.616] plan(): nbrOfWorkers() = 1 [17:27:16.617] SequentialFuture started (and completed) [17:27:16.617] signalConditions() ... [17:27:16.617] - include = 'immediateCondition' [17:27:16.617] - exclude = [17:27:16.617] - resignal = FALSE [17:27:16.617] - Number of conditions: 1 [17:27:16.618] signalConditions() ... done [17:27:16.618] signalConditions() ... [17:27:16.618] - include = 'immediateCondition' [17:27:16.618] - exclude = [17:27:16.618] - resignal = FALSE [17:27:16.618] - Number of conditions: 1 [17:27:16.619] signalConditions() ... done [17:27:16.619] signalConditions() ... [17:27:16.619] - include = 'immediateCondition' [17:27:16.619] - exclude = [17:27:16.619] - resignal = FALSE [17:27:16.619] - Number of conditions: 1 [17:27:16.620] signalConditions() ... done [17:27:16.620] Future state: 'finished' [17:27:16.620] signalConditions() ... [17:27:16.620] - include = 'condition' [17:27:16.620] - exclude = 'immediateCondition' [17:27:16.621] - resignal = TRUE [17:27:16.621] - Number of conditions: 1 [17:27:16.621] - Condition #1: 'MyError', 'error', 'condition' [17:27:16.621] signalConditions() ... done Testing with 1 cores ... DONE Testing with 2 cores ... [17:27:16.625] getGlobalsAndPackages() ... [17:27:16.625] [17:27:16.625] - globals: [0] [17:27:16.626] getGlobalsAndPackages() ... DONE [17:27:16.626] [local output] makeClusterPSOCK() ... [17:27:16.658] [local output] Workers: [n = 2] 'localhost', 'localhost' [17:27:16.665] [local output] Base port: 23973 [17:27:16.665] [local output] Getting setup options for 2 cluster nodes ... [17:27:16.665] [local output] - Node 1 of 2 ... [17:27:16.665] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:16.667] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpAPtkyj/worker.rank=1.parallelly.parent=56932.de647bab7340.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/RtmpAPtkyj/worker.rank=1.parallelly.parent=56932.de647bab7340.pid\")"' [17:27:16.995] - Possible to infer worker's PID: TRUE [17:27:16.995] [local output] Rscript port: 23973 [17:27:16.996] [local output] - Node 2 of 2 ... [17:27:16.996] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:16.998] [local output] Rscript port: 23973 [17:27:16.998] [local output] Getting setup options for 2 cluster nodes ... done [17:27:16.998] [local output] - Parallel setup requested for some PSOCK nodes [17:27:16.999] [local output] Setting up PSOCK nodes in parallel [17:27:16.999] List of 36 [17:27:16.999] $ worker : chr "localhost" [17:27:16.999] ..- attr(*, "localhost")= logi TRUE [17:27:16.999] $ master : chr "localhost" [17:27:16.999] $ port : int 23973 [17:27:16.999] $ connectTimeout : num 120 [17:27:16.999] $ timeout : num 120 [17:27:16.999] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [17:27:16.999] $ homogeneous : logi TRUE [17:27:16.999] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=multisession.R:56932:CRANWIN3:CR"| __truncated__ [17:27:16.999] $ rscript_envs : NULL [17:27:16.999] $ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:16.999] $ rscript_startup : NULL [17:27:16.999] $ rscript_sh : chr "cmd" [17:27:16.999] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:16.999] $ methods : logi TRUE [17:27:16.999] $ socketOptions : chr "no-delay" [17:27:16.999] $ useXDR : logi FALSE [17:27:16.999] $ outfile : chr "/dev/null" [17:27:16.999] $ renice : int NA [17:27:16.999] $ rshcmd : NULL [17:27:16.999] $ user : chr(0) [17:27:16.999] $ revtunnel : logi FALSE [17:27:16.999] $ rshlogfile : NULL [17:27:16.999] $ rshopts : chr(0) [17:27:16.999] $ rank : int 1 [17:27:16.999] $ manual : logi FALSE [17:27:16.999] $ dryrun : logi FALSE [17:27:16.999] $ quiet : logi FALSE [17:27:16.999] $ setup_strategy : chr "parallel" [17:27:16.999] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:16.999] $ pidfile : chr "D:/temp/RtmpAPtkyj/worker.rank=1.parallelly.parent=56932.de647bab7340.pid" [17:27:16.999] $ rshcmd_label : NULL [17:27:16.999] $ rsh_call : NULL [17:27:16.999] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:16.999] $ localMachine : logi TRUE [17:27:16.999] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [17:27:16.999] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [17:27:16.999] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [17:27:16.999] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [17:27:16.999] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [17:27:16.999] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [17:27:16.999] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [17:27:16.999] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [17:27:16.999] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [17:27:16.999] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [17:27:16.999] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [17:27:16.999] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [17:27:16.999] "parallel"), action = c("launch", "options"), verbose = FALSE) [17:27:16.999] $ arguments :List of 28 [17:27:16.999] ..$ worker : chr "localhost" [17:27:16.999] ..$ master : NULL [17:27:16.999] ..$ port : int 23973 [17:27:16.999] ..$ connectTimeout : num 120 [17:27:16.999] ..$ timeout : num 120 [17:27:16.999] ..$ rscript : NULL [17:27:16.999] ..$ homogeneous : NULL [17:27:16.999] ..$ rscript_args : NULL [17:27:16.999] ..$ rscript_envs : NULL [17:27:16.999] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:16.999] ..$ rscript_startup : NULL [17:27:16.999] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [17:27:16.999] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:16.999] ..$ methods : logi TRUE [17:27:16.999] ..$ socketOptions : chr "no-delay" [17:27:16.999] ..$ useXDR : logi FALSE [17:27:16.999] ..$ outfile : chr "/dev/null" [17:27:16.999] ..$ renice : int NA [17:27:16.999] ..$ rshcmd : NULL [17:27:16.999] ..$ user : NULL [17:27:16.999] ..$ revtunnel : logi NA [17:27:16.999] ..$ rshlogfile : NULL [17:27:16.999] ..$ rshopts : NULL [17:27:16.999] ..$ rank : int 1 [17:27:16.999] ..$ manual : logi FALSE [17:27:16.999] ..$ dryrun : logi FALSE [17:27:16.999] ..$ quiet : logi FALSE [17:27:16.999] ..$ setup_strategy : chr "parallel" [17:27:16.999] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [17:27:17.021] [local output] System call to launch all workers: [17:27:17.021] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=multisession.R:56932:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpAPtkyj/worker.rank=1.parallelly.parent=56932.de647bab7340.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=23973 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [17:27:17.021] [local output] Starting PSOCK main server [17:27:17.027] [local output] Workers launched [17:27:17.028] [local output] Waiting for workers to connect back [17:27:17.028] - [local output] 0 workers out of 2 ready [17:27:17.189] - [local output] 0 workers out of 2 ready [17:27:17.189] - [local output] 1 workers out of 2 ready [17:27:17.190] - [local output] 1 workers out of 2 ready [17:27:17.190] - [local output] 2 workers out of 2 ready [17:27:17.191] [local output] Launching of workers completed [17:27:17.191] [local output] Collecting session information from workers [17:27:17.192] [local output] - Worker #1 of 2 [17:27:17.193] [local output] - Worker #2 of 2 [17:27:17.193] [local output] makeClusterPSOCK() ... done [17:27:17.206] Packages needed by the future expression (n = 0): [17:27:17.206] Packages needed by future strategies (n = 0): [17:27:17.206] { [17:27:17.206] { [17:27:17.206] { [17:27:17.206] ...future.startTime <- base::Sys.time() [17:27:17.206] { [17:27:17.206] { [17:27:17.206] { [17:27:17.206] { [17:27:17.206] base::local({ [17:27:17.206] has_future <- base::requireNamespace("future", [17:27:17.206] quietly = TRUE) [17:27:17.206] if (has_future) { [17:27:17.206] ns <- base::getNamespace("future") [17:27:17.206] version <- ns[[".package"]][["version"]] [17:27:17.206] if (is.null(version)) [17:27:17.206] version <- utils::packageVersion("future") [17:27:17.206] } [17:27:17.206] else { [17:27:17.206] version <- NULL [17:27:17.206] } [17:27:17.206] if (!has_future || version < "1.8.0") { [17:27:17.206] info <- base::c(r_version = base::gsub("R version ", [17:27:17.206] "", base::R.version$version.string), [17:27:17.206] platform = base::sprintf("%s (%s-bit)", [17:27:17.206] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:17.206] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:17.206] "release", "version")], collapse = " "), [17:27:17.206] hostname = base::Sys.info()[["nodename"]]) [17:27:17.206] info <- base::sprintf("%s: %s", base::names(info), [17:27:17.206] info) [17:27:17.206] info <- base::paste(info, collapse = "; ") [17:27:17.206] if (!has_future) { [17:27:17.206] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:17.206] info) [17:27:17.206] } [17:27:17.206] else { [17:27:17.206] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:17.206] info, version) [17:27:17.206] } [17:27:17.206] base::stop(msg) [17:27:17.206] } [17:27:17.206] }) [17:27:17.206] } [17:27:17.206] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:17.206] base::options(mc.cores = 1L) [17:27:17.206] } [17:27:17.206] ...future.strategy.old <- future::plan("list") [17:27:17.206] options(future.plan = NULL) [17:27:17.206] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.206] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:17.206] } [17:27:17.206] ...future.workdir <- getwd() [17:27:17.206] } [17:27:17.206] ...future.oldOptions <- base::as.list(base::.Options) [17:27:17.206] ...future.oldEnvVars <- base::Sys.getenv() [17:27:17.206] } [17:27:17.206] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:17.206] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:17.206] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:17.206] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:17.206] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:17.206] future.stdout.windows.reencode = NULL, width = 80L) [17:27:17.206] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:17.206] base::names(...future.oldOptions)) [17:27:17.206] } [17:27:17.206] if (FALSE) { [17:27:17.206] } [17:27:17.206] else { [17:27:17.206] if (TRUE) { [17:27:17.206] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:17.206] open = "w") [17:27:17.206] } [17:27:17.206] else { [17:27:17.206] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:17.206] windows = "NUL", "/dev/null"), open = "w") [17:27:17.206] } [17:27:17.206] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:17.206] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:17.206] base::sink(type = "output", split = FALSE) [17:27:17.206] base::close(...future.stdout) [17:27:17.206] }, add = TRUE) [17:27:17.206] } [17:27:17.206] ...future.frame <- base::sys.nframe() [17:27:17.206] ...future.conditions <- base::list() [17:27:17.206] ...future.rng <- base::globalenv()$.Random.seed [17:27:17.206] if (FALSE) { [17:27:17.206] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:17.206] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:17.206] } [17:27:17.206] ...future.result <- base::tryCatch({ [17:27:17.206] base::withCallingHandlers({ [17:27:17.206] ...future.value <- base::withVisible(base::local({ [17:27:17.206] ...future.makeSendCondition <- base::local({ [17:27:17.206] sendCondition <- NULL [17:27:17.206] function(frame = 1L) { [17:27:17.206] if (is.function(sendCondition)) [17:27:17.206] return(sendCondition) [17:27:17.206] ns <- getNamespace("parallel") [17:27:17.206] if (exists("sendData", mode = "function", [17:27:17.206] envir = ns)) { [17:27:17.206] parallel_sendData <- get("sendData", mode = "function", [17:27:17.206] envir = ns) [17:27:17.206] envir <- sys.frame(frame) [17:27:17.206] master <- NULL [17:27:17.206] while (!identical(envir, .GlobalEnv) && [17:27:17.206] !identical(envir, emptyenv())) { [17:27:17.206] if (exists("master", mode = "list", envir = envir, [17:27:17.206] inherits = FALSE)) { [17:27:17.206] master <- get("master", mode = "list", [17:27:17.206] envir = envir, inherits = FALSE) [17:27:17.206] if (inherits(master, c("SOCKnode", [17:27:17.206] "SOCK0node"))) { [17:27:17.206] sendCondition <<- function(cond) { [17:27:17.206] data <- list(type = "VALUE", value = cond, [17:27:17.206] success = TRUE) [17:27:17.206] parallel_sendData(master, data) [17:27:17.206] } [17:27:17.206] return(sendCondition) [17:27:17.206] } [17:27:17.206] } [17:27:17.206] frame <- frame + 1L [17:27:17.206] envir <- sys.frame(frame) [17:27:17.206] } [17:27:17.206] } [17:27:17.206] sendCondition <<- function(cond) NULL [17:27:17.206] } [17:27:17.206] }) [17:27:17.206] withCallingHandlers({ [17:27:17.206] { [17:27:17.206] 42L [17:27:17.206] } [17:27:17.206] }, immediateCondition = function(cond) { [17:27:17.206] sendCondition <- ...future.makeSendCondition() [17:27:17.206] sendCondition(cond) [17:27:17.206] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.206] { [17:27:17.206] inherits <- base::inherits [17:27:17.206] invokeRestart <- base::invokeRestart [17:27:17.206] is.null <- base::is.null [17:27:17.206] muffled <- FALSE [17:27:17.206] if (inherits(cond, "message")) { [17:27:17.206] muffled <- grepl(pattern, "muffleMessage") [17:27:17.206] if (muffled) [17:27:17.206] invokeRestart("muffleMessage") [17:27:17.206] } [17:27:17.206] else if (inherits(cond, "warning")) { [17:27:17.206] muffled <- grepl(pattern, "muffleWarning") [17:27:17.206] if (muffled) [17:27:17.206] invokeRestart("muffleWarning") [17:27:17.206] } [17:27:17.206] else if (inherits(cond, "condition")) { [17:27:17.206] if (!is.null(pattern)) { [17:27:17.206] computeRestarts <- base::computeRestarts [17:27:17.206] grepl <- base::grepl [17:27:17.206] restarts <- computeRestarts(cond) [17:27:17.206] for (restart in restarts) { [17:27:17.206] name <- restart$name [17:27:17.206] if (is.null(name)) [17:27:17.206] next [17:27:17.206] if (!grepl(pattern, name)) [17:27:17.206] next [17:27:17.206] invokeRestart(restart) [17:27:17.206] muffled <- TRUE [17:27:17.206] break [17:27:17.206] } [17:27:17.206] } [17:27:17.206] } [17:27:17.206] invisible(muffled) [17:27:17.206] } [17:27:17.206] muffleCondition(cond) [17:27:17.206] }) [17:27:17.206] })) [17:27:17.206] future::FutureResult(value = ...future.value$value, [17:27:17.206] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.206] ...future.rng), globalenv = if (FALSE) [17:27:17.206] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:17.206] ...future.globalenv.names)) [17:27:17.206] else NULL, started = ...future.startTime, version = "1.8") [17:27:17.206] }, condition = base::local({ [17:27:17.206] c <- base::c [17:27:17.206] inherits <- base::inherits [17:27:17.206] invokeRestart <- base::invokeRestart [17:27:17.206] length <- base::length [17:27:17.206] list <- base::list [17:27:17.206] seq.int <- base::seq.int [17:27:17.206] signalCondition <- base::signalCondition [17:27:17.206] sys.calls <- base::sys.calls [17:27:17.206] `[[` <- base::`[[` [17:27:17.206] `+` <- base::`+` [17:27:17.206] `<<-` <- base::`<<-` [17:27:17.206] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:17.206] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:17.206] 3L)] [17:27:17.206] } [17:27:17.206] function(cond) { [17:27:17.206] is_error <- inherits(cond, "error") [17:27:17.206] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:17.206] NULL) [17:27:17.206] if (is_error) { [17:27:17.206] sessionInformation <- function() { [17:27:17.206] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:17.206] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:17.206] search = base::search(), system = base::Sys.info()) [17:27:17.206] } [17:27:17.206] ...future.conditions[[length(...future.conditions) + [17:27:17.206] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:17.206] cond$call), session = sessionInformation(), [17:27:17.206] timestamp = base::Sys.time(), signaled = 0L) [17:27:17.206] signalCondition(cond) [17:27:17.206] } [17:27:17.206] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:17.206] "immediateCondition"))) { [17:27:17.206] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:17.206] ...future.conditions[[length(...future.conditions) + [17:27:17.206] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:17.206] if (TRUE && !signal) { [17:27:17.206] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.206] { [17:27:17.206] inherits <- base::inherits [17:27:17.206] invokeRestart <- base::invokeRestart [17:27:17.206] is.null <- base::is.null [17:27:17.206] muffled <- FALSE [17:27:17.206] if (inherits(cond, "message")) { [17:27:17.206] muffled <- grepl(pattern, "muffleMessage") [17:27:17.206] if (muffled) [17:27:17.206] invokeRestart("muffleMessage") [17:27:17.206] } [17:27:17.206] else if (inherits(cond, "warning")) { [17:27:17.206] muffled <- grepl(pattern, "muffleWarning") [17:27:17.206] if (muffled) [17:27:17.206] invokeRestart("muffleWarning") [17:27:17.206] } [17:27:17.206] else if (inherits(cond, "condition")) { [17:27:17.206] if (!is.null(pattern)) { [17:27:17.206] computeRestarts <- base::computeRestarts [17:27:17.206] grepl <- base::grepl [17:27:17.206] restarts <- computeRestarts(cond) [17:27:17.206] for (restart in restarts) { [17:27:17.206] name <- restart$name [17:27:17.206] if (is.null(name)) [17:27:17.206] next [17:27:17.206] if (!grepl(pattern, name)) [17:27:17.206] next [17:27:17.206] invokeRestart(restart) [17:27:17.206] muffled <- TRUE [17:27:17.206] break [17:27:17.206] } [17:27:17.206] } [17:27:17.206] } [17:27:17.206] invisible(muffled) [17:27:17.206] } [17:27:17.206] muffleCondition(cond, pattern = "^muffle") [17:27:17.206] } [17:27:17.206] } [17:27:17.206] else { [17:27:17.206] if (TRUE) { [17:27:17.206] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.206] { [17:27:17.206] inherits <- base::inherits [17:27:17.206] invokeRestart <- base::invokeRestart [17:27:17.206] is.null <- base::is.null [17:27:17.206] muffled <- FALSE [17:27:17.206] if (inherits(cond, "message")) { [17:27:17.206] muffled <- grepl(pattern, "muffleMessage") [17:27:17.206] if (muffled) [17:27:17.206] invokeRestart("muffleMessage") [17:27:17.206] } [17:27:17.206] else if (inherits(cond, "warning")) { [17:27:17.206] muffled <- grepl(pattern, "muffleWarning") [17:27:17.206] if (muffled) [17:27:17.206] invokeRestart("muffleWarning") [17:27:17.206] } [17:27:17.206] else if (inherits(cond, "condition")) { [17:27:17.206] if (!is.null(pattern)) { [17:27:17.206] computeRestarts <- base::computeRestarts [17:27:17.206] grepl <- base::grepl [17:27:17.206] restarts <- computeRestarts(cond) [17:27:17.206] for (restart in restarts) { [17:27:17.206] name <- restart$name [17:27:17.206] if (is.null(name)) [17:27:17.206] next [17:27:17.206] if (!grepl(pattern, name)) [17:27:17.206] next [17:27:17.206] invokeRestart(restart) [17:27:17.206] muffled <- TRUE [17:27:17.206] break [17:27:17.206] } [17:27:17.206] } [17:27:17.206] } [17:27:17.206] invisible(muffled) [17:27:17.206] } [17:27:17.206] muffleCondition(cond, pattern = "^muffle") [17:27:17.206] } [17:27:17.206] } [17:27:17.206] } [17:27:17.206] })) [17:27:17.206] }, error = function(ex) { [17:27:17.206] base::structure(base::list(value = NULL, visible = NULL, [17:27:17.206] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.206] ...future.rng), started = ...future.startTime, [17:27:17.206] finished = Sys.time(), session_uuid = NA_character_, [17:27:17.206] version = "1.8"), class = "FutureResult") [17:27:17.206] }, finally = { [17:27:17.206] if (!identical(...future.workdir, getwd())) [17:27:17.206] setwd(...future.workdir) [17:27:17.206] { [17:27:17.206] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:17.206] ...future.oldOptions$nwarnings <- NULL [17:27:17.206] } [17:27:17.206] base::options(...future.oldOptions) [17:27:17.206] if (.Platform$OS.type == "windows") { [17:27:17.206] old_names <- names(...future.oldEnvVars) [17:27:17.206] envs <- base::Sys.getenv() [17:27:17.206] names <- names(envs) [17:27:17.206] common <- intersect(names, old_names) [17:27:17.206] added <- setdiff(names, old_names) [17:27:17.206] removed <- setdiff(old_names, names) [17:27:17.206] changed <- common[...future.oldEnvVars[common] != [17:27:17.206] envs[common]] [17:27:17.206] NAMES <- toupper(changed) [17:27:17.206] args <- list() [17:27:17.206] for (kk in seq_along(NAMES)) { [17:27:17.206] name <- changed[[kk]] [17:27:17.206] NAME <- NAMES[[kk]] [17:27:17.206] if (name != NAME && is.element(NAME, old_names)) [17:27:17.206] next [17:27:17.206] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.206] } [17:27:17.206] NAMES <- toupper(added) [17:27:17.206] for (kk in seq_along(NAMES)) { [17:27:17.206] name <- added[[kk]] [17:27:17.206] NAME <- NAMES[[kk]] [17:27:17.206] if (name != NAME && is.element(NAME, old_names)) [17:27:17.206] next [17:27:17.206] args[[name]] <- "" [17:27:17.206] } [17:27:17.206] NAMES <- toupper(removed) [17:27:17.206] for (kk in seq_along(NAMES)) { [17:27:17.206] name <- removed[[kk]] [17:27:17.206] NAME <- NAMES[[kk]] [17:27:17.206] if (name != NAME && is.element(NAME, old_names)) [17:27:17.206] next [17:27:17.206] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.206] } [17:27:17.206] if (length(args) > 0) [17:27:17.206] base::do.call(base::Sys.setenv, args = args) [17:27:17.206] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:17.206] } [17:27:17.206] else { [17:27:17.206] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:17.206] } [17:27:17.206] { [17:27:17.206] if (base::length(...future.futureOptionsAdded) > [17:27:17.206] 0L) { [17:27:17.206] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:17.206] base::names(opts) <- ...future.futureOptionsAdded [17:27:17.206] base::options(opts) [17:27:17.206] } [17:27:17.206] { [17:27:17.206] { [17:27:17.206] base::options(mc.cores = ...future.mc.cores.old) [17:27:17.206] NULL [17:27:17.206] } [17:27:17.206] options(future.plan = NULL) [17:27:17.206] if (is.na(NA_character_)) [17:27:17.206] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.206] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:17.206] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:17.206] .init = FALSE) [17:27:17.206] } [17:27:17.206] } [17:27:17.206] } [17:27:17.206] }) [17:27:17.206] if (TRUE) { [17:27:17.206] base::sink(type = "output", split = FALSE) [17:27:17.206] if (TRUE) { [17:27:17.206] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:17.206] } [17:27:17.206] else { [17:27:17.206] ...future.result["stdout"] <- base::list(NULL) [17:27:17.206] } [17:27:17.206] base::close(...future.stdout) [17:27:17.206] ...future.stdout <- NULL [17:27:17.206] } [17:27:17.206] ...future.result$conditions <- ...future.conditions [17:27:17.206] ...future.result$finished <- base::Sys.time() [17:27:17.206] ...future.result [17:27:17.206] } [17:27:17.290] MultisessionFuture started MultisessionFuture: Label: '' Expression: { 42L } Lazy evaluation: FALSE Asynchronous evaluation: TRUE Local evaluation: TRUE Environment: R_GlobalEnv Capture standard output: TRUE Capture condition classes: 'condition' (excluding 'nothing') Globals: Packages: L'Ecuyer-CMRG RNG seed: (seed = FALSE) [17:27:17.342] receiveMessageFromWorker() for ClusterFuture ... [17:27:17.343] - Validating connection of MultisessionFuture [17:27:17.343] - received message: FutureResult [17:27:17.343] - Received FutureResult [17:27:17.347] - Erased future from FutureRegistry [17:27:17.347] result() for ClusterFuture ... [17:27:17.347] - result already collected: FutureResult [17:27:17.347] result() for ClusterFuture ... done [17:27:17.348] receiveMessageFromWorker() for ClusterFuture ... done Resolved: TRUE Value: Conditions captured: Early signaling: FALSE Owner process: d2a8edf5-8a7b-b5a7-7a6e-8ce02a91c005 Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [1] TRUE [17:27:17.348] result() for ClusterFuture ... [17:27:17.348] - result already collected: FutureResult [17:27:17.348] result() for ClusterFuture ... done [17:27:17.348] result() for ClusterFuture ... [17:27:17.349] - result already collected: FutureResult [17:27:17.349] result() for ClusterFuture ... done [1] 42 [17:27:17.351] getGlobalsAndPackages() ... [17:27:17.352] Searching for globals... [17:27:17.355] - globals found: [4] '{', '<-', '*', 'a' [17:27:17.355] Searching for globals ... DONE [17:27:17.355] Resolving globals: FALSE [17:27:17.356] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:17.357] The total size of the 1 globals exported for future expression ('{; b <- 3; c <- 2; a * b * c; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (56 bytes of class 'numeric') [17:27:17.357] - globals: [1] 'a' [17:27:17.357] [17:27:17.357] getGlobalsAndPackages() ... DONE [17:27:17.370] Packages needed by the future expression (n = 0): [17:27:17.370] Packages needed by future strategies (n = 0): [17:27:17.370] { [17:27:17.370] { [17:27:17.370] { [17:27:17.370] ...future.startTime <- base::Sys.time() [17:27:17.370] { [17:27:17.370] { [17:27:17.370] { [17:27:17.370] { [17:27:17.370] base::local({ [17:27:17.370] has_future <- base::requireNamespace("future", [17:27:17.370] quietly = TRUE) [17:27:17.370] if (has_future) { [17:27:17.370] ns <- base::getNamespace("future") [17:27:17.370] version <- ns[[".package"]][["version"]] [17:27:17.370] if (is.null(version)) [17:27:17.370] version <- utils::packageVersion("future") [17:27:17.370] } [17:27:17.370] else { [17:27:17.370] version <- NULL [17:27:17.370] } [17:27:17.370] if (!has_future || version < "1.8.0") { [17:27:17.370] info <- base::c(r_version = base::gsub("R version ", [17:27:17.370] "", base::R.version$version.string), [17:27:17.370] platform = base::sprintf("%s (%s-bit)", [17:27:17.370] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:17.370] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:17.370] "release", "version")], collapse = " "), [17:27:17.370] hostname = base::Sys.info()[["nodename"]]) [17:27:17.370] info <- base::sprintf("%s: %s", base::names(info), [17:27:17.370] info) [17:27:17.370] info <- base::paste(info, collapse = "; ") [17:27:17.370] if (!has_future) { [17:27:17.370] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:17.370] info) [17:27:17.370] } [17:27:17.370] else { [17:27:17.370] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:17.370] info, version) [17:27:17.370] } [17:27:17.370] base::stop(msg) [17:27:17.370] } [17:27:17.370] }) [17:27:17.370] } [17:27:17.370] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:17.370] base::options(mc.cores = 1L) [17:27:17.370] } [17:27:17.370] ...future.strategy.old <- future::plan("list") [17:27:17.370] options(future.plan = NULL) [17:27:17.370] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.370] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:17.370] } [17:27:17.370] ...future.workdir <- getwd() [17:27:17.370] } [17:27:17.370] ...future.oldOptions <- base::as.list(base::.Options) [17:27:17.370] ...future.oldEnvVars <- base::Sys.getenv() [17:27:17.370] } [17:27:17.370] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:17.370] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:17.370] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:17.370] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:17.370] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:17.370] future.stdout.windows.reencode = NULL, width = 80L) [17:27:17.370] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:17.370] base::names(...future.oldOptions)) [17:27:17.370] } [17:27:17.370] if (FALSE) { [17:27:17.370] } [17:27:17.370] else { [17:27:17.370] if (TRUE) { [17:27:17.370] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:17.370] open = "w") [17:27:17.370] } [17:27:17.370] else { [17:27:17.370] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:17.370] windows = "NUL", "/dev/null"), open = "w") [17:27:17.370] } [17:27:17.370] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:17.370] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:17.370] base::sink(type = "output", split = FALSE) [17:27:17.370] base::close(...future.stdout) [17:27:17.370] }, add = TRUE) [17:27:17.370] } [17:27:17.370] ...future.frame <- base::sys.nframe() [17:27:17.370] ...future.conditions <- base::list() [17:27:17.370] ...future.rng <- base::globalenv()$.Random.seed [17:27:17.370] if (FALSE) { [17:27:17.370] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:17.370] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:17.370] } [17:27:17.370] ...future.result <- base::tryCatch({ [17:27:17.370] base::withCallingHandlers({ [17:27:17.370] ...future.value <- base::withVisible(base::local({ [17:27:17.370] ...future.makeSendCondition <- base::local({ [17:27:17.370] sendCondition <- NULL [17:27:17.370] function(frame = 1L) { [17:27:17.370] if (is.function(sendCondition)) [17:27:17.370] return(sendCondition) [17:27:17.370] ns <- getNamespace("parallel") [17:27:17.370] if (exists("sendData", mode = "function", [17:27:17.370] envir = ns)) { [17:27:17.370] parallel_sendData <- get("sendData", mode = "function", [17:27:17.370] envir = ns) [17:27:17.370] envir <- sys.frame(frame) [17:27:17.370] master <- NULL [17:27:17.370] while (!identical(envir, .GlobalEnv) && [17:27:17.370] !identical(envir, emptyenv())) { [17:27:17.370] if (exists("master", mode = "list", envir = envir, [17:27:17.370] inherits = FALSE)) { [17:27:17.370] master <- get("master", mode = "list", [17:27:17.370] envir = envir, inherits = FALSE) [17:27:17.370] if (inherits(master, c("SOCKnode", [17:27:17.370] "SOCK0node"))) { [17:27:17.370] sendCondition <<- function(cond) { [17:27:17.370] data <- list(type = "VALUE", value = cond, [17:27:17.370] success = TRUE) [17:27:17.370] parallel_sendData(master, data) [17:27:17.370] } [17:27:17.370] return(sendCondition) [17:27:17.370] } [17:27:17.370] } [17:27:17.370] frame <- frame + 1L [17:27:17.370] envir <- sys.frame(frame) [17:27:17.370] } [17:27:17.370] } [17:27:17.370] sendCondition <<- function(cond) NULL [17:27:17.370] } [17:27:17.370] }) [17:27:17.370] withCallingHandlers({ [17:27:17.370] { [17:27:17.370] b <- 3 [17:27:17.370] c <- 2 [17:27:17.370] a * b * c [17:27:17.370] } [17:27:17.370] }, immediateCondition = function(cond) { [17:27:17.370] sendCondition <- ...future.makeSendCondition() [17:27:17.370] sendCondition(cond) [17:27:17.370] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.370] { [17:27:17.370] inherits <- base::inherits [17:27:17.370] invokeRestart <- base::invokeRestart [17:27:17.370] is.null <- base::is.null [17:27:17.370] muffled <- FALSE [17:27:17.370] if (inherits(cond, "message")) { [17:27:17.370] muffled <- grepl(pattern, "muffleMessage") [17:27:17.370] if (muffled) [17:27:17.370] invokeRestart("muffleMessage") [17:27:17.370] } [17:27:17.370] else if (inherits(cond, "warning")) { [17:27:17.370] muffled <- grepl(pattern, "muffleWarning") [17:27:17.370] if (muffled) [17:27:17.370] invokeRestart("muffleWarning") [17:27:17.370] } [17:27:17.370] else if (inherits(cond, "condition")) { [17:27:17.370] if (!is.null(pattern)) { [17:27:17.370] computeRestarts <- base::computeRestarts [17:27:17.370] grepl <- base::grepl [17:27:17.370] restarts <- computeRestarts(cond) [17:27:17.370] for (restart in restarts) { [17:27:17.370] name <- restart$name [17:27:17.370] if (is.null(name)) [17:27:17.370] next [17:27:17.370] if (!grepl(pattern, name)) [17:27:17.370] next [17:27:17.370] invokeRestart(restart) [17:27:17.370] muffled <- TRUE [17:27:17.370] break [17:27:17.370] } [17:27:17.370] } [17:27:17.370] } [17:27:17.370] invisible(muffled) [17:27:17.370] } [17:27:17.370] muffleCondition(cond) [17:27:17.370] }) [17:27:17.370] })) [17:27:17.370] future::FutureResult(value = ...future.value$value, [17:27:17.370] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.370] ...future.rng), globalenv = if (FALSE) [17:27:17.370] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:17.370] ...future.globalenv.names)) [17:27:17.370] else NULL, started = ...future.startTime, version = "1.8") [17:27:17.370] }, condition = base::local({ [17:27:17.370] c <- base::c [17:27:17.370] inherits <- base::inherits [17:27:17.370] invokeRestart <- base::invokeRestart [17:27:17.370] length <- base::length [17:27:17.370] list <- base::list [17:27:17.370] seq.int <- base::seq.int [17:27:17.370] signalCondition <- base::signalCondition [17:27:17.370] sys.calls <- base::sys.calls [17:27:17.370] `[[` <- base::`[[` [17:27:17.370] `+` <- base::`+` [17:27:17.370] `<<-` <- base::`<<-` [17:27:17.370] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:17.370] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:17.370] 3L)] [17:27:17.370] } [17:27:17.370] function(cond) { [17:27:17.370] is_error <- inherits(cond, "error") [17:27:17.370] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:17.370] NULL) [17:27:17.370] if (is_error) { [17:27:17.370] sessionInformation <- function() { [17:27:17.370] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:17.370] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:17.370] search = base::search(), system = base::Sys.info()) [17:27:17.370] } [17:27:17.370] ...future.conditions[[length(...future.conditions) + [17:27:17.370] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:17.370] cond$call), session = sessionInformation(), [17:27:17.370] timestamp = base::Sys.time(), signaled = 0L) [17:27:17.370] signalCondition(cond) [17:27:17.370] } [17:27:17.370] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:17.370] "immediateCondition"))) { [17:27:17.370] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:17.370] ...future.conditions[[length(...future.conditions) + [17:27:17.370] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:17.370] if (TRUE && !signal) { [17:27:17.370] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.370] { [17:27:17.370] inherits <- base::inherits [17:27:17.370] invokeRestart <- base::invokeRestart [17:27:17.370] is.null <- base::is.null [17:27:17.370] muffled <- FALSE [17:27:17.370] if (inherits(cond, "message")) { [17:27:17.370] muffled <- grepl(pattern, "muffleMessage") [17:27:17.370] if (muffled) [17:27:17.370] invokeRestart("muffleMessage") [17:27:17.370] } [17:27:17.370] else if (inherits(cond, "warning")) { [17:27:17.370] muffled <- grepl(pattern, "muffleWarning") [17:27:17.370] if (muffled) [17:27:17.370] invokeRestart("muffleWarning") [17:27:17.370] } [17:27:17.370] else if (inherits(cond, "condition")) { [17:27:17.370] if (!is.null(pattern)) { [17:27:17.370] computeRestarts <- base::computeRestarts [17:27:17.370] grepl <- base::grepl [17:27:17.370] restarts <- computeRestarts(cond) [17:27:17.370] for (restart in restarts) { [17:27:17.370] name <- restart$name [17:27:17.370] if (is.null(name)) [17:27:17.370] next [17:27:17.370] if (!grepl(pattern, name)) [17:27:17.370] next [17:27:17.370] invokeRestart(restart) [17:27:17.370] muffled <- TRUE [17:27:17.370] break [17:27:17.370] } [17:27:17.370] } [17:27:17.370] } [17:27:17.370] invisible(muffled) [17:27:17.370] } [17:27:17.370] muffleCondition(cond, pattern = "^muffle") [17:27:17.370] } [17:27:17.370] } [17:27:17.370] else { [17:27:17.370] if (TRUE) { [17:27:17.370] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.370] { [17:27:17.370] inherits <- base::inherits [17:27:17.370] invokeRestart <- base::invokeRestart [17:27:17.370] is.null <- base::is.null [17:27:17.370] muffled <- FALSE [17:27:17.370] if (inherits(cond, "message")) { [17:27:17.370] muffled <- grepl(pattern, "muffleMessage") [17:27:17.370] if (muffled) [17:27:17.370] invokeRestart("muffleMessage") [17:27:17.370] } [17:27:17.370] else if (inherits(cond, "warning")) { [17:27:17.370] muffled <- grepl(pattern, "muffleWarning") [17:27:17.370] if (muffled) [17:27:17.370] invokeRestart("muffleWarning") [17:27:17.370] } [17:27:17.370] else if (inherits(cond, "condition")) { [17:27:17.370] if (!is.null(pattern)) { [17:27:17.370] computeRestarts <- base::computeRestarts [17:27:17.370] grepl <- base::grepl [17:27:17.370] restarts <- computeRestarts(cond) [17:27:17.370] for (restart in restarts) { [17:27:17.370] name <- restart$name [17:27:17.370] if (is.null(name)) [17:27:17.370] next [17:27:17.370] if (!grepl(pattern, name)) [17:27:17.370] next [17:27:17.370] invokeRestart(restart) [17:27:17.370] muffled <- TRUE [17:27:17.370] break [17:27:17.370] } [17:27:17.370] } [17:27:17.370] } [17:27:17.370] invisible(muffled) [17:27:17.370] } [17:27:17.370] muffleCondition(cond, pattern = "^muffle") [17:27:17.370] } [17:27:17.370] } [17:27:17.370] } [17:27:17.370] })) [17:27:17.370] }, error = function(ex) { [17:27:17.370] base::structure(base::list(value = NULL, visible = NULL, [17:27:17.370] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.370] ...future.rng), started = ...future.startTime, [17:27:17.370] finished = Sys.time(), session_uuid = NA_character_, [17:27:17.370] version = "1.8"), class = "FutureResult") [17:27:17.370] }, finally = { [17:27:17.370] if (!identical(...future.workdir, getwd())) [17:27:17.370] setwd(...future.workdir) [17:27:17.370] { [17:27:17.370] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:17.370] ...future.oldOptions$nwarnings <- NULL [17:27:17.370] } [17:27:17.370] base::options(...future.oldOptions) [17:27:17.370] if (.Platform$OS.type == "windows") { [17:27:17.370] old_names <- names(...future.oldEnvVars) [17:27:17.370] envs <- base::Sys.getenv() [17:27:17.370] names <- names(envs) [17:27:17.370] common <- intersect(names, old_names) [17:27:17.370] added <- setdiff(names, old_names) [17:27:17.370] removed <- setdiff(old_names, names) [17:27:17.370] changed <- common[...future.oldEnvVars[common] != [17:27:17.370] envs[common]] [17:27:17.370] NAMES <- toupper(changed) [17:27:17.370] args <- list() [17:27:17.370] for (kk in seq_along(NAMES)) { [17:27:17.370] name <- changed[[kk]] [17:27:17.370] NAME <- NAMES[[kk]] [17:27:17.370] if (name != NAME && is.element(NAME, old_names)) [17:27:17.370] next [17:27:17.370] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.370] } [17:27:17.370] NAMES <- toupper(added) [17:27:17.370] for (kk in seq_along(NAMES)) { [17:27:17.370] name <- added[[kk]] [17:27:17.370] NAME <- NAMES[[kk]] [17:27:17.370] if (name != NAME && is.element(NAME, old_names)) [17:27:17.370] next [17:27:17.370] args[[name]] <- "" [17:27:17.370] } [17:27:17.370] NAMES <- toupper(removed) [17:27:17.370] for (kk in seq_along(NAMES)) { [17:27:17.370] name <- removed[[kk]] [17:27:17.370] NAME <- NAMES[[kk]] [17:27:17.370] if (name != NAME && is.element(NAME, old_names)) [17:27:17.370] next [17:27:17.370] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.370] } [17:27:17.370] if (length(args) > 0) [17:27:17.370] base::do.call(base::Sys.setenv, args = args) [17:27:17.370] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:17.370] } [17:27:17.370] else { [17:27:17.370] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:17.370] } [17:27:17.370] { [17:27:17.370] if (base::length(...future.futureOptionsAdded) > [17:27:17.370] 0L) { [17:27:17.370] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:17.370] base::names(opts) <- ...future.futureOptionsAdded [17:27:17.370] base::options(opts) [17:27:17.370] } [17:27:17.370] { [17:27:17.370] { [17:27:17.370] base::options(mc.cores = ...future.mc.cores.old) [17:27:17.370] NULL [17:27:17.370] } [17:27:17.370] options(future.plan = NULL) [17:27:17.370] if (is.na(NA_character_)) [17:27:17.370] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.370] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:17.370] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:17.370] .init = FALSE) [17:27:17.370] } [17:27:17.370] } [17:27:17.370] } [17:27:17.370] }) [17:27:17.370] if (TRUE) { [17:27:17.370] base::sink(type = "output", split = FALSE) [17:27:17.370] if (TRUE) { [17:27:17.370] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:17.370] } [17:27:17.370] else { [17:27:17.370] ...future.result["stdout"] <- base::list(NULL) [17:27:17.370] } [17:27:17.370] base::close(...future.stdout) [17:27:17.370] ...future.stdout <- NULL [17:27:17.370] } [17:27:17.370] ...future.result$conditions <- ...future.conditions [17:27:17.370] ...future.result$finished <- base::Sys.time() [17:27:17.370] ...future.result [17:27:17.370] } [17:27:17.376] Exporting 1 global objects (56 bytes) to cluster node #1 ... [17:27:17.376] Exporting 'a' (56 bytes) to cluster node #1 ... [17:27:17.377] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [17:27:17.377] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [17:27:17.378] MultisessionFuture started MultisessionFuture: Label: '' Expression: { b <- 3 c <- 2 a * b * c } Lazy evaluation: FALSE Asynchronous evaluation: TRUE Local evaluation: TRUE Environment: R_GlobalEnv Capture standard output: TRUE Capture condition classes: 'condition' (excluding 'nothing') Globals: 1 objects totaling 56 bytes (numeric 'a' of 56 bytes) Packages: L'Ecuyer-CMRG RNG seed: (seed = FALSE) [17:27:17.393] receiveMessageFromWorker() for ClusterFuture ... [17:27:17.393] - Validating connection of MultisessionFuture [17:27:17.393] - received message: FutureResult [17:27:17.394] - Received FutureResult [17:27:17.394] - Erased future from FutureRegistry [17:27:17.394] result() for ClusterFuture ... [17:27:17.394] - result already collected: FutureResult [17:27:17.394] result() for ClusterFuture ... done [17:27:17.395] receiveMessageFromWorker() for ClusterFuture ... done Resolved: TRUE Value: Conditions captured: Early signaling: FALSE Owner process: d2a8edf5-8a7b-b5a7-7a6e-8ce02a91c005 Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:17.395] result() for ClusterFuture ... [17:27:17.395] - result already collected: FutureResult [17:27:17.395] result() for ClusterFuture ... done [17:27:17.395] result() for ClusterFuture ... [17:27:17.396] - result already collected: FutureResult [17:27:17.396] result() for ClusterFuture ... done [1] 0 *** multisession() with globals and blocking - Creating multisession future #2 ... [17:27:17.398] getGlobalsAndPackages() ... [17:27:17.399] Searching for globals... [17:27:17.400] - globals found: [2] '{', 'ii' [17:27:17.400] Searching for globals ... DONE [17:27:17.400] Resolving globals: FALSE [17:27:17.401] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:17.401] The total size of the 1 globals exported for future expression ('{; ii; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:17.401] - globals: [1] 'ii' [17:27:17.402] [17:27:17.402] getGlobalsAndPackages() ... DONE [17:27:17.414] Packages needed by the future expression (n = 0): [17:27:17.414] Packages needed by future strategies (n = 0): [17:27:17.414] { [17:27:17.414] { [17:27:17.414] { [17:27:17.414] ...future.startTime <- base::Sys.time() [17:27:17.414] { [17:27:17.414] { [17:27:17.414] { [17:27:17.414] { [17:27:17.414] base::local({ [17:27:17.414] has_future <- base::requireNamespace("future", [17:27:17.414] quietly = TRUE) [17:27:17.414] if (has_future) { [17:27:17.414] ns <- base::getNamespace("future") [17:27:17.414] version <- ns[[".package"]][["version"]] [17:27:17.414] if (is.null(version)) [17:27:17.414] version <- utils::packageVersion("future") [17:27:17.414] } [17:27:17.414] else { [17:27:17.414] version <- NULL [17:27:17.414] } [17:27:17.414] if (!has_future || version < "1.8.0") { [17:27:17.414] info <- base::c(r_version = base::gsub("R version ", [17:27:17.414] "", base::R.version$version.string), [17:27:17.414] platform = base::sprintf("%s (%s-bit)", [17:27:17.414] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:17.414] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:17.414] "release", "version")], collapse = " "), [17:27:17.414] hostname = base::Sys.info()[["nodename"]]) [17:27:17.414] info <- base::sprintf("%s: %s", base::names(info), [17:27:17.414] info) [17:27:17.414] info <- base::paste(info, collapse = "; ") [17:27:17.414] if (!has_future) { [17:27:17.414] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:17.414] info) [17:27:17.414] } [17:27:17.414] else { [17:27:17.414] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:17.414] info, version) [17:27:17.414] } [17:27:17.414] base::stop(msg) [17:27:17.414] } [17:27:17.414] }) [17:27:17.414] } [17:27:17.414] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:17.414] base::options(mc.cores = 1L) [17:27:17.414] } [17:27:17.414] ...future.strategy.old <- future::plan("list") [17:27:17.414] options(future.plan = NULL) [17:27:17.414] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.414] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:17.414] } [17:27:17.414] ...future.workdir <- getwd() [17:27:17.414] } [17:27:17.414] ...future.oldOptions <- base::as.list(base::.Options) [17:27:17.414] ...future.oldEnvVars <- base::Sys.getenv() [17:27:17.414] } [17:27:17.414] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:17.414] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:17.414] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:17.414] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:17.414] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:17.414] future.stdout.windows.reencode = NULL, width = 80L) [17:27:17.414] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:17.414] base::names(...future.oldOptions)) [17:27:17.414] } [17:27:17.414] if (FALSE) { [17:27:17.414] } [17:27:17.414] else { [17:27:17.414] if (TRUE) { [17:27:17.414] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:17.414] open = "w") [17:27:17.414] } [17:27:17.414] else { [17:27:17.414] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:17.414] windows = "NUL", "/dev/null"), open = "w") [17:27:17.414] } [17:27:17.414] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:17.414] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:17.414] base::sink(type = "output", split = FALSE) [17:27:17.414] base::close(...future.stdout) [17:27:17.414] }, add = TRUE) [17:27:17.414] } [17:27:17.414] ...future.frame <- base::sys.nframe() [17:27:17.414] ...future.conditions <- base::list() [17:27:17.414] ...future.rng <- base::globalenv()$.Random.seed [17:27:17.414] if (FALSE) { [17:27:17.414] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:17.414] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:17.414] } [17:27:17.414] ...future.result <- base::tryCatch({ [17:27:17.414] base::withCallingHandlers({ [17:27:17.414] ...future.value <- base::withVisible(base::local({ [17:27:17.414] ...future.makeSendCondition <- base::local({ [17:27:17.414] sendCondition <- NULL [17:27:17.414] function(frame = 1L) { [17:27:17.414] if (is.function(sendCondition)) [17:27:17.414] return(sendCondition) [17:27:17.414] ns <- getNamespace("parallel") [17:27:17.414] if (exists("sendData", mode = "function", [17:27:17.414] envir = ns)) { [17:27:17.414] parallel_sendData <- get("sendData", mode = "function", [17:27:17.414] envir = ns) [17:27:17.414] envir <- sys.frame(frame) [17:27:17.414] master <- NULL [17:27:17.414] while (!identical(envir, .GlobalEnv) && [17:27:17.414] !identical(envir, emptyenv())) { [17:27:17.414] if (exists("master", mode = "list", envir = envir, [17:27:17.414] inherits = FALSE)) { [17:27:17.414] master <- get("master", mode = "list", [17:27:17.414] envir = envir, inherits = FALSE) [17:27:17.414] if (inherits(master, c("SOCKnode", [17:27:17.414] "SOCK0node"))) { [17:27:17.414] sendCondition <<- function(cond) { [17:27:17.414] data <- list(type = "VALUE", value = cond, [17:27:17.414] success = TRUE) [17:27:17.414] parallel_sendData(master, data) [17:27:17.414] } [17:27:17.414] return(sendCondition) [17:27:17.414] } [17:27:17.414] } [17:27:17.414] frame <- frame + 1L [17:27:17.414] envir <- sys.frame(frame) [17:27:17.414] } [17:27:17.414] } [17:27:17.414] sendCondition <<- function(cond) NULL [17:27:17.414] } [17:27:17.414] }) [17:27:17.414] withCallingHandlers({ [17:27:17.414] { [17:27:17.414] ii [17:27:17.414] } [17:27:17.414] }, immediateCondition = function(cond) { [17:27:17.414] sendCondition <- ...future.makeSendCondition() [17:27:17.414] sendCondition(cond) [17:27:17.414] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.414] { [17:27:17.414] inherits <- base::inherits [17:27:17.414] invokeRestart <- base::invokeRestart [17:27:17.414] is.null <- base::is.null [17:27:17.414] muffled <- FALSE [17:27:17.414] if (inherits(cond, "message")) { [17:27:17.414] muffled <- grepl(pattern, "muffleMessage") [17:27:17.414] if (muffled) [17:27:17.414] invokeRestart("muffleMessage") [17:27:17.414] } [17:27:17.414] else if (inherits(cond, "warning")) { [17:27:17.414] muffled <- grepl(pattern, "muffleWarning") [17:27:17.414] if (muffled) [17:27:17.414] invokeRestart("muffleWarning") [17:27:17.414] } [17:27:17.414] else if (inherits(cond, "condition")) { [17:27:17.414] if (!is.null(pattern)) { [17:27:17.414] computeRestarts <- base::computeRestarts [17:27:17.414] grepl <- base::grepl [17:27:17.414] restarts <- computeRestarts(cond) [17:27:17.414] for (restart in restarts) { [17:27:17.414] name <- restart$name [17:27:17.414] if (is.null(name)) [17:27:17.414] next [17:27:17.414] if (!grepl(pattern, name)) [17:27:17.414] next [17:27:17.414] invokeRestart(restart) [17:27:17.414] muffled <- TRUE [17:27:17.414] break [17:27:17.414] } [17:27:17.414] } [17:27:17.414] } [17:27:17.414] invisible(muffled) [17:27:17.414] } [17:27:17.414] muffleCondition(cond) [17:27:17.414] }) [17:27:17.414] })) [17:27:17.414] future::FutureResult(value = ...future.value$value, [17:27:17.414] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.414] ...future.rng), globalenv = if (FALSE) [17:27:17.414] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:17.414] ...future.globalenv.names)) [17:27:17.414] else NULL, started = ...future.startTime, version = "1.8") [17:27:17.414] }, condition = base::local({ [17:27:17.414] c <- base::c [17:27:17.414] inherits <- base::inherits [17:27:17.414] invokeRestart <- base::invokeRestart [17:27:17.414] length <- base::length [17:27:17.414] list <- base::list [17:27:17.414] seq.int <- base::seq.int [17:27:17.414] signalCondition <- base::signalCondition [17:27:17.414] sys.calls <- base::sys.calls [17:27:17.414] `[[` <- base::`[[` [17:27:17.414] `+` <- base::`+` [17:27:17.414] `<<-` <- base::`<<-` [17:27:17.414] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:17.414] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:17.414] 3L)] [17:27:17.414] } [17:27:17.414] function(cond) { [17:27:17.414] is_error <- inherits(cond, "error") [17:27:17.414] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:17.414] NULL) [17:27:17.414] if (is_error) { [17:27:17.414] sessionInformation <- function() { [17:27:17.414] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:17.414] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:17.414] search = base::search(), system = base::Sys.info()) [17:27:17.414] } [17:27:17.414] ...future.conditions[[length(...future.conditions) + [17:27:17.414] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:17.414] cond$call), session = sessionInformation(), [17:27:17.414] timestamp = base::Sys.time(), signaled = 0L) [17:27:17.414] signalCondition(cond) [17:27:17.414] } [17:27:17.414] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:17.414] "immediateCondition"))) { [17:27:17.414] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:17.414] ...future.conditions[[length(...future.conditions) + [17:27:17.414] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:17.414] if (TRUE && !signal) { [17:27:17.414] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.414] { [17:27:17.414] inherits <- base::inherits [17:27:17.414] invokeRestart <- base::invokeRestart [17:27:17.414] is.null <- base::is.null [17:27:17.414] muffled <- FALSE [17:27:17.414] if (inherits(cond, "message")) { [17:27:17.414] muffled <- grepl(pattern, "muffleMessage") [17:27:17.414] if (muffled) [17:27:17.414] invokeRestart("muffleMessage") [17:27:17.414] } [17:27:17.414] else if (inherits(cond, "warning")) { [17:27:17.414] muffled <- grepl(pattern, "muffleWarning") [17:27:17.414] if (muffled) [17:27:17.414] invokeRestart("muffleWarning") [17:27:17.414] } [17:27:17.414] else if (inherits(cond, "condition")) { [17:27:17.414] if (!is.null(pattern)) { [17:27:17.414] computeRestarts <- base::computeRestarts [17:27:17.414] grepl <- base::grepl [17:27:17.414] restarts <- computeRestarts(cond) [17:27:17.414] for (restart in restarts) { [17:27:17.414] name <- restart$name [17:27:17.414] if (is.null(name)) [17:27:17.414] next [17:27:17.414] if (!grepl(pattern, name)) [17:27:17.414] next [17:27:17.414] invokeRestart(restart) [17:27:17.414] muffled <- TRUE [17:27:17.414] break [17:27:17.414] } [17:27:17.414] } [17:27:17.414] } [17:27:17.414] invisible(muffled) [17:27:17.414] } [17:27:17.414] muffleCondition(cond, pattern = "^muffle") [17:27:17.414] } [17:27:17.414] } [17:27:17.414] else { [17:27:17.414] if (TRUE) { [17:27:17.414] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.414] { [17:27:17.414] inherits <- base::inherits [17:27:17.414] invokeRestart <- base::invokeRestart [17:27:17.414] is.null <- base::is.null [17:27:17.414] muffled <- FALSE [17:27:17.414] if (inherits(cond, "message")) { [17:27:17.414] muffled <- grepl(pattern, "muffleMessage") [17:27:17.414] if (muffled) [17:27:17.414] invokeRestart("muffleMessage") [17:27:17.414] } [17:27:17.414] else if (inherits(cond, "warning")) { [17:27:17.414] muffled <- grepl(pattern, "muffleWarning") [17:27:17.414] if (muffled) [17:27:17.414] invokeRestart("muffleWarning") [17:27:17.414] } [17:27:17.414] else if (inherits(cond, "condition")) { [17:27:17.414] if (!is.null(pattern)) { [17:27:17.414] computeRestarts <- base::computeRestarts [17:27:17.414] grepl <- base::grepl [17:27:17.414] restarts <- computeRestarts(cond) [17:27:17.414] for (restart in restarts) { [17:27:17.414] name <- restart$name [17:27:17.414] if (is.null(name)) [17:27:17.414] next [17:27:17.414] if (!grepl(pattern, name)) [17:27:17.414] next [17:27:17.414] invokeRestart(restart) [17:27:17.414] muffled <- TRUE [17:27:17.414] break [17:27:17.414] } [17:27:17.414] } [17:27:17.414] } [17:27:17.414] invisible(muffled) [17:27:17.414] } [17:27:17.414] muffleCondition(cond, pattern = "^muffle") [17:27:17.414] } [17:27:17.414] } [17:27:17.414] } [17:27:17.414] })) [17:27:17.414] }, error = function(ex) { [17:27:17.414] base::structure(base::list(value = NULL, visible = NULL, [17:27:17.414] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.414] ...future.rng), started = ...future.startTime, [17:27:17.414] finished = Sys.time(), session_uuid = NA_character_, [17:27:17.414] version = "1.8"), class = "FutureResult") [17:27:17.414] }, finally = { [17:27:17.414] if (!identical(...future.workdir, getwd())) [17:27:17.414] setwd(...future.workdir) [17:27:17.414] { [17:27:17.414] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:17.414] ...future.oldOptions$nwarnings <- NULL [17:27:17.414] } [17:27:17.414] base::options(...future.oldOptions) [17:27:17.414] if (.Platform$OS.type == "windows") { [17:27:17.414] old_names <- names(...future.oldEnvVars) [17:27:17.414] envs <- base::Sys.getenv() [17:27:17.414] names <- names(envs) [17:27:17.414] common <- intersect(names, old_names) [17:27:17.414] added <- setdiff(names, old_names) [17:27:17.414] removed <- setdiff(old_names, names) [17:27:17.414] changed <- common[...future.oldEnvVars[common] != [17:27:17.414] envs[common]] [17:27:17.414] NAMES <- toupper(changed) [17:27:17.414] args <- list() [17:27:17.414] for (kk in seq_along(NAMES)) { [17:27:17.414] name <- changed[[kk]] [17:27:17.414] NAME <- NAMES[[kk]] [17:27:17.414] if (name != NAME && is.element(NAME, old_names)) [17:27:17.414] next [17:27:17.414] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.414] } [17:27:17.414] NAMES <- toupper(added) [17:27:17.414] for (kk in seq_along(NAMES)) { [17:27:17.414] name <- added[[kk]] [17:27:17.414] NAME <- NAMES[[kk]] [17:27:17.414] if (name != NAME && is.element(NAME, old_names)) [17:27:17.414] next [17:27:17.414] args[[name]] <- "" [17:27:17.414] } [17:27:17.414] NAMES <- toupper(removed) [17:27:17.414] for (kk in seq_along(NAMES)) { [17:27:17.414] name <- removed[[kk]] [17:27:17.414] NAME <- NAMES[[kk]] [17:27:17.414] if (name != NAME && is.element(NAME, old_names)) [17:27:17.414] next [17:27:17.414] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.414] } [17:27:17.414] if (length(args) > 0) [17:27:17.414] base::do.call(base::Sys.setenv, args = args) [17:27:17.414] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:17.414] } [17:27:17.414] else { [17:27:17.414] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:17.414] } [17:27:17.414] { [17:27:17.414] if (base::length(...future.futureOptionsAdded) > [17:27:17.414] 0L) { [17:27:17.414] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:17.414] base::names(opts) <- ...future.futureOptionsAdded [17:27:17.414] base::options(opts) [17:27:17.414] } [17:27:17.414] { [17:27:17.414] { [17:27:17.414] base::options(mc.cores = ...future.mc.cores.old) [17:27:17.414] NULL [17:27:17.414] } [17:27:17.414] options(future.plan = NULL) [17:27:17.414] if (is.na(NA_character_)) [17:27:17.414] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.414] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:17.414] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:17.414] .init = FALSE) [17:27:17.414] } [17:27:17.414] } [17:27:17.414] } [17:27:17.414] }) [17:27:17.414] if (TRUE) { [17:27:17.414] base::sink(type = "output", split = FALSE) [17:27:17.414] if (TRUE) { [17:27:17.414] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:17.414] } [17:27:17.414] else { [17:27:17.414] ...future.result["stdout"] <- base::list(NULL) [17:27:17.414] } [17:27:17.414] base::close(...future.stdout) [17:27:17.414] ...future.stdout <- NULL [17:27:17.414] } [17:27:17.414] ...future.result$conditions <- ...future.conditions [17:27:17.414] ...future.result$finished <- base::Sys.time() [17:27:17.414] ...future.result [17:27:17.414] } [17:27:17.420] Exporting 1 global objects (56 bytes) to cluster node #1 ... [17:27:17.420] Exporting 'ii' (56 bytes) to cluster node #1 ... [17:27:17.421] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [17:27:17.421] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [17:27:17.421] MultisessionFuture started - Creating multisession future #1 ... [17:27:17.424] getGlobalsAndPackages() ... [17:27:17.424] Searching for globals... [17:27:17.425] - globals found: [2] '{', 'ii' [17:27:17.425] Searching for globals ... DONE [17:27:17.426] Resolving globals: FALSE [17:27:17.426] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:17.427] The total size of the 1 globals exported for future expression ('{; ii; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:17.427] - globals: [1] 'ii' [17:27:17.427] [17:27:17.427] getGlobalsAndPackages() ... DONE [17:27:17.439] Packages needed by the future expression (n = 0): [17:27:17.439] Packages needed by future strategies (n = 0): [17:27:17.440] { [17:27:17.440] { [17:27:17.440] { [17:27:17.440] ...future.startTime <- base::Sys.time() [17:27:17.440] { [17:27:17.440] { [17:27:17.440] { [17:27:17.440] { [17:27:17.440] base::local({ [17:27:17.440] has_future <- base::requireNamespace("future", [17:27:17.440] quietly = TRUE) [17:27:17.440] if (has_future) { [17:27:17.440] ns <- base::getNamespace("future") [17:27:17.440] version <- ns[[".package"]][["version"]] [17:27:17.440] if (is.null(version)) [17:27:17.440] version <- utils::packageVersion("future") [17:27:17.440] } [17:27:17.440] else { [17:27:17.440] version <- NULL [17:27:17.440] } [17:27:17.440] if (!has_future || version < "1.8.0") { [17:27:17.440] info <- base::c(r_version = base::gsub("R version ", [17:27:17.440] "", base::R.version$version.string), [17:27:17.440] platform = base::sprintf("%s (%s-bit)", [17:27:17.440] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:17.440] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:17.440] "release", "version")], collapse = " "), [17:27:17.440] hostname = base::Sys.info()[["nodename"]]) [17:27:17.440] info <- base::sprintf("%s: %s", base::names(info), [17:27:17.440] info) [17:27:17.440] info <- base::paste(info, collapse = "; ") [17:27:17.440] if (!has_future) { [17:27:17.440] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:17.440] info) [17:27:17.440] } [17:27:17.440] else { [17:27:17.440] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:17.440] info, version) [17:27:17.440] } [17:27:17.440] base::stop(msg) [17:27:17.440] } [17:27:17.440] }) [17:27:17.440] } [17:27:17.440] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:17.440] base::options(mc.cores = 1L) [17:27:17.440] } [17:27:17.440] ...future.strategy.old <- future::plan("list") [17:27:17.440] options(future.plan = NULL) [17:27:17.440] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.440] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:17.440] } [17:27:17.440] ...future.workdir <- getwd() [17:27:17.440] } [17:27:17.440] ...future.oldOptions <- base::as.list(base::.Options) [17:27:17.440] ...future.oldEnvVars <- base::Sys.getenv() [17:27:17.440] } [17:27:17.440] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:17.440] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:17.440] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:17.440] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:17.440] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:17.440] future.stdout.windows.reencode = NULL, width = 80L) [17:27:17.440] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:17.440] base::names(...future.oldOptions)) [17:27:17.440] } [17:27:17.440] if (FALSE) { [17:27:17.440] } [17:27:17.440] else { [17:27:17.440] if (TRUE) { [17:27:17.440] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:17.440] open = "w") [17:27:17.440] } [17:27:17.440] else { [17:27:17.440] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:17.440] windows = "NUL", "/dev/null"), open = "w") [17:27:17.440] } [17:27:17.440] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:17.440] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:17.440] base::sink(type = "output", split = FALSE) [17:27:17.440] base::close(...future.stdout) [17:27:17.440] }, add = TRUE) [17:27:17.440] } [17:27:17.440] ...future.frame <- base::sys.nframe() [17:27:17.440] ...future.conditions <- base::list() [17:27:17.440] ...future.rng <- base::globalenv()$.Random.seed [17:27:17.440] if (FALSE) { [17:27:17.440] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:17.440] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:17.440] } [17:27:17.440] ...future.result <- base::tryCatch({ [17:27:17.440] base::withCallingHandlers({ [17:27:17.440] ...future.value <- base::withVisible(base::local({ [17:27:17.440] ...future.makeSendCondition <- base::local({ [17:27:17.440] sendCondition <- NULL [17:27:17.440] function(frame = 1L) { [17:27:17.440] if (is.function(sendCondition)) [17:27:17.440] return(sendCondition) [17:27:17.440] ns <- getNamespace("parallel") [17:27:17.440] if (exists("sendData", mode = "function", [17:27:17.440] envir = ns)) { [17:27:17.440] parallel_sendData <- get("sendData", mode = "function", [17:27:17.440] envir = ns) [17:27:17.440] envir <- sys.frame(frame) [17:27:17.440] master <- NULL [17:27:17.440] while (!identical(envir, .GlobalEnv) && [17:27:17.440] !identical(envir, emptyenv())) { [17:27:17.440] if (exists("master", mode = "list", envir = envir, [17:27:17.440] inherits = FALSE)) { [17:27:17.440] master <- get("master", mode = "list", [17:27:17.440] envir = envir, inherits = FALSE) [17:27:17.440] if (inherits(master, c("SOCKnode", [17:27:17.440] "SOCK0node"))) { [17:27:17.440] sendCondition <<- function(cond) { [17:27:17.440] data <- list(type = "VALUE", value = cond, [17:27:17.440] success = TRUE) [17:27:17.440] parallel_sendData(master, data) [17:27:17.440] } [17:27:17.440] return(sendCondition) [17:27:17.440] } [17:27:17.440] } [17:27:17.440] frame <- frame + 1L [17:27:17.440] envir <- sys.frame(frame) [17:27:17.440] } [17:27:17.440] } [17:27:17.440] sendCondition <<- function(cond) NULL [17:27:17.440] } [17:27:17.440] }) [17:27:17.440] withCallingHandlers({ [17:27:17.440] { [17:27:17.440] ii [17:27:17.440] } [17:27:17.440] }, immediateCondition = function(cond) { [17:27:17.440] sendCondition <- ...future.makeSendCondition() [17:27:17.440] sendCondition(cond) [17:27:17.440] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.440] { [17:27:17.440] inherits <- base::inherits [17:27:17.440] invokeRestart <- base::invokeRestart [17:27:17.440] is.null <- base::is.null [17:27:17.440] muffled <- FALSE [17:27:17.440] if (inherits(cond, "message")) { [17:27:17.440] muffled <- grepl(pattern, "muffleMessage") [17:27:17.440] if (muffled) [17:27:17.440] invokeRestart("muffleMessage") [17:27:17.440] } [17:27:17.440] else if (inherits(cond, "warning")) { [17:27:17.440] muffled <- grepl(pattern, "muffleWarning") [17:27:17.440] if (muffled) [17:27:17.440] invokeRestart("muffleWarning") [17:27:17.440] } [17:27:17.440] else if (inherits(cond, "condition")) { [17:27:17.440] if (!is.null(pattern)) { [17:27:17.440] computeRestarts <- base::computeRestarts [17:27:17.440] grepl <- base::grepl [17:27:17.440] restarts <- computeRestarts(cond) [17:27:17.440] for (restart in restarts) { [17:27:17.440] name <- restart$name [17:27:17.440] if (is.null(name)) [17:27:17.440] next [17:27:17.440] if (!grepl(pattern, name)) [17:27:17.440] next [17:27:17.440] invokeRestart(restart) [17:27:17.440] muffled <- TRUE [17:27:17.440] break [17:27:17.440] } [17:27:17.440] } [17:27:17.440] } [17:27:17.440] invisible(muffled) [17:27:17.440] } [17:27:17.440] muffleCondition(cond) [17:27:17.440] }) [17:27:17.440] })) [17:27:17.440] future::FutureResult(value = ...future.value$value, [17:27:17.440] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.440] ...future.rng), globalenv = if (FALSE) [17:27:17.440] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:17.440] ...future.globalenv.names)) [17:27:17.440] else NULL, started = ...future.startTime, version = "1.8") [17:27:17.440] }, condition = base::local({ [17:27:17.440] c <- base::c [17:27:17.440] inherits <- base::inherits [17:27:17.440] invokeRestart <- base::invokeRestart [17:27:17.440] length <- base::length [17:27:17.440] list <- base::list [17:27:17.440] seq.int <- base::seq.int [17:27:17.440] signalCondition <- base::signalCondition [17:27:17.440] sys.calls <- base::sys.calls [17:27:17.440] `[[` <- base::`[[` [17:27:17.440] `+` <- base::`+` [17:27:17.440] `<<-` <- base::`<<-` [17:27:17.440] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:17.440] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:17.440] 3L)] [17:27:17.440] } [17:27:17.440] function(cond) { [17:27:17.440] is_error <- inherits(cond, "error") [17:27:17.440] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:17.440] NULL) [17:27:17.440] if (is_error) { [17:27:17.440] sessionInformation <- function() { [17:27:17.440] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:17.440] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:17.440] search = base::search(), system = base::Sys.info()) [17:27:17.440] } [17:27:17.440] ...future.conditions[[length(...future.conditions) + [17:27:17.440] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:17.440] cond$call), session = sessionInformation(), [17:27:17.440] timestamp = base::Sys.time(), signaled = 0L) [17:27:17.440] signalCondition(cond) [17:27:17.440] } [17:27:17.440] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:17.440] "immediateCondition"))) { [17:27:17.440] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:17.440] ...future.conditions[[length(...future.conditions) + [17:27:17.440] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:17.440] if (TRUE && !signal) { [17:27:17.440] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.440] { [17:27:17.440] inherits <- base::inherits [17:27:17.440] invokeRestart <- base::invokeRestart [17:27:17.440] is.null <- base::is.null [17:27:17.440] muffled <- FALSE [17:27:17.440] if (inherits(cond, "message")) { [17:27:17.440] muffled <- grepl(pattern, "muffleMessage") [17:27:17.440] if (muffled) [17:27:17.440] invokeRestart("muffleMessage") [17:27:17.440] } [17:27:17.440] else if (inherits(cond, "warning")) { [17:27:17.440] muffled <- grepl(pattern, "muffleWarning") [17:27:17.440] if (muffled) [17:27:17.440] invokeRestart("muffleWarning") [17:27:17.440] } [17:27:17.440] else if (inherits(cond, "condition")) { [17:27:17.440] if (!is.null(pattern)) { [17:27:17.440] computeRestarts <- base::computeRestarts [17:27:17.440] grepl <- base::grepl [17:27:17.440] restarts <- computeRestarts(cond) [17:27:17.440] for (restart in restarts) { [17:27:17.440] name <- restart$name [17:27:17.440] if (is.null(name)) [17:27:17.440] next [17:27:17.440] if (!grepl(pattern, name)) [17:27:17.440] next [17:27:17.440] invokeRestart(restart) [17:27:17.440] muffled <- TRUE [17:27:17.440] break [17:27:17.440] } [17:27:17.440] } [17:27:17.440] } [17:27:17.440] invisible(muffled) [17:27:17.440] } [17:27:17.440] muffleCondition(cond, pattern = "^muffle") [17:27:17.440] } [17:27:17.440] } [17:27:17.440] else { [17:27:17.440] if (TRUE) { [17:27:17.440] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.440] { [17:27:17.440] inherits <- base::inherits [17:27:17.440] invokeRestart <- base::invokeRestart [17:27:17.440] is.null <- base::is.null [17:27:17.440] muffled <- FALSE [17:27:17.440] if (inherits(cond, "message")) { [17:27:17.440] muffled <- grepl(pattern, "muffleMessage") [17:27:17.440] if (muffled) [17:27:17.440] invokeRestart("muffleMessage") [17:27:17.440] } [17:27:17.440] else if (inherits(cond, "warning")) { [17:27:17.440] muffled <- grepl(pattern, "muffleWarning") [17:27:17.440] if (muffled) [17:27:17.440] invokeRestart("muffleWarning") [17:27:17.440] } [17:27:17.440] else if (inherits(cond, "condition")) { [17:27:17.440] if (!is.null(pattern)) { [17:27:17.440] computeRestarts <- base::computeRestarts [17:27:17.440] grepl <- base::grepl [17:27:17.440] restarts <- computeRestarts(cond) [17:27:17.440] for (restart in restarts) { [17:27:17.440] name <- restart$name [17:27:17.440] if (is.null(name)) [17:27:17.440] next [17:27:17.440] if (!grepl(pattern, name)) [17:27:17.440] next [17:27:17.440] invokeRestart(restart) [17:27:17.440] muffled <- TRUE [17:27:17.440] break [17:27:17.440] } [17:27:17.440] } [17:27:17.440] } [17:27:17.440] invisible(muffled) [17:27:17.440] } [17:27:17.440] muffleCondition(cond, pattern = "^muffle") [17:27:17.440] } [17:27:17.440] } [17:27:17.440] } [17:27:17.440] })) [17:27:17.440] }, error = function(ex) { [17:27:17.440] base::structure(base::list(value = NULL, visible = NULL, [17:27:17.440] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.440] ...future.rng), started = ...future.startTime, [17:27:17.440] finished = Sys.time(), session_uuid = NA_character_, [17:27:17.440] version = "1.8"), class = "FutureResult") [17:27:17.440] }, finally = { [17:27:17.440] if (!identical(...future.workdir, getwd())) [17:27:17.440] setwd(...future.workdir) [17:27:17.440] { [17:27:17.440] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:17.440] ...future.oldOptions$nwarnings <- NULL [17:27:17.440] } [17:27:17.440] base::options(...future.oldOptions) [17:27:17.440] if (.Platform$OS.type == "windows") { [17:27:17.440] old_names <- names(...future.oldEnvVars) [17:27:17.440] envs <- base::Sys.getenv() [17:27:17.440] names <- names(envs) [17:27:17.440] common <- intersect(names, old_names) [17:27:17.440] added <- setdiff(names, old_names) [17:27:17.440] removed <- setdiff(old_names, names) [17:27:17.440] changed <- common[...future.oldEnvVars[common] != [17:27:17.440] envs[common]] [17:27:17.440] NAMES <- toupper(changed) [17:27:17.440] args <- list() [17:27:17.440] for (kk in seq_along(NAMES)) { [17:27:17.440] name <- changed[[kk]] [17:27:17.440] NAME <- NAMES[[kk]] [17:27:17.440] if (name != NAME && is.element(NAME, old_names)) [17:27:17.440] next [17:27:17.440] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.440] } [17:27:17.440] NAMES <- toupper(added) [17:27:17.440] for (kk in seq_along(NAMES)) { [17:27:17.440] name <- added[[kk]] [17:27:17.440] NAME <- NAMES[[kk]] [17:27:17.440] if (name != NAME && is.element(NAME, old_names)) [17:27:17.440] next [17:27:17.440] args[[name]] <- "" [17:27:17.440] } [17:27:17.440] NAMES <- toupper(removed) [17:27:17.440] for (kk in seq_along(NAMES)) { [17:27:17.440] name <- removed[[kk]] [17:27:17.440] NAME <- NAMES[[kk]] [17:27:17.440] if (name != NAME && is.element(NAME, old_names)) [17:27:17.440] next [17:27:17.440] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.440] } [17:27:17.440] if (length(args) > 0) [17:27:17.440] base::do.call(base::Sys.setenv, args = args) [17:27:17.440] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:17.440] } [17:27:17.440] else { [17:27:17.440] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:17.440] } [17:27:17.440] { [17:27:17.440] if (base::length(...future.futureOptionsAdded) > [17:27:17.440] 0L) { [17:27:17.440] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:17.440] base::names(opts) <- ...future.futureOptionsAdded [17:27:17.440] base::options(opts) [17:27:17.440] } [17:27:17.440] { [17:27:17.440] { [17:27:17.440] base::options(mc.cores = ...future.mc.cores.old) [17:27:17.440] NULL [17:27:17.440] } [17:27:17.440] options(future.plan = NULL) [17:27:17.440] if (is.na(NA_character_)) [17:27:17.440] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.440] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:17.440] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:17.440] .init = FALSE) [17:27:17.440] } [17:27:17.440] } [17:27:17.440] } [17:27:17.440] }) [17:27:17.440] if (TRUE) { [17:27:17.440] base::sink(type = "output", split = FALSE) [17:27:17.440] if (TRUE) { [17:27:17.440] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:17.440] } [17:27:17.440] else { [17:27:17.440] ...future.result["stdout"] <- base::list(NULL) [17:27:17.440] } [17:27:17.440] base::close(...future.stdout) [17:27:17.440] ...future.stdout <- NULL [17:27:17.440] } [17:27:17.440] ...future.result$conditions <- ...future.conditions [17:27:17.440] ...future.result$finished <- base::Sys.time() [17:27:17.440] ...future.result [17:27:17.440] } [17:27:17.522] Exporting 1 global objects (56 bytes) to cluster node #2 ... [17:27:17.523] Exporting 'ii' (56 bytes) to cluster node #2 ... [17:27:17.523] Exporting 'ii' (56 bytes) to cluster node #2 ... DONE [17:27:17.523] Exporting 1 global objects (56 bytes) to cluster node #2 ... DONE [17:27:17.524] MultisessionFuture started - Resolving 2 multisession futures [17:27:17.525] result() for ClusterFuture ... [17:27:17.525] receiveMessageFromWorker() for ClusterFuture ... [17:27:17.525] - Validating connection of MultisessionFuture [17:27:17.576] - received message: FutureResult [17:27:17.576] - Received FutureResult [17:27:17.577] - Erased future from FutureRegistry [17:27:17.577] result() for ClusterFuture ... [17:27:17.577] - result already collected: FutureResult [17:27:17.577] result() for ClusterFuture ... done [17:27:17.577] receiveMessageFromWorker() for ClusterFuture ... done [17:27:17.577] result() for ClusterFuture ... done [17:27:17.578] result() for ClusterFuture ... [17:27:17.578] - result already collected: FutureResult [17:27:17.578] result() for ClusterFuture ... done [17:27:17.578] result() for ClusterFuture ... [17:27:17.578] receiveMessageFromWorker() for ClusterFuture ... [17:27:17.579] - Validating connection of MultisessionFuture [17:27:17.579] - received message: FutureResult [17:27:17.579] - Received FutureResult [17:27:17.579] - Erased future from FutureRegistry [17:27:17.580] result() for ClusterFuture ... [17:27:17.580] - result already collected: FutureResult [17:27:17.580] result() for ClusterFuture ... done [17:27:17.580] receiveMessageFromWorker() for ClusterFuture ... done [17:27:17.580] result() for ClusterFuture ... done [17:27:17.580] result() for ClusterFuture ... [17:27:17.581] - result already collected: FutureResult [17:27:17.581] result() for ClusterFuture ... done *** multisession() - workers inherit .libPaths() [17:27:17.581] getGlobalsAndPackages() ... [17:27:17.581] Searching for globals... [17:27:17.582] - globals found: [1] '.libPaths' [17:27:17.582] Searching for globals ... DONE [17:27:17.583] Resolving globals: FALSE [17:27:17.583] [17:27:17.583] [17:27:17.583] getGlobalsAndPackages() ... DONE [17:27:17.584] run() for 'Future' ... [17:27:17.584] - state: 'created' [17:27:17.584] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:17.585] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:17.585] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:17.585] - Field: 'label' [17:27:17.585] - Field: 'local' [17:27:17.586] - Field: 'owner' [17:27:17.586] - Field: 'envir' [17:27:17.586] - Field: 'packages' [17:27:17.586] - Field: 'gc' [17:27:17.586] - Field: 'conditions' [17:27:17.587] - Field: 'expr' [17:27:17.587] - Field: 'uuid' [17:27:17.587] - Field: 'seed' [17:27:17.587] - Field: 'version' [17:27:17.587] - Field: 'result' [17:27:17.588] - Field: 'asynchronous' [17:27:17.588] - Field: 'calls' [17:27:17.588] - Field: 'globals' [17:27:17.588] - Field: 'stdout' [17:27:17.588] - Field: 'earlySignal' [17:27:17.589] - Field: 'lazy' [17:27:17.589] - Field: 'state' [17:27:17.589] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:17.589] - Launch lazy future ... [17:27:17.590] Packages needed by the future expression (n = 0): [17:27:17.590] Packages needed by future strategies (n = 0): [17:27:17.591] { [17:27:17.591] { [17:27:17.591] { [17:27:17.591] ...future.startTime <- base::Sys.time() [17:27:17.591] { [17:27:17.591] { [17:27:17.591] { [17:27:17.591] base::local({ [17:27:17.591] has_future <- base::requireNamespace("future", [17:27:17.591] quietly = TRUE) [17:27:17.591] if (has_future) { [17:27:17.591] ns <- base::getNamespace("future") [17:27:17.591] version <- ns[[".package"]][["version"]] [17:27:17.591] if (is.null(version)) [17:27:17.591] version <- utils::packageVersion("future") [17:27:17.591] } [17:27:17.591] else { [17:27:17.591] version <- NULL [17:27:17.591] } [17:27:17.591] if (!has_future || version < "1.8.0") { [17:27:17.591] info <- base::c(r_version = base::gsub("R version ", [17:27:17.591] "", base::R.version$version.string), [17:27:17.591] platform = base::sprintf("%s (%s-bit)", [17:27:17.591] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:17.591] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:17.591] "release", "version")], collapse = " "), [17:27:17.591] hostname = base::Sys.info()[["nodename"]]) [17:27:17.591] info <- base::sprintf("%s: %s", base::names(info), [17:27:17.591] info) [17:27:17.591] info <- base::paste(info, collapse = "; ") [17:27:17.591] if (!has_future) { [17:27:17.591] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:17.591] info) [17:27:17.591] } [17:27:17.591] else { [17:27:17.591] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:17.591] info, version) [17:27:17.591] } [17:27:17.591] base::stop(msg) [17:27:17.591] } [17:27:17.591] }) [17:27:17.591] } [17:27:17.591] ...future.strategy.old <- future::plan("list") [17:27:17.591] options(future.plan = NULL) [17:27:17.591] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.591] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:17.591] } [17:27:17.591] ...future.workdir <- getwd() [17:27:17.591] } [17:27:17.591] ...future.oldOptions <- base::as.list(base::.Options) [17:27:17.591] ...future.oldEnvVars <- base::Sys.getenv() [17:27:17.591] } [17:27:17.591] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:17.591] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:17.591] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:17.591] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:17.591] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:17.591] future.stdout.windows.reencode = NULL, width = 80L) [17:27:17.591] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:17.591] base::names(...future.oldOptions)) [17:27:17.591] } [17:27:17.591] if (FALSE) { [17:27:17.591] } [17:27:17.591] else { [17:27:17.591] if (TRUE) { [17:27:17.591] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:17.591] open = "w") [17:27:17.591] } [17:27:17.591] else { [17:27:17.591] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:17.591] windows = "NUL", "/dev/null"), open = "w") [17:27:17.591] } [17:27:17.591] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:17.591] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:17.591] base::sink(type = "output", split = FALSE) [17:27:17.591] base::close(...future.stdout) [17:27:17.591] }, add = TRUE) [17:27:17.591] } [17:27:17.591] ...future.frame <- base::sys.nframe() [17:27:17.591] ...future.conditions <- base::list() [17:27:17.591] ...future.rng <- base::globalenv()$.Random.seed [17:27:17.591] if (FALSE) { [17:27:17.591] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:17.591] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:17.591] } [17:27:17.591] ...future.result <- base::tryCatch({ [17:27:17.591] base::withCallingHandlers({ [17:27:17.591] ...future.value <- base::withVisible(base::local(.libPaths())) [17:27:17.591] future::FutureResult(value = ...future.value$value, [17:27:17.591] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.591] ...future.rng), globalenv = if (FALSE) [17:27:17.591] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:17.591] ...future.globalenv.names)) [17:27:17.591] else NULL, started = ...future.startTime, version = "1.8") [17:27:17.591] }, condition = base::local({ [17:27:17.591] c <- base::c [17:27:17.591] inherits <- base::inherits [17:27:17.591] invokeRestart <- base::invokeRestart [17:27:17.591] length <- base::length [17:27:17.591] list <- base::list [17:27:17.591] seq.int <- base::seq.int [17:27:17.591] signalCondition <- base::signalCondition [17:27:17.591] sys.calls <- base::sys.calls [17:27:17.591] `[[` <- base::`[[` [17:27:17.591] `+` <- base::`+` [17:27:17.591] `<<-` <- base::`<<-` [17:27:17.591] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:17.591] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:17.591] 3L)] [17:27:17.591] } [17:27:17.591] function(cond) { [17:27:17.591] is_error <- inherits(cond, "error") [17:27:17.591] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:17.591] NULL) [17:27:17.591] if (is_error) { [17:27:17.591] sessionInformation <- function() { [17:27:17.591] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:17.591] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:17.591] search = base::search(), system = base::Sys.info()) [17:27:17.591] } [17:27:17.591] ...future.conditions[[length(...future.conditions) + [17:27:17.591] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:17.591] cond$call), session = sessionInformation(), [17:27:17.591] timestamp = base::Sys.time(), signaled = 0L) [17:27:17.591] signalCondition(cond) [17:27:17.591] } [17:27:17.591] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:17.591] "immediateCondition"))) { [17:27:17.591] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:17.591] ...future.conditions[[length(...future.conditions) + [17:27:17.591] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:17.591] if (TRUE && !signal) { [17:27:17.591] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.591] { [17:27:17.591] inherits <- base::inherits [17:27:17.591] invokeRestart <- base::invokeRestart [17:27:17.591] is.null <- base::is.null [17:27:17.591] muffled <- FALSE [17:27:17.591] if (inherits(cond, "message")) { [17:27:17.591] muffled <- grepl(pattern, "muffleMessage") [17:27:17.591] if (muffled) [17:27:17.591] invokeRestart("muffleMessage") [17:27:17.591] } [17:27:17.591] else if (inherits(cond, "warning")) { [17:27:17.591] muffled <- grepl(pattern, "muffleWarning") [17:27:17.591] if (muffled) [17:27:17.591] invokeRestart("muffleWarning") [17:27:17.591] } [17:27:17.591] else if (inherits(cond, "condition")) { [17:27:17.591] if (!is.null(pattern)) { [17:27:17.591] computeRestarts <- base::computeRestarts [17:27:17.591] grepl <- base::grepl [17:27:17.591] restarts <- computeRestarts(cond) [17:27:17.591] for (restart in restarts) { [17:27:17.591] name <- restart$name [17:27:17.591] if (is.null(name)) [17:27:17.591] next [17:27:17.591] if (!grepl(pattern, name)) [17:27:17.591] next [17:27:17.591] invokeRestart(restart) [17:27:17.591] muffled <- TRUE [17:27:17.591] break [17:27:17.591] } [17:27:17.591] } [17:27:17.591] } [17:27:17.591] invisible(muffled) [17:27:17.591] } [17:27:17.591] muffleCondition(cond, pattern = "^muffle") [17:27:17.591] } [17:27:17.591] } [17:27:17.591] else { [17:27:17.591] if (TRUE) { [17:27:17.591] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.591] { [17:27:17.591] inherits <- base::inherits [17:27:17.591] invokeRestart <- base::invokeRestart [17:27:17.591] is.null <- base::is.null [17:27:17.591] muffled <- FALSE [17:27:17.591] if (inherits(cond, "message")) { [17:27:17.591] muffled <- grepl(pattern, "muffleMessage") [17:27:17.591] if (muffled) [17:27:17.591] invokeRestart("muffleMessage") [17:27:17.591] } [17:27:17.591] else if (inherits(cond, "warning")) { [17:27:17.591] muffled <- grepl(pattern, "muffleWarning") [17:27:17.591] if (muffled) [17:27:17.591] invokeRestart("muffleWarning") [17:27:17.591] } [17:27:17.591] else if (inherits(cond, "condition")) { [17:27:17.591] if (!is.null(pattern)) { [17:27:17.591] computeRestarts <- base::computeRestarts [17:27:17.591] grepl <- base::grepl [17:27:17.591] restarts <- computeRestarts(cond) [17:27:17.591] for (restart in restarts) { [17:27:17.591] name <- restart$name [17:27:17.591] if (is.null(name)) [17:27:17.591] next [17:27:17.591] if (!grepl(pattern, name)) [17:27:17.591] next [17:27:17.591] invokeRestart(restart) [17:27:17.591] muffled <- TRUE [17:27:17.591] break [17:27:17.591] } [17:27:17.591] } [17:27:17.591] } [17:27:17.591] invisible(muffled) [17:27:17.591] } [17:27:17.591] muffleCondition(cond, pattern = "^muffle") [17:27:17.591] } [17:27:17.591] } [17:27:17.591] } [17:27:17.591] })) [17:27:17.591] }, error = function(ex) { [17:27:17.591] base::structure(base::list(value = NULL, visible = NULL, [17:27:17.591] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.591] ...future.rng), started = ...future.startTime, [17:27:17.591] finished = Sys.time(), session_uuid = NA_character_, [17:27:17.591] version = "1.8"), class = "FutureResult") [17:27:17.591] }, finally = { [17:27:17.591] if (!identical(...future.workdir, getwd())) [17:27:17.591] setwd(...future.workdir) [17:27:17.591] { [17:27:17.591] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:17.591] ...future.oldOptions$nwarnings <- NULL [17:27:17.591] } [17:27:17.591] base::options(...future.oldOptions) [17:27:17.591] if (.Platform$OS.type == "windows") { [17:27:17.591] old_names <- names(...future.oldEnvVars) [17:27:17.591] envs <- base::Sys.getenv() [17:27:17.591] names <- names(envs) [17:27:17.591] common <- intersect(names, old_names) [17:27:17.591] added <- setdiff(names, old_names) [17:27:17.591] removed <- setdiff(old_names, names) [17:27:17.591] changed <- common[...future.oldEnvVars[common] != [17:27:17.591] envs[common]] [17:27:17.591] NAMES <- toupper(changed) [17:27:17.591] args <- list() [17:27:17.591] for (kk in seq_along(NAMES)) { [17:27:17.591] name <- changed[[kk]] [17:27:17.591] NAME <- NAMES[[kk]] [17:27:17.591] if (name != NAME && is.element(NAME, old_names)) [17:27:17.591] next [17:27:17.591] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.591] } [17:27:17.591] NAMES <- toupper(added) [17:27:17.591] for (kk in seq_along(NAMES)) { [17:27:17.591] name <- added[[kk]] [17:27:17.591] NAME <- NAMES[[kk]] [17:27:17.591] if (name != NAME && is.element(NAME, old_names)) [17:27:17.591] next [17:27:17.591] args[[name]] <- "" [17:27:17.591] } [17:27:17.591] NAMES <- toupper(removed) [17:27:17.591] for (kk in seq_along(NAMES)) { [17:27:17.591] name <- removed[[kk]] [17:27:17.591] NAME <- NAMES[[kk]] [17:27:17.591] if (name != NAME && is.element(NAME, old_names)) [17:27:17.591] next [17:27:17.591] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.591] } [17:27:17.591] if (length(args) > 0) [17:27:17.591] base::do.call(base::Sys.setenv, args = args) [17:27:17.591] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:17.591] } [17:27:17.591] else { [17:27:17.591] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:17.591] } [17:27:17.591] { [17:27:17.591] if (base::length(...future.futureOptionsAdded) > [17:27:17.591] 0L) { [17:27:17.591] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:17.591] base::names(opts) <- ...future.futureOptionsAdded [17:27:17.591] base::options(opts) [17:27:17.591] } [17:27:17.591] { [17:27:17.591] { [17:27:17.591] NULL [17:27:17.591] RNGkind("Mersenne-Twister") [17:27:17.591] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:17.591] inherits = FALSE) [17:27:17.591] } [17:27:17.591] options(future.plan = NULL) [17:27:17.591] if (is.na(NA_character_)) [17:27:17.591] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.591] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:17.591] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:17.591] .init = FALSE) [17:27:17.591] } [17:27:17.591] } [17:27:17.591] } [17:27:17.591] }) [17:27:17.591] if (TRUE) { [17:27:17.591] base::sink(type = "output", split = FALSE) [17:27:17.591] if (TRUE) { [17:27:17.591] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:17.591] } [17:27:17.591] else { [17:27:17.591] ...future.result["stdout"] <- base::list(NULL) [17:27:17.591] } [17:27:17.591] base::close(...future.stdout) [17:27:17.591] ...future.stdout <- NULL [17:27:17.591] } [17:27:17.591] ...future.result$conditions <- ...future.conditions [17:27:17.591] ...future.result$finished <- base::Sys.time() [17:27:17.591] ...future.result [17:27:17.591] } [17:27:17.595] plan(): Setting new future strategy stack: [17:27:17.595] List of future strategies: [17:27:17.595] 1. sequential: [17:27:17.595] - args: function (..., envir = parent.frame(), workers = "") [17:27:17.595] - tweaked: FALSE [17:27:17.595] - call: NULL [17:27:17.596] plan(): nbrOfWorkers() = 1 [17:27:17.597] plan(): Setting new future strategy stack: [17:27:17.597] List of future strategies: [17:27:17.597] 1. sequential: [17:27:17.597] - args: function (..., envir = parent.frame(), workers = "") [17:27:17.597] - tweaked: FALSE [17:27:17.597] - call: future::plan("sequential") [17:27:17.598] plan(): nbrOfWorkers() = 1 [17:27:17.599] SequentialFuture started (and completed) [17:27:17.599] - Launch lazy future ... done [17:27:17.599] run() for 'SequentialFuture' ... done List of 2 $ main : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" $ workers: chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" *** multisession() and errors [17:27:17.605] getGlobalsAndPackages() ... [17:27:17.606] [17:27:17.606] - globals: [0] [17:27:17.606] getGlobalsAndPackages() ... DONE [17:27:17.618] Packages needed by the future expression (n = 0): [17:27:17.618] Packages needed by future strategies (n = 0): [17:27:17.618] { [17:27:17.618] { [17:27:17.618] { [17:27:17.618] ...future.startTime <- base::Sys.time() [17:27:17.618] { [17:27:17.618] { [17:27:17.618] { [17:27:17.618] { [17:27:17.618] base::local({ [17:27:17.618] has_future <- base::requireNamespace("future", [17:27:17.618] quietly = TRUE) [17:27:17.618] if (has_future) { [17:27:17.618] ns <- base::getNamespace("future") [17:27:17.618] version <- ns[[".package"]][["version"]] [17:27:17.618] if (is.null(version)) [17:27:17.618] version <- utils::packageVersion("future") [17:27:17.618] } [17:27:17.618] else { [17:27:17.618] version <- NULL [17:27:17.618] } [17:27:17.618] if (!has_future || version < "1.8.0") { [17:27:17.618] info <- base::c(r_version = base::gsub("R version ", [17:27:17.618] "", base::R.version$version.string), [17:27:17.618] platform = base::sprintf("%s (%s-bit)", [17:27:17.618] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:17.618] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:17.618] "release", "version")], collapse = " "), [17:27:17.618] hostname = base::Sys.info()[["nodename"]]) [17:27:17.618] info <- base::sprintf("%s: %s", base::names(info), [17:27:17.618] info) [17:27:17.618] info <- base::paste(info, collapse = "; ") [17:27:17.618] if (!has_future) { [17:27:17.618] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:17.618] info) [17:27:17.618] } [17:27:17.618] else { [17:27:17.618] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:17.618] info, version) [17:27:17.618] } [17:27:17.618] base::stop(msg) [17:27:17.618] } [17:27:17.618] }) [17:27:17.618] } [17:27:17.618] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:17.618] base::options(mc.cores = 1L) [17:27:17.618] } [17:27:17.618] ...future.strategy.old <- future::plan("list") [17:27:17.618] options(future.plan = NULL) [17:27:17.618] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.618] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:17.618] } [17:27:17.618] ...future.workdir <- getwd() [17:27:17.618] } [17:27:17.618] ...future.oldOptions <- base::as.list(base::.Options) [17:27:17.618] ...future.oldEnvVars <- base::Sys.getenv() [17:27:17.618] } [17:27:17.618] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:17.618] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:17.618] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:17.618] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:17.618] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:17.618] future.stdout.windows.reencode = NULL, width = 80L) [17:27:17.618] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:17.618] base::names(...future.oldOptions)) [17:27:17.618] } [17:27:17.618] if (FALSE) { [17:27:17.618] } [17:27:17.618] else { [17:27:17.618] if (TRUE) { [17:27:17.618] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:17.618] open = "w") [17:27:17.618] } [17:27:17.618] else { [17:27:17.618] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:17.618] windows = "NUL", "/dev/null"), open = "w") [17:27:17.618] } [17:27:17.618] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:17.618] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:17.618] base::sink(type = "output", split = FALSE) [17:27:17.618] base::close(...future.stdout) [17:27:17.618] }, add = TRUE) [17:27:17.618] } [17:27:17.618] ...future.frame <- base::sys.nframe() [17:27:17.618] ...future.conditions <- base::list() [17:27:17.618] ...future.rng <- base::globalenv()$.Random.seed [17:27:17.618] if (FALSE) { [17:27:17.618] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:17.618] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:17.618] } [17:27:17.618] ...future.result <- base::tryCatch({ [17:27:17.618] base::withCallingHandlers({ [17:27:17.618] ...future.value <- base::withVisible(base::local({ [17:27:17.618] ...future.makeSendCondition <- base::local({ [17:27:17.618] sendCondition <- NULL [17:27:17.618] function(frame = 1L) { [17:27:17.618] if (is.function(sendCondition)) [17:27:17.618] return(sendCondition) [17:27:17.618] ns <- getNamespace("parallel") [17:27:17.618] if (exists("sendData", mode = "function", [17:27:17.618] envir = ns)) { [17:27:17.618] parallel_sendData <- get("sendData", mode = "function", [17:27:17.618] envir = ns) [17:27:17.618] envir <- sys.frame(frame) [17:27:17.618] master <- NULL [17:27:17.618] while (!identical(envir, .GlobalEnv) && [17:27:17.618] !identical(envir, emptyenv())) { [17:27:17.618] if (exists("master", mode = "list", envir = envir, [17:27:17.618] inherits = FALSE)) { [17:27:17.618] master <- get("master", mode = "list", [17:27:17.618] envir = envir, inherits = FALSE) [17:27:17.618] if (inherits(master, c("SOCKnode", [17:27:17.618] "SOCK0node"))) { [17:27:17.618] sendCondition <<- function(cond) { [17:27:17.618] data <- list(type = "VALUE", value = cond, [17:27:17.618] success = TRUE) [17:27:17.618] parallel_sendData(master, data) [17:27:17.618] } [17:27:17.618] return(sendCondition) [17:27:17.618] } [17:27:17.618] } [17:27:17.618] frame <- frame + 1L [17:27:17.618] envir <- sys.frame(frame) [17:27:17.618] } [17:27:17.618] } [17:27:17.618] sendCondition <<- function(cond) NULL [17:27:17.618] } [17:27:17.618] }) [17:27:17.618] withCallingHandlers({ [17:27:17.618] { [17:27:17.618] stop("Whoops!") [17:27:17.618] 1 [17:27:17.618] } [17:27:17.618] }, immediateCondition = function(cond) { [17:27:17.618] sendCondition <- ...future.makeSendCondition() [17:27:17.618] sendCondition(cond) [17:27:17.618] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.618] { [17:27:17.618] inherits <- base::inherits [17:27:17.618] invokeRestart <- base::invokeRestart [17:27:17.618] is.null <- base::is.null [17:27:17.618] muffled <- FALSE [17:27:17.618] if (inherits(cond, "message")) { [17:27:17.618] muffled <- grepl(pattern, "muffleMessage") [17:27:17.618] if (muffled) [17:27:17.618] invokeRestart("muffleMessage") [17:27:17.618] } [17:27:17.618] else if (inherits(cond, "warning")) { [17:27:17.618] muffled <- grepl(pattern, "muffleWarning") [17:27:17.618] if (muffled) [17:27:17.618] invokeRestart("muffleWarning") [17:27:17.618] } [17:27:17.618] else if (inherits(cond, "condition")) { [17:27:17.618] if (!is.null(pattern)) { [17:27:17.618] computeRestarts <- base::computeRestarts [17:27:17.618] grepl <- base::grepl [17:27:17.618] restarts <- computeRestarts(cond) [17:27:17.618] for (restart in restarts) { [17:27:17.618] name <- restart$name [17:27:17.618] if (is.null(name)) [17:27:17.618] next [17:27:17.618] if (!grepl(pattern, name)) [17:27:17.618] next [17:27:17.618] invokeRestart(restart) [17:27:17.618] muffled <- TRUE [17:27:17.618] break [17:27:17.618] } [17:27:17.618] } [17:27:17.618] } [17:27:17.618] invisible(muffled) [17:27:17.618] } [17:27:17.618] muffleCondition(cond) [17:27:17.618] }) [17:27:17.618] })) [17:27:17.618] future::FutureResult(value = ...future.value$value, [17:27:17.618] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.618] ...future.rng), globalenv = if (FALSE) [17:27:17.618] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:17.618] ...future.globalenv.names)) [17:27:17.618] else NULL, started = ...future.startTime, version = "1.8") [17:27:17.618] }, condition = base::local({ [17:27:17.618] c <- base::c [17:27:17.618] inherits <- base::inherits [17:27:17.618] invokeRestart <- base::invokeRestart [17:27:17.618] length <- base::length [17:27:17.618] list <- base::list [17:27:17.618] seq.int <- base::seq.int [17:27:17.618] signalCondition <- base::signalCondition [17:27:17.618] sys.calls <- base::sys.calls [17:27:17.618] `[[` <- base::`[[` [17:27:17.618] `+` <- base::`+` [17:27:17.618] `<<-` <- base::`<<-` [17:27:17.618] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:17.618] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:17.618] 3L)] [17:27:17.618] } [17:27:17.618] function(cond) { [17:27:17.618] is_error <- inherits(cond, "error") [17:27:17.618] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:17.618] NULL) [17:27:17.618] if (is_error) { [17:27:17.618] sessionInformation <- function() { [17:27:17.618] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:17.618] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:17.618] search = base::search(), system = base::Sys.info()) [17:27:17.618] } [17:27:17.618] ...future.conditions[[length(...future.conditions) + [17:27:17.618] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:17.618] cond$call), session = sessionInformation(), [17:27:17.618] timestamp = base::Sys.time(), signaled = 0L) [17:27:17.618] signalCondition(cond) [17:27:17.618] } [17:27:17.618] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:17.618] "immediateCondition"))) { [17:27:17.618] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:17.618] ...future.conditions[[length(...future.conditions) + [17:27:17.618] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:17.618] if (TRUE && !signal) { [17:27:17.618] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.618] { [17:27:17.618] inherits <- base::inherits [17:27:17.618] invokeRestart <- base::invokeRestart [17:27:17.618] is.null <- base::is.null [17:27:17.618] muffled <- FALSE [17:27:17.618] if (inherits(cond, "message")) { [17:27:17.618] muffled <- grepl(pattern, "muffleMessage") [17:27:17.618] if (muffled) [17:27:17.618] invokeRestart("muffleMessage") [17:27:17.618] } [17:27:17.618] else if (inherits(cond, "warning")) { [17:27:17.618] muffled <- grepl(pattern, "muffleWarning") [17:27:17.618] if (muffled) [17:27:17.618] invokeRestart("muffleWarning") [17:27:17.618] } [17:27:17.618] else if (inherits(cond, "condition")) { [17:27:17.618] if (!is.null(pattern)) { [17:27:17.618] computeRestarts <- base::computeRestarts [17:27:17.618] grepl <- base::grepl [17:27:17.618] restarts <- computeRestarts(cond) [17:27:17.618] for (restart in restarts) { [17:27:17.618] name <- restart$name [17:27:17.618] if (is.null(name)) [17:27:17.618] next [17:27:17.618] if (!grepl(pattern, name)) [17:27:17.618] next [17:27:17.618] invokeRestart(restart) [17:27:17.618] muffled <- TRUE [17:27:17.618] break [17:27:17.618] } [17:27:17.618] } [17:27:17.618] } [17:27:17.618] invisible(muffled) [17:27:17.618] } [17:27:17.618] muffleCondition(cond, pattern = "^muffle") [17:27:17.618] } [17:27:17.618] } [17:27:17.618] else { [17:27:17.618] if (TRUE) { [17:27:17.618] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.618] { [17:27:17.618] inherits <- base::inherits [17:27:17.618] invokeRestart <- base::invokeRestart [17:27:17.618] is.null <- base::is.null [17:27:17.618] muffled <- FALSE [17:27:17.618] if (inherits(cond, "message")) { [17:27:17.618] muffled <- grepl(pattern, "muffleMessage") [17:27:17.618] if (muffled) [17:27:17.618] invokeRestart("muffleMessage") [17:27:17.618] } [17:27:17.618] else if (inherits(cond, "warning")) { [17:27:17.618] muffled <- grepl(pattern, "muffleWarning") [17:27:17.618] if (muffled) [17:27:17.618] invokeRestart("muffleWarning") [17:27:17.618] } [17:27:17.618] else if (inherits(cond, "condition")) { [17:27:17.618] if (!is.null(pattern)) { [17:27:17.618] computeRestarts <- base::computeRestarts [17:27:17.618] grepl <- base::grepl [17:27:17.618] restarts <- computeRestarts(cond) [17:27:17.618] for (restart in restarts) { [17:27:17.618] name <- restart$name [17:27:17.618] if (is.null(name)) [17:27:17.618] next [17:27:17.618] if (!grepl(pattern, name)) [17:27:17.618] next [17:27:17.618] invokeRestart(restart) [17:27:17.618] muffled <- TRUE [17:27:17.618] break [17:27:17.618] } [17:27:17.618] } [17:27:17.618] } [17:27:17.618] invisible(muffled) [17:27:17.618] } [17:27:17.618] muffleCondition(cond, pattern = "^muffle") [17:27:17.618] } [17:27:17.618] } [17:27:17.618] } [17:27:17.618] })) [17:27:17.618] }, error = function(ex) { [17:27:17.618] base::structure(base::list(value = NULL, visible = NULL, [17:27:17.618] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.618] ...future.rng), started = ...future.startTime, [17:27:17.618] finished = Sys.time(), session_uuid = NA_character_, [17:27:17.618] version = "1.8"), class = "FutureResult") [17:27:17.618] }, finally = { [17:27:17.618] if (!identical(...future.workdir, getwd())) [17:27:17.618] setwd(...future.workdir) [17:27:17.618] { [17:27:17.618] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:17.618] ...future.oldOptions$nwarnings <- NULL [17:27:17.618] } [17:27:17.618] base::options(...future.oldOptions) [17:27:17.618] if (.Platform$OS.type == "windows") { [17:27:17.618] old_names <- names(...future.oldEnvVars) [17:27:17.618] envs <- base::Sys.getenv() [17:27:17.618] names <- names(envs) [17:27:17.618] common <- intersect(names, old_names) [17:27:17.618] added <- setdiff(names, old_names) [17:27:17.618] removed <- setdiff(old_names, names) [17:27:17.618] changed <- common[...future.oldEnvVars[common] != [17:27:17.618] envs[common]] [17:27:17.618] NAMES <- toupper(changed) [17:27:17.618] args <- list() [17:27:17.618] for (kk in seq_along(NAMES)) { [17:27:17.618] name <- changed[[kk]] [17:27:17.618] NAME <- NAMES[[kk]] [17:27:17.618] if (name != NAME && is.element(NAME, old_names)) [17:27:17.618] next [17:27:17.618] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.618] } [17:27:17.618] NAMES <- toupper(added) [17:27:17.618] for (kk in seq_along(NAMES)) { [17:27:17.618] name <- added[[kk]] [17:27:17.618] NAME <- NAMES[[kk]] [17:27:17.618] if (name != NAME && is.element(NAME, old_names)) [17:27:17.618] next [17:27:17.618] args[[name]] <- "" [17:27:17.618] } [17:27:17.618] NAMES <- toupper(removed) [17:27:17.618] for (kk in seq_along(NAMES)) { [17:27:17.618] name <- removed[[kk]] [17:27:17.618] NAME <- NAMES[[kk]] [17:27:17.618] if (name != NAME && is.element(NAME, old_names)) [17:27:17.618] next [17:27:17.618] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.618] } [17:27:17.618] if (length(args) > 0) [17:27:17.618] base::do.call(base::Sys.setenv, args = args) [17:27:17.618] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:17.618] } [17:27:17.618] else { [17:27:17.618] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:17.618] } [17:27:17.618] { [17:27:17.618] if (base::length(...future.futureOptionsAdded) > [17:27:17.618] 0L) { [17:27:17.618] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:17.618] base::names(opts) <- ...future.futureOptionsAdded [17:27:17.618] base::options(opts) [17:27:17.618] } [17:27:17.618] { [17:27:17.618] { [17:27:17.618] base::options(mc.cores = ...future.mc.cores.old) [17:27:17.618] NULL [17:27:17.618] } [17:27:17.618] options(future.plan = NULL) [17:27:17.618] if (is.na(NA_character_)) [17:27:17.618] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.618] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:17.618] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:17.618] .init = FALSE) [17:27:17.618] } [17:27:17.618] } [17:27:17.618] } [17:27:17.618] }) [17:27:17.618] if (TRUE) { [17:27:17.618] base::sink(type = "output", split = FALSE) [17:27:17.618] if (TRUE) { [17:27:17.618] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:17.618] } [17:27:17.618] else { [17:27:17.618] ...future.result["stdout"] <- base::list(NULL) [17:27:17.618] } [17:27:17.618] base::close(...future.stdout) [17:27:17.618] ...future.stdout <- NULL [17:27:17.618] } [17:27:17.618] ...future.result$conditions <- ...future.conditions [17:27:17.618] ...future.result$finished <- base::Sys.time() [17:27:17.618] ...future.result [17:27:17.618] } [17:27:17.624] MultisessionFuture started MultisessionFuture: Label: '' Expression: { stop("Whoops!") 1 } Lazy evaluation: FALSE Asynchronous evaluation: TRUE Local evaluation: TRUE Environment: R_GlobalEnv Capture standard output: TRUE Capture condition classes: 'condition' (excluding 'nothing') Globals: Packages: L'Ecuyer-CMRG RNG seed: (seed = FALSE) [17:27:17.640] receiveMessageFromWorker() for ClusterFuture ... [17:27:17.640] - Validating connection of MultisessionFuture [17:27:17.641] - received message: FutureResult [17:27:17.641] - Received FutureResult [17:27:17.641] - Erased future from FutureRegistry [17:27:17.641] result() for ClusterFuture ... [17:27:17.641] - result already collected: FutureResult [17:27:17.642] result() for ClusterFuture ... done [17:27:17.642] signalConditions() ... [17:27:17.642] - include = 'immediateCondition' [17:27:17.642] - exclude = [17:27:17.642] - resignal = FALSE [17:27:17.642] - Number of conditions: 1 [17:27:17.642] signalConditions() ... done [17:27:17.643] receiveMessageFromWorker() for ClusterFuture ... done Resolved: TRUE Value: Conditions captured: Early signaling: FALSE Owner process: d2a8edf5-8a7b-b5a7-7a6e-8ce02a91c005 Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:17.643] result() for ClusterFuture ... [17:27:17.643] - result already collected: FutureResult [17:27:17.643] result() for ClusterFuture ... done [17:27:17.643] result() for ClusterFuture ... [17:27:17.644] - result already collected: FutureResult [17:27:17.644] result() for ClusterFuture ... done [17:27:17.644] signalConditions() ... [17:27:17.644] - include = 'immediateCondition' [17:27:17.644] - exclude = [17:27:17.644] - resignal = FALSE [17:27:17.644] - Number of conditions: 1 [17:27:17.645] signalConditions() ... done [17:27:17.645] result() for ClusterFuture ... [17:27:17.646] - result already collected: FutureResult [17:27:17.646] result() for ClusterFuture ... done [17:27:17.646] result() for ClusterFuture ... [17:27:17.646] - result already collected: FutureResult [17:27:17.646] result() for ClusterFuture ... done [17:27:17.646] signalConditions() ... [17:27:17.646] - include = 'immediateCondition' [17:27:17.647] - exclude = [17:27:17.647] - resignal = FALSE [17:27:17.647] - Number of conditions: 1 [17:27:17.647] signalConditions() ... done [17:27:17.647] Future state: 'finished' [17:27:17.647] result() for ClusterFuture ... [17:27:17.648] - result already collected: FutureResult [17:27:17.648] result() for ClusterFuture ... done [17:27:17.648] signalConditions() ... [17:27:17.648] - include = 'condition' [17:27:17.648] - exclude = 'immediateCondition' [17:27:17.648] - resignal = TRUE [17:27:17.649] - Number of conditions: 1 [17:27:17.649] - Condition #1: 'simpleError', 'error', 'condition' [17:27:17.649] signalConditions() ... done [1] "Error in withCallingHandlers({ : Whoops!\n" attr(,"class") [1] "try-error" attr(,"condition") [17:27:17.650] result() for ClusterFuture ... [17:27:17.650] - result already collected: FutureResult [17:27:17.650] result() for ClusterFuture ... done [17:27:17.650] result() for ClusterFuture ... [17:27:17.650] - result already collected: FutureResult [17:27:17.651] result() for ClusterFuture ... done [17:27:17.651] signalConditions() ... [17:27:17.651] - include = 'immediateCondition' [17:27:17.651] - exclude = [17:27:17.651] - resignal = FALSE [17:27:17.651] - Number of conditions: 1 [17:27:17.652] signalConditions() ... done [17:27:17.652] Future state: 'finished' [17:27:17.652] result() for ClusterFuture ... [17:27:17.652] - result already collected: FutureResult [17:27:17.652] result() for ClusterFuture ... done [17:27:17.652] signalConditions() ... [17:27:17.653] - include = 'condition' [17:27:17.653] - exclude = 'immediateCondition' [17:27:17.653] - resignal = TRUE [17:27:17.653] - Number of conditions: 1 [17:27:17.653] - Condition #1: 'simpleError', 'error', 'condition' [17:27:17.653] signalConditions() ... done [1] "Error in withCallingHandlers({ : Whoops!\n" attr(,"class") [1] "try-error" attr(,"condition") [17:27:17.656] getGlobalsAndPackages() ... [17:27:17.656] [17:27:17.657] - globals: [0] [17:27:17.657] getGlobalsAndPackages() ... DONE [17:27:17.669] Packages needed by the future expression (n = 0): [17:27:17.669] Packages needed by future strategies (n = 0): [17:27:17.669] { [17:27:17.669] { [17:27:17.669] { [17:27:17.669] ...future.startTime <- base::Sys.time() [17:27:17.669] { [17:27:17.669] { [17:27:17.669] { [17:27:17.669] { [17:27:17.669] base::local({ [17:27:17.669] has_future <- base::requireNamespace("future", [17:27:17.669] quietly = TRUE) [17:27:17.669] if (has_future) { [17:27:17.669] ns <- base::getNamespace("future") [17:27:17.669] version <- ns[[".package"]][["version"]] [17:27:17.669] if (is.null(version)) [17:27:17.669] version <- utils::packageVersion("future") [17:27:17.669] } [17:27:17.669] else { [17:27:17.669] version <- NULL [17:27:17.669] } [17:27:17.669] if (!has_future || version < "1.8.0") { [17:27:17.669] info <- base::c(r_version = base::gsub("R version ", [17:27:17.669] "", base::R.version$version.string), [17:27:17.669] platform = base::sprintf("%s (%s-bit)", [17:27:17.669] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:17.669] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:17.669] "release", "version")], collapse = " "), [17:27:17.669] hostname = base::Sys.info()[["nodename"]]) [17:27:17.669] info <- base::sprintf("%s: %s", base::names(info), [17:27:17.669] info) [17:27:17.669] info <- base::paste(info, collapse = "; ") [17:27:17.669] if (!has_future) { [17:27:17.669] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:17.669] info) [17:27:17.669] } [17:27:17.669] else { [17:27:17.669] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:17.669] info, version) [17:27:17.669] } [17:27:17.669] base::stop(msg) [17:27:17.669] } [17:27:17.669] }) [17:27:17.669] } [17:27:17.669] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:17.669] base::options(mc.cores = 1L) [17:27:17.669] } [17:27:17.669] ...future.strategy.old <- future::plan("list") [17:27:17.669] options(future.plan = NULL) [17:27:17.669] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.669] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:17.669] } [17:27:17.669] ...future.workdir <- getwd() [17:27:17.669] } [17:27:17.669] ...future.oldOptions <- base::as.list(base::.Options) [17:27:17.669] ...future.oldEnvVars <- base::Sys.getenv() [17:27:17.669] } [17:27:17.669] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:17.669] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:17.669] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:17.669] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:17.669] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:17.669] future.stdout.windows.reencode = NULL, width = 80L) [17:27:17.669] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:17.669] base::names(...future.oldOptions)) [17:27:17.669] } [17:27:17.669] if (FALSE) { [17:27:17.669] } [17:27:17.669] else { [17:27:17.669] if (TRUE) { [17:27:17.669] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:17.669] open = "w") [17:27:17.669] } [17:27:17.669] else { [17:27:17.669] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:17.669] windows = "NUL", "/dev/null"), open = "w") [17:27:17.669] } [17:27:17.669] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:17.669] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:17.669] base::sink(type = "output", split = FALSE) [17:27:17.669] base::close(...future.stdout) [17:27:17.669] }, add = TRUE) [17:27:17.669] } [17:27:17.669] ...future.frame <- base::sys.nframe() [17:27:17.669] ...future.conditions <- base::list() [17:27:17.669] ...future.rng <- base::globalenv()$.Random.seed [17:27:17.669] if (FALSE) { [17:27:17.669] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:17.669] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:17.669] } [17:27:17.669] ...future.result <- base::tryCatch({ [17:27:17.669] base::withCallingHandlers({ [17:27:17.669] ...future.value <- base::withVisible(base::local({ [17:27:17.669] ...future.makeSendCondition <- base::local({ [17:27:17.669] sendCondition <- NULL [17:27:17.669] function(frame = 1L) { [17:27:17.669] if (is.function(sendCondition)) [17:27:17.669] return(sendCondition) [17:27:17.669] ns <- getNamespace("parallel") [17:27:17.669] if (exists("sendData", mode = "function", [17:27:17.669] envir = ns)) { [17:27:17.669] parallel_sendData <- get("sendData", mode = "function", [17:27:17.669] envir = ns) [17:27:17.669] envir <- sys.frame(frame) [17:27:17.669] master <- NULL [17:27:17.669] while (!identical(envir, .GlobalEnv) && [17:27:17.669] !identical(envir, emptyenv())) { [17:27:17.669] if (exists("master", mode = "list", envir = envir, [17:27:17.669] inherits = FALSE)) { [17:27:17.669] master <- get("master", mode = "list", [17:27:17.669] envir = envir, inherits = FALSE) [17:27:17.669] if (inherits(master, c("SOCKnode", [17:27:17.669] "SOCK0node"))) { [17:27:17.669] sendCondition <<- function(cond) { [17:27:17.669] data <- list(type = "VALUE", value = cond, [17:27:17.669] success = TRUE) [17:27:17.669] parallel_sendData(master, data) [17:27:17.669] } [17:27:17.669] return(sendCondition) [17:27:17.669] } [17:27:17.669] } [17:27:17.669] frame <- frame + 1L [17:27:17.669] envir <- sys.frame(frame) [17:27:17.669] } [17:27:17.669] } [17:27:17.669] sendCondition <<- function(cond) NULL [17:27:17.669] } [17:27:17.669] }) [17:27:17.669] withCallingHandlers({ [17:27:17.669] { [17:27:17.669] stop(structure(list(message = "boom"), class = c("MyError", [17:27:17.669] "error", "condition"))) [17:27:17.669] } [17:27:17.669] }, immediateCondition = function(cond) { [17:27:17.669] sendCondition <- ...future.makeSendCondition() [17:27:17.669] sendCondition(cond) [17:27:17.669] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.669] { [17:27:17.669] inherits <- base::inherits [17:27:17.669] invokeRestart <- base::invokeRestart [17:27:17.669] is.null <- base::is.null [17:27:17.669] muffled <- FALSE [17:27:17.669] if (inherits(cond, "message")) { [17:27:17.669] muffled <- grepl(pattern, "muffleMessage") [17:27:17.669] if (muffled) [17:27:17.669] invokeRestart("muffleMessage") [17:27:17.669] } [17:27:17.669] else if (inherits(cond, "warning")) { [17:27:17.669] muffled <- grepl(pattern, "muffleWarning") [17:27:17.669] if (muffled) [17:27:17.669] invokeRestart("muffleWarning") [17:27:17.669] } [17:27:17.669] else if (inherits(cond, "condition")) { [17:27:17.669] if (!is.null(pattern)) { [17:27:17.669] computeRestarts <- base::computeRestarts [17:27:17.669] grepl <- base::grepl [17:27:17.669] restarts <- computeRestarts(cond) [17:27:17.669] for (restart in restarts) { [17:27:17.669] name <- restart$name [17:27:17.669] if (is.null(name)) [17:27:17.669] next [17:27:17.669] if (!grepl(pattern, name)) [17:27:17.669] next [17:27:17.669] invokeRestart(restart) [17:27:17.669] muffled <- TRUE [17:27:17.669] break [17:27:17.669] } [17:27:17.669] } [17:27:17.669] } [17:27:17.669] invisible(muffled) [17:27:17.669] } [17:27:17.669] muffleCondition(cond) [17:27:17.669] }) [17:27:17.669] })) [17:27:17.669] future::FutureResult(value = ...future.value$value, [17:27:17.669] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.669] ...future.rng), globalenv = if (FALSE) [17:27:17.669] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:17.669] ...future.globalenv.names)) [17:27:17.669] else NULL, started = ...future.startTime, version = "1.8") [17:27:17.669] }, condition = base::local({ [17:27:17.669] c <- base::c [17:27:17.669] inherits <- base::inherits [17:27:17.669] invokeRestart <- base::invokeRestart [17:27:17.669] length <- base::length [17:27:17.669] list <- base::list [17:27:17.669] seq.int <- base::seq.int [17:27:17.669] signalCondition <- base::signalCondition [17:27:17.669] sys.calls <- base::sys.calls [17:27:17.669] `[[` <- base::`[[` [17:27:17.669] `+` <- base::`+` [17:27:17.669] `<<-` <- base::`<<-` [17:27:17.669] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:17.669] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:17.669] 3L)] [17:27:17.669] } [17:27:17.669] function(cond) { [17:27:17.669] is_error <- inherits(cond, "error") [17:27:17.669] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:17.669] NULL) [17:27:17.669] if (is_error) { [17:27:17.669] sessionInformation <- function() { [17:27:17.669] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:17.669] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:17.669] search = base::search(), system = base::Sys.info()) [17:27:17.669] } [17:27:17.669] ...future.conditions[[length(...future.conditions) + [17:27:17.669] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:17.669] cond$call), session = sessionInformation(), [17:27:17.669] timestamp = base::Sys.time(), signaled = 0L) [17:27:17.669] signalCondition(cond) [17:27:17.669] } [17:27:17.669] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:17.669] "immediateCondition"))) { [17:27:17.669] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:17.669] ...future.conditions[[length(...future.conditions) + [17:27:17.669] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:17.669] if (TRUE && !signal) { [17:27:17.669] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.669] { [17:27:17.669] inherits <- base::inherits [17:27:17.669] invokeRestart <- base::invokeRestart [17:27:17.669] is.null <- base::is.null [17:27:17.669] muffled <- FALSE [17:27:17.669] if (inherits(cond, "message")) { [17:27:17.669] muffled <- grepl(pattern, "muffleMessage") [17:27:17.669] if (muffled) [17:27:17.669] invokeRestart("muffleMessage") [17:27:17.669] } [17:27:17.669] else if (inherits(cond, "warning")) { [17:27:17.669] muffled <- grepl(pattern, "muffleWarning") [17:27:17.669] if (muffled) [17:27:17.669] invokeRestart("muffleWarning") [17:27:17.669] } [17:27:17.669] else if (inherits(cond, "condition")) { [17:27:17.669] if (!is.null(pattern)) { [17:27:17.669] computeRestarts <- base::computeRestarts [17:27:17.669] grepl <- base::grepl [17:27:17.669] restarts <- computeRestarts(cond) [17:27:17.669] for (restart in restarts) { [17:27:17.669] name <- restart$name [17:27:17.669] if (is.null(name)) [17:27:17.669] next [17:27:17.669] if (!grepl(pattern, name)) [17:27:17.669] next [17:27:17.669] invokeRestart(restart) [17:27:17.669] muffled <- TRUE [17:27:17.669] break [17:27:17.669] } [17:27:17.669] } [17:27:17.669] } [17:27:17.669] invisible(muffled) [17:27:17.669] } [17:27:17.669] muffleCondition(cond, pattern = "^muffle") [17:27:17.669] } [17:27:17.669] } [17:27:17.669] else { [17:27:17.669] if (TRUE) { [17:27:17.669] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.669] { [17:27:17.669] inherits <- base::inherits [17:27:17.669] invokeRestart <- base::invokeRestart [17:27:17.669] is.null <- base::is.null [17:27:17.669] muffled <- FALSE [17:27:17.669] if (inherits(cond, "message")) { [17:27:17.669] muffled <- grepl(pattern, "muffleMessage") [17:27:17.669] if (muffled) [17:27:17.669] invokeRestart("muffleMessage") [17:27:17.669] } [17:27:17.669] else if (inherits(cond, "warning")) { [17:27:17.669] muffled <- grepl(pattern, "muffleWarning") [17:27:17.669] if (muffled) [17:27:17.669] invokeRestart("muffleWarning") [17:27:17.669] } [17:27:17.669] else if (inherits(cond, "condition")) { [17:27:17.669] if (!is.null(pattern)) { [17:27:17.669] computeRestarts <- base::computeRestarts [17:27:17.669] grepl <- base::grepl [17:27:17.669] restarts <- computeRestarts(cond) [17:27:17.669] for (restart in restarts) { [17:27:17.669] name <- restart$name [17:27:17.669] if (is.null(name)) [17:27:17.669] next [17:27:17.669] if (!grepl(pattern, name)) [17:27:17.669] next [17:27:17.669] invokeRestart(restart) [17:27:17.669] muffled <- TRUE [17:27:17.669] break [17:27:17.669] } [17:27:17.669] } [17:27:17.669] } [17:27:17.669] invisible(muffled) [17:27:17.669] } [17:27:17.669] muffleCondition(cond, pattern = "^muffle") [17:27:17.669] } [17:27:17.669] } [17:27:17.669] } [17:27:17.669] })) [17:27:17.669] }, error = function(ex) { [17:27:17.669] base::structure(base::list(value = NULL, visible = NULL, [17:27:17.669] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.669] ...future.rng), started = ...future.startTime, [17:27:17.669] finished = Sys.time(), session_uuid = NA_character_, [17:27:17.669] version = "1.8"), class = "FutureResult") [17:27:17.669] }, finally = { [17:27:17.669] if (!identical(...future.workdir, getwd())) [17:27:17.669] setwd(...future.workdir) [17:27:17.669] { [17:27:17.669] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:17.669] ...future.oldOptions$nwarnings <- NULL [17:27:17.669] } [17:27:17.669] base::options(...future.oldOptions) [17:27:17.669] if (.Platform$OS.type == "windows") { [17:27:17.669] old_names <- names(...future.oldEnvVars) [17:27:17.669] envs <- base::Sys.getenv() [17:27:17.669] names <- names(envs) [17:27:17.669] common <- intersect(names, old_names) [17:27:17.669] added <- setdiff(names, old_names) [17:27:17.669] removed <- setdiff(old_names, names) [17:27:17.669] changed <- common[...future.oldEnvVars[common] != [17:27:17.669] envs[common]] [17:27:17.669] NAMES <- toupper(changed) [17:27:17.669] args <- list() [17:27:17.669] for (kk in seq_along(NAMES)) { [17:27:17.669] name <- changed[[kk]] [17:27:17.669] NAME <- NAMES[[kk]] [17:27:17.669] if (name != NAME && is.element(NAME, old_names)) [17:27:17.669] next [17:27:17.669] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.669] } [17:27:17.669] NAMES <- toupper(added) [17:27:17.669] for (kk in seq_along(NAMES)) { [17:27:17.669] name <- added[[kk]] [17:27:17.669] NAME <- NAMES[[kk]] [17:27:17.669] if (name != NAME && is.element(NAME, old_names)) [17:27:17.669] next [17:27:17.669] args[[name]] <- "" [17:27:17.669] } [17:27:17.669] NAMES <- toupper(removed) [17:27:17.669] for (kk in seq_along(NAMES)) { [17:27:17.669] name <- removed[[kk]] [17:27:17.669] NAME <- NAMES[[kk]] [17:27:17.669] if (name != NAME && is.element(NAME, old_names)) [17:27:17.669] next [17:27:17.669] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.669] } [17:27:17.669] if (length(args) > 0) [17:27:17.669] base::do.call(base::Sys.setenv, args = args) [17:27:17.669] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:17.669] } [17:27:17.669] else { [17:27:17.669] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:17.669] } [17:27:17.669] { [17:27:17.669] if (base::length(...future.futureOptionsAdded) > [17:27:17.669] 0L) { [17:27:17.669] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:17.669] base::names(opts) <- ...future.futureOptionsAdded [17:27:17.669] base::options(opts) [17:27:17.669] } [17:27:17.669] { [17:27:17.669] { [17:27:17.669] base::options(mc.cores = ...future.mc.cores.old) [17:27:17.669] NULL [17:27:17.669] } [17:27:17.669] options(future.plan = NULL) [17:27:17.669] if (is.na(NA_character_)) [17:27:17.669] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.669] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:17.669] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:17.669] .init = FALSE) [17:27:17.669] } [17:27:17.669] } [17:27:17.669] } [17:27:17.669] }) [17:27:17.669] if (TRUE) { [17:27:17.669] base::sink(type = "output", split = FALSE) [17:27:17.669] if (TRUE) { [17:27:17.669] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:17.669] } [17:27:17.669] else { [17:27:17.669] ...future.result["stdout"] <- base::list(NULL) [17:27:17.669] } [17:27:17.669] base::close(...future.stdout) [17:27:17.669] ...future.stdout <- NULL [17:27:17.669] } [17:27:17.669] ...future.result$conditions <- ...future.conditions [17:27:17.669] ...future.result$finished <- base::Sys.time() [17:27:17.669] ...future.result [17:27:17.669] } [17:27:17.675] MultisessionFuture started MultisessionFuture: Label: '' Expression: { stop(structure(list(message = "boom"), class = c("MyError", "error", "condition"))) } Lazy evaluation: FALSE Asynchronous evaluation: TRUE Local evaluation: TRUE Environment: R_GlobalEnv Capture standard output: TRUE Capture condition classes: 'condition' (excluding 'nothing') Globals: Packages: L'Ecuyer-CMRG RNG seed: (seed = FALSE) [17:27:17.690] receiveMessageFromWorker() for ClusterFuture ... [17:27:17.690] - Validating connection of MultisessionFuture [17:27:17.691] - received message: FutureResult [17:27:17.691] - Received FutureResult [17:27:17.691] - Erased future from FutureRegistry [17:27:17.691] result() for ClusterFuture ... [17:27:17.692] - result already collected: FutureResult [17:27:17.692] result() for ClusterFuture ... done [17:27:17.692] signalConditions() ... [17:27:17.692] - include = 'immediateCondition' [17:27:17.692] - exclude = [17:27:17.692] - resignal = FALSE [17:27:17.692] - Number of conditions: 1 [17:27:17.693] signalConditions() ... done [17:27:17.693] receiveMessageFromWorker() for ClusterFuture ... done Resolved: TRUE Value: Conditions captured: Early signaling: FALSE Owner process: d2a8edf5-8a7b-b5a7-7a6e-8ce02a91c005 Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:17.693] result() for ClusterFuture ... [17:27:17.693] - result already collected: FutureResult [17:27:17.693] result() for ClusterFuture ... done [17:27:17.694] result() for ClusterFuture ... [17:27:17.694] - result already collected: FutureResult [17:27:17.694] result() for ClusterFuture ... done [17:27:17.694] signalConditions() ... [17:27:17.694] - include = 'immediateCondition' [17:27:17.694] - exclude = [17:27:17.694] - resignal = FALSE [17:27:17.695] - Number of conditions: 1 [17:27:17.695] signalConditions() ... done [17:27:17.695] result() for ClusterFuture ... [17:27:17.695] - result already collected: FutureResult [17:27:17.695] result() for ClusterFuture ... done [17:27:17.696] result() for ClusterFuture ... [17:27:17.696] - result already collected: FutureResult [17:27:17.696] result() for ClusterFuture ... done [17:27:17.696] signalConditions() ... [17:27:17.696] - include = 'immediateCondition' [17:27:17.696] - exclude = [17:27:17.697] - resignal = FALSE [17:27:17.697] - Number of conditions: 1 [17:27:17.697] signalConditions() ... done [17:27:17.697] Future state: 'finished' [17:27:17.697] result() for ClusterFuture ... [17:27:17.697] - result already collected: FutureResult [17:27:17.698] result() for ClusterFuture ... done [17:27:17.698] signalConditions() ... [17:27:17.698] - include = 'condition' [17:27:17.698] - exclude = 'immediateCondition' [17:27:17.698] - resignal = TRUE [17:27:17.698] - Number of conditions: 1 [17:27:17.699] - Condition #1: 'MyError', 'error', 'condition' [17:27:17.699] signalConditions() ... done Testing with 2 cores ... DONE > > > message("*** multisession() - too large globals ...") *** multisession() - too large globals ... > ooptsT <- options(future.globals.maxSize = object.size(1:1014)) > > limit <- getOption("future.globals.maxSize") > cat(sprintf("Max total size of globals: %g bytes\n", limit)) Max total size of globals: 4104 bytes > > for (workers in unique(c(1L, availableCores()))) { + ## Speed up CRAN checks: Skip on CRAN Windows 32-bit + if (!fullTest && isWin32) next + + message("Max number of sessions: ", workers) + + ## A large object + a <- 1:1014 + yTruth <- sum(a) + size <- object.size(a) + cat(sprintf("a: %g bytes\n", size)) + f <- multisession({ sum(a) }, globals = TRUE, workers = workers) + print(f) + rm(list = "a") + v <- value(f) + print(v) + stopifnot(v == yTruth) + + + ## A too large object + a <- 1:1015 + yTruth <- sum(a) + size <- object.size(a) + cat(sprintf("a: %g bytes\n", size)) + res <- try(f <- multisession({ sum(a) }, globals = TRUE, workers = workers), silent = TRUE) + rm(list = "a") + stopifnot(inherits(res, "try-error")) + } ## for (workers in ...) Max number of sessions: 1 a: 4104 bytes [17:27:17.717] getGlobalsAndPackages() ... [17:27:17.717] Searching for globals... [17:27:17.718] - globals found: [3] '{', 'sum', 'a' [17:27:17.718] Searching for globals ... DONE [17:27:17.718] Resolving globals: FALSE [17:27:17.719] The total size of the 1 globals is 4.01 KiB (4104 bytes) [17:27:17.719] The total size of the 1 globals exported for future expression ('{; sum(a); }') is 4.01 KiB.. This exceeds the maximum allowed size of 4.01 KiB (option 'future.globals.maxSize'). There is one global: 'a' (4.01 KiB of class 'numeric') [17:27:17.719] - globals: [1] 'a' [17:27:17.720] [17:27:17.720] getGlobalsAndPackages() ... DONE SequentialFuture: Label: '' Expression: { sum(a) } Lazy evaluation: TRUE Asynchronous evaluation: FALSE Local evaluation: TRUE Environment: R_GlobalEnv Capture standard output: TRUE Capture condition classes: 'condition' (excluding 'nothing') Globals: 1 objects totaling 4.01 KiB (integer 'a' of 4.01 KiB) Packages: L'Ecuyer-CMRG RNG seed: (seed = FALSE) Resolved: FALSE Value: Conditions captured: Early signaling: FALSE Owner process: d2a8edf5-8a7b-b5a7-7a6e-8ce02a91c005 Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:17.721] Packages needed by the future expression (n = 0): [17:27:17.721] Packages needed by future strategies (n = 0): [17:27:17.721] { [17:27:17.721] { [17:27:17.721] { [17:27:17.721] ...future.startTime <- base::Sys.time() [17:27:17.721] { [17:27:17.721] { [17:27:17.721] { [17:27:17.721] base::local({ [17:27:17.721] has_future <- base::requireNamespace("future", [17:27:17.721] quietly = TRUE) [17:27:17.721] if (has_future) { [17:27:17.721] ns <- base::getNamespace("future") [17:27:17.721] version <- ns[[".package"]][["version"]] [17:27:17.721] if (is.null(version)) [17:27:17.721] version <- utils::packageVersion("future") [17:27:17.721] } [17:27:17.721] else { [17:27:17.721] version <- NULL [17:27:17.721] } [17:27:17.721] if (!has_future || version < "1.8.0") { [17:27:17.721] info <- base::c(r_version = base::gsub("R version ", [17:27:17.721] "", base::R.version$version.string), [17:27:17.721] platform = base::sprintf("%s (%s-bit)", [17:27:17.721] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:17.721] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:17.721] "release", "version")], collapse = " "), [17:27:17.721] hostname = base::Sys.info()[["nodename"]]) [17:27:17.721] info <- base::sprintf("%s: %s", base::names(info), [17:27:17.721] info) [17:27:17.721] info <- base::paste(info, collapse = "; ") [17:27:17.721] if (!has_future) { [17:27:17.721] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:17.721] info) [17:27:17.721] } [17:27:17.721] else { [17:27:17.721] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:17.721] info, version) [17:27:17.721] } [17:27:17.721] base::stop(msg) [17:27:17.721] } [17:27:17.721] }) [17:27:17.721] } [17:27:17.721] ...future.strategy.old <- future::plan("list") [17:27:17.721] options(future.plan = NULL) [17:27:17.721] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.721] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:17.721] } [17:27:17.721] ...future.workdir <- getwd() [17:27:17.721] } [17:27:17.721] ...future.oldOptions <- base::as.list(base::.Options) [17:27:17.721] ...future.oldEnvVars <- base::Sys.getenv() [17:27:17.721] } [17:27:17.721] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:17.721] future.globals.maxSize = 4104, future.globals.method = NULL, [17:27:17.721] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:17.721] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:17.721] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:17.721] future.stdout.windows.reencode = NULL, width = 80L) [17:27:17.721] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:17.721] base::names(...future.oldOptions)) [17:27:17.721] } [17:27:17.721] if (FALSE) { [17:27:17.721] } [17:27:17.721] else { [17:27:17.721] if (TRUE) { [17:27:17.721] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:17.721] open = "w") [17:27:17.721] } [17:27:17.721] else { [17:27:17.721] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:17.721] windows = "NUL", "/dev/null"), open = "w") [17:27:17.721] } [17:27:17.721] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:17.721] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:17.721] base::sink(type = "output", split = FALSE) [17:27:17.721] base::close(...future.stdout) [17:27:17.721] }, add = TRUE) [17:27:17.721] } [17:27:17.721] ...future.frame <- base::sys.nframe() [17:27:17.721] ...future.conditions <- base::list() [17:27:17.721] ...future.rng <- base::globalenv()$.Random.seed [17:27:17.721] if (FALSE) { [17:27:17.721] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:17.721] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:17.721] } [17:27:17.721] ...future.result <- base::tryCatch({ [17:27:17.721] base::withCallingHandlers({ [17:27:17.721] ...future.value <- base::withVisible(base::local({ [17:27:17.721] sum(a) [17:27:17.721] })) [17:27:17.721] future::FutureResult(value = ...future.value$value, [17:27:17.721] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.721] ...future.rng), globalenv = if (FALSE) [17:27:17.721] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:17.721] ...future.globalenv.names)) [17:27:17.721] else NULL, started = ...future.startTime, version = "1.8") [17:27:17.721] }, condition = base::local({ [17:27:17.721] c <- base::c [17:27:17.721] inherits <- base::inherits [17:27:17.721] invokeRestart <- base::invokeRestart [17:27:17.721] length <- base::length [17:27:17.721] list <- base::list [17:27:17.721] seq.int <- base::seq.int [17:27:17.721] signalCondition <- base::signalCondition [17:27:17.721] sys.calls <- base::sys.calls [17:27:17.721] `[[` <- base::`[[` [17:27:17.721] `+` <- base::`+` [17:27:17.721] `<<-` <- base::`<<-` [17:27:17.721] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:17.721] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:17.721] 3L)] [17:27:17.721] } [17:27:17.721] function(cond) { [17:27:17.721] is_error <- inherits(cond, "error") [17:27:17.721] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:17.721] NULL) [17:27:17.721] if (is_error) { [17:27:17.721] sessionInformation <- function() { [17:27:17.721] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:17.721] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:17.721] search = base::search(), system = base::Sys.info()) [17:27:17.721] } [17:27:17.721] ...future.conditions[[length(...future.conditions) + [17:27:17.721] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:17.721] cond$call), session = sessionInformation(), [17:27:17.721] timestamp = base::Sys.time(), signaled = 0L) [17:27:17.721] signalCondition(cond) [17:27:17.721] } [17:27:17.721] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:17.721] "immediateCondition"))) { [17:27:17.721] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:17.721] ...future.conditions[[length(...future.conditions) + [17:27:17.721] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:17.721] if (TRUE && !signal) { [17:27:17.721] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.721] { [17:27:17.721] inherits <- base::inherits [17:27:17.721] invokeRestart <- base::invokeRestart [17:27:17.721] is.null <- base::is.null [17:27:17.721] muffled <- FALSE [17:27:17.721] if (inherits(cond, "message")) { [17:27:17.721] muffled <- grepl(pattern, "muffleMessage") [17:27:17.721] if (muffled) [17:27:17.721] invokeRestart("muffleMessage") [17:27:17.721] } [17:27:17.721] else if (inherits(cond, "warning")) { [17:27:17.721] muffled <- grepl(pattern, "muffleWarning") [17:27:17.721] if (muffled) [17:27:17.721] invokeRestart("muffleWarning") [17:27:17.721] } [17:27:17.721] else if (inherits(cond, "condition")) { [17:27:17.721] if (!is.null(pattern)) { [17:27:17.721] computeRestarts <- base::computeRestarts [17:27:17.721] grepl <- base::grepl [17:27:17.721] restarts <- computeRestarts(cond) [17:27:17.721] for (restart in restarts) { [17:27:17.721] name <- restart$name [17:27:17.721] if (is.null(name)) [17:27:17.721] next [17:27:17.721] if (!grepl(pattern, name)) [17:27:17.721] next [17:27:17.721] invokeRestart(restart) [17:27:17.721] muffled <- TRUE [17:27:17.721] break [17:27:17.721] } [17:27:17.721] } [17:27:17.721] } [17:27:17.721] invisible(muffled) [17:27:17.721] } [17:27:17.721] muffleCondition(cond, pattern = "^muffle") [17:27:17.721] } [17:27:17.721] } [17:27:17.721] else { [17:27:17.721] if (TRUE) { [17:27:17.721] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.721] { [17:27:17.721] inherits <- base::inherits [17:27:17.721] invokeRestart <- base::invokeRestart [17:27:17.721] is.null <- base::is.null [17:27:17.721] muffled <- FALSE [17:27:17.721] if (inherits(cond, "message")) { [17:27:17.721] muffled <- grepl(pattern, "muffleMessage") [17:27:17.721] if (muffled) [17:27:17.721] invokeRestart("muffleMessage") [17:27:17.721] } [17:27:17.721] else if (inherits(cond, "warning")) { [17:27:17.721] muffled <- grepl(pattern, "muffleWarning") [17:27:17.721] if (muffled) [17:27:17.721] invokeRestart("muffleWarning") [17:27:17.721] } [17:27:17.721] else if (inherits(cond, "condition")) { [17:27:17.721] if (!is.null(pattern)) { [17:27:17.721] computeRestarts <- base::computeRestarts [17:27:17.721] grepl <- base::grepl [17:27:17.721] restarts <- computeRestarts(cond) [17:27:17.721] for (restart in restarts) { [17:27:17.721] name <- restart$name [17:27:17.721] if (is.null(name)) [17:27:17.721] next [17:27:17.721] if (!grepl(pattern, name)) [17:27:17.721] next [17:27:17.721] invokeRestart(restart) [17:27:17.721] muffled <- TRUE [17:27:17.721] break [17:27:17.721] } [17:27:17.721] } [17:27:17.721] } [17:27:17.721] invisible(muffled) [17:27:17.721] } [17:27:17.721] muffleCondition(cond, pattern = "^muffle") [17:27:17.721] } [17:27:17.721] } [17:27:17.721] } [17:27:17.721] })) [17:27:17.721] }, error = function(ex) { [17:27:17.721] base::structure(base::list(value = NULL, visible = NULL, [17:27:17.721] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.721] ...future.rng), started = ...future.startTime, [17:27:17.721] finished = Sys.time(), session_uuid = NA_character_, [17:27:17.721] version = "1.8"), class = "FutureResult") [17:27:17.721] }, finally = { [17:27:17.721] if (!identical(...future.workdir, getwd())) [17:27:17.721] setwd(...future.workdir) [17:27:17.721] { [17:27:17.721] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:17.721] ...future.oldOptions$nwarnings <- NULL [17:27:17.721] } [17:27:17.721] base::options(...future.oldOptions) [17:27:17.721] if (.Platform$OS.type == "windows") { [17:27:17.721] old_names <- names(...future.oldEnvVars) [17:27:17.721] envs <- base::Sys.getenv() [17:27:17.721] names <- names(envs) [17:27:17.721] common <- intersect(names, old_names) [17:27:17.721] added <- setdiff(names, old_names) [17:27:17.721] removed <- setdiff(old_names, names) [17:27:17.721] changed <- common[...future.oldEnvVars[common] != [17:27:17.721] envs[common]] [17:27:17.721] NAMES <- toupper(changed) [17:27:17.721] args <- list() [17:27:17.721] for (kk in seq_along(NAMES)) { [17:27:17.721] name <- changed[[kk]] [17:27:17.721] NAME <- NAMES[[kk]] [17:27:17.721] if (name != NAME && is.element(NAME, old_names)) [17:27:17.721] next [17:27:17.721] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.721] } [17:27:17.721] NAMES <- toupper(added) [17:27:17.721] for (kk in seq_along(NAMES)) { [17:27:17.721] name <- added[[kk]] [17:27:17.721] NAME <- NAMES[[kk]] [17:27:17.721] if (name != NAME && is.element(NAME, old_names)) [17:27:17.721] next [17:27:17.721] args[[name]] <- "" [17:27:17.721] } [17:27:17.721] NAMES <- toupper(removed) [17:27:17.721] for (kk in seq_along(NAMES)) { [17:27:17.721] name <- removed[[kk]] [17:27:17.721] NAME <- NAMES[[kk]] [17:27:17.721] if (name != NAME && is.element(NAME, old_names)) [17:27:17.721] next [17:27:17.721] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.721] } [17:27:17.721] if (length(args) > 0) [17:27:17.721] base::do.call(base::Sys.setenv, args = args) [17:27:17.721] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:17.721] } [17:27:17.721] else { [17:27:17.721] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:17.721] } [17:27:17.721] { [17:27:17.721] if (base::length(...future.futureOptionsAdded) > [17:27:17.721] 0L) { [17:27:17.721] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:17.721] base::names(opts) <- ...future.futureOptionsAdded [17:27:17.721] base::options(opts) [17:27:17.721] } [17:27:17.721] { [17:27:17.721] { [17:27:17.721] NULL [17:27:17.721] RNGkind("Mersenne-Twister") [17:27:17.721] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:17.721] inherits = FALSE) [17:27:17.721] } [17:27:17.721] options(future.plan = NULL) [17:27:17.721] if (is.na(NA_character_)) [17:27:17.721] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.721] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:17.721] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:17.721] .init = FALSE) [17:27:17.721] } [17:27:17.721] } [17:27:17.721] } [17:27:17.721] }) [17:27:17.721] if (TRUE) { [17:27:17.721] base::sink(type = "output", split = FALSE) [17:27:17.721] if (TRUE) { [17:27:17.721] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:17.721] } [17:27:17.721] else { [17:27:17.721] ...future.result["stdout"] <- base::list(NULL) [17:27:17.721] } [17:27:17.721] base::close(...future.stdout) [17:27:17.721] ...future.stdout <- NULL [17:27:17.721] } [17:27:17.721] ...future.result$conditions <- ...future.conditions [17:27:17.721] ...future.result$finished <- base::Sys.time() [17:27:17.721] ...future.result [17:27:17.721] } [17:27:17.725] assign_globals() ... [17:27:17.725] List of 1 [17:27:17.725] $ a: int [1:1014] 1 2 3 4 5 6 7 8 9 10 ... [17:27:17.725] - attr(*, "where")=List of 1 [17:27:17.725] ..$ a: [17:27:17.725] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:17.725] - attr(*, "resolved")= logi FALSE [17:27:17.725] - attr(*, "total_size")= num 4104 [17:27:17.728] - copied 'a' to environment [17:27:17.728] assign_globals() ... done [17:27:17.729] plan(): Setting new future strategy stack: [17:27:17.729] List of future strategies: [17:27:17.729] 1. sequential: [17:27:17.729] - args: function (..., envir = parent.frame(), workers = "") [17:27:17.729] - tweaked: FALSE [17:27:17.729] - call: NULL [17:27:17.729] plan(): nbrOfWorkers() = 1 [17:27:17.730] plan(): Setting new future strategy stack: [17:27:17.731] List of future strategies: [17:27:17.731] 1. sequential: [17:27:17.731] - args: function (..., envir = parent.frame(), workers = "") [17:27:17.731] - tweaked: FALSE [17:27:17.731] - call: future::plan("sequential") [17:27:17.731] plan(): nbrOfWorkers() = 1 [17:27:17.732] SequentialFuture started (and completed) [1] 514605 a: 4112 bytes [17:27:17.732] getGlobalsAndPackages() ... [17:27:17.732] Searching for globals... [17:27:17.733] - globals found: [3] '{', 'sum', 'a' [17:27:17.733] Searching for globals ... DONE [17:27:17.733] Resolving globals: FALSE [17:27:17.734] The total size of the 1 globals is 4.02 KiB (4112 bytes) [17:27:17.734] The total size of the 1 globals exported for future expression ('{; sum(a); }') is 4.02 KiB.. This exceeds the maximum allowed size of 4.01 KiB (option 'future.globals.maxSize'). There is one global: 'a' (4.02 KiB of class 'numeric') Max number of sessions: 2 a: 4104 bytes [17:27:17.735] getGlobalsAndPackages() ... [17:27:17.735] Searching for globals... [17:27:17.736] - globals found: [3] '{', 'sum', 'a' [17:27:17.736] Searching for globals ... DONE [17:27:17.736] Resolving globals: FALSE [17:27:17.737] The total size of the 1 globals is 4.01 KiB (4104 bytes) [17:27:17.737] The total size of the 1 globals exported for future expression ('{; sum(a); }') is 4.01 KiB.. This exceeds the maximum allowed size of 4.01 KiB (option 'future.globals.maxSize'). There is one global: 'a' (4.01 KiB of class 'numeric') [17:27:17.738] - globals: [1] 'a' [17:27:17.738] [17:27:17.738] getGlobalsAndPackages() ... DONE [17:27:17.749] Packages needed by the future expression (n = 0): [17:27:17.749] Packages needed by future strategies (n = 0): [17:27:17.750] { [17:27:17.750] { [17:27:17.750] { [17:27:17.750] ...future.startTime <- base::Sys.time() [17:27:17.750] { [17:27:17.750] { [17:27:17.750] { [17:27:17.750] { [17:27:17.750] base::local({ [17:27:17.750] has_future <- base::requireNamespace("future", [17:27:17.750] quietly = TRUE) [17:27:17.750] if (has_future) { [17:27:17.750] ns <- base::getNamespace("future") [17:27:17.750] version <- ns[[".package"]][["version"]] [17:27:17.750] if (is.null(version)) [17:27:17.750] version <- utils::packageVersion("future") [17:27:17.750] } [17:27:17.750] else { [17:27:17.750] version <- NULL [17:27:17.750] } [17:27:17.750] if (!has_future || version < "1.8.0") { [17:27:17.750] info <- base::c(r_version = base::gsub("R version ", [17:27:17.750] "", base::R.version$version.string), [17:27:17.750] platform = base::sprintf("%s (%s-bit)", [17:27:17.750] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:17.750] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:17.750] "release", "version")], collapse = " "), [17:27:17.750] hostname = base::Sys.info()[["nodename"]]) [17:27:17.750] info <- base::sprintf("%s: %s", base::names(info), [17:27:17.750] info) [17:27:17.750] info <- base::paste(info, collapse = "; ") [17:27:17.750] if (!has_future) { [17:27:17.750] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:17.750] info) [17:27:17.750] } [17:27:17.750] else { [17:27:17.750] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:17.750] info, version) [17:27:17.750] } [17:27:17.750] base::stop(msg) [17:27:17.750] } [17:27:17.750] }) [17:27:17.750] } [17:27:17.750] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:17.750] base::options(mc.cores = 1L) [17:27:17.750] } [17:27:17.750] ...future.strategy.old <- future::plan("list") [17:27:17.750] options(future.plan = NULL) [17:27:17.750] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.750] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:17.750] } [17:27:17.750] ...future.workdir <- getwd() [17:27:17.750] } [17:27:17.750] ...future.oldOptions <- base::as.list(base::.Options) [17:27:17.750] ...future.oldEnvVars <- base::Sys.getenv() [17:27:17.750] } [17:27:17.750] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:17.750] future.globals.maxSize = 4104, future.globals.method = NULL, [17:27:17.750] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:17.750] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:17.750] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:17.750] future.stdout.windows.reencode = NULL, width = 80L) [17:27:17.750] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:17.750] base::names(...future.oldOptions)) [17:27:17.750] } [17:27:17.750] if (FALSE) { [17:27:17.750] } [17:27:17.750] else { [17:27:17.750] if (TRUE) { [17:27:17.750] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:17.750] open = "w") [17:27:17.750] } [17:27:17.750] else { [17:27:17.750] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:17.750] windows = "NUL", "/dev/null"), open = "w") [17:27:17.750] } [17:27:17.750] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:17.750] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:17.750] base::sink(type = "output", split = FALSE) [17:27:17.750] base::close(...future.stdout) [17:27:17.750] }, add = TRUE) [17:27:17.750] } [17:27:17.750] ...future.frame <- base::sys.nframe() [17:27:17.750] ...future.conditions <- base::list() [17:27:17.750] ...future.rng <- base::globalenv()$.Random.seed [17:27:17.750] if (FALSE) { [17:27:17.750] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:17.750] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:17.750] } [17:27:17.750] ...future.result <- base::tryCatch({ [17:27:17.750] base::withCallingHandlers({ [17:27:17.750] ...future.value <- base::withVisible(base::local({ [17:27:17.750] ...future.makeSendCondition <- base::local({ [17:27:17.750] sendCondition <- NULL [17:27:17.750] function(frame = 1L) { [17:27:17.750] if (is.function(sendCondition)) [17:27:17.750] return(sendCondition) [17:27:17.750] ns <- getNamespace("parallel") [17:27:17.750] if (exists("sendData", mode = "function", [17:27:17.750] envir = ns)) { [17:27:17.750] parallel_sendData <- get("sendData", mode = "function", [17:27:17.750] envir = ns) [17:27:17.750] envir <- sys.frame(frame) [17:27:17.750] master <- NULL [17:27:17.750] while (!identical(envir, .GlobalEnv) && [17:27:17.750] !identical(envir, emptyenv())) { [17:27:17.750] if (exists("master", mode = "list", envir = envir, [17:27:17.750] inherits = FALSE)) { [17:27:17.750] master <- get("master", mode = "list", [17:27:17.750] envir = envir, inherits = FALSE) [17:27:17.750] if (inherits(master, c("SOCKnode", [17:27:17.750] "SOCK0node"))) { [17:27:17.750] sendCondition <<- function(cond) { [17:27:17.750] data <- list(type = "VALUE", value = cond, [17:27:17.750] success = TRUE) [17:27:17.750] parallel_sendData(master, data) [17:27:17.750] } [17:27:17.750] return(sendCondition) [17:27:17.750] } [17:27:17.750] } [17:27:17.750] frame <- frame + 1L [17:27:17.750] envir <- sys.frame(frame) [17:27:17.750] } [17:27:17.750] } [17:27:17.750] sendCondition <<- function(cond) NULL [17:27:17.750] } [17:27:17.750] }) [17:27:17.750] withCallingHandlers({ [17:27:17.750] { [17:27:17.750] sum(a) [17:27:17.750] } [17:27:17.750] }, immediateCondition = function(cond) { [17:27:17.750] sendCondition <- ...future.makeSendCondition() [17:27:17.750] sendCondition(cond) [17:27:17.750] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.750] { [17:27:17.750] inherits <- base::inherits [17:27:17.750] invokeRestart <- base::invokeRestart [17:27:17.750] is.null <- base::is.null [17:27:17.750] muffled <- FALSE [17:27:17.750] if (inherits(cond, "message")) { [17:27:17.750] muffled <- grepl(pattern, "muffleMessage") [17:27:17.750] if (muffled) [17:27:17.750] invokeRestart("muffleMessage") [17:27:17.750] } [17:27:17.750] else if (inherits(cond, "warning")) { [17:27:17.750] muffled <- grepl(pattern, "muffleWarning") [17:27:17.750] if (muffled) [17:27:17.750] invokeRestart("muffleWarning") [17:27:17.750] } [17:27:17.750] else if (inherits(cond, "condition")) { [17:27:17.750] if (!is.null(pattern)) { [17:27:17.750] computeRestarts <- base::computeRestarts [17:27:17.750] grepl <- base::grepl [17:27:17.750] restarts <- computeRestarts(cond) [17:27:17.750] for (restart in restarts) { [17:27:17.750] name <- restart$name [17:27:17.750] if (is.null(name)) [17:27:17.750] next [17:27:17.750] if (!grepl(pattern, name)) [17:27:17.750] next [17:27:17.750] invokeRestart(restart) [17:27:17.750] muffled <- TRUE [17:27:17.750] break [17:27:17.750] } [17:27:17.750] } [17:27:17.750] } [17:27:17.750] invisible(muffled) [17:27:17.750] } [17:27:17.750] muffleCondition(cond) [17:27:17.750] }) [17:27:17.750] })) [17:27:17.750] future::FutureResult(value = ...future.value$value, [17:27:17.750] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.750] ...future.rng), globalenv = if (FALSE) [17:27:17.750] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:17.750] ...future.globalenv.names)) [17:27:17.750] else NULL, started = ...future.startTime, version = "1.8") [17:27:17.750] }, condition = base::local({ [17:27:17.750] c <- base::c [17:27:17.750] inherits <- base::inherits [17:27:17.750] invokeRestart <- base::invokeRestart [17:27:17.750] length <- base::length [17:27:17.750] list <- base::list [17:27:17.750] seq.int <- base::seq.int [17:27:17.750] signalCondition <- base::signalCondition [17:27:17.750] sys.calls <- base::sys.calls [17:27:17.750] `[[` <- base::`[[` [17:27:17.750] `+` <- base::`+` [17:27:17.750] `<<-` <- base::`<<-` [17:27:17.750] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:17.750] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:17.750] 3L)] [17:27:17.750] } [17:27:17.750] function(cond) { [17:27:17.750] is_error <- inherits(cond, "error") [17:27:17.750] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:17.750] NULL) [17:27:17.750] if (is_error) { [17:27:17.750] sessionInformation <- function() { [17:27:17.750] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:17.750] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:17.750] search = base::search(), system = base::Sys.info()) [17:27:17.750] } [17:27:17.750] ...future.conditions[[length(...future.conditions) + [17:27:17.750] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:17.750] cond$call), session = sessionInformation(), [17:27:17.750] timestamp = base::Sys.time(), signaled = 0L) [17:27:17.750] signalCondition(cond) [17:27:17.750] } [17:27:17.750] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:17.750] "immediateCondition"))) { [17:27:17.750] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:17.750] ...future.conditions[[length(...future.conditions) + [17:27:17.750] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:17.750] if (TRUE && !signal) { [17:27:17.750] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.750] { [17:27:17.750] inherits <- base::inherits [17:27:17.750] invokeRestart <- base::invokeRestart [17:27:17.750] is.null <- base::is.null [17:27:17.750] muffled <- FALSE [17:27:17.750] if (inherits(cond, "message")) { [17:27:17.750] muffled <- grepl(pattern, "muffleMessage") [17:27:17.750] if (muffled) [17:27:17.750] invokeRestart("muffleMessage") [17:27:17.750] } [17:27:17.750] else if (inherits(cond, "warning")) { [17:27:17.750] muffled <- grepl(pattern, "muffleWarning") [17:27:17.750] if (muffled) [17:27:17.750] invokeRestart("muffleWarning") [17:27:17.750] } [17:27:17.750] else if (inherits(cond, "condition")) { [17:27:17.750] if (!is.null(pattern)) { [17:27:17.750] computeRestarts <- base::computeRestarts [17:27:17.750] grepl <- base::grepl [17:27:17.750] restarts <- computeRestarts(cond) [17:27:17.750] for (restart in restarts) { [17:27:17.750] name <- restart$name [17:27:17.750] if (is.null(name)) [17:27:17.750] next [17:27:17.750] if (!grepl(pattern, name)) [17:27:17.750] next [17:27:17.750] invokeRestart(restart) [17:27:17.750] muffled <- TRUE [17:27:17.750] break [17:27:17.750] } [17:27:17.750] } [17:27:17.750] } [17:27:17.750] invisible(muffled) [17:27:17.750] } [17:27:17.750] muffleCondition(cond, pattern = "^muffle") [17:27:17.750] } [17:27:17.750] } [17:27:17.750] else { [17:27:17.750] if (TRUE) { [17:27:17.750] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.750] { [17:27:17.750] inherits <- base::inherits [17:27:17.750] invokeRestart <- base::invokeRestart [17:27:17.750] is.null <- base::is.null [17:27:17.750] muffled <- FALSE [17:27:17.750] if (inherits(cond, "message")) { [17:27:17.750] muffled <- grepl(pattern, "muffleMessage") [17:27:17.750] if (muffled) [17:27:17.750] invokeRestart("muffleMessage") [17:27:17.750] } [17:27:17.750] else if (inherits(cond, "warning")) { [17:27:17.750] muffled <- grepl(pattern, "muffleWarning") [17:27:17.750] if (muffled) [17:27:17.750] invokeRestart("muffleWarning") [17:27:17.750] } [17:27:17.750] else if (inherits(cond, "condition")) { [17:27:17.750] if (!is.null(pattern)) { [17:27:17.750] computeRestarts <- base::computeRestarts [17:27:17.750] grepl <- base::grepl [17:27:17.750] restarts <- computeRestarts(cond) [17:27:17.750] for (restart in restarts) { [17:27:17.750] name <- restart$name [17:27:17.750] if (is.null(name)) [17:27:17.750] next [17:27:17.750] if (!grepl(pattern, name)) [17:27:17.750] next [17:27:17.750] invokeRestart(restart) [17:27:17.750] muffled <- TRUE [17:27:17.750] break [17:27:17.750] } [17:27:17.750] } [17:27:17.750] } [17:27:17.750] invisible(muffled) [17:27:17.750] } [17:27:17.750] muffleCondition(cond, pattern = "^muffle") [17:27:17.750] } [17:27:17.750] } [17:27:17.750] } [17:27:17.750] })) [17:27:17.750] }, error = function(ex) { [17:27:17.750] base::structure(base::list(value = NULL, visible = NULL, [17:27:17.750] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.750] ...future.rng), started = ...future.startTime, [17:27:17.750] finished = Sys.time(), session_uuid = NA_character_, [17:27:17.750] version = "1.8"), class = "FutureResult") [17:27:17.750] }, finally = { [17:27:17.750] if (!identical(...future.workdir, getwd())) [17:27:17.750] setwd(...future.workdir) [17:27:17.750] { [17:27:17.750] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:17.750] ...future.oldOptions$nwarnings <- NULL [17:27:17.750] } [17:27:17.750] base::options(...future.oldOptions) [17:27:17.750] if (.Platform$OS.type == "windows") { [17:27:17.750] old_names <- names(...future.oldEnvVars) [17:27:17.750] envs <- base::Sys.getenv() [17:27:17.750] names <- names(envs) [17:27:17.750] common <- intersect(names, old_names) [17:27:17.750] added <- setdiff(names, old_names) [17:27:17.750] removed <- setdiff(old_names, names) [17:27:17.750] changed <- common[...future.oldEnvVars[common] != [17:27:17.750] envs[common]] [17:27:17.750] NAMES <- toupper(changed) [17:27:17.750] args <- list() [17:27:17.750] for (kk in seq_along(NAMES)) { [17:27:17.750] name <- changed[[kk]] [17:27:17.750] NAME <- NAMES[[kk]] [17:27:17.750] if (name != NAME && is.element(NAME, old_names)) [17:27:17.750] next [17:27:17.750] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.750] } [17:27:17.750] NAMES <- toupper(added) [17:27:17.750] for (kk in seq_along(NAMES)) { [17:27:17.750] name <- added[[kk]] [17:27:17.750] NAME <- NAMES[[kk]] [17:27:17.750] if (name != NAME && is.element(NAME, old_names)) [17:27:17.750] next [17:27:17.750] args[[name]] <- "" [17:27:17.750] } [17:27:17.750] NAMES <- toupper(removed) [17:27:17.750] for (kk in seq_along(NAMES)) { [17:27:17.750] name <- removed[[kk]] [17:27:17.750] NAME <- NAMES[[kk]] [17:27:17.750] if (name != NAME && is.element(NAME, old_names)) [17:27:17.750] next [17:27:17.750] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.750] } [17:27:17.750] if (length(args) > 0) [17:27:17.750] base::do.call(base::Sys.setenv, args = args) [17:27:17.750] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:17.750] } [17:27:17.750] else { [17:27:17.750] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:17.750] } [17:27:17.750] { [17:27:17.750] if (base::length(...future.futureOptionsAdded) > [17:27:17.750] 0L) { [17:27:17.750] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:17.750] base::names(opts) <- ...future.futureOptionsAdded [17:27:17.750] base::options(opts) [17:27:17.750] } [17:27:17.750] { [17:27:17.750] { [17:27:17.750] base::options(mc.cores = ...future.mc.cores.old) [17:27:17.750] NULL [17:27:17.750] } [17:27:17.750] options(future.plan = NULL) [17:27:17.750] if (is.na(NA_character_)) [17:27:17.750] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.750] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:17.750] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:17.750] .init = FALSE) [17:27:17.750] } [17:27:17.750] } [17:27:17.750] } [17:27:17.750] }) [17:27:17.750] if (TRUE) { [17:27:17.750] base::sink(type = "output", split = FALSE) [17:27:17.750] if (TRUE) { [17:27:17.750] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:17.750] } [17:27:17.750] else { [17:27:17.750] ...future.result["stdout"] <- base::list(NULL) [17:27:17.750] } [17:27:17.750] base::close(...future.stdout) [17:27:17.750] ...future.stdout <- NULL [17:27:17.750] } [17:27:17.750] ...future.result$conditions <- ...future.conditions [17:27:17.750] ...future.result$finished <- base::Sys.time() [17:27:17.750] ...future.result [17:27:17.750] } [17:27:17.755] Exporting 1 global objects (4.01 KiB) to cluster node #1 ... [17:27:17.755] Exporting 'a' (4.01 KiB) to cluster node #1 ... [17:27:17.756] Exporting 'a' (4.01 KiB) to cluster node #1 ... DONE [17:27:17.756] Exporting 1 global objects (4.01 KiB) to cluster node #1 ... DONE [17:27:17.757] MultisessionFuture started MultisessionFuture: Label: '' Expression: { sum(a) } Lazy evaluation: FALSE Asynchronous evaluation: TRUE Local evaluation: TRUE Environment: R_GlobalEnv Capture standard output: TRUE Capture condition classes: 'condition' (excluding 'nothing') Globals: 1 objects totaling 4.01 KiB (integer 'a' of 4.01 KiB) Packages: L'Ecuyer-CMRG RNG seed: (seed = FALSE) [17:27:17.770] receiveMessageFromWorker() for ClusterFuture ... [17:27:17.770] - Validating connection of MultisessionFuture [17:27:17.770] - received message: FutureResult [17:27:17.771] - Received FutureResult [17:27:17.771] - Erased future from FutureRegistry [17:27:17.771] result() for ClusterFuture ... [17:27:17.771] - result already collected: FutureResult [17:27:17.771] result() for ClusterFuture ... done [17:27:17.771] receiveMessageFromWorker() for ClusterFuture ... done Resolved: TRUE Value: Conditions captured: Early signaling: FALSE Owner process: d2a8edf5-8a7b-b5a7-7a6e-8ce02a91c005 Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:17.772] result() for ClusterFuture ... [17:27:17.772] - result already collected: FutureResult [17:27:17.772] result() for ClusterFuture ... done [17:27:17.772] result() for ClusterFuture ... [17:27:17.772] - result already collected: FutureResult [17:27:17.772] result() for ClusterFuture ... done [1] 514605 a: 4112 bytes [17:27:17.773] getGlobalsAndPackages() ... [17:27:17.773] Searching for globals... [17:27:17.774] - globals found: [3] '{', 'sum', 'a' [17:27:17.774] Searching for globals ... DONE [17:27:17.774] Resolving globals: FALSE [17:27:17.775] The total size of the 1 globals is 4.02 KiB (4112 bytes) [17:27:17.775] The total size of the 1 globals exported for future expression ('{; sum(a); }') is 4.02 KiB.. This exceeds the maximum allowed size of 4.01 KiB (option 'future.globals.maxSize'). There is one global: 'a' (4.02 KiB of class 'numeric') > > ## Undo options changed in this test > options(ooptsT) > > message("*** multisession() - too large globals ... DONE") *** multisession() - too large globals ... DONE > > message("*** multisession(..., workers = 1L) ...") *** multisession(..., workers = 1L) ... > > a <- 2 > b <- 3 > yTruth <- a * b > > f <- multisession({ a * b }, globals = TRUE, workers = 1L) [17:27:17.776] getGlobalsAndPackages() ... [17:27:17.776] Searching for globals... [17:27:17.777] - globals found: [4] '{', '*', 'a', 'b' [17:27:17.777] Searching for globals ... DONE [17:27:17.778] Resolving globals: FALSE [17:27:17.778] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:17.779] The total size of the 2 globals exported for future expression ('{; a * b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'b' (56 bytes of class 'numeric') [17:27:17.779] - globals: [2] 'a', 'b' [17:27:17.779] [17:27:17.779] getGlobalsAndPackages() ... DONE > rm(list = c("a", "b")) > > v <- value(f) [17:27:17.780] Packages needed by the future expression (n = 0): [17:27:17.780] Packages needed by future strategies (n = 0): [17:27:17.780] { [17:27:17.780] { [17:27:17.780] { [17:27:17.780] ...future.startTime <- base::Sys.time() [17:27:17.780] { [17:27:17.780] { [17:27:17.780] { [17:27:17.780] base::local({ [17:27:17.780] has_future <- base::requireNamespace("future", [17:27:17.780] quietly = TRUE) [17:27:17.780] if (has_future) { [17:27:17.780] ns <- base::getNamespace("future") [17:27:17.780] version <- ns[[".package"]][["version"]] [17:27:17.780] if (is.null(version)) [17:27:17.780] version <- utils::packageVersion("future") [17:27:17.780] } [17:27:17.780] else { [17:27:17.780] version <- NULL [17:27:17.780] } [17:27:17.780] if (!has_future || version < "1.8.0") { [17:27:17.780] info <- base::c(r_version = base::gsub("R version ", [17:27:17.780] "", base::R.version$version.string), [17:27:17.780] platform = base::sprintf("%s (%s-bit)", [17:27:17.780] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:17.780] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:17.780] "release", "version")], collapse = " "), [17:27:17.780] hostname = base::Sys.info()[["nodename"]]) [17:27:17.780] info <- base::sprintf("%s: %s", base::names(info), [17:27:17.780] info) [17:27:17.780] info <- base::paste(info, collapse = "; ") [17:27:17.780] if (!has_future) { [17:27:17.780] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:17.780] info) [17:27:17.780] } [17:27:17.780] else { [17:27:17.780] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:17.780] info, version) [17:27:17.780] } [17:27:17.780] base::stop(msg) [17:27:17.780] } [17:27:17.780] }) [17:27:17.780] } [17:27:17.780] ...future.strategy.old <- future::plan("list") [17:27:17.780] options(future.plan = NULL) [17:27:17.780] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.780] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:17.780] } [17:27:17.780] ...future.workdir <- getwd() [17:27:17.780] } [17:27:17.780] ...future.oldOptions <- base::as.list(base::.Options) [17:27:17.780] ...future.oldEnvVars <- base::Sys.getenv() [17:27:17.780] } [17:27:17.780] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:17.780] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:17.780] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:17.780] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:17.780] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:17.780] future.stdout.windows.reencode = NULL, width = 80L) [17:27:17.780] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:17.780] base::names(...future.oldOptions)) [17:27:17.780] } [17:27:17.780] if (FALSE) { [17:27:17.780] } [17:27:17.780] else { [17:27:17.780] if (TRUE) { [17:27:17.780] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:17.780] open = "w") [17:27:17.780] } [17:27:17.780] else { [17:27:17.780] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:17.780] windows = "NUL", "/dev/null"), open = "w") [17:27:17.780] } [17:27:17.780] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:17.780] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:17.780] base::sink(type = "output", split = FALSE) [17:27:17.780] base::close(...future.stdout) [17:27:17.780] }, add = TRUE) [17:27:17.780] } [17:27:17.780] ...future.frame <- base::sys.nframe() [17:27:17.780] ...future.conditions <- base::list() [17:27:17.780] ...future.rng <- base::globalenv()$.Random.seed [17:27:17.780] if (FALSE) { [17:27:17.780] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:17.780] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:17.780] } [17:27:17.780] ...future.result <- base::tryCatch({ [17:27:17.780] base::withCallingHandlers({ [17:27:17.780] ...future.value <- base::withVisible(base::local({ [17:27:17.780] a * b [17:27:17.780] })) [17:27:17.780] future::FutureResult(value = ...future.value$value, [17:27:17.780] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.780] ...future.rng), globalenv = if (FALSE) [17:27:17.780] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:17.780] ...future.globalenv.names)) [17:27:17.780] else NULL, started = ...future.startTime, version = "1.8") [17:27:17.780] }, condition = base::local({ [17:27:17.780] c <- base::c [17:27:17.780] inherits <- base::inherits [17:27:17.780] invokeRestart <- base::invokeRestart [17:27:17.780] length <- base::length [17:27:17.780] list <- base::list [17:27:17.780] seq.int <- base::seq.int [17:27:17.780] signalCondition <- base::signalCondition [17:27:17.780] sys.calls <- base::sys.calls [17:27:17.780] `[[` <- base::`[[` [17:27:17.780] `+` <- base::`+` [17:27:17.780] `<<-` <- base::`<<-` [17:27:17.780] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:17.780] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:17.780] 3L)] [17:27:17.780] } [17:27:17.780] function(cond) { [17:27:17.780] is_error <- inherits(cond, "error") [17:27:17.780] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:17.780] NULL) [17:27:17.780] if (is_error) { [17:27:17.780] sessionInformation <- function() { [17:27:17.780] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:17.780] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:17.780] search = base::search(), system = base::Sys.info()) [17:27:17.780] } [17:27:17.780] ...future.conditions[[length(...future.conditions) + [17:27:17.780] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:17.780] cond$call), session = sessionInformation(), [17:27:17.780] timestamp = base::Sys.time(), signaled = 0L) [17:27:17.780] signalCondition(cond) [17:27:17.780] } [17:27:17.780] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:17.780] "immediateCondition"))) { [17:27:17.780] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:17.780] ...future.conditions[[length(...future.conditions) + [17:27:17.780] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:17.780] if (TRUE && !signal) { [17:27:17.780] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.780] { [17:27:17.780] inherits <- base::inherits [17:27:17.780] invokeRestart <- base::invokeRestart [17:27:17.780] is.null <- base::is.null [17:27:17.780] muffled <- FALSE [17:27:17.780] if (inherits(cond, "message")) { [17:27:17.780] muffled <- grepl(pattern, "muffleMessage") [17:27:17.780] if (muffled) [17:27:17.780] invokeRestart("muffleMessage") [17:27:17.780] } [17:27:17.780] else if (inherits(cond, "warning")) { [17:27:17.780] muffled <- grepl(pattern, "muffleWarning") [17:27:17.780] if (muffled) [17:27:17.780] invokeRestart("muffleWarning") [17:27:17.780] } [17:27:17.780] else if (inherits(cond, "condition")) { [17:27:17.780] if (!is.null(pattern)) { [17:27:17.780] computeRestarts <- base::computeRestarts [17:27:17.780] grepl <- base::grepl [17:27:17.780] restarts <- computeRestarts(cond) [17:27:17.780] for (restart in restarts) { [17:27:17.780] name <- restart$name [17:27:17.780] if (is.null(name)) [17:27:17.780] next [17:27:17.780] if (!grepl(pattern, name)) [17:27:17.780] next [17:27:17.780] invokeRestart(restart) [17:27:17.780] muffled <- TRUE [17:27:17.780] break [17:27:17.780] } [17:27:17.780] } [17:27:17.780] } [17:27:17.780] invisible(muffled) [17:27:17.780] } [17:27:17.780] muffleCondition(cond, pattern = "^muffle") [17:27:17.780] } [17:27:17.780] } [17:27:17.780] else { [17:27:17.780] if (TRUE) { [17:27:17.780] muffleCondition <- function (cond, pattern = "^muffle") [17:27:17.780] { [17:27:17.780] inherits <- base::inherits [17:27:17.780] invokeRestart <- base::invokeRestart [17:27:17.780] is.null <- base::is.null [17:27:17.780] muffled <- FALSE [17:27:17.780] if (inherits(cond, "message")) { [17:27:17.780] muffled <- grepl(pattern, "muffleMessage") [17:27:17.780] if (muffled) [17:27:17.780] invokeRestart("muffleMessage") [17:27:17.780] } [17:27:17.780] else if (inherits(cond, "warning")) { [17:27:17.780] muffled <- grepl(pattern, "muffleWarning") [17:27:17.780] if (muffled) [17:27:17.780] invokeRestart("muffleWarning") [17:27:17.780] } [17:27:17.780] else if (inherits(cond, "condition")) { [17:27:17.780] if (!is.null(pattern)) { [17:27:17.780] computeRestarts <- base::computeRestarts [17:27:17.780] grepl <- base::grepl [17:27:17.780] restarts <- computeRestarts(cond) [17:27:17.780] for (restart in restarts) { [17:27:17.780] name <- restart$name [17:27:17.780] if (is.null(name)) [17:27:17.780] next [17:27:17.780] if (!grepl(pattern, name)) [17:27:17.780] next [17:27:17.780] invokeRestart(restart) [17:27:17.780] muffled <- TRUE [17:27:17.780] break [17:27:17.780] } [17:27:17.780] } [17:27:17.780] } [17:27:17.780] invisible(muffled) [17:27:17.780] } [17:27:17.780] muffleCondition(cond, pattern = "^muffle") [17:27:17.780] } [17:27:17.780] } [17:27:17.780] } [17:27:17.780] })) [17:27:17.780] }, error = function(ex) { [17:27:17.780] base::structure(base::list(value = NULL, visible = NULL, [17:27:17.780] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:17.780] ...future.rng), started = ...future.startTime, [17:27:17.780] finished = Sys.time(), session_uuid = NA_character_, [17:27:17.780] version = "1.8"), class = "FutureResult") [17:27:17.780] }, finally = { [17:27:17.780] if (!identical(...future.workdir, getwd())) [17:27:17.780] setwd(...future.workdir) [17:27:17.780] { [17:27:17.780] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:17.780] ...future.oldOptions$nwarnings <- NULL [17:27:17.780] } [17:27:17.780] base::options(...future.oldOptions) [17:27:17.780] if (.Platform$OS.type == "windows") { [17:27:17.780] old_names <- names(...future.oldEnvVars) [17:27:17.780] envs <- base::Sys.getenv() [17:27:17.780] names <- names(envs) [17:27:17.780] common <- intersect(names, old_names) [17:27:17.780] added <- setdiff(names, old_names) [17:27:17.780] removed <- setdiff(old_names, names) [17:27:17.780] changed <- common[...future.oldEnvVars[common] != [17:27:17.780] envs[common]] [17:27:17.780] NAMES <- toupper(changed) [17:27:17.780] args <- list() [17:27:17.780] for (kk in seq_along(NAMES)) { [17:27:17.780] name <- changed[[kk]] [17:27:17.780] NAME <- NAMES[[kk]] [17:27:17.780] if (name != NAME && is.element(NAME, old_names)) [17:27:17.780] next [17:27:17.780] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.780] } [17:27:17.780] NAMES <- toupper(added) [17:27:17.780] for (kk in seq_along(NAMES)) { [17:27:17.780] name <- added[[kk]] [17:27:17.780] NAME <- NAMES[[kk]] [17:27:17.780] if (name != NAME && is.element(NAME, old_names)) [17:27:17.780] next [17:27:17.780] args[[name]] <- "" [17:27:17.780] } [17:27:17.780] NAMES <- toupper(removed) [17:27:17.780] for (kk in seq_along(NAMES)) { [17:27:17.780] name <- removed[[kk]] [17:27:17.780] NAME <- NAMES[[kk]] [17:27:17.780] if (name != NAME && is.element(NAME, old_names)) [17:27:17.780] next [17:27:17.780] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:17.780] } [17:27:17.780] if (length(args) > 0) [17:27:17.780] base::do.call(base::Sys.setenv, args = args) [17:27:17.780] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:17.780] } [17:27:17.780] else { [17:27:17.780] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:17.780] } [17:27:17.780] { [17:27:17.780] if (base::length(...future.futureOptionsAdded) > [17:27:17.780] 0L) { [17:27:17.780] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:17.780] base::names(opts) <- ...future.futureOptionsAdded [17:27:17.780] base::options(opts) [17:27:17.780] } [17:27:17.780] { [17:27:17.780] { [17:27:17.780] NULL [17:27:17.780] RNGkind("Mersenne-Twister") [17:27:17.780] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:17.780] inherits = FALSE) [17:27:17.780] } [17:27:17.780] options(future.plan = NULL) [17:27:17.780] if (is.na(NA_character_)) [17:27:17.780] Sys.unsetenv("R_FUTURE_PLAN") [17:27:17.780] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:17.780] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:17.780] .init = FALSE) [17:27:17.780] } [17:27:17.780] } [17:27:17.780] } [17:27:17.780] }) [17:27:17.780] if (TRUE) { [17:27:17.780] base::sink(type = "output", split = FALSE) [17:27:17.780] if (TRUE) { [17:27:17.780] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:17.780] } [17:27:17.780] else { [17:27:17.780] ...future.result["stdout"] <- base::list(NULL) [17:27:17.780] } [17:27:17.780] base::close(...future.stdout) [17:27:17.780] ...future.stdout <- NULL [17:27:17.780] } [17:27:17.780] ...future.result$conditions <- ...future.conditions [17:27:17.780] ...future.result$finished <- base::Sys.time() [17:27:17.780] ...future.result [17:27:17.780] } [17:27:17.784] assign_globals() ... [17:27:17.784] List of 2 [17:27:17.784] $ a: num 2 [17:27:17.784] $ b: num 3 [17:27:17.784] - attr(*, "where")=List of 2 [17:27:17.784] ..$ a: [17:27:17.784] ..$ b: [17:27:17.784] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:17.784] - attr(*, "resolved")= logi FALSE [17:27:17.784] - attr(*, "total_size")= num 112 [17:27:17.787] - copied 'a' to environment [17:27:17.787] - copied 'b' to environment [17:27:17.788] assign_globals() ... done [17:27:17.788] plan(): Setting new future strategy stack: [17:27:17.788] List of future strategies: [17:27:17.788] 1. sequential: [17:27:17.788] - args: function (..., envir = parent.frame(), workers = "") [17:27:17.788] - tweaked: FALSE [17:27:17.788] - call: NULL [17:27:17.789] plan(): nbrOfWorkers() = 1 [17:27:17.790] plan(): Setting new future strategy stack: [17:27:17.790] List of future strategies: [17:27:17.790] 1. sequential: [17:27:17.790] - args: function (..., envir = parent.frame(), workers = "") [17:27:17.790] - tweaked: FALSE [17:27:17.790] - call: future::plan("sequential") [17:27:17.791] plan(): nbrOfWorkers() = 1 [17:27:17.791] SequentialFuture started (and completed) > print(v) [1] 6 > stopifnot(v == yTruth) > > message("*** multisession(..., workers = 1L) ... DONE") *** multisession(..., workers = 1L) ... DONE > > message("*** multisession(..., gc = TRUE) ...") *** multisession(..., gc = TRUE) ... > plan(multisession, workers = 2L) [17:27:17.792] plan(): Setting new future strategy stack: [17:27:17.792] List of future strategies: [17:27:17.792] 1. multisession: [17:27:17.792] - args: function (..., workers = 2L, envir = parent.frame()) [17:27:17.792] - tweaked: TRUE [17:27:17.792] - call: plan(multisession, workers = 2L) [17:27:17.807] plan(): plan_init() of 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [17:27:17.808] multisession: [17:27:17.808] - args: function (..., workers = 2L, envir = parent.frame()) [17:27:17.808] - tweaked: TRUE [17:27:17.808] - call: plan(multisession, workers = 2L) [17:27:17.808] getGlobalsAndPackages() ... [17:27:17.808] Not searching for globals [17:27:17.809] - globals: [0] [17:27:17.809] getGlobalsAndPackages() ... DONE [17:27:17.809] [local output] makeClusterPSOCK() ... [17:27:17.812] [local output] Workers: [n = 2] 'localhost', 'localhost' [17:27:17.814] [local output] Base port: 36032 [17:27:17.814] [local output] Getting setup options for 2 cluster nodes ... [17:27:17.815] [local output] - Node 1 of 2 ... [17:27:17.815] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:17.816] [local output] Rscript port: 36032 [17:27:17.817] [local output] - Node 2 of 2 ... [17:27:17.817] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:17.819] [local output] Rscript port: 36032 [17:27:17.819] [local output] Getting setup options for 2 cluster nodes ... done [17:27:17.819] [local output] - Parallel setup requested for some PSOCK nodes [17:27:17.820] [local output] Setting up PSOCK nodes in parallel [17:27:17.820] List of 36 [17:27:17.820] $ worker : chr "localhost" [17:27:17.820] ..- attr(*, "localhost")= logi TRUE [17:27:17.820] $ master : chr "localhost" [17:27:17.820] $ port : int 36032 [17:27:17.820] $ connectTimeout : num 120 [17:27:17.820] $ timeout : num 120 [17:27:17.820] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [17:27:17.820] $ homogeneous : logi TRUE [17:27:17.820] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=multisession.R:56932:CRANWIN3:CR"| __truncated__ [17:27:17.820] $ rscript_envs : NULL [17:27:17.820] $ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:17.820] $ rscript_startup : NULL [17:27:17.820] $ rscript_sh : chr "cmd" [17:27:17.820] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:17.820] $ methods : logi TRUE [17:27:17.820] $ socketOptions : chr "no-delay" [17:27:17.820] $ useXDR : logi FALSE [17:27:17.820] $ outfile : chr "/dev/null" [17:27:17.820] $ renice : int NA [17:27:17.820] $ rshcmd : NULL [17:27:17.820] $ user : chr(0) [17:27:17.820] $ revtunnel : logi FALSE [17:27:17.820] $ rshlogfile : NULL [17:27:17.820] $ rshopts : chr(0) [17:27:17.820] $ rank : int 1 [17:27:17.820] $ manual : logi FALSE [17:27:17.820] $ dryrun : logi FALSE [17:27:17.820] $ quiet : logi FALSE [17:27:17.820] $ setup_strategy : chr "parallel" [17:27:17.820] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:17.820] $ pidfile : chr "D:/temp/RtmpAPtkyj/worker.rank=1.parallelly.parent=56932.de6460ad7d41.pid" [17:27:17.820] $ rshcmd_label : NULL [17:27:17.820] $ rsh_call : NULL [17:27:17.820] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:17.820] $ localMachine : logi TRUE [17:27:17.820] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [17:27:17.820] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [17:27:17.820] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [17:27:17.820] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [17:27:17.820] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [17:27:17.820] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [17:27:17.820] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [17:27:17.820] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [17:27:17.820] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [17:27:17.820] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [17:27:17.820] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [17:27:17.820] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [17:27:17.820] "parallel"), action = c("launch", "options"), verbose = FALSE) [17:27:17.820] $ arguments :List of 28 [17:27:17.820] ..$ worker : chr "localhost" [17:27:17.820] ..$ master : NULL [17:27:17.820] ..$ port : int 36032 [17:27:17.820] ..$ connectTimeout : num 120 [17:27:17.820] ..$ timeout : num 120 [17:27:17.820] ..$ rscript : NULL [17:27:17.820] ..$ homogeneous : NULL [17:27:17.820] ..$ rscript_args : NULL [17:27:17.820] ..$ rscript_envs : NULL [17:27:17.820] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:17.820] ..$ rscript_startup : NULL [17:27:17.820] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [17:27:17.820] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:17.820] ..$ methods : logi TRUE [17:27:17.820] ..$ socketOptions : chr "no-delay" [17:27:17.820] ..$ useXDR : logi FALSE [17:27:17.820] ..$ outfile : chr "/dev/null" [17:27:17.820] ..$ renice : int NA [17:27:17.820] ..$ rshcmd : NULL [17:27:17.820] ..$ user : NULL [17:27:17.820] ..$ revtunnel : logi NA [17:27:17.820] ..$ rshlogfile : NULL [17:27:17.820] ..$ rshopts : NULL [17:27:17.820] ..$ rank : int 1 [17:27:17.820] ..$ manual : logi FALSE [17:27:17.820] ..$ dryrun : logi FALSE [17:27:17.820] ..$ quiet : logi FALSE [17:27:17.820] ..$ setup_strategy : chr "parallel" [17:27:17.820] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [17:27:17.841] [local output] System call to launch all workers: [17:27:17.841] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=multisession.R:56932:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpAPtkyj/worker.rank=1.parallelly.parent=56932.de6460ad7d41.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=36032 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [17:27:17.841] [local output] Starting PSOCK main server [17:27:17.847] [local output] Workers launched [17:27:17.847] [local output] Waiting for workers to connect back [17:27:17.847] - [local output] 0 workers out of 2 ready [17:27:18.003] - [local output] 0 workers out of 2 ready [17:27:18.003] - [local output] 1 workers out of 2 ready [17:27:18.033] - [local output] 1 workers out of 2 ready [17:27:18.034] - [local output] 2 workers out of 2 ready [17:27:18.034] [local output] Launching of workers completed [17:27:18.034] [local output] Collecting session information from workers [17:27:18.035] [local output] - Worker #1 of 2 [17:27:18.036] [local output] - Worker #2 of 2 [17:27:18.036] [local output] makeClusterPSOCK() ... done [17:27:18.048] Packages needed by the future expression (n = 0): [17:27:18.048] Packages needed by future strategies (n = 0): [17:27:18.048] { [17:27:18.048] { [17:27:18.048] { [17:27:18.048] ...future.startTime <- base::Sys.time() [17:27:18.048] { [17:27:18.048] { [17:27:18.048] { [17:27:18.048] { [17:27:18.048] base::local({ [17:27:18.048] has_future <- base::requireNamespace("future", [17:27:18.048] quietly = TRUE) [17:27:18.048] if (has_future) { [17:27:18.048] ns <- base::getNamespace("future") [17:27:18.048] version <- ns[[".package"]][["version"]] [17:27:18.048] if (is.null(version)) [17:27:18.048] version <- utils::packageVersion("future") [17:27:18.048] } [17:27:18.048] else { [17:27:18.048] version <- NULL [17:27:18.048] } [17:27:18.048] if (!has_future || version < "1.8.0") { [17:27:18.048] info <- base::c(r_version = base::gsub("R version ", [17:27:18.048] "", base::R.version$version.string), [17:27:18.048] platform = base::sprintf("%s (%s-bit)", [17:27:18.048] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:18.048] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:18.048] "release", "version")], collapse = " "), [17:27:18.048] hostname = base::Sys.info()[["nodename"]]) [17:27:18.048] info <- base::sprintf("%s: %s", base::names(info), [17:27:18.048] info) [17:27:18.048] info <- base::paste(info, collapse = "; ") [17:27:18.048] if (!has_future) { [17:27:18.048] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:18.048] info) [17:27:18.048] } [17:27:18.048] else { [17:27:18.048] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:18.048] info, version) [17:27:18.048] } [17:27:18.048] base::stop(msg) [17:27:18.048] } [17:27:18.048] }) [17:27:18.048] } [17:27:18.048] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:18.048] base::options(mc.cores = 1L) [17:27:18.048] } [17:27:18.048] ...future.strategy.old <- future::plan("list") [17:27:18.048] options(future.plan = NULL) [17:27:18.048] Sys.unsetenv("R_FUTURE_PLAN") [17:27:18.048] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:18.048] } [17:27:18.048] ...future.workdir <- getwd() [17:27:18.048] } [17:27:18.048] ...future.oldOptions <- base::as.list(base::.Options) [17:27:18.048] ...future.oldEnvVars <- base::Sys.getenv() [17:27:18.048] } [17:27:18.048] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:18.048] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:18.048] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:18.048] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:18.048] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:18.048] future.stdout.windows.reencode = NULL, width = 80L) [17:27:18.048] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:18.048] base::names(...future.oldOptions)) [17:27:18.048] } [17:27:18.048] if (FALSE) { [17:27:18.048] } [17:27:18.048] else { [17:27:18.048] if (TRUE) { [17:27:18.048] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:18.048] open = "w") [17:27:18.048] } [17:27:18.048] else { [17:27:18.048] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:18.048] windows = "NUL", "/dev/null"), open = "w") [17:27:18.048] } [17:27:18.048] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:18.048] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:18.048] base::sink(type = "output", split = FALSE) [17:27:18.048] base::close(...future.stdout) [17:27:18.048] }, add = TRUE) [17:27:18.048] } [17:27:18.048] ...future.frame <- base::sys.nframe() [17:27:18.048] ...future.conditions <- base::list() [17:27:18.048] ...future.rng <- base::globalenv()$.Random.seed [17:27:18.048] if (FALSE) { [17:27:18.048] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:18.048] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:18.048] } [17:27:18.048] ...future.result <- base::tryCatch({ [17:27:18.048] base::withCallingHandlers({ [17:27:18.048] ...future.value <- base::withVisible(base::local({ [17:27:18.048] ...future.makeSendCondition <- base::local({ [17:27:18.048] sendCondition <- NULL [17:27:18.048] function(frame = 1L) { [17:27:18.048] if (is.function(sendCondition)) [17:27:18.048] return(sendCondition) [17:27:18.048] ns <- getNamespace("parallel") [17:27:18.048] if (exists("sendData", mode = "function", [17:27:18.048] envir = ns)) { [17:27:18.048] parallel_sendData <- get("sendData", mode = "function", [17:27:18.048] envir = ns) [17:27:18.048] envir <- sys.frame(frame) [17:27:18.048] master <- NULL [17:27:18.048] while (!identical(envir, .GlobalEnv) && [17:27:18.048] !identical(envir, emptyenv())) { [17:27:18.048] if (exists("master", mode = "list", envir = envir, [17:27:18.048] inherits = FALSE)) { [17:27:18.048] master <- get("master", mode = "list", [17:27:18.048] envir = envir, inherits = FALSE) [17:27:18.048] if (inherits(master, c("SOCKnode", [17:27:18.048] "SOCK0node"))) { [17:27:18.048] sendCondition <<- function(cond) { [17:27:18.048] data <- list(type = "VALUE", value = cond, [17:27:18.048] success = TRUE) [17:27:18.048] parallel_sendData(master, data) [17:27:18.048] } [17:27:18.048] return(sendCondition) [17:27:18.048] } [17:27:18.048] } [17:27:18.048] frame <- frame + 1L [17:27:18.048] envir <- sys.frame(frame) [17:27:18.048] } [17:27:18.048] } [17:27:18.048] sendCondition <<- function(cond) NULL [17:27:18.048] } [17:27:18.048] }) [17:27:18.048] withCallingHandlers({ [17:27:18.048] NA [17:27:18.048] }, immediateCondition = function(cond) { [17:27:18.048] sendCondition <- ...future.makeSendCondition() [17:27:18.048] sendCondition(cond) [17:27:18.048] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.048] { [17:27:18.048] inherits <- base::inherits [17:27:18.048] invokeRestart <- base::invokeRestart [17:27:18.048] is.null <- base::is.null [17:27:18.048] muffled <- FALSE [17:27:18.048] if (inherits(cond, "message")) { [17:27:18.048] muffled <- grepl(pattern, "muffleMessage") [17:27:18.048] if (muffled) [17:27:18.048] invokeRestart("muffleMessage") [17:27:18.048] } [17:27:18.048] else if (inherits(cond, "warning")) { [17:27:18.048] muffled <- grepl(pattern, "muffleWarning") [17:27:18.048] if (muffled) [17:27:18.048] invokeRestart("muffleWarning") [17:27:18.048] } [17:27:18.048] else if (inherits(cond, "condition")) { [17:27:18.048] if (!is.null(pattern)) { [17:27:18.048] computeRestarts <- base::computeRestarts [17:27:18.048] grepl <- base::grepl [17:27:18.048] restarts <- computeRestarts(cond) [17:27:18.048] for (restart in restarts) { [17:27:18.048] name <- restart$name [17:27:18.048] if (is.null(name)) [17:27:18.048] next [17:27:18.048] if (!grepl(pattern, name)) [17:27:18.048] next [17:27:18.048] invokeRestart(restart) [17:27:18.048] muffled <- TRUE [17:27:18.048] break [17:27:18.048] } [17:27:18.048] } [17:27:18.048] } [17:27:18.048] invisible(muffled) [17:27:18.048] } [17:27:18.048] muffleCondition(cond) [17:27:18.048] }) [17:27:18.048] })) [17:27:18.048] future::FutureResult(value = ...future.value$value, [17:27:18.048] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:18.048] ...future.rng), globalenv = if (FALSE) [17:27:18.048] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:18.048] ...future.globalenv.names)) [17:27:18.048] else NULL, started = ...future.startTime, version = "1.8") [17:27:18.048] }, condition = base::local({ [17:27:18.048] c <- base::c [17:27:18.048] inherits <- base::inherits [17:27:18.048] invokeRestart <- base::invokeRestart [17:27:18.048] length <- base::length [17:27:18.048] list <- base::list [17:27:18.048] seq.int <- base::seq.int [17:27:18.048] signalCondition <- base::signalCondition [17:27:18.048] sys.calls <- base::sys.calls [17:27:18.048] `[[` <- base::`[[` [17:27:18.048] `+` <- base::`+` [17:27:18.048] `<<-` <- base::`<<-` [17:27:18.048] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:18.048] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:18.048] 3L)] [17:27:18.048] } [17:27:18.048] function(cond) { [17:27:18.048] is_error <- inherits(cond, "error") [17:27:18.048] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:18.048] NULL) [17:27:18.048] if (is_error) { [17:27:18.048] sessionInformation <- function() { [17:27:18.048] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:18.048] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:18.048] search = base::search(), system = base::Sys.info()) [17:27:18.048] } [17:27:18.048] ...future.conditions[[length(...future.conditions) + [17:27:18.048] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:18.048] cond$call), session = sessionInformation(), [17:27:18.048] timestamp = base::Sys.time(), signaled = 0L) [17:27:18.048] signalCondition(cond) [17:27:18.048] } [17:27:18.048] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:18.048] "immediateCondition"))) { [17:27:18.048] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:18.048] ...future.conditions[[length(...future.conditions) + [17:27:18.048] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:18.048] if (TRUE && !signal) { [17:27:18.048] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.048] { [17:27:18.048] inherits <- base::inherits [17:27:18.048] invokeRestart <- base::invokeRestart [17:27:18.048] is.null <- base::is.null [17:27:18.048] muffled <- FALSE [17:27:18.048] if (inherits(cond, "message")) { [17:27:18.048] muffled <- grepl(pattern, "muffleMessage") [17:27:18.048] if (muffled) [17:27:18.048] invokeRestart("muffleMessage") [17:27:18.048] } [17:27:18.048] else if (inherits(cond, "warning")) { [17:27:18.048] muffled <- grepl(pattern, "muffleWarning") [17:27:18.048] if (muffled) [17:27:18.048] invokeRestart("muffleWarning") [17:27:18.048] } [17:27:18.048] else if (inherits(cond, "condition")) { [17:27:18.048] if (!is.null(pattern)) { [17:27:18.048] computeRestarts <- base::computeRestarts [17:27:18.048] grepl <- base::grepl [17:27:18.048] restarts <- computeRestarts(cond) [17:27:18.048] for (restart in restarts) { [17:27:18.048] name <- restart$name [17:27:18.048] if (is.null(name)) [17:27:18.048] next [17:27:18.048] if (!grepl(pattern, name)) [17:27:18.048] next [17:27:18.048] invokeRestart(restart) [17:27:18.048] muffled <- TRUE [17:27:18.048] break [17:27:18.048] } [17:27:18.048] } [17:27:18.048] } [17:27:18.048] invisible(muffled) [17:27:18.048] } [17:27:18.048] muffleCondition(cond, pattern = "^muffle") [17:27:18.048] } [17:27:18.048] } [17:27:18.048] else { [17:27:18.048] if (TRUE) { [17:27:18.048] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.048] { [17:27:18.048] inherits <- base::inherits [17:27:18.048] invokeRestart <- base::invokeRestart [17:27:18.048] is.null <- base::is.null [17:27:18.048] muffled <- FALSE [17:27:18.048] if (inherits(cond, "message")) { [17:27:18.048] muffled <- grepl(pattern, "muffleMessage") [17:27:18.048] if (muffled) [17:27:18.048] invokeRestart("muffleMessage") [17:27:18.048] } [17:27:18.048] else if (inherits(cond, "warning")) { [17:27:18.048] muffled <- grepl(pattern, "muffleWarning") [17:27:18.048] if (muffled) [17:27:18.048] invokeRestart("muffleWarning") [17:27:18.048] } [17:27:18.048] else if (inherits(cond, "condition")) { [17:27:18.048] if (!is.null(pattern)) { [17:27:18.048] computeRestarts <- base::computeRestarts [17:27:18.048] grepl <- base::grepl [17:27:18.048] restarts <- computeRestarts(cond) [17:27:18.048] for (restart in restarts) { [17:27:18.048] name <- restart$name [17:27:18.048] if (is.null(name)) [17:27:18.048] next [17:27:18.048] if (!grepl(pattern, name)) [17:27:18.048] next [17:27:18.048] invokeRestart(restart) [17:27:18.048] muffled <- TRUE [17:27:18.048] break [17:27:18.048] } [17:27:18.048] } [17:27:18.048] } [17:27:18.048] invisible(muffled) [17:27:18.048] } [17:27:18.048] muffleCondition(cond, pattern = "^muffle") [17:27:18.048] } [17:27:18.048] } [17:27:18.048] } [17:27:18.048] })) [17:27:18.048] }, error = function(ex) { [17:27:18.048] base::structure(base::list(value = NULL, visible = NULL, [17:27:18.048] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:18.048] ...future.rng), started = ...future.startTime, [17:27:18.048] finished = Sys.time(), session_uuid = NA_character_, [17:27:18.048] version = "1.8"), class = "FutureResult") [17:27:18.048] }, finally = { [17:27:18.048] if (!identical(...future.workdir, getwd())) [17:27:18.048] setwd(...future.workdir) [17:27:18.048] { [17:27:18.048] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:18.048] ...future.oldOptions$nwarnings <- NULL [17:27:18.048] } [17:27:18.048] base::options(...future.oldOptions) [17:27:18.048] if (.Platform$OS.type == "windows") { [17:27:18.048] old_names <- names(...future.oldEnvVars) [17:27:18.048] envs <- base::Sys.getenv() [17:27:18.048] names <- names(envs) [17:27:18.048] common <- intersect(names, old_names) [17:27:18.048] added <- setdiff(names, old_names) [17:27:18.048] removed <- setdiff(old_names, names) [17:27:18.048] changed <- common[...future.oldEnvVars[common] != [17:27:18.048] envs[common]] [17:27:18.048] NAMES <- toupper(changed) [17:27:18.048] args <- list() [17:27:18.048] for (kk in seq_along(NAMES)) { [17:27:18.048] name <- changed[[kk]] [17:27:18.048] NAME <- NAMES[[kk]] [17:27:18.048] if (name != NAME && is.element(NAME, old_names)) [17:27:18.048] next [17:27:18.048] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:18.048] } [17:27:18.048] NAMES <- toupper(added) [17:27:18.048] for (kk in seq_along(NAMES)) { [17:27:18.048] name <- added[[kk]] [17:27:18.048] NAME <- NAMES[[kk]] [17:27:18.048] if (name != NAME && is.element(NAME, old_names)) [17:27:18.048] next [17:27:18.048] args[[name]] <- "" [17:27:18.048] } [17:27:18.048] NAMES <- toupper(removed) [17:27:18.048] for (kk in seq_along(NAMES)) { [17:27:18.048] name <- removed[[kk]] [17:27:18.048] NAME <- NAMES[[kk]] [17:27:18.048] if (name != NAME && is.element(NAME, old_names)) [17:27:18.048] next [17:27:18.048] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:18.048] } [17:27:18.048] if (length(args) > 0) [17:27:18.048] base::do.call(base::Sys.setenv, args = args) [17:27:18.048] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:18.048] } [17:27:18.048] else { [17:27:18.048] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:18.048] } [17:27:18.048] { [17:27:18.048] if (base::length(...future.futureOptionsAdded) > [17:27:18.048] 0L) { [17:27:18.048] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:18.048] base::names(opts) <- ...future.futureOptionsAdded [17:27:18.048] base::options(opts) [17:27:18.048] } [17:27:18.048] { [17:27:18.048] { [17:27:18.048] base::options(mc.cores = ...future.mc.cores.old) [17:27:18.048] NULL [17:27:18.048] } [17:27:18.048] options(future.plan = NULL) [17:27:18.048] if (is.na(NA_character_)) [17:27:18.048] Sys.unsetenv("R_FUTURE_PLAN") [17:27:18.048] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:18.048] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:18.048] .init = FALSE) [17:27:18.048] } [17:27:18.048] } [17:27:18.048] } [17:27:18.048] }) [17:27:18.048] if (TRUE) { [17:27:18.048] base::sink(type = "output", split = FALSE) [17:27:18.048] if (TRUE) { [17:27:18.048] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:18.048] } [17:27:18.048] else { [17:27:18.048] ...future.result["stdout"] <- base::list(NULL) [17:27:18.048] } [17:27:18.048] base::close(...future.stdout) [17:27:18.048] ...future.stdout <- NULL [17:27:18.048] } [17:27:18.048] ...future.result$conditions <- ...future.conditions [17:27:18.048] ...future.result$finished <- base::Sys.time() [17:27:18.048] ...future.result [17:27:18.048] } [17:27:18.133] MultisessionFuture started [17:27:18.133] result() for ClusterFuture ... [17:27:18.133] receiveMessageFromWorker() for ClusterFuture ... [17:27:18.133] - Validating connection of MultisessionFuture [17:27:18.185] - received message: FutureResult [17:27:18.185] - Received FutureResult [17:27:18.185] - Erased future from FutureRegistry [17:27:18.186] result() for ClusterFuture ... [17:27:18.186] - result already collected: FutureResult [17:27:18.186] result() for ClusterFuture ... done [17:27:18.186] receiveMessageFromWorker() for ClusterFuture ... done [17:27:18.186] result() for ClusterFuture ... done [17:27:18.186] result() for ClusterFuture ... [17:27:18.187] - result already collected: FutureResult [17:27:18.187] result() for ClusterFuture ... done [17:27:18.187] plan(): plan_init() of 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [17:27:18.187] plan(): nbrOfWorkers() = 2 > > f <- future({ gc() }) [17:27:18.187] getGlobalsAndPackages() ... [17:27:18.188] Searching for globals... [17:27:18.189] - globals found: [2] '{', 'gc' [17:27:18.189] Searching for globals ... DONE [17:27:18.189] Resolving globals: FALSE [17:27:18.190] [17:27:18.190] [17:27:18.190] getGlobalsAndPackages() ... DONE [17:27:18.190] run() for 'Future' ... [17:27:18.190] - state: 'created' [17:27:18.191] - Future backend: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:18.202] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:18.203] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:18.203] - Field: 'node' [17:27:18.203] - Field: 'label' [17:27:18.203] - Field: 'local' [17:27:18.203] - Field: 'owner' [17:27:18.204] - Field: 'envir' [17:27:18.204] - Field: 'workers' [17:27:18.204] - Field: 'packages' [17:27:18.204] - Field: 'gc' [17:27:18.204] - Field: 'conditions' [17:27:18.205] - Field: 'persistent' [17:27:18.205] - Field: 'expr' [17:27:18.205] - Field: 'uuid' [17:27:18.205] - Field: 'seed' [17:27:18.205] - Field: 'version' [17:27:18.205] - Field: 'result' [17:27:18.206] - Field: 'asynchronous' [17:27:18.206] - Field: 'calls' [17:27:18.206] - Field: 'globals' [17:27:18.206] - Field: 'stdout' [17:27:18.206] - Field: 'earlySignal' [17:27:18.206] - Field: 'lazy' [17:27:18.207] - Field: 'state' [17:27:18.207] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:18.207] - Launch lazy future ... [17:27:18.207] Packages needed by the future expression (n = 0): [17:27:18.208] Packages needed by future strategies (n = 0): [17:27:18.208] { [17:27:18.208] { [17:27:18.208] { [17:27:18.208] ...future.startTime <- base::Sys.time() [17:27:18.208] { [17:27:18.208] { [17:27:18.208] { [17:27:18.208] { [17:27:18.208] base::local({ [17:27:18.208] has_future <- base::requireNamespace("future", [17:27:18.208] quietly = TRUE) [17:27:18.208] if (has_future) { [17:27:18.208] ns <- base::getNamespace("future") [17:27:18.208] version <- ns[[".package"]][["version"]] [17:27:18.208] if (is.null(version)) [17:27:18.208] version <- utils::packageVersion("future") [17:27:18.208] } [17:27:18.208] else { [17:27:18.208] version <- NULL [17:27:18.208] } [17:27:18.208] if (!has_future || version < "1.8.0") { [17:27:18.208] info <- base::c(r_version = base::gsub("R version ", [17:27:18.208] "", base::R.version$version.string), [17:27:18.208] platform = base::sprintf("%s (%s-bit)", [17:27:18.208] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:18.208] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:18.208] "release", "version")], collapse = " "), [17:27:18.208] hostname = base::Sys.info()[["nodename"]]) [17:27:18.208] info <- base::sprintf("%s: %s", base::names(info), [17:27:18.208] info) [17:27:18.208] info <- base::paste(info, collapse = "; ") [17:27:18.208] if (!has_future) { [17:27:18.208] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:18.208] info) [17:27:18.208] } [17:27:18.208] else { [17:27:18.208] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:18.208] info, version) [17:27:18.208] } [17:27:18.208] base::stop(msg) [17:27:18.208] } [17:27:18.208] }) [17:27:18.208] } [17:27:18.208] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:18.208] base::options(mc.cores = 1L) [17:27:18.208] } [17:27:18.208] ...future.strategy.old <- future::plan("list") [17:27:18.208] options(future.plan = NULL) [17:27:18.208] Sys.unsetenv("R_FUTURE_PLAN") [17:27:18.208] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:18.208] } [17:27:18.208] ...future.workdir <- getwd() [17:27:18.208] } [17:27:18.208] ...future.oldOptions <- base::as.list(base::.Options) [17:27:18.208] ...future.oldEnvVars <- base::Sys.getenv() [17:27:18.208] } [17:27:18.208] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:18.208] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:18.208] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:18.208] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:18.208] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:18.208] future.stdout.windows.reencode = NULL, width = 80L) [17:27:18.208] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:18.208] base::names(...future.oldOptions)) [17:27:18.208] } [17:27:18.208] if (FALSE) { [17:27:18.208] } [17:27:18.208] else { [17:27:18.208] if (TRUE) { [17:27:18.208] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:18.208] open = "w") [17:27:18.208] } [17:27:18.208] else { [17:27:18.208] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:18.208] windows = "NUL", "/dev/null"), open = "w") [17:27:18.208] } [17:27:18.208] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:18.208] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:18.208] base::sink(type = "output", split = FALSE) [17:27:18.208] base::close(...future.stdout) [17:27:18.208] }, add = TRUE) [17:27:18.208] } [17:27:18.208] ...future.frame <- base::sys.nframe() [17:27:18.208] ...future.conditions <- base::list() [17:27:18.208] ...future.rng <- base::globalenv()$.Random.seed [17:27:18.208] if (FALSE) { [17:27:18.208] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:18.208] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:18.208] } [17:27:18.208] ...future.result <- base::tryCatch({ [17:27:18.208] base::withCallingHandlers({ [17:27:18.208] ...future.value <- base::withVisible(base::local({ [17:27:18.208] ...future.makeSendCondition <- base::local({ [17:27:18.208] sendCondition <- NULL [17:27:18.208] function(frame = 1L) { [17:27:18.208] if (is.function(sendCondition)) [17:27:18.208] return(sendCondition) [17:27:18.208] ns <- getNamespace("parallel") [17:27:18.208] if (exists("sendData", mode = "function", [17:27:18.208] envir = ns)) { [17:27:18.208] parallel_sendData <- get("sendData", mode = "function", [17:27:18.208] envir = ns) [17:27:18.208] envir <- sys.frame(frame) [17:27:18.208] master <- NULL [17:27:18.208] while (!identical(envir, .GlobalEnv) && [17:27:18.208] !identical(envir, emptyenv())) { [17:27:18.208] if (exists("master", mode = "list", envir = envir, [17:27:18.208] inherits = FALSE)) { [17:27:18.208] master <- get("master", mode = "list", [17:27:18.208] envir = envir, inherits = FALSE) [17:27:18.208] if (inherits(master, c("SOCKnode", [17:27:18.208] "SOCK0node"))) { [17:27:18.208] sendCondition <<- function(cond) { [17:27:18.208] data <- list(type = "VALUE", value = cond, [17:27:18.208] success = TRUE) [17:27:18.208] parallel_sendData(master, data) [17:27:18.208] } [17:27:18.208] return(sendCondition) [17:27:18.208] } [17:27:18.208] } [17:27:18.208] frame <- frame + 1L [17:27:18.208] envir <- sys.frame(frame) [17:27:18.208] } [17:27:18.208] } [17:27:18.208] sendCondition <<- function(cond) NULL [17:27:18.208] } [17:27:18.208] }) [17:27:18.208] withCallingHandlers({ [17:27:18.208] { [17:27:18.208] gc() [17:27:18.208] } [17:27:18.208] }, immediateCondition = function(cond) { [17:27:18.208] sendCondition <- ...future.makeSendCondition() [17:27:18.208] sendCondition(cond) [17:27:18.208] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.208] { [17:27:18.208] inherits <- base::inherits [17:27:18.208] invokeRestart <- base::invokeRestart [17:27:18.208] is.null <- base::is.null [17:27:18.208] muffled <- FALSE [17:27:18.208] if (inherits(cond, "message")) { [17:27:18.208] muffled <- grepl(pattern, "muffleMessage") [17:27:18.208] if (muffled) [17:27:18.208] invokeRestart("muffleMessage") [17:27:18.208] } [17:27:18.208] else if (inherits(cond, "warning")) { [17:27:18.208] muffled <- grepl(pattern, "muffleWarning") [17:27:18.208] if (muffled) [17:27:18.208] invokeRestart("muffleWarning") [17:27:18.208] } [17:27:18.208] else if (inherits(cond, "condition")) { [17:27:18.208] if (!is.null(pattern)) { [17:27:18.208] computeRestarts <- base::computeRestarts [17:27:18.208] grepl <- base::grepl [17:27:18.208] restarts <- computeRestarts(cond) [17:27:18.208] for (restart in restarts) { [17:27:18.208] name <- restart$name [17:27:18.208] if (is.null(name)) [17:27:18.208] next [17:27:18.208] if (!grepl(pattern, name)) [17:27:18.208] next [17:27:18.208] invokeRestart(restart) [17:27:18.208] muffled <- TRUE [17:27:18.208] break [17:27:18.208] } [17:27:18.208] } [17:27:18.208] } [17:27:18.208] invisible(muffled) [17:27:18.208] } [17:27:18.208] muffleCondition(cond) [17:27:18.208] }) [17:27:18.208] })) [17:27:18.208] future::FutureResult(value = ...future.value$value, [17:27:18.208] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:18.208] ...future.rng), globalenv = if (FALSE) [17:27:18.208] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:18.208] ...future.globalenv.names)) [17:27:18.208] else NULL, started = ...future.startTime, version = "1.8") [17:27:18.208] }, condition = base::local({ [17:27:18.208] c <- base::c [17:27:18.208] inherits <- base::inherits [17:27:18.208] invokeRestart <- base::invokeRestart [17:27:18.208] length <- base::length [17:27:18.208] list <- base::list [17:27:18.208] seq.int <- base::seq.int [17:27:18.208] signalCondition <- base::signalCondition [17:27:18.208] sys.calls <- base::sys.calls [17:27:18.208] `[[` <- base::`[[` [17:27:18.208] `+` <- base::`+` [17:27:18.208] `<<-` <- base::`<<-` [17:27:18.208] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:18.208] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:18.208] 3L)] [17:27:18.208] } [17:27:18.208] function(cond) { [17:27:18.208] is_error <- inherits(cond, "error") [17:27:18.208] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:18.208] NULL) [17:27:18.208] if (is_error) { [17:27:18.208] sessionInformation <- function() { [17:27:18.208] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:18.208] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:18.208] search = base::search(), system = base::Sys.info()) [17:27:18.208] } [17:27:18.208] ...future.conditions[[length(...future.conditions) + [17:27:18.208] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:18.208] cond$call), session = sessionInformation(), [17:27:18.208] timestamp = base::Sys.time(), signaled = 0L) [17:27:18.208] signalCondition(cond) [17:27:18.208] } [17:27:18.208] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:18.208] "immediateCondition"))) { [17:27:18.208] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:18.208] ...future.conditions[[length(...future.conditions) + [17:27:18.208] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:18.208] if (TRUE && !signal) { [17:27:18.208] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.208] { [17:27:18.208] inherits <- base::inherits [17:27:18.208] invokeRestart <- base::invokeRestart [17:27:18.208] is.null <- base::is.null [17:27:18.208] muffled <- FALSE [17:27:18.208] if (inherits(cond, "message")) { [17:27:18.208] muffled <- grepl(pattern, "muffleMessage") [17:27:18.208] if (muffled) [17:27:18.208] invokeRestart("muffleMessage") [17:27:18.208] } [17:27:18.208] else if (inherits(cond, "warning")) { [17:27:18.208] muffled <- grepl(pattern, "muffleWarning") [17:27:18.208] if (muffled) [17:27:18.208] invokeRestart("muffleWarning") [17:27:18.208] } [17:27:18.208] else if (inherits(cond, "condition")) { [17:27:18.208] if (!is.null(pattern)) { [17:27:18.208] computeRestarts <- base::computeRestarts [17:27:18.208] grepl <- base::grepl [17:27:18.208] restarts <- computeRestarts(cond) [17:27:18.208] for (restart in restarts) { [17:27:18.208] name <- restart$name [17:27:18.208] if (is.null(name)) [17:27:18.208] next [17:27:18.208] if (!grepl(pattern, name)) [17:27:18.208] next [17:27:18.208] invokeRestart(restart) [17:27:18.208] muffled <- TRUE [17:27:18.208] break [17:27:18.208] } [17:27:18.208] } [17:27:18.208] } [17:27:18.208] invisible(muffled) [17:27:18.208] } [17:27:18.208] muffleCondition(cond, pattern = "^muffle") [17:27:18.208] } [17:27:18.208] } [17:27:18.208] else { [17:27:18.208] if (TRUE) { [17:27:18.208] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.208] { [17:27:18.208] inherits <- base::inherits [17:27:18.208] invokeRestart <- base::invokeRestart [17:27:18.208] is.null <- base::is.null [17:27:18.208] muffled <- FALSE [17:27:18.208] if (inherits(cond, "message")) { [17:27:18.208] muffled <- grepl(pattern, "muffleMessage") [17:27:18.208] if (muffled) [17:27:18.208] invokeRestart("muffleMessage") [17:27:18.208] } [17:27:18.208] else if (inherits(cond, "warning")) { [17:27:18.208] muffled <- grepl(pattern, "muffleWarning") [17:27:18.208] if (muffled) [17:27:18.208] invokeRestart("muffleWarning") [17:27:18.208] } [17:27:18.208] else if (inherits(cond, "condition")) { [17:27:18.208] if (!is.null(pattern)) { [17:27:18.208] computeRestarts <- base::computeRestarts [17:27:18.208] grepl <- base::grepl [17:27:18.208] restarts <- computeRestarts(cond) [17:27:18.208] for (restart in restarts) { [17:27:18.208] name <- restart$name [17:27:18.208] if (is.null(name)) [17:27:18.208] next [17:27:18.208] if (!grepl(pattern, name)) [17:27:18.208] next [17:27:18.208] invokeRestart(restart) [17:27:18.208] muffled <- TRUE [17:27:18.208] break [17:27:18.208] } [17:27:18.208] } [17:27:18.208] } [17:27:18.208] invisible(muffled) [17:27:18.208] } [17:27:18.208] muffleCondition(cond, pattern = "^muffle") [17:27:18.208] } [17:27:18.208] } [17:27:18.208] } [17:27:18.208] })) [17:27:18.208] }, error = function(ex) { [17:27:18.208] base::structure(base::list(value = NULL, visible = NULL, [17:27:18.208] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:18.208] ...future.rng), started = ...future.startTime, [17:27:18.208] finished = Sys.time(), session_uuid = NA_character_, [17:27:18.208] version = "1.8"), class = "FutureResult") [17:27:18.208] }, finally = { [17:27:18.208] if (!identical(...future.workdir, getwd())) [17:27:18.208] setwd(...future.workdir) [17:27:18.208] { [17:27:18.208] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:18.208] ...future.oldOptions$nwarnings <- NULL [17:27:18.208] } [17:27:18.208] base::options(...future.oldOptions) [17:27:18.208] if (.Platform$OS.type == "windows") { [17:27:18.208] old_names <- names(...future.oldEnvVars) [17:27:18.208] envs <- base::Sys.getenv() [17:27:18.208] names <- names(envs) [17:27:18.208] common <- intersect(names, old_names) [17:27:18.208] added <- setdiff(names, old_names) [17:27:18.208] removed <- setdiff(old_names, names) [17:27:18.208] changed <- common[...future.oldEnvVars[common] != [17:27:18.208] envs[common]] [17:27:18.208] NAMES <- toupper(changed) [17:27:18.208] args <- list() [17:27:18.208] for (kk in seq_along(NAMES)) { [17:27:18.208] name <- changed[[kk]] [17:27:18.208] NAME <- NAMES[[kk]] [17:27:18.208] if (name != NAME && is.element(NAME, old_names)) [17:27:18.208] next [17:27:18.208] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:18.208] } [17:27:18.208] NAMES <- toupper(added) [17:27:18.208] for (kk in seq_along(NAMES)) { [17:27:18.208] name <- added[[kk]] [17:27:18.208] NAME <- NAMES[[kk]] [17:27:18.208] if (name != NAME && is.element(NAME, old_names)) [17:27:18.208] next [17:27:18.208] args[[name]] <- "" [17:27:18.208] } [17:27:18.208] NAMES <- toupper(removed) [17:27:18.208] for (kk in seq_along(NAMES)) { [17:27:18.208] name <- removed[[kk]] [17:27:18.208] NAME <- NAMES[[kk]] [17:27:18.208] if (name != NAME && is.element(NAME, old_names)) [17:27:18.208] next [17:27:18.208] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:18.208] } [17:27:18.208] if (length(args) > 0) [17:27:18.208] base::do.call(base::Sys.setenv, args = args) [17:27:18.208] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:18.208] } [17:27:18.208] else { [17:27:18.208] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:18.208] } [17:27:18.208] { [17:27:18.208] if (base::length(...future.futureOptionsAdded) > [17:27:18.208] 0L) { [17:27:18.208] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:18.208] base::names(opts) <- ...future.futureOptionsAdded [17:27:18.208] base::options(opts) [17:27:18.208] } [17:27:18.208] { [17:27:18.208] { [17:27:18.208] base::options(mc.cores = ...future.mc.cores.old) [17:27:18.208] NULL [17:27:18.208] } [17:27:18.208] options(future.plan = NULL) [17:27:18.208] if (is.na(NA_character_)) [17:27:18.208] Sys.unsetenv("R_FUTURE_PLAN") [17:27:18.208] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:18.208] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:18.208] .init = FALSE) [17:27:18.208] } [17:27:18.208] } [17:27:18.208] } [17:27:18.208] }) [17:27:18.208] if (TRUE) { [17:27:18.208] base::sink(type = "output", split = FALSE) [17:27:18.208] if (TRUE) { [17:27:18.208] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:18.208] } [17:27:18.208] else { [17:27:18.208] ...future.result["stdout"] <- base::list(NULL) [17:27:18.208] } [17:27:18.208] base::close(...future.stdout) [17:27:18.208] ...future.stdout <- NULL [17:27:18.208] } [17:27:18.208] ...future.result$conditions <- ...future.conditions [17:27:18.208] ...future.result$finished <- base::Sys.time() [17:27:18.208] ...future.result [17:27:18.208] } [17:27:18.214] MultisessionFuture started [17:27:18.214] - Launch lazy future ... done [17:27:18.214] run() for 'MultisessionFuture' ... done > v <- value(f) [17:27:18.215] result() for ClusterFuture ... [17:27:18.215] receiveMessageFromWorker() for ClusterFuture ... [17:27:18.215] - Validating connection of MultisessionFuture [17:27:18.249] - received message: FutureResult [17:27:18.249] - Received FutureResult [17:27:18.250] - Erased future from FutureRegistry [17:27:18.250] result() for ClusterFuture ... [17:27:18.250] - result already collected: FutureResult [17:27:18.250] result() for ClusterFuture ... done [17:27:18.250] receiveMessageFromWorker() for ClusterFuture ... done [17:27:18.250] result() for ClusterFuture ... done [17:27:18.251] result() for ClusterFuture ... [17:27:18.251] - result already collected: FutureResult [17:27:18.251] result() for ClusterFuture ... done > print(v) used (Mb) gc trigger (Mb) max used (Mb) Ncells 408009 21.8 848998 45.4 633482 33.9 Vcells 725213 5.6 8388608 64.0 2004106 15.3 > > f <- future({ integer(10e6) }) [17:27:18.251] getGlobalsAndPackages() ... [17:27:18.252] Searching for globals... [17:27:18.253] - globals found: [2] '{', 'integer' [17:27:18.253] Searching for globals ... DONE [17:27:18.253] Resolving globals: FALSE [17:27:18.253] [17:27:18.254] [17:27:18.254] getGlobalsAndPackages() ... DONE [17:27:18.254] run() for 'Future' ... [17:27:18.254] - state: 'created' [17:27:18.255] - Future backend: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:18.266] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:18.267] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:18.267] - Field: 'node' [17:27:18.267] - Field: 'label' [17:27:18.267] - Field: 'local' [17:27:18.267] - Field: 'owner' [17:27:18.267] - Field: 'envir' [17:27:18.268] - Field: 'workers' [17:27:18.268] - Field: 'packages' [17:27:18.268] - Field: 'gc' [17:27:18.268] - Field: 'conditions' [17:27:18.268] - Field: 'persistent' [17:27:18.269] - Field: 'expr' [17:27:18.269] - Field: 'uuid' [17:27:18.269] - Field: 'seed' [17:27:18.269] - Field: 'version' [17:27:18.269] - Field: 'result' [17:27:18.269] - Field: 'asynchronous' [17:27:18.270] - Field: 'calls' [17:27:18.270] - Field: 'globals' [17:27:18.270] - Field: 'stdout' [17:27:18.270] - Field: 'earlySignal' [17:27:18.270] - Field: 'lazy' [17:27:18.270] - Field: 'state' [17:27:18.271] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:18.271] - Launch lazy future ... [17:27:18.271] Packages needed by the future expression (n = 0): [17:27:18.271] Packages needed by future strategies (n = 0): [17:27:18.272] { [17:27:18.272] { [17:27:18.272] { [17:27:18.272] ...future.startTime <- base::Sys.time() [17:27:18.272] { [17:27:18.272] { [17:27:18.272] { [17:27:18.272] { [17:27:18.272] base::local({ [17:27:18.272] has_future <- base::requireNamespace("future", [17:27:18.272] quietly = TRUE) [17:27:18.272] if (has_future) { [17:27:18.272] ns <- base::getNamespace("future") [17:27:18.272] version <- ns[[".package"]][["version"]] [17:27:18.272] if (is.null(version)) [17:27:18.272] version <- utils::packageVersion("future") [17:27:18.272] } [17:27:18.272] else { [17:27:18.272] version <- NULL [17:27:18.272] } [17:27:18.272] if (!has_future || version < "1.8.0") { [17:27:18.272] info <- base::c(r_version = base::gsub("R version ", [17:27:18.272] "", base::R.version$version.string), [17:27:18.272] platform = base::sprintf("%s (%s-bit)", [17:27:18.272] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:18.272] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:18.272] "release", "version")], collapse = " "), [17:27:18.272] hostname = base::Sys.info()[["nodename"]]) [17:27:18.272] info <- base::sprintf("%s: %s", base::names(info), [17:27:18.272] info) [17:27:18.272] info <- base::paste(info, collapse = "; ") [17:27:18.272] if (!has_future) { [17:27:18.272] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:18.272] info) [17:27:18.272] } [17:27:18.272] else { [17:27:18.272] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:18.272] info, version) [17:27:18.272] } [17:27:18.272] base::stop(msg) [17:27:18.272] } [17:27:18.272] }) [17:27:18.272] } [17:27:18.272] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:18.272] base::options(mc.cores = 1L) [17:27:18.272] } [17:27:18.272] ...future.strategy.old <- future::plan("list") [17:27:18.272] options(future.plan = NULL) [17:27:18.272] Sys.unsetenv("R_FUTURE_PLAN") [17:27:18.272] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:18.272] } [17:27:18.272] ...future.workdir <- getwd() [17:27:18.272] } [17:27:18.272] ...future.oldOptions <- base::as.list(base::.Options) [17:27:18.272] ...future.oldEnvVars <- base::Sys.getenv() [17:27:18.272] } [17:27:18.272] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:18.272] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:18.272] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:18.272] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:18.272] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:18.272] future.stdout.windows.reencode = NULL, width = 80L) [17:27:18.272] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:18.272] base::names(...future.oldOptions)) [17:27:18.272] } [17:27:18.272] if (FALSE) { [17:27:18.272] } [17:27:18.272] else { [17:27:18.272] if (TRUE) { [17:27:18.272] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:18.272] open = "w") [17:27:18.272] } [17:27:18.272] else { [17:27:18.272] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:18.272] windows = "NUL", "/dev/null"), open = "w") [17:27:18.272] } [17:27:18.272] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:18.272] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:18.272] base::sink(type = "output", split = FALSE) [17:27:18.272] base::close(...future.stdout) [17:27:18.272] }, add = TRUE) [17:27:18.272] } [17:27:18.272] ...future.frame <- base::sys.nframe() [17:27:18.272] ...future.conditions <- base::list() [17:27:18.272] ...future.rng <- base::globalenv()$.Random.seed [17:27:18.272] if (FALSE) { [17:27:18.272] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:18.272] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:18.272] } [17:27:18.272] ...future.result <- base::tryCatch({ [17:27:18.272] base::withCallingHandlers({ [17:27:18.272] ...future.value <- base::withVisible(base::local({ [17:27:18.272] ...future.makeSendCondition <- base::local({ [17:27:18.272] sendCondition <- NULL [17:27:18.272] function(frame = 1L) { [17:27:18.272] if (is.function(sendCondition)) [17:27:18.272] return(sendCondition) [17:27:18.272] ns <- getNamespace("parallel") [17:27:18.272] if (exists("sendData", mode = "function", [17:27:18.272] envir = ns)) { [17:27:18.272] parallel_sendData <- get("sendData", mode = "function", [17:27:18.272] envir = ns) [17:27:18.272] envir <- sys.frame(frame) [17:27:18.272] master <- NULL [17:27:18.272] while (!identical(envir, .GlobalEnv) && [17:27:18.272] !identical(envir, emptyenv())) { [17:27:18.272] if (exists("master", mode = "list", envir = envir, [17:27:18.272] inherits = FALSE)) { [17:27:18.272] master <- get("master", mode = "list", [17:27:18.272] envir = envir, inherits = FALSE) [17:27:18.272] if (inherits(master, c("SOCKnode", [17:27:18.272] "SOCK0node"))) { [17:27:18.272] sendCondition <<- function(cond) { [17:27:18.272] data <- list(type = "VALUE", value = cond, [17:27:18.272] success = TRUE) [17:27:18.272] parallel_sendData(master, data) [17:27:18.272] } [17:27:18.272] return(sendCondition) [17:27:18.272] } [17:27:18.272] } [17:27:18.272] frame <- frame + 1L [17:27:18.272] envir <- sys.frame(frame) [17:27:18.272] } [17:27:18.272] } [17:27:18.272] sendCondition <<- function(cond) NULL [17:27:18.272] } [17:27:18.272] }) [17:27:18.272] withCallingHandlers({ [17:27:18.272] { [17:27:18.272] integer(1e+07) [17:27:18.272] } [17:27:18.272] }, immediateCondition = function(cond) { [17:27:18.272] sendCondition <- ...future.makeSendCondition() [17:27:18.272] sendCondition(cond) [17:27:18.272] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.272] { [17:27:18.272] inherits <- base::inherits [17:27:18.272] invokeRestart <- base::invokeRestart [17:27:18.272] is.null <- base::is.null [17:27:18.272] muffled <- FALSE [17:27:18.272] if (inherits(cond, "message")) { [17:27:18.272] muffled <- grepl(pattern, "muffleMessage") [17:27:18.272] if (muffled) [17:27:18.272] invokeRestart("muffleMessage") [17:27:18.272] } [17:27:18.272] else if (inherits(cond, "warning")) { [17:27:18.272] muffled <- grepl(pattern, "muffleWarning") [17:27:18.272] if (muffled) [17:27:18.272] invokeRestart("muffleWarning") [17:27:18.272] } [17:27:18.272] else if (inherits(cond, "condition")) { [17:27:18.272] if (!is.null(pattern)) { [17:27:18.272] computeRestarts <- base::computeRestarts [17:27:18.272] grepl <- base::grepl [17:27:18.272] restarts <- computeRestarts(cond) [17:27:18.272] for (restart in restarts) { [17:27:18.272] name <- restart$name [17:27:18.272] if (is.null(name)) [17:27:18.272] next [17:27:18.272] if (!grepl(pattern, name)) [17:27:18.272] next [17:27:18.272] invokeRestart(restart) [17:27:18.272] muffled <- TRUE [17:27:18.272] break [17:27:18.272] } [17:27:18.272] } [17:27:18.272] } [17:27:18.272] invisible(muffled) [17:27:18.272] } [17:27:18.272] muffleCondition(cond) [17:27:18.272] }) [17:27:18.272] })) [17:27:18.272] future::FutureResult(value = ...future.value$value, [17:27:18.272] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:18.272] ...future.rng), globalenv = if (FALSE) [17:27:18.272] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:18.272] ...future.globalenv.names)) [17:27:18.272] else NULL, started = ...future.startTime, version = "1.8") [17:27:18.272] }, condition = base::local({ [17:27:18.272] c <- base::c [17:27:18.272] inherits <- base::inherits [17:27:18.272] invokeRestart <- base::invokeRestart [17:27:18.272] length <- base::length [17:27:18.272] list <- base::list [17:27:18.272] seq.int <- base::seq.int [17:27:18.272] signalCondition <- base::signalCondition [17:27:18.272] sys.calls <- base::sys.calls [17:27:18.272] `[[` <- base::`[[` [17:27:18.272] `+` <- base::`+` [17:27:18.272] `<<-` <- base::`<<-` [17:27:18.272] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:18.272] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:18.272] 3L)] [17:27:18.272] } [17:27:18.272] function(cond) { [17:27:18.272] is_error <- inherits(cond, "error") [17:27:18.272] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:18.272] NULL) [17:27:18.272] if (is_error) { [17:27:18.272] sessionInformation <- function() { [17:27:18.272] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:18.272] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:18.272] search = base::search(), system = base::Sys.info()) [17:27:18.272] } [17:27:18.272] ...future.conditions[[length(...future.conditions) + [17:27:18.272] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:18.272] cond$call), session = sessionInformation(), [17:27:18.272] timestamp = base::Sys.time(), signaled = 0L) [17:27:18.272] signalCondition(cond) [17:27:18.272] } [17:27:18.272] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:18.272] "immediateCondition"))) { [17:27:18.272] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:18.272] ...future.conditions[[length(...future.conditions) + [17:27:18.272] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:18.272] if (TRUE && !signal) { [17:27:18.272] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.272] { [17:27:18.272] inherits <- base::inherits [17:27:18.272] invokeRestart <- base::invokeRestart [17:27:18.272] is.null <- base::is.null [17:27:18.272] muffled <- FALSE [17:27:18.272] if (inherits(cond, "message")) { [17:27:18.272] muffled <- grepl(pattern, "muffleMessage") [17:27:18.272] if (muffled) [17:27:18.272] invokeRestart("muffleMessage") [17:27:18.272] } [17:27:18.272] else if (inherits(cond, "warning")) { [17:27:18.272] muffled <- grepl(pattern, "muffleWarning") [17:27:18.272] if (muffled) [17:27:18.272] invokeRestart("muffleWarning") [17:27:18.272] } [17:27:18.272] else if (inherits(cond, "condition")) { [17:27:18.272] if (!is.null(pattern)) { [17:27:18.272] computeRestarts <- base::computeRestarts [17:27:18.272] grepl <- base::grepl [17:27:18.272] restarts <- computeRestarts(cond) [17:27:18.272] for (restart in restarts) { [17:27:18.272] name <- restart$name [17:27:18.272] if (is.null(name)) [17:27:18.272] next [17:27:18.272] if (!grepl(pattern, name)) [17:27:18.272] next [17:27:18.272] invokeRestart(restart) [17:27:18.272] muffled <- TRUE [17:27:18.272] break [17:27:18.272] } [17:27:18.272] } [17:27:18.272] } [17:27:18.272] invisible(muffled) [17:27:18.272] } [17:27:18.272] muffleCondition(cond, pattern = "^muffle") [17:27:18.272] } [17:27:18.272] } [17:27:18.272] else { [17:27:18.272] if (TRUE) { [17:27:18.272] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.272] { [17:27:18.272] inherits <- base::inherits [17:27:18.272] invokeRestart <- base::invokeRestart [17:27:18.272] is.null <- base::is.null [17:27:18.272] muffled <- FALSE [17:27:18.272] if (inherits(cond, "message")) { [17:27:18.272] muffled <- grepl(pattern, "muffleMessage") [17:27:18.272] if (muffled) [17:27:18.272] invokeRestart("muffleMessage") [17:27:18.272] } [17:27:18.272] else if (inherits(cond, "warning")) { [17:27:18.272] muffled <- grepl(pattern, "muffleWarning") [17:27:18.272] if (muffled) [17:27:18.272] invokeRestart("muffleWarning") [17:27:18.272] } [17:27:18.272] else if (inherits(cond, "condition")) { [17:27:18.272] if (!is.null(pattern)) { [17:27:18.272] computeRestarts <- base::computeRestarts [17:27:18.272] grepl <- base::grepl [17:27:18.272] restarts <- computeRestarts(cond) [17:27:18.272] for (restart in restarts) { [17:27:18.272] name <- restart$name [17:27:18.272] if (is.null(name)) [17:27:18.272] next [17:27:18.272] if (!grepl(pattern, name)) [17:27:18.272] next [17:27:18.272] invokeRestart(restart) [17:27:18.272] muffled <- TRUE [17:27:18.272] break [17:27:18.272] } [17:27:18.272] } [17:27:18.272] } [17:27:18.272] invisible(muffled) [17:27:18.272] } [17:27:18.272] muffleCondition(cond, pattern = "^muffle") [17:27:18.272] } [17:27:18.272] } [17:27:18.272] } [17:27:18.272] })) [17:27:18.272] }, error = function(ex) { [17:27:18.272] base::structure(base::list(value = NULL, visible = NULL, [17:27:18.272] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:18.272] ...future.rng), started = ...future.startTime, [17:27:18.272] finished = Sys.time(), session_uuid = NA_character_, [17:27:18.272] version = "1.8"), class = "FutureResult") [17:27:18.272] }, finally = { [17:27:18.272] if (!identical(...future.workdir, getwd())) [17:27:18.272] setwd(...future.workdir) [17:27:18.272] { [17:27:18.272] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:18.272] ...future.oldOptions$nwarnings <- NULL [17:27:18.272] } [17:27:18.272] base::options(...future.oldOptions) [17:27:18.272] if (.Platform$OS.type == "windows") { [17:27:18.272] old_names <- names(...future.oldEnvVars) [17:27:18.272] envs <- base::Sys.getenv() [17:27:18.272] names <- names(envs) [17:27:18.272] common <- intersect(names, old_names) [17:27:18.272] added <- setdiff(names, old_names) [17:27:18.272] removed <- setdiff(old_names, names) [17:27:18.272] changed <- common[...future.oldEnvVars[common] != [17:27:18.272] envs[common]] [17:27:18.272] NAMES <- toupper(changed) [17:27:18.272] args <- list() [17:27:18.272] for (kk in seq_along(NAMES)) { [17:27:18.272] name <- changed[[kk]] [17:27:18.272] NAME <- NAMES[[kk]] [17:27:18.272] if (name != NAME && is.element(NAME, old_names)) [17:27:18.272] next [17:27:18.272] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:18.272] } [17:27:18.272] NAMES <- toupper(added) [17:27:18.272] for (kk in seq_along(NAMES)) { [17:27:18.272] name <- added[[kk]] [17:27:18.272] NAME <- NAMES[[kk]] [17:27:18.272] if (name != NAME && is.element(NAME, old_names)) [17:27:18.272] next [17:27:18.272] args[[name]] <- "" [17:27:18.272] } [17:27:18.272] NAMES <- toupper(removed) [17:27:18.272] for (kk in seq_along(NAMES)) { [17:27:18.272] name <- removed[[kk]] [17:27:18.272] NAME <- NAMES[[kk]] [17:27:18.272] if (name != NAME && is.element(NAME, old_names)) [17:27:18.272] next [17:27:18.272] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:18.272] } [17:27:18.272] if (length(args) > 0) [17:27:18.272] base::do.call(base::Sys.setenv, args = args) [17:27:18.272] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:18.272] } [17:27:18.272] else { [17:27:18.272] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:18.272] } [17:27:18.272] { [17:27:18.272] if (base::length(...future.futureOptionsAdded) > [17:27:18.272] 0L) { [17:27:18.272] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:18.272] base::names(opts) <- ...future.futureOptionsAdded [17:27:18.272] base::options(opts) [17:27:18.272] } [17:27:18.272] { [17:27:18.272] { [17:27:18.272] base::options(mc.cores = ...future.mc.cores.old) [17:27:18.272] NULL [17:27:18.272] } [17:27:18.272] options(future.plan = NULL) [17:27:18.272] if (is.na(NA_character_)) [17:27:18.272] Sys.unsetenv("R_FUTURE_PLAN") [17:27:18.272] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:18.272] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:18.272] .init = FALSE) [17:27:18.272] } [17:27:18.272] } [17:27:18.272] } [17:27:18.272] }) [17:27:18.272] if (TRUE) { [17:27:18.272] base::sink(type = "output", split = FALSE) [17:27:18.272] if (TRUE) { [17:27:18.272] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:18.272] } [17:27:18.272] else { [17:27:18.272] ...future.result["stdout"] <- base::list(NULL) [17:27:18.272] } [17:27:18.272] base::close(...future.stdout) [17:27:18.272] ...future.stdout <- NULL [17:27:18.272] } [17:27:18.272] ...future.result$conditions <- ...future.conditions [17:27:18.272] ...future.result$finished <- base::Sys.time() [17:27:18.272] ...future.result [17:27:18.272] } [17:27:18.278] MultisessionFuture started [17:27:18.278] - Launch lazy future ... done [17:27:18.278] run() for 'MultisessionFuture' ... done > v <- value(f) [17:27:18.278] result() for ClusterFuture ... [17:27:18.278] receiveMessageFromWorker() for ClusterFuture ... [17:27:18.279] - Validating connection of MultisessionFuture [17:27:18.339] - received message: FutureResult [17:27:18.340] - Received FutureResult [17:27:18.340] - Erased future from FutureRegistry [17:27:18.340] result() for ClusterFuture ... [17:27:18.340] - result already collected: FutureResult [17:27:18.340] result() for ClusterFuture ... done [17:27:18.341] receiveMessageFromWorker() for ClusterFuture ... done [17:27:18.341] result() for ClusterFuture ... done [17:27:18.341] result() for ClusterFuture ... [17:27:18.341] - result already collected: FutureResult [17:27:18.341] result() for ClusterFuture ... done > str(v) int [1:10000000] 0 0 0 0 0 0 0 0 0 0 ... > > f <- future({ gc() }) [17:27:18.342] getGlobalsAndPackages() ... [17:27:18.342] Searching for globals... [17:27:18.343] - globals found: [2] '{', 'gc' [17:27:18.343] Searching for globals ... DONE [17:27:18.343] Resolving globals: FALSE [17:27:18.344] [17:27:18.344] [17:27:18.344] getGlobalsAndPackages() ... DONE [17:27:18.345] run() for 'Future' ... [17:27:18.345] - state: 'created' [17:27:18.345] - Future backend: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:18.358] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:18.358] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:18.358] - Field: 'node' [17:27:18.358] - Field: 'label' [17:27:18.359] - Field: 'local' [17:27:18.359] - Field: 'owner' [17:27:18.359] - Field: 'envir' [17:27:18.359] - Field: 'workers' [17:27:18.360] - Field: 'packages' [17:27:18.360] - Field: 'gc' [17:27:18.360] - Field: 'conditions' [17:27:18.361] - Field: 'persistent' [17:27:18.361] - Field: 'expr' [17:27:18.361] - Field: 'uuid' [17:27:18.361] - Field: 'seed' [17:27:18.365] - Field: 'version' [17:27:18.365] - Field: 'result' [17:27:18.365] - Field: 'asynchronous' [17:27:18.366] - Field: 'calls' [17:27:18.366] - Field: 'globals' [17:27:18.366] - Field: 'stdout' [17:27:18.366] - Field: 'earlySignal' [17:27:18.367] - Field: 'lazy' [17:27:18.367] - Field: 'state' [17:27:18.367] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:18.367] - Launch lazy future ... [17:27:18.368] Packages needed by the future expression (n = 0): [17:27:18.368] Packages needed by future strategies (n = 0): [17:27:18.368] { [17:27:18.368] { [17:27:18.368] { [17:27:18.368] ...future.startTime <- base::Sys.time() [17:27:18.368] { [17:27:18.368] { [17:27:18.368] { [17:27:18.368] { [17:27:18.368] base::local({ [17:27:18.368] has_future <- base::requireNamespace("future", [17:27:18.368] quietly = TRUE) [17:27:18.368] if (has_future) { [17:27:18.368] ns <- base::getNamespace("future") [17:27:18.368] version <- ns[[".package"]][["version"]] [17:27:18.368] if (is.null(version)) [17:27:18.368] version <- utils::packageVersion("future") [17:27:18.368] } [17:27:18.368] else { [17:27:18.368] version <- NULL [17:27:18.368] } [17:27:18.368] if (!has_future || version < "1.8.0") { [17:27:18.368] info <- base::c(r_version = base::gsub("R version ", [17:27:18.368] "", base::R.version$version.string), [17:27:18.368] platform = base::sprintf("%s (%s-bit)", [17:27:18.368] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:18.368] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:18.368] "release", "version")], collapse = " "), [17:27:18.368] hostname = base::Sys.info()[["nodename"]]) [17:27:18.368] info <- base::sprintf("%s: %s", base::names(info), [17:27:18.368] info) [17:27:18.368] info <- base::paste(info, collapse = "; ") [17:27:18.368] if (!has_future) { [17:27:18.368] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:18.368] info) [17:27:18.368] } [17:27:18.368] else { [17:27:18.368] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:18.368] info, version) [17:27:18.368] } [17:27:18.368] base::stop(msg) [17:27:18.368] } [17:27:18.368] }) [17:27:18.368] } [17:27:18.368] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:18.368] base::options(mc.cores = 1L) [17:27:18.368] } [17:27:18.368] ...future.strategy.old <- future::plan("list") [17:27:18.368] options(future.plan = NULL) [17:27:18.368] Sys.unsetenv("R_FUTURE_PLAN") [17:27:18.368] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:18.368] } [17:27:18.368] ...future.workdir <- getwd() [17:27:18.368] } [17:27:18.368] ...future.oldOptions <- base::as.list(base::.Options) [17:27:18.368] ...future.oldEnvVars <- base::Sys.getenv() [17:27:18.368] } [17:27:18.368] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:18.368] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:18.368] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:18.368] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:18.368] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:18.368] future.stdout.windows.reencode = NULL, width = 80L) [17:27:18.368] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:18.368] base::names(...future.oldOptions)) [17:27:18.368] } [17:27:18.368] if (FALSE) { [17:27:18.368] } [17:27:18.368] else { [17:27:18.368] if (TRUE) { [17:27:18.368] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:18.368] open = "w") [17:27:18.368] } [17:27:18.368] else { [17:27:18.368] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:18.368] windows = "NUL", "/dev/null"), open = "w") [17:27:18.368] } [17:27:18.368] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:18.368] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:18.368] base::sink(type = "output", split = FALSE) [17:27:18.368] base::close(...future.stdout) [17:27:18.368] }, add = TRUE) [17:27:18.368] } [17:27:18.368] ...future.frame <- base::sys.nframe() [17:27:18.368] ...future.conditions <- base::list() [17:27:18.368] ...future.rng <- base::globalenv()$.Random.seed [17:27:18.368] if (FALSE) { [17:27:18.368] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:18.368] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:18.368] } [17:27:18.368] ...future.result <- base::tryCatch({ [17:27:18.368] base::withCallingHandlers({ [17:27:18.368] ...future.value <- base::withVisible(base::local({ [17:27:18.368] ...future.makeSendCondition <- base::local({ [17:27:18.368] sendCondition <- NULL [17:27:18.368] function(frame = 1L) { [17:27:18.368] if (is.function(sendCondition)) [17:27:18.368] return(sendCondition) [17:27:18.368] ns <- getNamespace("parallel") [17:27:18.368] if (exists("sendData", mode = "function", [17:27:18.368] envir = ns)) { [17:27:18.368] parallel_sendData <- get("sendData", mode = "function", [17:27:18.368] envir = ns) [17:27:18.368] envir <- sys.frame(frame) [17:27:18.368] master <- NULL [17:27:18.368] while (!identical(envir, .GlobalEnv) && [17:27:18.368] !identical(envir, emptyenv())) { [17:27:18.368] if (exists("master", mode = "list", envir = envir, [17:27:18.368] inherits = FALSE)) { [17:27:18.368] master <- get("master", mode = "list", [17:27:18.368] envir = envir, inherits = FALSE) [17:27:18.368] if (inherits(master, c("SOCKnode", [17:27:18.368] "SOCK0node"))) { [17:27:18.368] sendCondition <<- function(cond) { [17:27:18.368] data <- list(type = "VALUE", value = cond, [17:27:18.368] success = TRUE) [17:27:18.368] parallel_sendData(master, data) [17:27:18.368] } [17:27:18.368] return(sendCondition) [17:27:18.368] } [17:27:18.368] } [17:27:18.368] frame <- frame + 1L [17:27:18.368] envir <- sys.frame(frame) [17:27:18.368] } [17:27:18.368] } [17:27:18.368] sendCondition <<- function(cond) NULL [17:27:18.368] } [17:27:18.368] }) [17:27:18.368] withCallingHandlers({ [17:27:18.368] { [17:27:18.368] gc() [17:27:18.368] } [17:27:18.368] }, immediateCondition = function(cond) { [17:27:18.368] sendCondition <- ...future.makeSendCondition() [17:27:18.368] sendCondition(cond) [17:27:18.368] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.368] { [17:27:18.368] inherits <- base::inherits [17:27:18.368] invokeRestart <- base::invokeRestart [17:27:18.368] is.null <- base::is.null [17:27:18.368] muffled <- FALSE [17:27:18.368] if (inherits(cond, "message")) { [17:27:18.368] muffled <- grepl(pattern, "muffleMessage") [17:27:18.368] if (muffled) [17:27:18.368] invokeRestart("muffleMessage") [17:27:18.368] } [17:27:18.368] else if (inherits(cond, "warning")) { [17:27:18.368] muffled <- grepl(pattern, "muffleWarning") [17:27:18.368] if (muffled) [17:27:18.368] invokeRestart("muffleWarning") [17:27:18.368] } [17:27:18.368] else if (inherits(cond, "condition")) { [17:27:18.368] if (!is.null(pattern)) { [17:27:18.368] computeRestarts <- base::computeRestarts [17:27:18.368] grepl <- base::grepl [17:27:18.368] restarts <- computeRestarts(cond) [17:27:18.368] for (restart in restarts) { [17:27:18.368] name <- restart$name [17:27:18.368] if (is.null(name)) [17:27:18.368] next [17:27:18.368] if (!grepl(pattern, name)) [17:27:18.368] next [17:27:18.368] invokeRestart(restart) [17:27:18.368] muffled <- TRUE [17:27:18.368] break [17:27:18.368] } [17:27:18.368] } [17:27:18.368] } [17:27:18.368] invisible(muffled) [17:27:18.368] } [17:27:18.368] muffleCondition(cond) [17:27:18.368] }) [17:27:18.368] })) [17:27:18.368] future::FutureResult(value = ...future.value$value, [17:27:18.368] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:18.368] ...future.rng), globalenv = if (FALSE) [17:27:18.368] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:18.368] ...future.globalenv.names)) [17:27:18.368] else NULL, started = ...future.startTime, version = "1.8") [17:27:18.368] }, condition = base::local({ [17:27:18.368] c <- base::c [17:27:18.368] inherits <- base::inherits [17:27:18.368] invokeRestart <- base::invokeRestart [17:27:18.368] length <- base::length [17:27:18.368] list <- base::list [17:27:18.368] seq.int <- base::seq.int [17:27:18.368] signalCondition <- base::signalCondition [17:27:18.368] sys.calls <- base::sys.calls [17:27:18.368] `[[` <- base::`[[` [17:27:18.368] `+` <- base::`+` [17:27:18.368] `<<-` <- base::`<<-` [17:27:18.368] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:18.368] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:18.368] 3L)] [17:27:18.368] } [17:27:18.368] function(cond) { [17:27:18.368] is_error <- inherits(cond, "error") [17:27:18.368] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:18.368] NULL) [17:27:18.368] if (is_error) { [17:27:18.368] sessionInformation <- function() { [17:27:18.368] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:18.368] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:18.368] search = base::search(), system = base::Sys.info()) [17:27:18.368] } [17:27:18.368] ...future.conditions[[length(...future.conditions) + [17:27:18.368] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:18.368] cond$call), session = sessionInformation(), [17:27:18.368] timestamp = base::Sys.time(), signaled = 0L) [17:27:18.368] signalCondition(cond) [17:27:18.368] } [17:27:18.368] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:18.368] "immediateCondition"))) { [17:27:18.368] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:18.368] ...future.conditions[[length(...future.conditions) + [17:27:18.368] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:18.368] if (TRUE && !signal) { [17:27:18.368] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.368] { [17:27:18.368] inherits <- base::inherits [17:27:18.368] invokeRestart <- base::invokeRestart [17:27:18.368] is.null <- base::is.null [17:27:18.368] muffled <- FALSE [17:27:18.368] if (inherits(cond, "message")) { [17:27:18.368] muffled <- grepl(pattern, "muffleMessage") [17:27:18.368] if (muffled) [17:27:18.368] invokeRestart("muffleMessage") [17:27:18.368] } [17:27:18.368] else if (inherits(cond, "warning")) { [17:27:18.368] muffled <- grepl(pattern, "muffleWarning") [17:27:18.368] if (muffled) [17:27:18.368] invokeRestart("muffleWarning") [17:27:18.368] } [17:27:18.368] else if (inherits(cond, "condition")) { [17:27:18.368] if (!is.null(pattern)) { [17:27:18.368] computeRestarts <- base::computeRestarts [17:27:18.368] grepl <- base::grepl [17:27:18.368] restarts <- computeRestarts(cond) [17:27:18.368] for (restart in restarts) { [17:27:18.368] name <- restart$name [17:27:18.368] if (is.null(name)) [17:27:18.368] next [17:27:18.368] if (!grepl(pattern, name)) [17:27:18.368] next [17:27:18.368] invokeRestart(restart) [17:27:18.368] muffled <- TRUE [17:27:18.368] break [17:27:18.368] } [17:27:18.368] } [17:27:18.368] } [17:27:18.368] invisible(muffled) [17:27:18.368] } [17:27:18.368] muffleCondition(cond, pattern = "^muffle") [17:27:18.368] } [17:27:18.368] } [17:27:18.368] else { [17:27:18.368] if (TRUE) { [17:27:18.368] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.368] { [17:27:18.368] inherits <- base::inherits [17:27:18.368] invokeRestart <- base::invokeRestart [17:27:18.368] is.null <- base::is.null [17:27:18.368] muffled <- FALSE [17:27:18.368] if (inherits(cond, "message")) { [17:27:18.368] muffled <- grepl(pattern, "muffleMessage") [17:27:18.368] if (muffled) [17:27:18.368] invokeRestart("muffleMessage") [17:27:18.368] } [17:27:18.368] else if (inherits(cond, "warning")) { [17:27:18.368] muffled <- grepl(pattern, "muffleWarning") [17:27:18.368] if (muffled) [17:27:18.368] invokeRestart("muffleWarning") [17:27:18.368] } [17:27:18.368] else if (inherits(cond, "condition")) { [17:27:18.368] if (!is.null(pattern)) { [17:27:18.368] computeRestarts <- base::computeRestarts [17:27:18.368] grepl <- base::grepl [17:27:18.368] restarts <- computeRestarts(cond) [17:27:18.368] for (restart in restarts) { [17:27:18.368] name <- restart$name [17:27:18.368] if (is.null(name)) [17:27:18.368] next [17:27:18.368] if (!grepl(pattern, name)) [17:27:18.368] next [17:27:18.368] invokeRestart(restart) [17:27:18.368] muffled <- TRUE [17:27:18.368] break [17:27:18.368] } [17:27:18.368] } [17:27:18.368] } [17:27:18.368] invisible(muffled) [17:27:18.368] } [17:27:18.368] muffleCondition(cond, pattern = "^muffle") [17:27:18.368] } [17:27:18.368] } [17:27:18.368] } [17:27:18.368] })) [17:27:18.368] }, error = function(ex) { [17:27:18.368] base::structure(base::list(value = NULL, visible = NULL, [17:27:18.368] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:18.368] ...future.rng), started = ...future.startTime, [17:27:18.368] finished = Sys.time(), session_uuid = NA_character_, [17:27:18.368] version = "1.8"), class = "FutureResult") [17:27:18.368] }, finally = { [17:27:18.368] if (!identical(...future.workdir, getwd())) [17:27:18.368] setwd(...future.workdir) [17:27:18.368] { [17:27:18.368] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:18.368] ...future.oldOptions$nwarnings <- NULL [17:27:18.368] } [17:27:18.368] base::options(...future.oldOptions) [17:27:18.368] if (.Platform$OS.type == "windows") { [17:27:18.368] old_names <- names(...future.oldEnvVars) [17:27:18.368] envs <- base::Sys.getenv() [17:27:18.368] names <- names(envs) [17:27:18.368] common <- intersect(names, old_names) [17:27:18.368] added <- setdiff(names, old_names) [17:27:18.368] removed <- setdiff(old_names, names) [17:27:18.368] changed <- common[...future.oldEnvVars[common] != [17:27:18.368] envs[common]] [17:27:18.368] NAMES <- toupper(changed) [17:27:18.368] args <- list() [17:27:18.368] for (kk in seq_along(NAMES)) { [17:27:18.368] name <- changed[[kk]] [17:27:18.368] NAME <- NAMES[[kk]] [17:27:18.368] if (name != NAME && is.element(NAME, old_names)) [17:27:18.368] next [17:27:18.368] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:18.368] } [17:27:18.368] NAMES <- toupper(added) [17:27:18.368] for (kk in seq_along(NAMES)) { [17:27:18.368] name <- added[[kk]] [17:27:18.368] NAME <- NAMES[[kk]] [17:27:18.368] if (name != NAME && is.element(NAME, old_names)) [17:27:18.368] next [17:27:18.368] args[[name]] <- "" [17:27:18.368] } [17:27:18.368] NAMES <- toupper(removed) [17:27:18.368] for (kk in seq_along(NAMES)) { [17:27:18.368] name <- removed[[kk]] [17:27:18.368] NAME <- NAMES[[kk]] [17:27:18.368] if (name != NAME && is.element(NAME, old_names)) [17:27:18.368] next [17:27:18.368] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:18.368] } [17:27:18.368] if (length(args) > 0) [17:27:18.368] base::do.call(base::Sys.setenv, args = args) [17:27:18.368] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:18.368] } [17:27:18.368] else { [17:27:18.368] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:18.368] } [17:27:18.368] { [17:27:18.368] if (base::length(...future.futureOptionsAdded) > [17:27:18.368] 0L) { [17:27:18.368] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:18.368] base::names(opts) <- ...future.futureOptionsAdded [17:27:18.368] base::options(opts) [17:27:18.368] } [17:27:18.368] { [17:27:18.368] { [17:27:18.368] base::options(mc.cores = ...future.mc.cores.old) [17:27:18.368] NULL [17:27:18.368] } [17:27:18.368] options(future.plan = NULL) [17:27:18.368] if (is.na(NA_character_)) [17:27:18.368] Sys.unsetenv("R_FUTURE_PLAN") [17:27:18.368] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:18.368] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:18.368] .init = FALSE) [17:27:18.368] } [17:27:18.368] } [17:27:18.368] } [17:27:18.368] }) [17:27:18.368] if (TRUE) { [17:27:18.368] base::sink(type = "output", split = FALSE) [17:27:18.368] if (TRUE) { [17:27:18.368] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:18.368] } [17:27:18.368] else { [17:27:18.368] ...future.result["stdout"] <- base::list(NULL) [17:27:18.368] } [17:27:18.368] base::close(...future.stdout) [17:27:18.368] ...future.stdout <- NULL [17:27:18.368] } [17:27:18.368] ...future.result$conditions <- ...future.conditions [17:27:18.368] ...future.result$finished <- base::Sys.time() [17:27:18.368] ...future.result [17:27:18.368] } [17:27:18.375] MultisessionFuture started [17:27:18.375] - Launch lazy future ... done [17:27:18.375] run() for 'MultisessionFuture' ... done > v <- value(f) [17:27:18.375] result() for ClusterFuture ... [17:27:18.375] receiveMessageFromWorker() for ClusterFuture ... [17:27:18.376] - Validating connection of MultisessionFuture [17:27:18.417] - received message: FutureResult [17:27:18.417] - Received FutureResult [17:27:18.417] - Erased future from FutureRegistry [17:27:18.417] result() for ClusterFuture ... [17:27:18.417] - result already collected: FutureResult [17:27:18.418] result() for ClusterFuture ... done [17:27:18.418] receiveMessageFromWorker() for ClusterFuture ... done [17:27:18.418] result() for ClusterFuture ... done [17:27:18.418] result() for ClusterFuture ... [17:27:18.418] - result already collected: FutureResult [17:27:18.418] result() for ClusterFuture ... done > print(v) used (Mb) gc trigger (Mb) max used (Mb) Ncells 408010 21.8 848998 45.4 657226 35.1 Vcells 725221 5.6 8388608 64.0 5852384 44.7 > > f <- future({ integer(10e6) }, gc = TRUE) [17:27:18.419] getGlobalsAndPackages() ... [17:27:18.419] Searching for globals... [17:27:18.420] - globals found: [2] '{', 'integer' [17:27:18.420] Searching for globals ... DONE [17:27:18.421] Resolving globals: FALSE [17:27:18.421] [17:27:18.421] [17:27:18.421] getGlobalsAndPackages() ... DONE [17:27:18.422] run() for 'Future' ... [17:27:18.422] - state: 'created' [17:27:18.422] - Future backend: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:18.434] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:18.434] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:18.434] - Field: 'node' [17:27:18.435] - Field: 'label' [17:27:18.435] - Field: 'local' [17:27:18.435] - Field: 'owner' [17:27:18.435] - Field: 'envir' [17:27:18.435] - Field: 'workers' [17:27:18.436] - Field: 'packages' [17:27:18.436] - Field: 'gc' [17:27:18.436] - Field: 'conditions' [17:27:18.436] - Field: 'persistent' [17:27:18.436] - Field: 'expr' [17:27:18.436] - Field: 'uuid' [17:27:18.437] - Field: 'seed' [17:27:18.437] - Field: 'version' [17:27:18.437] - Field: 'result' [17:27:18.437] - Field: 'asynchronous' [17:27:18.437] - Field: 'calls' [17:27:18.437] - Field: 'globals' [17:27:18.438] - Field: 'stdout' [17:27:18.438] - Field: 'earlySignal' [17:27:18.438] - Field: 'lazy' [17:27:18.438] - Field: 'state' [17:27:18.438] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:18.438] - Launch lazy future ... [17:27:18.439] Packages needed by the future expression (n = 0): [17:27:18.439] Packages needed by future strategies (n = 0): [17:27:18.440] { [17:27:18.440] { [17:27:18.440] { [17:27:18.440] ...future.startTime <- base::Sys.time() [17:27:18.440] { [17:27:18.440] { [17:27:18.440] { [17:27:18.440] { [17:27:18.440] base::local({ [17:27:18.440] has_future <- base::requireNamespace("future", [17:27:18.440] quietly = TRUE) [17:27:18.440] if (has_future) { [17:27:18.440] ns <- base::getNamespace("future") [17:27:18.440] version <- ns[[".package"]][["version"]] [17:27:18.440] if (is.null(version)) [17:27:18.440] version <- utils::packageVersion("future") [17:27:18.440] } [17:27:18.440] else { [17:27:18.440] version <- NULL [17:27:18.440] } [17:27:18.440] if (!has_future || version < "1.8.0") { [17:27:18.440] info <- base::c(r_version = base::gsub("R version ", [17:27:18.440] "", base::R.version$version.string), [17:27:18.440] platform = base::sprintf("%s (%s-bit)", [17:27:18.440] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:18.440] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:18.440] "release", "version")], collapse = " "), [17:27:18.440] hostname = base::Sys.info()[["nodename"]]) [17:27:18.440] info <- base::sprintf("%s: %s", base::names(info), [17:27:18.440] info) [17:27:18.440] info <- base::paste(info, collapse = "; ") [17:27:18.440] if (!has_future) { [17:27:18.440] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:18.440] info) [17:27:18.440] } [17:27:18.440] else { [17:27:18.440] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:18.440] info, version) [17:27:18.440] } [17:27:18.440] base::stop(msg) [17:27:18.440] } [17:27:18.440] }) [17:27:18.440] } [17:27:18.440] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:18.440] base::options(mc.cores = 1L) [17:27:18.440] } [17:27:18.440] ...future.strategy.old <- future::plan("list") [17:27:18.440] options(future.plan = NULL) [17:27:18.440] Sys.unsetenv("R_FUTURE_PLAN") [17:27:18.440] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:18.440] } [17:27:18.440] ...future.workdir <- getwd() [17:27:18.440] } [17:27:18.440] ...future.oldOptions <- base::as.list(base::.Options) [17:27:18.440] ...future.oldEnvVars <- base::Sys.getenv() [17:27:18.440] } [17:27:18.440] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:18.440] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:18.440] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:18.440] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:18.440] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:18.440] future.stdout.windows.reencode = NULL, width = 80L) [17:27:18.440] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:18.440] base::names(...future.oldOptions)) [17:27:18.440] } [17:27:18.440] if (FALSE) { [17:27:18.440] } [17:27:18.440] else { [17:27:18.440] if (TRUE) { [17:27:18.440] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:18.440] open = "w") [17:27:18.440] } [17:27:18.440] else { [17:27:18.440] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:18.440] windows = "NUL", "/dev/null"), open = "w") [17:27:18.440] } [17:27:18.440] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:18.440] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:18.440] base::sink(type = "output", split = FALSE) [17:27:18.440] base::close(...future.stdout) [17:27:18.440] }, add = TRUE) [17:27:18.440] } [17:27:18.440] ...future.frame <- base::sys.nframe() [17:27:18.440] ...future.conditions <- base::list() [17:27:18.440] ...future.rng <- base::globalenv()$.Random.seed [17:27:18.440] if (FALSE) { [17:27:18.440] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:18.440] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:18.440] } [17:27:18.440] ...future.result <- base::tryCatch({ [17:27:18.440] base::withCallingHandlers({ [17:27:18.440] ...future.value <- base::withVisible(base::local({ [17:27:18.440] ...future.makeSendCondition <- base::local({ [17:27:18.440] sendCondition <- NULL [17:27:18.440] function(frame = 1L) { [17:27:18.440] if (is.function(sendCondition)) [17:27:18.440] return(sendCondition) [17:27:18.440] ns <- getNamespace("parallel") [17:27:18.440] if (exists("sendData", mode = "function", [17:27:18.440] envir = ns)) { [17:27:18.440] parallel_sendData <- get("sendData", mode = "function", [17:27:18.440] envir = ns) [17:27:18.440] envir <- sys.frame(frame) [17:27:18.440] master <- NULL [17:27:18.440] while (!identical(envir, .GlobalEnv) && [17:27:18.440] !identical(envir, emptyenv())) { [17:27:18.440] if (exists("master", mode = "list", envir = envir, [17:27:18.440] inherits = FALSE)) { [17:27:18.440] master <- get("master", mode = "list", [17:27:18.440] envir = envir, inherits = FALSE) [17:27:18.440] if (inherits(master, c("SOCKnode", [17:27:18.440] "SOCK0node"))) { [17:27:18.440] sendCondition <<- function(cond) { [17:27:18.440] data <- list(type = "VALUE", value = cond, [17:27:18.440] success = TRUE) [17:27:18.440] parallel_sendData(master, data) [17:27:18.440] } [17:27:18.440] return(sendCondition) [17:27:18.440] } [17:27:18.440] } [17:27:18.440] frame <- frame + 1L [17:27:18.440] envir <- sys.frame(frame) [17:27:18.440] } [17:27:18.440] } [17:27:18.440] sendCondition <<- function(cond) NULL [17:27:18.440] } [17:27:18.440] }) [17:27:18.440] withCallingHandlers({ [17:27:18.440] { [17:27:18.440] integer(1e+07) [17:27:18.440] } [17:27:18.440] }, immediateCondition = function(cond) { [17:27:18.440] sendCondition <- ...future.makeSendCondition() [17:27:18.440] sendCondition(cond) [17:27:18.440] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.440] { [17:27:18.440] inherits <- base::inherits [17:27:18.440] invokeRestart <- base::invokeRestart [17:27:18.440] is.null <- base::is.null [17:27:18.440] muffled <- FALSE [17:27:18.440] if (inherits(cond, "message")) { [17:27:18.440] muffled <- grepl(pattern, "muffleMessage") [17:27:18.440] if (muffled) [17:27:18.440] invokeRestart("muffleMessage") [17:27:18.440] } [17:27:18.440] else if (inherits(cond, "warning")) { [17:27:18.440] muffled <- grepl(pattern, "muffleWarning") [17:27:18.440] if (muffled) [17:27:18.440] invokeRestart("muffleWarning") [17:27:18.440] } [17:27:18.440] else if (inherits(cond, "condition")) { [17:27:18.440] if (!is.null(pattern)) { [17:27:18.440] computeRestarts <- base::computeRestarts [17:27:18.440] grepl <- base::grepl [17:27:18.440] restarts <- computeRestarts(cond) [17:27:18.440] for (restart in restarts) { [17:27:18.440] name <- restart$name [17:27:18.440] if (is.null(name)) [17:27:18.440] next [17:27:18.440] if (!grepl(pattern, name)) [17:27:18.440] next [17:27:18.440] invokeRestart(restart) [17:27:18.440] muffled <- TRUE [17:27:18.440] break [17:27:18.440] } [17:27:18.440] } [17:27:18.440] } [17:27:18.440] invisible(muffled) [17:27:18.440] } [17:27:18.440] muffleCondition(cond) [17:27:18.440] }) [17:27:18.440] })) [17:27:18.440] future::FutureResult(value = ...future.value$value, [17:27:18.440] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:18.440] ...future.rng), globalenv = if (FALSE) [17:27:18.440] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:18.440] ...future.globalenv.names)) [17:27:18.440] else NULL, started = ...future.startTime, version = "1.8") [17:27:18.440] }, condition = base::local({ [17:27:18.440] c <- base::c [17:27:18.440] inherits <- base::inherits [17:27:18.440] invokeRestart <- base::invokeRestart [17:27:18.440] length <- base::length [17:27:18.440] list <- base::list [17:27:18.440] seq.int <- base::seq.int [17:27:18.440] signalCondition <- base::signalCondition [17:27:18.440] sys.calls <- base::sys.calls [17:27:18.440] `[[` <- base::`[[` [17:27:18.440] `+` <- base::`+` [17:27:18.440] `<<-` <- base::`<<-` [17:27:18.440] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:18.440] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:18.440] 3L)] [17:27:18.440] } [17:27:18.440] function(cond) { [17:27:18.440] is_error <- inherits(cond, "error") [17:27:18.440] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:18.440] NULL) [17:27:18.440] if (is_error) { [17:27:18.440] sessionInformation <- function() { [17:27:18.440] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:18.440] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:18.440] search = base::search(), system = base::Sys.info()) [17:27:18.440] } [17:27:18.440] ...future.conditions[[length(...future.conditions) + [17:27:18.440] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:18.440] cond$call), session = sessionInformation(), [17:27:18.440] timestamp = base::Sys.time(), signaled = 0L) [17:27:18.440] signalCondition(cond) [17:27:18.440] } [17:27:18.440] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:18.440] "immediateCondition"))) { [17:27:18.440] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:18.440] ...future.conditions[[length(...future.conditions) + [17:27:18.440] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:18.440] if (TRUE && !signal) { [17:27:18.440] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.440] { [17:27:18.440] inherits <- base::inherits [17:27:18.440] invokeRestart <- base::invokeRestart [17:27:18.440] is.null <- base::is.null [17:27:18.440] muffled <- FALSE [17:27:18.440] if (inherits(cond, "message")) { [17:27:18.440] muffled <- grepl(pattern, "muffleMessage") [17:27:18.440] if (muffled) [17:27:18.440] invokeRestart("muffleMessage") [17:27:18.440] } [17:27:18.440] else if (inherits(cond, "warning")) { [17:27:18.440] muffled <- grepl(pattern, "muffleWarning") [17:27:18.440] if (muffled) [17:27:18.440] invokeRestart("muffleWarning") [17:27:18.440] } [17:27:18.440] else if (inherits(cond, "condition")) { [17:27:18.440] if (!is.null(pattern)) { [17:27:18.440] computeRestarts <- base::computeRestarts [17:27:18.440] grepl <- base::grepl [17:27:18.440] restarts <- computeRestarts(cond) [17:27:18.440] for (restart in restarts) { [17:27:18.440] name <- restart$name [17:27:18.440] if (is.null(name)) [17:27:18.440] next [17:27:18.440] if (!grepl(pattern, name)) [17:27:18.440] next [17:27:18.440] invokeRestart(restart) [17:27:18.440] muffled <- TRUE [17:27:18.440] break [17:27:18.440] } [17:27:18.440] } [17:27:18.440] } [17:27:18.440] invisible(muffled) [17:27:18.440] } [17:27:18.440] muffleCondition(cond, pattern = "^muffle") [17:27:18.440] } [17:27:18.440] } [17:27:18.440] else { [17:27:18.440] if (TRUE) { [17:27:18.440] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.440] { [17:27:18.440] inherits <- base::inherits [17:27:18.440] invokeRestart <- base::invokeRestart [17:27:18.440] is.null <- base::is.null [17:27:18.440] muffled <- FALSE [17:27:18.440] if (inherits(cond, "message")) { [17:27:18.440] muffled <- grepl(pattern, "muffleMessage") [17:27:18.440] if (muffled) [17:27:18.440] invokeRestart("muffleMessage") [17:27:18.440] } [17:27:18.440] else if (inherits(cond, "warning")) { [17:27:18.440] muffled <- grepl(pattern, "muffleWarning") [17:27:18.440] if (muffled) [17:27:18.440] invokeRestart("muffleWarning") [17:27:18.440] } [17:27:18.440] else if (inherits(cond, "condition")) { [17:27:18.440] if (!is.null(pattern)) { [17:27:18.440] computeRestarts <- base::computeRestarts [17:27:18.440] grepl <- base::grepl [17:27:18.440] restarts <- computeRestarts(cond) [17:27:18.440] for (restart in restarts) { [17:27:18.440] name <- restart$name [17:27:18.440] if (is.null(name)) [17:27:18.440] next [17:27:18.440] if (!grepl(pattern, name)) [17:27:18.440] next [17:27:18.440] invokeRestart(restart) [17:27:18.440] muffled <- TRUE [17:27:18.440] break [17:27:18.440] } [17:27:18.440] } [17:27:18.440] } [17:27:18.440] invisible(muffled) [17:27:18.440] } [17:27:18.440] muffleCondition(cond, pattern = "^muffle") [17:27:18.440] } [17:27:18.440] } [17:27:18.440] } [17:27:18.440] })) [17:27:18.440] }, error = function(ex) { [17:27:18.440] base::structure(base::list(value = NULL, visible = NULL, [17:27:18.440] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:18.440] ...future.rng), started = ...future.startTime, [17:27:18.440] finished = Sys.time(), session_uuid = NA_character_, [17:27:18.440] version = "1.8"), class = "FutureResult") [17:27:18.440] }, finally = { [17:27:18.440] if (!identical(...future.workdir, getwd())) [17:27:18.440] setwd(...future.workdir) [17:27:18.440] { [17:27:18.440] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:18.440] ...future.oldOptions$nwarnings <- NULL [17:27:18.440] } [17:27:18.440] base::options(...future.oldOptions) [17:27:18.440] if (.Platform$OS.type == "windows") { [17:27:18.440] old_names <- names(...future.oldEnvVars) [17:27:18.440] envs <- base::Sys.getenv() [17:27:18.440] names <- names(envs) [17:27:18.440] common <- intersect(names, old_names) [17:27:18.440] added <- setdiff(names, old_names) [17:27:18.440] removed <- setdiff(old_names, names) [17:27:18.440] changed <- common[...future.oldEnvVars[common] != [17:27:18.440] envs[common]] [17:27:18.440] NAMES <- toupper(changed) [17:27:18.440] args <- list() [17:27:18.440] for (kk in seq_along(NAMES)) { [17:27:18.440] name <- changed[[kk]] [17:27:18.440] NAME <- NAMES[[kk]] [17:27:18.440] if (name != NAME && is.element(NAME, old_names)) [17:27:18.440] next [17:27:18.440] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:18.440] } [17:27:18.440] NAMES <- toupper(added) [17:27:18.440] for (kk in seq_along(NAMES)) { [17:27:18.440] name <- added[[kk]] [17:27:18.440] NAME <- NAMES[[kk]] [17:27:18.440] if (name != NAME && is.element(NAME, old_names)) [17:27:18.440] next [17:27:18.440] args[[name]] <- "" [17:27:18.440] } [17:27:18.440] NAMES <- toupper(removed) [17:27:18.440] for (kk in seq_along(NAMES)) { [17:27:18.440] name <- removed[[kk]] [17:27:18.440] NAME <- NAMES[[kk]] [17:27:18.440] if (name != NAME && is.element(NAME, old_names)) [17:27:18.440] next [17:27:18.440] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:18.440] } [17:27:18.440] if (length(args) > 0) [17:27:18.440] base::do.call(base::Sys.setenv, args = args) [17:27:18.440] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:18.440] } [17:27:18.440] else { [17:27:18.440] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:18.440] } [17:27:18.440] { [17:27:18.440] if (base::length(...future.futureOptionsAdded) > [17:27:18.440] 0L) { [17:27:18.440] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:18.440] base::names(opts) <- ...future.futureOptionsAdded [17:27:18.440] base::options(opts) [17:27:18.440] } [17:27:18.440] { [17:27:18.440] { [17:27:18.440] base::options(mc.cores = ...future.mc.cores.old) [17:27:18.440] NULL [17:27:18.440] } [17:27:18.440] options(future.plan = NULL) [17:27:18.440] if (is.na(NA_character_)) [17:27:18.440] Sys.unsetenv("R_FUTURE_PLAN") [17:27:18.440] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:18.440] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:18.440] .init = FALSE) [17:27:18.440] } [17:27:18.440] } [17:27:18.440] } [17:27:18.440] }) [17:27:18.440] if (TRUE) { [17:27:18.440] base::sink(type = "output", split = FALSE) [17:27:18.440] if (TRUE) { [17:27:18.440] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:18.440] } [17:27:18.440] else { [17:27:18.440] ...future.result["stdout"] <- base::list(NULL) [17:27:18.440] } [17:27:18.440] base::close(...future.stdout) [17:27:18.440] ...future.stdout <- NULL [17:27:18.440] } [17:27:18.440] ...future.result$conditions <- ...future.conditions [17:27:18.440] ...future.result$finished <- base::Sys.time() [17:27:18.440] ...future.result [17:27:18.440] } [17:27:18.445] MultisessionFuture started [17:27:18.445] - Launch lazy future ... done [17:27:18.446] run() for 'MultisessionFuture' ... done > v <- value(f) [17:27:18.446] result() for ClusterFuture ... [17:27:18.446] receiveMessageFromWorker() for ClusterFuture ... [17:27:18.446] - Validating connection of MultisessionFuture [17:27:18.520] - received message: FutureResult [17:27:18.521] - Received FutureResult [17:27:18.521] - Erased future from FutureRegistry [17:27:18.521] result() for ClusterFuture ... [17:27:18.521] - result already collected: FutureResult [17:27:18.521] result() for ClusterFuture ... done [17:27:18.522] - Garbage collecting worker ... [17:27:18.750] - Garbage collecting worker ... done [17:27:18.750] receiveMessageFromWorker() for ClusterFuture ... done [17:27:18.750] result() for ClusterFuture ... done [17:27:18.750] result() for ClusterFuture ... [17:27:18.751] - result already collected: FutureResult [17:27:18.751] result() for ClusterFuture ... done > str(v) int [1:10000000] 0 0 0 0 0 0 0 0 0 0 ... > > f <- future({ gc() }) [17:27:18.752] getGlobalsAndPackages() ... [17:27:18.752] Searching for globals... [17:27:18.753] - globals found: [2] '{', 'gc' [17:27:18.753] Searching for globals ... DONE [17:27:18.753] Resolving globals: FALSE [17:27:18.754] [17:27:18.754] [17:27:18.754] getGlobalsAndPackages() ... DONE [17:27:18.754] run() for 'Future' ... [17:27:18.755] - state: 'created' [17:27:18.755] - Future backend: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:18.767] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:18.767] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:18.767] - Field: 'node' [17:27:18.768] - Field: 'label' [17:27:18.768] - Field: 'local' [17:27:18.768] - Field: 'owner' [17:27:18.768] - Field: 'envir' [17:27:18.768] - Field: 'workers' [17:27:18.769] - Field: 'packages' [17:27:18.769] - Field: 'gc' [17:27:18.769] - Field: 'conditions' [17:27:18.769] - Field: 'persistent' [17:27:18.769] - Field: 'expr' [17:27:18.769] - Field: 'uuid' [17:27:18.770] - Field: 'seed' [17:27:18.770] - Field: 'version' [17:27:18.770] - Field: 'result' [17:27:18.770] - Field: 'asynchronous' [17:27:18.770] - Field: 'calls' [17:27:18.771] - Field: 'globals' [17:27:18.771] - Field: 'stdout' [17:27:18.771] - Field: 'earlySignal' [17:27:18.771] - Field: 'lazy' [17:27:18.771] - Field: 'state' [17:27:18.771] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:18.772] - Launch lazy future ... [17:27:18.772] Packages needed by the future expression (n = 0): [17:27:18.772] Packages needed by future strategies (n = 0): [17:27:18.773] { [17:27:18.773] { [17:27:18.773] { [17:27:18.773] ...future.startTime <- base::Sys.time() [17:27:18.773] { [17:27:18.773] { [17:27:18.773] { [17:27:18.773] { [17:27:18.773] base::local({ [17:27:18.773] has_future <- base::requireNamespace("future", [17:27:18.773] quietly = TRUE) [17:27:18.773] if (has_future) { [17:27:18.773] ns <- base::getNamespace("future") [17:27:18.773] version <- ns[[".package"]][["version"]] [17:27:18.773] if (is.null(version)) [17:27:18.773] version <- utils::packageVersion("future") [17:27:18.773] } [17:27:18.773] else { [17:27:18.773] version <- NULL [17:27:18.773] } [17:27:18.773] if (!has_future || version < "1.8.0") { [17:27:18.773] info <- base::c(r_version = base::gsub("R version ", [17:27:18.773] "", base::R.version$version.string), [17:27:18.773] platform = base::sprintf("%s (%s-bit)", [17:27:18.773] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:18.773] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:18.773] "release", "version")], collapse = " "), [17:27:18.773] hostname = base::Sys.info()[["nodename"]]) [17:27:18.773] info <- base::sprintf("%s: %s", base::names(info), [17:27:18.773] info) [17:27:18.773] info <- base::paste(info, collapse = "; ") [17:27:18.773] if (!has_future) { [17:27:18.773] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:18.773] info) [17:27:18.773] } [17:27:18.773] else { [17:27:18.773] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:18.773] info, version) [17:27:18.773] } [17:27:18.773] base::stop(msg) [17:27:18.773] } [17:27:18.773] }) [17:27:18.773] } [17:27:18.773] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:18.773] base::options(mc.cores = 1L) [17:27:18.773] } [17:27:18.773] ...future.strategy.old <- future::plan("list") [17:27:18.773] options(future.plan = NULL) [17:27:18.773] Sys.unsetenv("R_FUTURE_PLAN") [17:27:18.773] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:18.773] } [17:27:18.773] ...future.workdir <- getwd() [17:27:18.773] } [17:27:18.773] ...future.oldOptions <- base::as.list(base::.Options) [17:27:18.773] ...future.oldEnvVars <- base::Sys.getenv() [17:27:18.773] } [17:27:18.773] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:18.773] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:18.773] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:18.773] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:18.773] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:18.773] future.stdout.windows.reencode = NULL, width = 80L) [17:27:18.773] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:18.773] base::names(...future.oldOptions)) [17:27:18.773] } [17:27:18.773] if (FALSE) { [17:27:18.773] } [17:27:18.773] else { [17:27:18.773] if (TRUE) { [17:27:18.773] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:18.773] open = "w") [17:27:18.773] } [17:27:18.773] else { [17:27:18.773] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:18.773] windows = "NUL", "/dev/null"), open = "w") [17:27:18.773] } [17:27:18.773] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:18.773] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:18.773] base::sink(type = "output", split = FALSE) [17:27:18.773] base::close(...future.stdout) [17:27:18.773] }, add = TRUE) [17:27:18.773] } [17:27:18.773] ...future.frame <- base::sys.nframe() [17:27:18.773] ...future.conditions <- base::list() [17:27:18.773] ...future.rng <- base::globalenv()$.Random.seed [17:27:18.773] if (FALSE) { [17:27:18.773] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:18.773] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:18.773] } [17:27:18.773] ...future.result <- base::tryCatch({ [17:27:18.773] base::withCallingHandlers({ [17:27:18.773] ...future.value <- base::withVisible(base::local({ [17:27:18.773] ...future.makeSendCondition <- base::local({ [17:27:18.773] sendCondition <- NULL [17:27:18.773] function(frame = 1L) { [17:27:18.773] if (is.function(sendCondition)) [17:27:18.773] return(sendCondition) [17:27:18.773] ns <- getNamespace("parallel") [17:27:18.773] if (exists("sendData", mode = "function", [17:27:18.773] envir = ns)) { [17:27:18.773] parallel_sendData <- get("sendData", mode = "function", [17:27:18.773] envir = ns) [17:27:18.773] envir <- sys.frame(frame) [17:27:18.773] master <- NULL [17:27:18.773] while (!identical(envir, .GlobalEnv) && [17:27:18.773] !identical(envir, emptyenv())) { [17:27:18.773] if (exists("master", mode = "list", envir = envir, [17:27:18.773] inherits = FALSE)) { [17:27:18.773] master <- get("master", mode = "list", [17:27:18.773] envir = envir, inherits = FALSE) [17:27:18.773] if (inherits(master, c("SOCKnode", [17:27:18.773] "SOCK0node"))) { [17:27:18.773] sendCondition <<- function(cond) { [17:27:18.773] data <- list(type = "VALUE", value = cond, [17:27:18.773] success = TRUE) [17:27:18.773] parallel_sendData(master, data) [17:27:18.773] } [17:27:18.773] return(sendCondition) [17:27:18.773] } [17:27:18.773] } [17:27:18.773] frame <- frame + 1L [17:27:18.773] envir <- sys.frame(frame) [17:27:18.773] } [17:27:18.773] } [17:27:18.773] sendCondition <<- function(cond) NULL [17:27:18.773] } [17:27:18.773] }) [17:27:18.773] withCallingHandlers({ [17:27:18.773] { [17:27:18.773] gc() [17:27:18.773] } [17:27:18.773] }, immediateCondition = function(cond) { [17:27:18.773] sendCondition <- ...future.makeSendCondition() [17:27:18.773] sendCondition(cond) [17:27:18.773] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.773] { [17:27:18.773] inherits <- base::inherits [17:27:18.773] invokeRestart <- base::invokeRestart [17:27:18.773] is.null <- base::is.null [17:27:18.773] muffled <- FALSE [17:27:18.773] if (inherits(cond, "message")) { [17:27:18.773] muffled <- grepl(pattern, "muffleMessage") [17:27:18.773] if (muffled) [17:27:18.773] invokeRestart("muffleMessage") [17:27:18.773] } [17:27:18.773] else if (inherits(cond, "warning")) { [17:27:18.773] muffled <- grepl(pattern, "muffleWarning") [17:27:18.773] if (muffled) [17:27:18.773] invokeRestart("muffleWarning") [17:27:18.773] } [17:27:18.773] else if (inherits(cond, "condition")) { [17:27:18.773] if (!is.null(pattern)) { [17:27:18.773] computeRestarts <- base::computeRestarts [17:27:18.773] grepl <- base::grepl [17:27:18.773] restarts <- computeRestarts(cond) [17:27:18.773] for (restart in restarts) { [17:27:18.773] name <- restart$name [17:27:18.773] if (is.null(name)) [17:27:18.773] next [17:27:18.773] if (!grepl(pattern, name)) [17:27:18.773] next [17:27:18.773] invokeRestart(restart) [17:27:18.773] muffled <- TRUE [17:27:18.773] break [17:27:18.773] } [17:27:18.773] } [17:27:18.773] } [17:27:18.773] invisible(muffled) [17:27:18.773] } [17:27:18.773] muffleCondition(cond) [17:27:18.773] }) [17:27:18.773] })) [17:27:18.773] future::FutureResult(value = ...future.value$value, [17:27:18.773] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:18.773] ...future.rng), globalenv = if (FALSE) [17:27:18.773] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:18.773] ...future.globalenv.names)) [17:27:18.773] else NULL, started = ...future.startTime, version = "1.8") [17:27:18.773] }, condition = base::local({ [17:27:18.773] c <- base::c [17:27:18.773] inherits <- base::inherits [17:27:18.773] invokeRestart <- base::invokeRestart [17:27:18.773] length <- base::length [17:27:18.773] list <- base::list [17:27:18.773] seq.int <- base::seq.int [17:27:18.773] signalCondition <- base::signalCondition [17:27:18.773] sys.calls <- base::sys.calls [17:27:18.773] `[[` <- base::`[[` [17:27:18.773] `+` <- base::`+` [17:27:18.773] `<<-` <- base::`<<-` [17:27:18.773] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:18.773] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:18.773] 3L)] [17:27:18.773] } [17:27:18.773] function(cond) { [17:27:18.773] is_error <- inherits(cond, "error") [17:27:18.773] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:18.773] NULL) [17:27:18.773] if (is_error) { [17:27:18.773] sessionInformation <- function() { [17:27:18.773] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:18.773] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:18.773] search = base::search(), system = base::Sys.info()) [17:27:18.773] } [17:27:18.773] ...future.conditions[[length(...future.conditions) + [17:27:18.773] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:18.773] cond$call), session = sessionInformation(), [17:27:18.773] timestamp = base::Sys.time(), signaled = 0L) [17:27:18.773] signalCondition(cond) [17:27:18.773] } [17:27:18.773] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:18.773] "immediateCondition"))) { [17:27:18.773] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:18.773] ...future.conditions[[length(...future.conditions) + [17:27:18.773] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:18.773] if (TRUE && !signal) { [17:27:18.773] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.773] { [17:27:18.773] inherits <- base::inherits [17:27:18.773] invokeRestart <- base::invokeRestart [17:27:18.773] is.null <- base::is.null [17:27:18.773] muffled <- FALSE [17:27:18.773] if (inherits(cond, "message")) { [17:27:18.773] muffled <- grepl(pattern, "muffleMessage") [17:27:18.773] if (muffled) [17:27:18.773] invokeRestart("muffleMessage") [17:27:18.773] } [17:27:18.773] else if (inherits(cond, "warning")) { [17:27:18.773] muffled <- grepl(pattern, "muffleWarning") [17:27:18.773] if (muffled) [17:27:18.773] invokeRestart("muffleWarning") [17:27:18.773] } [17:27:18.773] else if (inherits(cond, "condition")) { [17:27:18.773] if (!is.null(pattern)) { [17:27:18.773] computeRestarts <- base::computeRestarts [17:27:18.773] grepl <- base::grepl [17:27:18.773] restarts <- computeRestarts(cond) [17:27:18.773] for (restart in restarts) { [17:27:18.773] name <- restart$name [17:27:18.773] if (is.null(name)) [17:27:18.773] next [17:27:18.773] if (!grepl(pattern, name)) [17:27:18.773] next [17:27:18.773] invokeRestart(restart) [17:27:18.773] muffled <- TRUE [17:27:18.773] break [17:27:18.773] } [17:27:18.773] } [17:27:18.773] } [17:27:18.773] invisible(muffled) [17:27:18.773] } [17:27:18.773] muffleCondition(cond, pattern = "^muffle") [17:27:18.773] } [17:27:18.773] } [17:27:18.773] else { [17:27:18.773] if (TRUE) { [17:27:18.773] muffleCondition <- function (cond, pattern = "^muffle") [17:27:18.773] { [17:27:18.773] inherits <- base::inherits [17:27:18.773] invokeRestart <- base::invokeRestart [17:27:18.773] is.null <- base::is.null [17:27:18.773] muffled <- FALSE [17:27:18.773] if (inherits(cond, "message")) { [17:27:18.773] muffled <- grepl(pattern, "muffleMessage") [17:27:18.773] if (muffled) [17:27:18.773] invokeRestart("muffleMessage") [17:27:18.773] } [17:27:18.773] else if (inherits(cond, "warning")) { [17:27:18.773] muffled <- grepl(pattern, "muffleWarning") [17:27:18.773] if (muffled) [17:27:18.773] invokeRestart("muffleWarning") [17:27:18.773] } [17:27:18.773] else if (inherits(cond, "condition")) { [17:27:18.773] if (!is.null(pattern)) { [17:27:18.773] computeRestarts <- base::computeRestarts [17:27:18.773] grepl <- base::grepl [17:27:18.773] restarts <- computeRestarts(cond) [17:27:18.773] for (restart in restarts) { [17:27:18.773] name <- restart$name [17:27:18.773] if (is.null(name)) [17:27:18.773] next [17:27:18.773] if (!grepl(pattern, name)) [17:27:18.773] next [17:27:18.773] invokeRestart(restart) [17:27:18.773] muffled <- TRUE [17:27:18.773] break [17:27:18.773] } [17:27:18.773] } [17:27:18.773] } [17:27:18.773] invisible(muffled) [17:27:18.773] } [17:27:18.773] muffleCondition(cond, pattern = "^muffle") [17:27:18.773] } [17:27:18.773] } [17:27:18.773] } [17:27:18.773] })) [17:27:18.773] }, error = function(ex) { [17:27:18.773] base::structure(base::list(value = NULL, visible = NULL, [17:27:18.773] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:18.773] ...future.rng), started = ...future.startTime, [17:27:18.773] finished = Sys.time(), session_uuid = NA_character_, [17:27:18.773] version = "1.8"), class = "FutureResult") [17:27:18.773] }, finally = { [17:27:18.773] if (!identical(...future.workdir, getwd())) [17:27:18.773] setwd(...future.workdir) [17:27:18.773] { [17:27:18.773] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:18.773] ...future.oldOptions$nwarnings <- NULL [17:27:18.773] } [17:27:18.773] base::options(...future.oldOptions) [17:27:18.773] if (.Platform$OS.type == "windows") { [17:27:18.773] old_names <- names(...future.oldEnvVars) [17:27:18.773] envs <- base::Sys.getenv() [17:27:18.773] names <- names(envs) [17:27:18.773] common <- intersect(names, old_names) [17:27:18.773] added <- setdiff(names, old_names) [17:27:18.773] removed <- setdiff(old_names, names) [17:27:18.773] changed <- common[...future.oldEnvVars[common] != [17:27:18.773] envs[common]] [17:27:18.773] NAMES <- toupper(changed) [17:27:18.773] args <- list() [17:27:18.773] for (kk in seq_along(NAMES)) { [17:27:18.773] name <- changed[[kk]] [17:27:18.773] NAME <- NAMES[[kk]] [17:27:18.773] if (name != NAME && is.element(NAME, old_names)) [17:27:18.773] next [17:27:18.773] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:18.773] } [17:27:18.773] NAMES <- toupper(added) [17:27:18.773] for (kk in seq_along(NAMES)) { [17:27:18.773] name <- added[[kk]] [17:27:18.773] NAME <- NAMES[[kk]] [17:27:18.773] if (name != NAME && is.element(NAME, old_names)) [17:27:18.773] next [17:27:18.773] args[[name]] <- "" [17:27:18.773] } [17:27:18.773] NAMES <- toupper(removed) [17:27:18.773] for (kk in seq_along(NAMES)) { [17:27:18.773] name <- removed[[kk]] [17:27:18.773] NAME <- NAMES[[kk]] [17:27:18.773] if (name != NAME && is.element(NAME, old_names)) [17:27:18.773] next [17:27:18.773] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:18.773] } [17:27:18.773] if (length(args) > 0) [17:27:18.773] base::do.call(base::Sys.setenv, args = args) [17:27:18.773] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:18.773] } [17:27:18.773] else { [17:27:18.773] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:18.773] } [17:27:18.773] { [17:27:18.773] if (base::length(...future.futureOptionsAdded) > [17:27:18.773] 0L) { [17:27:18.773] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:18.773] base::names(opts) <- ...future.futureOptionsAdded [17:27:18.773] base::options(opts) [17:27:18.773] } [17:27:18.773] { [17:27:18.773] { [17:27:18.773] base::options(mc.cores = ...future.mc.cores.old) [17:27:18.773] NULL [17:27:18.773] } [17:27:18.773] options(future.plan = NULL) [17:27:18.773] if (is.na(NA_character_)) [17:27:18.773] Sys.unsetenv("R_FUTURE_PLAN") [17:27:18.773] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:18.773] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:18.773] .init = FALSE) [17:27:18.773] } [17:27:18.773] } [17:27:18.773] } [17:27:18.773] }) [17:27:18.773] if (TRUE) { [17:27:18.773] base::sink(type = "output", split = FALSE) [17:27:18.773] if (TRUE) { [17:27:18.773] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:18.773] } [17:27:18.773] else { [17:27:18.773] ...future.result["stdout"] <- base::list(NULL) [17:27:18.773] } [17:27:18.773] base::close(...future.stdout) [17:27:18.773] ...future.stdout <- NULL [17:27:18.773] } [17:27:18.773] ...future.result$conditions <- ...future.conditions [17:27:18.773] ...future.result$finished <- base::Sys.time() [17:27:18.773] ...future.result [17:27:18.773] } [17:27:18.778] MultisessionFuture started [17:27:18.779] - Launch lazy future ... done [17:27:18.779] run() for 'MultisessionFuture' ... done > v <- value(f) [17:27:18.779] result() for ClusterFuture ... [17:27:18.779] receiveMessageFromWorker() for ClusterFuture ... [17:27:18.779] - Validating connection of MultisessionFuture [17:27:18.811] - received message: FutureResult [17:27:18.811] - Received FutureResult [17:27:18.811] - Erased future from FutureRegistry [17:27:18.811] result() for ClusterFuture ... [17:27:18.812] - result already collected: FutureResult [17:27:18.812] result() for ClusterFuture ... done [17:27:18.812] receiveMessageFromWorker() for ClusterFuture ... done [17:27:18.812] result() for ClusterFuture ... done [17:27:18.812] result() for ClusterFuture ... [17:27:18.812] - result already collected: FutureResult [17:27:18.812] result() for ClusterFuture ... done > print(v) used (Mb) gc trigger (Mb) max used (Mb) Ncells 408156 21.8 848998 45.4 657226 35.1 Vcells 725305 5.6 13472800 102.8 15800709 120.6 > > message("*** multisession(..., gc = TRUE) ... TRUE") *** multisession(..., gc = TRUE) ... TRUE > > > message("*** multisession(...) - stopping with plan() change ...") *** multisession(...) - stopping with plan() change ... > > plan(multisession, workers = 2L) [17:27:18.813] plan(): Setting new future strategy stack: [17:27:18.814] List of future strategies: [17:27:18.814] 1. multisession: [17:27:18.814] - args: function (..., workers = 2L, envir = parent.frame()) [17:27:18.814] - tweaked: TRUE [17:27:18.814] - call: plan(multisession, workers = 2L) [17:27:18.814] plan(): plan_init() of 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [17:27:18.815] multisession: [17:27:18.815] - args: function (..., workers = 2L, envir = parent.frame()) [17:27:18.815] - tweaked: TRUE [17:27:18.815] - call: plan(multisession, workers = 2L) [17:27:18.816] getGlobalsAndPackages() ... [17:27:18.816] Not searching for globals [17:27:18.816] - globals: [0] [17:27:18.816] getGlobalsAndPackages() ... DONE [17:27:18.817] [local output] makeClusterPSOCK() ... [17:27:18.819] [local output] Workers: [n = 2] 'localhost', 'localhost' [17:27:18.822] [local output] Base port: 34747 [17:27:18.822] [local output] Getting setup options for 2 cluster nodes ... [17:27:18.822] [local output] - Node 1 of 2 ... [17:27:18.823] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:18.824] [local output] Rscript port: 34747 [17:27:18.825] [local output] - Node 2 of 2 ... [17:27:18.825] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:18.826] [local output] Rscript port: 34747 [17:27:18.827] [local output] Getting setup options for 2 cluster nodes ... done [17:27:18.827] [local output] - Parallel setup requested for some PSOCK nodes [17:27:18.828] [local output] Setting up PSOCK nodes in parallel [17:27:18.828] List of 36 [17:27:18.828] $ worker : chr "localhost" [17:27:18.828] ..- attr(*, "localhost")= logi TRUE [17:27:18.828] $ master : chr "localhost" [17:27:18.828] $ port : int 34747 [17:27:18.828] $ connectTimeout : num 120 [17:27:18.828] $ timeout : num 120 [17:27:18.828] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [17:27:18.828] $ homogeneous : logi TRUE [17:27:18.828] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=multisession.R:56932:CRANWIN3:CR"| __truncated__ [17:27:18.828] $ rscript_envs : NULL [17:27:18.828] $ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:18.828] $ rscript_startup : NULL [17:27:18.828] $ rscript_sh : chr "cmd" [17:27:18.828] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:18.828] $ methods : logi TRUE [17:27:18.828] $ socketOptions : chr "no-delay" [17:27:18.828] $ useXDR : logi FALSE [17:27:18.828] $ outfile : chr "/dev/null" [17:27:18.828] $ renice : int NA [17:27:18.828] $ rshcmd : NULL [17:27:18.828] $ user : chr(0) [17:27:18.828] $ revtunnel : logi FALSE [17:27:18.828] $ rshlogfile : NULL [17:27:18.828] $ rshopts : chr(0) [17:27:18.828] $ rank : int 1 [17:27:18.828] $ manual : logi FALSE [17:27:18.828] $ dryrun : logi FALSE [17:27:18.828] $ quiet : logi FALSE [17:27:18.828] $ setup_strategy : chr "parallel" [17:27:18.828] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:18.828] $ pidfile : chr "D:/temp/RtmpAPtkyj/worker.rank=1.parallelly.parent=56932.de64472a2a36.pid" [17:27:18.828] $ rshcmd_label : NULL [17:27:18.828] $ rsh_call : NULL [17:27:18.828] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:18.828] $ localMachine : logi TRUE [17:27:18.828] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [17:27:18.828] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [17:27:18.828] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [17:27:18.828] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [17:27:18.828] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [17:27:18.828] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [17:27:18.828] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [17:27:18.828] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [17:27:18.828] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [17:27:18.828] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [17:27:18.828] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [17:27:18.828] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [17:27:18.828] "parallel"), action = c("launch", "options"), verbose = FALSE) [17:27:18.828] $ arguments :List of 28 [17:27:18.828] ..$ worker : chr "localhost" [17:27:18.828] ..$ master : NULL [17:27:18.828] ..$ port : int 34747 [17:27:18.828] ..$ connectTimeout : num 120 [17:27:18.828] ..$ timeout : num 120 [17:27:18.828] ..$ rscript : NULL [17:27:18.828] ..$ homogeneous : NULL [17:27:18.828] ..$ rscript_args : NULL [17:27:18.828] ..$ rscript_envs : NULL [17:27:18.828] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:18.828] ..$ rscript_startup : NULL [17:27:18.828] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [17:27:18.828] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:18.828] ..$ methods : logi TRUE [17:27:18.828] ..$ socketOptions : chr "no-delay" [17:27:18.828] ..$ useXDR : logi FALSE [17:27:18.828] ..$ outfile : chr "/dev/null" [17:27:18.828] ..$ renice : int NA [17:27:18.828] ..$ rshcmd : NULL [17:27:18.828] ..$ user : NULL [17:27:18.828] ..$ revtunnel : logi NA [17:27:18.828] ..$ rshlogfile : NULL [17:27:18.828] ..$ rshopts : NULL [17:27:18.828] ..$ rank : int 1 [17:27:18.828] ..$ manual : logi FALSE [17:27:18.828] ..$ dryrun : logi FALSE [17:27:18.828] ..$ quiet : logi FALSE [17:27:18.828] ..$ setup_strategy : chr "parallel" [17:27:18.828] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [17:27:18.851] [local output] System call to launch all workers: [17:27:18.851] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=multisession.R:56932:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpAPtkyj/worker.rank=1.parallelly.parent=56932.de64472a2a36.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=34747 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [17:27:18.851] [local output] Starting PSOCK main server [17:27:18.857] [local output] Workers launched [17:27:18.857] [local output] Waiting for workers to connect back [17:27:18.858] - [local output] 0 workers out of 2 ready [17:27:19.016] - [local output] 0 workers out of 2 ready [17:27:19.016] - [local output] 1 workers out of 2 ready [17:27:19.021] - [local output] 1 workers out of 2 ready [17:27:19.021] - [local output] 2 workers out of 2 ready [17:27:19.022] [local output] Launching of workers completed [17:27:19.022] [local output] Collecting session information from workers [17:27:19.023] [local output] - Worker #1 of 2 [17:27:19.023] [local output] - Worker #2 of 2 [17:27:19.023] [local output] makeClusterPSOCK() ... done [17:27:19.035] Packages needed by the future expression (n = 0): [17:27:19.035] Packages needed by future strategies (n = 0): [17:27:19.036] { [17:27:19.036] { [17:27:19.036] { [17:27:19.036] ...future.startTime <- base::Sys.time() [17:27:19.036] { [17:27:19.036] { [17:27:19.036] { [17:27:19.036] { [17:27:19.036] base::local({ [17:27:19.036] has_future <- base::requireNamespace("future", [17:27:19.036] quietly = TRUE) [17:27:19.036] if (has_future) { [17:27:19.036] ns <- base::getNamespace("future") [17:27:19.036] version <- ns[[".package"]][["version"]] [17:27:19.036] if (is.null(version)) [17:27:19.036] version <- utils::packageVersion("future") [17:27:19.036] } [17:27:19.036] else { [17:27:19.036] version <- NULL [17:27:19.036] } [17:27:19.036] if (!has_future || version < "1.8.0") { [17:27:19.036] info <- base::c(r_version = base::gsub("R version ", [17:27:19.036] "", base::R.version$version.string), [17:27:19.036] platform = base::sprintf("%s (%s-bit)", [17:27:19.036] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:19.036] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:19.036] "release", "version")], collapse = " "), [17:27:19.036] hostname = base::Sys.info()[["nodename"]]) [17:27:19.036] info <- base::sprintf("%s: %s", base::names(info), [17:27:19.036] info) [17:27:19.036] info <- base::paste(info, collapse = "; ") [17:27:19.036] if (!has_future) { [17:27:19.036] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:19.036] info) [17:27:19.036] } [17:27:19.036] else { [17:27:19.036] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:19.036] info, version) [17:27:19.036] } [17:27:19.036] base::stop(msg) [17:27:19.036] } [17:27:19.036] }) [17:27:19.036] } [17:27:19.036] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:19.036] base::options(mc.cores = 1L) [17:27:19.036] } [17:27:19.036] ...future.strategy.old <- future::plan("list") [17:27:19.036] options(future.plan = NULL) [17:27:19.036] Sys.unsetenv("R_FUTURE_PLAN") [17:27:19.036] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:19.036] } [17:27:19.036] ...future.workdir <- getwd() [17:27:19.036] } [17:27:19.036] ...future.oldOptions <- base::as.list(base::.Options) [17:27:19.036] ...future.oldEnvVars <- base::Sys.getenv() [17:27:19.036] } [17:27:19.036] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:19.036] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:19.036] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:19.036] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:19.036] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:19.036] future.stdout.windows.reencode = NULL, width = 80L) [17:27:19.036] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:19.036] base::names(...future.oldOptions)) [17:27:19.036] } [17:27:19.036] if (FALSE) { [17:27:19.036] } [17:27:19.036] else { [17:27:19.036] if (TRUE) { [17:27:19.036] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:19.036] open = "w") [17:27:19.036] } [17:27:19.036] else { [17:27:19.036] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:19.036] windows = "NUL", "/dev/null"), open = "w") [17:27:19.036] } [17:27:19.036] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:19.036] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:19.036] base::sink(type = "output", split = FALSE) [17:27:19.036] base::close(...future.stdout) [17:27:19.036] }, add = TRUE) [17:27:19.036] } [17:27:19.036] ...future.frame <- base::sys.nframe() [17:27:19.036] ...future.conditions <- base::list() [17:27:19.036] ...future.rng <- base::globalenv()$.Random.seed [17:27:19.036] if (FALSE) { [17:27:19.036] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:19.036] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:19.036] } [17:27:19.036] ...future.result <- base::tryCatch({ [17:27:19.036] base::withCallingHandlers({ [17:27:19.036] ...future.value <- base::withVisible(base::local({ [17:27:19.036] ...future.makeSendCondition <- base::local({ [17:27:19.036] sendCondition <- NULL [17:27:19.036] function(frame = 1L) { [17:27:19.036] if (is.function(sendCondition)) [17:27:19.036] return(sendCondition) [17:27:19.036] ns <- getNamespace("parallel") [17:27:19.036] if (exists("sendData", mode = "function", [17:27:19.036] envir = ns)) { [17:27:19.036] parallel_sendData <- get("sendData", mode = "function", [17:27:19.036] envir = ns) [17:27:19.036] envir <- sys.frame(frame) [17:27:19.036] master <- NULL [17:27:19.036] while (!identical(envir, .GlobalEnv) && [17:27:19.036] !identical(envir, emptyenv())) { [17:27:19.036] if (exists("master", mode = "list", envir = envir, [17:27:19.036] inherits = FALSE)) { [17:27:19.036] master <- get("master", mode = "list", [17:27:19.036] envir = envir, inherits = FALSE) [17:27:19.036] if (inherits(master, c("SOCKnode", [17:27:19.036] "SOCK0node"))) { [17:27:19.036] sendCondition <<- function(cond) { [17:27:19.036] data <- list(type = "VALUE", value = cond, [17:27:19.036] success = TRUE) [17:27:19.036] parallel_sendData(master, data) [17:27:19.036] } [17:27:19.036] return(sendCondition) [17:27:19.036] } [17:27:19.036] } [17:27:19.036] frame <- frame + 1L [17:27:19.036] envir <- sys.frame(frame) [17:27:19.036] } [17:27:19.036] } [17:27:19.036] sendCondition <<- function(cond) NULL [17:27:19.036] } [17:27:19.036] }) [17:27:19.036] withCallingHandlers({ [17:27:19.036] NA [17:27:19.036] }, immediateCondition = function(cond) { [17:27:19.036] sendCondition <- ...future.makeSendCondition() [17:27:19.036] sendCondition(cond) [17:27:19.036] muffleCondition <- function (cond, pattern = "^muffle") [17:27:19.036] { [17:27:19.036] inherits <- base::inherits [17:27:19.036] invokeRestart <- base::invokeRestart [17:27:19.036] is.null <- base::is.null [17:27:19.036] muffled <- FALSE [17:27:19.036] if (inherits(cond, "message")) { [17:27:19.036] muffled <- grepl(pattern, "muffleMessage") [17:27:19.036] if (muffled) [17:27:19.036] invokeRestart("muffleMessage") [17:27:19.036] } [17:27:19.036] else if (inherits(cond, "warning")) { [17:27:19.036] muffled <- grepl(pattern, "muffleWarning") [17:27:19.036] if (muffled) [17:27:19.036] invokeRestart("muffleWarning") [17:27:19.036] } [17:27:19.036] else if (inherits(cond, "condition")) { [17:27:19.036] if (!is.null(pattern)) { [17:27:19.036] computeRestarts <- base::computeRestarts [17:27:19.036] grepl <- base::grepl [17:27:19.036] restarts <- computeRestarts(cond) [17:27:19.036] for (restart in restarts) { [17:27:19.036] name <- restart$name [17:27:19.036] if (is.null(name)) [17:27:19.036] next [17:27:19.036] if (!grepl(pattern, name)) [17:27:19.036] next [17:27:19.036] invokeRestart(restart) [17:27:19.036] muffled <- TRUE [17:27:19.036] break [17:27:19.036] } [17:27:19.036] } [17:27:19.036] } [17:27:19.036] invisible(muffled) [17:27:19.036] } [17:27:19.036] muffleCondition(cond) [17:27:19.036] }) [17:27:19.036] })) [17:27:19.036] future::FutureResult(value = ...future.value$value, [17:27:19.036] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:19.036] ...future.rng), globalenv = if (FALSE) [17:27:19.036] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:19.036] ...future.globalenv.names)) [17:27:19.036] else NULL, started = ...future.startTime, version = "1.8") [17:27:19.036] }, condition = base::local({ [17:27:19.036] c <- base::c [17:27:19.036] inherits <- base::inherits [17:27:19.036] invokeRestart <- base::invokeRestart [17:27:19.036] length <- base::length [17:27:19.036] list <- base::list [17:27:19.036] seq.int <- base::seq.int [17:27:19.036] signalCondition <- base::signalCondition [17:27:19.036] sys.calls <- base::sys.calls [17:27:19.036] `[[` <- base::`[[` [17:27:19.036] `+` <- base::`+` [17:27:19.036] `<<-` <- base::`<<-` [17:27:19.036] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:19.036] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:19.036] 3L)] [17:27:19.036] } [17:27:19.036] function(cond) { [17:27:19.036] is_error <- inherits(cond, "error") [17:27:19.036] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:19.036] NULL) [17:27:19.036] if (is_error) { [17:27:19.036] sessionInformation <- function() { [17:27:19.036] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:19.036] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:19.036] search = base::search(), system = base::Sys.info()) [17:27:19.036] } [17:27:19.036] ...future.conditions[[length(...future.conditions) + [17:27:19.036] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:19.036] cond$call), session = sessionInformation(), [17:27:19.036] timestamp = base::Sys.time(), signaled = 0L) [17:27:19.036] signalCondition(cond) [17:27:19.036] } [17:27:19.036] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:19.036] "immediateCondition"))) { [17:27:19.036] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:19.036] ...future.conditions[[length(...future.conditions) + [17:27:19.036] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:19.036] if (TRUE && !signal) { [17:27:19.036] muffleCondition <- function (cond, pattern = "^muffle") [17:27:19.036] { [17:27:19.036] inherits <- base::inherits [17:27:19.036] invokeRestart <- base::invokeRestart [17:27:19.036] is.null <- base::is.null [17:27:19.036] muffled <- FALSE [17:27:19.036] if (inherits(cond, "message")) { [17:27:19.036] muffled <- grepl(pattern, "muffleMessage") [17:27:19.036] if (muffled) [17:27:19.036] invokeRestart("muffleMessage") [17:27:19.036] } [17:27:19.036] else if (inherits(cond, "warning")) { [17:27:19.036] muffled <- grepl(pattern, "muffleWarning") [17:27:19.036] if (muffled) [17:27:19.036] invokeRestart("muffleWarning") [17:27:19.036] } [17:27:19.036] else if (inherits(cond, "condition")) { [17:27:19.036] if (!is.null(pattern)) { [17:27:19.036] computeRestarts <- base::computeRestarts [17:27:19.036] grepl <- base::grepl [17:27:19.036] restarts <- computeRestarts(cond) [17:27:19.036] for (restart in restarts) { [17:27:19.036] name <- restart$name [17:27:19.036] if (is.null(name)) [17:27:19.036] next [17:27:19.036] if (!grepl(pattern, name)) [17:27:19.036] next [17:27:19.036] invokeRestart(restart) [17:27:19.036] muffled <- TRUE [17:27:19.036] break [17:27:19.036] } [17:27:19.036] } [17:27:19.036] } [17:27:19.036] invisible(muffled) [17:27:19.036] } [17:27:19.036] muffleCondition(cond, pattern = "^muffle") [17:27:19.036] } [17:27:19.036] } [17:27:19.036] else { [17:27:19.036] if (TRUE) { [17:27:19.036] muffleCondition <- function (cond, pattern = "^muffle") [17:27:19.036] { [17:27:19.036] inherits <- base::inherits [17:27:19.036] invokeRestart <- base::invokeRestart [17:27:19.036] is.null <- base::is.null [17:27:19.036] muffled <- FALSE [17:27:19.036] if (inherits(cond, "message")) { [17:27:19.036] muffled <- grepl(pattern, "muffleMessage") [17:27:19.036] if (muffled) [17:27:19.036] invokeRestart("muffleMessage") [17:27:19.036] } [17:27:19.036] else if (inherits(cond, "warning")) { [17:27:19.036] muffled <- grepl(pattern, "muffleWarning") [17:27:19.036] if (muffled) [17:27:19.036] invokeRestart("muffleWarning") [17:27:19.036] } [17:27:19.036] else if (inherits(cond, "condition")) { [17:27:19.036] if (!is.null(pattern)) { [17:27:19.036] computeRestarts <- base::computeRestarts [17:27:19.036] grepl <- base::grepl [17:27:19.036] restarts <- computeRestarts(cond) [17:27:19.036] for (restart in restarts) { [17:27:19.036] name <- restart$name [17:27:19.036] if (is.null(name)) [17:27:19.036] next [17:27:19.036] if (!grepl(pattern, name)) [17:27:19.036] next [17:27:19.036] invokeRestart(restart) [17:27:19.036] muffled <- TRUE [17:27:19.036] break [17:27:19.036] } [17:27:19.036] } [17:27:19.036] } [17:27:19.036] invisible(muffled) [17:27:19.036] } [17:27:19.036] muffleCondition(cond, pattern = "^muffle") [17:27:19.036] } [17:27:19.036] } [17:27:19.036] } [17:27:19.036] })) [17:27:19.036] }, error = function(ex) { [17:27:19.036] base::structure(base::list(value = NULL, visible = NULL, [17:27:19.036] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:19.036] ...future.rng), started = ...future.startTime, [17:27:19.036] finished = Sys.time(), session_uuid = NA_character_, [17:27:19.036] version = "1.8"), class = "FutureResult") [17:27:19.036] }, finally = { [17:27:19.036] if (!identical(...future.workdir, getwd())) [17:27:19.036] setwd(...future.workdir) [17:27:19.036] { [17:27:19.036] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:19.036] ...future.oldOptions$nwarnings <- NULL [17:27:19.036] } [17:27:19.036] base::options(...future.oldOptions) [17:27:19.036] if (.Platform$OS.type == "windows") { [17:27:19.036] old_names <- names(...future.oldEnvVars) [17:27:19.036] envs <- base::Sys.getenv() [17:27:19.036] names <- names(envs) [17:27:19.036] common <- intersect(names, old_names) [17:27:19.036] added <- setdiff(names, old_names) [17:27:19.036] removed <- setdiff(old_names, names) [17:27:19.036] changed <- common[...future.oldEnvVars[common] != [17:27:19.036] envs[common]] [17:27:19.036] NAMES <- toupper(changed) [17:27:19.036] args <- list() [17:27:19.036] for (kk in seq_along(NAMES)) { [17:27:19.036] name <- changed[[kk]] [17:27:19.036] NAME <- NAMES[[kk]] [17:27:19.036] if (name != NAME && is.element(NAME, old_names)) [17:27:19.036] next [17:27:19.036] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:19.036] } [17:27:19.036] NAMES <- toupper(added) [17:27:19.036] for (kk in seq_along(NAMES)) { [17:27:19.036] name <- added[[kk]] [17:27:19.036] NAME <- NAMES[[kk]] [17:27:19.036] if (name != NAME && is.element(NAME, old_names)) [17:27:19.036] next [17:27:19.036] args[[name]] <- "" [17:27:19.036] } [17:27:19.036] NAMES <- toupper(removed) [17:27:19.036] for (kk in seq_along(NAMES)) { [17:27:19.036] name <- removed[[kk]] [17:27:19.036] NAME <- NAMES[[kk]] [17:27:19.036] if (name != NAME && is.element(NAME, old_names)) [17:27:19.036] next [17:27:19.036] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:19.036] } [17:27:19.036] if (length(args) > 0) [17:27:19.036] base::do.call(base::Sys.setenv, args = args) [17:27:19.036] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:19.036] } [17:27:19.036] else { [17:27:19.036] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:19.036] } [17:27:19.036] { [17:27:19.036] if (base::length(...future.futureOptionsAdded) > [17:27:19.036] 0L) { [17:27:19.036] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:19.036] base::names(opts) <- ...future.futureOptionsAdded [17:27:19.036] base::options(opts) [17:27:19.036] } [17:27:19.036] { [17:27:19.036] { [17:27:19.036] base::options(mc.cores = ...future.mc.cores.old) [17:27:19.036] NULL [17:27:19.036] } [17:27:19.036] options(future.plan = NULL) [17:27:19.036] if (is.na(NA_character_)) [17:27:19.036] Sys.unsetenv("R_FUTURE_PLAN") [17:27:19.036] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:19.036] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:19.036] .init = FALSE) [17:27:19.036] } [17:27:19.036] } [17:27:19.036] } [17:27:19.036] }) [17:27:19.036] if (TRUE) { [17:27:19.036] base::sink(type = "output", split = FALSE) [17:27:19.036] if (TRUE) { [17:27:19.036] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:19.036] } [17:27:19.036] else { [17:27:19.036] ...future.result["stdout"] <- base::list(NULL) [17:27:19.036] } [17:27:19.036] base::close(...future.stdout) [17:27:19.036] ...future.stdout <- NULL [17:27:19.036] } [17:27:19.036] ...future.result$conditions <- ...future.conditions [17:27:19.036] ...future.result$finished <- base::Sys.time() [17:27:19.036] ...future.result [17:27:19.036] } [17:27:19.116] MultisessionFuture started [17:27:19.117] result() for ClusterFuture ... [17:27:19.117] receiveMessageFromWorker() for ClusterFuture ... [17:27:19.117] - Validating connection of MultisessionFuture [17:27:19.168] - received message: FutureResult [17:27:19.169] - Received FutureResult [17:27:19.169] - Erased future from FutureRegistry [17:27:19.169] result() for ClusterFuture ... [17:27:19.169] - result already collected: FutureResult [17:27:19.169] result() for ClusterFuture ... done [17:27:19.169] receiveMessageFromWorker() for ClusterFuture ... done [17:27:19.170] result() for ClusterFuture ... done [17:27:19.170] result() for ClusterFuture ... [17:27:19.170] - result already collected: FutureResult [17:27:19.170] result() for ClusterFuture ... done [17:27:19.170] plan(): plan_init() of 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [17:27:19.171] plan(): nbrOfWorkers() = 2 > f <- future(1L) [17:27:19.171] getGlobalsAndPackages() ... [17:27:19.171] Searching for globals... [17:27:19.172] [17:27:19.172] Searching for globals ... DONE [17:27:19.172] - globals: [0] [17:27:19.172] getGlobalsAndPackages() ... DONE [17:27:19.173] run() for 'Future' ... [17:27:19.173] - state: 'created' [17:27:19.173] - Future backend: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:19.185] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:19.185] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:19.185] - Field: 'node' [17:27:19.185] - Field: 'label' [17:27:19.186] - Field: 'local' [17:27:19.186] - Field: 'owner' [17:27:19.186] - Field: 'envir' [17:27:19.186] - Field: 'workers' [17:27:19.186] - Field: 'packages' [17:27:19.187] - Field: 'gc' [17:27:19.187] - Field: 'conditions' [17:27:19.187] - Field: 'persistent' [17:27:19.187] - Field: 'expr' [17:27:19.187] - Field: 'uuid' [17:27:19.188] - Field: 'seed' [17:27:19.188] - Field: 'version' [17:27:19.188] - Field: 'result' [17:27:19.188] - Field: 'asynchronous' [17:27:19.188] - Field: 'calls' [17:27:19.189] - Field: 'globals' [17:27:19.189] - Field: 'stdout' [17:27:19.189] - Field: 'earlySignal' [17:27:19.189] - Field: 'lazy' [17:27:19.189] - Field: 'state' [17:27:19.190] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:19.190] - Launch lazy future ... [17:27:19.190] Packages needed by the future expression (n = 0): [17:27:19.190] Packages needed by future strategies (n = 0): [17:27:19.191] { [17:27:19.191] { [17:27:19.191] { [17:27:19.191] ...future.startTime <- base::Sys.time() [17:27:19.191] { [17:27:19.191] { [17:27:19.191] { [17:27:19.191] { [17:27:19.191] base::local({ [17:27:19.191] has_future <- base::requireNamespace("future", [17:27:19.191] quietly = TRUE) [17:27:19.191] if (has_future) { [17:27:19.191] ns <- base::getNamespace("future") [17:27:19.191] version <- ns[[".package"]][["version"]] [17:27:19.191] if (is.null(version)) [17:27:19.191] version <- utils::packageVersion("future") [17:27:19.191] } [17:27:19.191] else { [17:27:19.191] version <- NULL [17:27:19.191] } [17:27:19.191] if (!has_future || version < "1.8.0") { [17:27:19.191] info <- base::c(r_version = base::gsub("R version ", [17:27:19.191] "", base::R.version$version.string), [17:27:19.191] platform = base::sprintf("%s (%s-bit)", [17:27:19.191] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:19.191] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:19.191] "release", "version")], collapse = " "), [17:27:19.191] hostname = base::Sys.info()[["nodename"]]) [17:27:19.191] info <- base::sprintf("%s: %s", base::names(info), [17:27:19.191] info) [17:27:19.191] info <- base::paste(info, collapse = "; ") [17:27:19.191] if (!has_future) { [17:27:19.191] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:19.191] info) [17:27:19.191] } [17:27:19.191] else { [17:27:19.191] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:19.191] info, version) [17:27:19.191] } [17:27:19.191] base::stop(msg) [17:27:19.191] } [17:27:19.191] }) [17:27:19.191] } [17:27:19.191] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:19.191] base::options(mc.cores = 1L) [17:27:19.191] } [17:27:19.191] ...future.strategy.old <- future::plan("list") [17:27:19.191] options(future.plan = NULL) [17:27:19.191] Sys.unsetenv("R_FUTURE_PLAN") [17:27:19.191] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:19.191] } [17:27:19.191] ...future.workdir <- getwd() [17:27:19.191] } [17:27:19.191] ...future.oldOptions <- base::as.list(base::.Options) [17:27:19.191] ...future.oldEnvVars <- base::Sys.getenv() [17:27:19.191] } [17:27:19.191] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [17:27:19.191] future.globals.maxSize = NULL, future.globals.method = NULL, [17:27:19.191] future.globals.onMissing = NULL, future.globals.onReference = NULL, [17:27:19.191] future.globals.resolve = NULL, future.resolve.recursive = NULL, [17:27:19.191] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:19.191] future.stdout.windows.reencode = NULL, width = 80L) [17:27:19.191] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:19.191] base::names(...future.oldOptions)) [17:27:19.191] } [17:27:19.191] if (FALSE) { [17:27:19.191] } [17:27:19.191] else { [17:27:19.191] if (TRUE) { [17:27:19.191] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:19.191] open = "w") [17:27:19.191] } [17:27:19.191] else { [17:27:19.191] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:19.191] windows = "NUL", "/dev/null"), open = "w") [17:27:19.191] } [17:27:19.191] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:19.191] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:19.191] base::sink(type = "output", split = FALSE) [17:27:19.191] base::close(...future.stdout) [17:27:19.191] }, add = TRUE) [17:27:19.191] } [17:27:19.191] ...future.frame <- base::sys.nframe() [17:27:19.191] ...future.conditions <- base::list() [17:27:19.191] ...future.rng <- base::globalenv()$.Random.seed [17:27:19.191] if (FALSE) { [17:27:19.191] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:19.191] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:19.191] } [17:27:19.191] ...future.result <- base::tryCatch({ [17:27:19.191] base::withCallingHandlers({ [17:27:19.191] ...future.value <- base::withVisible(base::local({ [17:27:19.191] ...future.makeSendCondition <- base::local({ [17:27:19.191] sendCondition <- NULL [17:27:19.191] function(frame = 1L) { [17:27:19.191] if (is.function(sendCondition)) [17:27:19.191] return(sendCondition) [17:27:19.191] ns <- getNamespace("parallel") [17:27:19.191] if (exists("sendData", mode = "function", [17:27:19.191] envir = ns)) { [17:27:19.191] parallel_sendData <- get("sendData", mode = "function", [17:27:19.191] envir = ns) [17:27:19.191] envir <- sys.frame(frame) [17:27:19.191] master <- NULL [17:27:19.191] while (!identical(envir, .GlobalEnv) && [17:27:19.191] !identical(envir, emptyenv())) { [17:27:19.191] if (exists("master", mode = "list", envir = envir, [17:27:19.191] inherits = FALSE)) { [17:27:19.191] master <- get("master", mode = "list", [17:27:19.191] envir = envir, inherits = FALSE) [17:27:19.191] if (inherits(master, c("SOCKnode", [17:27:19.191] "SOCK0node"))) { [17:27:19.191] sendCondition <<- function(cond) { [17:27:19.191] data <- list(type = "VALUE", value = cond, [17:27:19.191] success = TRUE) [17:27:19.191] parallel_sendData(master, data) [17:27:19.191] } [17:27:19.191] return(sendCondition) [17:27:19.191] } [17:27:19.191] } [17:27:19.191] frame <- frame + 1L [17:27:19.191] envir <- sys.frame(frame) [17:27:19.191] } [17:27:19.191] } [17:27:19.191] sendCondition <<- function(cond) NULL [17:27:19.191] } [17:27:19.191] }) [17:27:19.191] withCallingHandlers({ [17:27:19.191] 1L [17:27:19.191] }, immediateCondition = function(cond) { [17:27:19.191] sendCondition <- ...future.makeSendCondition() [17:27:19.191] sendCondition(cond) [17:27:19.191] muffleCondition <- function (cond, pattern = "^muffle") [17:27:19.191] { [17:27:19.191] inherits <- base::inherits [17:27:19.191] invokeRestart <- base::invokeRestart [17:27:19.191] is.null <- base::is.null [17:27:19.191] muffled <- FALSE [17:27:19.191] if (inherits(cond, "message")) { [17:27:19.191] muffled <- grepl(pattern, "muffleMessage") [17:27:19.191] if (muffled) [17:27:19.191] invokeRestart("muffleMessage") [17:27:19.191] } [17:27:19.191] else if (inherits(cond, "warning")) { [17:27:19.191] muffled <- grepl(pattern, "muffleWarning") [17:27:19.191] if (muffled) [17:27:19.191] invokeRestart("muffleWarning") [17:27:19.191] } [17:27:19.191] else if (inherits(cond, "condition")) { [17:27:19.191] if (!is.null(pattern)) { [17:27:19.191] computeRestarts <- base::computeRestarts [17:27:19.191] grepl <- base::grepl [17:27:19.191] restarts <- computeRestarts(cond) [17:27:19.191] for (restart in restarts) { [17:27:19.191] name <- restart$name [17:27:19.191] if (is.null(name)) [17:27:19.191] next [17:27:19.191] if (!grepl(pattern, name)) [17:27:19.191] next [17:27:19.191] invokeRestart(restart) [17:27:19.191] muffled <- TRUE [17:27:19.191] break [17:27:19.191] } [17:27:19.191] } [17:27:19.191] } [17:27:19.191] invisible(muffled) [17:27:19.191] } [17:27:19.191] muffleCondition(cond) [17:27:19.191] }) [17:27:19.191] })) [17:27:19.191] future::FutureResult(value = ...future.value$value, [17:27:19.191] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:19.191] ...future.rng), globalenv = if (FALSE) [17:27:19.191] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:19.191] ...future.globalenv.names)) [17:27:19.191] else NULL, started = ...future.startTime, version = "1.8") [17:27:19.191] }, condition = base::local({ [17:27:19.191] c <- base::c [17:27:19.191] inherits <- base::inherits [17:27:19.191] invokeRestart <- base::invokeRestart [17:27:19.191] length <- base::length [17:27:19.191] list <- base::list [17:27:19.191] seq.int <- base::seq.int [17:27:19.191] signalCondition <- base::signalCondition [17:27:19.191] sys.calls <- base::sys.calls [17:27:19.191] `[[` <- base::`[[` [17:27:19.191] `+` <- base::`+` [17:27:19.191] `<<-` <- base::`<<-` [17:27:19.191] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:19.191] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:19.191] 3L)] [17:27:19.191] } [17:27:19.191] function(cond) { [17:27:19.191] is_error <- inherits(cond, "error") [17:27:19.191] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:19.191] NULL) [17:27:19.191] if (is_error) { [17:27:19.191] sessionInformation <- function() { [17:27:19.191] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:19.191] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:19.191] search = base::search(), system = base::Sys.info()) [17:27:19.191] } [17:27:19.191] ...future.conditions[[length(...future.conditions) + [17:27:19.191] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:19.191] cond$call), session = sessionInformation(), [17:27:19.191] timestamp = base::Sys.time(), signaled = 0L) [17:27:19.191] signalCondition(cond) [17:27:19.191] } [17:27:19.191] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:19.191] "immediateCondition"))) { [17:27:19.191] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:19.191] ...future.conditions[[length(...future.conditions) + [17:27:19.191] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:19.191] if (TRUE && !signal) { [17:27:19.191] muffleCondition <- function (cond, pattern = "^muffle") [17:27:19.191] { [17:27:19.191] inherits <- base::inherits [17:27:19.191] invokeRestart <- base::invokeRestart [17:27:19.191] is.null <- base::is.null [17:27:19.191] muffled <- FALSE [17:27:19.191] if (inherits(cond, "message")) { [17:27:19.191] muffled <- grepl(pattern, "muffleMessage") [17:27:19.191] if (muffled) [17:27:19.191] invokeRestart("muffleMessage") [17:27:19.191] } [17:27:19.191] else if (inherits(cond, "warning")) { [17:27:19.191] muffled <- grepl(pattern, "muffleWarning") [17:27:19.191] if (muffled) [17:27:19.191] invokeRestart("muffleWarning") [17:27:19.191] } [17:27:19.191] else if (inherits(cond, "condition")) { [17:27:19.191] if (!is.null(pattern)) { [17:27:19.191] computeRestarts <- base::computeRestarts [17:27:19.191] grepl <- base::grepl [17:27:19.191] restarts <- computeRestarts(cond) [17:27:19.191] for (restart in restarts) { [17:27:19.191] name <- restart$name [17:27:19.191] if (is.null(name)) [17:27:19.191] next [17:27:19.191] if (!grepl(pattern, name)) [17:27:19.191] next [17:27:19.191] invokeRestart(restart) [17:27:19.191] muffled <- TRUE [17:27:19.191] break [17:27:19.191] } [17:27:19.191] } [17:27:19.191] } [17:27:19.191] invisible(muffled) [17:27:19.191] } [17:27:19.191] muffleCondition(cond, pattern = "^muffle") [17:27:19.191] } [17:27:19.191] } [17:27:19.191] else { [17:27:19.191] if (TRUE) { [17:27:19.191] muffleCondition <- function (cond, pattern = "^muffle") [17:27:19.191] { [17:27:19.191] inherits <- base::inherits [17:27:19.191] invokeRestart <- base::invokeRestart [17:27:19.191] is.null <- base::is.null [17:27:19.191] muffled <- FALSE [17:27:19.191] if (inherits(cond, "message")) { [17:27:19.191] muffled <- grepl(pattern, "muffleMessage") [17:27:19.191] if (muffled) [17:27:19.191] invokeRestart("muffleMessage") [17:27:19.191] } [17:27:19.191] else if (inherits(cond, "warning")) { [17:27:19.191] muffled <- grepl(pattern, "muffleWarning") [17:27:19.191] if (muffled) [17:27:19.191] invokeRestart("muffleWarning") [17:27:19.191] } [17:27:19.191] else if (inherits(cond, "condition")) { [17:27:19.191] if (!is.null(pattern)) { [17:27:19.191] computeRestarts <- base::computeRestarts [17:27:19.191] grepl <- base::grepl [17:27:19.191] restarts <- computeRestarts(cond) [17:27:19.191] for (restart in restarts) { [17:27:19.191] name <- restart$name [17:27:19.191] if (is.null(name)) [17:27:19.191] next [17:27:19.191] if (!grepl(pattern, name)) [17:27:19.191] next [17:27:19.191] invokeRestart(restart) [17:27:19.191] muffled <- TRUE [17:27:19.191] break [17:27:19.191] } [17:27:19.191] } [17:27:19.191] } [17:27:19.191] invisible(muffled) [17:27:19.191] } [17:27:19.191] muffleCondition(cond, pattern = "^muffle") [17:27:19.191] } [17:27:19.191] } [17:27:19.191] } [17:27:19.191] })) [17:27:19.191] }, error = function(ex) { [17:27:19.191] base::structure(base::list(value = NULL, visible = NULL, [17:27:19.191] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:19.191] ...future.rng), started = ...future.startTime, [17:27:19.191] finished = Sys.time(), session_uuid = NA_character_, [17:27:19.191] version = "1.8"), class = "FutureResult") [17:27:19.191] }, finally = { [17:27:19.191] if (!identical(...future.workdir, getwd())) [17:27:19.191] setwd(...future.workdir) [17:27:19.191] { [17:27:19.191] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:19.191] ...future.oldOptions$nwarnings <- NULL [17:27:19.191] } [17:27:19.191] base::options(...future.oldOptions) [17:27:19.191] if (.Platform$OS.type == "windows") { [17:27:19.191] old_names <- names(...future.oldEnvVars) [17:27:19.191] envs <- base::Sys.getenv() [17:27:19.191] names <- names(envs) [17:27:19.191] common <- intersect(names, old_names) [17:27:19.191] added <- setdiff(names, old_names) [17:27:19.191] removed <- setdiff(old_names, names) [17:27:19.191] changed <- common[...future.oldEnvVars[common] != [17:27:19.191] envs[common]] [17:27:19.191] NAMES <- toupper(changed) [17:27:19.191] args <- list() [17:27:19.191] for (kk in seq_along(NAMES)) { [17:27:19.191] name <- changed[[kk]] [17:27:19.191] NAME <- NAMES[[kk]] [17:27:19.191] if (name != NAME && is.element(NAME, old_names)) [17:27:19.191] next [17:27:19.191] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:19.191] } [17:27:19.191] NAMES <- toupper(added) [17:27:19.191] for (kk in seq_along(NAMES)) { [17:27:19.191] name <- added[[kk]] [17:27:19.191] NAME <- NAMES[[kk]] [17:27:19.191] if (name != NAME && is.element(NAME, old_names)) [17:27:19.191] next [17:27:19.191] args[[name]] <- "" [17:27:19.191] } [17:27:19.191] NAMES <- toupper(removed) [17:27:19.191] for (kk in seq_along(NAMES)) { [17:27:19.191] name <- removed[[kk]] [17:27:19.191] NAME <- NAMES[[kk]] [17:27:19.191] if (name != NAME && is.element(NAME, old_names)) [17:27:19.191] next [17:27:19.191] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:19.191] } [17:27:19.191] if (length(args) > 0) [17:27:19.191] base::do.call(base::Sys.setenv, args = args) [17:27:19.191] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:19.191] } [17:27:19.191] else { [17:27:19.191] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:19.191] } [17:27:19.191] { [17:27:19.191] if (base::length(...future.futureOptionsAdded) > [17:27:19.191] 0L) { [17:27:19.191] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:19.191] base::names(opts) <- ...future.futureOptionsAdded [17:27:19.191] base::options(opts) [17:27:19.191] } [17:27:19.191] { [17:27:19.191] { [17:27:19.191] base::options(mc.cores = ...future.mc.cores.old) [17:27:19.191] NULL [17:27:19.191] } [17:27:19.191] options(future.plan = NULL) [17:27:19.191] if (is.na(NA_character_)) [17:27:19.191] Sys.unsetenv("R_FUTURE_PLAN") [17:27:19.191] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:19.191] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:19.191] .init = FALSE) [17:27:19.191] } [17:27:19.191] } [17:27:19.191] } [17:27:19.191] }) [17:27:19.191] if (TRUE) { [17:27:19.191] base::sink(type = "output", split = FALSE) [17:27:19.191] if (TRUE) { [17:27:19.191] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:19.191] } [17:27:19.191] else { [17:27:19.191] ...future.result["stdout"] <- base::list(NULL) [17:27:19.191] } [17:27:19.191] base::close(...future.stdout) [17:27:19.191] ...future.stdout <- NULL [17:27:19.191] } [17:27:19.191] ...future.result$conditions <- ...future.conditions [17:27:19.191] ...future.result$finished <- base::Sys.time() [17:27:19.191] ...future.result [17:27:19.191] } [17:27:19.197] MultisessionFuture started [17:27:19.197] - Launch lazy future ... done [17:27:19.197] run() for 'MultisessionFuture' ... done > cl <- ClusterRegistry("get") > stopifnot(inherits(cl, "cluster"), length(cl) >= 1L) > > plan(sequential) [17:27:19.197] plan(): Setting new future strategy stack: [17:27:19.198] List of future strategies: [17:27:19.198] 1. sequential: [17:27:19.198] - args: function (..., envir = parent.frame(), workers = "") [17:27:19.198] - tweaked: FALSE [17:27:19.198] - call: plan(sequential) [17:27:19.199] plan(): nbrOfWorkers() = 1 > cl <- ClusterRegistry("get") > stopifnot(is.null(cl), length(cl) == 0L) > > message("*** multisession(...) - stopping with plan() change ... DONE") *** multisession(...) - stopping with plan() change ... DONE > > message("*** multisession() ... DONE") *** multisession() ... DONE > > source("incl/end.R") [17:27:19.200] plan(): Setting new future strategy stack: [17:27:19.200] List of future strategies: [17:27:19.200] 1. FutureStrategy: [17:27:19.200] - args: function (..., envir = parent.frame(), workers = "") [17:27:19.200] - tweaked: FALSE [17:27:19.200] - call: future::plan(oplan) [17:27:19.201] 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.06 0.23 3.04