R Under development (unstable) (2023-06-30 r84625 ucrt) -- "Unsuffered Consequences" Copyright (C) 2023 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > source("incl/start.R") [18:02:13.529] plan(): Setting new future strategy stack: [18:02:13.531] List of future strategies: [18:02:13.531] 1. sequential: [18:02:13.531] - args: function (..., envir = parent.frame()) [18:02:13.531] - tweaked: FALSE [18:02:13.531] - call: future::plan("sequential") [18:02:13.547] 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 ... [18:02:13.608] getGlobalsAndPackages() ... [18:02:13.608] Searching for globals... [18:02:13.612] - globals found: [1] '{' [18:02:13.612] Searching for globals ... DONE [18:02:13.612] Resolving globals: FALSE [18:02:13.613] [18:02:13.613] [18:02:13.613] 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: a4012676-0af7-de90-02dc-9e3925928fa1 Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:13.616] Packages needed by the future expression (n = 0): [18:02:13.616] Packages needed by future strategies (n = 0): [18:02:13.617] { [18:02:13.617] { [18:02:13.617] { [18:02:13.617] ...future.startTime <- base::Sys.time() [18:02:13.617] { [18:02:13.617] { [18:02:13.617] { [18:02:13.617] base::local({ [18:02:13.617] has_future <- base::requireNamespace("future", [18:02:13.617] quietly = TRUE) [18:02:13.617] if (has_future) { [18:02:13.617] ns <- base::getNamespace("future") [18:02:13.617] version <- ns[[".package"]][["version"]] [18:02:13.617] if (is.null(version)) [18:02:13.617] version <- utils::packageVersion("future") [18:02:13.617] } [18:02:13.617] else { [18:02:13.617] version <- NULL [18:02:13.617] } [18:02:13.617] if (!has_future || version < "1.8.0") { [18:02:13.617] info <- base::c(r_version = base::gsub("R version ", [18:02:13.617] "", base::R.version$version.string), [18:02:13.617] platform = base::sprintf("%s (%s-bit)", [18:02:13.617] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:13.617] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:13.617] "release", "version")], collapse = " "), [18:02:13.617] hostname = base::Sys.info()[["nodename"]]) [18:02:13.617] info <- base::sprintf("%s: %s", base::names(info), [18:02:13.617] info) [18:02:13.617] info <- base::paste(info, collapse = "; ") [18:02:13.617] if (!has_future) { [18:02:13.617] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:13.617] info) [18:02:13.617] } [18:02:13.617] else { [18:02:13.617] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:13.617] info, version) [18:02:13.617] } [18:02:13.617] base::stop(msg) [18:02:13.617] } [18:02:13.617] }) [18:02:13.617] } [18:02:13.617] options(future.plan = NULL) [18:02:13.617] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.617] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:13.617] } [18:02:13.617] ...future.workdir <- getwd() [18:02:13.617] } [18:02:13.617] ...future.oldOptions <- base::as.list(base::.Options) [18:02:13.617] ...future.oldEnvVars <- base::Sys.getenv() [18:02:13.617] } [18:02:13.617] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:13.617] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:13.617] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:13.617] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:13.617] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:13.617] future.stdout.windows.reencode = NULL, width = 80L) [18:02:13.617] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:13.617] base::names(...future.oldOptions)) [18:02:13.617] } [18:02:13.617] if (FALSE) { [18:02:13.617] } [18:02:13.617] else { [18:02:13.617] if (TRUE) { [18:02:13.617] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:13.617] open = "w") [18:02:13.617] } [18:02:13.617] else { [18:02:13.617] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:13.617] windows = "NUL", "/dev/null"), open = "w") [18:02:13.617] } [18:02:13.617] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:13.617] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:13.617] base::sink(type = "output", split = FALSE) [18:02:13.617] base::close(...future.stdout) [18:02:13.617] }, add = TRUE) [18:02:13.617] } [18:02:13.617] ...future.frame <- base::sys.nframe() [18:02:13.617] ...future.conditions <- base::list() [18:02:13.617] ...future.rng <- base::globalenv()$.Random.seed [18:02:13.617] if (FALSE) { [18:02:13.617] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:13.617] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:13.617] } [18:02:13.617] ...future.result <- base::tryCatch({ [18:02:13.617] base::withCallingHandlers({ [18:02:13.617] ...future.value <- base::withVisible(base::local({ [18:02:13.617] 42L [18:02:13.617] })) [18:02:13.617] future::FutureResult(value = ...future.value$value, [18:02:13.617] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.617] ...future.rng), globalenv = if (FALSE) [18:02:13.617] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:13.617] ...future.globalenv.names)) [18:02:13.617] else NULL, started = ...future.startTime, version = "1.8") [18:02:13.617] }, condition = base::local({ [18:02:13.617] c <- base::c [18:02:13.617] inherits <- base::inherits [18:02:13.617] invokeRestart <- base::invokeRestart [18:02:13.617] length <- base::length [18:02:13.617] list <- base::list [18:02:13.617] seq.int <- base::seq.int [18:02:13.617] signalCondition <- base::signalCondition [18:02:13.617] sys.calls <- base::sys.calls [18:02:13.617] `[[` <- base::`[[` [18:02:13.617] `+` <- base::`+` [18:02:13.617] `<<-` <- base::`<<-` [18:02:13.617] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:13.617] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:13.617] 3L)] [18:02:13.617] } [18:02:13.617] function(cond) { [18:02:13.617] is_error <- inherits(cond, "error") [18:02:13.617] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:13.617] NULL) [18:02:13.617] if (is_error) { [18:02:13.617] sessionInformation <- function() { [18:02:13.617] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:13.617] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:13.617] search = base::search(), system = base::Sys.info()) [18:02:13.617] } [18:02:13.617] ...future.conditions[[length(...future.conditions) + [18:02:13.617] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:13.617] cond$call), session = sessionInformation(), [18:02:13.617] timestamp = base::Sys.time(), signaled = 0L) [18:02:13.617] signalCondition(cond) [18:02:13.617] } [18:02:13.617] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:13.617] "immediateCondition"))) { [18:02:13.617] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:13.617] ...future.conditions[[length(...future.conditions) + [18:02:13.617] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:13.617] if (TRUE && !signal) { [18:02:13.617] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.617] { [18:02:13.617] inherits <- base::inherits [18:02:13.617] invokeRestart <- base::invokeRestart [18:02:13.617] is.null <- base::is.null [18:02:13.617] muffled <- FALSE [18:02:13.617] if (inherits(cond, "message")) { [18:02:13.617] muffled <- grepl(pattern, "muffleMessage") [18:02:13.617] if (muffled) [18:02:13.617] invokeRestart("muffleMessage") [18:02:13.617] } [18:02:13.617] else if (inherits(cond, "warning")) { [18:02:13.617] muffled <- grepl(pattern, "muffleWarning") [18:02:13.617] if (muffled) [18:02:13.617] invokeRestart("muffleWarning") [18:02:13.617] } [18:02:13.617] else if (inherits(cond, "condition")) { [18:02:13.617] if (!is.null(pattern)) { [18:02:13.617] computeRestarts <- base::computeRestarts [18:02:13.617] grepl <- base::grepl [18:02:13.617] restarts <- computeRestarts(cond) [18:02:13.617] for (restart in restarts) { [18:02:13.617] name <- restart$name [18:02:13.617] if (is.null(name)) [18:02:13.617] next [18:02:13.617] if (!grepl(pattern, name)) [18:02:13.617] next [18:02:13.617] invokeRestart(restart) [18:02:13.617] muffled <- TRUE [18:02:13.617] break [18:02:13.617] } [18:02:13.617] } [18:02:13.617] } [18:02:13.617] invisible(muffled) [18:02:13.617] } [18:02:13.617] muffleCondition(cond, pattern = "^muffle") [18:02:13.617] } [18:02:13.617] } [18:02:13.617] else { [18:02:13.617] if (TRUE) { [18:02:13.617] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.617] { [18:02:13.617] inherits <- base::inherits [18:02:13.617] invokeRestart <- base::invokeRestart [18:02:13.617] is.null <- base::is.null [18:02:13.617] muffled <- FALSE [18:02:13.617] if (inherits(cond, "message")) { [18:02:13.617] muffled <- grepl(pattern, "muffleMessage") [18:02:13.617] if (muffled) [18:02:13.617] invokeRestart("muffleMessage") [18:02:13.617] } [18:02:13.617] else if (inherits(cond, "warning")) { [18:02:13.617] muffled <- grepl(pattern, "muffleWarning") [18:02:13.617] if (muffled) [18:02:13.617] invokeRestart("muffleWarning") [18:02:13.617] } [18:02:13.617] else if (inherits(cond, "condition")) { [18:02:13.617] if (!is.null(pattern)) { [18:02:13.617] computeRestarts <- base::computeRestarts [18:02:13.617] grepl <- base::grepl [18:02:13.617] restarts <- computeRestarts(cond) [18:02:13.617] for (restart in restarts) { [18:02:13.617] name <- restart$name [18:02:13.617] if (is.null(name)) [18:02:13.617] next [18:02:13.617] if (!grepl(pattern, name)) [18:02:13.617] next [18:02:13.617] invokeRestart(restart) [18:02:13.617] muffled <- TRUE [18:02:13.617] break [18:02:13.617] } [18:02:13.617] } [18:02:13.617] } [18:02:13.617] invisible(muffled) [18:02:13.617] } [18:02:13.617] muffleCondition(cond, pattern = "^muffle") [18:02:13.617] } [18:02:13.617] } [18:02:13.617] } [18:02:13.617] })) [18:02:13.617] }, error = function(ex) { [18:02:13.617] base::structure(base::list(value = NULL, visible = NULL, [18:02:13.617] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.617] ...future.rng), started = ...future.startTime, [18:02:13.617] finished = Sys.time(), session_uuid = NA_character_, [18:02:13.617] version = "1.8"), class = "FutureResult") [18:02:13.617] }, finally = { [18:02:13.617] if (!identical(...future.workdir, getwd())) [18:02:13.617] setwd(...future.workdir) [18:02:13.617] { [18:02:13.617] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:13.617] ...future.oldOptions$nwarnings <- NULL [18:02:13.617] } [18:02:13.617] base::options(...future.oldOptions) [18:02:13.617] if (.Platform$OS.type == "windows") { [18:02:13.617] old_names <- names(...future.oldEnvVars) [18:02:13.617] envs <- base::Sys.getenv() [18:02:13.617] names <- names(envs) [18:02:13.617] common <- intersect(names, old_names) [18:02:13.617] added <- setdiff(names, old_names) [18:02:13.617] removed <- setdiff(old_names, names) [18:02:13.617] changed <- common[...future.oldEnvVars[common] != [18:02:13.617] envs[common]] [18:02:13.617] NAMES <- toupper(changed) [18:02:13.617] args <- list() [18:02:13.617] for (kk in seq_along(NAMES)) { [18:02:13.617] name <- changed[[kk]] [18:02:13.617] NAME <- NAMES[[kk]] [18:02:13.617] if (name != NAME && is.element(NAME, old_names)) [18:02:13.617] next [18:02:13.617] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.617] } [18:02:13.617] NAMES <- toupper(added) [18:02:13.617] for (kk in seq_along(NAMES)) { [18:02:13.617] name <- added[[kk]] [18:02:13.617] NAME <- NAMES[[kk]] [18:02:13.617] if (name != NAME && is.element(NAME, old_names)) [18:02:13.617] next [18:02:13.617] args[[name]] <- "" [18:02:13.617] } [18:02:13.617] NAMES <- toupper(removed) [18:02:13.617] for (kk in seq_along(NAMES)) { [18:02:13.617] name <- removed[[kk]] [18:02:13.617] NAME <- NAMES[[kk]] [18:02:13.617] if (name != NAME && is.element(NAME, old_names)) [18:02:13.617] next [18:02:13.617] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.617] } [18:02:13.617] if (length(args) > 0) [18:02:13.617] base::do.call(base::Sys.setenv, args = args) [18:02:13.617] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:13.617] } [18:02:13.617] else { [18:02:13.617] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:13.617] } [18:02:13.617] { [18:02:13.617] if (base::length(...future.futureOptionsAdded) > [18:02:13.617] 0L) { [18:02:13.617] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:13.617] base::names(opts) <- ...future.futureOptionsAdded [18:02:13.617] base::options(opts) [18:02:13.617] } [18:02:13.617] { [18:02:13.617] { [18:02:13.617] NULL [18:02:13.617] RNGkind("Mersenne-Twister") [18:02:13.617] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:13.617] inherits = FALSE) [18:02:13.617] } [18:02:13.617] options(future.plan = NULL) [18:02:13.617] if (is.na(NA_character_)) [18:02:13.617] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.617] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:13.617] future::plan(list(function (..., envir = parent.frame()) [18:02:13.617] { [18:02:13.617] future <- SequentialFuture(..., envir = envir) [18:02:13.617] if (!future$lazy) [18:02:13.617] future <- run(future) [18:02:13.617] invisible(future) [18:02:13.617] }), .cleanup = FALSE, .init = FALSE) [18:02:13.617] } [18:02:13.617] } [18:02:13.617] } [18:02:13.617] }) [18:02:13.617] if (TRUE) { [18:02:13.617] base::sink(type = "output", split = FALSE) [18:02:13.617] if (TRUE) { [18:02:13.617] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:13.617] } [18:02:13.617] else { [18:02:13.617] ...future.result["stdout"] <- base::list(NULL) [18:02:13.617] } [18:02:13.617] base::close(...future.stdout) [18:02:13.617] ...future.stdout <- NULL [18:02:13.617] } [18:02:13.617] ...future.result$conditions <- ...future.conditions [18:02:13.617] ...future.result$finished <- base::Sys.time() [18:02:13.617] ...future.result [18:02:13.617] } [18:02:13.621] plan(): Setting new future strategy stack: [18:02:13.621] List of future strategies: [18:02:13.621] 1. sequential: [18:02:13.621] - args: function (..., envir = parent.frame()) [18:02:13.621] - tweaked: FALSE [18:02:13.621] - call: NULL [18:02:13.622] plan(): nbrOfWorkers() = 1 [18:02:13.624] plan(): Setting new future strategy stack: [18:02:13.624] List of future strategies: [18:02:13.624] 1. sequential: [18:02:13.624] - args: function (..., envir = parent.frame()) [18:02:13.624] - tweaked: FALSE [18:02:13.624] - call: future::plan("sequential") [18:02:13.625] plan(): nbrOfWorkers() = 1 [18:02:13.625] SequentialFuture started (and completed) [18:02:13.626] resolved() for 'SequentialFuture' ... [18:02:13.626] - state: 'finished' [18:02:13.626] - run: TRUE [18:02:13.626] - result: 'FutureResult' [18:02:13.627] resolved() for 'SequentialFuture' ... done [1] TRUE [1] 42 [18:02:13.630] getGlobalsAndPackages() ... [18:02:13.631] Searching for globals... [18:02:13.636] - globals found: [4] '{', '<-', '*', 'a' [18:02:13.637] Searching for globals ... DONE [18:02:13.637] Resolving globals: FALSE [18:02:13.638] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:13.638] 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') [18:02:13.638] - globals: [1] 'a' [18:02:13.639] [18:02:13.639] 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: a4012676-0af7-de90-02dc-9e3925928fa1 Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:13.640] Packages needed by the future expression (n = 0): [18:02:13.640] Packages needed by future strategies (n = 0): [18:02:13.641] { [18:02:13.641] { [18:02:13.641] { [18:02:13.641] ...future.startTime <- base::Sys.time() [18:02:13.641] { [18:02:13.641] { [18:02:13.641] { [18:02:13.641] base::local({ [18:02:13.641] has_future <- base::requireNamespace("future", [18:02:13.641] quietly = TRUE) [18:02:13.641] if (has_future) { [18:02:13.641] ns <- base::getNamespace("future") [18:02:13.641] version <- ns[[".package"]][["version"]] [18:02:13.641] if (is.null(version)) [18:02:13.641] version <- utils::packageVersion("future") [18:02:13.641] } [18:02:13.641] else { [18:02:13.641] version <- NULL [18:02:13.641] } [18:02:13.641] if (!has_future || version < "1.8.0") { [18:02:13.641] info <- base::c(r_version = base::gsub("R version ", [18:02:13.641] "", base::R.version$version.string), [18:02:13.641] platform = base::sprintf("%s (%s-bit)", [18:02:13.641] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:13.641] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:13.641] "release", "version")], collapse = " "), [18:02:13.641] hostname = base::Sys.info()[["nodename"]]) [18:02:13.641] info <- base::sprintf("%s: %s", base::names(info), [18:02:13.641] info) [18:02:13.641] info <- base::paste(info, collapse = "; ") [18:02:13.641] if (!has_future) { [18:02:13.641] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:13.641] info) [18:02:13.641] } [18:02:13.641] else { [18:02:13.641] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:13.641] info, version) [18:02:13.641] } [18:02:13.641] base::stop(msg) [18:02:13.641] } [18:02:13.641] }) [18:02:13.641] } [18:02:13.641] options(future.plan = NULL) [18:02:13.641] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.641] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:13.641] } [18:02:13.641] ...future.workdir <- getwd() [18:02:13.641] } [18:02:13.641] ...future.oldOptions <- base::as.list(base::.Options) [18:02:13.641] ...future.oldEnvVars <- base::Sys.getenv() [18:02:13.641] } [18:02:13.641] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:13.641] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:13.641] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:13.641] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:13.641] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:13.641] future.stdout.windows.reencode = NULL, width = 80L) [18:02:13.641] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:13.641] base::names(...future.oldOptions)) [18:02:13.641] } [18:02:13.641] if (FALSE) { [18:02:13.641] } [18:02:13.641] else { [18:02:13.641] if (TRUE) { [18:02:13.641] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:13.641] open = "w") [18:02:13.641] } [18:02:13.641] else { [18:02:13.641] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:13.641] windows = "NUL", "/dev/null"), open = "w") [18:02:13.641] } [18:02:13.641] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:13.641] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:13.641] base::sink(type = "output", split = FALSE) [18:02:13.641] base::close(...future.stdout) [18:02:13.641] }, add = TRUE) [18:02:13.641] } [18:02:13.641] ...future.frame <- base::sys.nframe() [18:02:13.641] ...future.conditions <- base::list() [18:02:13.641] ...future.rng <- base::globalenv()$.Random.seed [18:02:13.641] if (FALSE) { [18:02:13.641] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:13.641] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:13.641] } [18:02:13.641] ...future.result <- base::tryCatch({ [18:02:13.641] base::withCallingHandlers({ [18:02:13.641] ...future.value <- base::withVisible(base::local({ [18:02:13.641] b <- 3 [18:02:13.641] c <- 2 [18:02:13.641] a * b * c [18:02:13.641] })) [18:02:13.641] future::FutureResult(value = ...future.value$value, [18:02:13.641] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.641] ...future.rng), globalenv = if (FALSE) [18:02:13.641] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:13.641] ...future.globalenv.names)) [18:02:13.641] else NULL, started = ...future.startTime, version = "1.8") [18:02:13.641] }, condition = base::local({ [18:02:13.641] c <- base::c [18:02:13.641] inherits <- base::inherits [18:02:13.641] invokeRestart <- base::invokeRestart [18:02:13.641] length <- base::length [18:02:13.641] list <- base::list [18:02:13.641] seq.int <- base::seq.int [18:02:13.641] signalCondition <- base::signalCondition [18:02:13.641] sys.calls <- base::sys.calls [18:02:13.641] `[[` <- base::`[[` [18:02:13.641] `+` <- base::`+` [18:02:13.641] `<<-` <- base::`<<-` [18:02:13.641] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:13.641] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:13.641] 3L)] [18:02:13.641] } [18:02:13.641] function(cond) { [18:02:13.641] is_error <- inherits(cond, "error") [18:02:13.641] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:13.641] NULL) [18:02:13.641] if (is_error) { [18:02:13.641] sessionInformation <- function() { [18:02:13.641] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:13.641] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:13.641] search = base::search(), system = base::Sys.info()) [18:02:13.641] } [18:02:13.641] ...future.conditions[[length(...future.conditions) + [18:02:13.641] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:13.641] cond$call), session = sessionInformation(), [18:02:13.641] timestamp = base::Sys.time(), signaled = 0L) [18:02:13.641] signalCondition(cond) [18:02:13.641] } [18:02:13.641] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:13.641] "immediateCondition"))) { [18:02:13.641] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:13.641] ...future.conditions[[length(...future.conditions) + [18:02:13.641] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:13.641] if (TRUE && !signal) { [18:02:13.641] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.641] { [18:02:13.641] inherits <- base::inherits [18:02:13.641] invokeRestart <- base::invokeRestart [18:02:13.641] is.null <- base::is.null [18:02:13.641] muffled <- FALSE [18:02:13.641] if (inherits(cond, "message")) { [18:02:13.641] muffled <- grepl(pattern, "muffleMessage") [18:02:13.641] if (muffled) [18:02:13.641] invokeRestart("muffleMessage") [18:02:13.641] } [18:02:13.641] else if (inherits(cond, "warning")) { [18:02:13.641] muffled <- grepl(pattern, "muffleWarning") [18:02:13.641] if (muffled) [18:02:13.641] invokeRestart("muffleWarning") [18:02:13.641] } [18:02:13.641] else if (inherits(cond, "condition")) { [18:02:13.641] if (!is.null(pattern)) { [18:02:13.641] computeRestarts <- base::computeRestarts [18:02:13.641] grepl <- base::grepl [18:02:13.641] restarts <- computeRestarts(cond) [18:02:13.641] for (restart in restarts) { [18:02:13.641] name <- restart$name [18:02:13.641] if (is.null(name)) [18:02:13.641] next [18:02:13.641] if (!grepl(pattern, name)) [18:02:13.641] next [18:02:13.641] invokeRestart(restart) [18:02:13.641] muffled <- TRUE [18:02:13.641] break [18:02:13.641] } [18:02:13.641] } [18:02:13.641] } [18:02:13.641] invisible(muffled) [18:02:13.641] } [18:02:13.641] muffleCondition(cond, pattern = "^muffle") [18:02:13.641] } [18:02:13.641] } [18:02:13.641] else { [18:02:13.641] if (TRUE) { [18:02:13.641] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.641] { [18:02:13.641] inherits <- base::inherits [18:02:13.641] invokeRestart <- base::invokeRestart [18:02:13.641] is.null <- base::is.null [18:02:13.641] muffled <- FALSE [18:02:13.641] if (inherits(cond, "message")) { [18:02:13.641] muffled <- grepl(pattern, "muffleMessage") [18:02:13.641] if (muffled) [18:02:13.641] invokeRestart("muffleMessage") [18:02:13.641] } [18:02:13.641] else if (inherits(cond, "warning")) { [18:02:13.641] muffled <- grepl(pattern, "muffleWarning") [18:02:13.641] if (muffled) [18:02:13.641] invokeRestart("muffleWarning") [18:02:13.641] } [18:02:13.641] else if (inherits(cond, "condition")) { [18:02:13.641] if (!is.null(pattern)) { [18:02:13.641] computeRestarts <- base::computeRestarts [18:02:13.641] grepl <- base::grepl [18:02:13.641] restarts <- computeRestarts(cond) [18:02:13.641] for (restart in restarts) { [18:02:13.641] name <- restart$name [18:02:13.641] if (is.null(name)) [18:02:13.641] next [18:02:13.641] if (!grepl(pattern, name)) [18:02:13.641] next [18:02:13.641] invokeRestart(restart) [18:02:13.641] muffled <- TRUE [18:02:13.641] break [18:02:13.641] } [18:02:13.641] } [18:02:13.641] } [18:02:13.641] invisible(muffled) [18:02:13.641] } [18:02:13.641] muffleCondition(cond, pattern = "^muffle") [18:02:13.641] } [18:02:13.641] } [18:02:13.641] } [18:02:13.641] })) [18:02:13.641] }, error = function(ex) { [18:02:13.641] base::structure(base::list(value = NULL, visible = NULL, [18:02:13.641] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.641] ...future.rng), started = ...future.startTime, [18:02:13.641] finished = Sys.time(), session_uuid = NA_character_, [18:02:13.641] version = "1.8"), class = "FutureResult") [18:02:13.641] }, finally = { [18:02:13.641] if (!identical(...future.workdir, getwd())) [18:02:13.641] setwd(...future.workdir) [18:02:13.641] { [18:02:13.641] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:13.641] ...future.oldOptions$nwarnings <- NULL [18:02:13.641] } [18:02:13.641] base::options(...future.oldOptions) [18:02:13.641] if (.Platform$OS.type == "windows") { [18:02:13.641] old_names <- names(...future.oldEnvVars) [18:02:13.641] envs <- base::Sys.getenv() [18:02:13.641] names <- names(envs) [18:02:13.641] common <- intersect(names, old_names) [18:02:13.641] added <- setdiff(names, old_names) [18:02:13.641] removed <- setdiff(old_names, names) [18:02:13.641] changed <- common[...future.oldEnvVars[common] != [18:02:13.641] envs[common]] [18:02:13.641] NAMES <- toupper(changed) [18:02:13.641] args <- list() [18:02:13.641] for (kk in seq_along(NAMES)) { [18:02:13.641] name <- changed[[kk]] [18:02:13.641] NAME <- NAMES[[kk]] [18:02:13.641] if (name != NAME && is.element(NAME, old_names)) [18:02:13.641] next [18:02:13.641] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.641] } [18:02:13.641] NAMES <- toupper(added) [18:02:13.641] for (kk in seq_along(NAMES)) { [18:02:13.641] name <- added[[kk]] [18:02:13.641] NAME <- NAMES[[kk]] [18:02:13.641] if (name != NAME && is.element(NAME, old_names)) [18:02:13.641] next [18:02:13.641] args[[name]] <- "" [18:02:13.641] } [18:02:13.641] NAMES <- toupper(removed) [18:02:13.641] for (kk in seq_along(NAMES)) { [18:02:13.641] name <- removed[[kk]] [18:02:13.641] NAME <- NAMES[[kk]] [18:02:13.641] if (name != NAME && is.element(NAME, old_names)) [18:02:13.641] next [18:02:13.641] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.641] } [18:02:13.641] if (length(args) > 0) [18:02:13.641] base::do.call(base::Sys.setenv, args = args) [18:02:13.641] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:13.641] } [18:02:13.641] else { [18:02:13.641] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:13.641] } [18:02:13.641] { [18:02:13.641] if (base::length(...future.futureOptionsAdded) > [18:02:13.641] 0L) { [18:02:13.641] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:13.641] base::names(opts) <- ...future.futureOptionsAdded [18:02:13.641] base::options(opts) [18:02:13.641] } [18:02:13.641] { [18:02:13.641] { [18:02:13.641] NULL [18:02:13.641] RNGkind("Mersenne-Twister") [18:02:13.641] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:13.641] inherits = FALSE) [18:02:13.641] } [18:02:13.641] options(future.plan = NULL) [18:02:13.641] if (is.na(NA_character_)) [18:02:13.641] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.641] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:13.641] future::plan(list(function (..., envir = parent.frame()) [18:02:13.641] { [18:02:13.641] future <- SequentialFuture(..., envir = envir) [18:02:13.641] if (!future$lazy) [18:02:13.641] future <- run(future) [18:02:13.641] invisible(future) [18:02:13.641] }), .cleanup = FALSE, .init = FALSE) [18:02:13.641] } [18:02:13.641] } [18:02:13.641] } [18:02:13.641] }) [18:02:13.641] if (TRUE) { [18:02:13.641] base::sink(type = "output", split = FALSE) [18:02:13.641] if (TRUE) { [18:02:13.641] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:13.641] } [18:02:13.641] else { [18:02:13.641] ...future.result["stdout"] <- base::list(NULL) [18:02:13.641] } [18:02:13.641] base::close(...future.stdout) [18:02:13.641] ...future.stdout <- NULL [18:02:13.641] } [18:02:13.641] ...future.result$conditions <- ...future.conditions [18:02:13.641] ...future.result$finished <- base::Sys.time() [18:02:13.641] ...future.result [18:02:13.641] } [18:02:13.645] assign_globals() ... [18:02:13.645] List of 1 [18:02:13.645] $ a: num 0 [18:02:13.645] - attr(*, "where")=List of 1 [18:02:13.645] ..$ a: [18:02:13.645] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:13.645] - attr(*, "resolved")= logi FALSE [18:02:13.645] - attr(*, "total_size")= num 56 [18:02:13.650] - copied 'a' to environment [18:02:13.650] assign_globals() ... done [18:02:13.651] plan(): Setting new future strategy stack: [18:02:13.651] List of future strategies: [18:02:13.651] 1. sequential: [18:02:13.651] - args: function (..., envir = parent.frame()) [18:02:13.651] - tweaked: FALSE [18:02:13.651] - call: NULL [18:02:13.651] plan(): nbrOfWorkers() = 1 [18:02:13.653] plan(): Setting new future strategy stack: [18:02:13.653] List of future strategies: [18:02:13.653] 1. sequential: [18:02:13.653] - args: function (..., envir = parent.frame()) [18:02:13.653] - tweaked: FALSE [18:02:13.653] - call: future::plan("sequential") [18:02:13.653] plan(): nbrOfWorkers() = 1 [18:02:13.653] SequentialFuture started (and completed) [1] 0 *** multisession() with globals and blocking - Creating multisession future #2 ... [18:02:13.656] getGlobalsAndPackages() ... [18:02:13.656] Searching for globals... [18:02:13.657] - globals found: [2] '{', 'ii' [18:02:13.657] Searching for globals ... DONE [18:02:13.657] Resolving globals: FALSE [18:02:13.658] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:13.658] 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') [18:02:13.658] - globals: [1] 'ii' [18:02:13.659] [18:02:13.659] getGlobalsAndPackages() ... DONE - Creating multisession future #1 ... [18:02:13.661] getGlobalsAndPackages() ... [18:02:13.662] Searching for globals... [18:02:13.662] - globals found: [2] '{', 'ii' [18:02:13.663] Searching for globals ... DONE [18:02:13.663] Resolving globals: FALSE [18:02:13.663] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:13.664] 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') [18:02:13.664] - globals: [1] 'ii' [18:02:13.664] [18:02:13.664] getGlobalsAndPackages() ... DONE - Resolving 2 multisession futures [18:02:13.665] Packages needed by the future expression (n = 0): [18:02:13.665] Packages needed by future strategies (n = 0): [18:02:13.666] { [18:02:13.666] { [18:02:13.666] { [18:02:13.666] ...future.startTime <- base::Sys.time() [18:02:13.666] { [18:02:13.666] { [18:02:13.666] { [18:02:13.666] base::local({ [18:02:13.666] has_future <- base::requireNamespace("future", [18:02:13.666] quietly = TRUE) [18:02:13.666] if (has_future) { [18:02:13.666] ns <- base::getNamespace("future") [18:02:13.666] version <- ns[[".package"]][["version"]] [18:02:13.666] if (is.null(version)) [18:02:13.666] version <- utils::packageVersion("future") [18:02:13.666] } [18:02:13.666] else { [18:02:13.666] version <- NULL [18:02:13.666] } [18:02:13.666] if (!has_future || version < "1.8.0") { [18:02:13.666] info <- base::c(r_version = base::gsub("R version ", [18:02:13.666] "", base::R.version$version.string), [18:02:13.666] platform = base::sprintf("%s (%s-bit)", [18:02:13.666] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:13.666] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:13.666] "release", "version")], collapse = " "), [18:02:13.666] hostname = base::Sys.info()[["nodename"]]) [18:02:13.666] info <- base::sprintf("%s: %s", base::names(info), [18:02:13.666] info) [18:02:13.666] info <- base::paste(info, collapse = "; ") [18:02:13.666] if (!has_future) { [18:02:13.666] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:13.666] info) [18:02:13.666] } [18:02:13.666] else { [18:02:13.666] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:13.666] info, version) [18:02:13.666] } [18:02:13.666] base::stop(msg) [18:02:13.666] } [18:02:13.666] }) [18:02:13.666] } [18:02:13.666] options(future.plan = NULL) [18:02:13.666] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.666] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:13.666] } [18:02:13.666] ...future.workdir <- getwd() [18:02:13.666] } [18:02:13.666] ...future.oldOptions <- base::as.list(base::.Options) [18:02:13.666] ...future.oldEnvVars <- base::Sys.getenv() [18:02:13.666] } [18:02:13.666] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:13.666] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:13.666] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:13.666] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:13.666] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:13.666] future.stdout.windows.reencode = NULL, width = 80L) [18:02:13.666] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:13.666] base::names(...future.oldOptions)) [18:02:13.666] } [18:02:13.666] if (FALSE) { [18:02:13.666] } [18:02:13.666] else { [18:02:13.666] if (TRUE) { [18:02:13.666] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:13.666] open = "w") [18:02:13.666] } [18:02:13.666] else { [18:02:13.666] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:13.666] windows = "NUL", "/dev/null"), open = "w") [18:02:13.666] } [18:02:13.666] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:13.666] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:13.666] base::sink(type = "output", split = FALSE) [18:02:13.666] base::close(...future.stdout) [18:02:13.666] }, add = TRUE) [18:02:13.666] } [18:02:13.666] ...future.frame <- base::sys.nframe() [18:02:13.666] ...future.conditions <- base::list() [18:02:13.666] ...future.rng <- base::globalenv()$.Random.seed [18:02:13.666] if (FALSE) { [18:02:13.666] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:13.666] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:13.666] } [18:02:13.666] ...future.result <- base::tryCatch({ [18:02:13.666] base::withCallingHandlers({ [18:02:13.666] ...future.value <- base::withVisible(base::local({ [18:02:13.666] ii [18:02:13.666] })) [18:02:13.666] future::FutureResult(value = ...future.value$value, [18:02:13.666] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.666] ...future.rng), globalenv = if (FALSE) [18:02:13.666] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:13.666] ...future.globalenv.names)) [18:02:13.666] else NULL, started = ...future.startTime, version = "1.8") [18:02:13.666] }, condition = base::local({ [18:02:13.666] c <- base::c [18:02:13.666] inherits <- base::inherits [18:02:13.666] invokeRestart <- base::invokeRestart [18:02:13.666] length <- base::length [18:02:13.666] list <- base::list [18:02:13.666] seq.int <- base::seq.int [18:02:13.666] signalCondition <- base::signalCondition [18:02:13.666] sys.calls <- base::sys.calls [18:02:13.666] `[[` <- base::`[[` [18:02:13.666] `+` <- base::`+` [18:02:13.666] `<<-` <- base::`<<-` [18:02:13.666] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:13.666] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:13.666] 3L)] [18:02:13.666] } [18:02:13.666] function(cond) { [18:02:13.666] is_error <- inherits(cond, "error") [18:02:13.666] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:13.666] NULL) [18:02:13.666] if (is_error) { [18:02:13.666] sessionInformation <- function() { [18:02:13.666] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:13.666] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:13.666] search = base::search(), system = base::Sys.info()) [18:02:13.666] } [18:02:13.666] ...future.conditions[[length(...future.conditions) + [18:02:13.666] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:13.666] cond$call), session = sessionInformation(), [18:02:13.666] timestamp = base::Sys.time(), signaled = 0L) [18:02:13.666] signalCondition(cond) [18:02:13.666] } [18:02:13.666] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:13.666] "immediateCondition"))) { [18:02:13.666] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:13.666] ...future.conditions[[length(...future.conditions) + [18:02:13.666] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:13.666] if (TRUE && !signal) { [18:02:13.666] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.666] { [18:02:13.666] inherits <- base::inherits [18:02:13.666] invokeRestart <- base::invokeRestart [18:02:13.666] is.null <- base::is.null [18:02:13.666] muffled <- FALSE [18:02:13.666] if (inherits(cond, "message")) { [18:02:13.666] muffled <- grepl(pattern, "muffleMessage") [18:02:13.666] if (muffled) [18:02:13.666] invokeRestart("muffleMessage") [18:02:13.666] } [18:02:13.666] else if (inherits(cond, "warning")) { [18:02:13.666] muffled <- grepl(pattern, "muffleWarning") [18:02:13.666] if (muffled) [18:02:13.666] invokeRestart("muffleWarning") [18:02:13.666] } [18:02:13.666] else if (inherits(cond, "condition")) { [18:02:13.666] if (!is.null(pattern)) { [18:02:13.666] computeRestarts <- base::computeRestarts [18:02:13.666] grepl <- base::grepl [18:02:13.666] restarts <- computeRestarts(cond) [18:02:13.666] for (restart in restarts) { [18:02:13.666] name <- restart$name [18:02:13.666] if (is.null(name)) [18:02:13.666] next [18:02:13.666] if (!grepl(pattern, name)) [18:02:13.666] next [18:02:13.666] invokeRestart(restart) [18:02:13.666] muffled <- TRUE [18:02:13.666] break [18:02:13.666] } [18:02:13.666] } [18:02:13.666] } [18:02:13.666] invisible(muffled) [18:02:13.666] } [18:02:13.666] muffleCondition(cond, pattern = "^muffle") [18:02:13.666] } [18:02:13.666] } [18:02:13.666] else { [18:02:13.666] if (TRUE) { [18:02:13.666] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.666] { [18:02:13.666] inherits <- base::inherits [18:02:13.666] invokeRestart <- base::invokeRestart [18:02:13.666] is.null <- base::is.null [18:02:13.666] muffled <- FALSE [18:02:13.666] if (inherits(cond, "message")) { [18:02:13.666] muffled <- grepl(pattern, "muffleMessage") [18:02:13.666] if (muffled) [18:02:13.666] invokeRestart("muffleMessage") [18:02:13.666] } [18:02:13.666] else if (inherits(cond, "warning")) { [18:02:13.666] muffled <- grepl(pattern, "muffleWarning") [18:02:13.666] if (muffled) [18:02:13.666] invokeRestart("muffleWarning") [18:02:13.666] } [18:02:13.666] else if (inherits(cond, "condition")) { [18:02:13.666] if (!is.null(pattern)) { [18:02:13.666] computeRestarts <- base::computeRestarts [18:02:13.666] grepl <- base::grepl [18:02:13.666] restarts <- computeRestarts(cond) [18:02:13.666] for (restart in restarts) { [18:02:13.666] name <- restart$name [18:02:13.666] if (is.null(name)) [18:02:13.666] next [18:02:13.666] if (!grepl(pattern, name)) [18:02:13.666] next [18:02:13.666] invokeRestart(restart) [18:02:13.666] muffled <- TRUE [18:02:13.666] break [18:02:13.666] } [18:02:13.666] } [18:02:13.666] } [18:02:13.666] invisible(muffled) [18:02:13.666] } [18:02:13.666] muffleCondition(cond, pattern = "^muffle") [18:02:13.666] } [18:02:13.666] } [18:02:13.666] } [18:02:13.666] })) [18:02:13.666] }, error = function(ex) { [18:02:13.666] base::structure(base::list(value = NULL, visible = NULL, [18:02:13.666] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.666] ...future.rng), started = ...future.startTime, [18:02:13.666] finished = Sys.time(), session_uuid = NA_character_, [18:02:13.666] version = "1.8"), class = "FutureResult") [18:02:13.666] }, finally = { [18:02:13.666] if (!identical(...future.workdir, getwd())) [18:02:13.666] setwd(...future.workdir) [18:02:13.666] { [18:02:13.666] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:13.666] ...future.oldOptions$nwarnings <- NULL [18:02:13.666] } [18:02:13.666] base::options(...future.oldOptions) [18:02:13.666] if (.Platform$OS.type == "windows") { [18:02:13.666] old_names <- names(...future.oldEnvVars) [18:02:13.666] envs <- base::Sys.getenv() [18:02:13.666] names <- names(envs) [18:02:13.666] common <- intersect(names, old_names) [18:02:13.666] added <- setdiff(names, old_names) [18:02:13.666] removed <- setdiff(old_names, names) [18:02:13.666] changed <- common[...future.oldEnvVars[common] != [18:02:13.666] envs[common]] [18:02:13.666] NAMES <- toupper(changed) [18:02:13.666] args <- list() [18:02:13.666] for (kk in seq_along(NAMES)) { [18:02:13.666] name <- changed[[kk]] [18:02:13.666] NAME <- NAMES[[kk]] [18:02:13.666] if (name != NAME && is.element(NAME, old_names)) [18:02:13.666] next [18:02:13.666] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.666] } [18:02:13.666] NAMES <- toupper(added) [18:02:13.666] for (kk in seq_along(NAMES)) { [18:02:13.666] name <- added[[kk]] [18:02:13.666] NAME <- NAMES[[kk]] [18:02:13.666] if (name != NAME && is.element(NAME, old_names)) [18:02:13.666] next [18:02:13.666] args[[name]] <- "" [18:02:13.666] } [18:02:13.666] NAMES <- toupper(removed) [18:02:13.666] for (kk in seq_along(NAMES)) { [18:02:13.666] name <- removed[[kk]] [18:02:13.666] NAME <- NAMES[[kk]] [18:02:13.666] if (name != NAME && is.element(NAME, old_names)) [18:02:13.666] next [18:02:13.666] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.666] } [18:02:13.666] if (length(args) > 0) [18:02:13.666] base::do.call(base::Sys.setenv, args = args) [18:02:13.666] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:13.666] } [18:02:13.666] else { [18:02:13.666] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:13.666] } [18:02:13.666] { [18:02:13.666] if (base::length(...future.futureOptionsAdded) > [18:02:13.666] 0L) { [18:02:13.666] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:13.666] base::names(opts) <- ...future.futureOptionsAdded [18:02:13.666] base::options(opts) [18:02:13.666] } [18:02:13.666] { [18:02:13.666] { [18:02:13.666] NULL [18:02:13.666] RNGkind("Mersenne-Twister") [18:02:13.666] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:13.666] inherits = FALSE) [18:02:13.666] } [18:02:13.666] options(future.plan = NULL) [18:02:13.666] if (is.na(NA_character_)) [18:02:13.666] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.666] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:13.666] future::plan(list(function (..., envir = parent.frame()) [18:02:13.666] { [18:02:13.666] future <- SequentialFuture(..., envir = envir) [18:02:13.666] if (!future$lazy) [18:02:13.666] future <- run(future) [18:02:13.666] invisible(future) [18:02:13.666] }), .cleanup = FALSE, .init = FALSE) [18:02:13.666] } [18:02:13.666] } [18:02:13.666] } [18:02:13.666] }) [18:02:13.666] if (TRUE) { [18:02:13.666] base::sink(type = "output", split = FALSE) [18:02:13.666] if (TRUE) { [18:02:13.666] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:13.666] } [18:02:13.666] else { [18:02:13.666] ...future.result["stdout"] <- base::list(NULL) [18:02:13.666] } [18:02:13.666] base::close(...future.stdout) [18:02:13.666] ...future.stdout <- NULL [18:02:13.666] } [18:02:13.666] ...future.result$conditions <- ...future.conditions [18:02:13.666] ...future.result$finished <- base::Sys.time() [18:02:13.666] ...future.result [18:02:13.666] } [18:02:13.670] assign_globals() ... [18:02:13.670] List of 1 [18:02:13.670] $ ii: int 1 [18:02:13.670] - attr(*, "where")=List of 1 [18:02:13.670] ..$ ii: [18:02:13.670] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:13.670] - attr(*, "resolved")= logi FALSE [18:02:13.670] - attr(*, "total_size")= num 56 [18:02:13.673] - copied 'ii' to environment [18:02:13.673] assign_globals() ... done [18:02:13.673] plan(): Setting new future strategy stack: [18:02:13.673] List of future strategies: [18:02:13.673] 1. sequential: [18:02:13.673] - args: function (..., envir = parent.frame()) [18:02:13.673] - tweaked: FALSE [18:02:13.673] - call: NULL [18:02:13.675] plan(): nbrOfWorkers() = 1 [18:02:13.676] plan(): Setting new future strategy stack: [18:02:13.676] List of future strategies: [18:02:13.676] 1. sequential: [18:02:13.676] - args: function (..., envir = parent.frame()) [18:02:13.676] - tweaked: FALSE [18:02:13.676] - call: future::plan("sequential") [18:02:13.677] plan(): nbrOfWorkers() = 1 [18:02:13.677] SequentialFuture started (and completed) [18:02:13.678] Packages needed by the future expression (n = 0): [18:02:13.678] Packages needed by future strategies (n = 0): [18:02:13.678] { [18:02:13.678] { [18:02:13.678] { [18:02:13.678] ...future.startTime <- base::Sys.time() [18:02:13.678] { [18:02:13.678] { [18:02:13.678] { [18:02:13.678] base::local({ [18:02:13.678] has_future <- base::requireNamespace("future", [18:02:13.678] quietly = TRUE) [18:02:13.678] if (has_future) { [18:02:13.678] ns <- base::getNamespace("future") [18:02:13.678] version <- ns[[".package"]][["version"]] [18:02:13.678] if (is.null(version)) [18:02:13.678] version <- utils::packageVersion("future") [18:02:13.678] } [18:02:13.678] else { [18:02:13.678] version <- NULL [18:02:13.678] } [18:02:13.678] if (!has_future || version < "1.8.0") { [18:02:13.678] info <- base::c(r_version = base::gsub("R version ", [18:02:13.678] "", base::R.version$version.string), [18:02:13.678] platform = base::sprintf("%s (%s-bit)", [18:02:13.678] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:13.678] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:13.678] "release", "version")], collapse = " "), [18:02:13.678] hostname = base::Sys.info()[["nodename"]]) [18:02:13.678] info <- base::sprintf("%s: %s", base::names(info), [18:02:13.678] info) [18:02:13.678] info <- base::paste(info, collapse = "; ") [18:02:13.678] if (!has_future) { [18:02:13.678] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:13.678] info) [18:02:13.678] } [18:02:13.678] else { [18:02:13.678] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:13.678] info, version) [18:02:13.678] } [18:02:13.678] base::stop(msg) [18:02:13.678] } [18:02:13.678] }) [18:02:13.678] } [18:02:13.678] options(future.plan = NULL) [18:02:13.678] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.678] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:13.678] } [18:02:13.678] ...future.workdir <- getwd() [18:02:13.678] } [18:02:13.678] ...future.oldOptions <- base::as.list(base::.Options) [18:02:13.678] ...future.oldEnvVars <- base::Sys.getenv() [18:02:13.678] } [18:02:13.678] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:13.678] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:13.678] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:13.678] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:13.678] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:13.678] future.stdout.windows.reencode = NULL, width = 80L) [18:02:13.678] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:13.678] base::names(...future.oldOptions)) [18:02:13.678] } [18:02:13.678] if (FALSE) { [18:02:13.678] } [18:02:13.678] else { [18:02:13.678] if (TRUE) { [18:02:13.678] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:13.678] open = "w") [18:02:13.678] } [18:02:13.678] else { [18:02:13.678] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:13.678] windows = "NUL", "/dev/null"), open = "w") [18:02:13.678] } [18:02:13.678] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:13.678] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:13.678] base::sink(type = "output", split = FALSE) [18:02:13.678] base::close(...future.stdout) [18:02:13.678] }, add = TRUE) [18:02:13.678] } [18:02:13.678] ...future.frame <- base::sys.nframe() [18:02:13.678] ...future.conditions <- base::list() [18:02:13.678] ...future.rng <- base::globalenv()$.Random.seed [18:02:13.678] if (FALSE) { [18:02:13.678] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:13.678] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:13.678] } [18:02:13.678] ...future.result <- base::tryCatch({ [18:02:13.678] base::withCallingHandlers({ [18:02:13.678] ...future.value <- base::withVisible(base::local({ [18:02:13.678] ii [18:02:13.678] })) [18:02:13.678] future::FutureResult(value = ...future.value$value, [18:02:13.678] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.678] ...future.rng), globalenv = if (FALSE) [18:02:13.678] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:13.678] ...future.globalenv.names)) [18:02:13.678] else NULL, started = ...future.startTime, version = "1.8") [18:02:13.678] }, condition = base::local({ [18:02:13.678] c <- base::c [18:02:13.678] inherits <- base::inherits [18:02:13.678] invokeRestart <- base::invokeRestart [18:02:13.678] length <- base::length [18:02:13.678] list <- base::list [18:02:13.678] seq.int <- base::seq.int [18:02:13.678] signalCondition <- base::signalCondition [18:02:13.678] sys.calls <- base::sys.calls [18:02:13.678] `[[` <- base::`[[` [18:02:13.678] `+` <- base::`+` [18:02:13.678] `<<-` <- base::`<<-` [18:02:13.678] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:13.678] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:13.678] 3L)] [18:02:13.678] } [18:02:13.678] function(cond) { [18:02:13.678] is_error <- inherits(cond, "error") [18:02:13.678] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:13.678] NULL) [18:02:13.678] if (is_error) { [18:02:13.678] sessionInformation <- function() { [18:02:13.678] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:13.678] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:13.678] search = base::search(), system = base::Sys.info()) [18:02:13.678] } [18:02:13.678] ...future.conditions[[length(...future.conditions) + [18:02:13.678] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:13.678] cond$call), session = sessionInformation(), [18:02:13.678] timestamp = base::Sys.time(), signaled = 0L) [18:02:13.678] signalCondition(cond) [18:02:13.678] } [18:02:13.678] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:13.678] "immediateCondition"))) { [18:02:13.678] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:13.678] ...future.conditions[[length(...future.conditions) + [18:02:13.678] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:13.678] if (TRUE && !signal) { [18:02:13.678] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.678] { [18:02:13.678] inherits <- base::inherits [18:02:13.678] invokeRestart <- base::invokeRestart [18:02:13.678] is.null <- base::is.null [18:02:13.678] muffled <- FALSE [18:02:13.678] if (inherits(cond, "message")) { [18:02:13.678] muffled <- grepl(pattern, "muffleMessage") [18:02:13.678] if (muffled) [18:02:13.678] invokeRestart("muffleMessage") [18:02:13.678] } [18:02:13.678] else if (inherits(cond, "warning")) { [18:02:13.678] muffled <- grepl(pattern, "muffleWarning") [18:02:13.678] if (muffled) [18:02:13.678] invokeRestart("muffleWarning") [18:02:13.678] } [18:02:13.678] else if (inherits(cond, "condition")) { [18:02:13.678] if (!is.null(pattern)) { [18:02:13.678] computeRestarts <- base::computeRestarts [18:02:13.678] grepl <- base::grepl [18:02:13.678] restarts <- computeRestarts(cond) [18:02:13.678] for (restart in restarts) { [18:02:13.678] name <- restart$name [18:02:13.678] if (is.null(name)) [18:02:13.678] next [18:02:13.678] if (!grepl(pattern, name)) [18:02:13.678] next [18:02:13.678] invokeRestart(restart) [18:02:13.678] muffled <- TRUE [18:02:13.678] break [18:02:13.678] } [18:02:13.678] } [18:02:13.678] } [18:02:13.678] invisible(muffled) [18:02:13.678] } [18:02:13.678] muffleCondition(cond, pattern = "^muffle") [18:02:13.678] } [18:02:13.678] } [18:02:13.678] else { [18:02:13.678] if (TRUE) { [18:02:13.678] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.678] { [18:02:13.678] inherits <- base::inherits [18:02:13.678] invokeRestart <- base::invokeRestart [18:02:13.678] is.null <- base::is.null [18:02:13.678] muffled <- FALSE [18:02:13.678] if (inherits(cond, "message")) { [18:02:13.678] muffled <- grepl(pattern, "muffleMessage") [18:02:13.678] if (muffled) [18:02:13.678] invokeRestart("muffleMessage") [18:02:13.678] } [18:02:13.678] else if (inherits(cond, "warning")) { [18:02:13.678] muffled <- grepl(pattern, "muffleWarning") [18:02:13.678] if (muffled) [18:02:13.678] invokeRestart("muffleWarning") [18:02:13.678] } [18:02:13.678] else if (inherits(cond, "condition")) { [18:02:13.678] if (!is.null(pattern)) { [18:02:13.678] computeRestarts <- base::computeRestarts [18:02:13.678] grepl <- base::grepl [18:02:13.678] restarts <- computeRestarts(cond) [18:02:13.678] for (restart in restarts) { [18:02:13.678] name <- restart$name [18:02:13.678] if (is.null(name)) [18:02:13.678] next [18:02:13.678] if (!grepl(pattern, name)) [18:02:13.678] next [18:02:13.678] invokeRestart(restart) [18:02:13.678] muffled <- TRUE [18:02:13.678] break [18:02:13.678] } [18:02:13.678] } [18:02:13.678] } [18:02:13.678] invisible(muffled) [18:02:13.678] } [18:02:13.678] muffleCondition(cond, pattern = "^muffle") [18:02:13.678] } [18:02:13.678] } [18:02:13.678] } [18:02:13.678] })) [18:02:13.678] }, error = function(ex) { [18:02:13.678] base::structure(base::list(value = NULL, visible = NULL, [18:02:13.678] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.678] ...future.rng), started = ...future.startTime, [18:02:13.678] finished = Sys.time(), session_uuid = NA_character_, [18:02:13.678] version = "1.8"), class = "FutureResult") [18:02:13.678] }, finally = { [18:02:13.678] if (!identical(...future.workdir, getwd())) [18:02:13.678] setwd(...future.workdir) [18:02:13.678] { [18:02:13.678] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:13.678] ...future.oldOptions$nwarnings <- NULL [18:02:13.678] } [18:02:13.678] base::options(...future.oldOptions) [18:02:13.678] if (.Platform$OS.type == "windows") { [18:02:13.678] old_names <- names(...future.oldEnvVars) [18:02:13.678] envs <- base::Sys.getenv() [18:02:13.678] names <- names(envs) [18:02:13.678] common <- intersect(names, old_names) [18:02:13.678] added <- setdiff(names, old_names) [18:02:13.678] removed <- setdiff(old_names, names) [18:02:13.678] changed <- common[...future.oldEnvVars[common] != [18:02:13.678] envs[common]] [18:02:13.678] NAMES <- toupper(changed) [18:02:13.678] args <- list() [18:02:13.678] for (kk in seq_along(NAMES)) { [18:02:13.678] name <- changed[[kk]] [18:02:13.678] NAME <- NAMES[[kk]] [18:02:13.678] if (name != NAME && is.element(NAME, old_names)) [18:02:13.678] next [18:02:13.678] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.678] } [18:02:13.678] NAMES <- toupper(added) [18:02:13.678] for (kk in seq_along(NAMES)) { [18:02:13.678] name <- added[[kk]] [18:02:13.678] NAME <- NAMES[[kk]] [18:02:13.678] if (name != NAME && is.element(NAME, old_names)) [18:02:13.678] next [18:02:13.678] args[[name]] <- "" [18:02:13.678] } [18:02:13.678] NAMES <- toupper(removed) [18:02:13.678] for (kk in seq_along(NAMES)) { [18:02:13.678] name <- removed[[kk]] [18:02:13.678] NAME <- NAMES[[kk]] [18:02:13.678] if (name != NAME && is.element(NAME, old_names)) [18:02:13.678] next [18:02:13.678] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.678] } [18:02:13.678] if (length(args) > 0) [18:02:13.678] base::do.call(base::Sys.setenv, args = args) [18:02:13.678] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:13.678] } [18:02:13.678] else { [18:02:13.678] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:13.678] } [18:02:13.678] { [18:02:13.678] if (base::length(...future.futureOptionsAdded) > [18:02:13.678] 0L) { [18:02:13.678] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:13.678] base::names(opts) <- ...future.futureOptionsAdded [18:02:13.678] base::options(opts) [18:02:13.678] } [18:02:13.678] { [18:02:13.678] { [18:02:13.678] NULL [18:02:13.678] RNGkind("Mersenne-Twister") [18:02:13.678] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:13.678] inherits = FALSE) [18:02:13.678] } [18:02:13.678] options(future.plan = NULL) [18:02:13.678] if (is.na(NA_character_)) [18:02:13.678] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.678] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:13.678] future::plan(list(function (..., envir = parent.frame()) [18:02:13.678] { [18:02:13.678] future <- SequentialFuture(..., envir = envir) [18:02:13.678] if (!future$lazy) [18:02:13.678] future <- run(future) [18:02:13.678] invisible(future) [18:02:13.678] }), .cleanup = FALSE, .init = FALSE) [18:02:13.678] } [18:02:13.678] } [18:02:13.678] } [18:02:13.678] }) [18:02:13.678] if (TRUE) { [18:02:13.678] base::sink(type = "output", split = FALSE) [18:02:13.678] if (TRUE) { [18:02:13.678] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:13.678] } [18:02:13.678] else { [18:02:13.678] ...future.result["stdout"] <- base::list(NULL) [18:02:13.678] } [18:02:13.678] base::close(...future.stdout) [18:02:13.678] ...future.stdout <- NULL [18:02:13.678] } [18:02:13.678] ...future.result$conditions <- ...future.conditions [18:02:13.678] ...future.result$finished <- base::Sys.time() [18:02:13.678] ...future.result [18:02:13.678] } [18:02:13.682] assign_globals() ... [18:02:13.682] List of 1 [18:02:13.682] $ ii: int 2 [18:02:13.682] - attr(*, "where")=List of 1 [18:02:13.682] ..$ ii: [18:02:13.682] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:13.682] - attr(*, "resolved")= logi FALSE [18:02:13.682] - attr(*, "total_size")= num 56 [18:02:13.685] - copied 'ii' to environment [18:02:13.685] assign_globals() ... done [18:02:13.685] plan(): Setting new future strategy stack: [18:02:13.686] List of future strategies: [18:02:13.686] 1. sequential: [18:02:13.686] - args: function (..., envir = parent.frame()) [18:02:13.686] - tweaked: FALSE [18:02:13.686] - call: NULL [18:02:13.686] plan(): nbrOfWorkers() = 1 [18:02:13.687] plan(): Setting new future strategy stack: [18:02:13.687] List of future strategies: [18:02:13.687] 1. sequential: [18:02:13.687] - args: function (..., envir = parent.frame()) [18:02:13.687] - tweaked: FALSE [18:02:13.687] - call: future::plan("sequential") [18:02:13.688] plan(): nbrOfWorkers() = 1 [18:02:13.688] SequentialFuture started (and completed) *** multisession() - workers inherit .libPaths() [18:02:13.688] getGlobalsAndPackages() ... [18:02:13.689] Searching for globals... [18:02:13.689] - globals found: [1] '.libPaths' [18:02:13.689] Searching for globals ... DONE [18:02:13.690] Resolving globals: FALSE [18:02:13.690] [18:02:13.690] [18:02:13.690] getGlobalsAndPackages() ... DONE [18:02:13.691] run() for 'Future' ... [18:02:13.691] - state: 'created' [18:02:13.691] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:13.692] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:13.692] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:13.692] - Field: 'label' [18:02:13.692] - Field: 'local' [18:02:13.692] - Field: 'owner' [18:02:13.692] - Field: 'envir' [18:02:13.693] - Field: 'packages' [18:02:13.693] - Field: 'gc' [18:02:13.693] - Field: 'conditions' [18:02:13.693] - Field: 'expr' [18:02:13.693] - Field: 'uuid' [18:02:13.694] - Field: 'seed' [18:02:13.694] - Field: 'version' [18:02:13.694] - Field: 'result' [18:02:13.694] - Field: 'asynchronous' [18:02:13.694] - Field: 'calls' [18:02:13.694] - Field: 'globals' [18:02:13.695] - Field: 'stdout' [18:02:13.695] - Field: 'earlySignal' [18:02:13.695] - Field: 'lazy' [18:02:13.695] - Field: 'state' [18:02:13.695] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:13.695] - Launch lazy future ... [18:02:13.696] Packages needed by the future expression (n = 0): [18:02:13.696] Packages needed by future strategies (n = 0): [18:02:13.696] { [18:02:13.696] { [18:02:13.696] { [18:02:13.696] ...future.startTime <- base::Sys.time() [18:02:13.696] { [18:02:13.696] { [18:02:13.696] { [18:02:13.696] base::local({ [18:02:13.696] has_future <- base::requireNamespace("future", [18:02:13.696] quietly = TRUE) [18:02:13.696] if (has_future) { [18:02:13.696] ns <- base::getNamespace("future") [18:02:13.696] version <- ns[[".package"]][["version"]] [18:02:13.696] if (is.null(version)) [18:02:13.696] version <- utils::packageVersion("future") [18:02:13.696] } [18:02:13.696] else { [18:02:13.696] version <- NULL [18:02:13.696] } [18:02:13.696] if (!has_future || version < "1.8.0") { [18:02:13.696] info <- base::c(r_version = base::gsub("R version ", [18:02:13.696] "", base::R.version$version.string), [18:02:13.696] platform = base::sprintf("%s (%s-bit)", [18:02:13.696] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:13.696] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:13.696] "release", "version")], collapse = " "), [18:02:13.696] hostname = base::Sys.info()[["nodename"]]) [18:02:13.696] info <- base::sprintf("%s: %s", base::names(info), [18:02:13.696] info) [18:02:13.696] info <- base::paste(info, collapse = "; ") [18:02:13.696] if (!has_future) { [18:02:13.696] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:13.696] info) [18:02:13.696] } [18:02:13.696] else { [18:02:13.696] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:13.696] info, version) [18:02:13.696] } [18:02:13.696] base::stop(msg) [18:02:13.696] } [18:02:13.696] }) [18:02:13.696] } [18:02:13.696] options(future.plan = NULL) [18:02:13.696] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.696] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:13.696] } [18:02:13.696] ...future.workdir <- getwd() [18:02:13.696] } [18:02:13.696] ...future.oldOptions <- base::as.list(base::.Options) [18:02:13.696] ...future.oldEnvVars <- base::Sys.getenv() [18:02:13.696] } [18:02:13.696] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:13.696] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:13.696] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:13.696] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:13.696] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:13.696] future.stdout.windows.reencode = NULL, width = 80L) [18:02:13.696] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:13.696] base::names(...future.oldOptions)) [18:02:13.696] } [18:02:13.696] if (FALSE) { [18:02:13.696] } [18:02:13.696] else { [18:02:13.696] if (TRUE) { [18:02:13.696] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:13.696] open = "w") [18:02:13.696] } [18:02:13.696] else { [18:02:13.696] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:13.696] windows = "NUL", "/dev/null"), open = "w") [18:02:13.696] } [18:02:13.696] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:13.696] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:13.696] base::sink(type = "output", split = FALSE) [18:02:13.696] base::close(...future.stdout) [18:02:13.696] }, add = TRUE) [18:02:13.696] } [18:02:13.696] ...future.frame <- base::sys.nframe() [18:02:13.696] ...future.conditions <- base::list() [18:02:13.696] ...future.rng <- base::globalenv()$.Random.seed [18:02:13.696] if (FALSE) { [18:02:13.696] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:13.696] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:13.696] } [18:02:13.696] ...future.result <- base::tryCatch({ [18:02:13.696] base::withCallingHandlers({ [18:02:13.696] ...future.value <- base::withVisible(base::local(.libPaths())) [18:02:13.696] future::FutureResult(value = ...future.value$value, [18:02:13.696] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.696] ...future.rng), globalenv = if (FALSE) [18:02:13.696] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:13.696] ...future.globalenv.names)) [18:02:13.696] else NULL, started = ...future.startTime, version = "1.8") [18:02:13.696] }, condition = base::local({ [18:02:13.696] c <- base::c [18:02:13.696] inherits <- base::inherits [18:02:13.696] invokeRestart <- base::invokeRestart [18:02:13.696] length <- base::length [18:02:13.696] list <- base::list [18:02:13.696] seq.int <- base::seq.int [18:02:13.696] signalCondition <- base::signalCondition [18:02:13.696] sys.calls <- base::sys.calls [18:02:13.696] `[[` <- base::`[[` [18:02:13.696] `+` <- base::`+` [18:02:13.696] `<<-` <- base::`<<-` [18:02:13.696] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:13.696] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:13.696] 3L)] [18:02:13.696] } [18:02:13.696] function(cond) { [18:02:13.696] is_error <- inherits(cond, "error") [18:02:13.696] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:13.696] NULL) [18:02:13.696] if (is_error) { [18:02:13.696] sessionInformation <- function() { [18:02:13.696] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:13.696] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:13.696] search = base::search(), system = base::Sys.info()) [18:02:13.696] } [18:02:13.696] ...future.conditions[[length(...future.conditions) + [18:02:13.696] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:13.696] cond$call), session = sessionInformation(), [18:02:13.696] timestamp = base::Sys.time(), signaled = 0L) [18:02:13.696] signalCondition(cond) [18:02:13.696] } [18:02:13.696] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:13.696] "immediateCondition"))) { [18:02:13.696] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:13.696] ...future.conditions[[length(...future.conditions) + [18:02:13.696] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:13.696] if (TRUE && !signal) { [18:02:13.696] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.696] { [18:02:13.696] inherits <- base::inherits [18:02:13.696] invokeRestart <- base::invokeRestart [18:02:13.696] is.null <- base::is.null [18:02:13.696] muffled <- FALSE [18:02:13.696] if (inherits(cond, "message")) { [18:02:13.696] muffled <- grepl(pattern, "muffleMessage") [18:02:13.696] if (muffled) [18:02:13.696] invokeRestart("muffleMessage") [18:02:13.696] } [18:02:13.696] else if (inherits(cond, "warning")) { [18:02:13.696] muffled <- grepl(pattern, "muffleWarning") [18:02:13.696] if (muffled) [18:02:13.696] invokeRestart("muffleWarning") [18:02:13.696] } [18:02:13.696] else if (inherits(cond, "condition")) { [18:02:13.696] if (!is.null(pattern)) { [18:02:13.696] computeRestarts <- base::computeRestarts [18:02:13.696] grepl <- base::grepl [18:02:13.696] restarts <- computeRestarts(cond) [18:02:13.696] for (restart in restarts) { [18:02:13.696] name <- restart$name [18:02:13.696] if (is.null(name)) [18:02:13.696] next [18:02:13.696] if (!grepl(pattern, name)) [18:02:13.696] next [18:02:13.696] invokeRestart(restart) [18:02:13.696] muffled <- TRUE [18:02:13.696] break [18:02:13.696] } [18:02:13.696] } [18:02:13.696] } [18:02:13.696] invisible(muffled) [18:02:13.696] } [18:02:13.696] muffleCondition(cond, pattern = "^muffle") [18:02:13.696] } [18:02:13.696] } [18:02:13.696] else { [18:02:13.696] if (TRUE) { [18:02:13.696] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.696] { [18:02:13.696] inherits <- base::inherits [18:02:13.696] invokeRestart <- base::invokeRestart [18:02:13.696] is.null <- base::is.null [18:02:13.696] muffled <- FALSE [18:02:13.696] if (inherits(cond, "message")) { [18:02:13.696] muffled <- grepl(pattern, "muffleMessage") [18:02:13.696] if (muffled) [18:02:13.696] invokeRestart("muffleMessage") [18:02:13.696] } [18:02:13.696] else if (inherits(cond, "warning")) { [18:02:13.696] muffled <- grepl(pattern, "muffleWarning") [18:02:13.696] if (muffled) [18:02:13.696] invokeRestart("muffleWarning") [18:02:13.696] } [18:02:13.696] else if (inherits(cond, "condition")) { [18:02:13.696] if (!is.null(pattern)) { [18:02:13.696] computeRestarts <- base::computeRestarts [18:02:13.696] grepl <- base::grepl [18:02:13.696] restarts <- computeRestarts(cond) [18:02:13.696] for (restart in restarts) { [18:02:13.696] name <- restart$name [18:02:13.696] if (is.null(name)) [18:02:13.696] next [18:02:13.696] if (!grepl(pattern, name)) [18:02:13.696] next [18:02:13.696] invokeRestart(restart) [18:02:13.696] muffled <- TRUE [18:02:13.696] break [18:02:13.696] } [18:02:13.696] } [18:02:13.696] } [18:02:13.696] invisible(muffled) [18:02:13.696] } [18:02:13.696] muffleCondition(cond, pattern = "^muffle") [18:02:13.696] } [18:02:13.696] } [18:02:13.696] } [18:02:13.696] })) [18:02:13.696] }, error = function(ex) { [18:02:13.696] base::structure(base::list(value = NULL, visible = NULL, [18:02:13.696] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.696] ...future.rng), started = ...future.startTime, [18:02:13.696] finished = Sys.time(), session_uuid = NA_character_, [18:02:13.696] version = "1.8"), class = "FutureResult") [18:02:13.696] }, finally = { [18:02:13.696] if (!identical(...future.workdir, getwd())) [18:02:13.696] setwd(...future.workdir) [18:02:13.696] { [18:02:13.696] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:13.696] ...future.oldOptions$nwarnings <- NULL [18:02:13.696] } [18:02:13.696] base::options(...future.oldOptions) [18:02:13.696] if (.Platform$OS.type == "windows") { [18:02:13.696] old_names <- names(...future.oldEnvVars) [18:02:13.696] envs <- base::Sys.getenv() [18:02:13.696] names <- names(envs) [18:02:13.696] common <- intersect(names, old_names) [18:02:13.696] added <- setdiff(names, old_names) [18:02:13.696] removed <- setdiff(old_names, names) [18:02:13.696] changed <- common[...future.oldEnvVars[common] != [18:02:13.696] envs[common]] [18:02:13.696] NAMES <- toupper(changed) [18:02:13.696] args <- list() [18:02:13.696] for (kk in seq_along(NAMES)) { [18:02:13.696] name <- changed[[kk]] [18:02:13.696] NAME <- NAMES[[kk]] [18:02:13.696] if (name != NAME && is.element(NAME, old_names)) [18:02:13.696] next [18:02:13.696] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.696] } [18:02:13.696] NAMES <- toupper(added) [18:02:13.696] for (kk in seq_along(NAMES)) { [18:02:13.696] name <- added[[kk]] [18:02:13.696] NAME <- NAMES[[kk]] [18:02:13.696] if (name != NAME && is.element(NAME, old_names)) [18:02:13.696] next [18:02:13.696] args[[name]] <- "" [18:02:13.696] } [18:02:13.696] NAMES <- toupper(removed) [18:02:13.696] for (kk in seq_along(NAMES)) { [18:02:13.696] name <- removed[[kk]] [18:02:13.696] NAME <- NAMES[[kk]] [18:02:13.696] if (name != NAME && is.element(NAME, old_names)) [18:02:13.696] next [18:02:13.696] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.696] } [18:02:13.696] if (length(args) > 0) [18:02:13.696] base::do.call(base::Sys.setenv, args = args) [18:02:13.696] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:13.696] } [18:02:13.696] else { [18:02:13.696] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:13.696] } [18:02:13.696] { [18:02:13.696] if (base::length(...future.futureOptionsAdded) > [18:02:13.696] 0L) { [18:02:13.696] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:13.696] base::names(opts) <- ...future.futureOptionsAdded [18:02:13.696] base::options(opts) [18:02:13.696] } [18:02:13.696] { [18:02:13.696] { [18:02:13.696] NULL [18:02:13.696] RNGkind("Mersenne-Twister") [18:02:13.696] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:13.696] inherits = FALSE) [18:02:13.696] } [18:02:13.696] options(future.plan = NULL) [18:02:13.696] if (is.na(NA_character_)) [18:02:13.696] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.696] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:13.696] future::plan(list(function (..., envir = parent.frame()) [18:02:13.696] { [18:02:13.696] future <- SequentialFuture(..., envir = envir) [18:02:13.696] if (!future$lazy) [18:02:13.696] future <- run(future) [18:02:13.696] invisible(future) [18:02:13.696] }), .cleanup = FALSE, .init = FALSE) [18:02:13.696] } [18:02:13.696] } [18:02:13.696] } [18:02:13.696] }) [18:02:13.696] if (TRUE) { [18:02:13.696] base::sink(type = "output", split = FALSE) [18:02:13.696] if (TRUE) { [18:02:13.696] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:13.696] } [18:02:13.696] else { [18:02:13.696] ...future.result["stdout"] <- base::list(NULL) [18:02:13.696] } [18:02:13.696] base::close(...future.stdout) [18:02:13.696] ...future.stdout <- NULL [18:02:13.696] } [18:02:13.696] ...future.result$conditions <- ...future.conditions [18:02:13.696] ...future.result$finished <- base::Sys.time() [18:02:13.696] ...future.result [18:02:13.696] } [18:02:13.700] plan(): Setting new future strategy stack: [18:02:13.701] List of future strategies: [18:02:13.701] 1. sequential: [18:02:13.701] - args: function (..., envir = parent.frame()) [18:02:13.701] - tweaked: FALSE [18:02:13.701] - call: NULL [18:02:13.701] plan(): nbrOfWorkers() = 1 [18:02:13.702] plan(): Setting new future strategy stack: [18:02:13.702] List of future strategies: [18:02:13.702] 1. sequential: [18:02:13.702] - args: function (..., envir = parent.frame()) [18:02:13.702] - tweaked: FALSE [18:02:13.702] - call: future::plan("sequential") [18:02:13.703] plan(): nbrOfWorkers() = 1 [18:02:13.703] SequentialFuture started (and completed) [18:02:13.703] - Launch lazy future ... done [18:02:13.703] run() for 'SequentialFuture' ... done List of 2 $ main : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" $ workers: chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" *** multisession() and errors [18:02:13.707] getGlobalsAndPackages() ... [18:02:13.707] Searching for globals... [18:02:13.708] - globals found: [2] '{', 'stop' [18:02:13.708] Searching for globals ... DONE [18:02:13.708] Resolving globals: FALSE [18:02:13.709] [18:02:13.709] [18:02:13.709] 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: a4012676-0af7-de90-02dc-9e3925928fa1 Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:13.710] Packages needed by the future expression (n = 0): [18:02:13.710] Packages needed by future strategies (n = 0): [18:02:13.711] { [18:02:13.711] { [18:02:13.711] { [18:02:13.711] ...future.startTime <- base::Sys.time() [18:02:13.711] { [18:02:13.711] { [18:02:13.711] { [18:02:13.711] base::local({ [18:02:13.711] has_future <- base::requireNamespace("future", [18:02:13.711] quietly = TRUE) [18:02:13.711] if (has_future) { [18:02:13.711] ns <- base::getNamespace("future") [18:02:13.711] version <- ns[[".package"]][["version"]] [18:02:13.711] if (is.null(version)) [18:02:13.711] version <- utils::packageVersion("future") [18:02:13.711] } [18:02:13.711] else { [18:02:13.711] version <- NULL [18:02:13.711] } [18:02:13.711] if (!has_future || version < "1.8.0") { [18:02:13.711] info <- base::c(r_version = base::gsub("R version ", [18:02:13.711] "", base::R.version$version.string), [18:02:13.711] platform = base::sprintf("%s (%s-bit)", [18:02:13.711] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:13.711] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:13.711] "release", "version")], collapse = " "), [18:02:13.711] hostname = base::Sys.info()[["nodename"]]) [18:02:13.711] info <- base::sprintf("%s: %s", base::names(info), [18:02:13.711] info) [18:02:13.711] info <- base::paste(info, collapse = "; ") [18:02:13.711] if (!has_future) { [18:02:13.711] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:13.711] info) [18:02:13.711] } [18:02:13.711] else { [18:02:13.711] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:13.711] info, version) [18:02:13.711] } [18:02:13.711] base::stop(msg) [18:02:13.711] } [18:02:13.711] }) [18:02:13.711] } [18:02:13.711] options(future.plan = NULL) [18:02:13.711] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.711] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:13.711] } [18:02:13.711] ...future.workdir <- getwd() [18:02:13.711] } [18:02:13.711] ...future.oldOptions <- base::as.list(base::.Options) [18:02:13.711] ...future.oldEnvVars <- base::Sys.getenv() [18:02:13.711] } [18:02:13.711] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:13.711] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:13.711] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:13.711] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:13.711] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:13.711] future.stdout.windows.reencode = NULL, width = 80L) [18:02:13.711] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:13.711] base::names(...future.oldOptions)) [18:02:13.711] } [18:02:13.711] if (FALSE) { [18:02:13.711] } [18:02:13.711] else { [18:02:13.711] if (TRUE) { [18:02:13.711] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:13.711] open = "w") [18:02:13.711] } [18:02:13.711] else { [18:02:13.711] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:13.711] windows = "NUL", "/dev/null"), open = "w") [18:02:13.711] } [18:02:13.711] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:13.711] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:13.711] base::sink(type = "output", split = FALSE) [18:02:13.711] base::close(...future.stdout) [18:02:13.711] }, add = TRUE) [18:02:13.711] } [18:02:13.711] ...future.frame <- base::sys.nframe() [18:02:13.711] ...future.conditions <- base::list() [18:02:13.711] ...future.rng <- base::globalenv()$.Random.seed [18:02:13.711] if (FALSE) { [18:02:13.711] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:13.711] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:13.711] } [18:02:13.711] ...future.result <- base::tryCatch({ [18:02:13.711] base::withCallingHandlers({ [18:02:13.711] ...future.value <- base::withVisible(base::local({ [18:02:13.711] stop("Whoops!") [18:02:13.711] 1 [18:02:13.711] })) [18:02:13.711] future::FutureResult(value = ...future.value$value, [18:02:13.711] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.711] ...future.rng), globalenv = if (FALSE) [18:02:13.711] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:13.711] ...future.globalenv.names)) [18:02:13.711] else NULL, started = ...future.startTime, version = "1.8") [18:02:13.711] }, condition = base::local({ [18:02:13.711] c <- base::c [18:02:13.711] inherits <- base::inherits [18:02:13.711] invokeRestart <- base::invokeRestart [18:02:13.711] length <- base::length [18:02:13.711] list <- base::list [18:02:13.711] seq.int <- base::seq.int [18:02:13.711] signalCondition <- base::signalCondition [18:02:13.711] sys.calls <- base::sys.calls [18:02:13.711] `[[` <- base::`[[` [18:02:13.711] `+` <- base::`+` [18:02:13.711] `<<-` <- base::`<<-` [18:02:13.711] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:13.711] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:13.711] 3L)] [18:02:13.711] } [18:02:13.711] function(cond) { [18:02:13.711] is_error <- inherits(cond, "error") [18:02:13.711] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:13.711] NULL) [18:02:13.711] if (is_error) { [18:02:13.711] sessionInformation <- function() { [18:02:13.711] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:13.711] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:13.711] search = base::search(), system = base::Sys.info()) [18:02:13.711] } [18:02:13.711] ...future.conditions[[length(...future.conditions) + [18:02:13.711] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:13.711] cond$call), session = sessionInformation(), [18:02:13.711] timestamp = base::Sys.time(), signaled = 0L) [18:02:13.711] signalCondition(cond) [18:02:13.711] } [18:02:13.711] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:13.711] "immediateCondition"))) { [18:02:13.711] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:13.711] ...future.conditions[[length(...future.conditions) + [18:02:13.711] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:13.711] if (TRUE && !signal) { [18:02:13.711] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.711] { [18:02:13.711] inherits <- base::inherits [18:02:13.711] invokeRestart <- base::invokeRestart [18:02:13.711] is.null <- base::is.null [18:02:13.711] muffled <- FALSE [18:02:13.711] if (inherits(cond, "message")) { [18:02:13.711] muffled <- grepl(pattern, "muffleMessage") [18:02:13.711] if (muffled) [18:02:13.711] invokeRestart("muffleMessage") [18:02:13.711] } [18:02:13.711] else if (inherits(cond, "warning")) { [18:02:13.711] muffled <- grepl(pattern, "muffleWarning") [18:02:13.711] if (muffled) [18:02:13.711] invokeRestart("muffleWarning") [18:02:13.711] } [18:02:13.711] else if (inherits(cond, "condition")) { [18:02:13.711] if (!is.null(pattern)) { [18:02:13.711] computeRestarts <- base::computeRestarts [18:02:13.711] grepl <- base::grepl [18:02:13.711] restarts <- computeRestarts(cond) [18:02:13.711] for (restart in restarts) { [18:02:13.711] name <- restart$name [18:02:13.711] if (is.null(name)) [18:02:13.711] next [18:02:13.711] if (!grepl(pattern, name)) [18:02:13.711] next [18:02:13.711] invokeRestart(restart) [18:02:13.711] muffled <- TRUE [18:02:13.711] break [18:02:13.711] } [18:02:13.711] } [18:02:13.711] } [18:02:13.711] invisible(muffled) [18:02:13.711] } [18:02:13.711] muffleCondition(cond, pattern = "^muffle") [18:02:13.711] } [18:02:13.711] } [18:02:13.711] else { [18:02:13.711] if (TRUE) { [18:02:13.711] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.711] { [18:02:13.711] inherits <- base::inherits [18:02:13.711] invokeRestart <- base::invokeRestart [18:02:13.711] is.null <- base::is.null [18:02:13.711] muffled <- FALSE [18:02:13.711] if (inherits(cond, "message")) { [18:02:13.711] muffled <- grepl(pattern, "muffleMessage") [18:02:13.711] if (muffled) [18:02:13.711] invokeRestart("muffleMessage") [18:02:13.711] } [18:02:13.711] else if (inherits(cond, "warning")) { [18:02:13.711] muffled <- grepl(pattern, "muffleWarning") [18:02:13.711] if (muffled) [18:02:13.711] invokeRestart("muffleWarning") [18:02:13.711] } [18:02:13.711] else if (inherits(cond, "condition")) { [18:02:13.711] if (!is.null(pattern)) { [18:02:13.711] computeRestarts <- base::computeRestarts [18:02:13.711] grepl <- base::grepl [18:02:13.711] restarts <- computeRestarts(cond) [18:02:13.711] for (restart in restarts) { [18:02:13.711] name <- restart$name [18:02:13.711] if (is.null(name)) [18:02:13.711] next [18:02:13.711] if (!grepl(pattern, name)) [18:02:13.711] next [18:02:13.711] invokeRestart(restart) [18:02:13.711] muffled <- TRUE [18:02:13.711] break [18:02:13.711] } [18:02:13.711] } [18:02:13.711] } [18:02:13.711] invisible(muffled) [18:02:13.711] } [18:02:13.711] muffleCondition(cond, pattern = "^muffle") [18:02:13.711] } [18:02:13.711] } [18:02:13.711] } [18:02:13.711] })) [18:02:13.711] }, error = function(ex) { [18:02:13.711] base::structure(base::list(value = NULL, visible = NULL, [18:02:13.711] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.711] ...future.rng), started = ...future.startTime, [18:02:13.711] finished = Sys.time(), session_uuid = NA_character_, [18:02:13.711] version = "1.8"), class = "FutureResult") [18:02:13.711] }, finally = { [18:02:13.711] if (!identical(...future.workdir, getwd())) [18:02:13.711] setwd(...future.workdir) [18:02:13.711] { [18:02:13.711] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:13.711] ...future.oldOptions$nwarnings <- NULL [18:02:13.711] } [18:02:13.711] base::options(...future.oldOptions) [18:02:13.711] if (.Platform$OS.type == "windows") { [18:02:13.711] old_names <- names(...future.oldEnvVars) [18:02:13.711] envs <- base::Sys.getenv() [18:02:13.711] names <- names(envs) [18:02:13.711] common <- intersect(names, old_names) [18:02:13.711] added <- setdiff(names, old_names) [18:02:13.711] removed <- setdiff(old_names, names) [18:02:13.711] changed <- common[...future.oldEnvVars[common] != [18:02:13.711] envs[common]] [18:02:13.711] NAMES <- toupper(changed) [18:02:13.711] args <- list() [18:02:13.711] for (kk in seq_along(NAMES)) { [18:02:13.711] name <- changed[[kk]] [18:02:13.711] NAME <- NAMES[[kk]] [18:02:13.711] if (name != NAME && is.element(NAME, old_names)) [18:02:13.711] next [18:02:13.711] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.711] } [18:02:13.711] NAMES <- toupper(added) [18:02:13.711] for (kk in seq_along(NAMES)) { [18:02:13.711] name <- added[[kk]] [18:02:13.711] NAME <- NAMES[[kk]] [18:02:13.711] if (name != NAME && is.element(NAME, old_names)) [18:02:13.711] next [18:02:13.711] args[[name]] <- "" [18:02:13.711] } [18:02:13.711] NAMES <- toupper(removed) [18:02:13.711] for (kk in seq_along(NAMES)) { [18:02:13.711] name <- removed[[kk]] [18:02:13.711] NAME <- NAMES[[kk]] [18:02:13.711] if (name != NAME && is.element(NAME, old_names)) [18:02:13.711] next [18:02:13.711] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.711] } [18:02:13.711] if (length(args) > 0) [18:02:13.711] base::do.call(base::Sys.setenv, args = args) [18:02:13.711] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:13.711] } [18:02:13.711] else { [18:02:13.711] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:13.711] } [18:02:13.711] { [18:02:13.711] if (base::length(...future.futureOptionsAdded) > [18:02:13.711] 0L) { [18:02:13.711] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:13.711] base::names(opts) <- ...future.futureOptionsAdded [18:02:13.711] base::options(opts) [18:02:13.711] } [18:02:13.711] { [18:02:13.711] { [18:02:13.711] NULL [18:02:13.711] RNGkind("Mersenne-Twister") [18:02:13.711] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:13.711] inherits = FALSE) [18:02:13.711] } [18:02:13.711] options(future.plan = NULL) [18:02:13.711] if (is.na(NA_character_)) [18:02:13.711] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.711] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:13.711] future::plan(list(function (..., envir = parent.frame()) [18:02:13.711] { [18:02:13.711] future <- SequentialFuture(..., envir = envir) [18:02:13.711] if (!future$lazy) [18:02:13.711] future <- run(future) [18:02:13.711] invisible(future) [18:02:13.711] }), .cleanup = FALSE, .init = FALSE) [18:02:13.711] } [18:02:13.711] } [18:02:13.711] } [18:02:13.711] }) [18:02:13.711] if (TRUE) { [18:02:13.711] base::sink(type = "output", split = FALSE) [18:02:13.711] if (TRUE) { [18:02:13.711] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:13.711] } [18:02:13.711] else { [18:02:13.711] ...future.result["stdout"] <- base::list(NULL) [18:02:13.711] } [18:02:13.711] base::close(...future.stdout) [18:02:13.711] ...future.stdout <- NULL [18:02:13.711] } [18:02:13.711] ...future.result$conditions <- ...future.conditions [18:02:13.711] ...future.result$finished <- base::Sys.time() [18:02:13.711] ...future.result [18:02:13.711] } [18:02:13.714] plan(): Setting new future strategy stack: [18:02:13.715] List of future strategies: [18:02:13.715] 1. sequential: [18:02:13.715] - args: function (..., envir = parent.frame()) [18:02:13.715] - tweaked: FALSE [18:02:13.715] - call: NULL [18:02:13.715] plan(): nbrOfWorkers() = 1 [18:02:13.717] plan(): Setting new future strategy stack: [18:02:13.717] List of future strategies: [18:02:13.717] 1. sequential: [18:02:13.717] - args: function (..., envir = parent.frame()) [18:02:13.717] - tweaked: FALSE [18:02:13.717] - call: future::plan("sequential") [18:02:13.717] plan(): nbrOfWorkers() = 1 [18:02:13.718] SequentialFuture started (and completed) [18:02:13.718] signalConditions() ... [18:02:13.718] - include = 'immediateCondition' [18:02:13.718] - exclude = [18:02:13.718] - resignal = FALSE [18:02:13.718] - Number of conditions: 1 [18:02:13.719] signalConditions() ... done [18:02:13.719] signalConditions() ... [18:02:13.719] - include = 'immediateCondition' [18:02:13.719] - exclude = [18:02:13.719] - resignal = FALSE [18:02:13.719] - Number of conditions: 1 [18:02:13.720] signalConditions() ... done [18:02:13.720] signalConditions() ... [18:02:13.720] - include = 'immediateCondition' [18:02:13.720] - exclude = [18:02:13.721] - resignal = FALSE [18:02:13.721] - Number of conditions: 1 [18:02:13.721] signalConditions() ... done [18:02:13.721] Future state: 'finished' [18:02:13.721] signalConditions() ... [18:02:13.722] - include = 'condition' [18:02:13.723] - exclude = 'immediateCondition' [18:02:13.723] - resignal = TRUE [18:02:13.723] - Number of conditions: 1 [18:02:13.723] - Condition #1: 'simpleError', 'error', 'condition' [18:02:13.723] signalConditions() ... done [1] "Error in eval(quote({ : Whoops!\n" attr(,"class") [1] "try-error" attr(,"condition") [18:02:13.724] signalConditions() ... [18:02:13.724] - include = 'immediateCondition' [18:02:13.724] - exclude = [18:02:13.724] - resignal = FALSE [18:02:13.725] - Number of conditions: 1 [18:02:13.725] signalConditions() ... done [18:02:13.725] Future state: 'finished' [18:02:13.725] signalConditions() ... [18:02:13.725] - include = 'condition' [18:02:13.725] - exclude = 'immediateCondition' [18:02:13.726] - resignal = TRUE [18:02:13.726] - Number of conditions: 1 [18:02:13.726] - Condition #1: 'simpleError', 'error', 'condition' [18:02:13.726] signalConditions() ... done [1] "Error in eval(quote({ : Whoops!\n" attr(,"class") [1] "try-error" attr(,"condition") [18:02:13.729] getGlobalsAndPackages() ... [18:02:13.729] Searching for globals... [18:02:13.730] - globals found: [5] '{', 'stop', 'structure', 'list', 'c' [18:02:13.730] Searching for globals ... DONE [18:02:13.731] Resolving globals: FALSE [18:02:13.731] [18:02:13.731] [18:02:13.731] 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: a4012676-0af7-de90-02dc-9e3925928fa1 Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:13.732] Packages needed by the future expression (n = 0): [18:02:13.732] Packages needed by future strategies (n = 0): [18:02:13.733] { [18:02:13.733] { [18:02:13.733] { [18:02:13.733] ...future.startTime <- base::Sys.time() [18:02:13.733] { [18:02:13.733] { [18:02:13.733] { [18:02:13.733] base::local({ [18:02:13.733] has_future <- base::requireNamespace("future", [18:02:13.733] quietly = TRUE) [18:02:13.733] if (has_future) { [18:02:13.733] ns <- base::getNamespace("future") [18:02:13.733] version <- ns[[".package"]][["version"]] [18:02:13.733] if (is.null(version)) [18:02:13.733] version <- utils::packageVersion("future") [18:02:13.733] } [18:02:13.733] else { [18:02:13.733] version <- NULL [18:02:13.733] } [18:02:13.733] if (!has_future || version < "1.8.0") { [18:02:13.733] info <- base::c(r_version = base::gsub("R version ", [18:02:13.733] "", base::R.version$version.string), [18:02:13.733] platform = base::sprintf("%s (%s-bit)", [18:02:13.733] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:13.733] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:13.733] "release", "version")], collapse = " "), [18:02:13.733] hostname = base::Sys.info()[["nodename"]]) [18:02:13.733] info <- base::sprintf("%s: %s", base::names(info), [18:02:13.733] info) [18:02:13.733] info <- base::paste(info, collapse = "; ") [18:02:13.733] if (!has_future) { [18:02:13.733] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:13.733] info) [18:02:13.733] } [18:02:13.733] else { [18:02:13.733] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:13.733] info, version) [18:02:13.733] } [18:02:13.733] base::stop(msg) [18:02:13.733] } [18:02:13.733] }) [18:02:13.733] } [18:02:13.733] options(future.plan = NULL) [18:02:13.733] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.733] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:13.733] } [18:02:13.733] ...future.workdir <- getwd() [18:02:13.733] } [18:02:13.733] ...future.oldOptions <- base::as.list(base::.Options) [18:02:13.733] ...future.oldEnvVars <- base::Sys.getenv() [18:02:13.733] } [18:02:13.733] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:13.733] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:13.733] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:13.733] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:13.733] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:13.733] future.stdout.windows.reencode = NULL, width = 80L) [18:02:13.733] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:13.733] base::names(...future.oldOptions)) [18:02:13.733] } [18:02:13.733] if (FALSE) { [18:02:13.733] } [18:02:13.733] else { [18:02:13.733] if (TRUE) { [18:02:13.733] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:13.733] open = "w") [18:02:13.733] } [18:02:13.733] else { [18:02:13.733] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:13.733] windows = "NUL", "/dev/null"), open = "w") [18:02:13.733] } [18:02:13.733] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:13.733] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:13.733] base::sink(type = "output", split = FALSE) [18:02:13.733] base::close(...future.stdout) [18:02:13.733] }, add = TRUE) [18:02:13.733] } [18:02:13.733] ...future.frame <- base::sys.nframe() [18:02:13.733] ...future.conditions <- base::list() [18:02:13.733] ...future.rng <- base::globalenv()$.Random.seed [18:02:13.733] if (FALSE) { [18:02:13.733] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:13.733] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:13.733] } [18:02:13.733] ...future.result <- base::tryCatch({ [18:02:13.733] base::withCallingHandlers({ [18:02:13.733] ...future.value <- base::withVisible(base::local({ [18:02:13.733] stop(structure(list(message = "boom"), class = c("MyError", [18:02:13.733] "error", "condition"))) [18:02:13.733] })) [18:02:13.733] future::FutureResult(value = ...future.value$value, [18:02:13.733] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.733] ...future.rng), globalenv = if (FALSE) [18:02:13.733] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:13.733] ...future.globalenv.names)) [18:02:13.733] else NULL, started = ...future.startTime, version = "1.8") [18:02:13.733] }, condition = base::local({ [18:02:13.733] c <- base::c [18:02:13.733] inherits <- base::inherits [18:02:13.733] invokeRestart <- base::invokeRestart [18:02:13.733] length <- base::length [18:02:13.733] list <- base::list [18:02:13.733] seq.int <- base::seq.int [18:02:13.733] signalCondition <- base::signalCondition [18:02:13.733] sys.calls <- base::sys.calls [18:02:13.733] `[[` <- base::`[[` [18:02:13.733] `+` <- base::`+` [18:02:13.733] `<<-` <- base::`<<-` [18:02:13.733] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:13.733] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:13.733] 3L)] [18:02:13.733] } [18:02:13.733] function(cond) { [18:02:13.733] is_error <- inherits(cond, "error") [18:02:13.733] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:13.733] NULL) [18:02:13.733] if (is_error) { [18:02:13.733] sessionInformation <- function() { [18:02:13.733] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:13.733] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:13.733] search = base::search(), system = base::Sys.info()) [18:02:13.733] } [18:02:13.733] ...future.conditions[[length(...future.conditions) + [18:02:13.733] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:13.733] cond$call), session = sessionInformation(), [18:02:13.733] timestamp = base::Sys.time(), signaled = 0L) [18:02:13.733] signalCondition(cond) [18:02:13.733] } [18:02:13.733] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:13.733] "immediateCondition"))) { [18:02:13.733] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:13.733] ...future.conditions[[length(...future.conditions) + [18:02:13.733] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:13.733] if (TRUE && !signal) { [18:02:13.733] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.733] { [18:02:13.733] inherits <- base::inherits [18:02:13.733] invokeRestart <- base::invokeRestart [18:02:13.733] is.null <- base::is.null [18:02:13.733] muffled <- FALSE [18:02:13.733] if (inherits(cond, "message")) { [18:02:13.733] muffled <- grepl(pattern, "muffleMessage") [18:02:13.733] if (muffled) [18:02:13.733] invokeRestart("muffleMessage") [18:02:13.733] } [18:02:13.733] else if (inherits(cond, "warning")) { [18:02:13.733] muffled <- grepl(pattern, "muffleWarning") [18:02:13.733] if (muffled) [18:02:13.733] invokeRestart("muffleWarning") [18:02:13.733] } [18:02:13.733] else if (inherits(cond, "condition")) { [18:02:13.733] if (!is.null(pattern)) { [18:02:13.733] computeRestarts <- base::computeRestarts [18:02:13.733] grepl <- base::grepl [18:02:13.733] restarts <- computeRestarts(cond) [18:02:13.733] for (restart in restarts) { [18:02:13.733] name <- restart$name [18:02:13.733] if (is.null(name)) [18:02:13.733] next [18:02:13.733] if (!grepl(pattern, name)) [18:02:13.733] next [18:02:13.733] invokeRestart(restart) [18:02:13.733] muffled <- TRUE [18:02:13.733] break [18:02:13.733] } [18:02:13.733] } [18:02:13.733] } [18:02:13.733] invisible(muffled) [18:02:13.733] } [18:02:13.733] muffleCondition(cond, pattern = "^muffle") [18:02:13.733] } [18:02:13.733] } [18:02:13.733] else { [18:02:13.733] if (TRUE) { [18:02:13.733] muffleCondition <- function (cond, pattern = "^muffle") [18:02:13.733] { [18:02:13.733] inherits <- base::inherits [18:02:13.733] invokeRestart <- base::invokeRestart [18:02:13.733] is.null <- base::is.null [18:02:13.733] muffled <- FALSE [18:02:13.733] if (inherits(cond, "message")) { [18:02:13.733] muffled <- grepl(pattern, "muffleMessage") [18:02:13.733] if (muffled) [18:02:13.733] invokeRestart("muffleMessage") [18:02:13.733] } [18:02:13.733] else if (inherits(cond, "warning")) { [18:02:13.733] muffled <- grepl(pattern, "muffleWarning") [18:02:13.733] if (muffled) [18:02:13.733] invokeRestart("muffleWarning") [18:02:13.733] } [18:02:13.733] else if (inherits(cond, "condition")) { [18:02:13.733] if (!is.null(pattern)) { [18:02:13.733] computeRestarts <- base::computeRestarts [18:02:13.733] grepl <- base::grepl [18:02:13.733] restarts <- computeRestarts(cond) [18:02:13.733] for (restart in restarts) { [18:02:13.733] name <- restart$name [18:02:13.733] if (is.null(name)) [18:02:13.733] next [18:02:13.733] if (!grepl(pattern, name)) [18:02:13.733] next [18:02:13.733] invokeRestart(restart) [18:02:13.733] muffled <- TRUE [18:02:13.733] break [18:02:13.733] } [18:02:13.733] } [18:02:13.733] } [18:02:13.733] invisible(muffled) [18:02:13.733] } [18:02:13.733] muffleCondition(cond, pattern = "^muffle") [18:02:13.733] } [18:02:13.733] } [18:02:13.733] } [18:02:13.733] })) [18:02:13.733] }, error = function(ex) { [18:02:13.733] base::structure(base::list(value = NULL, visible = NULL, [18:02:13.733] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:13.733] ...future.rng), started = ...future.startTime, [18:02:13.733] finished = Sys.time(), session_uuid = NA_character_, [18:02:13.733] version = "1.8"), class = "FutureResult") [18:02:13.733] }, finally = { [18:02:13.733] if (!identical(...future.workdir, getwd())) [18:02:13.733] setwd(...future.workdir) [18:02:13.733] { [18:02:13.733] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:13.733] ...future.oldOptions$nwarnings <- NULL [18:02:13.733] } [18:02:13.733] base::options(...future.oldOptions) [18:02:13.733] if (.Platform$OS.type == "windows") { [18:02:13.733] old_names <- names(...future.oldEnvVars) [18:02:13.733] envs <- base::Sys.getenv() [18:02:13.733] names <- names(envs) [18:02:13.733] common <- intersect(names, old_names) [18:02:13.733] added <- setdiff(names, old_names) [18:02:13.733] removed <- setdiff(old_names, names) [18:02:13.733] changed <- common[...future.oldEnvVars[common] != [18:02:13.733] envs[common]] [18:02:13.733] NAMES <- toupper(changed) [18:02:13.733] args <- list() [18:02:13.733] for (kk in seq_along(NAMES)) { [18:02:13.733] name <- changed[[kk]] [18:02:13.733] NAME <- NAMES[[kk]] [18:02:13.733] if (name != NAME && is.element(NAME, old_names)) [18:02:13.733] next [18:02:13.733] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.733] } [18:02:13.733] NAMES <- toupper(added) [18:02:13.733] for (kk in seq_along(NAMES)) { [18:02:13.733] name <- added[[kk]] [18:02:13.733] NAME <- NAMES[[kk]] [18:02:13.733] if (name != NAME && is.element(NAME, old_names)) [18:02:13.733] next [18:02:13.733] args[[name]] <- "" [18:02:13.733] } [18:02:13.733] NAMES <- toupper(removed) [18:02:13.733] for (kk in seq_along(NAMES)) { [18:02:13.733] name <- removed[[kk]] [18:02:13.733] NAME <- NAMES[[kk]] [18:02:13.733] if (name != NAME && is.element(NAME, old_names)) [18:02:13.733] next [18:02:13.733] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:13.733] } [18:02:13.733] if (length(args) > 0) [18:02:13.733] base::do.call(base::Sys.setenv, args = args) [18:02:13.733] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:13.733] } [18:02:13.733] else { [18:02:13.733] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:13.733] } [18:02:13.733] { [18:02:13.733] if (base::length(...future.futureOptionsAdded) > [18:02:13.733] 0L) { [18:02:13.733] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:13.733] base::names(opts) <- ...future.futureOptionsAdded [18:02:13.733] base::options(opts) [18:02:13.733] } [18:02:13.733] { [18:02:13.733] { [18:02:13.733] NULL [18:02:13.733] RNGkind("Mersenne-Twister") [18:02:13.733] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:13.733] inherits = FALSE) [18:02:13.733] } [18:02:13.733] options(future.plan = NULL) [18:02:13.733] if (is.na(NA_character_)) [18:02:13.733] Sys.unsetenv("R_FUTURE_PLAN") [18:02:13.733] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:13.733] future::plan(list(function (..., envir = parent.frame()) [18:02:13.733] { [18:02:13.733] future <- SequentialFuture(..., envir = envir) [18:02:13.733] if (!future$lazy) [18:02:13.733] future <- run(future) [18:02:13.733] invisible(future) [18:02:13.733] }), .cleanup = FALSE, .init = FALSE) [18:02:13.733] } [18:02:13.733] } [18:02:13.733] } [18:02:13.733] }) [18:02:13.733] if (TRUE) { [18:02:13.733] base::sink(type = "output", split = FALSE) [18:02:13.733] if (TRUE) { [18:02:13.733] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:13.733] } [18:02:13.733] else { [18:02:13.733] ...future.result["stdout"] <- base::list(NULL) [18:02:13.733] } [18:02:13.733] base::close(...future.stdout) [18:02:13.733] ...future.stdout <- NULL [18:02:13.733] } [18:02:13.733] ...future.result$conditions <- ...future.conditions [18:02:13.733] ...future.result$finished <- base::Sys.time() [18:02:13.733] ...future.result [18:02:13.733] } [18:02:13.737] plan(): Setting new future strategy stack: [18:02:13.737] List of future strategies: [18:02:13.737] 1. sequential: [18:02:13.737] - args: function (..., envir = parent.frame()) [18:02:13.737] - tweaked: FALSE [18:02:13.737] - call: NULL [18:02:13.738] plan(): nbrOfWorkers() = 1 [18:02:13.739] plan(): Setting new future strategy stack: [18:02:13.739] List of future strategies: [18:02:13.739] 1. sequential: [18:02:13.739] - args: function (..., envir = parent.frame()) [18:02:13.739] - tweaked: FALSE [18:02:13.739] - call: future::plan("sequential") [18:02:13.740] plan(): nbrOfWorkers() = 1 [18:02:13.740] SequentialFuture started (and completed) [18:02:13.740] signalConditions() ... [18:02:13.740] - include = 'immediateCondition' [18:02:13.740] - exclude = [18:02:13.741] - resignal = FALSE [18:02:13.741] - Number of conditions: 1 [18:02:13.741] signalConditions() ... done [18:02:13.741] signalConditions() ... [18:02:13.741] - include = 'immediateCondition' [18:02:13.741] - exclude = [18:02:13.742] - resignal = FALSE [18:02:13.742] - Number of conditions: 1 [18:02:13.742] signalConditions() ... done [18:02:13.742] signalConditions() ... [18:02:13.742] - include = 'immediateCondition' [18:02:13.743] - exclude = [18:02:13.743] - resignal = FALSE [18:02:13.743] - Number of conditions: 1 [18:02:13.743] signalConditions() ... done [18:02:13.743] Future state: 'finished' [18:02:13.743] signalConditions() ... [18:02:13.744] - include = 'condition' [18:02:13.744] - exclude = 'immediateCondition' [18:02:13.744] - resignal = TRUE [18:02:13.744] - Number of conditions: 1 [18:02:13.744] - Condition #1: 'MyError', 'error', 'condition' [18:02:13.744] signalConditions() ... done Testing with 1 cores ... DONE Testing with 2 cores ... [18:02:13.749] getGlobalsAndPackages() ... [18:02:13.749] [18:02:13.749] - globals: [0] [18:02:13.749] getGlobalsAndPackages() ... DONE [18:02:13.750] [local output] makeClusterPSOCK() ... [18:02:13.780] [local output] Workers: [n = 2] 'localhost', 'localhost' [18:02:13.787] [local output] Base port: 22670 [18:02:13.787] [local output] Getting setup options for 2 cluster nodes ... [18:02:13.787] [local output] - Node 1 of 2 ... [18:02:13.787] [local output] localMachine=TRUE => revtunnel=FALSE [18:02:13.789] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpyeX7Iz/worker.rank=1.parallelly.parent=33724.83bc3ba96ab9.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/RtmpyeX7Iz/worker.rank=1.parallelly.parent=33724.83bc3ba96ab9.pid\")"' [18:02:14.230] - Possible to infer worker's PID: TRUE [18:02:14.231] [local output] Rscript port: 22670 [18:02:14.231] [local output] - Node 2 of 2 ... [18:02:14.232] [local output] localMachine=TRUE => revtunnel=FALSE [18:02:14.233] [local output] Rscript port: 22670 [18:02:14.233] [local output] Getting setup options for 2 cluster nodes ... done [18:02:14.234] [local output] - Parallel setup requested for some PSOCK nodes [18:02:14.234] [local output] Setting up PSOCK nodes in parallel [18:02:14.235] List of 36 [18:02:14.235] $ worker : chr "localhost" [18:02:14.235] ..- attr(*, "localhost")= logi TRUE [18:02:14.235] $ master : chr "localhost" [18:02:14.235] $ port : int 22670 [18:02:14.235] $ connectTimeout : num 120 [18:02:14.235] $ timeout : num 120 [18:02:14.235] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [18:02:14.235] $ homogeneous : logi TRUE [18:02:14.235] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=multisession.R:33724:CRANWIN3:CR"| __truncated__ [18:02:14.235] $ rscript_envs : NULL [18:02:14.235] $ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:02:14.235] $ rscript_startup : NULL [18:02:14.235] $ rscript_sh : chr "cmd" [18:02:14.235] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:02:14.235] $ methods : logi TRUE [18:02:14.235] $ socketOptions : chr "no-delay" [18:02:14.235] $ useXDR : logi FALSE [18:02:14.235] $ outfile : chr "/dev/null" [18:02:14.235] $ renice : int NA [18:02:14.235] $ rshcmd : NULL [18:02:14.235] $ user : chr(0) [18:02:14.235] $ revtunnel : logi FALSE [18:02:14.235] $ rshlogfile : NULL [18:02:14.235] $ rshopts : chr(0) [18:02:14.235] $ rank : int 1 [18:02:14.235] $ manual : logi FALSE [18:02:14.235] $ dryrun : logi FALSE [18:02:14.235] $ quiet : logi FALSE [18:02:14.235] $ setup_strategy : chr "parallel" [18:02:14.235] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:02:14.235] $ pidfile : chr "D:/temp/RtmpyeX7Iz/worker.rank=1.parallelly.parent=33724.83bc3ba96ab9.pid" [18:02:14.235] $ rshcmd_label : NULL [18:02:14.235] $ rsh_call : NULL [18:02:14.235] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:02:14.235] $ localMachine : logi TRUE [18:02:14.235] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [18:02:14.235] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [18:02:14.235] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [18:02:14.235] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [18:02:14.235] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [18:02:14.235] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [18:02:14.235] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [18:02:14.235] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [18:02:14.235] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [18:02:14.235] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [18:02:14.235] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [18:02:14.235] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [18:02:14.235] "parallel"), action = c("launch", "options"), verbose = FALSE) [18:02:14.235] $ arguments :List of 28 [18:02:14.235] ..$ worker : chr "localhost" [18:02:14.235] ..$ master : NULL [18:02:14.235] ..$ port : int 22670 [18:02:14.235] ..$ connectTimeout : num 120 [18:02:14.235] ..$ timeout : num 120 [18:02:14.235] ..$ rscript : NULL [18:02:14.235] ..$ homogeneous : NULL [18:02:14.235] ..$ rscript_args : NULL [18:02:14.235] ..$ rscript_envs : NULL [18:02:14.235] ..$ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:02:14.235] ..$ rscript_startup : NULL [18:02:14.235] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [18:02:14.235] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:02:14.235] ..$ methods : logi TRUE [18:02:14.235] ..$ socketOptions : chr "no-delay" [18:02:14.235] ..$ useXDR : logi FALSE [18:02:14.235] ..$ outfile : chr "/dev/null" [18:02:14.235] ..$ renice : int NA [18:02:14.235] ..$ rshcmd : NULL [18:02:14.235] ..$ user : NULL [18:02:14.235] ..$ revtunnel : logi NA [18:02:14.235] ..$ rshlogfile : NULL [18:02:14.235] ..$ rshopts : NULL [18:02:14.235] ..$ rank : int 1 [18:02:14.235] ..$ manual : logi FALSE [18:02:14.235] ..$ dryrun : logi FALSE [18:02:14.235] ..$ quiet : logi FALSE [18:02:14.235] ..$ setup_strategy : chr "parallel" [18:02:14.235] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [18:02:14.256] [local output] System call to launch all workers: [18:02:14.256] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=multisession.R:33724:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpyeX7Iz/worker.rank=1.parallelly.parent=33724.83bc3ba96ab9.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=22670 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [18:02:14.256] [local output] Starting PSOCK main server [18:02:14.266] [local output] Workers launched [18:02:14.267] [local output] Waiting for workers to connect back [18:02:14.267] - [local output] 0 workers out of 2 ready [18:02:14.436] - [local output] 0 workers out of 2 ready [18:02:14.437] - [local output] 1 workers out of 2 ready [18:02:14.437] - [local output] 2 workers out of 2 ready [18:02:14.437] [local output] Launching of workers completed [18:02:14.438] [local output] Collecting session information from workers [18:02:14.439] [local output] - Worker #1 of 2 [18:02:14.439] [local output] - Worker #2 of 2 [18:02:14.439] [local output] makeClusterPSOCK() ... done [18:02:14.452] Packages needed by the future expression (n = 0): [18:02:14.452] Packages needed by future strategies (n = 0): [18:02:14.453] { [18:02:14.453] { [18:02:14.453] { [18:02:14.453] ...future.startTime <- base::Sys.time() [18:02:14.453] { [18:02:14.453] { [18:02:14.453] { [18:02:14.453] { [18:02:14.453] base::local({ [18:02:14.453] has_future <- base::requireNamespace("future", [18:02:14.453] quietly = TRUE) [18:02:14.453] if (has_future) { [18:02:14.453] ns <- base::getNamespace("future") [18:02:14.453] version <- ns[[".package"]][["version"]] [18:02:14.453] if (is.null(version)) [18:02:14.453] version <- utils::packageVersion("future") [18:02:14.453] } [18:02:14.453] else { [18:02:14.453] version <- NULL [18:02:14.453] } [18:02:14.453] if (!has_future || version < "1.8.0") { [18:02:14.453] info <- base::c(r_version = base::gsub("R version ", [18:02:14.453] "", base::R.version$version.string), [18:02:14.453] platform = base::sprintf("%s (%s-bit)", [18:02:14.453] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:14.453] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:14.453] "release", "version")], collapse = " "), [18:02:14.453] hostname = base::Sys.info()[["nodename"]]) [18:02:14.453] info <- base::sprintf("%s: %s", base::names(info), [18:02:14.453] info) [18:02:14.453] info <- base::paste(info, collapse = "; ") [18:02:14.453] if (!has_future) { [18:02:14.453] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:14.453] info) [18:02:14.453] } [18:02:14.453] else { [18:02:14.453] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:14.453] info, version) [18:02:14.453] } [18:02:14.453] base::stop(msg) [18:02:14.453] } [18:02:14.453] }) [18:02:14.453] } [18:02:14.453] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:14.453] base::options(mc.cores = 1L) [18:02:14.453] } [18:02:14.453] options(future.plan = NULL) [18:02:14.453] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.453] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:14.453] } [18:02:14.453] ...future.workdir <- getwd() [18:02:14.453] } [18:02:14.453] ...future.oldOptions <- base::as.list(base::.Options) [18:02:14.453] ...future.oldEnvVars <- base::Sys.getenv() [18:02:14.453] } [18:02:14.453] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:14.453] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:14.453] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:14.453] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:14.453] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:14.453] future.stdout.windows.reencode = NULL, width = 80L) [18:02:14.453] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:14.453] base::names(...future.oldOptions)) [18:02:14.453] } [18:02:14.453] if (FALSE) { [18:02:14.453] } [18:02:14.453] else { [18:02:14.453] if (TRUE) { [18:02:14.453] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:14.453] open = "w") [18:02:14.453] } [18:02:14.453] else { [18:02:14.453] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:14.453] windows = "NUL", "/dev/null"), open = "w") [18:02:14.453] } [18:02:14.453] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:14.453] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:14.453] base::sink(type = "output", split = FALSE) [18:02:14.453] base::close(...future.stdout) [18:02:14.453] }, add = TRUE) [18:02:14.453] } [18:02:14.453] ...future.frame <- base::sys.nframe() [18:02:14.453] ...future.conditions <- base::list() [18:02:14.453] ...future.rng <- base::globalenv()$.Random.seed [18:02:14.453] if (FALSE) { [18:02:14.453] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:14.453] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:14.453] } [18:02:14.453] ...future.result <- base::tryCatch({ [18:02:14.453] base::withCallingHandlers({ [18:02:14.453] ...future.value <- base::withVisible(base::local({ [18:02:14.453] ...future.makeSendCondition <- local({ [18:02:14.453] sendCondition <- NULL [18:02:14.453] function(frame = 1L) { [18:02:14.453] if (is.function(sendCondition)) [18:02:14.453] return(sendCondition) [18:02:14.453] ns <- getNamespace("parallel") [18:02:14.453] if (exists("sendData", mode = "function", [18:02:14.453] envir = ns)) { [18:02:14.453] parallel_sendData <- get("sendData", mode = "function", [18:02:14.453] envir = ns) [18:02:14.453] envir <- sys.frame(frame) [18:02:14.453] master <- NULL [18:02:14.453] while (!identical(envir, .GlobalEnv) && [18:02:14.453] !identical(envir, emptyenv())) { [18:02:14.453] if (exists("master", mode = "list", envir = envir, [18:02:14.453] inherits = FALSE)) { [18:02:14.453] master <- get("master", mode = "list", [18:02:14.453] envir = envir, inherits = FALSE) [18:02:14.453] if (inherits(master, c("SOCKnode", [18:02:14.453] "SOCK0node"))) { [18:02:14.453] sendCondition <<- function(cond) { [18:02:14.453] data <- list(type = "VALUE", value = cond, [18:02:14.453] success = TRUE) [18:02:14.453] parallel_sendData(master, data) [18:02:14.453] } [18:02:14.453] return(sendCondition) [18:02:14.453] } [18:02:14.453] } [18:02:14.453] frame <- frame + 1L [18:02:14.453] envir <- sys.frame(frame) [18:02:14.453] } [18:02:14.453] } [18:02:14.453] sendCondition <<- function(cond) NULL [18:02:14.453] } [18:02:14.453] }) [18:02:14.453] withCallingHandlers({ [18:02:14.453] { [18:02:14.453] 42L [18:02:14.453] } [18:02:14.453] }, immediateCondition = function(cond) { [18:02:14.453] sendCondition <- ...future.makeSendCondition() [18:02:14.453] sendCondition(cond) [18:02:14.453] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.453] { [18:02:14.453] inherits <- base::inherits [18:02:14.453] invokeRestart <- base::invokeRestart [18:02:14.453] is.null <- base::is.null [18:02:14.453] muffled <- FALSE [18:02:14.453] if (inherits(cond, "message")) { [18:02:14.453] muffled <- grepl(pattern, "muffleMessage") [18:02:14.453] if (muffled) [18:02:14.453] invokeRestart("muffleMessage") [18:02:14.453] } [18:02:14.453] else if (inherits(cond, "warning")) { [18:02:14.453] muffled <- grepl(pattern, "muffleWarning") [18:02:14.453] if (muffled) [18:02:14.453] invokeRestart("muffleWarning") [18:02:14.453] } [18:02:14.453] else if (inherits(cond, "condition")) { [18:02:14.453] if (!is.null(pattern)) { [18:02:14.453] computeRestarts <- base::computeRestarts [18:02:14.453] grepl <- base::grepl [18:02:14.453] restarts <- computeRestarts(cond) [18:02:14.453] for (restart in restarts) { [18:02:14.453] name <- restart$name [18:02:14.453] if (is.null(name)) [18:02:14.453] next [18:02:14.453] if (!grepl(pattern, name)) [18:02:14.453] next [18:02:14.453] invokeRestart(restart) [18:02:14.453] muffled <- TRUE [18:02:14.453] break [18:02:14.453] } [18:02:14.453] } [18:02:14.453] } [18:02:14.453] invisible(muffled) [18:02:14.453] } [18:02:14.453] muffleCondition(cond) [18:02:14.453] }) [18:02:14.453] })) [18:02:14.453] future::FutureResult(value = ...future.value$value, [18:02:14.453] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.453] ...future.rng), globalenv = if (FALSE) [18:02:14.453] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:14.453] ...future.globalenv.names)) [18:02:14.453] else NULL, started = ...future.startTime, version = "1.8") [18:02:14.453] }, condition = base::local({ [18:02:14.453] c <- base::c [18:02:14.453] inherits <- base::inherits [18:02:14.453] invokeRestart <- base::invokeRestart [18:02:14.453] length <- base::length [18:02:14.453] list <- base::list [18:02:14.453] seq.int <- base::seq.int [18:02:14.453] signalCondition <- base::signalCondition [18:02:14.453] sys.calls <- base::sys.calls [18:02:14.453] `[[` <- base::`[[` [18:02:14.453] `+` <- base::`+` [18:02:14.453] `<<-` <- base::`<<-` [18:02:14.453] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:14.453] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:14.453] 3L)] [18:02:14.453] } [18:02:14.453] function(cond) { [18:02:14.453] is_error <- inherits(cond, "error") [18:02:14.453] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:14.453] NULL) [18:02:14.453] if (is_error) { [18:02:14.453] sessionInformation <- function() { [18:02:14.453] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:14.453] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:14.453] search = base::search(), system = base::Sys.info()) [18:02:14.453] } [18:02:14.453] ...future.conditions[[length(...future.conditions) + [18:02:14.453] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:14.453] cond$call), session = sessionInformation(), [18:02:14.453] timestamp = base::Sys.time(), signaled = 0L) [18:02:14.453] signalCondition(cond) [18:02:14.453] } [18:02:14.453] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:14.453] "immediateCondition"))) { [18:02:14.453] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:14.453] ...future.conditions[[length(...future.conditions) + [18:02:14.453] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:14.453] if (TRUE && !signal) { [18:02:14.453] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.453] { [18:02:14.453] inherits <- base::inherits [18:02:14.453] invokeRestart <- base::invokeRestart [18:02:14.453] is.null <- base::is.null [18:02:14.453] muffled <- FALSE [18:02:14.453] if (inherits(cond, "message")) { [18:02:14.453] muffled <- grepl(pattern, "muffleMessage") [18:02:14.453] if (muffled) [18:02:14.453] invokeRestart("muffleMessage") [18:02:14.453] } [18:02:14.453] else if (inherits(cond, "warning")) { [18:02:14.453] muffled <- grepl(pattern, "muffleWarning") [18:02:14.453] if (muffled) [18:02:14.453] invokeRestart("muffleWarning") [18:02:14.453] } [18:02:14.453] else if (inherits(cond, "condition")) { [18:02:14.453] if (!is.null(pattern)) { [18:02:14.453] computeRestarts <- base::computeRestarts [18:02:14.453] grepl <- base::grepl [18:02:14.453] restarts <- computeRestarts(cond) [18:02:14.453] for (restart in restarts) { [18:02:14.453] name <- restart$name [18:02:14.453] if (is.null(name)) [18:02:14.453] next [18:02:14.453] if (!grepl(pattern, name)) [18:02:14.453] next [18:02:14.453] invokeRestart(restart) [18:02:14.453] muffled <- TRUE [18:02:14.453] break [18:02:14.453] } [18:02:14.453] } [18:02:14.453] } [18:02:14.453] invisible(muffled) [18:02:14.453] } [18:02:14.453] muffleCondition(cond, pattern = "^muffle") [18:02:14.453] } [18:02:14.453] } [18:02:14.453] else { [18:02:14.453] if (TRUE) { [18:02:14.453] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.453] { [18:02:14.453] inherits <- base::inherits [18:02:14.453] invokeRestart <- base::invokeRestart [18:02:14.453] is.null <- base::is.null [18:02:14.453] muffled <- FALSE [18:02:14.453] if (inherits(cond, "message")) { [18:02:14.453] muffled <- grepl(pattern, "muffleMessage") [18:02:14.453] if (muffled) [18:02:14.453] invokeRestart("muffleMessage") [18:02:14.453] } [18:02:14.453] else if (inherits(cond, "warning")) { [18:02:14.453] muffled <- grepl(pattern, "muffleWarning") [18:02:14.453] if (muffled) [18:02:14.453] invokeRestart("muffleWarning") [18:02:14.453] } [18:02:14.453] else if (inherits(cond, "condition")) { [18:02:14.453] if (!is.null(pattern)) { [18:02:14.453] computeRestarts <- base::computeRestarts [18:02:14.453] grepl <- base::grepl [18:02:14.453] restarts <- computeRestarts(cond) [18:02:14.453] for (restart in restarts) { [18:02:14.453] name <- restart$name [18:02:14.453] if (is.null(name)) [18:02:14.453] next [18:02:14.453] if (!grepl(pattern, name)) [18:02:14.453] next [18:02:14.453] invokeRestart(restart) [18:02:14.453] muffled <- TRUE [18:02:14.453] break [18:02:14.453] } [18:02:14.453] } [18:02:14.453] } [18:02:14.453] invisible(muffled) [18:02:14.453] } [18:02:14.453] muffleCondition(cond, pattern = "^muffle") [18:02:14.453] } [18:02:14.453] } [18:02:14.453] } [18:02:14.453] })) [18:02:14.453] }, error = function(ex) { [18:02:14.453] base::structure(base::list(value = NULL, visible = NULL, [18:02:14.453] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.453] ...future.rng), started = ...future.startTime, [18:02:14.453] finished = Sys.time(), session_uuid = NA_character_, [18:02:14.453] version = "1.8"), class = "FutureResult") [18:02:14.453] }, finally = { [18:02:14.453] if (!identical(...future.workdir, getwd())) [18:02:14.453] setwd(...future.workdir) [18:02:14.453] { [18:02:14.453] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:14.453] ...future.oldOptions$nwarnings <- NULL [18:02:14.453] } [18:02:14.453] base::options(...future.oldOptions) [18:02:14.453] if (.Platform$OS.type == "windows") { [18:02:14.453] old_names <- names(...future.oldEnvVars) [18:02:14.453] envs <- base::Sys.getenv() [18:02:14.453] names <- names(envs) [18:02:14.453] common <- intersect(names, old_names) [18:02:14.453] added <- setdiff(names, old_names) [18:02:14.453] removed <- setdiff(old_names, names) [18:02:14.453] changed <- common[...future.oldEnvVars[common] != [18:02:14.453] envs[common]] [18:02:14.453] NAMES <- toupper(changed) [18:02:14.453] args <- list() [18:02:14.453] for (kk in seq_along(NAMES)) { [18:02:14.453] name <- changed[[kk]] [18:02:14.453] NAME <- NAMES[[kk]] [18:02:14.453] if (name != NAME && is.element(NAME, old_names)) [18:02:14.453] next [18:02:14.453] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.453] } [18:02:14.453] NAMES <- toupper(added) [18:02:14.453] for (kk in seq_along(NAMES)) { [18:02:14.453] name <- added[[kk]] [18:02:14.453] NAME <- NAMES[[kk]] [18:02:14.453] if (name != NAME && is.element(NAME, old_names)) [18:02:14.453] next [18:02:14.453] args[[name]] <- "" [18:02:14.453] } [18:02:14.453] NAMES <- toupper(removed) [18:02:14.453] for (kk in seq_along(NAMES)) { [18:02:14.453] name <- removed[[kk]] [18:02:14.453] NAME <- NAMES[[kk]] [18:02:14.453] if (name != NAME && is.element(NAME, old_names)) [18:02:14.453] next [18:02:14.453] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.453] } [18:02:14.453] if (length(args) > 0) [18:02:14.453] base::do.call(base::Sys.setenv, args = args) [18:02:14.453] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:14.453] } [18:02:14.453] else { [18:02:14.453] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:14.453] } [18:02:14.453] { [18:02:14.453] if (base::length(...future.futureOptionsAdded) > [18:02:14.453] 0L) { [18:02:14.453] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:14.453] base::names(opts) <- ...future.futureOptionsAdded [18:02:14.453] base::options(opts) [18:02:14.453] } [18:02:14.453] { [18:02:14.453] { [18:02:14.453] base::options(mc.cores = ...future.mc.cores.old) [18:02:14.453] NULL [18:02:14.453] } [18:02:14.453] options(future.plan = NULL) [18:02:14.453] if (is.na(NA_character_)) [18:02:14.453] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.453] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:14.453] future::plan(list(function (..., envir = parent.frame()) [18:02:14.453] { [18:02:14.453] future <- SequentialFuture(..., envir = envir) [18:02:14.453] if (!future$lazy) [18:02:14.453] future <- run(future) [18:02:14.453] invisible(future) [18:02:14.453] }), .cleanup = FALSE, .init = FALSE) [18:02:14.453] } [18:02:14.453] } [18:02:14.453] } [18:02:14.453] }) [18:02:14.453] if (TRUE) { [18:02:14.453] base::sink(type = "output", split = FALSE) [18:02:14.453] if (TRUE) { [18:02:14.453] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:14.453] } [18:02:14.453] else { [18:02:14.453] ...future.result["stdout"] <- base::list(NULL) [18:02:14.453] } [18:02:14.453] base::close(...future.stdout) [18:02:14.453] ...future.stdout <- NULL [18:02:14.453] } [18:02:14.453] ...future.result$conditions <- ...future.conditions [18:02:14.453] ...future.result$finished <- base::Sys.time() [18:02:14.453] ...future.result [18:02:14.453] } [18:02:14.537] 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) [18:02:14.593] receiveMessageFromWorker() for ClusterFuture ... [18:02:14.593] - Validating connection of MultisessionFuture [18:02:14.593] - received message: FutureResult [18:02:14.593] - Received FutureResult [18:02:14.597] - Erased future from FutureRegistry [18:02:14.597] result() for ClusterFuture ... [18:02:14.597] - result already collected: FutureResult [18:02:14.597] result() for ClusterFuture ... done [18:02:14.598] receiveMessageFromWorker() for ClusterFuture ... done Resolved: TRUE Value: Conditions captured: Early signaling: FALSE Owner process: a4012676-0af7-de90-02dc-9e3925928fa1 Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [1] TRUE [18:02:14.598] result() for ClusterFuture ... [18:02:14.598] - result already collected: FutureResult [18:02:14.598] result() for ClusterFuture ... done [18:02:14.599] result() for ClusterFuture ... [18:02:14.599] - result already collected: FutureResult [18:02:14.599] result() for ClusterFuture ... done [1] 42 [18:02:14.602] getGlobalsAndPackages() ... [18:02:14.602] Searching for globals... [18:02:14.604] - globals found: [4] '{', '<-', '*', 'a' [18:02:14.605] Searching for globals ... DONE [18:02:14.605] Resolving globals: FALSE [18:02:14.605] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:14.606] 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') [18:02:14.606] - globals: [1] 'a' [18:02:14.606] [18:02:14.607] getGlobalsAndPackages() ... DONE [18:02:14.619] Packages needed by the future expression (n = 0): [18:02:14.619] Packages needed by future strategies (n = 0): [18:02:14.619] { [18:02:14.619] { [18:02:14.619] { [18:02:14.619] ...future.startTime <- base::Sys.time() [18:02:14.619] { [18:02:14.619] { [18:02:14.619] { [18:02:14.619] { [18:02:14.619] base::local({ [18:02:14.619] has_future <- base::requireNamespace("future", [18:02:14.619] quietly = TRUE) [18:02:14.619] if (has_future) { [18:02:14.619] ns <- base::getNamespace("future") [18:02:14.619] version <- ns[[".package"]][["version"]] [18:02:14.619] if (is.null(version)) [18:02:14.619] version <- utils::packageVersion("future") [18:02:14.619] } [18:02:14.619] else { [18:02:14.619] version <- NULL [18:02:14.619] } [18:02:14.619] if (!has_future || version < "1.8.0") { [18:02:14.619] info <- base::c(r_version = base::gsub("R version ", [18:02:14.619] "", base::R.version$version.string), [18:02:14.619] platform = base::sprintf("%s (%s-bit)", [18:02:14.619] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:14.619] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:14.619] "release", "version")], collapse = " "), [18:02:14.619] hostname = base::Sys.info()[["nodename"]]) [18:02:14.619] info <- base::sprintf("%s: %s", base::names(info), [18:02:14.619] info) [18:02:14.619] info <- base::paste(info, collapse = "; ") [18:02:14.619] if (!has_future) { [18:02:14.619] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:14.619] info) [18:02:14.619] } [18:02:14.619] else { [18:02:14.619] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:14.619] info, version) [18:02:14.619] } [18:02:14.619] base::stop(msg) [18:02:14.619] } [18:02:14.619] }) [18:02:14.619] } [18:02:14.619] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:14.619] base::options(mc.cores = 1L) [18:02:14.619] } [18:02:14.619] options(future.plan = NULL) [18:02:14.619] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.619] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:14.619] } [18:02:14.619] ...future.workdir <- getwd() [18:02:14.619] } [18:02:14.619] ...future.oldOptions <- base::as.list(base::.Options) [18:02:14.619] ...future.oldEnvVars <- base::Sys.getenv() [18:02:14.619] } [18:02:14.619] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:14.619] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:14.619] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:14.619] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:14.619] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:14.619] future.stdout.windows.reencode = NULL, width = 80L) [18:02:14.619] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:14.619] base::names(...future.oldOptions)) [18:02:14.619] } [18:02:14.619] if (FALSE) { [18:02:14.619] } [18:02:14.619] else { [18:02:14.619] if (TRUE) { [18:02:14.619] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:14.619] open = "w") [18:02:14.619] } [18:02:14.619] else { [18:02:14.619] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:14.619] windows = "NUL", "/dev/null"), open = "w") [18:02:14.619] } [18:02:14.619] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:14.619] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:14.619] base::sink(type = "output", split = FALSE) [18:02:14.619] base::close(...future.stdout) [18:02:14.619] }, add = TRUE) [18:02:14.619] } [18:02:14.619] ...future.frame <- base::sys.nframe() [18:02:14.619] ...future.conditions <- base::list() [18:02:14.619] ...future.rng <- base::globalenv()$.Random.seed [18:02:14.619] if (FALSE) { [18:02:14.619] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:14.619] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:14.619] } [18:02:14.619] ...future.result <- base::tryCatch({ [18:02:14.619] base::withCallingHandlers({ [18:02:14.619] ...future.value <- base::withVisible(base::local({ [18:02:14.619] ...future.makeSendCondition <- local({ [18:02:14.619] sendCondition <- NULL [18:02:14.619] function(frame = 1L) { [18:02:14.619] if (is.function(sendCondition)) [18:02:14.619] return(sendCondition) [18:02:14.619] ns <- getNamespace("parallel") [18:02:14.619] if (exists("sendData", mode = "function", [18:02:14.619] envir = ns)) { [18:02:14.619] parallel_sendData <- get("sendData", mode = "function", [18:02:14.619] envir = ns) [18:02:14.619] envir <- sys.frame(frame) [18:02:14.619] master <- NULL [18:02:14.619] while (!identical(envir, .GlobalEnv) && [18:02:14.619] !identical(envir, emptyenv())) { [18:02:14.619] if (exists("master", mode = "list", envir = envir, [18:02:14.619] inherits = FALSE)) { [18:02:14.619] master <- get("master", mode = "list", [18:02:14.619] envir = envir, inherits = FALSE) [18:02:14.619] if (inherits(master, c("SOCKnode", [18:02:14.619] "SOCK0node"))) { [18:02:14.619] sendCondition <<- function(cond) { [18:02:14.619] data <- list(type = "VALUE", value = cond, [18:02:14.619] success = TRUE) [18:02:14.619] parallel_sendData(master, data) [18:02:14.619] } [18:02:14.619] return(sendCondition) [18:02:14.619] } [18:02:14.619] } [18:02:14.619] frame <- frame + 1L [18:02:14.619] envir <- sys.frame(frame) [18:02:14.619] } [18:02:14.619] } [18:02:14.619] sendCondition <<- function(cond) NULL [18:02:14.619] } [18:02:14.619] }) [18:02:14.619] withCallingHandlers({ [18:02:14.619] { [18:02:14.619] b <- 3 [18:02:14.619] c <- 2 [18:02:14.619] a * b * c [18:02:14.619] } [18:02:14.619] }, immediateCondition = function(cond) { [18:02:14.619] sendCondition <- ...future.makeSendCondition() [18:02:14.619] sendCondition(cond) [18:02:14.619] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.619] { [18:02:14.619] inherits <- base::inherits [18:02:14.619] invokeRestart <- base::invokeRestart [18:02:14.619] is.null <- base::is.null [18:02:14.619] muffled <- FALSE [18:02:14.619] if (inherits(cond, "message")) { [18:02:14.619] muffled <- grepl(pattern, "muffleMessage") [18:02:14.619] if (muffled) [18:02:14.619] invokeRestart("muffleMessage") [18:02:14.619] } [18:02:14.619] else if (inherits(cond, "warning")) { [18:02:14.619] muffled <- grepl(pattern, "muffleWarning") [18:02:14.619] if (muffled) [18:02:14.619] invokeRestart("muffleWarning") [18:02:14.619] } [18:02:14.619] else if (inherits(cond, "condition")) { [18:02:14.619] if (!is.null(pattern)) { [18:02:14.619] computeRestarts <- base::computeRestarts [18:02:14.619] grepl <- base::grepl [18:02:14.619] restarts <- computeRestarts(cond) [18:02:14.619] for (restart in restarts) { [18:02:14.619] name <- restart$name [18:02:14.619] if (is.null(name)) [18:02:14.619] next [18:02:14.619] if (!grepl(pattern, name)) [18:02:14.619] next [18:02:14.619] invokeRestart(restart) [18:02:14.619] muffled <- TRUE [18:02:14.619] break [18:02:14.619] } [18:02:14.619] } [18:02:14.619] } [18:02:14.619] invisible(muffled) [18:02:14.619] } [18:02:14.619] muffleCondition(cond) [18:02:14.619] }) [18:02:14.619] })) [18:02:14.619] future::FutureResult(value = ...future.value$value, [18:02:14.619] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.619] ...future.rng), globalenv = if (FALSE) [18:02:14.619] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:14.619] ...future.globalenv.names)) [18:02:14.619] else NULL, started = ...future.startTime, version = "1.8") [18:02:14.619] }, condition = base::local({ [18:02:14.619] c <- base::c [18:02:14.619] inherits <- base::inherits [18:02:14.619] invokeRestart <- base::invokeRestart [18:02:14.619] length <- base::length [18:02:14.619] list <- base::list [18:02:14.619] seq.int <- base::seq.int [18:02:14.619] signalCondition <- base::signalCondition [18:02:14.619] sys.calls <- base::sys.calls [18:02:14.619] `[[` <- base::`[[` [18:02:14.619] `+` <- base::`+` [18:02:14.619] `<<-` <- base::`<<-` [18:02:14.619] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:14.619] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:14.619] 3L)] [18:02:14.619] } [18:02:14.619] function(cond) { [18:02:14.619] is_error <- inherits(cond, "error") [18:02:14.619] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:14.619] NULL) [18:02:14.619] if (is_error) { [18:02:14.619] sessionInformation <- function() { [18:02:14.619] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:14.619] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:14.619] search = base::search(), system = base::Sys.info()) [18:02:14.619] } [18:02:14.619] ...future.conditions[[length(...future.conditions) + [18:02:14.619] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:14.619] cond$call), session = sessionInformation(), [18:02:14.619] timestamp = base::Sys.time(), signaled = 0L) [18:02:14.619] signalCondition(cond) [18:02:14.619] } [18:02:14.619] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:14.619] "immediateCondition"))) { [18:02:14.619] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:14.619] ...future.conditions[[length(...future.conditions) + [18:02:14.619] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:14.619] if (TRUE && !signal) { [18:02:14.619] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.619] { [18:02:14.619] inherits <- base::inherits [18:02:14.619] invokeRestart <- base::invokeRestart [18:02:14.619] is.null <- base::is.null [18:02:14.619] muffled <- FALSE [18:02:14.619] if (inherits(cond, "message")) { [18:02:14.619] muffled <- grepl(pattern, "muffleMessage") [18:02:14.619] if (muffled) [18:02:14.619] invokeRestart("muffleMessage") [18:02:14.619] } [18:02:14.619] else if (inherits(cond, "warning")) { [18:02:14.619] muffled <- grepl(pattern, "muffleWarning") [18:02:14.619] if (muffled) [18:02:14.619] invokeRestart("muffleWarning") [18:02:14.619] } [18:02:14.619] else if (inherits(cond, "condition")) { [18:02:14.619] if (!is.null(pattern)) { [18:02:14.619] computeRestarts <- base::computeRestarts [18:02:14.619] grepl <- base::grepl [18:02:14.619] restarts <- computeRestarts(cond) [18:02:14.619] for (restart in restarts) { [18:02:14.619] name <- restart$name [18:02:14.619] if (is.null(name)) [18:02:14.619] next [18:02:14.619] if (!grepl(pattern, name)) [18:02:14.619] next [18:02:14.619] invokeRestart(restart) [18:02:14.619] muffled <- TRUE [18:02:14.619] break [18:02:14.619] } [18:02:14.619] } [18:02:14.619] } [18:02:14.619] invisible(muffled) [18:02:14.619] } [18:02:14.619] muffleCondition(cond, pattern = "^muffle") [18:02:14.619] } [18:02:14.619] } [18:02:14.619] else { [18:02:14.619] if (TRUE) { [18:02:14.619] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.619] { [18:02:14.619] inherits <- base::inherits [18:02:14.619] invokeRestart <- base::invokeRestart [18:02:14.619] is.null <- base::is.null [18:02:14.619] muffled <- FALSE [18:02:14.619] if (inherits(cond, "message")) { [18:02:14.619] muffled <- grepl(pattern, "muffleMessage") [18:02:14.619] if (muffled) [18:02:14.619] invokeRestart("muffleMessage") [18:02:14.619] } [18:02:14.619] else if (inherits(cond, "warning")) { [18:02:14.619] muffled <- grepl(pattern, "muffleWarning") [18:02:14.619] if (muffled) [18:02:14.619] invokeRestart("muffleWarning") [18:02:14.619] } [18:02:14.619] else if (inherits(cond, "condition")) { [18:02:14.619] if (!is.null(pattern)) { [18:02:14.619] computeRestarts <- base::computeRestarts [18:02:14.619] grepl <- base::grepl [18:02:14.619] restarts <- computeRestarts(cond) [18:02:14.619] for (restart in restarts) { [18:02:14.619] name <- restart$name [18:02:14.619] if (is.null(name)) [18:02:14.619] next [18:02:14.619] if (!grepl(pattern, name)) [18:02:14.619] next [18:02:14.619] invokeRestart(restart) [18:02:14.619] muffled <- TRUE [18:02:14.619] break [18:02:14.619] } [18:02:14.619] } [18:02:14.619] } [18:02:14.619] invisible(muffled) [18:02:14.619] } [18:02:14.619] muffleCondition(cond, pattern = "^muffle") [18:02:14.619] } [18:02:14.619] } [18:02:14.619] } [18:02:14.619] })) [18:02:14.619] }, error = function(ex) { [18:02:14.619] base::structure(base::list(value = NULL, visible = NULL, [18:02:14.619] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.619] ...future.rng), started = ...future.startTime, [18:02:14.619] finished = Sys.time(), session_uuid = NA_character_, [18:02:14.619] version = "1.8"), class = "FutureResult") [18:02:14.619] }, finally = { [18:02:14.619] if (!identical(...future.workdir, getwd())) [18:02:14.619] setwd(...future.workdir) [18:02:14.619] { [18:02:14.619] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:14.619] ...future.oldOptions$nwarnings <- NULL [18:02:14.619] } [18:02:14.619] base::options(...future.oldOptions) [18:02:14.619] if (.Platform$OS.type == "windows") { [18:02:14.619] old_names <- names(...future.oldEnvVars) [18:02:14.619] envs <- base::Sys.getenv() [18:02:14.619] names <- names(envs) [18:02:14.619] common <- intersect(names, old_names) [18:02:14.619] added <- setdiff(names, old_names) [18:02:14.619] removed <- setdiff(old_names, names) [18:02:14.619] changed <- common[...future.oldEnvVars[common] != [18:02:14.619] envs[common]] [18:02:14.619] NAMES <- toupper(changed) [18:02:14.619] args <- list() [18:02:14.619] for (kk in seq_along(NAMES)) { [18:02:14.619] name <- changed[[kk]] [18:02:14.619] NAME <- NAMES[[kk]] [18:02:14.619] if (name != NAME && is.element(NAME, old_names)) [18:02:14.619] next [18:02:14.619] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.619] } [18:02:14.619] NAMES <- toupper(added) [18:02:14.619] for (kk in seq_along(NAMES)) { [18:02:14.619] name <- added[[kk]] [18:02:14.619] NAME <- NAMES[[kk]] [18:02:14.619] if (name != NAME && is.element(NAME, old_names)) [18:02:14.619] next [18:02:14.619] args[[name]] <- "" [18:02:14.619] } [18:02:14.619] NAMES <- toupper(removed) [18:02:14.619] for (kk in seq_along(NAMES)) { [18:02:14.619] name <- removed[[kk]] [18:02:14.619] NAME <- NAMES[[kk]] [18:02:14.619] if (name != NAME && is.element(NAME, old_names)) [18:02:14.619] next [18:02:14.619] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.619] } [18:02:14.619] if (length(args) > 0) [18:02:14.619] base::do.call(base::Sys.setenv, args = args) [18:02:14.619] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:14.619] } [18:02:14.619] else { [18:02:14.619] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:14.619] } [18:02:14.619] { [18:02:14.619] if (base::length(...future.futureOptionsAdded) > [18:02:14.619] 0L) { [18:02:14.619] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:14.619] base::names(opts) <- ...future.futureOptionsAdded [18:02:14.619] base::options(opts) [18:02:14.619] } [18:02:14.619] { [18:02:14.619] { [18:02:14.619] base::options(mc.cores = ...future.mc.cores.old) [18:02:14.619] NULL [18:02:14.619] } [18:02:14.619] options(future.plan = NULL) [18:02:14.619] if (is.na(NA_character_)) [18:02:14.619] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.619] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:14.619] future::plan(list(function (..., envir = parent.frame()) [18:02:14.619] { [18:02:14.619] future <- SequentialFuture(..., envir = envir) [18:02:14.619] if (!future$lazy) [18:02:14.619] future <- run(future) [18:02:14.619] invisible(future) [18:02:14.619] }), .cleanup = FALSE, .init = FALSE) [18:02:14.619] } [18:02:14.619] } [18:02:14.619] } [18:02:14.619] }) [18:02:14.619] if (TRUE) { [18:02:14.619] base::sink(type = "output", split = FALSE) [18:02:14.619] if (TRUE) { [18:02:14.619] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:14.619] } [18:02:14.619] else { [18:02:14.619] ...future.result["stdout"] <- base::list(NULL) [18:02:14.619] } [18:02:14.619] base::close(...future.stdout) [18:02:14.619] ...future.stdout <- NULL [18:02:14.619] } [18:02:14.619] ...future.result$conditions <- ...future.conditions [18:02:14.619] ...future.result$finished <- base::Sys.time() [18:02:14.619] ...future.result [18:02:14.619] } [18:02:14.625] Exporting 1 global objects (56 bytes) to cluster node #1 ... [18:02:14.625] Exporting 'a' (56 bytes) to cluster node #1 ... [18:02:14.625] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [18:02:14.626] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [18:02:14.626] 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) [18:02:14.642] receiveMessageFromWorker() for ClusterFuture ... [18:02:14.642] - Validating connection of MultisessionFuture [18:02:14.642] - received message: FutureResult [18:02:14.642] - Received FutureResult [18:02:14.643] - Erased future from FutureRegistry [18:02:14.643] result() for ClusterFuture ... [18:02:14.643] - result already collected: FutureResult [18:02:14.643] result() for ClusterFuture ... done [18:02:14.643] receiveMessageFromWorker() for ClusterFuture ... done Resolved: TRUE Value: Conditions captured: Early signaling: FALSE Owner process: a4012676-0af7-de90-02dc-9e3925928fa1 Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:14.644] result() for ClusterFuture ... [18:02:14.644] - result already collected: FutureResult [18:02:14.644] result() for ClusterFuture ... done [18:02:14.644] result() for ClusterFuture ... [18:02:14.644] - result already collected: FutureResult [18:02:14.644] result() for ClusterFuture ... done [1] 0 *** multisession() with globals and blocking - Creating multisession future #2 ... [18:02:14.647] getGlobalsAndPackages() ... [18:02:14.647] Searching for globals... [18:02:14.648] - globals found: [2] '{', 'ii' [18:02:14.649] Searching for globals ... DONE [18:02:14.649] Resolving globals: FALSE [18:02:14.649] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:14.650] 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') [18:02:14.650] - globals: [1] 'ii' [18:02:14.650] [18:02:14.650] getGlobalsAndPackages() ... DONE [18:02:14.662] Packages needed by the future expression (n = 0): [18:02:14.663] Packages needed by future strategies (n = 0): [18:02:14.663] { [18:02:14.663] { [18:02:14.663] { [18:02:14.663] ...future.startTime <- base::Sys.time() [18:02:14.663] { [18:02:14.663] { [18:02:14.663] { [18:02:14.663] { [18:02:14.663] base::local({ [18:02:14.663] has_future <- base::requireNamespace("future", [18:02:14.663] quietly = TRUE) [18:02:14.663] if (has_future) { [18:02:14.663] ns <- base::getNamespace("future") [18:02:14.663] version <- ns[[".package"]][["version"]] [18:02:14.663] if (is.null(version)) [18:02:14.663] version <- utils::packageVersion("future") [18:02:14.663] } [18:02:14.663] else { [18:02:14.663] version <- NULL [18:02:14.663] } [18:02:14.663] if (!has_future || version < "1.8.0") { [18:02:14.663] info <- base::c(r_version = base::gsub("R version ", [18:02:14.663] "", base::R.version$version.string), [18:02:14.663] platform = base::sprintf("%s (%s-bit)", [18:02:14.663] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:14.663] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:14.663] "release", "version")], collapse = " "), [18:02:14.663] hostname = base::Sys.info()[["nodename"]]) [18:02:14.663] info <- base::sprintf("%s: %s", base::names(info), [18:02:14.663] info) [18:02:14.663] info <- base::paste(info, collapse = "; ") [18:02:14.663] if (!has_future) { [18:02:14.663] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:14.663] info) [18:02:14.663] } [18:02:14.663] else { [18:02:14.663] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:14.663] info, version) [18:02:14.663] } [18:02:14.663] base::stop(msg) [18:02:14.663] } [18:02:14.663] }) [18:02:14.663] } [18:02:14.663] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:14.663] base::options(mc.cores = 1L) [18:02:14.663] } [18:02:14.663] options(future.plan = NULL) [18:02:14.663] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.663] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:14.663] } [18:02:14.663] ...future.workdir <- getwd() [18:02:14.663] } [18:02:14.663] ...future.oldOptions <- base::as.list(base::.Options) [18:02:14.663] ...future.oldEnvVars <- base::Sys.getenv() [18:02:14.663] } [18:02:14.663] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:14.663] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:14.663] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:14.663] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:14.663] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:14.663] future.stdout.windows.reencode = NULL, width = 80L) [18:02:14.663] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:14.663] base::names(...future.oldOptions)) [18:02:14.663] } [18:02:14.663] if (FALSE) { [18:02:14.663] } [18:02:14.663] else { [18:02:14.663] if (TRUE) { [18:02:14.663] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:14.663] open = "w") [18:02:14.663] } [18:02:14.663] else { [18:02:14.663] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:14.663] windows = "NUL", "/dev/null"), open = "w") [18:02:14.663] } [18:02:14.663] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:14.663] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:14.663] base::sink(type = "output", split = FALSE) [18:02:14.663] base::close(...future.stdout) [18:02:14.663] }, add = TRUE) [18:02:14.663] } [18:02:14.663] ...future.frame <- base::sys.nframe() [18:02:14.663] ...future.conditions <- base::list() [18:02:14.663] ...future.rng <- base::globalenv()$.Random.seed [18:02:14.663] if (FALSE) { [18:02:14.663] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:14.663] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:14.663] } [18:02:14.663] ...future.result <- base::tryCatch({ [18:02:14.663] base::withCallingHandlers({ [18:02:14.663] ...future.value <- base::withVisible(base::local({ [18:02:14.663] ...future.makeSendCondition <- local({ [18:02:14.663] sendCondition <- NULL [18:02:14.663] function(frame = 1L) { [18:02:14.663] if (is.function(sendCondition)) [18:02:14.663] return(sendCondition) [18:02:14.663] ns <- getNamespace("parallel") [18:02:14.663] if (exists("sendData", mode = "function", [18:02:14.663] envir = ns)) { [18:02:14.663] parallel_sendData <- get("sendData", mode = "function", [18:02:14.663] envir = ns) [18:02:14.663] envir <- sys.frame(frame) [18:02:14.663] master <- NULL [18:02:14.663] while (!identical(envir, .GlobalEnv) && [18:02:14.663] !identical(envir, emptyenv())) { [18:02:14.663] if (exists("master", mode = "list", envir = envir, [18:02:14.663] inherits = FALSE)) { [18:02:14.663] master <- get("master", mode = "list", [18:02:14.663] envir = envir, inherits = FALSE) [18:02:14.663] if (inherits(master, c("SOCKnode", [18:02:14.663] "SOCK0node"))) { [18:02:14.663] sendCondition <<- function(cond) { [18:02:14.663] data <- list(type = "VALUE", value = cond, [18:02:14.663] success = TRUE) [18:02:14.663] parallel_sendData(master, data) [18:02:14.663] } [18:02:14.663] return(sendCondition) [18:02:14.663] } [18:02:14.663] } [18:02:14.663] frame <- frame + 1L [18:02:14.663] envir <- sys.frame(frame) [18:02:14.663] } [18:02:14.663] } [18:02:14.663] sendCondition <<- function(cond) NULL [18:02:14.663] } [18:02:14.663] }) [18:02:14.663] withCallingHandlers({ [18:02:14.663] { [18:02:14.663] ii [18:02:14.663] } [18:02:14.663] }, immediateCondition = function(cond) { [18:02:14.663] sendCondition <- ...future.makeSendCondition() [18:02:14.663] sendCondition(cond) [18:02:14.663] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.663] { [18:02:14.663] inherits <- base::inherits [18:02:14.663] invokeRestart <- base::invokeRestart [18:02:14.663] is.null <- base::is.null [18:02:14.663] muffled <- FALSE [18:02:14.663] if (inherits(cond, "message")) { [18:02:14.663] muffled <- grepl(pattern, "muffleMessage") [18:02:14.663] if (muffled) [18:02:14.663] invokeRestart("muffleMessage") [18:02:14.663] } [18:02:14.663] else if (inherits(cond, "warning")) { [18:02:14.663] muffled <- grepl(pattern, "muffleWarning") [18:02:14.663] if (muffled) [18:02:14.663] invokeRestart("muffleWarning") [18:02:14.663] } [18:02:14.663] else if (inherits(cond, "condition")) { [18:02:14.663] if (!is.null(pattern)) { [18:02:14.663] computeRestarts <- base::computeRestarts [18:02:14.663] grepl <- base::grepl [18:02:14.663] restarts <- computeRestarts(cond) [18:02:14.663] for (restart in restarts) { [18:02:14.663] name <- restart$name [18:02:14.663] if (is.null(name)) [18:02:14.663] next [18:02:14.663] if (!grepl(pattern, name)) [18:02:14.663] next [18:02:14.663] invokeRestart(restart) [18:02:14.663] muffled <- TRUE [18:02:14.663] break [18:02:14.663] } [18:02:14.663] } [18:02:14.663] } [18:02:14.663] invisible(muffled) [18:02:14.663] } [18:02:14.663] muffleCondition(cond) [18:02:14.663] }) [18:02:14.663] })) [18:02:14.663] future::FutureResult(value = ...future.value$value, [18:02:14.663] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.663] ...future.rng), globalenv = if (FALSE) [18:02:14.663] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:14.663] ...future.globalenv.names)) [18:02:14.663] else NULL, started = ...future.startTime, version = "1.8") [18:02:14.663] }, condition = base::local({ [18:02:14.663] c <- base::c [18:02:14.663] inherits <- base::inherits [18:02:14.663] invokeRestart <- base::invokeRestart [18:02:14.663] length <- base::length [18:02:14.663] list <- base::list [18:02:14.663] seq.int <- base::seq.int [18:02:14.663] signalCondition <- base::signalCondition [18:02:14.663] sys.calls <- base::sys.calls [18:02:14.663] `[[` <- base::`[[` [18:02:14.663] `+` <- base::`+` [18:02:14.663] `<<-` <- base::`<<-` [18:02:14.663] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:14.663] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:14.663] 3L)] [18:02:14.663] } [18:02:14.663] function(cond) { [18:02:14.663] is_error <- inherits(cond, "error") [18:02:14.663] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:14.663] NULL) [18:02:14.663] if (is_error) { [18:02:14.663] sessionInformation <- function() { [18:02:14.663] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:14.663] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:14.663] search = base::search(), system = base::Sys.info()) [18:02:14.663] } [18:02:14.663] ...future.conditions[[length(...future.conditions) + [18:02:14.663] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:14.663] cond$call), session = sessionInformation(), [18:02:14.663] timestamp = base::Sys.time(), signaled = 0L) [18:02:14.663] signalCondition(cond) [18:02:14.663] } [18:02:14.663] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:14.663] "immediateCondition"))) { [18:02:14.663] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:14.663] ...future.conditions[[length(...future.conditions) + [18:02:14.663] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:14.663] if (TRUE && !signal) { [18:02:14.663] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.663] { [18:02:14.663] inherits <- base::inherits [18:02:14.663] invokeRestart <- base::invokeRestart [18:02:14.663] is.null <- base::is.null [18:02:14.663] muffled <- FALSE [18:02:14.663] if (inherits(cond, "message")) { [18:02:14.663] muffled <- grepl(pattern, "muffleMessage") [18:02:14.663] if (muffled) [18:02:14.663] invokeRestart("muffleMessage") [18:02:14.663] } [18:02:14.663] else if (inherits(cond, "warning")) { [18:02:14.663] muffled <- grepl(pattern, "muffleWarning") [18:02:14.663] if (muffled) [18:02:14.663] invokeRestart("muffleWarning") [18:02:14.663] } [18:02:14.663] else if (inherits(cond, "condition")) { [18:02:14.663] if (!is.null(pattern)) { [18:02:14.663] computeRestarts <- base::computeRestarts [18:02:14.663] grepl <- base::grepl [18:02:14.663] restarts <- computeRestarts(cond) [18:02:14.663] for (restart in restarts) { [18:02:14.663] name <- restart$name [18:02:14.663] if (is.null(name)) [18:02:14.663] next [18:02:14.663] if (!grepl(pattern, name)) [18:02:14.663] next [18:02:14.663] invokeRestart(restart) [18:02:14.663] muffled <- TRUE [18:02:14.663] break [18:02:14.663] } [18:02:14.663] } [18:02:14.663] } [18:02:14.663] invisible(muffled) [18:02:14.663] } [18:02:14.663] muffleCondition(cond, pattern = "^muffle") [18:02:14.663] } [18:02:14.663] } [18:02:14.663] else { [18:02:14.663] if (TRUE) { [18:02:14.663] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.663] { [18:02:14.663] inherits <- base::inherits [18:02:14.663] invokeRestart <- base::invokeRestart [18:02:14.663] is.null <- base::is.null [18:02:14.663] muffled <- FALSE [18:02:14.663] if (inherits(cond, "message")) { [18:02:14.663] muffled <- grepl(pattern, "muffleMessage") [18:02:14.663] if (muffled) [18:02:14.663] invokeRestart("muffleMessage") [18:02:14.663] } [18:02:14.663] else if (inherits(cond, "warning")) { [18:02:14.663] muffled <- grepl(pattern, "muffleWarning") [18:02:14.663] if (muffled) [18:02:14.663] invokeRestart("muffleWarning") [18:02:14.663] } [18:02:14.663] else if (inherits(cond, "condition")) { [18:02:14.663] if (!is.null(pattern)) { [18:02:14.663] computeRestarts <- base::computeRestarts [18:02:14.663] grepl <- base::grepl [18:02:14.663] restarts <- computeRestarts(cond) [18:02:14.663] for (restart in restarts) { [18:02:14.663] name <- restart$name [18:02:14.663] if (is.null(name)) [18:02:14.663] next [18:02:14.663] if (!grepl(pattern, name)) [18:02:14.663] next [18:02:14.663] invokeRestart(restart) [18:02:14.663] muffled <- TRUE [18:02:14.663] break [18:02:14.663] } [18:02:14.663] } [18:02:14.663] } [18:02:14.663] invisible(muffled) [18:02:14.663] } [18:02:14.663] muffleCondition(cond, pattern = "^muffle") [18:02:14.663] } [18:02:14.663] } [18:02:14.663] } [18:02:14.663] })) [18:02:14.663] }, error = function(ex) { [18:02:14.663] base::structure(base::list(value = NULL, visible = NULL, [18:02:14.663] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.663] ...future.rng), started = ...future.startTime, [18:02:14.663] finished = Sys.time(), session_uuid = NA_character_, [18:02:14.663] version = "1.8"), class = "FutureResult") [18:02:14.663] }, finally = { [18:02:14.663] if (!identical(...future.workdir, getwd())) [18:02:14.663] setwd(...future.workdir) [18:02:14.663] { [18:02:14.663] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:14.663] ...future.oldOptions$nwarnings <- NULL [18:02:14.663] } [18:02:14.663] base::options(...future.oldOptions) [18:02:14.663] if (.Platform$OS.type == "windows") { [18:02:14.663] old_names <- names(...future.oldEnvVars) [18:02:14.663] envs <- base::Sys.getenv() [18:02:14.663] names <- names(envs) [18:02:14.663] common <- intersect(names, old_names) [18:02:14.663] added <- setdiff(names, old_names) [18:02:14.663] removed <- setdiff(old_names, names) [18:02:14.663] changed <- common[...future.oldEnvVars[common] != [18:02:14.663] envs[common]] [18:02:14.663] NAMES <- toupper(changed) [18:02:14.663] args <- list() [18:02:14.663] for (kk in seq_along(NAMES)) { [18:02:14.663] name <- changed[[kk]] [18:02:14.663] NAME <- NAMES[[kk]] [18:02:14.663] if (name != NAME && is.element(NAME, old_names)) [18:02:14.663] next [18:02:14.663] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.663] } [18:02:14.663] NAMES <- toupper(added) [18:02:14.663] for (kk in seq_along(NAMES)) { [18:02:14.663] name <- added[[kk]] [18:02:14.663] NAME <- NAMES[[kk]] [18:02:14.663] if (name != NAME && is.element(NAME, old_names)) [18:02:14.663] next [18:02:14.663] args[[name]] <- "" [18:02:14.663] } [18:02:14.663] NAMES <- toupper(removed) [18:02:14.663] for (kk in seq_along(NAMES)) { [18:02:14.663] name <- removed[[kk]] [18:02:14.663] NAME <- NAMES[[kk]] [18:02:14.663] if (name != NAME && is.element(NAME, old_names)) [18:02:14.663] next [18:02:14.663] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.663] } [18:02:14.663] if (length(args) > 0) [18:02:14.663] base::do.call(base::Sys.setenv, args = args) [18:02:14.663] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:14.663] } [18:02:14.663] else { [18:02:14.663] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:14.663] } [18:02:14.663] { [18:02:14.663] if (base::length(...future.futureOptionsAdded) > [18:02:14.663] 0L) { [18:02:14.663] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:14.663] base::names(opts) <- ...future.futureOptionsAdded [18:02:14.663] base::options(opts) [18:02:14.663] } [18:02:14.663] { [18:02:14.663] { [18:02:14.663] base::options(mc.cores = ...future.mc.cores.old) [18:02:14.663] NULL [18:02:14.663] } [18:02:14.663] options(future.plan = NULL) [18:02:14.663] if (is.na(NA_character_)) [18:02:14.663] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.663] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:14.663] future::plan(list(function (..., envir = parent.frame()) [18:02:14.663] { [18:02:14.663] future <- SequentialFuture(..., envir = envir) [18:02:14.663] if (!future$lazy) [18:02:14.663] future <- run(future) [18:02:14.663] invisible(future) [18:02:14.663] }), .cleanup = FALSE, .init = FALSE) [18:02:14.663] } [18:02:14.663] } [18:02:14.663] } [18:02:14.663] }) [18:02:14.663] if (TRUE) { [18:02:14.663] base::sink(type = "output", split = FALSE) [18:02:14.663] if (TRUE) { [18:02:14.663] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:14.663] } [18:02:14.663] else { [18:02:14.663] ...future.result["stdout"] <- base::list(NULL) [18:02:14.663] } [18:02:14.663] base::close(...future.stdout) [18:02:14.663] ...future.stdout <- NULL [18:02:14.663] } [18:02:14.663] ...future.result$conditions <- ...future.conditions [18:02:14.663] ...future.result$finished <- base::Sys.time() [18:02:14.663] ...future.result [18:02:14.663] } [18:02:14.668] Exporting 1 global objects (56 bytes) to cluster node #1 ... [18:02:14.669] Exporting 'ii' (56 bytes) to cluster node #1 ... [18:02:14.669] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [18:02:14.669] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [18:02:14.670] MultisessionFuture started - Creating multisession future #1 ... [18:02:14.673] getGlobalsAndPackages() ... [18:02:14.673] Searching for globals... [18:02:14.674] - globals found: [2] '{', 'ii' [18:02:14.674] Searching for globals ... DONE [18:02:14.674] Resolving globals: FALSE [18:02:14.675] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:14.676] 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') [18:02:14.676] - globals: [1] 'ii' [18:02:14.676] [18:02:14.676] getGlobalsAndPackages() ... DONE [18:02:14.689] Packages needed by the future expression (n = 0): [18:02:14.689] Packages needed by future strategies (n = 0): [18:02:14.689] { [18:02:14.689] { [18:02:14.689] { [18:02:14.689] ...future.startTime <- base::Sys.time() [18:02:14.689] { [18:02:14.689] { [18:02:14.689] { [18:02:14.689] { [18:02:14.689] base::local({ [18:02:14.689] has_future <- base::requireNamespace("future", [18:02:14.689] quietly = TRUE) [18:02:14.689] if (has_future) { [18:02:14.689] ns <- base::getNamespace("future") [18:02:14.689] version <- ns[[".package"]][["version"]] [18:02:14.689] if (is.null(version)) [18:02:14.689] version <- utils::packageVersion("future") [18:02:14.689] } [18:02:14.689] else { [18:02:14.689] version <- NULL [18:02:14.689] } [18:02:14.689] if (!has_future || version < "1.8.0") { [18:02:14.689] info <- base::c(r_version = base::gsub("R version ", [18:02:14.689] "", base::R.version$version.string), [18:02:14.689] platform = base::sprintf("%s (%s-bit)", [18:02:14.689] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:14.689] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:14.689] "release", "version")], collapse = " "), [18:02:14.689] hostname = base::Sys.info()[["nodename"]]) [18:02:14.689] info <- base::sprintf("%s: %s", base::names(info), [18:02:14.689] info) [18:02:14.689] info <- base::paste(info, collapse = "; ") [18:02:14.689] if (!has_future) { [18:02:14.689] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:14.689] info) [18:02:14.689] } [18:02:14.689] else { [18:02:14.689] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:14.689] info, version) [18:02:14.689] } [18:02:14.689] base::stop(msg) [18:02:14.689] } [18:02:14.689] }) [18:02:14.689] } [18:02:14.689] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:14.689] base::options(mc.cores = 1L) [18:02:14.689] } [18:02:14.689] options(future.plan = NULL) [18:02:14.689] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.689] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:14.689] } [18:02:14.689] ...future.workdir <- getwd() [18:02:14.689] } [18:02:14.689] ...future.oldOptions <- base::as.list(base::.Options) [18:02:14.689] ...future.oldEnvVars <- base::Sys.getenv() [18:02:14.689] } [18:02:14.689] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:14.689] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:14.689] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:14.689] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:14.689] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:14.689] future.stdout.windows.reencode = NULL, width = 80L) [18:02:14.689] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:14.689] base::names(...future.oldOptions)) [18:02:14.689] } [18:02:14.689] if (FALSE) { [18:02:14.689] } [18:02:14.689] else { [18:02:14.689] if (TRUE) { [18:02:14.689] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:14.689] open = "w") [18:02:14.689] } [18:02:14.689] else { [18:02:14.689] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:14.689] windows = "NUL", "/dev/null"), open = "w") [18:02:14.689] } [18:02:14.689] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:14.689] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:14.689] base::sink(type = "output", split = FALSE) [18:02:14.689] base::close(...future.stdout) [18:02:14.689] }, add = TRUE) [18:02:14.689] } [18:02:14.689] ...future.frame <- base::sys.nframe() [18:02:14.689] ...future.conditions <- base::list() [18:02:14.689] ...future.rng <- base::globalenv()$.Random.seed [18:02:14.689] if (FALSE) { [18:02:14.689] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:14.689] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:14.689] } [18:02:14.689] ...future.result <- base::tryCatch({ [18:02:14.689] base::withCallingHandlers({ [18:02:14.689] ...future.value <- base::withVisible(base::local({ [18:02:14.689] ...future.makeSendCondition <- local({ [18:02:14.689] sendCondition <- NULL [18:02:14.689] function(frame = 1L) { [18:02:14.689] if (is.function(sendCondition)) [18:02:14.689] return(sendCondition) [18:02:14.689] ns <- getNamespace("parallel") [18:02:14.689] if (exists("sendData", mode = "function", [18:02:14.689] envir = ns)) { [18:02:14.689] parallel_sendData <- get("sendData", mode = "function", [18:02:14.689] envir = ns) [18:02:14.689] envir <- sys.frame(frame) [18:02:14.689] master <- NULL [18:02:14.689] while (!identical(envir, .GlobalEnv) && [18:02:14.689] !identical(envir, emptyenv())) { [18:02:14.689] if (exists("master", mode = "list", envir = envir, [18:02:14.689] inherits = FALSE)) { [18:02:14.689] master <- get("master", mode = "list", [18:02:14.689] envir = envir, inherits = FALSE) [18:02:14.689] if (inherits(master, c("SOCKnode", [18:02:14.689] "SOCK0node"))) { [18:02:14.689] sendCondition <<- function(cond) { [18:02:14.689] data <- list(type = "VALUE", value = cond, [18:02:14.689] success = TRUE) [18:02:14.689] parallel_sendData(master, data) [18:02:14.689] } [18:02:14.689] return(sendCondition) [18:02:14.689] } [18:02:14.689] } [18:02:14.689] frame <- frame + 1L [18:02:14.689] envir <- sys.frame(frame) [18:02:14.689] } [18:02:14.689] } [18:02:14.689] sendCondition <<- function(cond) NULL [18:02:14.689] } [18:02:14.689] }) [18:02:14.689] withCallingHandlers({ [18:02:14.689] { [18:02:14.689] ii [18:02:14.689] } [18:02:14.689] }, immediateCondition = function(cond) { [18:02:14.689] sendCondition <- ...future.makeSendCondition() [18:02:14.689] sendCondition(cond) [18:02:14.689] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.689] { [18:02:14.689] inherits <- base::inherits [18:02:14.689] invokeRestart <- base::invokeRestart [18:02:14.689] is.null <- base::is.null [18:02:14.689] muffled <- FALSE [18:02:14.689] if (inherits(cond, "message")) { [18:02:14.689] muffled <- grepl(pattern, "muffleMessage") [18:02:14.689] if (muffled) [18:02:14.689] invokeRestart("muffleMessage") [18:02:14.689] } [18:02:14.689] else if (inherits(cond, "warning")) { [18:02:14.689] muffled <- grepl(pattern, "muffleWarning") [18:02:14.689] if (muffled) [18:02:14.689] invokeRestart("muffleWarning") [18:02:14.689] } [18:02:14.689] else if (inherits(cond, "condition")) { [18:02:14.689] if (!is.null(pattern)) { [18:02:14.689] computeRestarts <- base::computeRestarts [18:02:14.689] grepl <- base::grepl [18:02:14.689] restarts <- computeRestarts(cond) [18:02:14.689] for (restart in restarts) { [18:02:14.689] name <- restart$name [18:02:14.689] if (is.null(name)) [18:02:14.689] next [18:02:14.689] if (!grepl(pattern, name)) [18:02:14.689] next [18:02:14.689] invokeRestart(restart) [18:02:14.689] muffled <- TRUE [18:02:14.689] break [18:02:14.689] } [18:02:14.689] } [18:02:14.689] } [18:02:14.689] invisible(muffled) [18:02:14.689] } [18:02:14.689] muffleCondition(cond) [18:02:14.689] }) [18:02:14.689] })) [18:02:14.689] future::FutureResult(value = ...future.value$value, [18:02:14.689] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.689] ...future.rng), globalenv = if (FALSE) [18:02:14.689] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:14.689] ...future.globalenv.names)) [18:02:14.689] else NULL, started = ...future.startTime, version = "1.8") [18:02:14.689] }, condition = base::local({ [18:02:14.689] c <- base::c [18:02:14.689] inherits <- base::inherits [18:02:14.689] invokeRestart <- base::invokeRestart [18:02:14.689] length <- base::length [18:02:14.689] list <- base::list [18:02:14.689] seq.int <- base::seq.int [18:02:14.689] signalCondition <- base::signalCondition [18:02:14.689] sys.calls <- base::sys.calls [18:02:14.689] `[[` <- base::`[[` [18:02:14.689] `+` <- base::`+` [18:02:14.689] `<<-` <- base::`<<-` [18:02:14.689] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:14.689] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:14.689] 3L)] [18:02:14.689] } [18:02:14.689] function(cond) { [18:02:14.689] is_error <- inherits(cond, "error") [18:02:14.689] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:14.689] NULL) [18:02:14.689] if (is_error) { [18:02:14.689] sessionInformation <- function() { [18:02:14.689] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:14.689] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:14.689] search = base::search(), system = base::Sys.info()) [18:02:14.689] } [18:02:14.689] ...future.conditions[[length(...future.conditions) + [18:02:14.689] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:14.689] cond$call), session = sessionInformation(), [18:02:14.689] timestamp = base::Sys.time(), signaled = 0L) [18:02:14.689] signalCondition(cond) [18:02:14.689] } [18:02:14.689] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:14.689] "immediateCondition"))) { [18:02:14.689] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:14.689] ...future.conditions[[length(...future.conditions) + [18:02:14.689] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:14.689] if (TRUE && !signal) { [18:02:14.689] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.689] { [18:02:14.689] inherits <- base::inherits [18:02:14.689] invokeRestart <- base::invokeRestart [18:02:14.689] is.null <- base::is.null [18:02:14.689] muffled <- FALSE [18:02:14.689] if (inherits(cond, "message")) { [18:02:14.689] muffled <- grepl(pattern, "muffleMessage") [18:02:14.689] if (muffled) [18:02:14.689] invokeRestart("muffleMessage") [18:02:14.689] } [18:02:14.689] else if (inherits(cond, "warning")) { [18:02:14.689] muffled <- grepl(pattern, "muffleWarning") [18:02:14.689] if (muffled) [18:02:14.689] invokeRestart("muffleWarning") [18:02:14.689] } [18:02:14.689] else if (inherits(cond, "condition")) { [18:02:14.689] if (!is.null(pattern)) { [18:02:14.689] computeRestarts <- base::computeRestarts [18:02:14.689] grepl <- base::grepl [18:02:14.689] restarts <- computeRestarts(cond) [18:02:14.689] for (restart in restarts) { [18:02:14.689] name <- restart$name [18:02:14.689] if (is.null(name)) [18:02:14.689] next [18:02:14.689] if (!grepl(pattern, name)) [18:02:14.689] next [18:02:14.689] invokeRestart(restart) [18:02:14.689] muffled <- TRUE [18:02:14.689] break [18:02:14.689] } [18:02:14.689] } [18:02:14.689] } [18:02:14.689] invisible(muffled) [18:02:14.689] } [18:02:14.689] muffleCondition(cond, pattern = "^muffle") [18:02:14.689] } [18:02:14.689] } [18:02:14.689] else { [18:02:14.689] if (TRUE) { [18:02:14.689] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.689] { [18:02:14.689] inherits <- base::inherits [18:02:14.689] invokeRestart <- base::invokeRestart [18:02:14.689] is.null <- base::is.null [18:02:14.689] muffled <- FALSE [18:02:14.689] if (inherits(cond, "message")) { [18:02:14.689] muffled <- grepl(pattern, "muffleMessage") [18:02:14.689] if (muffled) [18:02:14.689] invokeRestart("muffleMessage") [18:02:14.689] } [18:02:14.689] else if (inherits(cond, "warning")) { [18:02:14.689] muffled <- grepl(pattern, "muffleWarning") [18:02:14.689] if (muffled) [18:02:14.689] invokeRestart("muffleWarning") [18:02:14.689] } [18:02:14.689] else if (inherits(cond, "condition")) { [18:02:14.689] if (!is.null(pattern)) { [18:02:14.689] computeRestarts <- base::computeRestarts [18:02:14.689] grepl <- base::grepl [18:02:14.689] restarts <- computeRestarts(cond) [18:02:14.689] for (restart in restarts) { [18:02:14.689] name <- restart$name [18:02:14.689] if (is.null(name)) [18:02:14.689] next [18:02:14.689] if (!grepl(pattern, name)) [18:02:14.689] next [18:02:14.689] invokeRestart(restart) [18:02:14.689] muffled <- TRUE [18:02:14.689] break [18:02:14.689] } [18:02:14.689] } [18:02:14.689] } [18:02:14.689] invisible(muffled) [18:02:14.689] } [18:02:14.689] muffleCondition(cond, pattern = "^muffle") [18:02:14.689] } [18:02:14.689] } [18:02:14.689] } [18:02:14.689] })) [18:02:14.689] }, error = function(ex) { [18:02:14.689] base::structure(base::list(value = NULL, visible = NULL, [18:02:14.689] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.689] ...future.rng), started = ...future.startTime, [18:02:14.689] finished = Sys.time(), session_uuid = NA_character_, [18:02:14.689] version = "1.8"), class = "FutureResult") [18:02:14.689] }, finally = { [18:02:14.689] if (!identical(...future.workdir, getwd())) [18:02:14.689] setwd(...future.workdir) [18:02:14.689] { [18:02:14.689] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:14.689] ...future.oldOptions$nwarnings <- NULL [18:02:14.689] } [18:02:14.689] base::options(...future.oldOptions) [18:02:14.689] if (.Platform$OS.type == "windows") { [18:02:14.689] old_names <- names(...future.oldEnvVars) [18:02:14.689] envs <- base::Sys.getenv() [18:02:14.689] names <- names(envs) [18:02:14.689] common <- intersect(names, old_names) [18:02:14.689] added <- setdiff(names, old_names) [18:02:14.689] removed <- setdiff(old_names, names) [18:02:14.689] changed <- common[...future.oldEnvVars[common] != [18:02:14.689] envs[common]] [18:02:14.689] NAMES <- toupper(changed) [18:02:14.689] args <- list() [18:02:14.689] for (kk in seq_along(NAMES)) { [18:02:14.689] name <- changed[[kk]] [18:02:14.689] NAME <- NAMES[[kk]] [18:02:14.689] if (name != NAME && is.element(NAME, old_names)) [18:02:14.689] next [18:02:14.689] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.689] } [18:02:14.689] NAMES <- toupper(added) [18:02:14.689] for (kk in seq_along(NAMES)) { [18:02:14.689] name <- added[[kk]] [18:02:14.689] NAME <- NAMES[[kk]] [18:02:14.689] if (name != NAME && is.element(NAME, old_names)) [18:02:14.689] next [18:02:14.689] args[[name]] <- "" [18:02:14.689] } [18:02:14.689] NAMES <- toupper(removed) [18:02:14.689] for (kk in seq_along(NAMES)) { [18:02:14.689] name <- removed[[kk]] [18:02:14.689] NAME <- NAMES[[kk]] [18:02:14.689] if (name != NAME && is.element(NAME, old_names)) [18:02:14.689] next [18:02:14.689] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.689] } [18:02:14.689] if (length(args) > 0) [18:02:14.689] base::do.call(base::Sys.setenv, args = args) [18:02:14.689] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:14.689] } [18:02:14.689] else { [18:02:14.689] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:14.689] } [18:02:14.689] { [18:02:14.689] if (base::length(...future.futureOptionsAdded) > [18:02:14.689] 0L) { [18:02:14.689] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:14.689] base::names(opts) <- ...future.futureOptionsAdded [18:02:14.689] base::options(opts) [18:02:14.689] } [18:02:14.689] { [18:02:14.689] { [18:02:14.689] base::options(mc.cores = ...future.mc.cores.old) [18:02:14.689] NULL [18:02:14.689] } [18:02:14.689] options(future.plan = NULL) [18:02:14.689] if (is.na(NA_character_)) [18:02:14.689] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.689] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:14.689] future::plan(list(function (..., envir = parent.frame()) [18:02:14.689] { [18:02:14.689] future <- SequentialFuture(..., envir = envir) [18:02:14.689] if (!future$lazy) [18:02:14.689] future <- run(future) [18:02:14.689] invisible(future) [18:02:14.689] }), .cleanup = FALSE, .init = FALSE) [18:02:14.689] } [18:02:14.689] } [18:02:14.689] } [18:02:14.689] }) [18:02:14.689] if (TRUE) { [18:02:14.689] base::sink(type = "output", split = FALSE) [18:02:14.689] if (TRUE) { [18:02:14.689] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:14.689] } [18:02:14.689] else { [18:02:14.689] ...future.result["stdout"] <- base::list(NULL) [18:02:14.689] } [18:02:14.689] base::close(...future.stdout) [18:02:14.689] ...future.stdout <- NULL [18:02:14.689] } [18:02:14.689] ...future.result$conditions <- ...future.conditions [18:02:14.689] ...future.result$finished <- base::Sys.time() [18:02:14.689] ...future.result [18:02:14.689] } [18:02:14.775] Exporting 1 global objects (56 bytes) to cluster node #2 ... [18:02:14.775] Exporting 'ii' (56 bytes) to cluster node #2 ... [18:02:14.776] Exporting 'ii' (56 bytes) to cluster node #2 ... DONE [18:02:14.776] Exporting 1 global objects (56 bytes) to cluster node #2 ... DONE [18:02:14.777] MultisessionFuture started - Resolving 2 multisession futures [18:02:14.777] result() for ClusterFuture ... [18:02:14.777] receiveMessageFromWorker() for ClusterFuture ... [18:02:14.778] - Validating connection of MultisessionFuture [18:02:14.831] - received message: FutureResult [18:02:14.831] - Received FutureResult [18:02:14.831] - Erased future from FutureRegistry [18:02:14.831] result() for ClusterFuture ... [18:02:14.831] - result already collected: FutureResult [18:02:14.832] result() for ClusterFuture ... done [18:02:14.832] receiveMessageFromWorker() for ClusterFuture ... done [18:02:14.832] result() for ClusterFuture ... done [18:02:14.832] result() for ClusterFuture ... [18:02:14.832] - result already collected: FutureResult [18:02:14.832] result() for ClusterFuture ... done [18:02:14.833] result() for ClusterFuture ... [18:02:14.833] receiveMessageFromWorker() for ClusterFuture ... [18:02:14.833] - Validating connection of MultisessionFuture [18:02:14.833] - received message: FutureResult [18:02:14.834] - Received FutureResult [18:02:14.834] - Erased future from FutureRegistry [18:02:14.834] result() for ClusterFuture ... [18:02:14.834] - result already collected: FutureResult [18:02:14.834] result() for ClusterFuture ... done [18:02:14.834] receiveMessageFromWorker() for ClusterFuture ... done [18:02:14.835] result() for ClusterFuture ... done [18:02:14.835] result() for ClusterFuture ... [18:02:14.835] - result already collected: FutureResult [18:02:14.835] result() for ClusterFuture ... done *** multisession() - workers inherit .libPaths() [18:02:14.836] getGlobalsAndPackages() ... [18:02:14.836] Searching for globals... [18:02:14.836] - globals found: [1] '.libPaths' [18:02:14.837] Searching for globals ... DONE [18:02:14.837] Resolving globals: FALSE [18:02:14.837] [18:02:14.837] [18:02:14.838] getGlobalsAndPackages() ... DONE [18:02:14.838] run() for 'Future' ... [18:02:14.838] - state: 'created' [18:02:14.838] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:14.839] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:14.839] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:14.839] - Field: 'label' [18:02:14.840] - Field: 'local' [18:02:14.840] - Field: 'owner' [18:02:14.840] - Field: 'envir' [18:02:14.840] - Field: 'packages' [18:02:14.840] - Field: 'gc' [18:02:14.841] - Field: 'conditions' [18:02:14.841] - Field: 'expr' [18:02:14.841] - Field: 'uuid' [18:02:14.841] - Field: 'seed' [18:02:14.841] - Field: 'version' [18:02:14.842] - Field: 'result' [18:02:14.842] - Field: 'asynchronous' [18:02:14.842] - Field: 'calls' [18:02:14.842] - Field: 'globals' [18:02:14.842] - Field: 'stdout' [18:02:14.843] - Field: 'earlySignal' [18:02:14.843] - Field: 'lazy' [18:02:14.843] - Field: 'state' [18:02:14.843] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:14.843] - Launch lazy future ... [18:02:14.844] Packages needed by the future expression (n = 0): [18:02:14.844] Packages needed by future strategies (n = 0): [18:02:14.844] { [18:02:14.844] { [18:02:14.844] { [18:02:14.844] ...future.startTime <- base::Sys.time() [18:02:14.844] { [18:02:14.844] { [18:02:14.844] { [18:02:14.844] base::local({ [18:02:14.844] has_future <- base::requireNamespace("future", [18:02:14.844] quietly = TRUE) [18:02:14.844] if (has_future) { [18:02:14.844] ns <- base::getNamespace("future") [18:02:14.844] version <- ns[[".package"]][["version"]] [18:02:14.844] if (is.null(version)) [18:02:14.844] version <- utils::packageVersion("future") [18:02:14.844] } [18:02:14.844] else { [18:02:14.844] version <- NULL [18:02:14.844] } [18:02:14.844] if (!has_future || version < "1.8.0") { [18:02:14.844] info <- base::c(r_version = base::gsub("R version ", [18:02:14.844] "", base::R.version$version.string), [18:02:14.844] platform = base::sprintf("%s (%s-bit)", [18:02:14.844] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:14.844] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:14.844] "release", "version")], collapse = " "), [18:02:14.844] hostname = base::Sys.info()[["nodename"]]) [18:02:14.844] info <- base::sprintf("%s: %s", base::names(info), [18:02:14.844] info) [18:02:14.844] info <- base::paste(info, collapse = "; ") [18:02:14.844] if (!has_future) { [18:02:14.844] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:14.844] info) [18:02:14.844] } [18:02:14.844] else { [18:02:14.844] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:14.844] info, version) [18:02:14.844] } [18:02:14.844] base::stop(msg) [18:02:14.844] } [18:02:14.844] }) [18:02:14.844] } [18:02:14.844] options(future.plan = NULL) [18:02:14.844] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.844] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:14.844] } [18:02:14.844] ...future.workdir <- getwd() [18:02:14.844] } [18:02:14.844] ...future.oldOptions <- base::as.list(base::.Options) [18:02:14.844] ...future.oldEnvVars <- base::Sys.getenv() [18:02:14.844] } [18:02:14.844] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:14.844] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:14.844] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:14.844] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:14.844] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:14.844] future.stdout.windows.reencode = NULL, width = 80L) [18:02:14.844] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:14.844] base::names(...future.oldOptions)) [18:02:14.844] } [18:02:14.844] if (FALSE) { [18:02:14.844] } [18:02:14.844] else { [18:02:14.844] if (TRUE) { [18:02:14.844] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:14.844] open = "w") [18:02:14.844] } [18:02:14.844] else { [18:02:14.844] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:14.844] windows = "NUL", "/dev/null"), open = "w") [18:02:14.844] } [18:02:14.844] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:14.844] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:14.844] base::sink(type = "output", split = FALSE) [18:02:14.844] base::close(...future.stdout) [18:02:14.844] }, add = TRUE) [18:02:14.844] } [18:02:14.844] ...future.frame <- base::sys.nframe() [18:02:14.844] ...future.conditions <- base::list() [18:02:14.844] ...future.rng <- base::globalenv()$.Random.seed [18:02:14.844] if (FALSE) { [18:02:14.844] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:14.844] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:14.844] } [18:02:14.844] ...future.result <- base::tryCatch({ [18:02:14.844] base::withCallingHandlers({ [18:02:14.844] ...future.value <- base::withVisible(base::local(.libPaths())) [18:02:14.844] future::FutureResult(value = ...future.value$value, [18:02:14.844] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.844] ...future.rng), globalenv = if (FALSE) [18:02:14.844] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:14.844] ...future.globalenv.names)) [18:02:14.844] else NULL, started = ...future.startTime, version = "1.8") [18:02:14.844] }, condition = base::local({ [18:02:14.844] c <- base::c [18:02:14.844] inherits <- base::inherits [18:02:14.844] invokeRestart <- base::invokeRestart [18:02:14.844] length <- base::length [18:02:14.844] list <- base::list [18:02:14.844] seq.int <- base::seq.int [18:02:14.844] signalCondition <- base::signalCondition [18:02:14.844] sys.calls <- base::sys.calls [18:02:14.844] `[[` <- base::`[[` [18:02:14.844] `+` <- base::`+` [18:02:14.844] `<<-` <- base::`<<-` [18:02:14.844] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:14.844] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:14.844] 3L)] [18:02:14.844] } [18:02:14.844] function(cond) { [18:02:14.844] is_error <- inherits(cond, "error") [18:02:14.844] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:14.844] NULL) [18:02:14.844] if (is_error) { [18:02:14.844] sessionInformation <- function() { [18:02:14.844] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:14.844] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:14.844] search = base::search(), system = base::Sys.info()) [18:02:14.844] } [18:02:14.844] ...future.conditions[[length(...future.conditions) + [18:02:14.844] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:14.844] cond$call), session = sessionInformation(), [18:02:14.844] timestamp = base::Sys.time(), signaled = 0L) [18:02:14.844] signalCondition(cond) [18:02:14.844] } [18:02:14.844] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:14.844] "immediateCondition"))) { [18:02:14.844] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:14.844] ...future.conditions[[length(...future.conditions) + [18:02:14.844] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:14.844] if (TRUE && !signal) { [18:02:14.844] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.844] { [18:02:14.844] inherits <- base::inherits [18:02:14.844] invokeRestart <- base::invokeRestart [18:02:14.844] is.null <- base::is.null [18:02:14.844] muffled <- FALSE [18:02:14.844] if (inherits(cond, "message")) { [18:02:14.844] muffled <- grepl(pattern, "muffleMessage") [18:02:14.844] if (muffled) [18:02:14.844] invokeRestart("muffleMessage") [18:02:14.844] } [18:02:14.844] else if (inherits(cond, "warning")) { [18:02:14.844] muffled <- grepl(pattern, "muffleWarning") [18:02:14.844] if (muffled) [18:02:14.844] invokeRestart("muffleWarning") [18:02:14.844] } [18:02:14.844] else if (inherits(cond, "condition")) { [18:02:14.844] if (!is.null(pattern)) { [18:02:14.844] computeRestarts <- base::computeRestarts [18:02:14.844] grepl <- base::grepl [18:02:14.844] restarts <- computeRestarts(cond) [18:02:14.844] for (restart in restarts) { [18:02:14.844] name <- restart$name [18:02:14.844] if (is.null(name)) [18:02:14.844] next [18:02:14.844] if (!grepl(pattern, name)) [18:02:14.844] next [18:02:14.844] invokeRestart(restart) [18:02:14.844] muffled <- TRUE [18:02:14.844] break [18:02:14.844] } [18:02:14.844] } [18:02:14.844] } [18:02:14.844] invisible(muffled) [18:02:14.844] } [18:02:14.844] muffleCondition(cond, pattern = "^muffle") [18:02:14.844] } [18:02:14.844] } [18:02:14.844] else { [18:02:14.844] if (TRUE) { [18:02:14.844] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.844] { [18:02:14.844] inherits <- base::inherits [18:02:14.844] invokeRestart <- base::invokeRestart [18:02:14.844] is.null <- base::is.null [18:02:14.844] muffled <- FALSE [18:02:14.844] if (inherits(cond, "message")) { [18:02:14.844] muffled <- grepl(pattern, "muffleMessage") [18:02:14.844] if (muffled) [18:02:14.844] invokeRestart("muffleMessage") [18:02:14.844] } [18:02:14.844] else if (inherits(cond, "warning")) { [18:02:14.844] muffled <- grepl(pattern, "muffleWarning") [18:02:14.844] if (muffled) [18:02:14.844] invokeRestart("muffleWarning") [18:02:14.844] } [18:02:14.844] else if (inherits(cond, "condition")) { [18:02:14.844] if (!is.null(pattern)) { [18:02:14.844] computeRestarts <- base::computeRestarts [18:02:14.844] grepl <- base::grepl [18:02:14.844] restarts <- computeRestarts(cond) [18:02:14.844] for (restart in restarts) { [18:02:14.844] name <- restart$name [18:02:14.844] if (is.null(name)) [18:02:14.844] next [18:02:14.844] if (!grepl(pattern, name)) [18:02:14.844] next [18:02:14.844] invokeRestart(restart) [18:02:14.844] muffled <- TRUE [18:02:14.844] break [18:02:14.844] } [18:02:14.844] } [18:02:14.844] } [18:02:14.844] invisible(muffled) [18:02:14.844] } [18:02:14.844] muffleCondition(cond, pattern = "^muffle") [18:02:14.844] } [18:02:14.844] } [18:02:14.844] } [18:02:14.844] })) [18:02:14.844] }, error = function(ex) { [18:02:14.844] base::structure(base::list(value = NULL, visible = NULL, [18:02:14.844] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.844] ...future.rng), started = ...future.startTime, [18:02:14.844] finished = Sys.time(), session_uuid = NA_character_, [18:02:14.844] version = "1.8"), class = "FutureResult") [18:02:14.844] }, finally = { [18:02:14.844] if (!identical(...future.workdir, getwd())) [18:02:14.844] setwd(...future.workdir) [18:02:14.844] { [18:02:14.844] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:14.844] ...future.oldOptions$nwarnings <- NULL [18:02:14.844] } [18:02:14.844] base::options(...future.oldOptions) [18:02:14.844] if (.Platform$OS.type == "windows") { [18:02:14.844] old_names <- names(...future.oldEnvVars) [18:02:14.844] envs <- base::Sys.getenv() [18:02:14.844] names <- names(envs) [18:02:14.844] common <- intersect(names, old_names) [18:02:14.844] added <- setdiff(names, old_names) [18:02:14.844] removed <- setdiff(old_names, names) [18:02:14.844] changed <- common[...future.oldEnvVars[common] != [18:02:14.844] envs[common]] [18:02:14.844] NAMES <- toupper(changed) [18:02:14.844] args <- list() [18:02:14.844] for (kk in seq_along(NAMES)) { [18:02:14.844] name <- changed[[kk]] [18:02:14.844] NAME <- NAMES[[kk]] [18:02:14.844] if (name != NAME && is.element(NAME, old_names)) [18:02:14.844] next [18:02:14.844] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.844] } [18:02:14.844] NAMES <- toupper(added) [18:02:14.844] for (kk in seq_along(NAMES)) { [18:02:14.844] name <- added[[kk]] [18:02:14.844] NAME <- NAMES[[kk]] [18:02:14.844] if (name != NAME && is.element(NAME, old_names)) [18:02:14.844] next [18:02:14.844] args[[name]] <- "" [18:02:14.844] } [18:02:14.844] NAMES <- toupper(removed) [18:02:14.844] for (kk in seq_along(NAMES)) { [18:02:14.844] name <- removed[[kk]] [18:02:14.844] NAME <- NAMES[[kk]] [18:02:14.844] if (name != NAME && is.element(NAME, old_names)) [18:02:14.844] next [18:02:14.844] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.844] } [18:02:14.844] if (length(args) > 0) [18:02:14.844] base::do.call(base::Sys.setenv, args = args) [18:02:14.844] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:14.844] } [18:02:14.844] else { [18:02:14.844] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:14.844] } [18:02:14.844] { [18:02:14.844] if (base::length(...future.futureOptionsAdded) > [18:02:14.844] 0L) { [18:02:14.844] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:14.844] base::names(opts) <- ...future.futureOptionsAdded [18:02:14.844] base::options(opts) [18:02:14.844] } [18:02:14.844] { [18:02:14.844] { [18:02:14.844] NULL [18:02:14.844] RNGkind("Mersenne-Twister") [18:02:14.844] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:14.844] inherits = FALSE) [18:02:14.844] } [18:02:14.844] options(future.plan = NULL) [18:02:14.844] if (is.na(NA_character_)) [18:02:14.844] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.844] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:14.844] future::plan(list(function (..., envir = parent.frame()) [18:02:14.844] { [18:02:14.844] future <- SequentialFuture(..., envir = envir) [18:02:14.844] if (!future$lazy) [18:02:14.844] future <- run(future) [18:02:14.844] invisible(future) [18:02:14.844] }), .cleanup = FALSE, .init = FALSE) [18:02:14.844] } [18:02:14.844] } [18:02:14.844] } [18:02:14.844] }) [18:02:14.844] if (TRUE) { [18:02:14.844] base::sink(type = "output", split = FALSE) [18:02:14.844] if (TRUE) { [18:02:14.844] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:14.844] } [18:02:14.844] else { [18:02:14.844] ...future.result["stdout"] <- base::list(NULL) [18:02:14.844] } [18:02:14.844] base::close(...future.stdout) [18:02:14.844] ...future.stdout <- NULL [18:02:14.844] } [18:02:14.844] ...future.result$conditions <- ...future.conditions [18:02:14.844] ...future.result$finished <- base::Sys.time() [18:02:14.844] ...future.result [18:02:14.844] } [18:02:14.849] plan(): Setting new future strategy stack: [18:02:14.849] List of future strategies: [18:02:14.849] 1. sequential: [18:02:14.849] - args: function (..., envir = parent.frame()) [18:02:14.849] - tweaked: FALSE [18:02:14.849] - call: NULL [18:02:14.849] plan(): nbrOfWorkers() = 1 [18:02:14.853] plan(): Setting new future strategy stack: [18:02:14.853] List of future strategies: [18:02:14.853] 1. sequential: [18:02:14.853] - args: function (..., envir = parent.frame()) [18:02:14.853] - tweaked: FALSE [18:02:14.853] - call: future::plan("sequential") [18:02:14.854] plan(): nbrOfWorkers() = 1 [18:02:14.854] SequentialFuture started (and completed) [18:02:14.854] - Launch lazy future ... done [18:02:14.854] run() for 'SequentialFuture' ... done List of 2 $ main : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" $ workers: chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" *** multisession() and errors [18:02:14.858] getGlobalsAndPackages() ... [18:02:14.858] [18:02:14.858] - globals: [0] [18:02:14.858] getGlobalsAndPackages() ... DONE [18:02:14.870] Packages needed by the future expression (n = 0): [18:02:14.870] Packages needed by future strategies (n = 0): [18:02:14.871] { [18:02:14.871] { [18:02:14.871] { [18:02:14.871] ...future.startTime <- base::Sys.time() [18:02:14.871] { [18:02:14.871] { [18:02:14.871] { [18:02:14.871] { [18:02:14.871] base::local({ [18:02:14.871] has_future <- base::requireNamespace("future", [18:02:14.871] quietly = TRUE) [18:02:14.871] if (has_future) { [18:02:14.871] ns <- base::getNamespace("future") [18:02:14.871] version <- ns[[".package"]][["version"]] [18:02:14.871] if (is.null(version)) [18:02:14.871] version <- utils::packageVersion("future") [18:02:14.871] } [18:02:14.871] else { [18:02:14.871] version <- NULL [18:02:14.871] } [18:02:14.871] if (!has_future || version < "1.8.0") { [18:02:14.871] info <- base::c(r_version = base::gsub("R version ", [18:02:14.871] "", base::R.version$version.string), [18:02:14.871] platform = base::sprintf("%s (%s-bit)", [18:02:14.871] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:14.871] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:14.871] "release", "version")], collapse = " "), [18:02:14.871] hostname = base::Sys.info()[["nodename"]]) [18:02:14.871] info <- base::sprintf("%s: %s", base::names(info), [18:02:14.871] info) [18:02:14.871] info <- base::paste(info, collapse = "; ") [18:02:14.871] if (!has_future) { [18:02:14.871] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:14.871] info) [18:02:14.871] } [18:02:14.871] else { [18:02:14.871] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:14.871] info, version) [18:02:14.871] } [18:02:14.871] base::stop(msg) [18:02:14.871] } [18:02:14.871] }) [18:02:14.871] } [18:02:14.871] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:14.871] base::options(mc.cores = 1L) [18:02:14.871] } [18:02:14.871] options(future.plan = NULL) [18:02:14.871] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.871] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:14.871] } [18:02:14.871] ...future.workdir <- getwd() [18:02:14.871] } [18:02:14.871] ...future.oldOptions <- base::as.list(base::.Options) [18:02:14.871] ...future.oldEnvVars <- base::Sys.getenv() [18:02:14.871] } [18:02:14.871] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:14.871] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:14.871] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:14.871] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:14.871] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:14.871] future.stdout.windows.reencode = NULL, width = 80L) [18:02:14.871] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:14.871] base::names(...future.oldOptions)) [18:02:14.871] } [18:02:14.871] if (FALSE) { [18:02:14.871] } [18:02:14.871] else { [18:02:14.871] if (TRUE) { [18:02:14.871] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:14.871] open = "w") [18:02:14.871] } [18:02:14.871] else { [18:02:14.871] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:14.871] windows = "NUL", "/dev/null"), open = "w") [18:02:14.871] } [18:02:14.871] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:14.871] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:14.871] base::sink(type = "output", split = FALSE) [18:02:14.871] base::close(...future.stdout) [18:02:14.871] }, add = TRUE) [18:02:14.871] } [18:02:14.871] ...future.frame <- base::sys.nframe() [18:02:14.871] ...future.conditions <- base::list() [18:02:14.871] ...future.rng <- base::globalenv()$.Random.seed [18:02:14.871] if (FALSE) { [18:02:14.871] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:14.871] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:14.871] } [18:02:14.871] ...future.result <- base::tryCatch({ [18:02:14.871] base::withCallingHandlers({ [18:02:14.871] ...future.value <- base::withVisible(base::local({ [18:02:14.871] ...future.makeSendCondition <- local({ [18:02:14.871] sendCondition <- NULL [18:02:14.871] function(frame = 1L) { [18:02:14.871] if (is.function(sendCondition)) [18:02:14.871] return(sendCondition) [18:02:14.871] ns <- getNamespace("parallel") [18:02:14.871] if (exists("sendData", mode = "function", [18:02:14.871] envir = ns)) { [18:02:14.871] parallel_sendData <- get("sendData", mode = "function", [18:02:14.871] envir = ns) [18:02:14.871] envir <- sys.frame(frame) [18:02:14.871] master <- NULL [18:02:14.871] while (!identical(envir, .GlobalEnv) && [18:02:14.871] !identical(envir, emptyenv())) { [18:02:14.871] if (exists("master", mode = "list", envir = envir, [18:02:14.871] inherits = FALSE)) { [18:02:14.871] master <- get("master", mode = "list", [18:02:14.871] envir = envir, inherits = FALSE) [18:02:14.871] if (inherits(master, c("SOCKnode", [18:02:14.871] "SOCK0node"))) { [18:02:14.871] sendCondition <<- function(cond) { [18:02:14.871] data <- list(type = "VALUE", value = cond, [18:02:14.871] success = TRUE) [18:02:14.871] parallel_sendData(master, data) [18:02:14.871] } [18:02:14.871] return(sendCondition) [18:02:14.871] } [18:02:14.871] } [18:02:14.871] frame <- frame + 1L [18:02:14.871] envir <- sys.frame(frame) [18:02:14.871] } [18:02:14.871] } [18:02:14.871] sendCondition <<- function(cond) NULL [18:02:14.871] } [18:02:14.871] }) [18:02:14.871] withCallingHandlers({ [18:02:14.871] { [18:02:14.871] stop("Whoops!") [18:02:14.871] 1 [18:02:14.871] } [18:02:14.871] }, immediateCondition = function(cond) { [18:02:14.871] sendCondition <- ...future.makeSendCondition() [18:02:14.871] sendCondition(cond) [18:02:14.871] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.871] { [18:02:14.871] inherits <- base::inherits [18:02:14.871] invokeRestart <- base::invokeRestart [18:02:14.871] is.null <- base::is.null [18:02:14.871] muffled <- FALSE [18:02:14.871] if (inherits(cond, "message")) { [18:02:14.871] muffled <- grepl(pattern, "muffleMessage") [18:02:14.871] if (muffled) [18:02:14.871] invokeRestart("muffleMessage") [18:02:14.871] } [18:02:14.871] else if (inherits(cond, "warning")) { [18:02:14.871] muffled <- grepl(pattern, "muffleWarning") [18:02:14.871] if (muffled) [18:02:14.871] invokeRestart("muffleWarning") [18:02:14.871] } [18:02:14.871] else if (inherits(cond, "condition")) { [18:02:14.871] if (!is.null(pattern)) { [18:02:14.871] computeRestarts <- base::computeRestarts [18:02:14.871] grepl <- base::grepl [18:02:14.871] restarts <- computeRestarts(cond) [18:02:14.871] for (restart in restarts) { [18:02:14.871] name <- restart$name [18:02:14.871] if (is.null(name)) [18:02:14.871] next [18:02:14.871] if (!grepl(pattern, name)) [18:02:14.871] next [18:02:14.871] invokeRestart(restart) [18:02:14.871] muffled <- TRUE [18:02:14.871] break [18:02:14.871] } [18:02:14.871] } [18:02:14.871] } [18:02:14.871] invisible(muffled) [18:02:14.871] } [18:02:14.871] muffleCondition(cond) [18:02:14.871] }) [18:02:14.871] })) [18:02:14.871] future::FutureResult(value = ...future.value$value, [18:02:14.871] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.871] ...future.rng), globalenv = if (FALSE) [18:02:14.871] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:14.871] ...future.globalenv.names)) [18:02:14.871] else NULL, started = ...future.startTime, version = "1.8") [18:02:14.871] }, condition = base::local({ [18:02:14.871] c <- base::c [18:02:14.871] inherits <- base::inherits [18:02:14.871] invokeRestart <- base::invokeRestart [18:02:14.871] length <- base::length [18:02:14.871] list <- base::list [18:02:14.871] seq.int <- base::seq.int [18:02:14.871] signalCondition <- base::signalCondition [18:02:14.871] sys.calls <- base::sys.calls [18:02:14.871] `[[` <- base::`[[` [18:02:14.871] `+` <- base::`+` [18:02:14.871] `<<-` <- base::`<<-` [18:02:14.871] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:14.871] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:14.871] 3L)] [18:02:14.871] } [18:02:14.871] function(cond) { [18:02:14.871] is_error <- inherits(cond, "error") [18:02:14.871] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:14.871] NULL) [18:02:14.871] if (is_error) { [18:02:14.871] sessionInformation <- function() { [18:02:14.871] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:14.871] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:14.871] search = base::search(), system = base::Sys.info()) [18:02:14.871] } [18:02:14.871] ...future.conditions[[length(...future.conditions) + [18:02:14.871] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:14.871] cond$call), session = sessionInformation(), [18:02:14.871] timestamp = base::Sys.time(), signaled = 0L) [18:02:14.871] signalCondition(cond) [18:02:14.871] } [18:02:14.871] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:14.871] "immediateCondition"))) { [18:02:14.871] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:14.871] ...future.conditions[[length(...future.conditions) + [18:02:14.871] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:14.871] if (TRUE && !signal) { [18:02:14.871] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.871] { [18:02:14.871] inherits <- base::inherits [18:02:14.871] invokeRestart <- base::invokeRestart [18:02:14.871] is.null <- base::is.null [18:02:14.871] muffled <- FALSE [18:02:14.871] if (inherits(cond, "message")) { [18:02:14.871] muffled <- grepl(pattern, "muffleMessage") [18:02:14.871] if (muffled) [18:02:14.871] invokeRestart("muffleMessage") [18:02:14.871] } [18:02:14.871] else if (inherits(cond, "warning")) { [18:02:14.871] muffled <- grepl(pattern, "muffleWarning") [18:02:14.871] if (muffled) [18:02:14.871] invokeRestart("muffleWarning") [18:02:14.871] } [18:02:14.871] else if (inherits(cond, "condition")) { [18:02:14.871] if (!is.null(pattern)) { [18:02:14.871] computeRestarts <- base::computeRestarts [18:02:14.871] grepl <- base::grepl [18:02:14.871] restarts <- computeRestarts(cond) [18:02:14.871] for (restart in restarts) { [18:02:14.871] name <- restart$name [18:02:14.871] if (is.null(name)) [18:02:14.871] next [18:02:14.871] if (!grepl(pattern, name)) [18:02:14.871] next [18:02:14.871] invokeRestart(restart) [18:02:14.871] muffled <- TRUE [18:02:14.871] break [18:02:14.871] } [18:02:14.871] } [18:02:14.871] } [18:02:14.871] invisible(muffled) [18:02:14.871] } [18:02:14.871] muffleCondition(cond, pattern = "^muffle") [18:02:14.871] } [18:02:14.871] } [18:02:14.871] else { [18:02:14.871] if (TRUE) { [18:02:14.871] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.871] { [18:02:14.871] inherits <- base::inherits [18:02:14.871] invokeRestart <- base::invokeRestart [18:02:14.871] is.null <- base::is.null [18:02:14.871] muffled <- FALSE [18:02:14.871] if (inherits(cond, "message")) { [18:02:14.871] muffled <- grepl(pattern, "muffleMessage") [18:02:14.871] if (muffled) [18:02:14.871] invokeRestart("muffleMessage") [18:02:14.871] } [18:02:14.871] else if (inherits(cond, "warning")) { [18:02:14.871] muffled <- grepl(pattern, "muffleWarning") [18:02:14.871] if (muffled) [18:02:14.871] invokeRestart("muffleWarning") [18:02:14.871] } [18:02:14.871] else if (inherits(cond, "condition")) { [18:02:14.871] if (!is.null(pattern)) { [18:02:14.871] computeRestarts <- base::computeRestarts [18:02:14.871] grepl <- base::grepl [18:02:14.871] restarts <- computeRestarts(cond) [18:02:14.871] for (restart in restarts) { [18:02:14.871] name <- restart$name [18:02:14.871] if (is.null(name)) [18:02:14.871] next [18:02:14.871] if (!grepl(pattern, name)) [18:02:14.871] next [18:02:14.871] invokeRestart(restart) [18:02:14.871] muffled <- TRUE [18:02:14.871] break [18:02:14.871] } [18:02:14.871] } [18:02:14.871] } [18:02:14.871] invisible(muffled) [18:02:14.871] } [18:02:14.871] muffleCondition(cond, pattern = "^muffle") [18:02:14.871] } [18:02:14.871] } [18:02:14.871] } [18:02:14.871] })) [18:02:14.871] }, error = function(ex) { [18:02:14.871] base::structure(base::list(value = NULL, visible = NULL, [18:02:14.871] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.871] ...future.rng), started = ...future.startTime, [18:02:14.871] finished = Sys.time(), session_uuid = NA_character_, [18:02:14.871] version = "1.8"), class = "FutureResult") [18:02:14.871] }, finally = { [18:02:14.871] if (!identical(...future.workdir, getwd())) [18:02:14.871] setwd(...future.workdir) [18:02:14.871] { [18:02:14.871] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:14.871] ...future.oldOptions$nwarnings <- NULL [18:02:14.871] } [18:02:14.871] base::options(...future.oldOptions) [18:02:14.871] if (.Platform$OS.type == "windows") { [18:02:14.871] old_names <- names(...future.oldEnvVars) [18:02:14.871] envs <- base::Sys.getenv() [18:02:14.871] names <- names(envs) [18:02:14.871] common <- intersect(names, old_names) [18:02:14.871] added <- setdiff(names, old_names) [18:02:14.871] removed <- setdiff(old_names, names) [18:02:14.871] changed <- common[...future.oldEnvVars[common] != [18:02:14.871] envs[common]] [18:02:14.871] NAMES <- toupper(changed) [18:02:14.871] args <- list() [18:02:14.871] for (kk in seq_along(NAMES)) { [18:02:14.871] name <- changed[[kk]] [18:02:14.871] NAME <- NAMES[[kk]] [18:02:14.871] if (name != NAME && is.element(NAME, old_names)) [18:02:14.871] next [18:02:14.871] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.871] } [18:02:14.871] NAMES <- toupper(added) [18:02:14.871] for (kk in seq_along(NAMES)) { [18:02:14.871] name <- added[[kk]] [18:02:14.871] NAME <- NAMES[[kk]] [18:02:14.871] if (name != NAME && is.element(NAME, old_names)) [18:02:14.871] next [18:02:14.871] args[[name]] <- "" [18:02:14.871] } [18:02:14.871] NAMES <- toupper(removed) [18:02:14.871] for (kk in seq_along(NAMES)) { [18:02:14.871] name <- removed[[kk]] [18:02:14.871] NAME <- NAMES[[kk]] [18:02:14.871] if (name != NAME && is.element(NAME, old_names)) [18:02:14.871] next [18:02:14.871] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.871] } [18:02:14.871] if (length(args) > 0) [18:02:14.871] base::do.call(base::Sys.setenv, args = args) [18:02:14.871] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:14.871] } [18:02:14.871] else { [18:02:14.871] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:14.871] } [18:02:14.871] { [18:02:14.871] if (base::length(...future.futureOptionsAdded) > [18:02:14.871] 0L) { [18:02:14.871] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:14.871] base::names(opts) <- ...future.futureOptionsAdded [18:02:14.871] base::options(opts) [18:02:14.871] } [18:02:14.871] { [18:02:14.871] { [18:02:14.871] base::options(mc.cores = ...future.mc.cores.old) [18:02:14.871] NULL [18:02:14.871] } [18:02:14.871] options(future.plan = NULL) [18:02:14.871] if (is.na(NA_character_)) [18:02:14.871] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.871] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:14.871] future::plan(list(function (..., envir = parent.frame()) [18:02:14.871] { [18:02:14.871] future <- SequentialFuture(..., envir = envir) [18:02:14.871] if (!future$lazy) [18:02:14.871] future <- run(future) [18:02:14.871] invisible(future) [18:02:14.871] }), .cleanup = FALSE, .init = FALSE) [18:02:14.871] } [18:02:14.871] } [18:02:14.871] } [18:02:14.871] }) [18:02:14.871] if (TRUE) { [18:02:14.871] base::sink(type = "output", split = FALSE) [18:02:14.871] if (TRUE) { [18:02:14.871] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:14.871] } [18:02:14.871] else { [18:02:14.871] ...future.result["stdout"] <- base::list(NULL) [18:02:14.871] } [18:02:14.871] base::close(...future.stdout) [18:02:14.871] ...future.stdout <- NULL [18:02:14.871] } [18:02:14.871] ...future.result$conditions <- ...future.conditions [18:02:14.871] ...future.result$finished <- base::Sys.time() [18:02:14.871] ...future.result [18:02:14.871] } [18:02:14.876] 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) [18:02:14.894] receiveMessageFromWorker() for ClusterFuture ... [18:02:14.894] - Validating connection of MultisessionFuture [18:02:14.895] - received message: FutureResult [18:02:14.895] - Received FutureResult [18:02:14.895] - Erased future from FutureRegistry [18:02:14.895] result() for ClusterFuture ... [18:02:14.895] - result already collected: FutureResult [18:02:14.895] result() for ClusterFuture ... done [18:02:14.896] signalConditions() ... [18:02:14.896] - include = 'immediateCondition' [18:02:14.896] - exclude = [18:02:14.896] - resignal = FALSE [18:02:14.896] - Number of conditions: 1 [18:02:14.896] signalConditions() ... done [18:02:14.897] receiveMessageFromWorker() for ClusterFuture ... done Resolved: TRUE Value: Conditions captured: Early signaling: FALSE Owner process: a4012676-0af7-de90-02dc-9e3925928fa1 Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:14.897] result() for ClusterFuture ... [18:02:14.897] - result already collected: FutureResult [18:02:14.897] result() for ClusterFuture ... done [18:02:14.897] result() for ClusterFuture ... [18:02:14.897] - result already collected: FutureResult [18:02:14.898] result() for ClusterFuture ... done [18:02:14.898] signalConditions() ... [18:02:14.898] - include = 'immediateCondition' [18:02:14.898] - exclude = [18:02:14.898] - resignal = FALSE [18:02:14.898] - Number of conditions: 1 [18:02:14.899] signalConditions() ... done [18:02:14.899] result() for ClusterFuture ... [18:02:14.899] - result already collected: FutureResult [18:02:14.900] result() for ClusterFuture ... done [18:02:14.900] result() for ClusterFuture ... [18:02:14.900] - result already collected: FutureResult [18:02:14.900] result() for ClusterFuture ... done [18:02:14.900] signalConditions() ... [18:02:14.900] - include = 'immediateCondition' [18:02:14.901] - exclude = [18:02:14.901] - resignal = FALSE [18:02:14.901] - Number of conditions: 1 [18:02:14.901] signalConditions() ... done [18:02:14.901] Future state: 'finished' [18:02:14.901] result() for ClusterFuture ... [18:02:14.902] - result already collected: FutureResult [18:02:14.902] result() for ClusterFuture ... done [18:02:14.902] signalConditions() ... [18:02:14.902] - include = 'condition' [18:02:14.902] - exclude = 'immediateCondition' [18:02:14.902] - resignal = TRUE [18:02:14.903] - Number of conditions: 1 [18:02:14.903] - Condition #1: 'simpleError', 'error', 'condition' [18:02:14.903] signalConditions() ... done [1] "Error in withCallingHandlers({ : Whoops!\n" attr(,"class") [1] "try-error" attr(,"condition") [18:02:14.904] result() for ClusterFuture ... [18:02:14.904] - result already collected: FutureResult [18:02:14.904] result() for ClusterFuture ... done [18:02:14.904] result() for ClusterFuture ... [18:02:14.904] - result already collected: FutureResult [18:02:14.905] result() for ClusterFuture ... done [18:02:14.905] signalConditions() ... [18:02:14.905] - include = 'immediateCondition' [18:02:14.905] - exclude = [18:02:14.905] - resignal = FALSE [18:02:14.905] - Number of conditions: 1 [18:02:14.906] signalConditions() ... done [18:02:14.906] Future state: 'finished' [18:02:14.906] result() for ClusterFuture ... [18:02:14.906] - result already collected: FutureResult [18:02:14.906] result() for ClusterFuture ... done [18:02:14.906] signalConditions() ... [18:02:14.907] - include = 'condition' [18:02:14.907] - exclude = 'immediateCondition' [18:02:14.907] - resignal = TRUE [18:02:14.907] - Number of conditions: 1 [18:02:14.907] - Condition #1: 'simpleError', 'error', 'condition' [18:02:14.907] signalConditions() ... done [1] "Error in withCallingHandlers({ : Whoops!\n" attr(,"class") [1] "try-error" attr(,"condition") [18:02:14.910] getGlobalsAndPackages() ... [18:02:14.910] [18:02:14.911] - globals: [0] [18:02:14.911] getGlobalsAndPackages() ... DONE [18:02:14.922] Packages needed by the future expression (n = 0): [18:02:14.922] Packages needed by future strategies (n = 0): [18:02:14.923] { [18:02:14.923] { [18:02:14.923] { [18:02:14.923] ...future.startTime <- base::Sys.time() [18:02:14.923] { [18:02:14.923] { [18:02:14.923] { [18:02:14.923] { [18:02:14.923] base::local({ [18:02:14.923] has_future <- base::requireNamespace("future", [18:02:14.923] quietly = TRUE) [18:02:14.923] if (has_future) { [18:02:14.923] ns <- base::getNamespace("future") [18:02:14.923] version <- ns[[".package"]][["version"]] [18:02:14.923] if (is.null(version)) [18:02:14.923] version <- utils::packageVersion("future") [18:02:14.923] } [18:02:14.923] else { [18:02:14.923] version <- NULL [18:02:14.923] } [18:02:14.923] if (!has_future || version < "1.8.0") { [18:02:14.923] info <- base::c(r_version = base::gsub("R version ", [18:02:14.923] "", base::R.version$version.string), [18:02:14.923] platform = base::sprintf("%s (%s-bit)", [18:02:14.923] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:14.923] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:14.923] "release", "version")], collapse = " "), [18:02:14.923] hostname = base::Sys.info()[["nodename"]]) [18:02:14.923] info <- base::sprintf("%s: %s", base::names(info), [18:02:14.923] info) [18:02:14.923] info <- base::paste(info, collapse = "; ") [18:02:14.923] if (!has_future) { [18:02:14.923] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:14.923] info) [18:02:14.923] } [18:02:14.923] else { [18:02:14.923] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:14.923] info, version) [18:02:14.923] } [18:02:14.923] base::stop(msg) [18:02:14.923] } [18:02:14.923] }) [18:02:14.923] } [18:02:14.923] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:14.923] base::options(mc.cores = 1L) [18:02:14.923] } [18:02:14.923] options(future.plan = NULL) [18:02:14.923] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.923] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:14.923] } [18:02:14.923] ...future.workdir <- getwd() [18:02:14.923] } [18:02:14.923] ...future.oldOptions <- base::as.list(base::.Options) [18:02:14.923] ...future.oldEnvVars <- base::Sys.getenv() [18:02:14.923] } [18:02:14.923] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:14.923] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:14.923] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:14.923] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:14.923] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:14.923] future.stdout.windows.reencode = NULL, width = 80L) [18:02:14.923] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:14.923] base::names(...future.oldOptions)) [18:02:14.923] } [18:02:14.923] if (FALSE) { [18:02:14.923] } [18:02:14.923] else { [18:02:14.923] if (TRUE) { [18:02:14.923] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:14.923] open = "w") [18:02:14.923] } [18:02:14.923] else { [18:02:14.923] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:14.923] windows = "NUL", "/dev/null"), open = "w") [18:02:14.923] } [18:02:14.923] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:14.923] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:14.923] base::sink(type = "output", split = FALSE) [18:02:14.923] base::close(...future.stdout) [18:02:14.923] }, add = TRUE) [18:02:14.923] } [18:02:14.923] ...future.frame <- base::sys.nframe() [18:02:14.923] ...future.conditions <- base::list() [18:02:14.923] ...future.rng <- base::globalenv()$.Random.seed [18:02:14.923] if (FALSE) { [18:02:14.923] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:14.923] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:14.923] } [18:02:14.923] ...future.result <- base::tryCatch({ [18:02:14.923] base::withCallingHandlers({ [18:02:14.923] ...future.value <- base::withVisible(base::local({ [18:02:14.923] ...future.makeSendCondition <- local({ [18:02:14.923] sendCondition <- NULL [18:02:14.923] function(frame = 1L) { [18:02:14.923] if (is.function(sendCondition)) [18:02:14.923] return(sendCondition) [18:02:14.923] ns <- getNamespace("parallel") [18:02:14.923] if (exists("sendData", mode = "function", [18:02:14.923] envir = ns)) { [18:02:14.923] parallel_sendData <- get("sendData", mode = "function", [18:02:14.923] envir = ns) [18:02:14.923] envir <- sys.frame(frame) [18:02:14.923] master <- NULL [18:02:14.923] while (!identical(envir, .GlobalEnv) && [18:02:14.923] !identical(envir, emptyenv())) { [18:02:14.923] if (exists("master", mode = "list", envir = envir, [18:02:14.923] inherits = FALSE)) { [18:02:14.923] master <- get("master", mode = "list", [18:02:14.923] envir = envir, inherits = FALSE) [18:02:14.923] if (inherits(master, c("SOCKnode", [18:02:14.923] "SOCK0node"))) { [18:02:14.923] sendCondition <<- function(cond) { [18:02:14.923] data <- list(type = "VALUE", value = cond, [18:02:14.923] success = TRUE) [18:02:14.923] parallel_sendData(master, data) [18:02:14.923] } [18:02:14.923] return(sendCondition) [18:02:14.923] } [18:02:14.923] } [18:02:14.923] frame <- frame + 1L [18:02:14.923] envir <- sys.frame(frame) [18:02:14.923] } [18:02:14.923] } [18:02:14.923] sendCondition <<- function(cond) NULL [18:02:14.923] } [18:02:14.923] }) [18:02:14.923] withCallingHandlers({ [18:02:14.923] { [18:02:14.923] stop(structure(list(message = "boom"), class = c("MyError", [18:02:14.923] "error", "condition"))) [18:02:14.923] } [18:02:14.923] }, immediateCondition = function(cond) { [18:02:14.923] sendCondition <- ...future.makeSendCondition() [18:02:14.923] sendCondition(cond) [18:02:14.923] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.923] { [18:02:14.923] inherits <- base::inherits [18:02:14.923] invokeRestart <- base::invokeRestart [18:02:14.923] is.null <- base::is.null [18:02:14.923] muffled <- FALSE [18:02:14.923] if (inherits(cond, "message")) { [18:02:14.923] muffled <- grepl(pattern, "muffleMessage") [18:02:14.923] if (muffled) [18:02:14.923] invokeRestart("muffleMessage") [18:02:14.923] } [18:02:14.923] else if (inherits(cond, "warning")) { [18:02:14.923] muffled <- grepl(pattern, "muffleWarning") [18:02:14.923] if (muffled) [18:02:14.923] invokeRestart("muffleWarning") [18:02:14.923] } [18:02:14.923] else if (inherits(cond, "condition")) { [18:02:14.923] if (!is.null(pattern)) { [18:02:14.923] computeRestarts <- base::computeRestarts [18:02:14.923] grepl <- base::grepl [18:02:14.923] restarts <- computeRestarts(cond) [18:02:14.923] for (restart in restarts) { [18:02:14.923] name <- restart$name [18:02:14.923] if (is.null(name)) [18:02:14.923] next [18:02:14.923] if (!grepl(pattern, name)) [18:02:14.923] next [18:02:14.923] invokeRestart(restart) [18:02:14.923] muffled <- TRUE [18:02:14.923] break [18:02:14.923] } [18:02:14.923] } [18:02:14.923] } [18:02:14.923] invisible(muffled) [18:02:14.923] } [18:02:14.923] muffleCondition(cond) [18:02:14.923] }) [18:02:14.923] })) [18:02:14.923] future::FutureResult(value = ...future.value$value, [18:02:14.923] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.923] ...future.rng), globalenv = if (FALSE) [18:02:14.923] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:14.923] ...future.globalenv.names)) [18:02:14.923] else NULL, started = ...future.startTime, version = "1.8") [18:02:14.923] }, condition = base::local({ [18:02:14.923] c <- base::c [18:02:14.923] inherits <- base::inherits [18:02:14.923] invokeRestart <- base::invokeRestart [18:02:14.923] length <- base::length [18:02:14.923] list <- base::list [18:02:14.923] seq.int <- base::seq.int [18:02:14.923] signalCondition <- base::signalCondition [18:02:14.923] sys.calls <- base::sys.calls [18:02:14.923] `[[` <- base::`[[` [18:02:14.923] `+` <- base::`+` [18:02:14.923] `<<-` <- base::`<<-` [18:02:14.923] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:14.923] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:14.923] 3L)] [18:02:14.923] } [18:02:14.923] function(cond) { [18:02:14.923] is_error <- inherits(cond, "error") [18:02:14.923] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:14.923] NULL) [18:02:14.923] if (is_error) { [18:02:14.923] sessionInformation <- function() { [18:02:14.923] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:14.923] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:14.923] search = base::search(), system = base::Sys.info()) [18:02:14.923] } [18:02:14.923] ...future.conditions[[length(...future.conditions) + [18:02:14.923] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:14.923] cond$call), session = sessionInformation(), [18:02:14.923] timestamp = base::Sys.time(), signaled = 0L) [18:02:14.923] signalCondition(cond) [18:02:14.923] } [18:02:14.923] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:14.923] "immediateCondition"))) { [18:02:14.923] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:14.923] ...future.conditions[[length(...future.conditions) + [18:02:14.923] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:14.923] if (TRUE && !signal) { [18:02:14.923] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.923] { [18:02:14.923] inherits <- base::inherits [18:02:14.923] invokeRestart <- base::invokeRestart [18:02:14.923] is.null <- base::is.null [18:02:14.923] muffled <- FALSE [18:02:14.923] if (inherits(cond, "message")) { [18:02:14.923] muffled <- grepl(pattern, "muffleMessage") [18:02:14.923] if (muffled) [18:02:14.923] invokeRestart("muffleMessage") [18:02:14.923] } [18:02:14.923] else if (inherits(cond, "warning")) { [18:02:14.923] muffled <- grepl(pattern, "muffleWarning") [18:02:14.923] if (muffled) [18:02:14.923] invokeRestart("muffleWarning") [18:02:14.923] } [18:02:14.923] else if (inherits(cond, "condition")) { [18:02:14.923] if (!is.null(pattern)) { [18:02:14.923] computeRestarts <- base::computeRestarts [18:02:14.923] grepl <- base::grepl [18:02:14.923] restarts <- computeRestarts(cond) [18:02:14.923] for (restart in restarts) { [18:02:14.923] name <- restart$name [18:02:14.923] if (is.null(name)) [18:02:14.923] next [18:02:14.923] if (!grepl(pattern, name)) [18:02:14.923] next [18:02:14.923] invokeRestart(restart) [18:02:14.923] muffled <- TRUE [18:02:14.923] break [18:02:14.923] } [18:02:14.923] } [18:02:14.923] } [18:02:14.923] invisible(muffled) [18:02:14.923] } [18:02:14.923] muffleCondition(cond, pattern = "^muffle") [18:02:14.923] } [18:02:14.923] } [18:02:14.923] else { [18:02:14.923] if (TRUE) { [18:02:14.923] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.923] { [18:02:14.923] inherits <- base::inherits [18:02:14.923] invokeRestart <- base::invokeRestart [18:02:14.923] is.null <- base::is.null [18:02:14.923] muffled <- FALSE [18:02:14.923] if (inherits(cond, "message")) { [18:02:14.923] muffled <- grepl(pattern, "muffleMessage") [18:02:14.923] if (muffled) [18:02:14.923] invokeRestart("muffleMessage") [18:02:14.923] } [18:02:14.923] else if (inherits(cond, "warning")) { [18:02:14.923] muffled <- grepl(pattern, "muffleWarning") [18:02:14.923] if (muffled) [18:02:14.923] invokeRestart("muffleWarning") [18:02:14.923] } [18:02:14.923] else if (inherits(cond, "condition")) { [18:02:14.923] if (!is.null(pattern)) { [18:02:14.923] computeRestarts <- base::computeRestarts [18:02:14.923] grepl <- base::grepl [18:02:14.923] restarts <- computeRestarts(cond) [18:02:14.923] for (restart in restarts) { [18:02:14.923] name <- restart$name [18:02:14.923] if (is.null(name)) [18:02:14.923] next [18:02:14.923] if (!grepl(pattern, name)) [18:02:14.923] next [18:02:14.923] invokeRestart(restart) [18:02:14.923] muffled <- TRUE [18:02:14.923] break [18:02:14.923] } [18:02:14.923] } [18:02:14.923] } [18:02:14.923] invisible(muffled) [18:02:14.923] } [18:02:14.923] muffleCondition(cond, pattern = "^muffle") [18:02:14.923] } [18:02:14.923] } [18:02:14.923] } [18:02:14.923] })) [18:02:14.923] }, error = function(ex) { [18:02:14.923] base::structure(base::list(value = NULL, visible = NULL, [18:02:14.923] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.923] ...future.rng), started = ...future.startTime, [18:02:14.923] finished = Sys.time(), session_uuid = NA_character_, [18:02:14.923] version = "1.8"), class = "FutureResult") [18:02:14.923] }, finally = { [18:02:14.923] if (!identical(...future.workdir, getwd())) [18:02:14.923] setwd(...future.workdir) [18:02:14.923] { [18:02:14.923] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:14.923] ...future.oldOptions$nwarnings <- NULL [18:02:14.923] } [18:02:14.923] base::options(...future.oldOptions) [18:02:14.923] if (.Platform$OS.type == "windows") { [18:02:14.923] old_names <- names(...future.oldEnvVars) [18:02:14.923] envs <- base::Sys.getenv() [18:02:14.923] names <- names(envs) [18:02:14.923] common <- intersect(names, old_names) [18:02:14.923] added <- setdiff(names, old_names) [18:02:14.923] removed <- setdiff(old_names, names) [18:02:14.923] changed <- common[...future.oldEnvVars[common] != [18:02:14.923] envs[common]] [18:02:14.923] NAMES <- toupper(changed) [18:02:14.923] args <- list() [18:02:14.923] for (kk in seq_along(NAMES)) { [18:02:14.923] name <- changed[[kk]] [18:02:14.923] NAME <- NAMES[[kk]] [18:02:14.923] if (name != NAME && is.element(NAME, old_names)) [18:02:14.923] next [18:02:14.923] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.923] } [18:02:14.923] NAMES <- toupper(added) [18:02:14.923] for (kk in seq_along(NAMES)) { [18:02:14.923] name <- added[[kk]] [18:02:14.923] NAME <- NAMES[[kk]] [18:02:14.923] if (name != NAME && is.element(NAME, old_names)) [18:02:14.923] next [18:02:14.923] args[[name]] <- "" [18:02:14.923] } [18:02:14.923] NAMES <- toupper(removed) [18:02:14.923] for (kk in seq_along(NAMES)) { [18:02:14.923] name <- removed[[kk]] [18:02:14.923] NAME <- NAMES[[kk]] [18:02:14.923] if (name != NAME && is.element(NAME, old_names)) [18:02:14.923] next [18:02:14.923] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.923] } [18:02:14.923] if (length(args) > 0) [18:02:14.923] base::do.call(base::Sys.setenv, args = args) [18:02:14.923] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:14.923] } [18:02:14.923] else { [18:02:14.923] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:14.923] } [18:02:14.923] { [18:02:14.923] if (base::length(...future.futureOptionsAdded) > [18:02:14.923] 0L) { [18:02:14.923] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:14.923] base::names(opts) <- ...future.futureOptionsAdded [18:02:14.923] base::options(opts) [18:02:14.923] } [18:02:14.923] { [18:02:14.923] { [18:02:14.923] base::options(mc.cores = ...future.mc.cores.old) [18:02:14.923] NULL [18:02:14.923] } [18:02:14.923] options(future.plan = NULL) [18:02:14.923] if (is.na(NA_character_)) [18:02:14.923] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.923] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:14.923] future::plan(list(function (..., envir = parent.frame()) [18:02:14.923] { [18:02:14.923] future <- SequentialFuture(..., envir = envir) [18:02:14.923] if (!future$lazy) [18:02:14.923] future <- run(future) [18:02:14.923] invisible(future) [18:02:14.923] }), .cleanup = FALSE, .init = FALSE) [18:02:14.923] } [18:02:14.923] } [18:02:14.923] } [18:02:14.923] }) [18:02:14.923] if (TRUE) { [18:02:14.923] base::sink(type = "output", split = FALSE) [18:02:14.923] if (TRUE) { [18:02:14.923] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:14.923] } [18:02:14.923] else { [18:02:14.923] ...future.result["stdout"] <- base::list(NULL) [18:02:14.923] } [18:02:14.923] base::close(...future.stdout) [18:02:14.923] ...future.stdout <- NULL [18:02:14.923] } [18:02:14.923] ...future.result$conditions <- ...future.conditions [18:02:14.923] ...future.result$finished <- base::Sys.time() [18:02:14.923] ...future.result [18:02:14.923] } [18:02:14.929] 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) [18:02:14.943] receiveMessageFromWorker() for ClusterFuture ... [18:02:14.943] - Validating connection of MultisessionFuture [18:02:14.944] - received message: FutureResult [18:02:14.944] - Received FutureResult [18:02:14.944] - Erased future from FutureRegistry [18:02:14.944] result() for ClusterFuture ... [18:02:14.944] - result already collected: FutureResult [18:02:14.945] result() for ClusterFuture ... done [18:02:14.945] signalConditions() ... [18:02:14.945] - include = 'immediateCondition' [18:02:14.945] - exclude = [18:02:14.945] - resignal = FALSE [18:02:14.945] - Number of conditions: 1 [18:02:14.945] signalConditions() ... done [18:02:14.946] receiveMessageFromWorker() for ClusterFuture ... done Resolved: TRUE Value: Conditions captured: Early signaling: FALSE Owner process: a4012676-0af7-de90-02dc-9e3925928fa1 Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:14.946] result() for ClusterFuture ... [18:02:14.946] - result already collected: FutureResult [18:02:14.946] result() for ClusterFuture ... done [18:02:14.946] result() for ClusterFuture ... [18:02:14.947] - result already collected: FutureResult [18:02:14.947] result() for ClusterFuture ... done [18:02:14.947] signalConditions() ... [18:02:14.947] - include = 'immediateCondition' [18:02:14.947] - exclude = [18:02:14.947] - resignal = FALSE [18:02:14.947] - Number of conditions: 1 [18:02:14.948] signalConditions() ... done [18:02:14.948] result() for ClusterFuture ... [18:02:14.948] - result already collected: FutureResult [18:02:14.948] result() for ClusterFuture ... done [18:02:14.948] result() for ClusterFuture ... [18:02:14.949] - result already collected: FutureResult [18:02:14.949] result() for ClusterFuture ... done [18:02:14.949] signalConditions() ... [18:02:14.949] - include = 'immediateCondition' [18:02:14.949] - exclude = [18:02:14.949] - resignal = FALSE [18:02:14.950] - Number of conditions: 1 [18:02:14.950] signalConditions() ... done [18:02:14.950] Future state: 'finished' [18:02:14.950] result() for ClusterFuture ... [18:02:14.950] - result already collected: FutureResult [18:02:14.951] result() for ClusterFuture ... done [18:02:14.951] signalConditions() ... [18:02:14.951] - include = 'condition' [18:02:14.951] - exclude = 'immediateCondition' [18:02:14.951] - resignal = TRUE [18:02:14.951] - Number of conditions: 1 [18:02:14.952] - Condition #1: 'MyError', 'error', 'condition' [18:02:14.952] 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 [18:02:14.970] getGlobalsAndPackages() ... [18:02:14.970] Searching for globals... [18:02:14.971] - globals found: [3] '{', 'sum', 'a' [18:02:14.971] Searching for globals ... DONE [18:02:14.971] Resolving globals: FALSE [18:02:14.972] The total size of the 1 globals is 4.01 KiB (4104 bytes) [18:02:14.972] 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') [18:02:14.972] - globals: [1] 'a' [18:02:14.973] [18:02:14.973] 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: a4012676-0af7-de90-02dc-9e3925928fa1 Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:14.974] Packages needed by the future expression (n = 0): [18:02:14.974] Packages needed by future strategies (n = 0): [18:02:14.974] { [18:02:14.974] { [18:02:14.974] { [18:02:14.974] ...future.startTime <- base::Sys.time() [18:02:14.974] { [18:02:14.974] { [18:02:14.974] { [18:02:14.974] base::local({ [18:02:14.974] has_future <- base::requireNamespace("future", [18:02:14.974] quietly = TRUE) [18:02:14.974] if (has_future) { [18:02:14.974] ns <- base::getNamespace("future") [18:02:14.974] version <- ns[[".package"]][["version"]] [18:02:14.974] if (is.null(version)) [18:02:14.974] version <- utils::packageVersion("future") [18:02:14.974] } [18:02:14.974] else { [18:02:14.974] version <- NULL [18:02:14.974] } [18:02:14.974] if (!has_future || version < "1.8.0") { [18:02:14.974] info <- base::c(r_version = base::gsub("R version ", [18:02:14.974] "", base::R.version$version.string), [18:02:14.974] platform = base::sprintf("%s (%s-bit)", [18:02:14.974] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:14.974] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:14.974] "release", "version")], collapse = " "), [18:02:14.974] hostname = base::Sys.info()[["nodename"]]) [18:02:14.974] info <- base::sprintf("%s: %s", base::names(info), [18:02:14.974] info) [18:02:14.974] info <- base::paste(info, collapse = "; ") [18:02:14.974] if (!has_future) { [18:02:14.974] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:14.974] info) [18:02:14.974] } [18:02:14.974] else { [18:02:14.974] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:14.974] info, version) [18:02:14.974] } [18:02:14.974] base::stop(msg) [18:02:14.974] } [18:02:14.974] }) [18:02:14.974] } [18:02:14.974] options(future.plan = NULL) [18:02:14.974] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.974] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:14.974] } [18:02:14.974] ...future.workdir <- getwd() [18:02:14.974] } [18:02:14.974] ...future.oldOptions <- base::as.list(base::.Options) [18:02:14.974] ...future.oldEnvVars <- base::Sys.getenv() [18:02:14.974] } [18:02:14.974] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:14.974] future.globals.maxSize = 4104, future.globals.method = NULL, [18:02:14.974] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:14.974] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:14.974] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:14.974] future.stdout.windows.reencode = NULL, width = 80L) [18:02:14.974] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:14.974] base::names(...future.oldOptions)) [18:02:14.974] } [18:02:14.974] if (FALSE) { [18:02:14.974] } [18:02:14.974] else { [18:02:14.974] if (TRUE) { [18:02:14.974] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:14.974] open = "w") [18:02:14.974] } [18:02:14.974] else { [18:02:14.974] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:14.974] windows = "NUL", "/dev/null"), open = "w") [18:02:14.974] } [18:02:14.974] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:14.974] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:14.974] base::sink(type = "output", split = FALSE) [18:02:14.974] base::close(...future.stdout) [18:02:14.974] }, add = TRUE) [18:02:14.974] } [18:02:14.974] ...future.frame <- base::sys.nframe() [18:02:14.974] ...future.conditions <- base::list() [18:02:14.974] ...future.rng <- base::globalenv()$.Random.seed [18:02:14.974] if (FALSE) { [18:02:14.974] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:14.974] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:14.974] } [18:02:14.974] ...future.result <- base::tryCatch({ [18:02:14.974] base::withCallingHandlers({ [18:02:14.974] ...future.value <- base::withVisible(base::local({ [18:02:14.974] sum(a) [18:02:14.974] })) [18:02:14.974] future::FutureResult(value = ...future.value$value, [18:02:14.974] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.974] ...future.rng), globalenv = if (FALSE) [18:02:14.974] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:14.974] ...future.globalenv.names)) [18:02:14.974] else NULL, started = ...future.startTime, version = "1.8") [18:02:14.974] }, condition = base::local({ [18:02:14.974] c <- base::c [18:02:14.974] inherits <- base::inherits [18:02:14.974] invokeRestart <- base::invokeRestart [18:02:14.974] length <- base::length [18:02:14.974] list <- base::list [18:02:14.974] seq.int <- base::seq.int [18:02:14.974] signalCondition <- base::signalCondition [18:02:14.974] sys.calls <- base::sys.calls [18:02:14.974] `[[` <- base::`[[` [18:02:14.974] `+` <- base::`+` [18:02:14.974] `<<-` <- base::`<<-` [18:02:14.974] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:14.974] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:14.974] 3L)] [18:02:14.974] } [18:02:14.974] function(cond) { [18:02:14.974] is_error <- inherits(cond, "error") [18:02:14.974] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:14.974] NULL) [18:02:14.974] if (is_error) { [18:02:14.974] sessionInformation <- function() { [18:02:14.974] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:14.974] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:14.974] search = base::search(), system = base::Sys.info()) [18:02:14.974] } [18:02:14.974] ...future.conditions[[length(...future.conditions) + [18:02:14.974] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:14.974] cond$call), session = sessionInformation(), [18:02:14.974] timestamp = base::Sys.time(), signaled = 0L) [18:02:14.974] signalCondition(cond) [18:02:14.974] } [18:02:14.974] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:14.974] "immediateCondition"))) { [18:02:14.974] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:14.974] ...future.conditions[[length(...future.conditions) + [18:02:14.974] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:14.974] if (TRUE && !signal) { [18:02:14.974] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.974] { [18:02:14.974] inherits <- base::inherits [18:02:14.974] invokeRestart <- base::invokeRestart [18:02:14.974] is.null <- base::is.null [18:02:14.974] muffled <- FALSE [18:02:14.974] if (inherits(cond, "message")) { [18:02:14.974] muffled <- grepl(pattern, "muffleMessage") [18:02:14.974] if (muffled) [18:02:14.974] invokeRestart("muffleMessage") [18:02:14.974] } [18:02:14.974] else if (inherits(cond, "warning")) { [18:02:14.974] muffled <- grepl(pattern, "muffleWarning") [18:02:14.974] if (muffled) [18:02:14.974] invokeRestart("muffleWarning") [18:02:14.974] } [18:02:14.974] else if (inherits(cond, "condition")) { [18:02:14.974] if (!is.null(pattern)) { [18:02:14.974] computeRestarts <- base::computeRestarts [18:02:14.974] grepl <- base::grepl [18:02:14.974] restarts <- computeRestarts(cond) [18:02:14.974] for (restart in restarts) { [18:02:14.974] name <- restart$name [18:02:14.974] if (is.null(name)) [18:02:14.974] next [18:02:14.974] if (!grepl(pattern, name)) [18:02:14.974] next [18:02:14.974] invokeRestart(restart) [18:02:14.974] muffled <- TRUE [18:02:14.974] break [18:02:14.974] } [18:02:14.974] } [18:02:14.974] } [18:02:14.974] invisible(muffled) [18:02:14.974] } [18:02:14.974] muffleCondition(cond, pattern = "^muffle") [18:02:14.974] } [18:02:14.974] } [18:02:14.974] else { [18:02:14.974] if (TRUE) { [18:02:14.974] muffleCondition <- function (cond, pattern = "^muffle") [18:02:14.974] { [18:02:14.974] inherits <- base::inherits [18:02:14.974] invokeRestart <- base::invokeRestart [18:02:14.974] is.null <- base::is.null [18:02:14.974] muffled <- FALSE [18:02:14.974] if (inherits(cond, "message")) { [18:02:14.974] muffled <- grepl(pattern, "muffleMessage") [18:02:14.974] if (muffled) [18:02:14.974] invokeRestart("muffleMessage") [18:02:14.974] } [18:02:14.974] else if (inherits(cond, "warning")) { [18:02:14.974] muffled <- grepl(pattern, "muffleWarning") [18:02:14.974] if (muffled) [18:02:14.974] invokeRestart("muffleWarning") [18:02:14.974] } [18:02:14.974] else if (inherits(cond, "condition")) { [18:02:14.974] if (!is.null(pattern)) { [18:02:14.974] computeRestarts <- base::computeRestarts [18:02:14.974] grepl <- base::grepl [18:02:14.974] restarts <- computeRestarts(cond) [18:02:14.974] for (restart in restarts) { [18:02:14.974] name <- restart$name [18:02:14.974] if (is.null(name)) [18:02:14.974] next [18:02:14.974] if (!grepl(pattern, name)) [18:02:14.974] next [18:02:14.974] invokeRestart(restart) [18:02:14.974] muffled <- TRUE [18:02:14.974] break [18:02:14.974] } [18:02:14.974] } [18:02:14.974] } [18:02:14.974] invisible(muffled) [18:02:14.974] } [18:02:14.974] muffleCondition(cond, pattern = "^muffle") [18:02:14.974] } [18:02:14.974] } [18:02:14.974] } [18:02:14.974] })) [18:02:14.974] }, error = function(ex) { [18:02:14.974] base::structure(base::list(value = NULL, visible = NULL, [18:02:14.974] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:14.974] ...future.rng), started = ...future.startTime, [18:02:14.974] finished = Sys.time(), session_uuid = NA_character_, [18:02:14.974] version = "1.8"), class = "FutureResult") [18:02:14.974] }, finally = { [18:02:14.974] if (!identical(...future.workdir, getwd())) [18:02:14.974] setwd(...future.workdir) [18:02:14.974] { [18:02:14.974] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:14.974] ...future.oldOptions$nwarnings <- NULL [18:02:14.974] } [18:02:14.974] base::options(...future.oldOptions) [18:02:14.974] if (.Platform$OS.type == "windows") { [18:02:14.974] old_names <- names(...future.oldEnvVars) [18:02:14.974] envs <- base::Sys.getenv() [18:02:14.974] names <- names(envs) [18:02:14.974] common <- intersect(names, old_names) [18:02:14.974] added <- setdiff(names, old_names) [18:02:14.974] removed <- setdiff(old_names, names) [18:02:14.974] changed <- common[...future.oldEnvVars[common] != [18:02:14.974] envs[common]] [18:02:14.974] NAMES <- toupper(changed) [18:02:14.974] args <- list() [18:02:14.974] for (kk in seq_along(NAMES)) { [18:02:14.974] name <- changed[[kk]] [18:02:14.974] NAME <- NAMES[[kk]] [18:02:14.974] if (name != NAME && is.element(NAME, old_names)) [18:02:14.974] next [18:02:14.974] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.974] } [18:02:14.974] NAMES <- toupper(added) [18:02:14.974] for (kk in seq_along(NAMES)) { [18:02:14.974] name <- added[[kk]] [18:02:14.974] NAME <- NAMES[[kk]] [18:02:14.974] if (name != NAME && is.element(NAME, old_names)) [18:02:14.974] next [18:02:14.974] args[[name]] <- "" [18:02:14.974] } [18:02:14.974] NAMES <- toupper(removed) [18:02:14.974] for (kk in seq_along(NAMES)) { [18:02:14.974] name <- removed[[kk]] [18:02:14.974] NAME <- NAMES[[kk]] [18:02:14.974] if (name != NAME && is.element(NAME, old_names)) [18:02:14.974] next [18:02:14.974] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:14.974] } [18:02:14.974] if (length(args) > 0) [18:02:14.974] base::do.call(base::Sys.setenv, args = args) [18:02:14.974] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:14.974] } [18:02:14.974] else { [18:02:14.974] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:14.974] } [18:02:14.974] { [18:02:14.974] if (base::length(...future.futureOptionsAdded) > [18:02:14.974] 0L) { [18:02:14.974] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:14.974] base::names(opts) <- ...future.futureOptionsAdded [18:02:14.974] base::options(opts) [18:02:14.974] } [18:02:14.974] { [18:02:14.974] { [18:02:14.974] NULL [18:02:14.974] RNGkind("Mersenne-Twister") [18:02:14.974] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:14.974] inherits = FALSE) [18:02:14.974] } [18:02:14.974] options(future.plan = NULL) [18:02:14.974] if (is.na(NA_character_)) [18:02:14.974] Sys.unsetenv("R_FUTURE_PLAN") [18:02:14.974] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:14.974] future::plan(list(function (..., envir = parent.frame()) [18:02:14.974] { [18:02:14.974] future <- SequentialFuture(..., envir = envir) [18:02:14.974] if (!future$lazy) [18:02:14.974] future <- run(future) [18:02:14.974] invisible(future) [18:02:14.974] }), .cleanup = FALSE, .init = FALSE) [18:02:14.974] } [18:02:14.974] } [18:02:14.974] } [18:02:14.974] }) [18:02:14.974] if (TRUE) { [18:02:14.974] base::sink(type = "output", split = FALSE) [18:02:14.974] if (TRUE) { [18:02:14.974] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:14.974] } [18:02:14.974] else { [18:02:14.974] ...future.result["stdout"] <- base::list(NULL) [18:02:14.974] } [18:02:14.974] base::close(...future.stdout) [18:02:14.974] ...future.stdout <- NULL [18:02:14.974] } [18:02:14.974] ...future.result$conditions <- ...future.conditions [18:02:14.974] ...future.result$finished <- base::Sys.time() [18:02:14.974] ...future.result [18:02:14.974] } [18:02:14.978] assign_globals() ... [18:02:14.978] List of 1 [18:02:14.978] $ a: int [1:1014] 1 2 3 4 5 6 7 8 9 10 ... [18:02:14.978] - attr(*, "where")=List of 1 [18:02:14.978] ..$ a: [18:02:14.978] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:14.978] - attr(*, "resolved")= logi FALSE [18:02:14.978] - attr(*, "total_size")= num 4104 [18:02:14.981] - copied 'a' to environment [18:02:14.981] assign_globals() ... done [18:02:14.982] plan(): Setting new future strategy stack: [18:02:14.982] List of future strategies: [18:02:14.982] 1. sequential: [18:02:14.982] - args: function (..., envir = parent.frame()) [18:02:14.982] - tweaked: FALSE [18:02:14.982] - call: NULL [18:02:14.982] plan(): nbrOfWorkers() = 1 [18:02:14.984] plan(): Setting new future strategy stack: [18:02:14.984] List of future strategies: [18:02:14.984] 1. sequential: [18:02:14.984] - args: function (..., envir = parent.frame()) [18:02:14.984] - tweaked: FALSE [18:02:14.984] - call: future::plan("sequential") [18:02:14.984] plan(): nbrOfWorkers() = 1 [18:02:14.984] SequentialFuture started (and completed) [1] 514605 a: 4112 bytes [18:02:14.985] getGlobalsAndPackages() ... [18:02:14.985] Searching for globals... [18:02:14.986] - globals found: [3] '{', 'sum', 'a' [18:02:14.986] Searching for globals ... DONE [18:02:14.986] Resolving globals: FALSE [18:02:14.987] The total size of the 1 globals is 4.02 KiB (4112 bytes) [18:02:14.987] 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 [18:02:14.988] getGlobalsAndPackages() ... [18:02:14.988] Searching for globals... [18:02:14.989] - globals found: [3] '{', 'sum', 'a' [18:02:14.989] Searching for globals ... DONE [18:02:14.989] Resolving globals: FALSE [18:02:14.990] The total size of the 1 globals is 4.01 KiB (4104 bytes) [18:02:14.990] 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') [18:02:14.990] - globals: [1] 'a' [18:02:14.991] [18:02:14.991] getGlobalsAndPackages() ... DONE [18:02:15.002] Packages needed by the future expression (n = 0): [18:02:15.003] Packages needed by future strategies (n = 0): [18:02:15.003] { [18:02:15.003] { [18:02:15.003] { [18:02:15.003] ...future.startTime <- base::Sys.time() [18:02:15.003] { [18:02:15.003] { [18:02:15.003] { [18:02:15.003] { [18:02:15.003] base::local({ [18:02:15.003] has_future <- base::requireNamespace("future", [18:02:15.003] quietly = TRUE) [18:02:15.003] if (has_future) { [18:02:15.003] ns <- base::getNamespace("future") [18:02:15.003] version <- ns[[".package"]][["version"]] [18:02:15.003] if (is.null(version)) [18:02:15.003] version <- utils::packageVersion("future") [18:02:15.003] } [18:02:15.003] else { [18:02:15.003] version <- NULL [18:02:15.003] } [18:02:15.003] if (!has_future || version < "1.8.0") { [18:02:15.003] info <- base::c(r_version = base::gsub("R version ", [18:02:15.003] "", base::R.version$version.string), [18:02:15.003] platform = base::sprintf("%s (%s-bit)", [18:02:15.003] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:15.003] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:15.003] "release", "version")], collapse = " "), [18:02:15.003] hostname = base::Sys.info()[["nodename"]]) [18:02:15.003] info <- base::sprintf("%s: %s", base::names(info), [18:02:15.003] info) [18:02:15.003] info <- base::paste(info, collapse = "; ") [18:02:15.003] if (!has_future) { [18:02:15.003] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:15.003] info) [18:02:15.003] } [18:02:15.003] else { [18:02:15.003] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:15.003] info, version) [18:02:15.003] } [18:02:15.003] base::stop(msg) [18:02:15.003] } [18:02:15.003] }) [18:02:15.003] } [18:02:15.003] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:15.003] base::options(mc.cores = 1L) [18:02:15.003] } [18:02:15.003] options(future.plan = NULL) [18:02:15.003] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.003] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:15.003] } [18:02:15.003] ...future.workdir <- getwd() [18:02:15.003] } [18:02:15.003] ...future.oldOptions <- base::as.list(base::.Options) [18:02:15.003] ...future.oldEnvVars <- base::Sys.getenv() [18:02:15.003] } [18:02:15.003] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:15.003] future.globals.maxSize = 4104, future.globals.method = NULL, [18:02:15.003] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:15.003] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:15.003] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:15.003] future.stdout.windows.reencode = NULL, width = 80L) [18:02:15.003] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:15.003] base::names(...future.oldOptions)) [18:02:15.003] } [18:02:15.003] if (FALSE) { [18:02:15.003] } [18:02:15.003] else { [18:02:15.003] if (TRUE) { [18:02:15.003] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:15.003] open = "w") [18:02:15.003] } [18:02:15.003] else { [18:02:15.003] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:15.003] windows = "NUL", "/dev/null"), open = "w") [18:02:15.003] } [18:02:15.003] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:15.003] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:15.003] base::sink(type = "output", split = FALSE) [18:02:15.003] base::close(...future.stdout) [18:02:15.003] }, add = TRUE) [18:02:15.003] } [18:02:15.003] ...future.frame <- base::sys.nframe() [18:02:15.003] ...future.conditions <- base::list() [18:02:15.003] ...future.rng <- base::globalenv()$.Random.seed [18:02:15.003] if (FALSE) { [18:02:15.003] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:15.003] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:15.003] } [18:02:15.003] ...future.result <- base::tryCatch({ [18:02:15.003] base::withCallingHandlers({ [18:02:15.003] ...future.value <- base::withVisible(base::local({ [18:02:15.003] ...future.makeSendCondition <- local({ [18:02:15.003] sendCondition <- NULL [18:02:15.003] function(frame = 1L) { [18:02:15.003] if (is.function(sendCondition)) [18:02:15.003] return(sendCondition) [18:02:15.003] ns <- getNamespace("parallel") [18:02:15.003] if (exists("sendData", mode = "function", [18:02:15.003] envir = ns)) { [18:02:15.003] parallel_sendData <- get("sendData", mode = "function", [18:02:15.003] envir = ns) [18:02:15.003] envir <- sys.frame(frame) [18:02:15.003] master <- NULL [18:02:15.003] while (!identical(envir, .GlobalEnv) && [18:02:15.003] !identical(envir, emptyenv())) { [18:02:15.003] if (exists("master", mode = "list", envir = envir, [18:02:15.003] inherits = FALSE)) { [18:02:15.003] master <- get("master", mode = "list", [18:02:15.003] envir = envir, inherits = FALSE) [18:02:15.003] if (inherits(master, c("SOCKnode", [18:02:15.003] "SOCK0node"))) { [18:02:15.003] sendCondition <<- function(cond) { [18:02:15.003] data <- list(type = "VALUE", value = cond, [18:02:15.003] success = TRUE) [18:02:15.003] parallel_sendData(master, data) [18:02:15.003] } [18:02:15.003] return(sendCondition) [18:02:15.003] } [18:02:15.003] } [18:02:15.003] frame <- frame + 1L [18:02:15.003] envir <- sys.frame(frame) [18:02:15.003] } [18:02:15.003] } [18:02:15.003] sendCondition <<- function(cond) NULL [18:02:15.003] } [18:02:15.003] }) [18:02:15.003] withCallingHandlers({ [18:02:15.003] { [18:02:15.003] sum(a) [18:02:15.003] } [18:02:15.003] }, immediateCondition = function(cond) { [18:02:15.003] sendCondition <- ...future.makeSendCondition() [18:02:15.003] sendCondition(cond) [18:02:15.003] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.003] { [18:02:15.003] inherits <- base::inherits [18:02:15.003] invokeRestart <- base::invokeRestart [18:02:15.003] is.null <- base::is.null [18:02:15.003] muffled <- FALSE [18:02:15.003] if (inherits(cond, "message")) { [18:02:15.003] muffled <- grepl(pattern, "muffleMessage") [18:02:15.003] if (muffled) [18:02:15.003] invokeRestart("muffleMessage") [18:02:15.003] } [18:02:15.003] else if (inherits(cond, "warning")) { [18:02:15.003] muffled <- grepl(pattern, "muffleWarning") [18:02:15.003] if (muffled) [18:02:15.003] invokeRestart("muffleWarning") [18:02:15.003] } [18:02:15.003] else if (inherits(cond, "condition")) { [18:02:15.003] if (!is.null(pattern)) { [18:02:15.003] computeRestarts <- base::computeRestarts [18:02:15.003] grepl <- base::grepl [18:02:15.003] restarts <- computeRestarts(cond) [18:02:15.003] for (restart in restarts) { [18:02:15.003] name <- restart$name [18:02:15.003] if (is.null(name)) [18:02:15.003] next [18:02:15.003] if (!grepl(pattern, name)) [18:02:15.003] next [18:02:15.003] invokeRestart(restart) [18:02:15.003] muffled <- TRUE [18:02:15.003] break [18:02:15.003] } [18:02:15.003] } [18:02:15.003] } [18:02:15.003] invisible(muffled) [18:02:15.003] } [18:02:15.003] muffleCondition(cond) [18:02:15.003] }) [18:02:15.003] })) [18:02:15.003] future::FutureResult(value = ...future.value$value, [18:02:15.003] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.003] ...future.rng), globalenv = if (FALSE) [18:02:15.003] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:15.003] ...future.globalenv.names)) [18:02:15.003] else NULL, started = ...future.startTime, version = "1.8") [18:02:15.003] }, condition = base::local({ [18:02:15.003] c <- base::c [18:02:15.003] inherits <- base::inherits [18:02:15.003] invokeRestart <- base::invokeRestart [18:02:15.003] length <- base::length [18:02:15.003] list <- base::list [18:02:15.003] seq.int <- base::seq.int [18:02:15.003] signalCondition <- base::signalCondition [18:02:15.003] sys.calls <- base::sys.calls [18:02:15.003] `[[` <- base::`[[` [18:02:15.003] `+` <- base::`+` [18:02:15.003] `<<-` <- base::`<<-` [18:02:15.003] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:15.003] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:15.003] 3L)] [18:02:15.003] } [18:02:15.003] function(cond) { [18:02:15.003] is_error <- inherits(cond, "error") [18:02:15.003] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:15.003] NULL) [18:02:15.003] if (is_error) { [18:02:15.003] sessionInformation <- function() { [18:02:15.003] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:15.003] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:15.003] search = base::search(), system = base::Sys.info()) [18:02:15.003] } [18:02:15.003] ...future.conditions[[length(...future.conditions) + [18:02:15.003] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:15.003] cond$call), session = sessionInformation(), [18:02:15.003] timestamp = base::Sys.time(), signaled = 0L) [18:02:15.003] signalCondition(cond) [18:02:15.003] } [18:02:15.003] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:15.003] "immediateCondition"))) { [18:02:15.003] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:15.003] ...future.conditions[[length(...future.conditions) + [18:02:15.003] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:15.003] if (TRUE && !signal) { [18:02:15.003] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.003] { [18:02:15.003] inherits <- base::inherits [18:02:15.003] invokeRestart <- base::invokeRestart [18:02:15.003] is.null <- base::is.null [18:02:15.003] muffled <- FALSE [18:02:15.003] if (inherits(cond, "message")) { [18:02:15.003] muffled <- grepl(pattern, "muffleMessage") [18:02:15.003] if (muffled) [18:02:15.003] invokeRestart("muffleMessage") [18:02:15.003] } [18:02:15.003] else if (inherits(cond, "warning")) { [18:02:15.003] muffled <- grepl(pattern, "muffleWarning") [18:02:15.003] if (muffled) [18:02:15.003] invokeRestart("muffleWarning") [18:02:15.003] } [18:02:15.003] else if (inherits(cond, "condition")) { [18:02:15.003] if (!is.null(pattern)) { [18:02:15.003] computeRestarts <- base::computeRestarts [18:02:15.003] grepl <- base::grepl [18:02:15.003] restarts <- computeRestarts(cond) [18:02:15.003] for (restart in restarts) { [18:02:15.003] name <- restart$name [18:02:15.003] if (is.null(name)) [18:02:15.003] next [18:02:15.003] if (!grepl(pattern, name)) [18:02:15.003] next [18:02:15.003] invokeRestart(restart) [18:02:15.003] muffled <- TRUE [18:02:15.003] break [18:02:15.003] } [18:02:15.003] } [18:02:15.003] } [18:02:15.003] invisible(muffled) [18:02:15.003] } [18:02:15.003] muffleCondition(cond, pattern = "^muffle") [18:02:15.003] } [18:02:15.003] } [18:02:15.003] else { [18:02:15.003] if (TRUE) { [18:02:15.003] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.003] { [18:02:15.003] inherits <- base::inherits [18:02:15.003] invokeRestart <- base::invokeRestart [18:02:15.003] is.null <- base::is.null [18:02:15.003] muffled <- FALSE [18:02:15.003] if (inherits(cond, "message")) { [18:02:15.003] muffled <- grepl(pattern, "muffleMessage") [18:02:15.003] if (muffled) [18:02:15.003] invokeRestart("muffleMessage") [18:02:15.003] } [18:02:15.003] else if (inherits(cond, "warning")) { [18:02:15.003] muffled <- grepl(pattern, "muffleWarning") [18:02:15.003] if (muffled) [18:02:15.003] invokeRestart("muffleWarning") [18:02:15.003] } [18:02:15.003] else if (inherits(cond, "condition")) { [18:02:15.003] if (!is.null(pattern)) { [18:02:15.003] computeRestarts <- base::computeRestarts [18:02:15.003] grepl <- base::grepl [18:02:15.003] restarts <- computeRestarts(cond) [18:02:15.003] for (restart in restarts) { [18:02:15.003] name <- restart$name [18:02:15.003] if (is.null(name)) [18:02:15.003] next [18:02:15.003] if (!grepl(pattern, name)) [18:02:15.003] next [18:02:15.003] invokeRestart(restart) [18:02:15.003] muffled <- TRUE [18:02:15.003] break [18:02:15.003] } [18:02:15.003] } [18:02:15.003] } [18:02:15.003] invisible(muffled) [18:02:15.003] } [18:02:15.003] muffleCondition(cond, pattern = "^muffle") [18:02:15.003] } [18:02:15.003] } [18:02:15.003] } [18:02:15.003] })) [18:02:15.003] }, error = function(ex) { [18:02:15.003] base::structure(base::list(value = NULL, visible = NULL, [18:02:15.003] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.003] ...future.rng), started = ...future.startTime, [18:02:15.003] finished = Sys.time(), session_uuid = NA_character_, [18:02:15.003] version = "1.8"), class = "FutureResult") [18:02:15.003] }, finally = { [18:02:15.003] if (!identical(...future.workdir, getwd())) [18:02:15.003] setwd(...future.workdir) [18:02:15.003] { [18:02:15.003] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:15.003] ...future.oldOptions$nwarnings <- NULL [18:02:15.003] } [18:02:15.003] base::options(...future.oldOptions) [18:02:15.003] if (.Platform$OS.type == "windows") { [18:02:15.003] old_names <- names(...future.oldEnvVars) [18:02:15.003] envs <- base::Sys.getenv() [18:02:15.003] names <- names(envs) [18:02:15.003] common <- intersect(names, old_names) [18:02:15.003] added <- setdiff(names, old_names) [18:02:15.003] removed <- setdiff(old_names, names) [18:02:15.003] changed <- common[...future.oldEnvVars[common] != [18:02:15.003] envs[common]] [18:02:15.003] NAMES <- toupper(changed) [18:02:15.003] args <- list() [18:02:15.003] for (kk in seq_along(NAMES)) { [18:02:15.003] name <- changed[[kk]] [18:02:15.003] NAME <- NAMES[[kk]] [18:02:15.003] if (name != NAME && is.element(NAME, old_names)) [18:02:15.003] next [18:02:15.003] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.003] } [18:02:15.003] NAMES <- toupper(added) [18:02:15.003] for (kk in seq_along(NAMES)) { [18:02:15.003] name <- added[[kk]] [18:02:15.003] NAME <- NAMES[[kk]] [18:02:15.003] if (name != NAME && is.element(NAME, old_names)) [18:02:15.003] next [18:02:15.003] args[[name]] <- "" [18:02:15.003] } [18:02:15.003] NAMES <- toupper(removed) [18:02:15.003] for (kk in seq_along(NAMES)) { [18:02:15.003] name <- removed[[kk]] [18:02:15.003] NAME <- NAMES[[kk]] [18:02:15.003] if (name != NAME && is.element(NAME, old_names)) [18:02:15.003] next [18:02:15.003] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.003] } [18:02:15.003] if (length(args) > 0) [18:02:15.003] base::do.call(base::Sys.setenv, args = args) [18:02:15.003] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:15.003] } [18:02:15.003] else { [18:02:15.003] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:15.003] } [18:02:15.003] { [18:02:15.003] if (base::length(...future.futureOptionsAdded) > [18:02:15.003] 0L) { [18:02:15.003] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:15.003] base::names(opts) <- ...future.futureOptionsAdded [18:02:15.003] base::options(opts) [18:02:15.003] } [18:02:15.003] { [18:02:15.003] { [18:02:15.003] base::options(mc.cores = ...future.mc.cores.old) [18:02:15.003] NULL [18:02:15.003] } [18:02:15.003] options(future.plan = NULL) [18:02:15.003] if (is.na(NA_character_)) [18:02:15.003] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.003] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:15.003] future::plan(list(function (..., envir = parent.frame()) [18:02:15.003] { [18:02:15.003] future <- SequentialFuture(..., envir = envir) [18:02:15.003] if (!future$lazy) [18:02:15.003] future <- run(future) [18:02:15.003] invisible(future) [18:02:15.003] }), .cleanup = FALSE, .init = FALSE) [18:02:15.003] } [18:02:15.003] } [18:02:15.003] } [18:02:15.003] }) [18:02:15.003] if (TRUE) { [18:02:15.003] base::sink(type = "output", split = FALSE) [18:02:15.003] if (TRUE) { [18:02:15.003] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:15.003] } [18:02:15.003] else { [18:02:15.003] ...future.result["stdout"] <- base::list(NULL) [18:02:15.003] } [18:02:15.003] base::close(...future.stdout) [18:02:15.003] ...future.stdout <- NULL [18:02:15.003] } [18:02:15.003] ...future.result$conditions <- ...future.conditions [18:02:15.003] ...future.result$finished <- base::Sys.time() [18:02:15.003] ...future.result [18:02:15.003] } [18:02:15.008] Exporting 1 global objects (4.01 KiB) to cluster node #1 ... [18:02:15.008] Exporting 'a' (4.01 KiB) to cluster node #1 ... [18:02:15.009] Exporting 'a' (4.01 KiB) to cluster node #1 ... DONE [18:02:15.009] Exporting 1 global objects (4.01 KiB) to cluster node #1 ... DONE [18:02:15.010] 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) [18:02:15.025] receiveMessageFromWorker() for ClusterFuture ... [18:02:15.025] - Validating connection of MultisessionFuture [18:02:15.025] - received message: FutureResult [18:02:15.025] - Received FutureResult [18:02:15.025] - Erased future from FutureRegistry [18:02:15.026] result() for ClusterFuture ... [18:02:15.026] - result already collected: FutureResult [18:02:15.026] result() for ClusterFuture ... done [18:02:15.026] receiveMessageFromWorker() for ClusterFuture ... done Resolved: TRUE Value: Conditions captured: Early signaling: FALSE Owner process: a4012676-0af7-de90-02dc-9e3925928fa1 Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:15.026] result() for ClusterFuture ... [18:02:15.027] - result already collected: FutureResult [18:02:15.027] result() for ClusterFuture ... done [18:02:15.027] result() for ClusterFuture ... [18:02:15.027] - result already collected: FutureResult [18:02:15.027] result() for ClusterFuture ... done [1] 514605 a: 4112 bytes [18:02:15.027] getGlobalsAndPackages() ... [18:02:15.028] Searching for globals... [18:02:15.029] - globals found: [3] '{', 'sum', 'a' [18:02:15.029] Searching for globals ... DONE [18:02:15.029] Resolving globals: FALSE [18:02:15.029] The total size of the 1 globals is 4.02 KiB (4112 bytes) [18:02:15.030] 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) [18:02:15.031] getGlobalsAndPackages() ... [18:02:15.031] Searching for globals... [18:02:15.032] - globals found: [4] '{', '*', 'a', 'b' [18:02:15.032] Searching for globals ... DONE [18:02:15.032] Resolving globals: FALSE [18:02:15.033] The total size of the 2 globals is 112 bytes (112 bytes) [18:02:15.033] 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') [18:02:15.033] - globals: [2] 'a', 'b' [18:02:15.034] [18:02:15.034] getGlobalsAndPackages() ... DONE > rm(list = c("a", "b")) > > v <- value(f) [18:02:15.034] Packages needed by the future expression (n = 0): [18:02:15.034] Packages needed by future strategies (n = 0): [18:02:15.035] { [18:02:15.035] { [18:02:15.035] { [18:02:15.035] ...future.startTime <- base::Sys.time() [18:02:15.035] { [18:02:15.035] { [18:02:15.035] { [18:02:15.035] base::local({ [18:02:15.035] has_future <- base::requireNamespace("future", [18:02:15.035] quietly = TRUE) [18:02:15.035] if (has_future) { [18:02:15.035] ns <- base::getNamespace("future") [18:02:15.035] version <- ns[[".package"]][["version"]] [18:02:15.035] if (is.null(version)) [18:02:15.035] version <- utils::packageVersion("future") [18:02:15.035] } [18:02:15.035] else { [18:02:15.035] version <- NULL [18:02:15.035] } [18:02:15.035] if (!has_future || version < "1.8.0") { [18:02:15.035] info <- base::c(r_version = base::gsub("R version ", [18:02:15.035] "", base::R.version$version.string), [18:02:15.035] platform = base::sprintf("%s (%s-bit)", [18:02:15.035] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:15.035] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:15.035] "release", "version")], collapse = " "), [18:02:15.035] hostname = base::Sys.info()[["nodename"]]) [18:02:15.035] info <- base::sprintf("%s: %s", base::names(info), [18:02:15.035] info) [18:02:15.035] info <- base::paste(info, collapse = "; ") [18:02:15.035] if (!has_future) { [18:02:15.035] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:15.035] info) [18:02:15.035] } [18:02:15.035] else { [18:02:15.035] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:15.035] info, version) [18:02:15.035] } [18:02:15.035] base::stop(msg) [18:02:15.035] } [18:02:15.035] }) [18:02:15.035] } [18:02:15.035] options(future.plan = NULL) [18:02:15.035] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.035] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:15.035] } [18:02:15.035] ...future.workdir <- getwd() [18:02:15.035] } [18:02:15.035] ...future.oldOptions <- base::as.list(base::.Options) [18:02:15.035] ...future.oldEnvVars <- base::Sys.getenv() [18:02:15.035] } [18:02:15.035] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:15.035] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:15.035] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:15.035] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:15.035] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:15.035] future.stdout.windows.reencode = NULL, width = 80L) [18:02:15.035] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:15.035] base::names(...future.oldOptions)) [18:02:15.035] } [18:02:15.035] if (FALSE) { [18:02:15.035] } [18:02:15.035] else { [18:02:15.035] if (TRUE) { [18:02:15.035] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:15.035] open = "w") [18:02:15.035] } [18:02:15.035] else { [18:02:15.035] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:15.035] windows = "NUL", "/dev/null"), open = "w") [18:02:15.035] } [18:02:15.035] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:15.035] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:15.035] base::sink(type = "output", split = FALSE) [18:02:15.035] base::close(...future.stdout) [18:02:15.035] }, add = TRUE) [18:02:15.035] } [18:02:15.035] ...future.frame <- base::sys.nframe() [18:02:15.035] ...future.conditions <- base::list() [18:02:15.035] ...future.rng <- base::globalenv()$.Random.seed [18:02:15.035] if (FALSE) { [18:02:15.035] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:15.035] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:15.035] } [18:02:15.035] ...future.result <- base::tryCatch({ [18:02:15.035] base::withCallingHandlers({ [18:02:15.035] ...future.value <- base::withVisible(base::local({ [18:02:15.035] a * b [18:02:15.035] })) [18:02:15.035] future::FutureResult(value = ...future.value$value, [18:02:15.035] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.035] ...future.rng), globalenv = if (FALSE) [18:02:15.035] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:15.035] ...future.globalenv.names)) [18:02:15.035] else NULL, started = ...future.startTime, version = "1.8") [18:02:15.035] }, condition = base::local({ [18:02:15.035] c <- base::c [18:02:15.035] inherits <- base::inherits [18:02:15.035] invokeRestart <- base::invokeRestart [18:02:15.035] length <- base::length [18:02:15.035] list <- base::list [18:02:15.035] seq.int <- base::seq.int [18:02:15.035] signalCondition <- base::signalCondition [18:02:15.035] sys.calls <- base::sys.calls [18:02:15.035] `[[` <- base::`[[` [18:02:15.035] `+` <- base::`+` [18:02:15.035] `<<-` <- base::`<<-` [18:02:15.035] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:15.035] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:15.035] 3L)] [18:02:15.035] } [18:02:15.035] function(cond) { [18:02:15.035] is_error <- inherits(cond, "error") [18:02:15.035] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:15.035] NULL) [18:02:15.035] if (is_error) { [18:02:15.035] sessionInformation <- function() { [18:02:15.035] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:15.035] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:15.035] search = base::search(), system = base::Sys.info()) [18:02:15.035] } [18:02:15.035] ...future.conditions[[length(...future.conditions) + [18:02:15.035] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:15.035] cond$call), session = sessionInformation(), [18:02:15.035] timestamp = base::Sys.time(), signaled = 0L) [18:02:15.035] signalCondition(cond) [18:02:15.035] } [18:02:15.035] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:15.035] "immediateCondition"))) { [18:02:15.035] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:15.035] ...future.conditions[[length(...future.conditions) + [18:02:15.035] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:15.035] if (TRUE && !signal) { [18:02:15.035] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.035] { [18:02:15.035] inherits <- base::inherits [18:02:15.035] invokeRestart <- base::invokeRestart [18:02:15.035] is.null <- base::is.null [18:02:15.035] muffled <- FALSE [18:02:15.035] if (inherits(cond, "message")) { [18:02:15.035] muffled <- grepl(pattern, "muffleMessage") [18:02:15.035] if (muffled) [18:02:15.035] invokeRestart("muffleMessage") [18:02:15.035] } [18:02:15.035] else if (inherits(cond, "warning")) { [18:02:15.035] muffled <- grepl(pattern, "muffleWarning") [18:02:15.035] if (muffled) [18:02:15.035] invokeRestart("muffleWarning") [18:02:15.035] } [18:02:15.035] else if (inherits(cond, "condition")) { [18:02:15.035] if (!is.null(pattern)) { [18:02:15.035] computeRestarts <- base::computeRestarts [18:02:15.035] grepl <- base::grepl [18:02:15.035] restarts <- computeRestarts(cond) [18:02:15.035] for (restart in restarts) { [18:02:15.035] name <- restart$name [18:02:15.035] if (is.null(name)) [18:02:15.035] next [18:02:15.035] if (!grepl(pattern, name)) [18:02:15.035] next [18:02:15.035] invokeRestart(restart) [18:02:15.035] muffled <- TRUE [18:02:15.035] break [18:02:15.035] } [18:02:15.035] } [18:02:15.035] } [18:02:15.035] invisible(muffled) [18:02:15.035] } [18:02:15.035] muffleCondition(cond, pattern = "^muffle") [18:02:15.035] } [18:02:15.035] } [18:02:15.035] else { [18:02:15.035] if (TRUE) { [18:02:15.035] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.035] { [18:02:15.035] inherits <- base::inherits [18:02:15.035] invokeRestart <- base::invokeRestart [18:02:15.035] is.null <- base::is.null [18:02:15.035] muffled <- FALSE [18:02:15.035] if (inherits(cond, "message")) { [18:02:15.035] muffled <- grepl(pattern, "muffleMessage") [18:02:15.035] if (muffled) [18:02:15.035] invokeRestart("muffleMessage") [18:02:15.035] } [18:02:15.035] else if (inherits(cond, "warning")) { [18:02:15.035] muffled <- grepl(pattern, "muffleWarning") [18:02:15.035] if (muffled) [18:02:15.035] invokeRestart("muffleWarning") [18:02:15.035] } [18:02:15.035] else if (inherits(cond, "condition")) { [18:02:15.035] if (!is.null(pattern)) { [18:02:15.035] computeRestarts <- base::computeRestarts [18:02:15.035] grepl <- base::grepl [18:02:15.035] restarts <- computeRestarts(cond) [18:02:15.035] for (restart in restarts) { [18:02:15.035] name <- restart$name [18:02:15.035] if (is.null(name)) [18:02:15.035] next [18:02:15.035] if (!grepl(pattern, name)) [18:02:15.035] next [18:02:15.035] invokeRestart(restart) [18:02:15.035] muffled <- TRUE [18:02:15.035] break [18:02:15.035] } [18:02:15.035] } [18:02:15.035] } [18:02:15.035] invisible(muffled) [18:02:15.035] } [18:02:15.035] muffleCondition(cond, pattern = "^muffle") [18:02:15.035] } [18:02:15.035] } [18:02:15.035] } [18:02:15.035] })) [18:02:15.035] }, error = function(ex) { [18:02:15.035] base::structure(base::list(value = NULL, visible = NULL, [18:02:15.035] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.035] ...future.rng), started = ...future.startTime, [18:02:15.035] finished = Sys.time(), session_uuid = NA_character_, [18:02:15.035] version = "1.8"), class = "FutureResult") [18:02:15.035] }, finally = { [18:02:15.035] if (!identical(...future.workdir, getwd())) [18:02:15.035] setwd(...future.workdir) [18:02:15.035] { [18:02:15.035] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:15.035] ...future.oldOptions$nwarnings <- NULL [18:02:15.035] } [18:02:15.035] base::options(...future.oldOptions) [18:02:15.035] if (.Platform$OS.type == "windows") { [18:02:15.035] old_names <- names(...future.oldEnvVars) [18:02:15.035] envs <- base::Sys.getenv() [18:02:15.035] names <- names(envs) [18:02:15.035] common <- intersect(names, old_names) [18:02:15.035] added <- setdiff(names, old_names) [18:02:15.035] removed <- setdiff(old_names, names) [18:02:15.035] changed <- common[...future.oldEnvVars[common] != [18:02:15.035] envs[common]] [18:02:15.035] NAMES <- toupper(changed) [18:02:15.035] args <- list() [18:02:15.035] for (kk in seq_along(NAMES)) { [18:02:15.035] name <- changed[[kk]] [18:02:15.035] NAME <- NAMES[[kk]] [18:02:15.035] if (name != NAME && is.element(NAME, old_names)) [18:02:15.035] next [18:02:15.035] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.035] } [18:02:15.035] NAMES <- toupper(added) [18:02:15.035] for (kk in seq_along(NAMES)) { [18:02:15.035] name <- added[[kk]] [18:02:15.035] NAME <- NAMES[[kk]] [18:02:15.035] if (name != NAME && is.element(NAME, old_names)) [18:02:15.035] next [18:02:15.035] args[[name]] <- "" [18:02:15.035] } [18:02:15.035] NAMES <- toupper(removed) [18:02:15.035] for (kk in seq_along(NAMES)) { [18:02:15.035] name <- removed[[kk]] [18:02:15.035] NAME <- NAMES[[kk]] [18:02:15.035] if (name != NAME && is.element(NAME, old_names)) [18:02:15.035] next [18:02:15.035] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.035] } [18:02:15.035] if (length(args) > 0) [18:02:15.035] base::do.call(base::Sys.setenv, args = args) [18:02:15.035] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:15.035] } [18:02:15.035] else { [18:02:15.035] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:15.035] } [18:02:15.035] { [18:02:15.035] if (base::length(...future.futureOptionsAdded) > [18:02:15.035] 0L) { [18:02:15.035] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:15.035] base::names(opts) <- ...future.futureOptionsAdded [18:02:15.035] base::options(opts) [18:02:15.035] } [18:02:15.035] { [18:02:15.035] { [18:02:15.035] NULL [18:02:15.035] RNGkind("Mersenne-Twister") [18:02:15.035] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:15.035] inherits = FALSE) [18:02:15.035] } [18:02:15.035] options(future.plan = NULL) [18:02:15.035] if (is.na(NA_character_)) [18:02:15.035] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.035] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:15.035] future::plan(list(function (..., envir = parent.frame()) [18:02:15.035] { [18:02:15.035] future <- SequentialFuture(..., envir = envir) [18:02:15.035] if (!future$lazy) [18:02:15.035] future <- run(future) [18:02:15.035] invisible(future) [18:02:15.035] }), .cleanup = FALSE, .init = FALSE) [18:02:15.035] } [18:02:15.035] } [18:02:15.035] } [18:02:15.035] }) [18:02:15.035] if (TRUE) { [18:02:15.035] base::sink(type = "output", split = FALSE) [18:02:15.035] if (TRUE) { [18:02:15.035] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:15.035] } [18:02:15.035] else { [18:02:15.035] ...future.result["stdout"] <- base::list(NULL) [18:02:15.035] } [18:02:15.035] base::close(...future.stdout) [18:02:15.035] ...future.stdout <- NULL [18:02:15.035] } [18:02:15.035] ...future.result$conditions <- ...future.conditions [18:02:15.035] ...future.result$finished <- base::Sys.time() [18:02:15.035] ...future.result [18:02:15.035] } [18:02:15.039] assign_globals() ... [18:02:15.039] List of 2 [18:02:15.039] $ a: num 2 [18:02:15.039] $ b: num 3 [18:02:15.039] - attr(*, "where")=List of 2 [18:02:15.039] ..$ a: [18:02:15.039] ..$ b: [18:02:15.039] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:15.039] - attr(*, "resolved")= logi FALSE [18:02:15.039] - attr(*, "total_size")= num 112 [18:02:15.044] - copied 'a' to environment [18:02:15.044] - copied 'b' to environment [18:02:15.044] assign_globals() ... done [18:02:15.045] plan(): Setting new future strategy stack: [18:02:15.045] List of future strategies: [18:02:15.045] 1. sequential: [18:02:15.045] - args: function (..., envir = parent.frame()) [18:02:15.045] - tweaked: FALSE [18:02:15.045] - call: NULL [18:02:15.045] plan(): nbrOfWorkers() = 1 [18:02:15.046] plan(): Setting new future strategy stack: [18:02:15.046] List of future strategies: [18:02:15.046] 1. sequential: [18:02:15.046] - args: function (..., envir = parent.frame()) [18:02:15.046] - tweaked: FALSE [18:02:15.046] - call: future::plan("sequential") [18:02:15.047] plan(): nbrOfWorkers() = 1 [18:02:15.047] 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) [18:02:15.048] plan(): Setting new future strategy stack: [18:02:15.049] List of future strategies: [18:02:15.049] 1. multisession: [18:02:15.049] - args: function (..., workers = 2L, envir = parent.frame()) [18:02:15.049] - tweaked: TRUE [18:02:15.049] - call: plan(multisession, workers = 2L) [18:02:15.062] plan(): plan_init() of 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [18:02:15.062] multisession: [18:02:15.062] - args: function (..., workers = 2L, envir = parent.frame()) [18:02:15.062] - tweaked: TRUE [18:02:15.062] - call: plan(multisession, workers = 2L) [18:02:15.063] getGlobalsAndPackages() ... [18:02:15.063] Not searching for globals [18:02:15.063] - globals: [0] [18:02:15.064] getGlobalsAndPackages() ... DONE [18:02:15.064] [local output] makeClusterPSOCK() ... [18:02:15.064] [local output] Workers: [n = 2] 'localhost', 'localhost' [18:02:15.067] [local output] Base port: 20328 [18:02:15.067] [local output] Getting setup options for 2 cluster nodes ... [18:02:15.067] [local output] - Node 1 of 2 ... [18:02:15.068] [local output] localMachine=TRUE => revtunnel=FALSE [18:02:15.069] [local output] Rscript port: 20328 [18:02:15.070] [local output] - Node 2 of 2 ... [18:02:15.070] [local output] localMachine=TRUE => revtunnel=FALSE [18:02:15.071] [local output] Rscript port: 20328 [18:02:15.072] [local output] Getting setup options for 2 cluster nodes ... done [18:02:15.072] [local output] - Parallel setup requested for some PSOCK nodes [18:02:15.073] [local output] Setting up PSOCK nodes in parallel [18:02:15.073] List of 36 [18:02:15.073] $ worker : chr "localhost" [18:02:15.073] ..- attr(*, "localhost")= logi TRUE [18:02:15.073] $ master : chr "localhost" [18:02:15.073] $ port : int 20328 [18:02:15.073] $ connectTimeout : num 120 [18:02:15.073] $ timeout : num 120 [18:02:15.073] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [18:02:15.073] $ homogeneous : logi TRUE [18:02:15.073] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=multisession.R:33724:CRANWIN3:CR"| __truncated__ [18:02:15.073] $ rscript_envs : NULL [18:02:15.073] $ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:02:15.073] $ rscript_startup : NULL [18:02:15.073] $ rscript_sh : chr "cmd" [18:02:15.073] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:02:15.073] $ methods : logi TRUE [18:02:15.073] $ socketOptions : chr "no-delay" [18:02:15.073] $ useXDR : logi FALSE [18:02:15.073] $ outfile : chr "/dev/null" [18:02:15.073] $ renice : int NA [18:02:15.073] $ rshcmd : NULL [18:02:15.073] $ user : chr(0) [18:02:15.073] $ revtunnel : logi FALSE [18:02:15.073] $ rshlogfile : NULL [18:02:15.073] $ rshopts : chr(0) [18:02:15.073] $ rank : int 1 [18:02:15.073] $ manual : logi FALSE [18:02:15.073] $ dryrun : logi FALSE [18:02:15.073] $ quiet : logi FALSE [18:02:15.073] $ setup_strategy : chr "parallel" [18:02:15.073] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:02:15.073] $ pidfile : chr "D:/temp/RtmpyeX7Iz/worker.rank=1.parallelly.parent=33724.83bc67961963.pid" [18:02:15.073] $ rshcmd_label : NULL [18:02:15.073] $ rsh_call : NULL [18:02:15.073] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:02:15.073] $ localMachine : logi TRUE [18:02:15.073] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [18:02:15.073] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [18:02:15.073] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [18:02:15.073] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [18:02:15.073] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [18:02:15.073] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [18:02:15.073] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [18:02:15.073] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [18:02:15.073] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [18:02:15.073] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [18:02:15.073] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [18:02:15.073] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [18:02:15.073] "parallel"), action = c("launch", "options"), verbose = FALSE) [18:02:15.073] $ arguments :List of 28 [18:02:15.073] ..$ worker : chr "localhost" [18:02:15.073] ..$ master : NULL [18:02:15.073] ..$ port : int 20328 [18:02:15.073] ..$ connectTimeout : num 120 [18:02:15.073] ..$ timeout : num 120 [18:02:15.073] ..$ rscript : NULL [18:02:15.073] ..$ homogeneous : NULL [18:02:15.073] ..$ rscript_args : NULL [18:02:15.073] ..$ rscript_envs : NULL [18:02:15.073] ..$ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:02:15.073] ..$ rscript_startup : NULL [18:02:15.073] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [18:02:15.073] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:02:15.073] ..$ methods : logi TRUE [18:02:15.073] ..$ socketOptions : chr "no-delay" [18:02:15.073] ..$ useXDR : logi FALSE [18:02:15.073] ..$ outfile : chr "/dev/null" [18:02:15.073] ..$ renice : int NA [18:02:15.073] ..$ rshcmd : NULL [18:02:15.073] ..$ user : NULL [18:02:15.073] ..$ revtunnel : logi NA [18:02:15.073] ..$ rshlogfile : NULL [18:02:15.073] ..$ rshopts : NULL [18:02:15.073] ..$ rank : int 1 [18:02:15.073] ..$ manual : logi FALSE [18:02:15.073] ..$ dryrun : logi FALSE [18:02:15.073] ..$ quiet : logi FALSE [18:02:15.073] ..$ setup_strategy : chr "parallel" [18:02:15.073] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [18:02:15.096] [local output] System call to launch all workers: [18:02:15.096] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=multisession.R:33724:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpyeX7Iz/worker.rank=1.parallelly.parent=33724.83bc67961963.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=20328 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [18:02:15.097] [local output] Starting PSOCK main server [18:02:15.106] [local output] Workers launched [18:02:15.106] [local output] Waiting for workers to connect back [18:02:15.106] - [local output] 0 workers out of 2 ready [18:02:15.277] - [local output] 0 workers out of 2 ready [18:02:15.277] - [local output] 1 workers out of 2 ready [18:02:15.278] - [local output] 2 workers out of 2 ready [18:02:15.278] [local output] Launching of workers completed [18:02:15.278] [local output] Collecting session information from workers [18:02:15.279] [local output] - Worker #1 of 2 [18:02:15.280] [local output] - Worker #2 of 2 [18:02:15.280] [local output] makeClusterPSOCK() ... done [18:02:15.292] Packages needed by the future expression (n = 0): [18:02:15.292] Packages needed by future strategies (n = 0): [18:02:15.292] { [18:02:15.292] { [18:02:15.292] { [18:02:15.292] ...future.startTime <- base::Sys.time() [18:02:15.292] { [18:02:15.292] { [18:02:15.292] { [18:02:15.292] { [18:02:15.292] base::local({ [18:02:15.292] has_future <- base::requireNamespace("future", [18:02:15.292] quietly = TRUE) [18:02:15.292] if (has_future) { [18:02:15.292] ns <- base::getNamespace("future") [18:02:15.292] version <- ns[[".package"]][["version"]] [18:02:15.292] if (is.null(version)) [18:02:15.292] version <- utils::packageVersion("future") [18:02:15.292] } [18:02:15.292] else { [18:02:15.292] version <- NULL [18:02:15.292] } [18:02:15.292] if (!has_future || version < "1.8.0") { [18:02:15.292] info <- base::c(r_version = base::gsub("R version ", [18:02:15.292] "", base::R.version$version.string), [18:02:15.292] platform = base::sprintf("%s (%s-bit)", [18:02:15.292] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:15.292] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:15.292] "release", "version")], collapse = " "), [18:02:15.292] hostname = base::Sys.info()[["nodename"]]) [18:02:15.292] info <- base::sprintf("%s: %s", base::names(info), [18:02:15.292] info) [18:02:15.292] info <- base::paste(info, collapse = "; ") [18:02:15.292] if (!has_future) { [18:02:15.292] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:15.292] info) [18:02:15.292] } [18:02:15.292] else { [18:02:15.292] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:15.292] info, version) [18:02:15.292] } [18:02:15.292] base::stop(msg) [18:02:15.292] } [18:02:15.292] }) [18:02:15.292] } [18:02:15.292] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:15.292] base::options(mc.cores = 1L) [18:02:15.292] } [18:02:15.292] options(future.plan = NULL) [18:02:15.292] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.292] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:15.292] } [18:02:15.292] ...future.workdir <- getwd() [18:02:15.292] } [18:02:15.292] ...future.oldOptions <- base::as.list(base::.Options) [18:02:15.292] ...future.oldEnvVars <- base::Sys.getenv() [18:02:15.292] } [18:02:15.292] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:15.292] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:15.292] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:15.292] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:15.292] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:15.292] future.stdout.windows.reencode = NULL, width = 80L) [18:02:15.292] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:15.292] base::names(...future.oldOptions)) [18:02:15.292] } [18:02:15.292] if (FALSE) { [18:02:15.292] } [18:02:15.292] else { [18:02:15.292] if (TRUE) { [18:02:15.292] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:15.292] open = "w") [18:02:15.292] } [18:02:15.292] else { [18:02:15.292] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:15.292] windows = "NUL", "/dev/null"), open = "w") [18:02:15.292] } [18:02:15.292] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:15.292] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:15.292] base::sink(type = "output", split = FALSE) [18:02:15.292] base::close(...future.stdout) [18:02:15.292] }, add = TRUE) [18:02:15.292] } [18:02:15.292] ...future.frame <- base::sys.nframe() [18:02:15.292] ...future.conditions <- base::list() [18:02:15.292] ...future.rng <- base::globalenv()$.Random.seed [18:02:15.292] if (FALSE) { [18:02:15.292] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:15.292] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:15.292] } [18:02:15.292] ...future.result <- base::tryCatch({ [18:02:15.292] base::withCallingHandlers({ [18:02:15.292] ...future.value <- base::withVisible(base::local({ [18:02:15.292] ...future.makeSendCondition <- local({ [18:02:15.292] sendCondition <- NULL [18:02:15.292] function(frame = 1L) { [18:02:15.292] if (is.function(sendCondition)) [18:02:15.292] return(sendCondition) [18:02:15.292] ns <- getNamespace("parallel") [18:02:15.292] if (exists("sendData", mode = "function", [18:02:15.292] envir = ns)) { [18:02:15.292] parallel_sendData <- get("sendData", mode = "function", [18:02:15.292] envir = ns) [18:02:15.292] envir <- sys.frame(frame) [18:02:15.292] master <- NULL [18:02:15.292] while (!identical(envir, .GlobalEnv) && [18:02:15.292] !identical(envir, emptyenv())) { [18:02:15.292] if (exists("master", mode = "list", envir = envir, [18:02:15.292] inherits = FALSE)) { [18:02:15.292] master <- get("master", mode = "list", [18:02:15.292] envir = envir, inherits = FALSE) [18:02:15.292] if (inherits(master, c("SOCKnode", [18:02:15.292] "SOCK0node"))) { [18:02:15.292] sendCondition <<- function(cond) { [18:02:15.292] data <- list(type = "VALUE", value = cond, [18:02:15.292] success = TRUE) [18:02:15.292] parallel_sendData(master, data) [18:02:15.292] } [18:02:15.292] return(sendCondition) [18:02:15.292] } [18:02:15.292] } [18:02:15.292] frame <- frame + 1L [18:02:15.292] envir <- sys.frame(frame) [18:02:15.292] } [18:02:15.292] } [18:02:15.292] sendCondition <<- function(cond) NULL [18:02:15.292] } [18:02:15.292] }) [18:02:15.292] withCallingHandlers({ [18:02:15.292] NA [18:02:15.292] }, immediateCondition = function(cond) { [18:02:15.292] sendCondition <- ...future.makeSendCondition() [18:02:15.292] sendCondition(cond) [18:02:15.292] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.292] { [18:02:15.292] inherits <- base::inherits [18:02:15.292] invokeRestart <- base::invokeRestart [18:02:15.292] is.null <- base::is.null [18:02:15.292] muffled <- FALSE [18:02:15.292] if (inherits(cond, "message")) { [18:02:15.292] muffled <- grepl(pattern, "muffleMessage") [18:02:15.292] if (muffled) [18:02:15.292] invokeRestart("muffleMessage") [18:02:15.292] } [18:02:15.292] else if (inherits(cond, "warning")) { [18:02:15.292] muffled <- grepl(pattern, "muffleWarning") [18:02:15.292] if (muffled) [18:02:15.292] invokeRestart("muffleWarning") [18:02:15.292] } [18:02:15.292] else if (inherits(cond, "condition")) { [18:02:15.292] if (!is.null(pattern)) { [18:02:15.292] computeRestarts <- base::computeRestarts [18:02:15.292] grepl <- base::grepl [18:02:15.292] restarts <- computeRestarts(cond) [18:02:15.292] for (restart in restarts) { [18:02:15.292] name <- restart$name [18:02:15.292] if (is.null(name)) [18:02:15.292] next [18:02:15.292] if (!grepl(pattern, name)) [18:02:15.292] next [18:02:15.292] invokeRestart(restart) [18:02:15.292] muffled <- TRUE [18:02:15.292] break [18:02:15.292] } [18:02:15.292] } [18:02:15.292] } [18:02:15.292] invisible(muffled) [18:02:15.292] } [18:02:15.292] muffleCondition(cond) [18:02:15.292] }) [18:02:15.292] })) [18:02:15.292] future::FutureResult(value = ...future.value$value, [18:02:15.292] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.292] ...future.rng), globalenv = if (FALSE) [18:02:15.292] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:15.292] ...future.globalenv.names)) [18:02:15.292] else NULL, started = ...future.startTime, version = "1.8") [18:02:15.292] }, condition = base::local({ [18:02:15.292] c <- base::c [18:02:15.292] inherits <- base::inherits [18:02:15.292] invokeRestart <- base::invokeRestart [18:02:15.292] length <- base::length [18:02:15.292] list <- base::list [18:02:15.292] seq.int <- base::seq.int [18:02:15.292] signalCondition <- base::signalCondition [18:02:15.292] sys.calls <- base::sys.calls [18:02:15.292] `[[` <- base::`[[` [18:02:15.292] `+` <- base::`+` [18:02:15.292] `<<-` <- base::`<<-` [18:02:15.292] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:15.292] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:15.292] 3L)] [18:02:15.292] } [18:02:15.292] function(cond) { [18:02:15.292] is_error <- inherits(cond, "error") [18:02:15.292] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:15.292] NULL) [18:02:15.292] if (is_error) { [18:02:15.292] sessionInformation <- function() { [18:02:15.292] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:15.292] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:15.292] search = base::search(), system = base::Sys.info()) [18:02:15.292] } [18:02:15.292] ...future.conditions[[length(...future.conditions) + [18:02:15.292] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:15.292] cond$call), session = sessionInformation(), [18:02:15.292] timestamp = base::Sys.time(), signaled = 0L) [18:02:15.292] signalCondition(cond) [18:02:15.292] } [18:02:15.292] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:15.292] "immediateCondition"))) { [18:02:15.292] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:15.292] ...future.conditions[[length(...future.conditions) + [18:02:15.292] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:15.292] if (TRUE && !signal) { [18:02:15.292] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.292] { [18:02:15.292] inherits <- base::inherits [18:02:15.292] invokeRestart <- base::invokeRestart [18:02:15.292] is.null <- base::is.null [18:02:15.292] muffled <- FALSE [18:02:15.292] if (inherits(cond, "message")) { [18:02:15.292] muffled <- grepl(pattern, "muffleMessage") [18:02:15.292] if (muffled) [18:02:15.292] invokeRestart("muffleMessage") [18:02:15.292] } [18:02:15.292] else if (inherits(cond, "warning")) { [18:02:15.292] muffled <- grepl(pattern, "muffleWarning") [18:02:15.292] if (muffled) [18:02:15.292] invokeRestart("muffleWarning") [18:02:15.292] } [18:02:15.292] else if (inherits(cond, "condition")) { [18:02:15.292] if (!is.null(pattern)) { [18:02:15.292] computeRestarts <- base::computeRestarts [18:02:15.292] grepl <- base::grepl [18:02:15.292] restarts <- computeRestarts(cond) [18:02:15.292] for (restart in restarts) { [18:02:15.292] name <- restart$name [18:02:15.292] if (is.null(name)) [18:02:15.292] next [18:02:15.292] if (!grepl(pattern, name)) [18:02:15.292] next [18:02:15.292] invokeRestart(restart) [18:02:15.292] muffled <- TRUE [18:02:15.292] break [18:02:15.292] } [18:02:15.292] } [18:02:15.292] } [18:02:15.292] invisible(muffled) [18:02:15.292] } [18:02:15.292] muffleCondition(cond, pattern = "^muffle") [18:02:15.292] } [18:02:15.292] } [18:02:15.292] else { [18:02:15.292] if (TRUE) { [18:02:15.292] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.292] { [18:02:15.292] inherits <- base::inherits [18:02:15.292] invokeRestart <- base::invokeRestart [18:02:15.292] is.null <- base::is.null [18:02:15.292] muffled <- FALSE [18:02:15.292] if (inherits(cond, "message")) { [18:02:15.292] muffled <- grepl(pattern, "muffleMessage") [18:02:15.292] if (muffled) [18:02:15.292] invokeRestart("muffleMessage") [18:02:15.292] } [18:02:15.292] else if (inherits(cond, "warning")) { [18:02:15.292] muffled <- grepl(pattern, "muffleWarning") [18:02:15.292] if (muffled) [18:02:15.292] invokeRestart("muffleWarning") [18:02:15.292] } [18:02:15.292] else if (inherits(cond, "condition")) { [18:02:15.292] if (!is.null(pattern)) { [18:02:15.292] computeRestarts <- base::computeRestarts [18:02:15.292] grepl <- base::grepl [18:02:15.292] restarts <- computeRestarts(cond) [18:02:15.292] for (restart in restarts) { [18:02:15.292] name <- restart$name [18:02:15.292] if (is.null(name)) [18:02:15.292] next [18:02:15.292] if (!grepl(pattern, name)) [18:02:15.292] next [18:02:15.292] invokeRestart(restart) [18:02:15.292] muffled <- TRUE [18:02:15.292] break [18:02:15.292] } [18:02:15.292] } [18:02:15.292] } [18:02:15.292] invisible(muffled) [18:02:15.292] } [18:02:15.292] muffleCondition(cond, pattern = "^muffle") [18:02:15.292] } [18:02:15.292] } [18:02:15.292] } [18:02:15.292] })) [18:02:15.292] }, error = function(ex) { [18:02:15.292] base::structure(base::list(value = NULL, visible = NULL, [18:02:15.292] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.292] ...future.rng), started = ...future.startTime, [18:02:15.292] finished = Sys.time(), session_uuid = NA_character_, [18:02:15.292] version = "1.8"), class = "FutureResult") [18:02:15.292] }, finally = { [18:02:15.292] if (!identical(...future.workdir, getwd())) [18:02:15.292] setwd(...future.workdir) [18:02:15.292] { [18:02:15.292] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:15.292] ...future.oldOptions$nwarnings <- NULL [18:02:15.292] } [18:02:15.292] base::options(...future.oldOptions) [18:02:15.292] if (.Platform$OS.type == "windows") { [18:02:15.292] old_names <- names(...future.oldEnvVars) [18:02:15.292] envs <- base::Sys.getenv() [18:02:15.292] names <- names(envs) [18:02:15.292] common <- intersect(names, old_names) [18:02:15.292] added <- setdiff(names, old_names) [18:02:15.292] removed <- setdiff(old_names, names) [18:02:15.292] changed <- common[...future.oldEnvVars[common] != [18:02:15.292] envs[common]] [18:02:15.292] NAMES <- toupper(changed) [18:02:15.292] args <- list() [18:02:15.292] for (kk in seq_along(NAMES)) { [18:02:15.292] name <- changed[[kk]] [18:02:15.292] NAME <- NAMES[[kk]] [18:02:15.292] if (name != NAME && is.element(NAME, old_names)) [18:02:15.292] next [18:02:15.292] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.292] } [18:02:15.292] NAMES <- toupper(added) [18:02:15.292] for (kk in seq_along(NAMES)) { [18:02:15.292] name <- added[[kk]] [18:02:15.292] NAME <- NAMES[[kk]] [18:02:15.292] if (name != NAME && is.element(NAME, old_names)) [18:02:15.292] next [18:02:15.292] args[[name]] <- "" [18:02:15.292] } [18:02:15.292] NAMES <- toupper(removed) [18:02:15.292] for (kk in seq_along(NAMES)) { [18:02:15.292] name <- removed[[kk]] [18:02:15.292] NAME <- NAMES[[kk]] [18:02:15.292] if (name != NAME && is.element(NAME, old_names)) [18:02:15.292] next [18:02:15.292] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.292] } [18:02:15.292] if (length(args) > 0) [18:02:15.292] base::do.call(base::Sys.setenv, args = args) [18:02:15.292] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:15.292] } [18:02:15.292] else { [18:02:15.292] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:15.292] } [18:02:15.292] { [18:02:15.292] if (base::length(...future.futureOptionsAdded) > [18:02:15.292] 0L) { [18:02:15.292] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:15.292] base::names(opts) <- ...future.futureOptionsAdded [18:02:15.292] base::options(opts) [18:02:15.292] } [18:02:15.292] { [18:02:15.292] { [18:02:15.292] base::options(mc.cores = ...future.mc.cores.old) [18:02:15.292] NULL [18:02:15.292] } [18:02:15.292] options(future.plan = NULL) [18:02:15.292] if (is.na(NA_character_)) [18:02:15.292] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.292] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:15.292] future::plan(list(function (..., workers = 2L, [18:02:15.292] envir = parent.frame()) [18:02:15.292] strategy(..., workers = workers, envir = envir)), [18:02:15.292] .cleanup = FALSE, .init = FALSE) [18:02:15.292] } [18:02:15.292] } [18:02:15.292] } [18:02:15.292] }) [18:02:15.292] if (TRUE) { [18:02:15.292] base::sink(type = "output", split = FALSE) [18:02:15.292] if (TRUE) { [18:02:15.292] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:15.292] } [18:02:15.292] else { [18:02:15.292] ...future.result["stdout"] <- base::list(NULL) [18:02:15.292] } [18:02:15.292] base::close(...future.stdout) [18:02:15.292] ...future.stdout <- NULL [18:02:15.292] } [18:02:15.292] ...future.result$conditions <- ...future.conditions [18:02:15.292] ...future.result$finished <- base::Sys.time() [18:02:15.292] ...future.result [18:02:15.292] } [18:02:15.375] MultisessionFuture started [18:02:15.375] result() for ClusterFuture ... [18:02:15.375] receiveMessageFromWorker() for ClusterFuture ... [18:02:15.376] - Validating connection of MultisessionFuture [18:02:15.429] - received message: FutureResult [18:02:15.429] - Received FutureResult [18:02:15.429] - Erased future from FutureRegistry [18:02:15.430] result() for ClusterFuture ... [18:02:15.430] - result already collected: FutureResult [18:02:15.430] result() for ClusterFuture ... done [18:02:15.430] receiveMessageFromWorker() for ClusterFuture ... done [18:02:15.430] result() for ClusterFuture ... done [18:02:15.431] result() for ClusterFuture ... [18:02:15.431] - result already collected: FutureResult [18:02:15.431] result() for ClusterFuture ... done [18:02:15.431] plan(): plan_init() of 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [18:02:15.431] plan(): nbrOfWorkers() = 2 > > f <- future({ gc() }) [18:02:15.432] getGlobalsAndPackages() ... [18:02:15.432] Searching for globals... [18:02:15.433] - globals found: [2] '{', 'gc' [18:02:15.433] Searching for globals ... DONE [18:02:15.433] Resolving globals: FALSE [18:02:15.434] [18:02:15.434] [18:02:15.434] getGlobalsAndPackages() ... DONE [18:02:15.434] run() for 'Future' ... [18:02:15.435] - state: 'created' [18:02:15.435] - Future backend: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:15.447] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:15.447] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:15.447] - Field: 'node' [18:02:15.447] - Field: 'label' [18:02:15.447] - Field: 'local' [18:02:15.448] - Field: 'owner' [18:02:15.448] - Field: 'envir' [18:02:15.448] - Field: 'workers' [18:02:15.448] - Field: 'packages' [18:02:15.448] - Field: 'gc' [18:02:15.449] - Field: 'conditions' [18:02:15.449] - Field: 'persistent' [18:02:15.449] - Field: 'expr' [18:02:15.449] - Field: 'uuid' [18:02:15.449] - Field: 'seed' [18:02:15.450] - Field: 'version' [18:02:15.450] - Field: 'result' [18:02:15.450] - Field: 'asynchronous' [18:02:15.450] - Field: 'calls' [18:02:15.450] - Field: 'globals' [18:02:15.451] - Field: 'stdout' [18:02:15.451] - Field: 'earlySignal' [18:02:15.451] - Field: 'lazy' [18:02:15.451] - Field: 'state' [18:02:15.451] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:15.451] - Launch lazy future ... [18:02:15.452] Packages needed by the future expression (n = 0): [18:02:15.452] Packages needed by future strategies (n = 0): [18:02:15.453] { [18:02:15.453] { [18:02:15.453] { [18:02:15.453] ...future.startTime <- base::Sys.time() [18:02:15.453] { [18:02:15.453] { [18:02:15.453] { [18:02:15.453] { [18:02:15.453] base::local({ [18:02:15.453] has_future <- base::requireNamespace("future", [18:02:15.453] quietly = TRUE) [18:02:15.453] if (has_future) { [18:02:15.453] ns <- base::getNamespace("future") [18:02:15.453] version <- ns[[".package"]][["version"]] [18:02:15.453] if (is.null(version)) [18:02:15.453] version <- utils::packageVersion("future") [18:02:15.453] } [18:02:15.453] else { [18:02:15.453] version <- NULL [18:02:15.453] } [18:02:15.453] if (!has_future || version < "1.8.0") { [18:02:15.453] info <- base::c(r_version = base::gsub("R version ", [18:02:15.453] "", base::R.version$version.string), [18:02:15.453] platform = base::sprintf("%s (%s-bit)", [18:02:15.453] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:15.453] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:15.453] "release", "version")], collapse = " "), [18:02:15.453] hostname = base::Sys.info()[["nodename"]]) [18:02:15.453] info <- base::sprintf("%s: %s", base::names(info), [18:02:15.453] info) [18:02:15.453] info <- base::paste(info, collapse = "; ") [18:02:15.453] if (!has_future) { [18:02:15.453] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:15.453] info) [18:02:15.453] } [18:02:15.453] else { [18:02:15.453] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:15.453] info, version) [18:02:15.453] } [18:02:15.453] base::stop(msg) [18:02:15.453] } [18:02:15.453] }) [18:02:15.453] } [18:02:15.453] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:15.453] base::options(mc.cores = 1L) [18:02:15.453] } [18:02:15.453] options(future.plan = NULL) [18:02:15.453] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.453] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:15.453] } [18:02:15.453] ...future.workdir <- getwd() [18:02:15.453] } [18:02:15.453] ...future.oldOptions <- base::as.list(base::.Options) [18:02:15.453] ...future.oldEnvVars <- base::Sys.getenv() [18:02:15.453] } [18:02:15.453] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:15.453] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:15.453] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:15.453] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:15.453] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:15.453] future.stdout.windows.reencode = NULL, width = 80L) [18:02:15.453] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:15.453] base::names(...future.oldOptions)) [18:02:15.453] } [18:02:15.453] if (FALSE) { [18:02:15.453] } [18:02:15.453] else { [18:02:15.453] if (TRUE) { [18:02:15.453] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:15.453] open = "w") [18:02:15.453] } [18:02:15.453] else { [18:02:15.453] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:15.453] windows = "NUL", "/dev/null"), open = "w") [18:02:15.453] } [18:02:15.453] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:15.453] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:15.453] base::sink(type = "output", split = FALSE) [18:02:15.453] base::close(...future.stdout) [18:02:15.453] }, add = TRUE) [18:02:15.453] } [18:02:15.453] ...future.frame <- base::sys.nframe() [18:02:15.453] ...future.conditions <- base::list() [18:02:15.453] ...future.rng <- base::globalenv()$.Random.seed [18:02:15.453] if (FALSE) { [18:02:15.453] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:15.453] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:15.453] } [18:02:15.453] ...future.result <- base::tryCatch({ [18:02:15.453] base::withCallingHandlers({ [18:02:15.453] ...future.value <- base::withVisible(base::local({ [18:02:15.453] ...future.makeSendCondition <- local({ [18:02:15.453] sendCondition <- NULL [18:02:15.453] function(frame = 1L) { [18:02:15.453] if (is.function(sendCondition)) [18:02:15.453] return(sendCondition) [18:02:15.453] ns <- getNamespace("parallel") [18:02:15.453] if (exists("sendData", mode = "function", [18:02:15.453] envir = ns)) { [18:02:15.453] parallel_sendData <- get("sendData", mode = "function", [18:02:15.453] envir = ns) [18:02:15.453] envir <- sys.frame(frame) [18:02:15.453] master <- NULL [18:02:15.453] while (!identical(envir, .GlobalEnv) && [18:02:15.453] !identical(envir, emptyenv())) { [18:02:15.453] if (exists("master", mode = "list", envir = envir, [18:02:15.453] inherits = FALSE)) { [18:02:15.453] master <- get("master", mode = "list", [18:02:15.453] envir = envir, inherits = FALSE) [18:02:15.453] if (inherits(master, c("SOCKnode", [18:02:15.453] "SOCK0node"))) { [18:02:15.453] sendCondition <<- function(cond) { [18:02:15.453] data <- list(type = "VALUE", value = cond, [18:02:15.453] success = TRUE) [18:02:15.453] parallel_sendData(master, data) [18:02:15.453] } [18:02:15.453] return(sendCondition) [18:02:15.453] } [18:02:15.453] } [18:02:15.453] frame <- frame + 1L [18:02:15.453] envir <- sys.frame(frame) [18:02:15.453] } [18:02:15.453] } [18:02:15.453] sendCondition <<- function(cond) NULL [18:02:15.453] } [18:02:15.453] }) [18:02:15.453] withCallingHandlers({ [18:02:15.453] { [18:02:15.453] gc() [18:02:15.453] } [18:02:15.453] }, immediateCondition = function(cond) { [18:02:15.453] sendCondition <- ...future.makeSendCondition() [18:02:15.453] sendCondition(cond) [18:02:15.453] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.453] { [18:02:15.453] inherits <- base::inherits [18:02:15.453] invokeRestart <- base::invokeRestart [18:02:15.453] is.null <- base::is.null [18:02:15.453] muffled <- FALSE [18:02:15.453] if (inherits(cond, "message")) { [18:02:15.453] muffled <- grepl(pattern, "muffleMessage") [18:02:15.453] if (muffled) [18:02:15.453] invokeRestart("muffleMessage") [18:02:15.453] } [18:02:15.453] else if (inherits(cond, "warning")) { [18:02:15.453] muffled <- grepl(pattern, "muffleWarning") [18:02:15.453] if (muffled) [18:02:15.453] invokeRestart("muffleWarning") [18:02:15.453] } [18:02:15.453] else if (inherits(cond, "condition")) { [18:02:15.453] if (!is.null(pattern)) { [18:02:15.453] computeRestarts <- base::computeRestarts [18:02:15.453] grepl <- base::grepl [18:02:15.453] restarts <- computeRestarts(cond) [18:02:15.453] for (restart in restarts) { [18:02:15.453] name <- restart$name [18:02:15.453] if (is.null(name)) [18:02:15.453] next [18:02:15.453] if (!grepl(pattern, name)) [18:02:15.453] next [18:02:15.453] invokeRestart(restart) [18:02:15.453] muffled <- TRUE [18:02:15.453] break [18:02:15.453] } [18:02:15.453] } [18:02:15.453] } [18:02:15.453] invisible(muffled) [18:02:15.453] } [18:02:15.453] muffleCondition(cond) [18:02:15.453] }) [18:02:15.453] })) [18:02:15.453] future::FutureResult(value = ...future.value$value, [18:02:15.453] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.453] ...future.rng), globalenv = if (FALSE) [18:02:15.453] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:15.453] ...future.globalenv.names)) [18:02:15.453] else NULL, started = ...future.startTime, version = "1.8") [18:02:15.453] }, condition = base::local({ [18:02:15.453] c <- base::c [18:02:15.453] inherits <- base::inherits [18:02:15.453] invokeRestart <- base::invokeRestart [18:02:15.453] length <- base::length [18:02:15.453] list <- base::list [18:02:15.453] seq.int <- base::seq.int [18:02:15.453] signalCondition <- base::signalCondition [18:02:15.453] sys.calls <- base::sys.calls [18:02:15.453] `[[` <- base::`[[` [18:02:15.453] `+` <- base::`+` [18:02:15.453] `<<-` <- base::`<<-` [18:02:15.453] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:15.453] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:15.453] 3L)] [18:02:15.453] } [18:02:15.453] function(cond) { [18:02:15.453] is_error <- inherits(cond, "error") [18:02:15.453] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:15.453] NULL) [18:02:15.453] if (is_error) { [18:02:15.453] sessionInformation <- function() { [18:02:15.453] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:15.453] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:15.453] search = base::search(), system = base::Sys.info()) [18:02:15.453] } [18:02:15.453] ...future.conditions[[length(...future.conditions) + [18:02:15.453] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:15.453] cond$call), session = sessionInformation(), [18:02:15.453] timestamp = base::Sys.time(), signaled = 0L) [18:02:15.453] signalCondition(cond) [18:02:15.453] } [18:02:15.453] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:15.453] "immediateCondition"))) { [18:02:15.453] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:15.453] ...future.conditions[[length(...future.conditions) + [18:02:15.453] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:15.453] if (TRUE && !signal) { [18:02:15.453] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.453] { [18:02:15.453] inherits <- base::inherits [18:02:15.453] invokeRestart <- base::invokeRestart [18:02:15.453] is.null <- base::is.null [18:02:15.453] muffled <- FALSE [18:02:15.453] if (inherits(cond, "message")) { [18:02:15.453] muffled <- grepl(pattern, "muffleMessage") [18:02:15.453] if (muffled) [18:02:15.453] invokeRestart("muffleMessage") [18:02:15.453] } [18:02:15.453] else if (inherits(cond, "warning")) { [18:02:15.453] muffled <- grepl(pattern, "muffleWarning") [18:02:15.453] if (muffled) [18:02:15.453] invokeRestart("muffleWarning") [18:02:15.453] } [18:02:15.453] else if (inherits(cond, "condition")) { [18:02:15.453] if (!is.null(pattern)) { [18:02:15.453] computeRestarts <- base::computeRestarts [18:02:15.453] grepl <- base::grepl [18:02:15.453] restarts <- computeRestarts(cond) [18:02:15.453] for (restart in restarts) { [18:02:15.453] name <- restart$name [18:02:15.453] if (is.null(name)) [18:02:15.453] next [18:02:15.453] if (!grepl(pattern, name)) [18:02:15.453] next [18:02:15.453] invokeRestart(restart) [18:02:15.453] muffled <- TRUE [18:02:15.453] break [18:02:15.453] } [18:02:15.453] } [18:02:15.453] } [18:02:15.453] invisible(muffled) [18:02:15.453] } [18:02:15.453] muffleCondition(cond, pattern = "^muffle") [18:02:15.453] } [18:02:15.453] } [18:02:15.453] else { [18:02:15.453] if (TRUE) { [18:02:15.453] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.453] { [18:02:15.453] inherits <- base::inherits [18:02:15.453] invokeRestart <- base::invokeRestart [18:02:15.453] is.null <- base::is.null [18:02:15.453] muffled <- FALSE [18:02:15.453] if (inherits(cond, "message")) { [18:02:15.453] muffled <- grepl(pattern, "muffleMessage") [18:02:15.453] if (muffled) [18:02:15.453] invokeRestart("muffleMessage") [18:02:15.453] } [18:02:15.453] else if (inherits(cond, "warning")) { [18:02:15.453] muffled <- grepl(pattern, "muffleWarning") [18:02:15.453] if (muffled) [18:02:15.453] invokeRestart("muffleWarning") [18:02:15.453] } [18:02:15.453] else if (inherits(cond, "condition")) { [18:02:15.453] if (!is.null(pattern)) { [18:02:15.453] computeRestarts <- base::computeRestarts [18:02:15.453] grepl <- base::grepl [18:02:15.453] restarts <- computeRestarts(cond) [18:02:15.453] for (restart in restarts) { [18:02:15.453] name <- restart$name [18:02:15.453] if (is.null(name)) [18:02:15.453] next [18:02:15.453] if (!grepl(pattern, name)) [18:02:15.453] next [18:02:15.453] invokeRestart(restart) [18:02:15.453] muffled <- TRUE [18:02:15.453] break [18:02:15.453] } [18:02:15.453] } [18:02:15.453] } [18:02:15.453] invisible(muffled) [18:02:15.453] } [18:02:15.453] muffleCondition(cond, pattern = "^muffle") [18:02:15.453] } [18:02:15.453] } [18:02:15.453] } [18:02:15.453] })) [18:02:15.453] }, error = function(ex) { [18:02:15.453] base::structure(base::list(value = NULL, visible = NULL, [18:02:15.453] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.453] ...future.rng), started = ...future.startTime, [18:02:15.453] finished = Sys.time(), session_uuid = NA_character_, [18:02:15.453] version = "1.8"), class = "FutureResult") [18:02:15.453] }, finally = { [18:02:15.453] if (!identical(...future.workdir, getwd())) [18:02:15.453] setwd(...future.workdir) [18:02:15.453] { [18:02:15.453] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:15.453] ...future.oldOptions$nwarnings <- NULL [18:02:15.453] } [18:02:15.453] base::options(...future.oldOptions) [18:02:15.453] if (.Platform$OS.type == "windows") { [18:02:15.453] old_names <- names(...future.oldEnvVars) [18:02:15.453] envs <- base::Sys.getenv() [18:02:15.453] names <- names(envs) [18:02:15.453] common <- intersect(names, old_names) [18:02:15.453] added <- setdiff(names, old_names) [18:02:15.453] removed <- setdiff(old_names, names) [18:02:15.453] changed <- common[...future.oldEnvVars[common] != [18:02:15.453] envs[common]] [18:02:15.453] NAMES <- toupper(changed) [18:02:15.453] args <- list() [18:02:15.453] for (kk in seq_along(NAMES)) { [18:02:15.453] name <- changed[[kk]] [18:02:15.453] NAME <- NAMES[[kk]] [18:02:15.453] if (name != NAME && is.element(NAME, old_names)) [18:02:15.453] next [18:02:15.453] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.453] } [18:02:15.453] NAMES <- toupper(added) [18:02:15.453] for (kk in seq_along(NAMES)) { [18:02:15.453] name <- added[[kk]] [18:02:15.453] NAME <- NAMES[[kk]] [18:02:15.453] if (name != NAME && is.element(NAME, old_names)) [18:02:15.453] next [18:02:15.453] args[[name]] <- "" [18:02:15.453] } [18:02:15.453] NAMES <- toupper(removed) [18:02:15.453] for (kk in seq_along(NAMES)) { [18:02:15.453] name <- removed[[kk]] [18:02:15.453] NAME <- NAMES[[kk]] [18:02:15.453] if (name != NAME && is.element(NAME, old_names)) [18:02:15.453] next [18:02:15.453] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.453] } [18:02:15.453] if (length(args) > 0) [18:02:15.453] base::do.call(base::Sys.setenv, args = args) [18:02:15.453] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:15.453] } [18:02:15.453] else { [18:02:15.453] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:15.453] } [18:02:15.453] { [18:02:15.453] if (base::length(...future.futureOptionsAdded) > [18:02:15.453] 0L) { [18:02:15.453] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:15.453] base::names(opts) <- ...future.futureOptionsAdded [18:02:15.453] base::options(opts) [18:02:15.453] } [18:02:15.453] { [18:02:15.453] { [18:02:15.453] base::options(mc.cores = ...future.mc.cores.old) [18:02:15.453] NULL [18:02:15.453] } [18:02:15.453] options(future.plan = NULL) [18:02:15.453] if (is.na(NA_character_)) [18:02:15.453] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.453] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:15.453] future::plan(list(function (..., workers = 2L, [18:02:15.453] envir = parent.frame()) [18:02:15.453] strategy(..., workers = workers, envir = envir)), [18:02:15.453] .cleanup = FALSE, .init = FALSE) [18:02:15.453] } [18:02:15.453] } [18:02:15.453] } [18:02:15.453] }) [18:02:15.453] if (TRUE) { [18:02:15.453] base::sink(type = "output", split = FALSE) [18:02:15.453] if (TRUE) { [18:02:15.453] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:15.453] } [18:02:15.453] else { [18:02:15.453] ...future.result["stdout"] <- base::list(NULL) [18:02:15.453] } [18:02:15.453] base::close(...future.stdout) [18:02:15.453] ...future.stdout <- NULL [18:02:15.453] } [18:02:15.453] ...future.result$conditions <- ...future.conditions [18:02:15.453] ...future.result$finished <- base::Sys.time() [18:02:15.453] ...future.result [18:02:15.453] } [18:02:15.458] MultisessionFuture started [18:02:15.459] - Launch lazy future ... done [18:02:15.459] run() for 'MultisessionFuture' ... done > v <- value(f) [18:02:15.459] result() for ClusterFuture ... [18:02:15.459] receiveMessageFromWorker() for ClusterFuture ... [18:02:15.460] - Validating connection of MultisessionFuture [18:02:15.493] - received message: FutureResult [18:02:15.493] - Received FutureResult [18:02:15.494] - Erased future from FutureRegistry [18:02:15.494] result() for ClusterFuture ... [18:02:15.494] - result already collected: FutureResult [18:02:15.494] result() for ClusterFuture ... done [18:02:15.494] receiveMessageFromWorker() for ClusterFuture ... done [18:02:15.495] result() for ClusterFuture ... done [18:02:15.495] result() for ClusterFuture ... [18:02:15.495] - result already collected: FutureResult [18:02:15.495] result() for ClusterFuture ... done > print(v) used (Mb) gc trigger (Mb) max used (Mb) Ncells 396296 21.2 811998 43.4 640551 34.3 Vcells 701001 5.4 8388608 64.0 1927341 14.8 > > f <- future({ integer(10e6) }) [18:02:15.496] getGlobalsAndPackages() ... [18:02:15.496] Searching for globals... [18:02:15.497] - globals found: [2] '{', 'integer' [18:02:15.497] Searching for globals ... DONE [18:02:15.497] Resolving globals: FALSE [18:02:15.498] [18:02:15.498] [18:02:15.498] getGlobalsAndPackages() ... DONE [18:02:15.498] run() for 'Future' ... [18:02:15.499] - state: 'created' [18:02:15.499] - Future backend: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:15.511] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:15.512] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:15.512] - Field: 'node' [18:02:15.512] - Field: 'label' [18:02:15.512] - Field: 'local' [18:02:15.512] - Field: 'owner' [18:02:15.513] - Field: 'envir' [18:02:15.513] - Field: 'workers' [18:02:15.513] - Field: 'packages' [18:02:15.513] - Field: 'gc' [18:02:15.513] - Field: 'conditions' [18:02:15.514] - Field: 'persistent' [18:02:15.514] - Field: 'expr' [18:02:15.514] - Field: 'uuid' [18:02:15.514] - Field: 'seed' [18:02:15.514] - Field: 'version' [18:02:15.514] - Field: 'result' [18:02:15.515] - Field: 'asynchronous' [18:02:15.515] - Field: 'calls' [18:02:15.515] - Field: 'globals' [18:02:15.515] - Field: 'stdout' [18:02:15.515] - Field: 'earlySignal' [18:02:15.515] - Field: 'lazy' [18:02:15.516] - Field: 'state' [18:02:15.516] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:15.516] - Launch lazy future ... [18:02:15.516] Packages needed by the future expression (n = 0): [18:02:15.517] Packages needed by future strategies (n = 0): [18:02:15.517] { [18:02:15.517] { [18:02:15.517] { [18:02:15.517] ...future.startTime <- base::Sys.time() [18:02:15.517] { [18:02:15.517] { [18:02:15.517] { [18:02:15.517] { [18:02:15.517] base::local({ [18:02:15.517] has_future <- base::requireNamespace("future", [18:02:15.517] quietly = TRUE) [18:02:15.517] if (has_future) { [18:02:15.517] ns <- base::getNamespace("future") [18:02:15.517] version <- ns[[".package"]][["version"]] [18:02:15.517] if (is.null(version)) [18:02:15.517] version <- utils::packageVersion("future") [18:02:15.517] } [18:02:15.517] else { [18:02:15.517] version <- NULL [18:02:15.517] } [18:02:15.517] if (!has_future || version < "1.8.0") { [18:02:15.517] info <- base::c(r_version = base::gsub("R version ", [18:02:15.517] "", base::R.version$version.string), [18:02:15.517] platform = base::sprintf("%s (%s-bit)", [18:02:15.517] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:15.517] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:15.517] "release", "version")], collapse = " "), [18:02:15.517] hostname = base::Sys.info()[["nodename"]]) [18:02:15.517] info <- base::sprintf("%s: %s", base::names(info), [18:02:15.517] info) [18:02:15.517] info <- base::paste(info, collapse = "; ") [18:02:15.517] if (!has_future) { [18:02:15.517] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:15.517] info) [18:02:15.517] } [18:02:15.517] else { [18:02:15.517] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:15.517] info, version) [18:02:15.517] } [18:02:15.517] base::stop(msg) [18:02:15.517] } [18:02:15.517] }) [18:02:15.517] } [18:02:15.517] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:15.517] base::options(mc.cores = 1L) [18:02:15.517] } [18:02:15.517] options(future.plan = NULL) [18:02:15.517] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.517] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:15.517] } [18:02:15.517] ...future.workdir <- getwd() [18:02:15.517] } [18:02:15.517] ...future.oldOptions <- base::as.list(base::.Options) [18:02:15.517] ...future.oldEnvVars <- base::Sys.getenv() [18:02:15.517] } [18:02:15.517] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:15.517] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:15.517] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:15.517] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:15.517] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:15.517] future.stdout.windows.reencode = NULL, width = 80L) [18:02:15.517] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:15.517] base::names(...future.oldOptions)) [18:02:15.517] } [18:02:15.517] if (FALSE) { [18:02:15.517] } [18:02:15.517] else { [18:02:15.517] if (TRUE) { [18:02:15.517] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:15.517] open = "w") [18:02:15.517] } [18:02:15.517] else { [18:02:15.517] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:15.517] windows = "NUL", "/dev/null"), open = "w") [18:02:15.517] } [18:02:15.517] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:15.517] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:15.517] base::sink(type = "output", split = FALSE) [18:02:15.517] base::close(...future.stdout) [18:02:15.517] }, add = TRUE) [18:02:15.517] } [18:02:15.517] ...future.frame <- base::sys.nframe() [18:02:15.517] ...future.conditions <- base::list() [18:02:15.517] ...future.rng <- base::globalenv()$.Random.seed [18:02:15.517] if (FALSE) { [18:02:15.517] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:15.517] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:15.517] } [18:02:15.517] ...future.result <- base::tryCatch({ [18:02:15.517] base::withCallingHandlers({ [18:02:15.517] ...future.value <- base::withVisible(base::local({ [18:02:15.517] ...future.makeSendCondition <- local({ [18:02:15.517] sendCondition <- NULL [18:02:15.517] function(frame = 1L) { [18:02:15.517] if (is.function(sendCondition)) [18:02:15.517] return(sendCondition) [18:02:15.517] ns <- getNamespace("parallel") [18:02:15.517] if (exists("sendData", mode = "function", [18:02:15.517] envir = ns)) { [18:02:15.517] parallel_sendData <- get("sendData", mode = "function", [18:02:15.517] envir = ns) [18:02:15.517] envir <- sys.frame(frame) [18:02:15.517] master <- NULL [18:02:15.517] while (!identical(envir, .GlobalEnv) && [18:02:15.517] !identical(envir, emptyenv())) { [18:02:15.517] if (exists("master", mode = "list", envir = envir, [18:02:15.517] inherits = FALSE)) { [18:02:15.517] master <- get("master", mode = "list", [18:02:15.517] envir = envir, inherits = FALSE) [18:02:15.517] if (inherits(master, c("SOCKnode", [18:02:15.517] "SOCK0node"))) { [18:02:15.517] sendCondition <<- function(cond) { [18:02:15.517] data <- list(type = "VALUE", value = cond, [18:02:15.517] success = TRUE) [18:02:15.517] parallel_sendData(master, data) [18:02:15.517] } [18:02:15.517] return(sendCondition) [18:02:15.517] } [18:02:15.517] } [18:02:15.517] frame <- frame + 1L [18:02:15.517] envir <- sys.frame(frame) [18:02:15.517] } [18:02:15.517] } [18:02:15.517] sendCondition <<- function(cond) NULL [18:02:15.517] } [18:02:15.517] }) [18:02:15.517] withCallingHandlers({ [18:02:15.517] { [18:02:15.517] integer(1e+07) [18:02:15.517] } [18:02:15.517] }, immediateCondition = function(cond) { [18:02:15.517] sendCondition <- ...future.makeSendCondition() [18:02:15.517] sendCondition(cond) [18:02:15.517] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.517] { [18:02:15.517] inherits <- base::inherits [18:02:15.517] invokeRestart <- base::invokeRestart [18:02:15.517] is.null <- base::is.null [18:02:15.517] muffled <- FALSE [18:02:15.517] if (inherits(cond, "message")) { [18:02:15.517] muffled <- grepl(pattern, "muffleMessage") [18:02:15.517] if (muffled) [18:02:15.517] invokeRestart("muffleMessage") [18:02:15.517] } [18:02:15.517] else if (inherits(cond, "warning")) { [18:02:15.517] muffled <- grepl(pattern, "muffleWarning") [18:02:15.517] if (muffled) [18:02:15.517] invokeRestart("muffleWarning") [18:02:15.517] } [18:02:15.517] else if (inherits(cond, "condition")) { [18:02:15.517] if (!is.null(pattern)) { [18:02:15.517] computeRestarts <- base::computeRestarts [18:02:15.517] grepl <- base::grepl [18:02:15.517] restarts <- computeRestarts(cond) [18:02:15.517] for (restart in restarts) { [18:02:15.517] name <- restart$name [18:02:15.517] if (is.null(name)) [18:02:15.517] next [18:02:15.517] if (!grepl(pattern, name)) [18:02:15.517] next [18:02:15.517] invokeRestart(restart) [18:02:15.517] muffled <- TRUE [18:02:15.517] break [18:02:15.517] } [18:02:15.517] } [18:02:15.517] } [18:02:15.517] invisible(muffled) [18:02:15.517] } [18:02:15.517] muffleCondition(cond) [18:02:15.517] }) [18:02:15.517] })) [18:02:15.517] future::FutureResult(value = ...future.value$value, [18:02:15.517] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.517] ...future.rng), globalenv = if (FALSE) [18:02:15.517] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:15.517] ...future.globalenv.names)) [18:02:15.517] else NULL, started = ...future.startTime, version = "1.8") [18:02:15.517] }, condition = base::local({ [18:02:15.517] c <- base::c [18:02:15.517] inherits <- base::inherits [18:02:15.517] invokeRestart <- base::invokeRestart [18:02:15.517] length <- base::length [18:02:15.517] list <- base::list [18:02:15.517] seq.int <- base::seq.int [18:02:15.517] signalCondition <- base::signalCondition [18:02:15.517] sys.calls <- base::sys.calls [18:02:15.517] `[[` <- base::`[[` [18:02:15.517] `+` <- base::`+` [18:02:15.517] `<<-` <- base::`<<-` [18:02:15.517] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:15.517] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:15.517] 3L)] [18:02:15.517] } [18:02:15.517] function(cond) { [18:02:15.517] is_error <- inherits(cond, "error") [18:02:15.517] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:15.517] NULL) [18:02:15.517] if (is_error) { [18:02:15.517] sessionInformation <- function() { [18:02:15.517] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:15.517] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:15.517] search = base::search(), system = base::Sys.info()) [18:02:15.517] } [18:02:15.517] ...future.conditions[[length(...future.conditions) + [18:02:15.517] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:15.517] cond$call), session = sessionInformation(), [18:02:15.517] timestamp = base::Sys.time(), signaled = 0L) [18:02:15.517] signalCondition(cond) [18:02:15.517] } [18:02:15.517] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:15.517] "immediateCondition"))) { [18:02:15.517] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:15.517] ...future.conditions[[length(...future.conditions) + [18:02:15.517] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:15.517] if (TRUE && !signal) { [18:02:15.517] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.517] { [18:02:15.517] inherits <- base::inherits [18:02:15.517] invokeRestart <- base::invokeRestart [18:02:15.517] is.null <- base::is.null [18:02:15.517] muffled <- FALSE [18:02:15.517] if (inherits(cond, "message")) { [18:02:15.517] muffled <- grepl(pattern, "muffleMessage") [18:02:15.517] if (muffled) [18:02:15.517] invokeRestart("muffleMessage") [18:02:15.517] } [18:02:15.517] else if (inherits(cond, "warning")) { [18:02:15.517] muffled <- grepl(pattern, "muffleWarning") [18:02:15.517] if (muffled) [18:02:15.517] invokeRestart("muffleWarning") [18:02:15.517] } [18:02:15.517] else if (inherits(cond, "condition")) { [18:02:15.517] if (!is.null(pattern)) { [18:02:15.517] computeRestarts <- base::computeRestarts [18:02:15.517] grepl <- base::grepl [18:02:15.517] restarts <- computeRestarts(cond) [18:02:15.517] for (restart in restarts) { [18:02:15.517] name <- restart$name [18:02:15.517] if (is.null(name)) [18:02:15.517] next [18:02:15.517] if (!grepl(pattern, name)) [18:02:15.517] next [18:02:15.517] invokeRestart(restart) [18:02:15.517] muffled <- TRUE [18:02:15.517] break [18:02:15.517] } [18:02:15.517] } [18:02:15.517] } [18:02:15.517] invisible(muffled) [18:02:15.517] } [18:02:15.517] muffleCondition(cond, pattern = "^muffle") [18:02:15.517] } [18:02:15.517] } [18:02:15.517] else { [18:02:15.517] if (TRUE) { [18:02:15.517] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.517] { [18:02:15.517] inherits <- base::inherits [18:02:15.517] invokeRestart <- base::invokeRestart [18:02:15.517] is.null <- base::is.null [18:02:15.517] muffled <- FALSE [18:02:15.517] if (inherits(cond, "message")) { [18:02:15.517] muffled <- grepl(pattern, "muffleMessage") [18:02:15.517] if (muffled) [18:02:15.517] invokeRestart("muffleMessage") [18:02:15.517] } [18:02:15.517] else if (inherits(cond, "warning")) { [18:02:15.517] muffled <- grepl(pattern, "muffleWarning") [18:02:15.517] if (muffled) [18:02:15.517] invokeRestart("muffleWarning") [18:02:15.517] } [18:02:15.517] else if (inherits(cond, "condition")) { [18:02:15.517] if (!is.null(pattern)) { [18:02:15.517] computeRestarts <- base::computeRestarts [18:02:15.517] grepl <- base::grepl [18:02:15.517] restarts <- computeRestarts(cond) [18:02:15.517] for (restart in restarts) { [18:02:15.517] name <- restart$name [18:02:15.517] if (is.null(name)) [18:02:15.517] next [18:02:15.517] if (!grepl(pattern, name)) [18:02:15.517] next [18:02:15.517] invokeRestart(restart) [18:02:15.517] muffled <- TRUE [18:02:15.517] break [18:02:15.517] } [18:02:15.517] } [18:02:15.517] } [18:02:15.517] invisible(muffled) [18:02:15.517] } [18:02:15.517] muffleCondition(cond, pattern = "^muffle") [18:02:15.517] } [18:02:15.517] } [18:02:15.517] } [18:02:15.517] })) [18:02:15.517] }, error = function(ex) { [18:02:15.517] base::structure(base::list(value = NULL, visible = NULL, [18:02:15.517] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.517] ...future.rng), started = ...future.startTime, [18:02:15.517] finished = Sys.time(), session_uuid = NA_character_, [18:02:15.517] version = "1.8"), class = "FutureResult") [18:02:15.517] }, finally = { [18:02:15.517] if (!identical(...future.workdir, getwd())) [18:02:15.517] setwd(...future.workdir) [18:02:15.517] { [18:02:15.517] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:15.517] ...future.oldOptions$nwarnings <- NULL [18:02:15.517] } [18:02:15.517] base::options(...future.oldOptions) [18:02:15.517] if (.Platform$OS.type == "windows") { [18:02:15.517] old_names <- names(...future.oldEnvVars) [18:02:15.517] envs <- base::Sys.getenv() [18:02:15.517] names <- names(envs) [18:02:15.517] common <- intersect(names, old_names) [18:02:15.517] added <- setdiff(names, old_names) [18:02:15.517] removed <- setdiff(old_names, names) [18:02:15.517] changed <- common[...future.oldEnvVars[common] != [18:02:15.517] envs[common]] [18:02:15.517] NAMES <- toupper(changed) [18:02:15.517] args <- list() [18:02:15.517] for (kk in seq_along(NAMES)) { [18:02:15.517] name <- changed[[kk]] [18:02:15.517] NAME <- NAMES[[kk]] [18:02:15.517] if (name != NAME && is.element(NAME, old_names)) [18:02:15.517] next [18:02:15.517] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.517] } [18:02:15.517] NAMES <- toupper(added) [18:02:15.517] for (kk in seq_along(NAMES)) { [18:02:15.517] name <- added[[kk]] [18:02:15.517] NAME <- NAMES[[kk]] [18:02:15.517] if (name != NAME && is.element(NAME, old_names)) [18:02:15.517] next [18:02:15.517] args[[name]] <- "" [18:02:15.517] } [18:02:15.517] NAMES <- toupper(removed) [18:02:15.517] for (kk in seq_along(NAMES)) { [18:02:15.517] name <- removed[[kk]] [18:02:15.517] NAME <- NAMES[[kk]] [18:02:15.517] if (name != NAME && is.element(NAME, old_names)) [18:02:15.517] next [18:02:15.517] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.517] } [18:02:15.517] if (length(args) > 0) [18:02:15.517] base::do.call(base::Sys.setenv, args = args) [18:02:15.517] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:15.517] } [18:02:15.517] else { [18:02:15.517] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:15.517] } [18:02:15.517] { [18:02:15.517] if (base::length(...future.futureOptionsAdded) > [18:02:15.517] 0L) { [18:02:15.517] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:15.517] base::names(opts) <- ...future.futureOptionsAdded [18:02:15.517] base::options(opts) [18:02:15.517] } [18:02:15.517] { [18:02:15.517] { [18:02:15.517] base::options(mc.cores = ...future.mc.cores.old) [18:02:15.517] NULL [18:02:15.517] } [18:02:15.517] options(future.plan = NULL) [18:02:15.517] if (is.na(NA_character_)) [18:02:15.517] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.517] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:15.517] future::plan(list(function (..., workers = 2L, [18:02:15.517] envir = parent.frame()) [18:02:15.517] strategy(..., workers = workers, envir = envir)), [18:02:15.517] .cleanup = FALSE, .init = FALSE) [18:02:15.517] } [18:02:15.517] } [18:02:15.517] } [18:02:15.517] }) [18:02:15.517] if (TRUE) { [18:02:15.517] base::sink(type = "output", split = FALSE) [18:02:15.517] if (TRUE) { [18:02:15.517] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:15.517] } [18:02:15.517] else { [18:02:15.517] ...future.result["stdout"] <- base::list(NULL) [18:02:15.517] } [18:02:15.517] base::close(...future.stdout) [18:02:15.517] ...future.stdout <- NULL [18:02:15.517] } [18:02:15.517] ...future.result$conditions <- ...future.conditions [18:02:15.517] ...future.result$finished <- base::Sys.time() [18:02:15.517] ...future.result [18:02:15.517] } [18:02:15.523] MultisessionFuture started [18:02:15.526] - Launch lazy future ... done [18:02:15.526] run() for 'MultisessionFuture' ... done > v <- value(f) [18:02:15.526] result() for ClusterFuture ... [18:02:15.526] receiveMessageFromWorker() for ClusterFuture ... [18:02:15.527] - Validating connection of MultisessionFuture [18:02:15.586] - received message: FutureResult [18:02:15.586] - Received FutureResult [18:02:15.587] - Erased future from FutureRegistry [18:02:15.587] result() for ClusterFuture ... [18:02:15.587] - result already collected: FutureResult [18:02:15.587] result() for ClusterFuture ... done [18:02:15.587] receiveMessageFromWorker() for ClusterFuture ... done [18:02:15.588] result() for ClusterFuture ... done [18:02:15.588] result() for ClusterFuture ... [18:02:15.588] - result already collected: FutureResult [18:02:15.588] result() for ClusterFuture ... done > str(v) int [1:10000000] 0 0 0 0 0 0 0 0 0 0 ... > > f <- future({ gc() }) [18:02:15.589] getGlobalsAndPackages() ... [18:02:15.589] Searching for globals... [18:02:15.590] - globals found: [2] '{', 'gc' [18:02:15.590] Searching for globals ... DONE [18:02:15.590] Resolving globals: FALSE [18:02:15.591] [18:02:15.591] [18:02:15.591] getGlobalsAndPackages() ... DONE [18:02:15.592] run() for 'Future' ... [18:02:15.592] - state: 'created' [18:02:15.592] - Future backend: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:15.604] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:15.604] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:15.605] - Field: 'node' [18:02:15.605] - Field: 'label' [18:02:15.605] - Field: 'local' [18:02:15.605] - Field: 'owner' [18:02:15.605] - Field: 'envir' [18:02:15.605] - Field: 'workers' [18:02:15.606] - Field: 'packages' [18:02:15.606] - Field: 'gc' [18:02:15.606] - Field: 'conditions' [18:02:15.606] - Field: 'persistent' [18:02:15.606] - Field: 'expr' [18:02:15.607] - Field: 'uuid' [18:02:15.607] - Field: 'seed' [18:02:15.607] - Field: 'version' [18:02:15.607] - Field: 'result' [18:02:15.607] - Field: 'asynchronous' [18:02:15.607] - Field: 'calls' [18:02:15.608] - Field: 'globals' [18:02:15.608] - Field: 'stdout' [18:02:15.608] - Field: 'earlySignal' [18:02:15.608] - Field: 'lazy' [18:02:15.608] - Field: 'state' [18:02:15.608] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:15.609] - Launch lazy future ... [18:02:15.609] Packages needed by the future expression (n = 0): [18:02:15.609] Packages needed by future strategies (n = 0): [18:02:15.610] { [18:02:15.610] { [18:02:15.610] { [18:02:15.610] ...future.startTime <- base::Sys.time() [18:02:15.610] { [18:02:15.610] { [18:02:15.610] { [18:02:15.610] { [18:02:15.610] base::local({ [18:02:15.610] has_future <- base::requireNamespace("future", [18:02:15.610] quietly = TRUE) [18:02:15.610] if (has_future) { [18:02:15.610] ns <- base::getNamespace("future") [18:02:15.610] version <- ns[[".package"]][["version"]] [18:02:15.610] if (is.null(version)) [18:02:15.610] version <- utils::packageVersion("future") [18:02:15.610] } [18:02:15.610] else { [18:02:15.610] version <- NULL [18:02:15.610] } [18:02:15.610] if (!has_future || version < "1.8.0") { [18:02:15.610] info <- base::c(r_version = base::gsub("R version ", [18:02:15.610] "", base::R.version$version.string), [18:02:15.610] platform = base::sprintf("%s (%s-bit)", [18:02:15.610] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:15.610] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:15.610] "release", "version")], collapse = " "), [18:02:15.610] hostname = base::Sys.info()[["nodename"]]) [18:02:15.610] info <- base::sprintf("%s: %s", base::names(info), [18:02:15.610] info) [18:02:15.610] info <- base::paste(info, collapse = "; ") [18:02:15.610] if (!has_future) { [18:02:15.610] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:15.610] info) [18:02:15.610] } [18:02:15.610] else { [18:02:15.610] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:15.610] info, version) [18:02:15.610] } [18:02:15.610] base::stop(msg) [18:02:15.610] } [18:02:15.610] }) [18:02:15.610] } [18:02:15.610] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:15.610] base::options(mc.cores = 1L) [18:02:15.610] } [18:02:15.610] options(future.plan = NULL) [18:02:15.610] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.610] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:15.610] } [18:02:15.610] ...future.workdir <- getwd() [18:02:15.610] } [18:02:15.610] ...future.oldOptions <- base::as.list(base::.Options) [18:02:15.610] ...future.oldEnvVars <- base::Sys.getenv() [18:02:15.610] } [18:02:15.610] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:15.610] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:15.610] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:15.610] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:15.610] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:15.610] future.stdout.windows.reencode = NULL, width = 80L) [18:02:15.610] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:15.610] base::names(...future.oldOptions)) [18:02:15.610] } [18:02:15.610] if (FALSE) { [18:02:15.610] } [18:02:15.610] else { [18:02:15.610] if (TRUE) { [18:02:15.610] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:15.610] open = "w") [18:02:15.610] } [18:02:15.610] else { [18:02:15.610] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:15.610] windows = "NUL", "/dev/null"), open = "w") [18:02:15.610] } [18:02:15.610] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:15.610] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:15.610] base::sink(type = "output", split = FALSE) [18:02:15.610] base::close(...future.stdout) [18:02:15.610] }, add = TRUE) [18:02:15.610] } [18:02:15.610] ...future.frame <- base::sys.nframe() [18:02:15.610] ...future.conditions <- base::list() [18:02:15.610] ...future.rng <- base::globalenv()$.Random.seed [18:02:15.610] if (FALSE) { [18:02:15.610] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:15.610] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:15.610] } [18:02:15.610] ...future.result <- base::tryCatch({ [18:02:15.610] base::withCallingHandlers({ [18:02:15.610] ...future.value <- base::withVisible(base::local({ [18:02:15.610] ...future.makeSendCondition <- local({ [18:02:15.610] sendCondition <- NULL [18:02:15.610] function(frame = 1L) { [18:02:15.610] if (is.function(sendCondition)) [18:02:15.610] return(sendCondition) [18:02:15.610] ns <- getNamespace("parallel") [18:02:15.610] if (exists("sendData", mode = "function", [18:02:15.610] envir = ns)) { [18:02:15.610] parallel_sendData <- get("sendData", mode = "function", [18:02:15.610] envir = ns) [18:02:15.610] envir <- sys.frame(frame) [18:02:15.610] master <- NULL [18:02:15.610] while (!identical(envir, .GlobalEnv) && [18:02:15.610] !identical(envir, emptyenv())) { [18:02:15.610] if (exists("master", mode = "list", envir = envir, [18:02:15.610] inherits = FALSE)) { [18:02:15.610] master <- get("master", mode = "list", [18:02:15.610] envir = envir, inherits = FALSE) [18:02:15.610] if (inherits(master, c("SOCKnode", [18:02:15.610] "SOCK0node"))) { [18:02:15.610] sendCondition <<- function(cond) { [18:02:15.610] data <- list(type = "VALUE", value = cond, [18:02:15.610] success = TRUE) [18:02:15.610] parallel_sendData(master, data) [18:02:15.610] } [18:02:15.610] return(sendCondition) [18:02:15.610] } [18:02:15.610] } [18:02:15.610] frame <- frame + 1L [18:02:15.610] envir <- sys.frame(frame) [18:02:15.610] } [18:02:15.610] } [18:02:15.610] sendCondition <<- function(cond) NULL [18:02:15.610] } [18:02:15.610] }) [18:02:15.610] withCallingHandlers({ [18:02:15.610] { [18:02:15.610] gc() [18:02:15.610] } [18:02:15.610] }, immediateCondition = function(cond) { [18:02:15.610] sendCondition <- ...future.makeSendCondition() [18:02:15.610] sendCondition(cond) [18:02:15.610] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.610] { [18:02:15.610] inherits <- base::inherits [18:02:15.610] invokeRestart <- base::invokeRestart [18:02:15.610] is.null <- base::is.null [18:02:15.610] muffled <- FALSE [18:02:15.610] if (inherits(cond, "message")) { [18:02:15.610] muffled <- grepl(pattern, "muffleMessage") [18:02:15.610] if (muffled) [18:02:15.610] invokeRestart("muffleMessage") [18:02:15.610] } [18:02:15.610] else if (inherits(cond, "warning")) { [18:02:15.610] muffled <- grepl(pattern, "muffleWarning") [18:02:15.610] if (muffled) [18:02:15.610] invokeRestart("muffleWarning") [18:02:15.610] } [18:02:15.610] else if (inherits(cond, "condition")) { [18:02:15.610] if (!is.null(pattern)) { [18:02:15.610] computeRestarts <- base::computeRestarts [18:02:15.610] grepl <- base::grepl [18:02:15.610] restarts <- computeRestarts(cond) [18:02:15.610] for (restart in restarts) { [18:02:15.610] name <- restart$name [18:02:15.610] if (is.null(name)) [18:02:15.610] next [18:02:15.610] if (!grepl(pattern, name)) [18:02:15.610] next [18:02:15.610] invokeRestart(restart) [18:02:15.610] muffled <- TRUE [18:02:15.610] break [18:02:15.610] } [18:02:15.610] } [18:02:15.610] } [18:02:15.610] invisible(muffled) [18:02:15.610] } [18:02:15.610] muffleCondition(cond) [18:02:15.610] }) [18:02:15.610] })) [18:02:15.610] future::FutureResult(value = ...future.value$value, [18:02:15.610] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.610] ...future.rng), globalenv = if (FALSE) [18:02:15.610] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:15.610] ...future.globalenv.names)) [18:02:15.610] else NULL, started = ...future.startTime, version = "1.8") [18:02:15.610] }, condition = base::local({ [18:02:15.610] c <- base::c [18:02:15.610] inherits <- base::inherits [18:02:15.610] invokeRestart <- base::invokeRestart [18:02:15.610] length <- base::length [18:02:15.610] list <- base::list [18:02:15.610] seq.int <- base::seq.int [18:02:15.610] signalCondition <- base::signalCondition [18:02:15.610] sys.calls <- base::sys.calls [18:02:15.610] `[[` <- base::`[[` [18:02:15.610] `+` <- base::`+` [18:02:15.610] `<<-` <- base::`<<-` [18:02:15.610] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:15.610] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:15.610] 3L)] [18:02:15.610] } [18:02:15.610] function(cond) { [18:02:15.610] is_error <- inherits(cond, "error") [18:02:15.610] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:15.610] NULL) [18:02:15.610] if (is_error) { [18:02:15.610] sessionInformation <- function() { [18:02:15.610] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:15.610] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:15.610] search = base::search(), system = base::Sys.info()) [18:02:15.610] } [18:02:15.610] ...future.conditions[[length(...future.conditions) + [18:02:15.610] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:15.610] cond$call), session = sessionInformation(), [18:02:15.610] timestamp = base::Sys.time(), signaled = 0L) [18:02:15.610] signalCondition(cond) [18:02:15.610] } [18:02:15.610] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:15.610] "immediateCondition"))) { [18:02:15.610] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:15.610] ...future.conditions[[length(...future.conditions) + [18:02:15.610] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:15.610] if (TRUE && !signal) { [18:02:15.610] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.610] { [18:02:15.610] inherits <- base::inherits [18:02:15.610] invokeRestart <- base::invokeRestart [18:02:15.610] is.null <- base::is.null [18:02:15.610] muffled <- FALSE [18:02:15.610] if (inherits(cond, "message")) { [18:02:15.610] muffled <- grepl(pattern, "muffleMessage") [18:02:15.610] if (muffled) [18:02:15.610] invokeRestart("muffleMessage") [18:02:15.610] } [18:02:15.610] else if (inherits(cond, "warning")) { [18:02:15.610] muffled <- grepl(pattern, "muffleWarning") [18:02:15.610] if (muffled) [18:02:15.610] invokeRestart("muffleWarning") [18:02:15.610] } [18:02:15.610] else if (inherits(cond, "condition")) { [18:02:15.610] if (!is.null(pattern)) { [18:02:15.610] computeRestarts <- base::computeRestarts [18:02:15.610] grepl <- base::grepl [18:02:15.610] restarts <- computeRestarts(cond) [18:02:15.610] for (restart in restarts) { [18:02:15.610] name <- restart$name [18:02:15.610] if (is.null(name)) [18:02:15.610] next [18:02:15.610] if (!grepl(pattern, name)) [18:02:15.610] next [18:02:15.610] invokeRestart(restart) [18:02:15.610] muffled <- TRUE [18:02:15.610] break [18:02:15.610] } [18:02:15.610] } [18:02:15.610] } [18:02:15.610] invisible(muffled) [18:02:15.610] } [18:02:15.610] muffleCondition(cond, pattern = "^muffle") [18:02:15.610] } [18:02:15.610] } [18:02:15.610] else { [18:02:15.610] if (TRUE) { [18:02:15.610] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.610] { [18:02:15.610] inherits <- base::inherits [18:02:15.610] invokeRestart <- base::invokeRestart [18:02:15.610] is.null <- base::is.null [18:02:15.610] muffled <- FALSE [18:02:15.610] if (inherits(cond, "message")) { [18:02:15.610] muffled <- grepl(pattern, "muffleMessage") [18:02:15.610] if (muffled) [18:02:15.610] invokeRestart("muffleMessage") [18:02:15.610] } [18:02:15.610] else if (inherits(cond, "warning")) { [18:02:15.610] muffled <- grepl(pattern, "muffleWarning") [18:02:15.610] if (muffled) [18:02:15.610] invokeRestart("muffleWarning") [18:02:15.610] } [18:02:15.610] else if (inherits(cond, "condition")) { [18:02:15.610] if (!is.null(pattern)) { [18:02:15.610] computeRestarts <- base::computeRestarts [18:02:15.610] grepl <- base::grepl [18:02:15.610] restarts <- computeRestarts(cond) [18:02:15.610] for (restart in restarts) { [18:02:15.610] name <- restart$name [18:02:15.610] if (is.null(name)) [18:02:15.610] next [18:02:15.610] if (!grepl(pattern, name)) [18:02:15.610] next [18:02:15.610] invokeRestart(restart) [18:02:15.610] muffled <- TRUE [18:02:15.610] break [18:02:15.610] } [18:02:15.610] } [18:02:15.610] } [18:02:15.610] invisible(muffled) [18:02:15.610] } [18:02:15.610] muffleCondition(cond, pattern = "^muffle") [18:02:15.610] } [18:02:15.610] } [18:02:15.610] } [18:02:15.610] })) [18:02:15.610] }, error = function(ex) { [18:02:15.610] base::structure(base::list(value = NULL, visible = NULL, [18:02:15.610] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.610] ...future.rng), started = ...future.startTime, [18:02:15.610] finished = Sys.time(), session_uuid = NA_character_, [18:02:15.610] version = "1.8"), class = "FutureResult") [18:02:15.610] }, finally = { [18:02:15.610] if (!identical(...future.workdir, getwd())) [18:02:15.610] setwd(...future.workdir) [18:02:15.610] { [18:02:15.610] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:15.610] ...future.oldOptions$nwarnings <- NULL [18:02:15.610] } [18:02:15.610] base::options(...future.oldOptions) [18:02:15.610] if (.Platform$OS.type == "windows") { [18:02:15.610] old_names <- names(...future.oldEnvVars) [18:02:15.610] envs <- base::Sys.getenv() [18:02:15.610] names <- names(envs) [18:02:15.610] common <- intersect(names, old_names) [18:02:15.610] added <- setdiff(names, old_names) [18:02:15.610] removed <- setdiff(old_names, names) [18:02:15.610] changed <- common[...future.oldEnvVars[common] != [18:02:15.610] envs[common]] [18:02:15.610] NAMES <- toupper(changed) [18:02:15.610] args <- list() [18:02:15.610] for (kk in seq_along(NAMES)) { [18:02:15.610] name <- changed[[kk]] [18:02:15.610] NAME <- NAMES[[kk]] [18:02:15.610] if (name != NAME && is.element(NAME, old_names)) [18:02:15.610] next [18:02:15.610] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.610] } [18:02:15.610] NAMES <- toupper(added) [18:02:15.610] for (kk in seq_along(NAMES)) { [18:02:15.610] name <- added[[kk]] [18:02:15.610] NAME <- NAMES[[kk]] [18:02:15.610] if (name != NAME && is.element(NAME, old_names)) [18:02:15.610] next [18:02:15.610] args[[name]] <- "" [18:02:15.610] } [18:02:15.610] NAMES <- toupper(removed) [18:02:15.610] for (kk in seq_along(NAMES)) { [18:02:15.610] name <- removed[[kk]] [18:02:15.610] NAME <- NAMES[[kk]] [18:02:15.610] if (name != NAME && is.element(NAME, old_names)) [18:02:15.610] next [18:02:15.610] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.610] } [18:02:15.610] if (length(args) > 0) [18:02:15.610] base::do.call(base::Sys.setenv, args = args) [18:02:15.610] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:15.610] } [18:02:15.610] else { [18:02:15.610] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:15.610] } [18:02:15.610] { [18:02:15.610] if (base::length(...future.futureOptionsAdded) > [18:02:15.610] 0L) { [18:02:15.610] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:15.610] base::names(opts) <- ...future.futureOptionsAdded [18:02:15.610] base::options(opts) [18:02:15.610] } [18:02:15.610] { [18:02:15.610] { [18:02:15.610] base::options(mc.cores = ...future.mc.cores.old) [18:02:15.610] NULL [18:02:15.610] } [18:02:15.610] options(future.plan = NULL) [18:02:15.610] if (is.na(NA_character_)) [18:02:15.610] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.610] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:15.610] future::plan(list(function (..., workers = 2L, [18:02:15.610] envir = parent.frame()) [18:02:15.610] strategy(..., workers = workers, envir = envir)), [18:02:15.610] .cleanup = FALSE, .init = FALSE) [18:02:15.610] } [18:02:15.610] } [18:02:15.610] } [18:02:15.610] }) [18:02:15.610] if (TRUE) { [18:02:15.610] base::sink(type = "output", split = FALSE) [18:02:15.610] if (TRUE) { [18:02:15.610] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:15.610] } [18:02:15.610] else { [18:02:15.610] ...future.result["stdout"] <- base::list(NULL) [18:02:15.610] } [18:02:15.610] base::close(...future.stdout) [18:02:15.610] ...future.stdout <- NULL [18:02:15.610] } [18:02:15.610] ...future.result$conditions <- ...future.conditions [18:02:15.610] ...future.result$finished <- base::Sys.time() [18:02:15.610] ...future.result [18:02:15.610] } [18:02:15.616] MultisessionFuture started [18:02:15.616] - Launch lazy future ... done [18:02:15.616] run() for 'MultisessionFuture' ... done > v <- value(f) [18:02:15.616] result() for ClusterFuture ... [18:02:15.617] receiveMessageFromWorker() for ClusterFuture ... [18:02:15.617] - Validating connection of MultisessionFuture [18:02:15.660] - received message: FutureResult [18:02:15.660] - Received FutureResult [18:02:15.661] - Erased future from FutureRegistry [18:02:15.661] result() for ClusterFuture ... [18:02:15.661] - result already collected: FutureResult [18:02:15.661] result() for ClusterFuture ... done [18:02:15.661] receiveMessageFromWorker() for ClusterFuture ... done [18:02:15.661] result() for ClusterFuture ... done [18:02:15.662] result() for ClusterFuture ... [18:02:15.662] - result already collected: FutureResult [18:02:15.662] result() for ClusterFuture ... done > print(v) used (Mb) gc trigger (Mb) max used (Mb) Ncells 396297 21.2 811998 43.4 644026 34.4 Vcells 701007 5.4 8388608 64.0 5830003 44.5 > > f <- future({ integer(10e6) }, gc = TRUE) [18:02:15.662] getGlobalsAndPackages() ... [18:02:15.663] Searching for globals... [18:02:15.664] - globals found: [2] '{', 'integer' [18:02:15.664] Searching for globals ... DONE [18:02:15.664] Resolving globals: FALSE [18:02:15.665] [18:02:15.665] [18:02:15.665] getGlobalsAndPackages() ... DONE [18:02:15.665] run() for 'Future' ... [18:02:15.665] - state: 'created' [18:02:15.666] - Future backend: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:15.677] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:15.678] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:15.678] - Field: 'node' [18:02:15.678] - Field: 'label' [18:02:15.678] - Field: 'local' [18:02:15.678] - Field: 'owner' [18:02:15.679] - Field: 'envir' [18:02:15.679] - Field: 'workers' [18:02:15.679] - Field: 'packages' [18:02:15.679] - Field: 'gc' [18:02:15.679] - Field: 'conditions' [18:02:15.679] - Field: 'persistent' [18:02:15.680] - Field: 'expr' [18:02:15.680] - Field: 'uuid' [18:02:15.680] - Field: 'seed' [18:02:15.680] - Field: 'version' [18:02:15.680] - Field: 'result' [18:02:15.681] - Field: 'asynchronous' [18:02:15.681] - Field: 'calls' [18:02:15.681] - Field: 'globals' [18:02:15.681] - Field: 'stdout' [18:02:15.681] - Field: 'earlySignal' [18:02:15.681] - Field: 'lazy' [18:02:15.682] - Field: 'state' [18:02:15.682] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:15.682] - Launch lazy future ... [18:02:15.682] Packages needed by the future expression (n = 0): [18:02:15.683] Packages needed by future strategies (n = 0): [18:02:15.683] { [18:02:15.683] { [18:02:15.683] { [18:02:15.683] ...future.startTime <- base::Sys.time() [18:02:15.683] { [18:02:15.683] { [18:02:15.683] { [18:02:15.683] { [18:02:15.683] base::local({ [18:02:15.683] has_future <- base::requireNamespace("future", [18:02:15.683] quietly = TRUE) [18:02:15.683] if (has_future) { [18:02:15.683] ns <- base::getNamespace("future") [18:02:15.683] version <- ns[[".package"]][["version"]] [18:02:15.683] if (is.null(version)) [18:02:15.683] version <- utils::packageVersion("future") [18:02:15.683] } [18:02:15.683] else { [18:02:15.683] version <- NULL [18:02:15.683] } [18:02:15.683] if (!has_future || version < "1.8.0") { [18:02:15.683] info <- base::c(r_version = base::gsub("R version ", [18:02:15.683] "", base::R.version$version.string), [18:02:15.683] platform = base::sprintf("%s (%s-bit)", [18:02:15.683] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:15.683] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:15.683] "release", "version")], collapse = " "), [18:02:15.683] hostname = base::Sys.info()[["nodename"]]) [18:02:15.683] info <- base::sprintf("%s: %s", base::names(info), [18:02:15.683] info) [18:02:15.683] info <- base::paste(info, collapse = "; ") [18:02:15.683] if (!has_future) { [18:02:15.683] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:15.683] info) [18:02:15.683] } [18:02:15.683] else { [18:02:15.683] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:15.683] info, version) [18:02:15.683] } [18:02:15.683] base::stop(msg) [18:02:15.683] } [18:02:15.683] }) [18:02:15.683] } [18:02:15.683] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:15.683] base::options(mc.cores = 1L) [18:02:15.683] } [18:02:15.683] options(future.plan = NULL) [18:02:15.683] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.683] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:15.683] } [18:02:15.683] ...future.workdir <- getwd() [18:02:15.683] } [18:02:15.683] ...future.oldOptions <- base::as.list(base::.Options) [18:02:15.683] ...future.oldEnvVars <- base::Sys.getenv() [18:02:15.683] } [18:02:15.683] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:15.683] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:15.683] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:15.683] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:15.683] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:15.683] future.stdout.windows.reencode = NULL, width = 80L) [18:02:15.683] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:15.683] base::names(...future.oldOptions)) [18:02:15.683] } [18:02:15.683] if (FALSE) { [18:02:15.683] } [18:02:15.683] else { [18:02:15.683] if (TRUE) { [18:02:15.683] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:15.683] open = "w") [18:02:15.683] } [18:02:15.683] else { [18:02:15.683] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:15.683] windows = "NUL", "/dev/null"), open = "w") [18:02:15.683] } [18:02:15.683] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:15.683] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:15.683] base::sink(type = "output", split = FALSE) [18:02:15.683] base::close(...future.stdout) [18:02:15.683] }, add = TRUE) [18:02:15.683] } [18:02:15.683] ...future.frame <- base::sys.nframe() [18:02:15.683] ...future.conditions <- base::list() [18:02:15.683] ...future.rng <- base::globalenv()$.Random.seed [18:02:15.683] if (FALSE) { [18:02:15.683] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:15.683] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:15.683] } [18:02:15.683] ...future.result <- base::tryCatch({ [18:02:15.683] base::withCallingHandlers({ [18:02:15.683] ...future.value <- base::withVisible(base::local({ [18:02:15.683] ...future.makeSendCondition <- local({ [18:02:15.683] sendCondition <- NULL [18:02:15.683] function(frame = 1L) { [18:02:15.683] if (is.function(sendCondition)) [18:02:15.683] return(sendCondition) [18:02:15.683] ns <- getNamespace("parallel") [18:02:15.683] if (exists("sendData", mode = "function", [18:02:15.683] envir = ns)) { [18:02:15.683] parallel_sendData <- get("sendData", mode = "function", [18:02:15.683] envir = ns) [18:02:15.683] envir <- sys.frame(frame) [18:02:15.683] master <- NULL [18:02:15.683] while (!identical(envir, .GlobalEnv) && [18:02:15.683] !identical(envir, emptyenv())) { [18:02:15.683] if (exists("master", mode = "list", envir = envir, [18:02:15.683] inherits = FALSE)) { [18:02:15.683] master <- get("master", mode = "list", [18:02:15.683] envir = envir, inherits = FALSE) [18:02:15.683] if (inherits(master, c("SOCKnode", [18:02:15.683] "SOCK0node"))) { [18:02:15.683] sendCondition <<- function(cond) { [18:02:15.683] data <- list(type = "VALUE", value = cond, [18:02:15.683] success = TRUE) [18:02:15.683] parallel_sendData(master, data) [18:02:15.683] } [18:02:15.683] return(sendCondition) [18:02:15.683] } [18:02:15.683] } [18:02:15.683] frame <- frame + 1L [18:02:15.683] envir <- sys.frame(frame) [18:02:15.683] } [18:02:15.683] } [18:02:15.683] sendCondition <<- function(cond) NULL [18:02:15.683] } [18:02:15.683] }) [18:02:15.683] withCallingHandlers({ [18:02:15.683] { [18:02:15.683] integer(1e+07) [18:02:15.683] } [18:02:15.683] }, immediateCondition = function(cond) { [18:02:15.683] sendCondition <- ...future.makeSendCondition() [18:02:15.683] sendCondition(cond) [18:02:15.683] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.683] { [18:02:15.683] inherits <- base::inherits [18:02:15.683] invokeRestart <- base::invokeRestart [18:02:15.683] is.null <- base::is.null [18:02:15.683] muffled <- FALSE [18:02:15.683] if (inherits(cond, "message")) { [18:02:15.683] muffled <- grepl(pattern, "muffleMessage") [18:02:15.683] if (muffled) [18:02:15.683] invokeRestart("muffleMessage") [18:02:15.683] } [18:02:15.683] else if (inherits(cond, "warning")) { [18:02:15.683] muffled <- grepl(pattern, "muffleWarning") [18:02:15.683] if (muffled) [18:02:15.683] invokeRestart("muffleWarning") [18:02:15.683] } [18:02:15.683] else if (inherits(cond, "condition")) { [18:02:15.683] if (!is.null(pattern)) { [18:02:15.683] computeRestarts <- base::computeRestarts [18:02:15.683] grepl <- base::grepl [18:02:15.683] restarts <- computeRestarts(cond) [18:02:15.683] for (restart in restarts) { [18:02:15.683] name <- restart$name [18:02:15.683] if (is.null(name)) [18:02:15.683] next [18:02:15.683] if (!grepl(pattern, name)) [18:02:15.683] next [18:02:15.683] invokeRestart(restart) [18:02:15.683] muffled <- TRUE [18:02:15.683] break [18:02:15.683] } [18:02:15.683] } [18:02:15.683] } [18:02:15.683] invisible(muffled) [18:02:15.683] } [18:02:15.683] muffleCondition(cond) [18:02:15.683] }) [18:02:15.683] })) [18:02:15.683] future::FutureResult(value = ...future.value$value, [18:02:15.683] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.683] ...future.rng), globalenv = if (FALSE) [18:02:15.683] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:15.683] ...future.globalenv.names)) [18:02:15.683] else NULL, started = ...future.startTime, version = "1.8") [18:02:15.683] }, condition = base::local({ [18:02:15.683] c <- base::c [18:02:15.683] inherits <- base::inherits [18:02:15.683] invokeRestart <- base::invokeRestart [18:02:15.683] length <- base::length [18:02:15.683] list <- base::list [18:02:15.683] seq.int <- base::seq.int [18:02:15.683] signalCondition <- base::signalCondition [18:02:15.683] sys.calls <- base::sys.calls [18:02:15.683] `[[` <- base::`[[` [18:02:15.683] `+` <- base::`+` [18:02:15.683] `<<-` <- base::`<<-` [18:02:15.683] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:15.683] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:15.683] 3L)] [18:02:15.683] } [18:02:15.683] function(cond) { [18:02:15.683] is_error <- inherits(cond, "error") [18:02:15.683] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:15.683] NULL) [18:02:15.683] if (is_error) { [18:02:15.683] sessionInformation <- function() { [18:02:15.683] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:15.683] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:15.683] search = base::search(), system = base::Sys.info()) [18:02:15.683] } [18:02:15.683] ...future.conditions[[length(...future.conditions) + [18:02:15.683] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:15.683] cond$call), session = sessionInformation(), [18:02:15.683] timestamp = base::Sys.time(), signaled = 0L) [18:02:15.683] signalCondition(cond) [18:02:15.683] } [18:02:15.683] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:15.683] "immediateCondition"))) { [18:02:15.683] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:15.683] ...future.conditions[[length(...future.conditions) + [18:02:15.683] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:15.683] if (TRUE && !signal) { [18:02:15.683] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.683] { [18:02:15.683] inherits <- base::inherits [18:02:15.683] invokeRestart <- base::invokeRestart [18:02:15.683] is.null <- base::is.null [18:02:15.683] muffled <- FALSE [18:02:15.683] if (inherits(cond, "message")) { [18:02:15.683] muffled <- grepl(pattern, "muffleMessage") [18:02:15.683] if (muffled) [18:02:15.683] invokeRestart("muffleMessage") [18:02:15.683] } [18:02:15.683] else if (inherits(cond, "warning")) { [18:02:15.683] muffled <- grepl(pattern, "muffleWarning") [18:02:15.683] if (muffled) [18:02:15.683] invokeRestart("muffleWarning") [18:02:15.683] } [18:02:15.683] else if (inherits(cond, "condition")) { [18:02:15.683] if (!is.null(pattern)) { [18:02:15.683] computeRestarts <- base::computeRestarts [18:02:15.683] grepl <- base::grepl [18:02:15.683] restarts <- computeRestarts(cond) [18:02:15.683] for (restart in restarts) { [18:02:15.683] name <- restart$name [18:02:15.683] if (is.null(name)) [18:02:15.683] next [18:02:15.683] if (!grepl(pattern, name)) [18:02:15.683] next [18:02:15.683] invokeRestart(restart) [18:02:15.683] muffled <- TRUE [18:02:15.683] break [18:02:15.683] } [18:02:15.683] } [18:02:15.683] } [18:02:15.683] invisible(muffled) [18:02:15.683] } [18:02:15.683] muffleCondition(cond, pattern = "^muffle") [18:02:15.683] } [18:02:15.683] } [18:02:15.683] else { [18:02:15.683] if (TRUE) { [18:02:15.683] muffleCondition <- function (cond, pattern = "^muffle") [18:02:15.683] { [18:02:15.683] inherits <- base::inherits [18:02:15.683] invokeRestart <- base::invokeRestart [18:02:15.683] is.null <- base::is.null [18:02:15.683] muffled <- FALSE [18:02:15.683] if (inherits(cond, "message")) { [18:02:15.683] muffled <- grepl(pattern, "muffleMessage") [18:02:15.683] if (muffled) [18:02:15.683] invokeRestart("muffleMessage") [18:02:15.683] } [18:02:15.683] else if (inherits(cond, "warning")) { [18:02:15.683] muffled <- grepl(pattern, "muffleWarning") [18:02:15.683] if (muffled) [18:02:15.683] invokeRestart("muffleWarning") [18:02:15.683] } [18:02:15.683] else if (inherits(cond, "condition")) { [18:02:15.683] if (!is.null(pattern)) { [18:02:15.683] computeRestarts <- base::computeRestarts [18:02:15.683] grepl <- base::grepl [18:02:15.683] restarts <- computeRestarts(cond) [18:02:15.683] for (restart in restarts) { [18:02:15.683] name <- restart$name [18:02:15.683] if (is.null(name)) [18:02:15.683] next [18:02:15.683] if (!grepl(pattern, name)) [18:02:15.683] next [18:02:15.683] invokeRestart(restart) [18:02:15.683] muffled <- TRUE [18:02:15.683] break [18:02:15.683] } [18:02:15.683] } [18:02:15.683] } [18:02:15.683] invisible(muffled) [18:02:15.683] } [18:02:15.683] muffleCondition(cond, pattern = "^muffle") [18:02:15.683] } [18:02:15.683] } [18:02:15.683] } [18:02:15.683] })) [18:02:15.683] }, error = function(ex) { [18:02:15.683] base::structure(base::list(value = NULL, visible = NULL, [18:02:15.683] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:15.683] ...future.rng), started = ...future.startTime, [18:02:15.683] finished = Sys.time(), session_uuid = NA_character_, [18:02:15.683] version = "1.8"), class = "FutureResult") [18:02:15.683] }, finally = { [18:02:15.683] if (!identical(...future.workdir, getwd())) [18:02:15.683] setwd(...future.workdir) [18:02:15.683] { [18:02:15.683] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:15.683] ...future.oldOptions$nwarnings <- NULL [18:02:15.683] } [18:02:15.683] base::options(...future.oldOptions) [18:02:15.683] if (.Platform$OS.type == "windows") { [18:02:15.683] old_names <- names(...future.oldEnvVars) [18:02:15.683] envs <- base::Sys.getenv() [18:02:15.683] names <- names(envs) [18:02:15.683] common <- intersect(names, old_names) [18:02:15.683] added <- setdiff(names, old_names) [18:02:15.683] removed <- setdiff(old_names, names) [18:02:15.683] changed <- common[...future.oldEnvVars[common] != [18:02:15.683] envs[common]] [18:02:15.683] NAMES <- toupper(changed) [18:02:15.683] args <- list() [18:02:15.683] for (kk in seq_along(NAMES)) { [18:02:15.683] name <- changed[[kk]] [18:02:15.683] NAME <- NAMES[[kk]] [18:02:15.683] if (name != NAME && is.element(NAME, old_names)) [18:02:15.683] next [18:02:15.683] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.683] } [18:02:15.683] NAMES <- toupper(added) [18:02:15.683] for (kk in seq_along(NAMES)) { [18:02:15.683] name <- added[[kk]] [18:02:15.683] NAME <- NAMES[[kk]] [18:02:15.683] if (name != NAME && is.element(NAME, old_names)) [18:02:15.683] next [18:02:15.683] args[[name]] <- "" [18:02:15.683] } [18:02:15.683] NAMES <- toupper(removed) [18:02:15.683] for (kk in seq_along(NAMES)) { [18:02:15.683] name <- removed[[kk]] [18:02:15.683] NAME <- NAMES[[kk]] [18:02:15.683] if (name != NAME && is.element(NAME, old_names)) [18:02:15.683] next [18:02:15.683] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:15.683] } [18:02:15.683] if (length(args) > 0) [18:02:15.683] base::do.call(base::Sys.setenv, args = args) [18:02:15.683] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:15.683] } [18:02:15.683] else { [18:02:15.683] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:15.683] } [18:02:15.683] { [18:02:15.683] if (base::length(...future.futureOptionsAdded) > [18:02:15.683] 0L) { [18:02:15.683] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:15.683] base::names(opts) <- ...future.futureOptionsAdded [18:02:15.683] base::options(opts) [18:02:15.683] } [18:02:15.683] { [18:02:15.683] { [18:02:15.683] base::options(mc.cores = ...future.mc.cores.old) [18:02:15.683] NULL [18:02:15.683] } [18:02:15.683] options(future.plan = NULL) [18:02:15.683] if (is.na(NA_character_)) [18:02:15.683] Sys.unsetenv("R_FUTURE_PLAN") [18:02:15.683] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:15.683] future::plan(list(function (..., workers = 2L, [18:02:15.683] envir = parent.frame()) [18:02:15.683] strategy(..., workers = workers, envir = envir)), [18:02:15.683] .cleanup = FALSE, .init = FALSE) [18:02:15.683] } [18:02:15.683] } [18:02:15.683] } [18:02:15.683] }) [18:02:15.683] if (TRUE) { [18:02:15.683] base::sink(type = "output", split = FALSE) [18:02:15.683] if (TRUE) { [18:02:15.683] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:15.683] } [18:02:15.683] else { [18:02:15.683] ...future.result["stdout"] <- base::list(NULL) [18:02:15.683] } [18:02:15.683] base::close(...future.stdout) [18:02:15.683] ...future.stdout <- NULL [18:02:15.683] } [18:02:15.683] ...future.result$conditions <- ...future.conditions [18:02:15.683] ...future.result$finished <- base::Sys.time() [18:02:15.683] ...future.result [18:02:15.683] } [18:02:15.689] MultisessionFuture started [18:02:15.689] - Launch lazy future ... done [18:02:15.689] run() for 'MultisessionFuture' ... done > v <- value(f) [18:02:15.690] result() for ClusterFuture ... [18:02:15.690] receiveMessageFromWorker() for ClusterFuture ... [18:02:15.690] - Validating connection of MultisessionFuture [18:02:15.777] - received message: FutureResult [18:02:15.777] - Received FutureResult [18:02:15.778] - Erased future from FutureRegistry [18:02:15.778] result() for ClusterFuture ... [18:02:15.778] - result already collected: FutureResult [18:02:15.778] result() for ClusterFuture ... done [18:02:15.778] - Garbage collecting worker ... [18:02:16.033] - Garbage collecting worker ... done [18:02:16.033] receiveMessageFromWorker() for ClusterFuture ... done [18:02:16.034] result() for ClusterFuture ... done [18:02:16.034] result() for ClusterFuture ... [18:02:16.034] - result already collected: FutureResult [18:02:16.034] result() for ClusterFuture ... done > str(v) int [1:10000000] 0 0 0 0 0 0 0 0 0 0 ... > > f <- future({ gc() }) [18:02:16.035] getGlobalsAndPackages() ... [18:02:16.035] Searching for globals... [18:02:16.036] - globals found: [2] '{', 'gc' [18:02:16.037] Searching for globals ... DONE [18:02:16.037] Resolving globals: FALSE [18:02:16.037] [18:02:16.037] [18:02:16.038] getGlobalsAndPackages() ... DONE [18:02:16.038] run() for 'Future' ... [18:02:16.038] - state: 'created' [18:02:16.038] - Future backend: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:16.050] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:16.050] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:16.051] - Field: 'node' [18:02:16.051] - Field: 'label' [18:02:16.051] - Field: 'local' [18:02:16.051] - Field: 'owner' [18:02:16.051] - Field: 'envir' [18:02:16.052] - Field: 'workers' [18:02:16.052] - Field: 'packages' [18:02:16.052] - Field: 'gc' [18:02:16.052] - Field: 'conditions' [18:02:16.052] - Field: 'persistent' [18:02:16.052] - Field: 'expr' [18:02:16.053] - Field: 'uuid' [18:02:16.053] - Field: 'seed' [18:02:16.053] - Field: 'version' [18:02:16.053] - Field: 'result' [18:02:16.053] - Field: 'asynchronous' [18:02:16.054] - Field: 'calls' [18:02:16.054] - Field: 'globals' [18:02:16.054] - Field: 'stdout' [18:02:16.054] - Field: 'earlySignal' [18:02:16.054] - Field: 'lazy' [18:02:16.054] - Field: 'state' [18:02:16.055] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:16.055] - Launch lazy future ... [18:02:16.055] Packages needed by the future expression (n = 0): [18:02:16.055] Packages needed by future strategies (n = 0): [18:02:16.056] { [18:02:16.056] { [18:02:16.056] { [18:02:16.056] ...future.startTime <- base::Sys.time() [18:02:16.056] { [18:02:16.056] { [18:02:16.056] { [18:02:16.056] { [18:02:16.056] base::local({ [18:02:16.056] has_future <- base::requireNamespace("future", [18:02:16.056] quietly = TRUE) [18:02:16.056] if (has_future) { [18:02:16.056] ns <- base::getNamespace("future") [18:02:16.056] version <- ns[[".package"]][["version"]] [18:02:16.056] if (is.null(version)) [18:02:16.056] version <- utils::packageVersion("future") [18:02:16.056] } [18:02:16.056] else { [18:02:16.056] version <- NULL [18:02:16.056] } [18:02:16.056] if (!has_future || version < "1.8.0") { [18:02:16.056] info <- base::c(r_version = base::gsub("R version ", [18:02:16.056] "", base::R.version$version.string), [18:02:16.056] platform = base::sprintf("%s (%s-bit)", [18:02:16.056] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:16.056] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:16.056] "release", "version")], collapse = " "), [18:02:16.056] hostname = base::Sys.info()[["nodename"]]) [18:02:16.056] info <- base::sprintf("%s: %s", base::names(info), [18:02:16.056] info) [18:02:16.056] info <- base::paste(info, collapse = "; ") [18:02:16.056] if (!has_future) { [18:02:16.056] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:16.056] info) [18:02:16.056] } [18:02:16.056] else { [18:02:16.056] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:16.056] info, version) [18:02:16.056] } [18:02:16.056] base::stop(msg) [18:02:16.056] } [18:02:16.056] }) [18:02:16.056] } [18:02:16.056] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:16.056] base::options(mc.cores = 1L) [18:02:16.056] } [18:02:16.056] options(future.plan = NULL) [18:02:16.056] Sys.unsetenv("R_FUTURE_PLAN") [18:02:16.056] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:16.056] } [18:02:16.056] ...future.workdir <- getwd() [18:02:16.056] } [18:02:16.056] ...future.oldOptions <- base::as.list(base::.Options) [18:02:16.056] ...future.oldEnvVars <- base::Sys.getenv() [18:02:16.056] } [18:02:16.056] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:16.056] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:16.056] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:16.056] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:16.056] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:16.056] future.stdout.windows.reencode = NULL, width = 80L) [18:02:16.056] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:16.056] base::names(...future.oldOptions)) [18:02:16.056] } [18:02:16.056] if (FALSE) { [18:02:16.056] } [18:02:16.056] else { [18:02:16.056] if (TRUE) { [18:02:16.056] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:16.056] open = "w") [18:02:16.056] } [18:02:16.056] else { [18:02:16.056] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:16.056] windows = "NUL", "/dev/null"), open = "w") [18:02:16.056] } [18:02:16.056] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:16.056] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:16.056] base::sink(type = "output", split = FALSE) [18:02:16.056] base::close(...future.stdout) [18:02:16.056] }, add = TRUE) [18:02:16.056] } [18:02:16.056] ...future.frame <- base::sys.nframe() [18:02:16.056] ...future.conditions <- base::list() [18:02:16.056] ...future.rng <- base::globalenv()$.Random.seed [18:02:16.056] if (FALSE) { [18:02:16.056] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:16.056] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:16.056] } [18:02:16.056] ...future.result <- base::tryCatch({ [18:02:16.056] base::withCallingHandlers({ [18:02:16.056] ...future.value <- base::withVisible(base::local({ [18:02:16.056] ...future.makeSendCondition <- local({ [18:02:16.056] sendCondition <- NULL [18:02:16.056] function(frame = 1L) { [18:02:16.056] if (is.function(sendCondition)) [18:02:16.056] return(sendCondition) [18:02:16.056] ns <- getNamespace("parallel") [18:02:16.056] if (exists("sendData", mode = "function", [18:02:16.056] envir = ns)) { [18:02:16.056] parallel_sendData <- get("sendData", mode = "function", [18:02:16.056] envir = ns) [18:02:16.056] envir <- sys.frame(frame) [18:02:16.056] master <- NULL [18:02:16.056] while (!identical(envir, .GlobalEnv) && [18:02:16.056] !identical(envir, emptyenv())) { [18:02:16.056] if (exists("master", mode = "list", envir = envir, [18:02:16.056] inherits = FALSE)) { [18:02:16.056] master <- get("master", mode = "list", [18:02:16.056] envir = envir, inherits = FALSE) [18:02:16.056] if (inherits(master, c("SOCKnode", [18:02:16.056] "SOCK0node"))) { [18:02:16.056] sendCondition <<- function(cond) { [18:02:16.056] data <- list(type = "VALUE", value = cond, [18:02:16.056] success = TRUE) [18:02:16.056] parallel_sendData(master, data) [18:02:16.056] } [18:02:16.056] return(sendCondition) [18:02:16.056] } [18:02:16.056] } [18:02:16.056] frame <- frame + 1L [18:02:16.056] envir <- sys.frame(frame) [18:02:16.056] } [18:02:16.056] } [18:02:16.056] sendCondition <<- function(cond) NULL [18:02:16.056] } [18:02:16.056] }) [18:02:16.056] withCallingHandlers({ [18:02:16.056] { [18:02:16.056] gc() [18:02:16.056] } [18:02:16.056] }, immediateCondition = function(cond) { [18:02:16.056] sendCondition <- ...future.makeSendCondition() [18:02:16.056] sendCondition(cond) [18:02:16.056] muffleCondition <- function (cond, pattern = "^muffle") [18:02:16.056] { [18:02:16.056] inherits <- base::inherits [18:02:16.056] invokeRestart <- base::invokeRestart [18:02:16.056] is.null <- base::is.null [18:02:16.056] muffled <- FALSE [18:02:16.056] if (inherits(cond, "message")) { [18:02:16.056] muffled <- grepl(pattern, "muffleMessage") [18:02:16.056] if (muffled) [18:02:16.056] invokeRestart("muffleMessage") [18:02:16.056] } [18:02:16.056] else if (inherits(cond, "warning")) { [18:02:16.056] muffled <- grepl(pattern, "muffleWarning") [18:02:16.056] if (muffled) [18:02:16.056] invokeRestart("muffleWarning") [18:02:16.056] } [18:02:16.056] else if (inherits(cond, "condition")) { [18:02:16.056] if (!is.null(pattern)) { [18:02:16.056] computeRestarts <- base::computeRestarts [18:02:16.056] grepl <- base::grepl [18:02:16.056] restarts <- computeRestarts(cond) [18:02:16.056] for (restart in restarts) { [18:02:16.056] name <- restart$name [18:02:16.056] if (is.null(name)) [18:02:16.056] next [18:02:16.056] if (!grepl(pattern, name)) [18:02:16.056] next [18:02:16.056] invokeRestart(restart) [18:02:16.056] muffled <- TRUE [18:02:16.056] break [18:02:16.056] } [18:02:16.056] } [18:02:16.056] } [18:02:16.056] invisible(muffled) [18:02:16.056] } [18:02:16.056] muffleCondition(cond) [18:02:16.056] }) [18:02:16.056] })) [18:02:16.056] future::FutureResult(value = ...future.value$value, [18:02:16.056] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:16.056] ...future.rng), globalenv = if (FALSE) [18:02:16.056] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:16.056] ...future.globalenv.names)) [18:02:16.056] else NULL, started = ...future.startTime, version = "1.8") [18:02:16.056] }, condition = base::local({ [18:02:16.056] c <- base::c [18:02:16.056] inherits <- base::inherits [18:02:16.056] invokeRestart <- base::invokeRestart [18:02:16.056] length <- base::length [18:02:16.056] list <- base::list [18:02:16.056] seq.int <- base::seq.int [18:02:16.056] signalCondition <- base::signalCondition [18:02:16.056] sys.calls <- base::sys.calls [18:02:16.056] `[[` <- base::`[[` [18:02:16.056] `+` <- base::`+` [18:02:16.056] `<<-` <- base::`<<-` [18:02:16.056] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:16.056] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:16.056] 3L)] [18:02:16.056] } [18:02:16.056] function(cond) { [18:02:16.056] is_error <- inherits(cond, "error") [18:02:16.056] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:16.056] NULL) [18:02:16.056] if (is_error) { [18:02:16.056] sessionInformation <- function() { [18:02:16.056] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:16.056] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:16.056] search = base::search(), system = base::Sys.info()) [18:02:16.056] } [18:02:16.056] ...future.conditions[[length(...future.conditions) + [18:02:16.056] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:16.056] cond$call), session = sessionInformation(), [18:02:16.056] timestamp = base::Sys.time(), signaled = 0L) [18:02:16.056] signalCondition(cond) [18:02:16.056] } [18:02:16.056] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:16.056] "immediateCondition"))) { [18:02:16.056] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:16.056] ...future.conditions[[length(...future.conditions) + [18:02:16.056] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:16.056] if (TRUE && !signal) { [18:02:16.056] muffleCondition <- function (cond, pattern = "^muffle") [18:02:16.056] { [18:02:16.056] inherits <- base::inherits [18:02:16.056] invokeRestart <- base::invokeRestart [18:02:16.056] is.null <- base::is.null [18:02:16.056] muffled <- FALSE [18:02:16.056] if (inherits(cond, "message")) { [18:02:16.056] muffled <- grepl(pattern, "muffleMessage") [18:02:16.056] if (muffled) [18:02:16.056] invokeRestart("muffleMessage") [18:02:16.056] } [18:02:16.056] else if (inherits(cond, "warning")) { [18:02:16.056] muffled <- grepl(pattern, "muffleWarning") [18:02:16.056] if (muffled) [18:02:16.056] invokeRestart("muffleWarning") [18:02:16.056] } [18:02:16.056] else if (inherits(cond, "condition")) { [18:02:16.056] if (!is.null(pattern)) { [18:02:16.056] computeRestarts <- base::computeRestarts [18:02:16.056] grepl <- base::grepl [18:02:16.056] restarts <- computeRestarts(cond) [18:02:16.056] for (restart in restarts) { [18:02:16.056] name <- restart$name [18:02:16.056] if (is.null(name)) [18:02:16.056] next [18:02:16.056] if (!grepl(pattern, name)) [18:02:16.056] next [18:02:16.056] invokeRestart(restart) [18:02:16.056] muffled <- TRUE [18:02:16.056] break [18:02:16.056] } [18:02:16.056] } [18:02:16.056] } [18:02:16.056] invisible(muffled) [18:02:16.056] } [18:02:16.056] muffleCondition(cond, pattern = "^muffle") [18:02:16.056] } [18:02:16.056] } [18:02:16.056] else { [18:02:16.056] if (TRUE) { [18:02:16.056] muffleCondition <- function (cond, pattern = "^muffle") [18:02:16.056] { [18:02:16.056] inherits <- base::inherits [18:02:16.056] invokeRestart <- base::invokeRestart [18:02:16.056] is.null <- base::is.null [18:02:16.056] muffled <- FALSE [18:02:16.056] if (inherits(cond, "message")) { [18:02:16.056] muffled <- grepl(pattern, "muffleMessage") [18:02:16.056] if (muffled) [18:02:16.056] invokeRestart("muffleMessage") [18:02:16.056] } [18:02:16.056] else if (inherits(cond, "warning")) { [18:02:16.056] muffled <- grepl(pattern, "muffleWarning") [18:02:16.056] if (muffled) [18:02:16.056] invokeRestart("muffleWarning") [18:02:16.056] } [18:02:16.056] else if (inherits(cond, "condition")) { [18:02:16.056] if (!is.null(pattern)) { [18:02:16.056] computeRestarts <- base::computeRestarts [18:02:16.056] grepl <- base::grepl [18:02:16.056] restarts <- computeRestarts(cond) [18:02:16.056] for (restart in restarts) { [18:02:16.056] name <- restart$name [18:02:16.056] if (is.null(name)) [18:02:16.056] next [18:02:16.056] if (!grepl(pattern, name)) [18:02:16.056] next [18:02:16.056] invokeRestart(restart) [18:02:16.056] muffled <- TRUE [18:02:16.056] break [18:02:16.056] } [18:02:16.056] } [18:02:16.056] } [18:02:16.056] invisible(muffled) [18:02:16.056] } [18:02:16.056] muffleCondition(cond, pattern = "^muffle") [18:02:16.056] } [18:02:16.056] } [18:02:16.056] } [18:02:16.056] })) [18:02:16.056] }, error = function(ex) { [18:02:16.056] base::structure(base::list(value = NULL, visible = NULL, [18:02:16.056] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:16.056] ...future.rng), started = ...future.startTime, [18:02:16.056] finished = Sys.time(), session_uuid = NA_character_, [18:02:16.056] version = "1.8"), class = "FutureResult") [18:02:16.056] }, finally = { [18:02:16.056] if (!identical(...future.workdir, getwd())) [18:02:16.056] setwd(...future.workdir) [18:02:16.056] { [18:02:16.056] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:16.056] ...future.oldOptions$nwarnings <- NULL [18:02:16.056] } [18:02:16.056] base::options(...future.oldOptions) [18:02:16.056] if (.Platform$OS.type == "windows") { [18:02:16.056] old_names <- names(...future.oldEnvVars) [18:02:16.056] envs <- base::Sys.getenv() [18:02:16.056] names <- names(envs) [18:02:16.056] common <- intersect(names, old_names) [18:02:16.056] added <- setdiff(names, old_names) [18:02:16.056] removed <- setdiff(old_names, names) [18:02:16.056] changed <- common[...future.oldEnvVars[common] != [18:02:16.056] envs[common]] [18:02:16.056] NAMES <- toupper(changed) [18:02:16.056] args <- list() [18:02:16.056] for (kk in seq_along(NAMES)) { [18:02:16.056] name <- changed[[kk]] [18:02:16.056] NAME <- NAMES[[kk]] [18:02:16.056] if (name != NAME && is.element(NAME, old_names)) [18:02:16.056] next [18:02:16.056] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:16.056] } [18:02:16.056] NAMES <- toupper(added) [18:02:16.056] for (kk in seq_along(NAMES)) { [18:02:16.056] name <- added[[kk]] [18:02:16.056] NAME <- NAMES[[kk]] [18:02:16.056] if (name != NAME && is.element(NAME, old_names)) [18:02:16.056] next [18:02:16.056] args[[name]] <- "" [18:02:16.056] } [18:02:16.056] NAMES <- toupper(removed) [18:02:16.056] for (kk in seq_along(NAMES)) { [18:02:16.056] name <- removed[[kk]] [18:02:16.056] NAME <- NAMES[[kk]] [18:02:16.056] if (name != NAME && is.element(NAME, old_names)) [18:02:16.056] next [18:02:16.056] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:16.056] } [18:02:16.056] if (length(args) > 0) [18:02:16.056] base::do.call(base::Sys.setenv, args = args) [18:02:16.056] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:16.056] } [18:02:16.056] else { [18:02:16.056] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:16.056] } [18:02:16.056] { [18:02:16.056] if (base::length(...future.futureOptionsAdded) > [18:02:16.056] 0L) { [18:02:16.056] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:16.056] base::names(opts) <- ...future.futureOptionsAdded [18:02:16.056] base::options(opts) [18:02:16.056] } [18:02:16.056] { [18:02:16.056] { [18:02:16.056] base::options(mc.cores = ...future.mc.cores.old) [18:02:16.056] NULL [18:02:16.056] } [18:02:16.056] options(future.plan = NULL) [18:02:16.056] if (is.na(NA_character_)) [18:02:16.056] Sys.unsetenv("R_FUTURE_PLAN") [18:02:16.056] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:16.056] future::plan(list(function (..., workers = 2L, [18:02:16.056] envir = parent.frame()) [18:02:16.056] strategy(..., workers = workers, envir = envir)), [18:02:16.056] .cleanup = FALSE, .init = FALSE) [18:02:16.056] } [18:02:16.056] } [18:02:16.056] } [18:02:16.056] }) [18:02:16.056] if (TRUE) { [18:02:16.056] base::sink(type = "output", split = FALSE) [18:02:16.056] if (TRUE) { [18:02:16.056] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:16.056] } [18:02:16.056] else { [18:02:16.056] ...future.result["stdout"] <- base::list(NULL) [18:02:16.056] } [18:02:16.056] base::close(...future.stdout) [18:02:16.056] ...future.stdout <- NULL [18:02:16.056] } [18:02:16.056] ...future.result$conditions <- ...future.conditions [18:02:16.056] ...future.result$finished <- base::Sys.time() [18:02:16.056] ...future.result [18:02:16.056] } [18:02:16.062] MultisessionFuture started [18:02:16.062] - Launch lazy future ... done [18:02:16.062] run() for 'MultisessionFuture' ... done > v <- value(f) [18:02:16.062] result() for ClusterFuture ... [18:02:16.062] receiveMessageFromWorker() for ClusterFuture ... [18:02:16.063] - Validating connection of MultisessionFuture [18:02:16.103] - received message: FutureResult [18:02:16.104] - Received FutureResult [18:02:16.104] - Erased future from FutureRegistry [18:02:16.104] result() for ClusterFuture ... [18:02:16.104] - result already collected: FutureResult [18:02:16.104] result() for ClusterFuture ... done [18:02:16.104] receiveMessageFromWorker() for ClusterFuture ... done [18:02:16.105] result() for ClusterFuture ... done [18:02:16.105] result() for ClusterFuture ... [18:02:16.105] - result already collected: FutureResult [18:02:16.105] result() for ClusterFuture ... done > print(v) used (Mb) gc trigger (Mb) max used (Mb) Ncells 396439 21.2 811998 43.4 644026 34.4 Vcells 701095 5.4 13454237 102.7 15776540 120.4 > > message("*** multisession(..., gc = TRUE) ... TRUE") *** multisession(..., gc = TRUE) ... TRUE > > > message("*** multisession(...) - stopping with plan() change ...") *** multisession(...) - stopping with plan() change ... > > plan(multisession, workers = 2L) [18:02:16.106] plan(): Setting new future strategy stack: [18:02:16.106] List of future strategies: [18:02:16.106] 1. multisession: [18:02:16.106] - args: function (..., workers = 2L, envir = parent.frame()) [18:02:16.106] - tweaked: TRUE [18:02:16.106] - call: plan(multisession, workers = 2L) [18:02:16.107] plan(): plan_init() of 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [18:02:16.107] multisession: [18:02:16.107] - args: function (..., workers = 2L, envir = parent.frame()) [18:02:16.107] - tweaked: TRUE [18:02:16.107] - call: plan(multisession, workers = 2L) [18:02:16.108] getGlobalsAndPackages() ... [18:02:16.108] Not searching for globals [18:02:16.108] - globals: [0] [18:02:16.109] getGlobalsAndPackages() ... DONE [18:02:16.109] [local output] makeClusterPSOCK() ... [18:02:16.109] [local output] Workers: [n = 2] 'localhost', 'localhost' [18:02:16.112] [local output] Base port: 23362 [18:02:16.113] [local output] Getting setup options for 2 cluster nodes ... [18:02:16.113] [local output] - Node 1 of 2 ... [18:02:16.113] [local output] localMachine=TRUE => revtunnel=FALSE [18:02:16.115] [local output] Rscript port: 23362 [18:02:16.115] [local output] - Node 2 of 2 ... [18:02:16.116] [local output] localMachine=TRUE => revtunnel=FALSE [18:02:16.117] [local output] Rscript port: 23362 [18:02:16.117] [local output] Getting setup options for 2 cluster nodes ... done [18:02:16.118] [local output] - Parallel setup requested for some PSOCK nodes [18:02:16.118] [local output] Setting up PSOCK nodes in parallel [18:02:16.118] List of 36 [18:02:16.118] $ worker : chr "localhost" [18:02:16.118] ..- attr(*, "localhost")= logi TRUE [18:02:16.118] $ master : chr "localhost" [18:02:16.118] $ port : int 23362 [18:02:16.118] $ connectTimeout : num 120 [18:02:16.118] $ timeout : num 120 [18:02:16.118] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [18:02:16.118] $ homogeneous : logi TRUE [18:02:16.118] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=multisession.R:33724:CRANWIN3:CR"| __truncated__ [18:02:16.118] $ rscript_envs : NULL [18:02:16.118] $ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:02:16.118] $ rscript_startup : NULL [18:02:16.118] $ rscript_sh : chr "cmd" [18:02:16.118] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:02:16.118] $ methods : logi TRUE [18:02:16.118] $ socketOptions : chr "no-delay" [18:02:16.118] $ useXDR : logi FALSE [18:02:16.118] $ outfile : chr "/dev/null" [18:02:16.118] $ renice : int NA [18:02:16.118] $ rshcmd : NULL [18:02:16.118] $ user : chr(0) [18:02:16.118] $ revtunnel : logi FALSE [18:02:16.118] $ rshlogfile : NULL [18:02:16.118] $ rshopts : chr(0) [18:02:16.118] $ rank : int 1 [18:02:16.118] $ manual : logi FALSE [18:02:16.118] $ dryrun : logi FALSE [18:02:16.118] $ quiet : logi FALSE [18:02:16.118] $ setup_strategy : chr "parallel" [18:02:16.118] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:02:16.118] $ pidfile : chr "D:/temp/RtmpyeX7Iz/worker.rank=1.parallelly.parent=33724.83bc41bc4a94.pid" [18:02:16.118] $ rshcmd_label : NULL [18:02:16.118] $ rsh_call : NULL [18:02:16.118] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:02:16.118] $ localMachine : logi TRUE [18:02:16.118] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [18:02:16.118] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [18:02:16.118] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [18:02:16.118] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [18:02:16.118] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [18:02:16.118] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [18:02:16.118] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [18:02:16.118] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [18:02:16.118] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [18:02:16.118] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [18:02:16.118] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [18:02:16.118] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [18:02:16.118] "parallel"), action = c("launch", "options"), verbose = FALSE) [18:02:16.118] $ arguments :List of 28 [18:02:16.118] ..$ worker : chr "localhost" [18:02:16.118] ..$ master : NULL [18:02:16.118] ..$ port : int 23362 [18:02:16.118] ..$ connectTimeout : num 120 [18:02:16.118] ..$ timeout : num 120 [18:02:16.118] ..$ rscript : NULL [18:02:16.118] ..$ homogeneous : NULL [18:02:16.118] ..$ rscript_args : NULL [18:02:16.118] ..$ rscript_envs : NULL [18:02:16.118] ..$ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:02:16.118] ..$ rscript_startup : NULL [18:02:16.118] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [18:02:16.118] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:02:16.118] ..$ methods : logi TRUE [18:02:16.118] ..$ socketOptions : chr "no-delay" [18:02:16.118] ..$ useXDR : logi FALSE [18:02:16.118] ..$ outfile : chr "/dev/null" [18:02:16.118] ..$ renice : int NA [18:02:16.118] ..$ rshcmd : NULL [18:02:16.118] ..$ user : NULL [18:02:16.118] ..$ revtunnel : logi NA [18:02:16.118] ..$ rshlogfile : NULL [18:02:16.118] ..$ rshopts : NULL [18:02:16.118] ..$ rank : int 1 [18:02:16.118] ..$ manual : logi FALSE [18:02:16.118] ..$ dryrun : logi FALSE [18:02:16.118] ..$ quiet : logi FALSE [18:02:16.118] ..$ setup_strategy : chr "parallel" [18:02:16.118] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [18:02:16.141] [local output] System call to launch all workers: [18:02:16.142] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=multisession.R:33724:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpyeX7Iz/worker.rank=1.parallelly.parent=33724.83bc41bc4a94.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=23362 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [18:02:16.142] [local output] Starting PSOCK main server [18:02:16.152] [local output] Workers launched [18:02:16.152] [local output] Waiting for workers to connect back [18:02:16.152] - [local output] 0 workers out of 2 ready [18:02:16.328] - [local output] 0 workers out of 2 ready [18:02:16.329] - [local output] 1 workers out of 2 ready [18:02:16.333] - [local output] 1 workers out of 2 ready [18:02:16.334] - [local output] 2 workers out of 2 ready [18:02:16.334] [local output] Launching of workers completed [18:02:16.334] [local output] Collecting session information from workers [18:02:16.335] [local output] - Worker #1 of 2 [18:02:16.335] [local output] - Worker #2 of 2 [18:02:16.336] [local output] makeClusterPSOCK() ... done [18:02:16.347] Packages needed by the future expression (n = 0): [18:02:16.348] Packages needed by future strategies (n = 0): [18:02:16.348] { [18:02:16.348] { [18:02:16.348] { [18:02:16.348] ...future.startTime <- base::Sys.time() [18:02:16.348] { [18:02:16.348] { [18:02:16.348] { [18:02:16.348] { [18:02:16.348] base::local({ [18:02:16.348] has_future <- base::requireNamespace("future", [18:02:16.348] quietly = TRUE) [18:02:16.348] if (has_future) { [18:02:16.348] ns <- base::getNamespace("future") [18:02:16.348] version <- ns[[".package"]][["version"]] [18:02:16.348] if (is.null(version)) [18:02:16.348] version <- utils::packageVersion("future") [18:02:16.348] } [18:02:16.348] else { [18:02:16.348] version <- NULL [18:02:16.348] } [18:02:16.348] if (!has_future || version < "1.8.0") { [18:02:16.348] info <- base::c(r_version = base::gsub("R version ", [18:02:16.348] "", base::R.version$version.string), [18:02:16.348] platform = base::sprintf("%s (%s-bit)", [18:02:16.348] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:16.348] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:16.348] "release", "version")], collapse = " "), [18:02:16.348] hostname = base::Sys.info()[["nodename"]]) [18:02:16.348] info <- base::sprintf("%s: %s", base::names(info), [18:02:16.348] info) [18:02:16.348] info <- base::paste(info, collapse = "; ") [18:02:16.348] if (!has_future) { [18:02:16.348] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:16.348] info) [18:02:16.348] } [18:02:16.348] else { [18:02:16.348] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:16.348] info, version) [18:02:16.348] } [18:02:16.348] base::stop(msg) [18:02:16.348] } [18:02:16.348] }) [18:02:16.348] } [18:02:16.348] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:16.348] base::options(mc.cores = 1L) [18:02:16.348] } [18:02:16.348] options(future.plan = NULL) [18:02:16.348] Sys.unsetenv("R_FUTURE_PLAN") [18:02:16.348] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:16.348] } [18:02:16.348] ...future.workdir <- getwd() [18:02:16.348] } [18:02:16.348] ...future.oldOptions <- base::as.list(base::.Options) [18:02:16.348] ...future.oldEnvVars <- base::Sys.getenv() [18:02:16.348] } [18:02:16.348] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:16.348] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:16.348] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:16.348] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:16.348] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:16.348] future.stdout.windows.reencode = NULL, width = 80L) [18:02:16.348] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:16.348] base::names(...future.oldOptions)) [18:02:16.348] } [18:02:16.348] if (FALSE) { [18:02:16.348] } [18:02:16.348] else { [18:02:16.348] if (TRUE) { [18:02:16.348] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:16.348] open = "w") [18:02:16.348] } [18:02:16.348] else { [18:02:16.348] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:16.348] windows = "NUL", "/dev/null"), open = "w") [18:02:16.348] } [18:02:16.348] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:16.348] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:16.348] base::sink(type = "output", split = FALSE) [18:02:16.348] base::close(...future.stdout) [18:02:16.348] }, add = TRUE) [18:02:16.348] } [18:02:16.348] ...future.frame <- base::sys.nframe() [18:02:16.348] ...future.conditions <- base::list() [18:02:16.348] ...future.rng <- base::globalenv()$.Random.seed [18:02:16.348] if (FALSE) { [18:02:16.348] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:16.348] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:16.348] } [18:02:16.348] ...future.result <- base::tryCatch({ [18:02:16.348] base::withCallingHandlers({ [18:02:16.348] ...future.value <- base::withVisible(base::local({ [18:02:16.348] ...future.makeSendCondition <- local({ [18:02:16.348] sendCondition <- NULL [18:02:16.348] function(frame = 1L) { [18:02:16.348] if (is.function(sendCondition)) [18:02:16.348] return(sendCondition) [18:02:16.348] ns <- getNamespace("parallel") [18:02:16.348] if (exists("sendData", mode = "function", [18:02:16.348] envir = ns)) { [18:02:16.348] parallel_sendData <- get("sendData", mode = "function", [18:02:16.348] envir = ns) [18:02:16.348] envir <- sys.frame(frame) [18:02:16.348] master <- NULL [18:02:16.348] while (!identical(envir, .GlobalEnv) && [18:02:16.348] !identical(envir, emptyenv())) { [18:02:16.348] if (exists("master", mode = "list", envir = envir, [18:02:16.348] inherits = FALSE)) { [18:02:16.348] master <- get("master", mode = "list", [18:02:16.348] envir = envir, inherits = FALSE) [18:02:16.348] if (inherits(master, c("SOCKnode", [18:02:16.348] "SOCK0node"))) { [18:02:16.348] sendCondition <<- function(cond) { [18:02:16.348] data <- list(type = "VALUE", value = cond, [18:02:16.348] success = TRUE) [18:02:16.348] parallel_sendData(master, data) [18:02:16.348] } [18:02:16.348] return(sendCondition) [18:02:16.348] } [18:02:16.348] } [18:02:16.348] frame <- frame + 1L [18:02:16.348] envir <- sys.frame(frame) [18:02:16.348] } [18:02:16.348] } [18:02:16.348] sendCondition <<- function(cond) NULL [18:02:16.348] } [18:02:16.348] }) [18:02:16.348] withCallingHandlers({ [18:02:16.348] NA [18:02:16.348] }, immediateCondition = function(cond) { [18:02:16.348] sendCondition <- ...future.makeSendCondition() [18:02:16.348] sendCondition(cond) [18:02:16.348] muffleCondition <- function (cond, pattern = "^muffle") [18:02:16.348] { [18:02:16.348] inherits <- base::inherits [18:02:16.348] invokeRestart <- base::invokeRestart [18:02:16.348] is.null <- base::is.null [18:02:16.348] muffled <- FALSE [18:02:16.348] if (inherits(cond, "message")) { [18:02:16.348] muffled <- grepl(pattern, "muffleMessage") [18:02:16.348] if (muffled) [18:02:16.348] invokeRestart("muffleMessage") [18:02:16.348] } [18:02:16.348] else if (inherits(cond, "warning")) { [18:02:16.348] muffled <- grepl(pattern, "muffleWarning") [18:02:16.348] if (muffled) [18:02:16.348] invokeRestart("muffleWarning") [18:02:16.348] } [18:02:16.348] else if (inherits(cond, "condition")) { [18:02:16.348] if (!is.null(pattern)) { [18:02:16.348] computeRestarts <- base::computeRestarts [18:02:16.348] grepl <- base::grepl [18:02:16.348] restarts <- computeRestarts(cond) [18:02:16.348] for (restart in restarts) { [18:02:16.348] name <- restart$name [18:02:16.348] if (is.null(name)) [18:02:16.348] next [18:02:16.348] if (!grepl(pattern, name)) [18:02:16.348] next [18:02:16.348] invokeRestart(restart) [18:02:16.348] muffled <- TRUE [18:02:16.348] break [18:02:16.348] } [18:02:16.348] } [18:02:16.348] } [18:02:16.348] invisible(muffled) [18:02:16.348] } [18:02:16.348] muffleCondition(cond) [18:02:16.348] }) [18:02:16.348] })) [18:02:16.348] future::FutureResult(value = ...future.value$value, [18:02:16.348] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:16.348] ...future.rng), globalenv = if (FALSE) [18:02:16.348] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:16.348] ...future.globalenv.names)) [18:02:16.348] else NULL, started = ...future.startTime, version = "1.8") [18:02:16.348] }, condition = base::local({ [18:02:16.348] c <- base::c [18:02:16.348] inherits <- base::inherits [18:02:16.348] invokeRestart <- base::invokeRestart [18:02:16.348] length <- base::length [18:02:16.348] list <- base::list [18:02:16.348] seq.int <- base::seq.int [18:02:16.348] signalCondition <- base::signalCondition [18:02:16.348] sys.calls <- base::sys.calls [18:02:16.348] `[[` <- base::`[[` [18:02:16.348] `+` <- base::`+` [18:02:16.348] `<<-` <- base::`<<-` [18:02:16.348] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:16.348] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:16.348] 3L)] [18:02:16.348] } [18:02:16.348] function(cond) { [18:02:16.348] is_error <- inherits(cond, "error") [18:02:16.348] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:16.348] NULL) [18:02:16.348] if (is_error) { [18:02:16.348] sessionInformation <- function() { [18:02:16.348] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:16.348] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:16.348] search = base::search(), system = base::Sys.info()) [18:02:16.348] } [18:02:16.348] ...future.conditions[[length(...future.conditions) + [18:02:16.348] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:16.348] cond$call), session = sessionInformation(), [18:02:16.348] timestamp = base::Sys.time(), signaled = 0L) [18:02:16.348] signalCondition(cond) [18:02:16.348] } [18:02:16.348] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:16.348] "immediateCondition"))) { [18:02:16.348] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:16.348] ...future.conditions[[length(...future.conditions) + [18:02:16.348] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:16.348] if (TRUE && !signal) { [18:02:16.348] muffleCondition <- function (cond, pattern = "^muffle") [18:02:16.348] { [18:02:16.348] inherits <- base::inherits [18:02:16.348] invokeRestart <- base::invokeRestart [18:02:16.348] is.null <- base::is.null [18:02:16.348] muffled <- FALSE [18:02:16.348] if (inherits(cond, "message")) { [18:02:16.348] muffled <- grepl(pattern, "muffleMessage") [18:02:16.348] if (muffled) [18:02:16.348] invokeRestart("muffleMessage") [18:02:16.348] } [18:02:16.348] else if (inherits(cond, "warning")) { [18:02:16.348] muffled <- grepl(pattern, "muffleWarning") [18:02:16.348] if (muffled) [18:02:16.348] invokeRestart("muffleWarning") [18:02:16.348] } [18:02:16.348] else if (inherits(cond, "condition")) { [18:02:16.348] if (!is.null(pattern)) { [18:02:16.348] computeRestarts <- base::computeRestarts [18:02:16.348] grepl <- base::grepl [18:02:16.348] restarts <- computeRestarts(cond) [18:02:16.348] for (restart in restarts) { [18:02:16.348] name <- restart$name [18:02:16.348] if (is.null(name)) [18:02:16.348] next [18:02:16.348] if (!grepl(pattern, name)) [18:02:16.348] next [18:02:16.348] invokeRestart(restart) [18:02:16.348] muffled <- TRUE [18:02:16.348] break [18:02:16.348] } [18:02:16.348] } [18:02:16.348] } [18:02:16.348] invisible(muffled) [18:02:16.348] } [18:02:16.348] muffleCondition(cond, pattern = "^muffle") [18:02:16.348] } [18:02:16.348] } [18:02:16.348] else { [18:02:16.348] if (TRUE) { [18:02:16.348] muffleCondition <- function (cond, pattern = "^muffle") [18:02:16.348] { [18:02:16.348] inherits <- base::inherits [18:02:16.348] invokeRestart <- base::invokeRestart [18:02:16.348] is.null <- base::is.null [18:02:16.348] muffled <- FALSE [18:02:16.348] if (inherits(cond, "message")) { [18:02:16.348] muffled <- grepl(pattern, "muffleMessage") [18:02:16.348] if (muffled) [18:02:16.348] invokeRestart("muffleMessage") [18:02:16.348] } [18:02:16.348] else if (inherits(cond, "warning")) { [18:02:16.348] muffled <- grepl(pattern, "muffleWarning") [18:02:16.348] if (muffled) [18:02:16.348] invokeRestart("muffleWarning") [18:02:16.348] } [18:02:16.348] else if (inherits(cond, "condition")) { [18:02:16.348] if (!is.null(pattern)) { [18:02:16.348] computeRestarts <- base::computeRestarts [18:02:16.348] grepl <- base::grepl [18:02:16.348] restarts <- computeRestarts(cond) [18:02:16.348] for (restart in restarts) { [18:02:16.348] name <- restart$name [18:02:16.348] if (is.null(name)) [18:02:16.348] next [18:02:16.348] if (!grepl(pattern, name)) [18:02:16.348] next [18:02:16.348] invokeRestart(restart) [18:02:16.348] muffled <- TRUE [18:02:16.348] break [18:02:16.348] } [18:02:16.348] } [18:02:16.348] } [18:02:16.348] invisible(muffled) [18:02:16.348] } [18:02:16.348] muffleCondition(cond, pattern = "^muffle") [18:02:16.348] } [18:02:16.348] } [18:02:16.348] } [18:02:16.348] })) [18:02:16.348] }, error = function(ex) { [18:02:16.348] base::structure(base::list(value = NULL, visible = NULL, [18:02:16.348] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:16.348] ...future.rng), started = ...future.startTime, [18:02:16.348] finished = Sys.time(), session_uuid = NA_character_, [18:02:16.348] version = "1.8"), class = "FutureResult") [18:02:16.348] }, finally = { [18:02:16.348] if (!identical(...future.workdir, getwd())) [18:02:16.348] setwd(...future.workdir) [18:02:16.348] { [18:02:16.348] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:16.348] ...future.oldOptions$nwarnings <- NULL [18:02:16.348] } [18:02:16.348] base::options(...future.oldOptions) [18:02:16.348] if (.Platform$OS.type == "windows") { [18:02:16.348] old_names <- names(...future.oldEnvVars) [18:02:16.348] envs <- base::Sys.getenv() [18:02:16.348] names <- names(envs) [18:02:16.348] common <- intersect(names, old_names) [18:02:16.348] added <- setdiff(names, old_names) [18:02:16.348] removed <- setdiff(old_names, names) [18:02:16.348] changed <- common[...future.oldEnvVars[common] != [18:02:16.348] envs[common]] [18:02:16.348] NAMES <- toupper(changed) [18:02:16.348] args <- list() [18:02:16.348] for (kk in seq_along(NAMES)) { [18:02:16.348] name <- changed[[kk]] [18:02:16.348] NAME <- NAMES[[kk]] [18:02:16.348] if (name != NAME && is.element(NAME, old_names)) [18:02:16.348] next [18:02:16.348] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:16.348] } [18:02:16.348] NAMES <- toupper(added) [18:02:16.348] for (kk in seq_along(NAMES)) { [18:02:16.348] name <- added[[kk]] [18:02:16.348] NAME <- NAMES[[kk]] [18:02:16.348] if (name != NAME && is.element(NAME, old_names)) [18:02:16.348] next [18:02:16.348] args[[name]] <- "" [18:02:16.348] } [18:02:16.348] NAMES <- toupper(removed) [18:02:16.348] for (kk in seq_along(NAMES)) { [18:02:16.348] name <- removed[[kk]] [18:02:16.348] NAME <- NAMES[[kk]] [18:02:16.348] if (name != NAME && is.element(NAME, old_names)) [18:02:16.348] next [18:02:16.348] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:16.348] } [18:02:16.348] if (length(args) > 0) [18:02:16.348] base::do.call(base::Sys.setenv, args = args) [18:02:16.348] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:16.348] } [18:02:16.348] else { [18:02:16.348] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:16.348] } [18:02:16.348] { [18:02:16.348] if (base::length(...future.futureOptionsAdded) > [18:02:16.348] 0L) { [18:02:16.348] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:16.348] base::names(opts) <- ...future.futureOptionsAdded [18:02:16.348] base::options(opts) [18:02:16.348] } [18:02:16.348] { [18:02:16.348] { [18:02:16.348] base::options(mc.cores = ...future.mc.cores.old) [18:02:16.348] NULL [18:02:16.348] } [18:02:16.348] options(future.plan = NULL) [18:02:16.348] if (is.na(NA_character_)) [18:02:16.348] Sys.unsetenv("R_FUTURE_PLAN") [18:02:16.348] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:16.348] future::plan(list(function (..., workers = 2L, [18:02:16.348] envir = parent.frame()) [18:02:16.348] strategy(..., workers = workers, envir = envir)), [18:02:16.348] .cleanup = FALSE, .init = FALSE) [18:02:16.348] } [18:02:16.348] } [18:02:16.348] } [18:02:16.348] }) [18:02:16.348] if (TRUE) { [18:02:16.348] base::sink(type = "output", split = FALSE) [18:02:16.348] if (TRUE) { [18:02:16.348] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:16.348] } [18:02:16.348] else { [18:02:16.348] ...future.result["stdout"] <- base::list(NULL) [18:02:16.348] } [18:02:16.348] base::close(...future.stdout) [18:02:16.348] ...future.stdout <- NULL [18:02:16.348] } [18:02:16.348] ...future.result$conditions <- ...future.conditions [18:02:16.348] ...future.result$finished <- base::Sys.time() [18:02:16.348] ...future.result [18:02:16.348] } [18:02:16.432] MultisessionFuture started [18:02:16.433] result() for ClusterFuture ... [18:02:16.433] receiveMessageFromWorker() for ClusterFuture ... [18:02:16.433] - Validating connection of MultisessionFuture [18:02:16.487] - received message: FutureResult [18:02:16.487] - Received FutureResult [18:02:16.487] - Erased future from FutureRegistry [18:02:16.487] result() for ClusterFuture ... [18:02:16.487] - result already collected: FutureResult [18:02:16.488] result() for ClusterFuture ... done [18:02:16.488] receiveMessageFromWorker() for ClusterFuture ... done [18:02:16.488] result() for ClusterFuture ... done [18:02:16.488] result() for ClusterFuture ... [18:02:16.488] - result already collected: FutureResult [18:02:16.488] result() for ClusterFuture ... done [18:02:16.489] plan(): plan_init() of 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [18:02:16.489] plan(): nbrOfWorkers() = 2 > f <- future(1L) [18:02:16.489] getGlobalsAndPackages() ... [18:02:16.489] Searching for globals... [18:02:16.490] [18:02:16.490] Searching for globals ... DONE [18:02:16.490] - globals: [0] [18:02:16.490] getGlobalsAndPackages() ... DONE [18:02:16.491] run() for 'Future' ... [18:02:16.491] - state: 'created' [18:02:16.491] - Future backend: 'FutureStrategy', 'tweaked', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:16.503] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:16.503] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:16.504] - Field: 'node' [18:02:16.504] - Field: 'label' [18:02:16.504] - Field: 'local' [18:02:16.504] - Field: 'owner' [18:02:16.504] - Field: 'envir' [18:02:16.505] - Field: 'workers' [18:02:16.505] - Field: 'packages' [18:02:16.505] - Field: 'gc' [18:02:16.505] - Field: 'conditions' [18:02:16.505] - Field: 'persistent' [18:02:16.506] - Field: 'expr' [18:02:16.506] - Field: 'uuid' [18:02:16.506] - Field: 'seed' [18:02:16.506] - Field: 'version' [18:02:16.506] - Field: 'result' [18:02:16.506] - Field: 'asynchronous' [18:02:16.507] - Field: 'calls' [18:02:16.507] - Field: 'globals' [18:02:16.507] - Field: 'stdout' [18:02:16.507] - Field: 'earlySignal' [18:02:16.507] - Field: 'lazy' [18:02:16.508] - Field: 'state' [18:02:16.508] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:16.508] - Launch lazy future ... [18:02:16.508] Packages needed by the future expression (n = 0): [18:02:16.509] Packages needed by future strategies (n = 0): [18:02:16.509] { [18:02:16.509] { [18:02:16.509] { [18:02:16.509] ...future.startTime <- base::Sys.time() [18:02:16.509] { [18:02:16.509] { [18:02:16.509] { [18:02:16.509] { [18:02:16.509] base::local({ [18:02:16.509] has_future <- base::requireNamespace("future", [18:02:16.509] quietly = TRUE) [18:02:16.509] if (has_future) { [18:02:16.509] ns <- base::getNamespace("future") [18:02:16.509] version <- ns[[".package"]][["version"]] [18:02:16.509] if (is.null(version)) [18:02:16.509] version <- utils::packageVersion("future") [18:02:16.509] } [18:02:16.509] else { [18:02:16.509] version <- NULL [18:02:16.509] } [18:02:16.509] if (!has_future || version < "1.8.0") { [18:02:16.509] info <- base::c(r_version = base::gsub("R version ", [18:02:16.509] "", base::R.version$version.string), [18:02:16.509] platform = base::sprintf("%s (%s-bit)", [18:02:16.509] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:16.509] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:16.509] "release", "version")], collapse = " "), [18:02:16.509] hostname = base::Sys.info()[["nodename"]]) [18:02:16.509] info <- base::sprintf("%s: %s", base::names(info), [18:02:16.509] info) [18:02:16.509] info <- base::paste(info, collapse = "; ") [18:02:16.509] if (!has_future) { [18:02:16.509] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:16.509] info) [18:02:16.509] } [18:02:16.509] else { [18:02:16.509] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:16.509] info, version) [18:02:16.509] } [18:02:16.509] base::stop(msg) [18:02:16.509] } [18:02:16.509] }) [18:02:16.509] } [18:02:16.509] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:16.509] base::options(mc.cores = 1L) [18:02:16.509] } [18:02:16.509] options(future.plan = NULL) [18:02:16.509] Sys.unsetenv("R_FUTURE_PLAN") [18:02:16.509] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:16.509] } [18:02:16.509] ...future.workdir <- getwd() [18:02:16.509] } [18:02:16.509] ...future.oldOptions <- base::as.list(base::.Options) [18:02:16.509] ...future.oldEnvVars <- base::Sys.getenv() [18:02:16.509] } [18:02:16.509] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:16.509] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:16.509] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:16.509] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:16.509] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:16.509] future.stdout.windows.reencode = NULL, width = 80L) [18:02:16.509] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:16.509] base::names(...future.oldOptions)) [18:02:16.509] } [18:02:16.509] if (FALSE) { [18:02:16.509] } [18:02:16.509] else { [18:02:16.509] if (TRUE) { [18:02:16.509] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:16.509] open = "w") [18:02:16.509] } [18:02:16.509] else { [18:02:16.509] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:16.509] windows = "NUL", "/dev/null"), open = "w") [18:02:16.509] } [18:02:16.509] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:16.509] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:16.509] base::sink(type = "output", split = FALSE) [18:02:16.509] base::close(...future.stdout) [18:02:16.509] }, add = TRUE) [18:02:16.509] } [18:02:16.509] ...future.frame <- base::sys.nframe() [18:02:16.509] ...future.conditions <- base::list() [18:02:16.509] ...future.rng <- base::globalenv()$.Random.seed [18:02:16.509] if (FALSE) { [18:02:16.509] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:16.509] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:16.509] } [18:02:16.509] ...future.result <- base::tryCatch({ [18:02:16.509] base::withCallingHandlers({ [18:02:16.509] ...future.value <- base::withVisible(base::local({ [18:02:16.509] ...future.makeSendCondition <- local({ [18:02:16.509] sendCondition <- NULL [18:02:16.509] function(frame = 1L) { [18:02:16.509] if (is.function(sendCondition)) [18:02:16.509] return(sendCondition) [18:02:16.509] ns <- getNamespace("parallel") [18:02:16.509] if (exists("sendData", mode = "function", [18:02:16.509] envir = ns)) { [18:02:16.509] parallel_sendData <- get("sendData", mode = "function", [18:02:16.509] envir = ns) [18:02:16.509] envir <- sys.frame(frame) [18:02:16.509] master <- NULL [18:02:16.509] while (!identical(envir, .GlobalEnv) && [18:02:16.509] !identical(envir, emptyenv())) { [18:02:16.509] if (exists("master", mode = "list", envir = envir, [18:02:16.509] inherits = FALSE)) { [18:02:16.509] master <- get("master", mode = "list", [18:02:16.509] envir = envir, inherits = FALSE) [18:02:16.509] if (inherits(master, c("SOCKnode", [18:02:16.509] "SOCK0node"))) { [18:02:16.509] sendCondition <<- function(cond) { [18:02:16.509] data <- list(type = "VALUE", value = cond, [18:02:16.509] success = TRUE) [18:02:16.509] parallel_sendData(master, data) [18:02:16.509] } [18:02:16.509] return(sendCondition) [18:02:16.509] } [18:02:16.509] } [18:02:16.509] frame <- frame + 1L [18:02:16.509] envir <- sys.frame(frame) [18:02:16.509] } [18:02:16.509] } [18:02:16.509] sendCondition <<- function(cond) NULL [18:02:16.509] } [18:02:16.509] }) [18:02:16.509] withCallingHandlers({ [18:02:16.509] 1L [18:02:16.509] }, immediateCondition = function(cond) { [18:02:16.509] sendCondition <- ...future.makeSendCondition() [18:02:16.509] sendCondition(cond) [18:02:16.509] muffleCondition <- function (cond, pattern = "^muffle") [18:02:16.509] { [18:02:16.509] inherits <- base::inherits [18:02:16.509] invokeRestart <- base::invokeRestart [18:02:16.509] is.null <- base::is.null [18:02:16.509] muffled <- FALSE [18:02:16.509] if (inherits(cond, "message")) { [18:02:16.509] muffled <- grepl(pattern, "muffleMessage") [18:02:16.509] if (muffled) [18:02:16.509] invokeRestart("muffleMessage") [18:02:16.509] } [18:02:16.509] else if (inherits(cond, "warning")) { [18:02:16.509] muffled <- grepl(pattern, "muffleWarning") [18:02:16.509] if (muffled) [18:02:16.509] invokeRestart("muffleWarning") [18:02:16.509] } [18:02:16.509] else if (inherits(cond, "condition")) { [18:02:16.509] if (!is.null(pattern)) { [18:02:16.509] computeRestarts <- base::computeRestarts [18:02:16.509] grepl <- base::grepl [18:02:16.509] restarts <- computeRestarts(cond) [18:02:16.509] for (restart in restarts) { [18:02:16.509] name <- restart$name [18:02:16.509] if (is.null(name)) [18:02:16.509] next [18:02:16.509] if (!grepl(pattern, name)) [18:02:16.509] next [18:02:16.509] invokeRestart(restart) [18:02:16.509] muffled <- TRUE [18:02:16.509] break [18:02:16.509] } [18:02:16.509] } [18:02:16.509] } [18:02:16.509] invisible(muffled) [18:02:16.509] } [18:02:16.509] muffleCondition(cond) [18:02:16.509] }) [18:02:16.509] })) [18:02:16.509] future::FutureResult(value = ...future.value$value, [18:02:16.509] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:16.509] ...future.rng), globalenv = if (FALSE) [18:02:16.509] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:16.509] ...future.globalenv.names)) [18:02:16.509] else NULL, started = ...future.startTime, version = "1.8") [18:02:16.509] }, condition = base::local({ [18:02:16.509] c <- base::c [18:02:16.509] inherits <- base::inherits [18:02:16.509] invokeRestart <- base::invokeRestart [18:02:16.509] length <- base::length [18:02:16.509] list <- base::list [18:02:16.509] seq.int <- base::seq.int [18:02:16.509] signalCondition <- base::signalCondition [18:02:16.509] sys.calls <- base::sys.calls [18:02:16.509] `[[` <- base::`[[` [18:02:16.509] `+` <- base::`+` [18:02:16.509] `<<-` <- base::`<<-` [18:02:16.509] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:16.509] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:16.509] 3L)] [18:02:16.509] } [18:02:16.509] function(cond) { [18:02:16.509] is_error <- inherits(cond, "error") [18:02:16.509] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:16.509] NULL) [18:02:16.509] if (is_error) { [18:02:16.509] sessionInformation <- function() { [18:02:16.509] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:16.509] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:16.509] search = base::search(), system = base::Sys.info()) [18:02:16.509] } [18:02:16.509] ...future.conditions[[length(...future.conditions) + [18:02:16.509] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:16.509] cond$call), session = sessionInformation(), [18:02:16.509] timestamp = base::Sys.time(), signaled = 0L) [18:02:16.509] signalCondition(cond) [18:02:16.509] } [18:02:16.509] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:16.509] "immediateCondition"))) { [18:02:16.509] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:16.509] ...future.conditions[[length(...future.conditions) + [18:02:16.509] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:16.509] if (TRUE && !signal) { [18:02:16.509] muffleCondition <- function (cond, pattern = "^muffle") [18:02:16.509] { [18:02:16.509] inherits <- base::inherits [18:02:16.509] invokeRestart <- base::invokeRestart [18:02:16.509] is.null <- base::is.null [18:02:16.509] muffled <- FALSE [18:02:16.509] if (inherits(cond, "message")) { [18:02:16.509] muffled <- grepl(pattern, "muffleMessage") [18:02:16.509] if (muffled) [18:02:16.509] invokeRestart("muffleMessage") [18:02:16.509] } [18:02:16.509] else if (inherits(cond, "warning")) { [18:02:16.509] muffled <- grepl(pattern, "muffleWarning") [18:02:16.509] if (muffled) [18:02:16.509] invokeRestart("muffleWarning") [18:02:16.509] } [18:02:16.509] else if (inherits(cond, "condition")) { [18:02:16.509] if (!is.null(pattern)) { [18:02:16.509] computeRestarts <- base::computeRestarts [18:02:16.509] grepl <- base::grepl [18:02:16.509] restarts <- computeRestarts(cond) [18:02:16.509] for (restart in restarts) { [18:02:16.509] name <- restart$name [18:02:16.509] if (is.null(name)) [18:02:16.509] next [18:02:16.509] if (!grepl(pattern, name)) [18:02:16.509] next [18:02:16.509] invokeRestart(restart) [18:02:16.509] muffled <- TRUE [18:02:16.509] break [18:02:16.509] } [18:02:16.509] } [18:02:16.509] } [18:02:16.509] invisible(muffled) [18:02:16.509] } [18:02:16.509] muffleCondition(cond, pattern = "^muffle") [18:02:16.509] } [18:02:16.509] } [18:02:16.509] else { [18:02:16.509] if (TRUE) { [18:02:16.509] muffleCondition <- function (cond, pattern = "^muffle") [18:02:16.509] { [18:02:16.509] inherits <- base::inherits [18:02:16.509] invokeRestart <- base::invokeRestart [18:02:16.509] is.null <- base::is.null [18:02:16.509] muffled <- FALSE [18:02:16.509] if (inherits(cond, "message")) { [18:02:16.509] muffled <- grepl(pattern, "muffleMessage") [18:02:16.509] if (muffled) [18:02:16.509] invokeRestart("muffleMessage") [18:02:16.509] } [18:02:16.509] else if (inherits(cond, "warning")) { [18:02:16.509] muffled <- grepl(pattern, "muffleWarning") [18:02:16.509] if (muffled) [18:02:16.509] invokeRestart("muffleWarning") [18:02:16.509] } [18:02:16.509] else if (inherits(cond, "condition")) { [18:02:16.509] if (!is.null(pattern)) { [18:02:16.509] computeRestarts <- base::computeRestarts [18:02:16.509] grepl <- base::grepl [18:02:16.509] restarts <- computeRestarts(cond) [18:02:16.509] for (restart in restarts) { [18:02:16.509] name <- restart$name [18:02:16.509] if (is.null(name)) [18:02:16.509] next [18:02:16.509] if (!grepl(pattern, name)) [18:02:16.509] next [18:02:16.509] invokeRestart(restart) [18:02:16.509] muffled <- TRUE [18:02:16.509] break [18:02:16.509] } [18:02:16.509] } [18:02:16.509] } [18:02:16.509] invisible(muffled) [18:02:16.509] } [18:02:16.509] muffleCondition(cond, pattern = "^muffle") [18:02:16.509] } [18:02:16.509] } [18:02:16.509] } [18:02:16.509] })) [18:02:16.509] }, error = function(ex) { [18:02:16.509] base::structure(base::list(value = NULL, visible = NULL, [18:02:16.509] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:16.509] ...future.rng), started = ...future.startTime, [18:02:16.509] finished = Sys.time(), session_uuid = NA_character_, [18:02:16.509] version = "1.8"), class = "FutureResult") [18:02:16.509] }, finally = { [18:02:16.509] if (!identical(...future.workdir, getwd())) [18:02:16.509] setwd(...future.workdir) [18:02:16.509] { [18:02:16.509] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:16.509] ...future.oldOptions$nwarnings <- NULL [18:02:16.509] } [18:02:16.509] base::options(...future.oldOptions) [18:02:16.509] if (.Platform$OS.type == "windows") { [18:02:16.509] old_names <- names(...future.oldEnvVars) [18:02:16.509] envs <- base::Sys.getenv() [18:02:16.509] names <- names(envs) [18:02:16.509] common <- intersect(names, old_names) [18:02:16.509] added <- setdiff(names, old_names) [18:02:16.509] removed <- setdiff(old_names, names) [18:02:16.509] changed <- common[...future.oldEnvVars[common] != [18:02:16.509] envs[common]] [18:02:16.509] NAMES <- toupper(changed) [18:02:16.509] args <- list() [18:02:16.509] for (kk in seq_along(NAMES)) { [18:02:16.509] name <- changed[[kk]] [18:02:16.509] NAME <- NAMES[[kk]] [18:02:16.509] if (name != NAME && is.element(NAME, old_names)) [18:02:16.509] next [18:02:16.509] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:16.509] } [18:02:16.509] NAMES <- toupper(added) [18:02:16.509] for (kk in seq_along(NAMES)) { [18:02:16.509] name <- added[[kk]] [18:02:16.509] NAME <- NAMES[[kk]] [18:02:16.509] if (name != NAME && is.element(NAME, old_names)) [18:02:16.509] next [18:02:16.509] args[[name]] <- "" [18:02:16.509] } [18:02:16.509] NAMES <- toupper(removed) [18:02:16.509] for (kk in seq_along(NAMES)) { [18:02:16.509] name <- removed[[kk]] [18:02:16.509] NAME <- NAMES[[kk]] [18:02:16.509] if (name != NAME && is.element(NAME, old_names)) [18:02:16.509] next [18:02:16.509] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:16.509] } [18:02:16.509] if (length(args) > 0) [18:02:16.509] base::do.call(base::Sys.setenv, args = args) [18:02:16.509] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:16.509] } [18:02:16.509] else { [18:02:16.509] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:16.509] } [18:02:16.509] { [18:02:16.509] if (base::length(...future.futureOptionsAdded) > [18:02:16.509] 0L) { [18:02:16.509] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:16.509] base::names(opts) <- ...future.futureOptionsAdded [18:02:16.509] base::options(opts) [18:02:16.509] } [18:02:16.509] { [18:02:16.509] { [18:02:16.509] base::options(mc.cores = ...future.mc.cores.old) [18:02:16.509] NULL [18:02:16.509] } [18:02:16.509] options(future.plan = NULL) [18:02:16.509] if (is.na(NA_character_)) [18:02:16.509] Sys.unsetenv("R_FUTURE_PLAN") [18:02:16.509] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:16.509] future::plan(list(function (..., workers = 2L, [18:02:16.509] envir = parent.frame()) [18:02:16.509] strategy(..., workers = workers, envir = envir)), [18:02:16.509] .cleanup = FALSE, .init = FALSE) [18:02:16.509] } [18:02:16.509] } [18:02:16.509] } [18:02:16.509] }) [18:02:16.509] if (TRUE) { [18:02:16.509] base::sink(type = "output", split = FALSE) [18:02:16.509] if (TRUE) { [18:02:16.509] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:16.509] } [18:02:16.509] else { [18:02:16.509] ...future.result["stdout"] <- base::list(NULL) [18:02:16.509] } [18:02:16.509] base::close(...future.stdout) [18:02:16.509] ...future.stdout <- NULL [18:02:16.509] } [18:02:16.509] ...future.result$conditions <- ...future.conditions [18:02:16.509] ...future.result$finished <- base::Sys.time() [18:02:16.509] ...future.result [18:02:16.509] } [18:02:16.515] MultisessionFuture started [18:02:16.515] - Launch lazy future ... done [18:02:16.515] run() for 'MultisessionFuture' ... done > cl <- ClusterRegistry("get") > stopifnot(inherits(cl, "cluster"), length(cl) >= 1L) > > plan(sequential) [18:02:16.516] plan(): Setting new future strategy stack: [18:02:16.516] List of future strategies: [18:02:16.516] 1. sequential: [18:02:16.516] - args: function (..., envir = parent.frame()) [18:02:16.516] - tweaked: FALSE [18:02:16.516] - call: plan(sequential) [18:02:16.517] 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") [18:02:16.518] plan(): Setting new future strategy stack: [18:02:16.518] List of future strategies: [18:02:16.518] 1. FutureStrategy: [18:02:16.518] - args: function (..., envir = parent.frame()) [18:02:16.518] - tweaked: FALSE [18:02:16.518] - call: future::plan(oplan) [18:02:16.519] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=201] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CYGWIN', 'CommonProgramFiles(x86)', 'CommonProgramW6432', 'DriverData', 'HOME', 'HOMEDRIVE', 'HOMEPATH', 'JAGS_ROOT', 'JAVA_HOME', 'LANGUAGE', 'LC_COLLATE', 'LC_MONETARY', 'LC_TIME', 'LOCALAPPDATA', 'LOGONSERVER', 'LS_HOME', 'LS_LICENSE_PATH', 'MAKE', 'MAKEFLAGS', 'MAKELEVEL', 'MFLAGS', 'MSMPI_BENCHMARKS', 'MSMPI_BIN', 'MSYS2_ENV_CONV_EXCL', 'NUMBER_OF_PROCESSORS', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RETICULATE_AUTOCONFIGURE', 'RTOOLS43_HOME', 'R_ARCH', 'R_BROWSER', 'R_BZIPCMD', 'R_CMD', 'R_COMPILED_BY', 'R_CRAN_WEB', 'R_CUSTOM_TOOLS_PATH', 'R_CUSTOM_TOOLS_SOFT', 'R_DOC_DIR', 'R_ENVIRON_USER', 'R_GSCMD', 'R_GZIPCMD', 'R_HOME', 'R_INCLUDE_DIR', 'R_INSTALL_TAR', 'R_LIBS', 'R_LIBS_SITE', 'R_LIBS_USER', 'R_MAX_NUM_DLLS', 'R_OSTYPE', 'R_PAPERSIZE', 'R_PAPERSIZE_USER', 'R_PARALLELLY_MAKENODEPSOCK_AUTOKILL', 'R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT', 'R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL', 'R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS', 'R_PARALLELLY_MAKENODEPSOCK_TIMEOUT', 'R_PARALLELLY_RANDOM_PORTS', 'R_PARALLEL_PORT', 'R_RD4PDF', 'R_RTOOLS43_PATH', 'R_SCRIPT_LEGACY', 'R_SHARE_DIR', 'R_TESTS', 'R_UNZIPCMD', 'R_USER', 'R_VERSION', 'R_ZIPCMD', 'SED', 'SHLVL', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TAR', 'TAR_OPTIONS', 'TEMP', 'TERM', 'TEXINPUTS', 'TMP', 'TMPDIR', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'WINDIR', '_', '_R_CHECK_AUTOCONF_', '_R_CHECK_BOGUS_RETURN_', '_R_CHECK_BROWSER_NONINTERACTIVE_', '_R_CHECK_BUILD_VIGNETTES_SEPARATELY_', '_R_CHECK_CODETOOLS_PROFILE_', '_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_', '_R_CHECK_CODE_ATTACH_', '_R_CHECK_CODE_CLASS_IS_STRING_', '_R_CHECK_CODE_DATA_INTO_GLOBALENV_', '_R_CHECK_CODE_USAGE_VIA_NAMESPACES_', '_R_CHECK_CODE_USAGE_WITHOUT_LOADING_', '_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_', '_R_CHECK_CODOC_VARIABLES_IN_USAGES_', '_R_CHECK_COMPACT_DATA2_', '_R_CHECK_COMPILATION_FLAGS_', '_R_CHECK_CONNECTIONS_LEFT_OPEN_', '_R_CHECK_CRAN_INCOMING_', '_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_', '_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_', '_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_', '_R_CHECK_CRAN_INCOMING_REMOTE_', '_R_CHECK_CRAN_INCOMING_USE_ASPELL_', '_R_CHECK_DATALIST_', '_R_CHECK_DEPRECATED_DEFUNCT_', '_R_CHECK_DOC_SIZES2_', '_R_CHECK_DOT_FIRSTLIB_', '_R_CHECK_DOT_INTERNAL_', '_R_CHECK_EXAMPLE_TIMING_THRESHOLD_', '_R_CHECK_EXECUTABLES_', '_R_CHECK_EXECUTABLES_EXCLUSIONS_', '_R_CHECK_FF_CALLS_', '_R_CHECK_FF_DUP_', '_R_CHECK_FORCE_SUGGESTS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_', '_R_CHECK_HAVE_MYSQL_', '_R_CHECK_HAVE_ODBC_', '_R_CHECK_HAVE_PERL_', '_R_CHECK_HAVE_POSTGRES_', '_R_CHECK_INSTALL_DEPENDS_', '_R_CHECK_INTERNALS2_', '_R_CHECK_LENGTH_1_CONDITION_', '_R_CHECK_LICENSE_', '_R_CHECK_LIMIT_CORES_', '_R_CHECK_MATRIX_DATA_', '_R_CHECK_NATIVE_ROUTINE_REGISTRATION_', '_R_CHECK_NEWS_IN_PLAIN_TEXT_', '_R_CHECK_NO_RECOMMENDED_', '_R_CHECK_NO_STOP_ON_TEST_ERROR_', '_R_CHECK_ORPHANED_', '_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_', '_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_', '_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_', '_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_', '_R_CHECK_PACKAGE_NAME_', '_R_CHECK_PKG_SIZES_', '_R_CHECK_PKG_SIZES_THRESHOLD_', '_R_CHECK_PRAGMAS_', '_R_CHECK_RD_EXAMPLES_T_AND_F_', '_R_CHECK_RD_LINE_WIDTHS_', '_R_CHECK_RD_MATH_RENDERING_', '_R_CHECK_RD_VALIDATE_RD2HTML_', '_R_CHECK_REPLACING_IMPORTS_', '_R_CHECK_R_DEPENDS_', '_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_', '_R_CHECK_SCREEN_DEVICE_', '_R_CHECK_SERIALIZATION_', '_R_CHECK_SHLIB_OPENMP_FLAGS_', '_R_CHECK_SRC_MINUS_W_IMPLICIT_', '_R_CHECK_SUBDIRS_NOCASE_', '_R_CHECK_SUBDIRS_STRICT_', '_R_CHECK_SUGGESTS_ONLY_', '_R_CHECK_SYSTEM_CLOCK_', '_R_CHECK_TESTS_NLINES_', '_R_CHECK_TEST_TIMING_', '_R_CHECK_TIMINGS_', '_R_CHECK_TOPLEVEL_FILES_', '_R_CHECK_UNDOC_USE_ALL_NAMES_', '_R_CHECK_UNSAFE_CALLS_', '_R_CHECK_URLS_SHOW_301_STATUS_', '_R_CHECK_VC_DIRS_', '_R_CHECK_VIGNETTES_NLINES_', '_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_', '_R_CHECK_VIGNETTE_TIMING_', '_R_CHECK_VIGNETTE_TITLES_', '_R_CHECK_WINDOWS_DEVICE_', '_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_INSTALL_TIME_PATCHES_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', 'maj.version', 'nextArg--timingsnextArg--install' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: List of 3 $ name : chr "MAKEFLAGS" $ expected: 'Dlist' chr "" $ actual : 'Dlist' chr NA > > proc.time() user system elapsed 1.14 0.25 3.26