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:42.051] plan(): Setting new future strategy stack: [18:02:42.052] List of future strategies: [18:02:42.052] 1. sequential: [18:02:42.052] - args: function (..., envir = parent.frame()) [18:02:42.052] - tweaked: FALSE [18:02:42.052] - call: future::plan("sequential") [18:02:42.068] plan(): nbrOfWorkers() = 1 > library("listenv") > > strategies <- supportedStrategies() > > message("*** resolve() ...") *** resolve() ... > > message("*** resolve() for default ...") *** resolve() for default ... > > x <- 1 > y <- resolve(x) > stopifnot(identical(y, x)) > > message("*** resolve() for default ... DONE") *** resolve() for default ... DONE > > > for (strategy in strategies) { + message(sprintf("- plan('%s') ...", strategy)) + plan(strategy) + + if (strategy == "multisession" && availableCores() >= 2) { + message("*** resolve() for Future objects ...") + + for (result in c(FALSE, TRUE)) { + for (recursive in list(FALSE, TRUE, -1, 0, 1, 2, Inf)) { + message(sprintf("- result = %s, recursive = %s ...", result, recursive)) + + f <- future({ + Sys.sleep(0.5) + list(a = 1, b = 42L) + }) + res <- resolve(f, result = result, recursive = recursive) + stopifnot(identical(res, f)) + + f <- future({ + Sys.sleep(0.5) + list(a = 1, b = 42L) + }, lazy = TRUE) + res <- resolve(f, result = result, recursive = recursive) + stopifnot(identical(res, f)) + + message("- w/ exception ...") + f <- future(list(a = 1, b = 42L, c = stop("Nah!"))) + res <- resolve(f, result = result, recursive = recursive) + stopifnot(identical(res, f)) + + f <- future(list(a = 1, b = 42L, c = stop("Nah!")), lazy = TRUE) + res <- resolve(f, result = result, recursive = recursive) + stopifnot(identical(res, f)) + + message(sprintf("- result = %s, recursive = %s ... DONE", result, recursive)) + } ## for (resolve ...) + } ## for (result ...) + + message("*** resolve() for Future objects ... DONE") + } ## if (strategy == "multisession" && availableCores() >= 2) + + message("*** resolve() for lists ...") + + x <- list() + y <- resolve(x) + stopifnot(identical(y, x)) + + x <- list() + x$a <- 1 + x$b <- 2 + y <- resolve(x) + stopifnot(identical(y, x)) + + x <- list() + x$a <- future(1) + x$b <- future(2) + x[[3]] <- 3 + y <- resolve(x) + stopifnot(identical(y, x)) + stopifnot(resolved(x$a)) + stopifnot(resolved(x[["b"]])) + + x <- list() + x$a <- future(1, lazy = TRUE) + x$b <- future(2) + x[[3]] <- 3 + y <- resolve(x) + stopifnot(identical(y, x)) + stopifnot(resolved(x$a)) + stopifnot(resolved(x[["b"]])) + + x <- list() + x$a <- future(1, lazy = TRUE) + x$b <- future(2, lazy = TRUE) + x[[3]] <- 3 + y <- resolve(x) + stopifnot(identical(y, x)) + stopifnot(resolved(x$a)) + stopifnot(resolved(x[["b"]])) + + x <- list() + x$a <- future(1) + x$b <- future({Sys.sleep(0.5); 2}) + x[[4]] <- 4 + dim(x) <- c(2, 2) + y <- resolve(x, idxs = 1) + stopifnot(identical(y, x)) + stopifnot(resolved(x[[1]])) + y <- resolve(x, idxs = 2) + stopifnot(identical(y, x)) + stopifnot(resolved(x[[2]])) + y <- resolve(x, idxs = 3) + stopifnot(identical(y, x)) + y <- resolve(x, idxs = seq_along(x)) + stopifnot(identical(y, x)) + y <- resolve(x, idxs = names(x)) + stopifnot(identical(y, x)) + + y <- resolve(x, idxs = matrix(c(1, 2), ncol = 2L), result = TRUE) + stopifnot(identical(y, x)) + + x <- list() + for (kk in 1:3) x[[kk]] <- future({ Sys.sleep(0.1); kk }) + y <- resolve(x) + stopifnot(identical(y, x)) + + x <- list() + for (kk in 1:3) x[[kk]] <- future({ Sys.sleep(0.1); kk }, lazy = TRUE) + y <- resolve(x) + stopifnot(identical(y, x)) + + ## Exceptions + x <- list() + x$a <- 1 + x$b <- 2 + + res <- tryCatch(y <- resolve(x, idxs = 0L), error = identity) + stopifnot(inherits(res, "error")) + + res <- tryCatch(y <- resolve(x, idxs = "unknown"), error = identity) + stopifnot(inherits(res, "error")) + + x <- list(1, 2) + res <- tryCatch(x <- resolve(x, idxs = "a"), error = identity) + stopifnot(inherits(res, "error")) + + message("*** resolve() for lists ... DONE") + + + message("*** resolve() for environments ...") + + x <- new.env() + y <- resolve(x) + stopifnot(identical(y, x)) + + x <- new.env() + x$a <- 1 + x$b <- 2 + y <- resolve(x) + stopifnot(identical(y, x)) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 0L) + + x <- new.env() + x$a <- future(1) + x$b <- future(2) + x$c <- 3 + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + y <- resolve(x) + stopifnot(identical(y, x)) + stopifnot(resolved(x$a)) + stopifnot(resolved(x$b)) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + + x <- new.env() + x$a %<-% { 1 } + x$b %<-% { 2 } + x$c <- 3 + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + y <- resolve(x) ## FIXME: Should not do value()! + stopifnot(identical(y, x)) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + + x <- new.env() + x$a <- future({ 1 }) + x$b %<-% { 2 } + x$c <- 3 + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + y <- resolve(x, idxs = "a") + stopifnot(identical(y, x)) + stopifnot(resolved(x$a)) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + y <- resolve(x, idxs = "b") + stopifnot(identical(y, x)) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + y <- resolve(x, idxs = "c") + stopifnot(identical(y, x)) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + y <- resolve(x, idxs = names(x), result = TRUE) + stopifnot(identical(y, x)) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + y <- resolve(x, recursive = TRUE, result = TRUE) + stopifnot(identical(y, x)) + + ## Exceptions + res <- tryCatch(y <- resolve(x, idxs = "unknown"), error = identity) + stopifnot(inherits(res, "error")) + + message("*** resolve() for environments ... DONE") + + + message("*** resolve() for list environments ...") + + x <- listenv() + y <- resolve(x) + stopifnot(identical(y, x)) + + x <- listenv() + x$a <- 1 + x$b <- 2 + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 0L) + y <- resolve(x) + stopifnot(identical(y, x)) + + x <- listenv() + x$a <- future(1) + x$b <- future(2) + x$c <- 3 + names <- names(x) + dim(x) <- c(1, 3) + names(x) <- names + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + y <- resolve(x) + stopifnot(identical(y, x)) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + + x <- listenv() + x$a %<-% { 1 } + x$b %<-% { 2 } + x$c <- 3 + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + y <- resolve(x) ## FIXME: Should not do value()! + stopifnot(identical(y, x)) + #stopifnot(is.na(futureOf(x$a, mustExist = FALSE))) + #stopifnot(is.na(futureOf(x$b, mustExist = FALSE))) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 2L) + + x <- listenv() + x$a <- future({ 1 }) + x$b %<-% { Sys.sleep(0.5); 2 } + x$c %<-% { 3 } + x$d <- 4 + names <- names(x) + dim(x) <- c(2, 2) + names(x) <- names + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 3L) + y <- resolve(x, idxs = "a") + stopifnot(identical(y, x)) + stopifnot(identical(futureOf(x$a, mustExist = FALSE), x$a)) + stopifnot(resolved(x$a)) + y <- resolve(x, idxs = "b") + stopifnot(identical(y, x)) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 3L) + + idxs <- matrix(c(1, 2), ncol = 2L) + y <- resolve(x, idxs = idxs) + stopifnot(identical(y, x)) + #stopifnot(is.na(futureOf(x$c, mustExist = FALSE))) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 3L) + + y <- resolve(x, idxs = 4L) + stopifnot(identical(y, x)) + #stopifnot(is.na(futureOf(x[[4L]], mustExist = FALSE))) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 3L) + + y <- resolve(x, idxs = names(x), result = TRUE) + stopifnot(identical(y, x)) + stopifnot(length(futureOf(envir = x, drop = TRUE)) == 3L) + + y <- resolve(x, recursive = TRUE, result = TRUE) + stopifnot(identical(y, x)) + + ## Exceptions + res <- tryCatch(y <- resolve(x, idxs = 0L), error = identity) + stopifnot(inherits(res, "error")) + + res <- tryCatch(y <- resolve(x, idxs = "unknown"), error = identity) + stopifnot(inherits(res, "error")) + + message("*** resolve() for list environments ... DONE") + + message(sprintf("- plan('%s') ...", strategy)) + } ## for (strategy ...) - plan('sequential') ... [18:02:42.393] plan(): Setting new future strategy stack: [18:02:42.394] List of future strategies: [18:02:42.394] 1. sequential: [18:02:42.394] - args: function (..., envir = parent.frame()) [18:02:42.394] - tweaked: FALSE [18:02:42.394] - call: plan(strategy) [18:02:42.413] plan(): nbrOfWorkers() = 1 *** resolve() for lists ... [18:02:42.414] resolve() on list ... [18:02:42.414] recursive: 0 [18:02:42.414] length: 2 [18:02:42.415] elements: 'a', 'b' [18:02:42.416] length: 1 (resolved future 1) [18:02:42.416] length: 0 (resolved future 2) [18:02:42.416] resolve() on list ... DONE [18:02:42.417] getGlobalsAndPackages() ... [18:02:42.417] Searching for globals... [18:02:42.421] [18:02:42.421] Searching for globals ... DONE [18:02:42.421] - globals: [0] [18:02:42.421] getGlobalsAndPackages() ... DONE [18:02:42.422] run() for 'Future' ... [18:02:42.422] - state: 'created' [18:02:42.423] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:42.423] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:42.424] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:42.424] - Field: 'label' [18:02:42.424] - Field: 'local' [18:02:42.424] - Field: 'owner' [18:02:42.424] - Field: 'envir' [18:02:42.425] - Field: 'packages' [18:02:42.425] - Field: 'gc' [18:02:42.425] - Field: 'conditions' [18:02:42.425] - Field: 'expr' [18:02:42.426] - Field: 'uuid' [18:02:42.426] - Field: 'seed' [18:02:42.426] - Field: 'version' [18:02:42.426] - Field: 'result' [18:02:42.426] - Field: 'asynchronous' [18:02:42.427] - Field: 'calls' [18:02:42.427] - Field: 'globals' [18:02:42.427] - Field: 'stdout' [18:02:42.427] - Field: 'earlySignal' [18:02:42.427] - Field: 'lazy' [18:02:42.428] - Field: 'state' [18:02:42.428] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:42.428] - Launch lazy future ... [18:02:42.429] Packages needed by the future expression (n = 0): [18:02:42.429] Packages needed by future strategies (n = 0): [18:02:42.431] { [18:02:42.431] { [18:02:42.431] { [18:02:42.431] ...future.startTime <- base::Sys.time() [18:02:42.431] { [18:02:42.431] { [18:02:42.431] { [18:02:42.431] base::local({ [18:02:42.431] has_future <- base::requireNamespace("future", [18:02:42.431] quietly = TRUE) [18:02:42.431] if (has_future) { [18:02:42.431] ns <- base::getNamespace("future") [18:02:42.431] version <- ns[[".package"]][["version"]] [18:02:42.431] if (is.null(version)) [18:02:42.431] version <- utils::packageVersion("future") [18:02:42.431] } [18:02:42.431] else { [18:02:42.431] version <- NULL [18:02:42.431] } [18:02:42.431] if (!has_future || version < "1.8.0") { [18:02:42.431] info <- base::c(r_version = base::gsub("R version ", [18:02:42.431] "", base::R.version$version.string), [18:02:42.431] platform = base::sprintf("%s (%s-bit)", [18:02:42.431] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:42.431] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:42.431] "release", "version")], collapse = " "), [18:02:42.431] hostname = base::Sys.info()[["nodename"]]) [18:02:42.431] info <- base::sprintf("%s: %s", base::names(info), [18:02:42.431] info) [18:02:42.431] info <- base::paste(info, collapse = "; ") [18:02:42.431] if (!has_future) { [18:02:42.431] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:42.431] info) [18:02:42.431] } [18:02:42.431] else { [18:02:42.431] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:42.431] info, version) [18:02:42.431] } [18:02:42.431] base::stop(msg) [18:02:42.431] } [18:02:42.431] }) [18:02:42.431] } [18:02:42.431] options(future.plan = NULL) [18:02:42.431] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.431] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:42.431] } [18:02:42.431] ...future.workdir <- getwd() [18:02:42.431] } [18:02:42.431] ...future.oldOptions <- base::as.list(base::.Options) [18:02:42.431] ...future.oldEnvVars <- base::Sys.getenv() [18:02:42.431] } [18:02:42.431] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:42.431] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:42.431] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:42.431] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:42.431] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:42.431] future.stdout.windows.reencode = NULL, width = 80L) [18:02:42.431] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:42.431] base::names(...future.oldOptions)) [18:02:42.431] } [18:02:42.431] if (FALSE) { [18:02:42.431] } [18:02:42.431] else { [18:02:42.431] if (TRUE) { [18:02:42.431] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:42.431] open = "w") [18:02:42.431] } [18:02:42.431] else { [18:02:42.431] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:42.431] windows = "NUL", "/dev/null"), open = "w") [18:02:42.431] } [18:02:42.431] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:42.431] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:42.431] base::sink(type = "output", split = FALSE) [18:02:42.431] base::close(...future.stdout) [18:02:42.431] }, add = TRUE) [18:02:42.431] } [18:02:42.431] ...future.frame <- base::sys.nframe() [18:02:42.431] ...future.conditions <- base::list() [18:02:42.431] ...future.rng <- base::globalenv()$.Random.seed [18:02:42.431] if (FALSE) { [18:02:42.431] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:42.431] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:42.431] } [18:02:42.431] ...future.result <- base::tryCatch({ [18:02:42.431] base::withCallingHandlers({ [18:02:42.431] ...future.value <- base::withVisible(base::local(1)) [18:02:42.431] future::FutureResult(value = ...future.value$value, [18:02:42.431] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.431] ...future.rng), globalenv = if (FALSE) [18:02:42.431] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:42.431] ...future.globalenv.names)) [18:02:42.431] else NULL, started = ...future.startTime, version = "1.8") [18:02:42.431] }, condition = base::local({ [18:02:42.431] c <- base::c [18:02:42.431] inherits <- base::inherits [18:02:42.431] invokeRestart <- base::invokeRestart [18:02:42.431] length <- base::length [18:02:42.431] list <- base::list [18:02:42.431] seq.int <- base::seq.int [18:02:42.431] signalCondition <- base::signalCondition [18:02:42.431] sys.calls <- base::sys.calls [18:02:42.431] `[[` <- base::`[[` [18:02:42.431] `+` <- base::`+` [18:02:42.431] `<<-` <- base::`<<-` [18:02:42.431] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:42.431] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:42.431] 3L)] [18:02:42.431] } [18:02:42.431] function(cond) { [18:02:42.431] is_error <- inherits(cond, "error") [18:02:42.431] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:42.431] NULL) [18:02:42.431] if (is_error) { [18:02:42.431] sessionInformation <- function() { [18:02:42.431] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:42.431] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:42.431] search = base::search(), system = base::Sys.info()) [18:02:42.431] } [18:02:42.431] ...future.conditions[[length(...future.conditions) + [18:02:42.431] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:42.431] cond$call), session = sessionInformation(), [18:02:42.431] timestamp = base::Sys.time(), signaled = 0L) [18:02:42.431] signalCondition(cond) [18:02:42.431] } [18:02:42.431] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:42.431] "immediateCondition"))) { [18:02:42.431] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:42.431] ...future.conditions[[length(...future.conditions) + [18:02:42.431] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:42.431] if (TRUE && !signal) { [18:02:42.431] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.431] { [18:02:42.431] inherits <- base::inherits [18:02:42.431] invokeRestart <- base::invokeRestart [18:02:42.431] is.null <- base::is.null [18:02:42.431] muffled <- FALSE [18:02:42.431] if (inherits(cond, "message")) { [18:02:42.431] muffled <- grepl(pattern, "muffleMessage") [18:02:42.431] if (muffled) [18:02:42.431] invokeRestart("muffleMessage") [18:02:42.431] } [18:02:42.431] else if (inherits(cond, "warning")) { [18:02:42.431] muffled <- grepl(pattern, "muffleWarning") [18:02:42.431] if (muffled) [18:02:42.431] invokeRestart("muffleWarning") [18:02:42.431] } [18:02:42.431] else if (inherits(cond, "condition")) { [18:02:42.431] if (!is.null(pattern)) { [18:02:42.431] computeRestarts <- base::computeRestarts [18:02:42.431] grepl <- base::grepl [18:02:42.431] restarts <- computeRestarts(cond) [18:02:42.431] for (restart in restarts) { [18:02:42.431] name <- restart$name [18:02:42.431] if (is.null(name)) [18:02:42.431] next [18:02:42.431] if (!grepl(pattern, name)) [18:02:42.431] next [18:02:42.431] invokeRestart(restart) [18:02:42.431] muffled <- TRUE [18:02:42.431] break [18:02:42.431] } [18:02:42.431] } [18:02:42.431] } [18:02:42.431] invisible(muffled) [18:02:42.431] } [18:02:42.431] muffleCondition(cond, pattern = "^muffle") [18:02:42.431] } [18:02:42.431] } [18:02:42.431] else { [18:02:42.431] if (TRUE) { [18:02:42.431] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.431] { [18:02:42.431] inherits <- base::inherits [18:02:42.431] invokeRestart <- base::invokeRestart [18:02:42.431] is.null <- base::is.null [18:02:42.431] muffled <- FALSE [18:02:42.431] if (inherits(cond, "message")) { [18:02:42.431] muffled <- grepl(pattern, "muffleMessage") [18:02:42.431] if (muffled) [18:02:42.431] invokeRestart("muffleMessage") [18:02:42.431] } [18:02:42.431] else if (inherits(cond, "warning")) { [18:02:42.431] muffled <- grepl(pattern, "muffleWarning") [18:02:42.431] if (muffled) [18:02:42.431] invokeRestart("muffleWarning") [18:02:42.431] } [18:02:42.431] else if (inherits(cond, "condition")) { [18:02:42.431] if (!is.null(pattern)) { [18:02:42.431] computeRestarts <- base::computeRestarts [18:02:42.431] grepl <- base::grepl [18:02:42.431] restarts <- computeRestarts(cond) [18:02:42.431] for (restart in restarts) { [18:02:42.431] name <- restart$name [18:02:42.431] if (is.null(name)) [18:02:42.431] next [18:02:42.431] if (!grepl(pattern, name)) [18:02:42.431] next [18:02:42.431] invokeRestart(restart) [18:02:42.431] muffled <- TRUE [18:02:42.431] break [18:02:42.431] } [18:02:42.431] } [18:02:42.431] } [18:02:42.431] invisible(muffled) [18:02:42.431] } [18:02:42.431] muffleCondition(cond, pattern = "^muffle") [18:02:42.431] } [18:02:42.431] } [18:02:42.431] } [18:02:42.431] })) [18:02:42.431] }, error = function(ex) { [18:02:42.431] base::structure(base::list(value = NULL, visible = NULL, [18:02:42.431] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.431] ...future.rng), started = ...future.startTime, [18:02:42.431] finished = Sys.time(), session_uuid = NA_character_, [18:02:42.431] version = "1.8"), class = "FutureResult") [18:02:42.431] }, finally = { [18:02:42.431] if (!identical(...future.workdir, getwd())) [18:02:42.431] setwd(...future.workdir) [18:02:42.431] { [18:02:42.431] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:42.431] ...future.oldOptions$nwarnings <- NULL [18:02:42.431] } [18:02:42.431] base::options(...future.oldOptions) [18:02:42.431] if (.Platform$OS.type == "windows") { [18:02:42.431] old_names <- names(...future.oldEnvVars) [18:02:42.431] envs <- base::Sys.getenv() [18:02:42.431] names <- names(envs) [18:02:42.431] common <- intersect(names, old_names) [18:02:42.431] added <- setdiff(names, old_names) [18:02:42.431] removed <- setdiff(old_names, names) [18:02:42.431] changed <- common[...future.oldEnvVars[common] != [18:02:42.431] envs[common]] [18:02:42.431] NAMES <- toupper(changed) [18:02:42.431] args <- list() [18:02:42.431] for (kk in seq_along(NAMES)) { [18:02:42.431] name <- changed[[kk]] [18:02:42.431] NAME <- NAMES[[kk]] [18:02:42.431] if (name != NAME && is.element(NAME, old_names)) [18:02:42.431] next [18:02:42.431] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.431] } [18:02:42.431] NAMES <- toupper(added) [18:02:42.431] for (kk in seq_along(NAMES)) { [18:02:42.431] name <- added[[kk]] [18:02:42.431] NAME <- NAMES[[kk]] [18:02:42.431] if (name != NAME && is.element(NAME, old_names)) [18:02:42.431] next [18:02:42.431] args[[name]] <- "" [18:02:42.431] } [18:02:42.431] NAMES <- toupper(removed) [18:02:42.431] for (kk in seq_along(NAMES)) { [18:02:42.431] name <- removed[[kk]] [18:02:42.431] NAME <- NAMES[[kk]] [18:02:42.431] if (name != NAME && is.element(NAME, old_names)) [18:02:42.431] next [18:02:42.431] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.431] } [18:02:42.431] if (length(args) > 0) [18:02:42.431] base::do.call(base::Sys.setenv, args = args) [18:02:42.431] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:42.431] } [18:02:42.431] else { [18:02:42.431] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:42.431] } [18:02:42.431] { [18:02:42.431] if (base::length(...future.futureOptionsAdded) > [18:02:42.431] 0L) { [18:02:42.431] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:42.431] base::names(opts) <- ...future.futureOptionsAdded [18:02:42.431] base::options(opts) [18:02:42.431] } [18:02:42.431] { [18:02:42.431] { [18:02:42.431] NULL [18:02:42.431] RNGkind("Mersenne-Twister") [18:02:42.431] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:42.431] inherits = FALSE) [18:02:42.431] } [18:02:42.431] options(future.plan = NULL) [18:02:42.431] if (is.na(NA_character_)) [18:02:42.431] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.431] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:42.431] future::plan(list(function (..., envir = parent.frame()) [18:02:42.431] { [18:02:42.431] future <- SequentialFuture(..., envir = envir) [18:02:42.431] if (!future$lazy) [18:02:42.431] future <- run(future) [18:02:42.431] invisible(future) [18:02:42.431] }), .cleanup = FALSE, .init = FALSE) [18:02:42.431] } [18:02:42.431] } [18:02:42.431] } [18:02:42.431] }) [18:02:42.431] if (TRUE) { [18:02:42.431] base::sink(type = "output", split = FALSE) [18:02:42.431] if (TRUE) { [18:02:42.431] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:42.431] } [18:02:42.431] else { [18:02:42.431] ...future.result["stdout"] <- base::list(NULL) [18:02:42.431] } [18:02:42.431] base::close(...future.stdout) [18:02:42.431] ...future.stdout <- NULL [18:02:42.431] } [18:02:42.431] ...future.result$conditions <- ...future.conditions [18:02:42.431] ...future.result$finished <- base::Sys.time() [18:02:42.431] ...future.result [18:02:42.431] } [18:02:42.435] plan(): Setting new future strategy stack: [18:02:42.435] List of future strategies: [18:02:42.435] 1. sequential: [18:02:42.435] - args: function (..., envir = parent.frame()) [18:02:42.435] - tweaked: FALSE [18:02:42.435] - call: NULL [18:02:42.436] plan(): nbrOfWorkers() = 1 [18:02:42.438] plan(): Setting new future strategy stack: [18:02:42.439] List of future strategies: [18:02:42.439] 1. sequential: [18:02:42.439] - args: function (..., envir = parent.frame()) [18:02:42.439] - tweaked: FALSE [18:02:42.439] - call: plan(strategy) [18:02:42.439] plan(): nbrOfWorkers() = 1 [18:02:42.440] SequentialFuture started (and completed) [18:02:42.440] - Launch lazy future ... done [18:02:42.440] run() for 'SequentialFuture' ... done [18:02:42.441] getGlobalsAndPackages() ... [18:02:42.441] Searching for globals... [18:02:42.441] [18:02:42.442] Searching for globals ... DONE [18:02:42.442] - globals: [0] [18:02:42.442] getGlobalsAndPackages() ... DONE [18:02:42.442] run() for 'Future' ... [18:02:42.442] - state: 'created' [18:02:42.443] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:42.443] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:42.443] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:42.444] - Field: 'label' [18:02:42.444] - Field: 'local' [18:02:42.444] - Field: 'owner' [18:02:42.444] - Field: 'envir' [18:02:42.444] - Field: 'packages' [18:02:42.445] - Field: 'gc' [18:02:42.445] - Field: 'conditions' [18:02:42.445] - Field: 'expr' [18:02:42.445] - Field: 'uuid' [18:02:42.445] - Field: 'seed' [18:02:42.446] - Field: 'version' [18:02:42.446] - Field: 'result' [18:02:42.446] - Field: 'asynchronous' [18:02:42.446] - Field: 'calls' [18:02:42.446] - Field: 'globals' [18:02:42.447] - Field: 'stdout' [18:02:42.447] - Field: 'earlySignal' [18:02:42.447] - Field: 'lazy' [18:02:42.447] - Field: 'state' [18:02:42.448] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:42.448] - Launch lazy future ... [18:02:42.448] Packages needed by the future expression (n = 0): [18:02:42.448] Packages needed by future strategies (n = 0): [18:02:42.449] { [18:02:42.449] { [18:02:42.449] { [18:02:42.449] ...future.startTime <- base::Sys.time() [18:02:42.449] { [18:02:42.449] { [18:02:42.449] { [18:02:42.449] base::local({ [18:02:42.449] has_future <- base::requireNamespace("future", [18:02:42.449] quietly = TRUE) [18:02:42.449] if (has_future) { [18:02:42.449] ns <- base::getNamespace("future") [18:02:42.449] version <- ns[[".package"]][["version"]] [18:02:42.449] if (is.null(version)) [18:02:42.449] version <- utils::packageVersion("future") [18:02:42.449] } [18:02:42.449] else { [18:02:42.449] version <- NULL [18:02:42.449] } [18:02:42.449] if (!has_future || version < "1.8.0") { [18:02:42.449] info <- base::c(r_version = base::gsub("R version ", [18:02:42.449] "", base::R.version$version.string), [18:02:42.449] platform = base::sprintf("%s (%s-bit)", [18:02:42.449] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:42.449] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:42.449] "release", "version")], collapse = " "), [18:02:42.449] hostname = base::Sys.info()[["nodename"]]) [18:02:42.449] info <- base::sprintf("%s: %s", base::names(info), [18:02:42.449] info) [18:02:42.449] info <- base::paste(info, collapse = "; ") [18:02:42.449] if (!has_future) { [18:02:42.449] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:42.449] info) [18:02:42.449] } [18:02:42.449] else { [18:02:42.449] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:42.449] info, version) [18:02:42.449] } [18:02:42.449] base::stop(msg) [18:02:42.449] } [18:02:42.449] }) [18:02:42.449] } [18:02:42.449] options(future.plan = NULL) [18:02:42.449] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.449] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:42.449] } [18:02:42.449] ...future.workdir <- getwd() [18:02:42.449] } [18:02:42.449] ...future.oldOptions <- base::as.list(base::.Options) [18:02:42.449] ...future.oldEnvVars <- base::Sys.getenv() [18:02:42.449] } [18:02:42.449] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:42.449] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:42.449] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:42.449] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:42.449] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:42.449] future.stdout.windows.reencode = NULL, width = 80L) [18:02:42.449] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:42.449] base::names(...future.oldOptions)) [18:02:42.449] } [18:02:42.449] if (FALSE) { [18:02:42.449] } [18:02:42.449] else { [18:02:42.449] if (TRUE) { [18:02:42.449] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:42.449] open = "w") [18:02:42.449] } [18:02:42.449] else { [18:02:42.449] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:42.449] windows = "NUL", "/dev/null"), open = "w") [18:02:42.449] } [18:02:42.449] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:42.449] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:42.449] base::sink(type = "output", split = FALSE) [18:02:42.449] base::close(...future.stdout) [18:02:42.449] }, add = TRUE) [18:02:42.449] } [18:02:42.449] ...future.frame <- base::sys.nframe() [18:02:42.449] ...future.conditions <- base::list() [18:02:42.449] ...future.rng <- base::globalenv()$.Random.seed [18:02:42.449] if (FALSE) { [18:02:42.449] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:42.449] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:42.449] } [18:02:42.449] ...future.result <- base::tryCatch({ [18:02:42.449] base::withCallingHandlers({ [18:02:42.449] ...future.value <- base::withVisible(base::local(2)) [18:02:42.449] future::FutureResult(value = ...future.value$value, [18:02:42.449] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.449] ...future.rng), globalenv = if (FALSE) [18:02:42.449] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:42.449] ...future.globalenv.names)) [18:02:42.449] else NULL, started = ...future.startTime, version = "1.8") [18:02:42.449] }, condition = base::local({ [18:02:42.449] c <- base::c [18:02:42.449] inherits <- base::inherits [18:02:42.449] invokeRestart <- base::invokeRestart [18:02:42.449] length <- base::length [18:02:42.449] list <- base::list [18:02:42.449] seq.int <- base::seq.int [18:02:42.449] signalCondition <- base::signalCondition [18:02:42.449] sys.calls <- base::sys.calls [18:02:42.449] `[[` <- base::`[[` [18:02:42.449] `+` <- base::`+` [18:02:42.449] `<<-` <- base::`<<-` [18:02:42.449] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:42.449] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:42.449] 3L)] [18:02:42.449] } [18:02:42.449] function(cond) { [18:02:42.449] is_error <- inherits(cond, "error") [18:02:42.449] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:42.449] NULL) [18:02:42.449] if (is_error) { [18:02:42.449] sessionInformation <- function() { [18:02:42.449] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:42.449] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:42.449] search = base::search(), system = base::Sys.info()) [18:02:42.449] } [18:02:42.449] ...future.conditions[[length(...future.conditions) + [18:02:42.449] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:42.449] cond$call), session = sessionInformation(), [18:02:42.449] timestamp = base::Sys.time(), signaled = 0L) [18:02:42.449] signalCondition(cond) [18:02:42.449] } [18:02:42.449] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:42.449] "immediateCondition"))) { [18:02:42.449] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:42.449] ...future.conditions[[length(...future.conditions) + [18:02:42.449] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:42.449] if (TRUE && !signal) { [18:02:42.449] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.449] { [18:02:42.449] inherits <- base::inherits [18:02:42.449] invokeRestart <- base::invokeRestart [18:02:42.449] is.null <- base::is.null [18:02:42.449] muffled <- FALSE [18:02:42.449] if (inherits(cond, "message")) { [18:02:42.449] muffled <- grepl(pattern, "muffleMessage") [18:02:42.449] if (muffled) [18:02:42.449] invokeRestart("muffleMessage") [18:02:42.449] } [18:02:42.449] else if (inherits(cond, "warning")) { [18:02:42.449] muffled <- grepl(pattern, "muffleWarning") [18:02:42.449] if (muffled) [18:02:42.449] invokeRestart("muffleWarning") [18:02:42.449] } [18:02:42.449] else if (inherits(cond, "condition")) { [18:02:42.449] if (!is.null(pattern)) { [18:02:42.449] computeRestarts <- base::computeRestarts [18:02:42.449] grepl <- base::grepl [18:02:42.449] restarts <- computeRestarts(cond) [18:02:42.449] for (restart in restarts) { [18:02:42.449] name <- restart$name [18:02:42.449] if (is.null(name)) [18:02:42.449] next [18:02:42.449] if (!grepl(pattern, name)) [18:02:42.449] next [18:02:42.449] invokeRestart(restart) [18:02:42.449] muffled <- TRUE [18:02:42.449] break [18:02:42.449] } [18:02:42.449] } [18:02:42.449] } [18:02:42.449] invisible(muffled) [18:02:42.449] } [18:02:42.449] muffleCondition(cond, pattern = "^muffle") [18:02:42.449] } [18:02:42.449] } [18:02:42.449] else { [18:02:42.449] if (TRUE) { [18:02:42.449] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.449] { [18:02:42.449] inherits <- base::inherits [18:02:42.449] invokeRestart <- base::invokeRestart [18:02:42.449] is.null <- base::is.null [18:02:42.449] muffled <- FALSE [18:02:42.449] if (inherits(cond, "message")) { [18:02:42.449] muffled <- grepl(pattern, "muffleMessage") [18:02:42.449] if (muffled) [18:02:42.449] invokeRestart("muffleMessage") [18:02:42.449] } [18:02:42.449] else if (inherits(cond, "warning")) { [18:02:42.449] muffled <- grepl(pattern, "muffleWarning") [18:02:42.449] if (muffled) [18:02:42.449] invokeRestart("muffleWarning") [18:02:42.449] } [18:02:42.449] else if (inherits(cond, "condition")) { [18:02:42.449] if (!is.null(pattern)) { [18:02:42.449] computeRestarts <- base::computeRestarts [18:02:42.449] grepl <- base::grepl [18:02:42.449] restarts <- computeRestarts(cond) [18:02:42.449] for (restart in restarts) { [18:02:42.449] name <- restart$name [18:02:42.449] if (is.null(name)) [18:02:42.449] next [18:02:42.449] if (!grepl(pattern, name)) [18:02:42.449] next [18:02:42.449] invokeRestart(restart) [18:02:42.449] muffled <- TRUE [18:02:42.449] break [18:02:42.449] } [18:02:42.449] } [18:02:42.449] } [18:02:42.449] invisible(muffled) [18:02:42.449] } [18:02:42.449] muffleCondition(cond, pattern = "^muffle") [18:02:42.449] } [18:02:42.449] } [18:02:42.449] } [18:02:42.449] })) [18:02:42.449] }, error = function(ex) { [18:02:42.449] base::structure(base::list(value = NULL, visible = NULL, [18:02:42.449] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.449] ...future.rng), started = ...future.startTime, [18:02:42.449] finished = Sys.time(), session_uuid = NA_character_, [18:02:42.449] version = "1.8"), class = "FutureResult") [18:02:42.449] }, finally = { [18:02:42.449] if (!identical(...future.workdir, getwd())) [18:02:42.449] setwd(...future.workdir) [18:02:42.449] { [18:02:42.449] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:42.449] ...future.oldOptions$nwarnings <- NULL [18:02:42.449] } [18:02:42.449] base::options(...future.oldOptions) [18:02:42.449] if (.Platform$OS.type == "windows") { [18:02:42.449] old_names <- names(...future.oldEnvVars) [18:02:42.449] envs <- base::Sys.getenv() [18:02:42.449] names <- names(envs) [18:02:42.449] common <- intersect(names, old_names) [18:02:42.449] added <- setdiff(names, old_names) [18:02:42.449] removed <- setdiff(old_names, names) [18:02:42.449] changed <- common[...future.oldEnvVars[common] != [18:02:42.449] envs[common]] [18:02:42.449] NAMES <- toupper(changed) [18:02:42.449] args <- list() [18:02:42.449] for (kk in seq_along(NAMES)) { [18:02:42.449] name <- changed[[kk]] [18:02:42.449] NAME <- NAMES[[kk]] [18:02:42.449] if (name != NAME && is.element(NAME, old_names)) [18:02:42.449] next [18:02:42.449] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.449] } [18:02:42.449] NAMES <- toupper(added) [18:02:42.449] for (kk in seq_along(NAMES)) { [18:02:42.449] name <- added[[kk]] [18:02:42.449] NAME <- NAMES[[kk]] [18:02:42.449] if (name != NAME && is.element(NAME, old_names)) [18:02:42.449] next [18:02:42.449] args[[name]] <- "" [18:02:42.449] } [18:02:42.449] NAMES <- toupper(removed) [18:02:42.449] for (kk in seq_along(NAMES)) { [18:02:42.449] name <- removed[[kk]] [18:02:42.449] NAME <- NAMES[[kk]] [18:02:42.449] if (name != NAME && is.element(NAME, old_names)) [18:02:42.449] next [18:02:42.449] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.449] } [18:02:42.449] if (length(args) > 0) [18:02:42.449] base::do.call(base::Sys.setenv, args = args) [18:02:42.449] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:42.449] } [18:02:42.449] else { [18:02:42.449] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:42.449] } [18:02:42.449] { [18:02:42.449] if (base::length(...future.futureOptionsAdded) > [18:02:42.449] 0L) { [18:02:42.449] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:42.449] base::names(opts) <- ...future.futureOptionsAdded [18:02:42.449] base::options(opts) [18:02:42.449] } [18:02:42.449] { [18:02:42.449] { [18:02:42.449] NULL [18:02:42.449] RNGkind("Mersenne-Twister") [18:02:42.449] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:42.449] inherits = FALSE) [18:02:42.449] } [18:02:42.449] options(future.plan = NULL) [18:02:42.449] if (is.na(NA_character_)) [18:02:42.449] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.449] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:42.449] future::plan(list(function (..., envir = parent.frame()) [18:02:42.449] { [18:02:42.449] future <- SequentialFuture(..., envir = envir) [18:02:42.449] if (!future$lazy) [18:02:42.449] future <- run(future) [18:02:42.449] invisible(future) [18:02:42.449] }), .cleanup = FALSE, .init = FALSE) [18:02:42.449] } [18:02:42.449] } [18:02:42.449] } [18:02:42.449] }) [18:02:42.449] if (TRUE) { [18:02:42.449] base::sink(type = "output", split = FALSE) [18:02:42.449] if (TRUE) { [18:02:42.449] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:42.449] } [18:02:42.449] else { [18:02:42.449] ...future.result["stdout"] <- base::list(NULL) [18:02:42.449] } [18:02:42.449] base::close(...future.stdout) [18:02:42.449] ...future.stdout <- NULL [18:02:42.449] } [18:02:42.449] ...future.result$conditions <- ...future.conditions [18:02:42.449] ...future.result$finished <- base::Sys.time() [18:02:42.449] ...future.result [18:02:42.449] } [18:02:42.453] plan(): Setting new future strategy stack: [18:02:42.454] List of future strategies: [18:02:42.454] 1. sequential: [18:02:42.454] - args: function (..., envir = parent.frame()) [18:02:42.454] - tweaked: FALSE [18:02:42.454] - call: NULL [18:02:42.454] plan(): nbrOfWorkers() = 1 [18:02:42.456] plan(): Setting new future strategy stack: [18:02:42.456] List of future strategies: [18:02:42.456] 1. sequential: [18:02:42.456] - args: function (..., envir = parent.frame()) [18:02:42.456] - tweaked: FALSE [18:02:42.456] - call: plan(strategy) [18:02:42.456] plan(): nbrOfWorkers() = 1 [18:02:42.457] SequentialFuture started (and completed) [18:02:42.457] - Launch lazy future ... done [18:02:42.457] run() for 'SequentialFuture' ... done [18:02:42.457] resolve() on list ... [18:02:42.458] recursive: 0 [18:02:42.458] length: 3 [18:02:42.458] elements: 'a', 'b', '' [18:02:42.458] resolved() for 'SequentialFuture' ... [18:02:42.459] - state: 'finished' [18:02:42.459] - run: TRUE [18:02:42.459] - result: 'FutureResult' [18:02:42.459] resolved() for 'SequentialFuture' ... done [18:02:42.459] Future #1 [18:02:42.460] length: 2 (resolved future 1) [18:02:42.460] resolved() for 'SequentialFuture' ... [18:02:42.460] - state: 'finished' [18:02:42.460] - run: TRUE [18:02:42.461] - result: 'FutureResult' [18:02:42.461] resolved() for 'SequentialFuture' ... done [18:02:42.461] Future #2 [18:02:42.461] length: 1 (resolved future 2) [18:02:42.461] length: 0 (resolved future 3) [18:02:42.462] resolve() on list ... DONE [18:02:42.462] resolved() for 'SequentialFuture' ... [18:02:42.462] - state: 'finished' [18:02:42.462] - run: TRUE [18:02:42.462] - result: 'FutureResult' [18:02:42.463] resolved() for 'SequentialFuture' ... done [18:02:42.463] resolved() for 'SequentialFuture' ... [18:02:42.463] - state: 'finished' [18:02:42.463] - run: TRUE [18:02:42.464] - result: 'FutureResult' [18:02:42.464] resolved() for 'SequentialFuture' ... done [18:02:42.464] getGlobalsAndPackages() ... [18:02:42.464] Searching for globals... [18:02:42.465] [18:02:42.465] Searching for globals ... DONE [18:02:42.465] - globals: [0] [18:02:42.466] getGlobalsAndPackages() ... DONE [18:02:42.466] getGlobalsAndPackages() ... [18:02:42.466] Searching for globals... [18:02:42.467] [18:02:42.467] Searching for globals ... DONE [18:02:42.467] - globals: [0] [18:02:42.467] getGlobalsAndPackages() ... DONE [18:02:42.468] run() for 'Future' ... [18:02:42.468] - state: 'created' [18:02:42.468] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:42.468] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:42.469] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:42.469] - Field: 'label' [18:02:42.469] - Field: 'local' [18:02:42.469] - Field: 'owner' [18:02:42.469] - Field: 'envir' [18:02:42.470] - Field: 'packages' [18:02:42.470] - Field: 'gc' [18:02:42.470] - Field: 'conditions' [18:02:42.470] - Field: 'expr' [18:02:42.470] - Field: 'uuid' [18:02:42.471] - Field: 'seed' [18:02:42.471] - Field: 'version' [18:02:42.471] - Field: 'result' [18:02:42.471] - Field: 'asynchronous' [18:02:42.472] - Field: 'calls' [18:02:42.472] - Field: 'globals' [18:02:42.472] - Field: 'stdout' [18:02:42.472] - Field: 'earlySignal' [18:02:42.472] - Field: 'lazy' [18:02:42.473] - Field: 'state' [18:02:42.473] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:42.473] - Launch lazy future ... [18:02:42.473] Packages needed by the future expression (n = 0): [18:02:42.473] Packages needed by future strategies (n = 0): [18:02:42.474] { [18:02:42.474] { [18:02:42.474] { [18:02:42.474] ...future.startTime <- base::Sys.time() [18:02:42.474] { [18:02:42.474] { [18:02:42.474] { [18:02:42.474] base::local({ [18:02:42.474] has_future <- base::requireNamespace("future", [18:02:42.474] quietly = TRUE) [18:02:42.474] if (has_future) { [18:02:42.474] ns <- base::getNamespace("future") [18:02:42.474] version <- ns[[".package"]][["version"]] [18:02:42.474] if (is.null(version)) [18:02:42.474] version <- utils::packageVersion("future") [18:02:42.474] } [18:02:42.474] else { [18:02:42.474] version <- NULL [18:02:42.474] } [18:02:42.474] if (!has_future || version < "1.8.0") { [18:02:42.474] info <- base::c(r_version = base::gsub("R version ", [18:02:42.474] "", base::R.version$version.string), [18:02:42.474] platform = base::sprintf("%s (%s-bit)", [18:02:42.474] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:42.474] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:42.474] "release", "version")], collapse = " "), [18:02:42.474] hostname = base::Sys.info()[["nodename"]]) [18:02:42.474] info <- base::sprintf("%s: %s", base::names(info), [18:02:42.474] info) [18:02:42.474] info <- base::paste(info, collapse = "; ") [18:02:42.474] if (!has_future) { [18:02:42.474] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:42.474] info) [18:02:42.474] } [18:02:42.474] else { [18:02:42.474] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:42.474] info, version) [18:02:42.474] } [18:02:42.474] base::stop(msg) [18:02:42.474] } [18:02:42.474] }) [18:02:42.474] } [18:02:42.474] options(future.plan = NULL) [18:02:42.474] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.474] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:42.474] } [18:02:42.474] ...future.workdir <- getwd() [18:02:42.474] } [18:02:42.474] ...future.oldOptions <- base::as.list(base::.Options) [18:02:42.474] ...future.oldEnvVars <- base::Sys.getenv() [18:02:42.474] } [18:02:42.474] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:42.474] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:42.474] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:42.474] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:42.474] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:42.474] future.stdout.windows.reencode = NULL, width = 80L) [18:02:42.474] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:42.474] base::names(...future.oldOptions)) [18:02:42.474] } [18:02:42.474] if (FALSE) { [18:02:42.474] } [18:02:42.474] else { [18:02:42.474] if (TRUE) { [18:02:42.474] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:42.474] open = "w") [18:02:42.474] } [18:02:42.474] else { [18:02:42.474] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:42.474] windows = "NUL", "/dev/null"), open = "w") [18:02:42.474] } [18:02:42.474] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:42.474] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:42.474] base::sink(type = "output", split = FALSE) [18:02:42.474] base::close(...future.stdout) [18:02:42.474] }, add = TRUE) [18:02:42.474] } [18:02:42.474] ...future.frame <- base::sys.nframe() [18:02:42.474] ...future.conditions <- base::list() [18:02:42.474] ...future.rng <- base::globalenv()$.Random.seed [18:02:42.474] if (FALSE) { [18:02:42.474] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:42.474] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:42.474] } [18:02:42.474] ...future.result <- base::tryCatch({ [18:02:42.474] base::withCallingHandlers({ [18:02:42.474] ...future.value <- base::withVisible(base::local(2)) [18:02:42.474] future::FutureResult(value = ...future.value$value, [18:02:42.474] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.474] ...future.rng), globalenv = if (FALSE) [18:02:42.474] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:42.474] ...future.globalenv.names)) [18:02:42.474] else NULL, started = ...future.startTime, version = "1.8") [18:02:42.474] }, condition = base::local({ [18:02:42.474] c <- base::c [18:02:42.474] inherits <- base::inherits [18:02:42.474] invokeRestart <- base::invokeRestart [18:02:42.474] length <- base::length [18:02:42.474] list <- base::list [18:02:42.474] seq.int <- base::seq.int [18:02:42.474] signalCondition <- base::signalCondition [18:02:42.474] sys.calls <- base::sys.calls [18:02:42.474] `[[` <- base::`[[` [18:02:42.474] `+` <- base::`+` [18:02:42.474] `<<-` <- base::`<<-` [18:02:42.474] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:42.474] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:42.474] 3L)] [18:02:42.474] } [18:02:42.474] function(cond) { [18:02:42.474] is_error <- inherits(cond, "error") [18:02:42.474] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:42.474] NULL) [18:02:42.474] if (is_error) { [18:02:42.474] sessionInformation <- function() { [18:02:42.474] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:42.474] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:42.474] search = base::search(), system = base::Sys.info()) [18:02:42.474] } [18:02:42.474] ...future.conditions[[length(...future.conditions) + [18:02:42.474] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:42.474] cond$call), session = sessionInformation(), [18:02:42.474] timestamp = base::Sys.time(), signaled = 0L) [18:02:42.474] signalCondition(cond) [18:02:42.474] } [18:02:42.474] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:42.474] "immediateCondition"))) { [18:02:42.474] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:42.474] ...future.conditions[[length(...future.conditions) + [18:02:42.474] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:42.474] if (TRUE && !signal) { [18:02:42.474] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.474] { [18:02:42.474] inherits <- base::inherits [18:02:42.474] invokeRestart <- base::invokeRestart [18:02:42.474] is.null <- base::is.null [18:02:42.474] muffled <- FALSE [18:02:42.474] if (inherits(cond, "message")) { [18:02:42.474] muffled <- grepl(pattern, "muffleMessage") [18:02:42.474] if (muffled) [18:02:42.474] invokeRestart("muffleMessage") [18:02:42.474] } [18:02:42.474] else if (inherits(cond, "warning")) { [18:02:42.474] muffled <- grepl(pattern, "muffleWarning") [18:02:42.474] if (muffled) [18:02:42.474] invokeRestart("muffleWarning") [18:02:42.474] } [18:02:42.474] else if (inherits(cond, "condition")) { [18:02:42.474] if (!is.null(pattern)) { [18:02:42.474] computeRestarts <- base::computeRestarts [18:02:42.474] grepl <- base::grepl [18:02:42.474] restarts <- computeRestarts(cond) [18:02:42.474] for (restart in restarts) { [18:02:42.474] name <- restart$name [18:02:42.474] if (is.null(name)) [18:02:42.474] next [18:02:42.474] if (!grepl(pattern, name)) [18:02:42.474] next [18:02:42.474] invokeRestart(restart) [18:02:42.474] muffled <- TRUE [18:02:42.474] break [18:02:42.474] } [18:02:42.474] } [18:02:42.474] } [18:02:42.474] invisible(muffled) [18:02:42.474] } [18:02:42.474] muffleCondition(cond, pattern = "^muffle") [18:02:42.474] } [18:02:42.474] } [18:02:42.474] else { [18:02:42.474] if (TRUE) { [18:02:42.474] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.474] { [18:02:42.474] inherits <- base::inherits [18:02:42.474] invokeRestart <- base::invokeRestart [18:02:42.474] is.null <- base::is.null [18:02:42.474] muffled <- FALSE [18:02:42.474] if (inherits(cond, "message")) { [18:02:42.474] muffled <- grepl(pattern, "muffleMessage") [18:02:42.474] if (muffled) [18:02:42.474] invokeRestart("muffleMessage") [18:02:42.474] } [18:02:42.474] else if (inherits(cond, "warning")) { [18:02:42.474] muffled <- grepl(pattern, "muffleWarning") [18:02:42.474] if (muffled) [18:02:42.474] invokeRestart("muffleWarning") [18:02:42.474] } [18:02:42.474] else if (inherits(cond, "condition")) { [18:02:42.474] if (!is.null(pattern)) { [18:02:42.474] computeRestarts <- base::computeRestarts [18:02:42.474] grepl <- base::grepl [18:02:42.474] restarts <- computeRestarts(cond) [18:02:42.474] for (restart in restarts) { [18:02:42.474] name <- restart$name [18:02:42.474] if (is.null(name)) [18:02:42.474] next [18:02:42.474] if (!grepl(pattern, name)) [18:02:42.474] next [18:02:42.474] invokeRestart(restart) [18:02:42.474] muffled <- TRUE [18:02:42.474] break [18:02:42.474] } [18:02:42.474] } [18:02:42.474] } [18:02:42.474] invisible(muffled) [18:02:42.474] } [18:02:42.474] muffleCondition(cond, pattern = "^muffle") [18:02:42.474] } [18:02:42.474] } [18:02:42.474] } [18:02:42.474] })) [18:02:42.474] }, error = function(ex) { [18:02:42.474] base::structure(base::list(value = NULL, visible = NULL, [18:02:42.474] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.474] ...future.rng), started = ...future.startTime, [18:02:42.474] finished = Sys.time(), session_uuid = NA_character_, [18:02:42.474] version = "1.8"), class = "FutureResult") [18:02:42.474] }, finally = { [18:02:42.474] if (!identical(...future.workdir, getwd())) [18:02:42.474] setwd(...future.workdir) [18:02:42.474] { [18:02:42.474] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:42.474] ...future.oldOptions$nwarnings <- NULL [18:02:42.474] } [18:02:42.474] base::options(...future.oldOptions) [18:02:42.474] if (.Platform$OS.type == "windows") { [18:02:42.474] old_names <- names(...future.oldEnvVars) [18:02:42.474] envs <- base::Sys.getenv() [18:02:42.474] names <- names(envs) [18:02:42.474] common <- intersect(names, old_names) [18:02:42.474] added <- setdiff(names, old_names) [18:02:42.474] removed <- setdiff(old_names, names) [18:02:42.474] changed <- common[...future.oldEnvVars[common] != [18:02:42.474] envs[common]] [18:02:42.474] NAMES <- toupper(changed) [18:02:42.474] args <- list() [18:02:42.474] for (kk in seq_along(NAMES)) { [18:02:42.474] name <- changed[[kk]] [18:02:42.474] NAME <- NAMES[[kk]] [18:02:42.474] if (name != NAME && is.element(NAME, old_names)) [18:02:42.474] next [18:02:42.474] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.474] } [18:02:42.474] NAMES <- toupper(added) [18:02:42.474] for (kk in seq_along(NAMES)) { [18:02:42.474] name <- added[[kk]] [18:02:42.474] NAME <- NAMES[[kk]] [18:02:42.474] if (name != NAME && is.element(NAME, old_names)) [18:02:42.474] next [18:02:42.474] args[[name]] <- "" [18:02:42.474] } [18:02:42.474] NAMES <- toupper(removed) [18:02:42.474] for (kk in seq_along(NAMES)) { [18:02:42.474] name <- removed[[kk]] [18:02:42.474] NAME <- NAMES[[kk]] [18:02:42.474] if (name != NAME && is.element(NAME, old_names)) [18:02:42.474] next [18:02:42.474] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.474] } [18:02:42.474] if (length(args) > 0) [18:02:42.474] base::do.call(base::Sys.setenv, args = args) [18:02:42.474] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:42.474] } [18:02:42.474] else { [18:02:42.474] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:42.474] } [18:02:42.474] { [18:02:42.474] if (base::length(...future.futureOptionsAdded) > [18:02:42.474] 0L) { [18:02:42.474] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:42.474] base::names(opts) <- ...future.futureOptionsAdded [18:02:42.474] base::options(opts) [18:02:42.474] } [18:02:42.474] { [18:02:42.474] { [18:02:42.474] NULL [18:02:42.474] RNGkind("Mersenne-Twister") [18:02:42.474] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:42.474] inherits = FALSE) [18:02:42.474] } [18:02:42.474] options(future.plan = NULL) [18:02:42.474] if (is.na(NA_character_)) [18:02:42.474] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.474] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:42.474] future::plan(list(function (..., envir = parent.frame()) [18:02:42.474] { [18:02:42.474] future <- SequentialFuture(..., envir = envir) [18:02:42.474] if (!future$lazy) [18:02:42.474] future <- run(future) [18:02:42.474] invisible(future) [18:02:42.474] }), .cleanup = FALSE, .init = FALSE) [18:02:42.474] } [18:02:42.474] } [18:02:42.474] } [18:02:42.474] }) [18:02:42.474] if (TRUE) { [18:02:42.474] base::sink(type = "output", split = FALSE) [18:02:42.474] if (TRUE) { [18:02:42.474] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:42.474] } [18:02:42.474] else { [18:02:42.474] ...future.result["stdout"] <- base::list(NULL) [18:02:42.474] } [18:02:42.474] base::close(...future.stdout) [18:02:42.474] ...future.stdout <- NULL [18:02:42.474] } [18:02:42.474] ...future.result$conditions <- ...future.conditions [18:02:42.474] ...future.result$finished <- base::Sys.time() [18:02:42.474] ...future.result [18:02:42.474] } [18:02:42.478] plan(): Setting new future strategy stack: [18:02:42.479] List of future strategies: [18:02:42.479] 1. sequential: [18:02:42.479] - args: function (..., envir = parent.frame()) [18:02:42.479] - tweaked: FALSE [18:02:42.479] - call: NULL [18:02:42.479] plan(): nbrOfWorkers() = 1 [18:02:42.480] plan(): Setting new future strategy stack: [18:02:42.481] List of future strategies: [18:02:42.481] 1. sequential: [18:02:42.481] - args: function (..., envir = parent.frame()) [18:02:42.481] - tweaked: FALSE [18:02:42.481] - call: plan(strategy) [18:02:42.481] plan(): nbrOfWorkers() = 1 [18:02:42.481] SequentialFuture started (and completed) [18:02:42.482] - Launch lazy future ... done [18:02:42.482] run() for 'SequentialFuture' ... done [18:02:42.482] resolve() on list ... [18:02:42.482] recursive: 0 [18:02:42.482] length: 3 [18:02:42.483] elements: 'a', 'b', '' [18:02:42.483] run() for 'Future' ... [18:02:42.483] - state: 'created' [18:02:42.483] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:42.484] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:42.484] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:42.484] - Field: 'label' [18:02:42.486] - Field: 'local' [18:02:42.486] - Field: 'owner' [18:02:42.487] - Field: 'envir' [18:02:42.487] - Field: 'packages' [18:02:42.487] - Field: 'gc' [18:02:42.487] - Field: 'conditions' [18:02:42.488] - Field: 'expr' [18:02:42.488] - Field: 'uuid' [18:02:42.488] - Field: 'seed' [18:02:42.488] - Field: 'version' [18:02:42.488] - Field: 'result' [18:02:42.489] - Field: 'asynchronous' [18:02:42.489] - Field: 'calls' [18:02:42.489] - Field: 'globals' [18:02:42.489] - Field: 'stdout' [18:02:42.489] - Field: 'earlySignal' [18:02:42.489] - Field: 'lazy' [18:02:42.490] - Field: 'state' [18:02:42.490] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:42.490] - Launch lazy future ... [18:02:42.490] Packages needed by the future expression (n = 0): [18:02:42.491] Packages needed by future strategies (n = 0): [18:02:42.491] { [18:02:42.491] { [18:02:42.491] { [18:02:42.491] ...future.startTime <- base::Sys.time() [18:02:42.491] { [18:02:42.491] { [18:02:42.491] { [18:02:42.491] base::local({ [18:02:42.491] has_future <- base::requireNamespace("future", [18:02:42.491] quietly = TRUE) [18:02:42.491] if (has_future) { [18:02:42.491] ns <- base::getNamespace("future") [18:02:42.491] version <- ns[[".package"]][["version"]] [18:02:42.491] if (is.null(version)) [18:02:42.491] version <- utils::packageVersion("future") [18:02:42.491] } [18:02:42.491] else { [18:02:42.491] version <- NULL [18:02:42.491] } [18:02:42.491] if (!has_future || version < "1.8.0") { [18:02:42.491] info <- base::c(r_version = base::gsub("R version ", [18:02:42.491] "", base::R.version$version.string), [18:02:42.491] platform = base::sprintf("%s (%s-bit)", [18:02:42.491] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:42.491] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:42.491] "release", "version")], collapse = " "), [18:02:42.491] hostname = base::Sys.info()[["nodename"]]) [18:02:42.491] info <- base::sprintf("%s: %s", base::names(info), [18:02:42.491] info) [18:02:42.491] info <- base::paste(info, collapse = "; ") [18:02:42.491] if (!has_future) { [18:02:42.491] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:42.491] info) [18:02:42.491] } [18:02:42.491] else { [18:02:42.491] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:42.491] info, version) [18:02:42.491] } [18:02:42.491] base::stop(msg) [18:02:42.491] } [18:02:42.491] }) [18:02:42.491] } [18:02:42.491] options(future.plan = NULL) [18:02:42.491] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.491] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:42.491] } [18:02:42.491] ...future.workdir <- getwd() [18:02:42.491] } [18:02:42.491] ...future.oldOptions <- base::as.list(base::.Options) [18:02:42.491] ...future.oldEnvVars <- base::Sys.getenv() [18:02:42.491] } [18:02:42.491] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:42.491] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:42.491] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:42.491] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:42.491] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:42.491] future.stdout.windows.reencode = NULL, width = 80L) [18:02:42.491] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:42.491] base::names(...future.oldOptions)) [18:02:42.491] } [18:02:42.491] if (FALSE) { [18:02:42.491] } [18:02:42.491] else { [18:02:42.491] if (TRUE) { [18:02:42.491] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:42.491] open = "w") [18:02:42.491] } [18:02:42.491] else { [18:02:42.491] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:42.491] windows = "NUL", "/dev/null"), open = "w") [18:02:42.491] } [18:02:42.491] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:42.491] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:42.491] base::sink(type = "output", split = FALSE) [18:02:42.491] base::close(...future.stdout) [18:02:42.491] }, add = TRUE) [18:02:42.491] } [18:02:42.491] ...future.frame <- base::sys.nframe() [18:02:42.491] ...future.conditions <- base::list() [18:02:42.491] ...future.rng <- base::globalenv()$.Random.seed [18:02:42.491] if (FALSE) { [18:02:42.491] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:42.491] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:42.491] } [18:02:42.491] ...future.result <- base::tryCatch({ [18:02:42.491] base::withCallingHandlers({ [18:02:42.491] ...future.value <- base::withVisible(base::local(1)) [18:02:42.491] future::FutureResult(value = ...future.value$value, [18:02:42.491] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.491] ...future.rng), globalenv = if (FALSE) [18:02:42.491] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:42.491] ...future.globalenv.names)) [18:02:42.491] else NULL, started = ...future.startTime, version = "1.8") [18:02:42.491] }, condition = base::local({ [18:02:42.491] c <- base::c [18:02:42.491] inherits <- base::inherits [18:02:42.491] invokeRestart <- base::invokeRestart [18:02:42.491] length <- base::length [18:02:42.491] list <- base::list [18:02:42.491] seq.int <- base::seq.int [18:02:42.491] signalCondition <- base::signalCondition [18:02:42.491] sys.calls <- base::sys.calls [18:02:42.491] `[[` <- base::`[[` [18:02:42.491] `+` <- base::`+` [18:02:42.491] `<<-` <- base::`<<-` [18:02:42.491] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:42.491] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:42.491] 3L)] [18:02:42.491] } [18:02:42.491] function(cond) { [18:02:42.491] is_error <- inherits(cond, "error") [18:02:42.491] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:42.491] NULL) [18:02:42.491] if (is_error) { [18:02:42.491] sessionInformation <- function() { [18:02:42.491] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:42.491] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:42.491] search = base::search(), system = base::Sys.info()) [18:02:42.491] } [18:02:42.491] ...future.conditions[[length(...future.conditions) + [18:02:42.491] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:42.491] cond$call), session = sessionInformation(), [18:02:42.491] timestamp = base::Sys.time(), signaled = 0L) [18:02:42.491] signalCondition(cond) [18:02:42.491] } [18:02:42.491] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:42.491] "immediateCondition"))) { [18:02:42.491] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:42.491] ...future.conditions[[length(...future.conditions) + [18:02:42.491] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:42.491] if (TRUE && !signal) { [18:02:42.491] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.491] { [18:02:42.491] inherits <- base::inherits [18:02:42.491] invokeRestart <- base::invokeRestart [18:02:42.491] is.null <- base::is.null [18:02:42.491] muffled <- FALSE [18:02:42.491] if (inherits(cond, "message")) { [18:02:42.491] muffled <- grepl(pattern, "muffleMessage") [18:02:42.491] if (muffled) [18:02:42.491] invokeRestart("muffleMessage") [18:02:42.491] } [18:02:42.491] else if (inherits(cond, "warning")) { [18:02:42.491] muffled <- grepl(pattern, "muffleWarning") [18:02:42.491] if (muffled) [18:02:42.491] invokeRestart("muffleWarning") [18:02:42.491] } [18:02:42.491] else if (inherits(cond, "condition")) { [18:02:42.491] if (!is.null(pattern)) { [18:02:42.491] computeRestarts <- base::computeRestarts [18:02:42.491] grepl <- base::grepl [18:02:42.491] restarts <- computeRestarts(cond) [18:02:42.491] for (restart in restarts) { [18:02:42.491] name <- restart$name [18:02:42.491] if (is.null(name)) [18:02:42.491] next [18:02:42.491] if (!grepl(pattern, name)) [18:02:42.491] next [18:02:42.491] invokeRestart(restart) [18:02:42.491] muffled <- TRUE [18:02:42.491] break [18:02:42.491] } [18:02:42.491] } [18:02:42.491] } [18:02:42.491] invisible(muffled) [18:02:42.491] } [18:02:42.491] muffleCondition(cond, pattern = "^muffle") [18:02:42.491] } [18:02:42.491] } [18:02:42.491] else { [18:02:42.491] if (TRUE) { [18:02:42.491] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.491] { [18:02:42.491] inherits <- base::inherits [18:02:42.491] invokeRestart <- base::invokeRestart [18:02:42.491] is.null <- base::is.null [18:02:42.491] muffled <- FALSE [18:02:42.491] if (inherits(cond, "message")) { [18:02:42.491] muffled <- grepl(pattern, "muffleMessage") [18:02:42.491] if (muffled) [18:02:42.491] invokeRestart("muffleMessage") [18:02:42.491] } [18:02:42.491] else if (inherits(cond, "warning")) { [18:02:42.491] muffled <- grepl(pattern, "muffleWarning") [18:02:42.491] if (muffled) [18:02:42.491] invokeRestart("muffleWarning") [18:02:42.491] } [18:02:42.491] else if (inherits(cond, "condition")) { [18:02:42.491] if (!is.null(pattern)) { [18:02:42.491] computeRestarts <- base::computeRestarts [18:02:42.491] grepl <- base::grepl [18:02:42.491] restarts <- computeRestarts(cond) [18:02:42.491] for (restart in restarts) { [18:02:42.491] name <- restart$name [18:02:42.491] if (is.null(name)) [18:02:42.491] next [18:02:42.491] if (!grepl(pattern, name)) [18:02:42.491] next [18:02:42.491] invokeRestart(restart) [18:02:42.491] muffled <- TRUE [18:02:42.491] break [18:02:42.491] } [18:02:42.491] } [18:02:42.491] } [18:02:42.491] invisible(muffled) [18:02:42.491] } [18:02:42.491] muffleCondition(cond, pattern = "^muffle") [18:02:42.491] } [18:02:42.491] } [18:02:42.491] } [18:02:42.491] })) [18:02:42.491] }, error = function(ex) { [18:02:42.491] base::structure(base::list(value = NULL, visible = NULL, [18:02:42.491] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.491] ...future.rng), started = ...future.startTime, [18:02:42.491] finished = Sys.time(), session_uuid = NA_character_, [18:02:42.491] version = "1.8"), class = "FutureResult") [18:02:42.491] }, finally = { [18:02:42.491] if (!identical(...future.workdir, getwd())) [18:02:42.491] setwd(...future.workdir) [18:02:42.491] { [18:02:42.491] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:42.491] ...future.oldOptions$nwarnings <- NULL [18:02:42.491] } [18:02:42.491] base::options(...future.oldOptions) [18:02:42.491] if (.Platform$OS.type == "windows") { [18:02:42.491] old_names <- names(...future.oldEnvVars) [18:02:42.491] envs <- base::Sys.getenv() [18:02:42.491] names <- names(envs) [18:02:42.491] common <- intersect(names, old_names) [18:02:42.491] added <- setdiff(names, old_names) [18:02:42.491] removed <- setdiff(old_names, names) [18:02:42.491] changed <- common[...future.oldEnvVars[common] != [18:02:42.491] envs[common]] [18:02:42.491] NAMES <- toupper(changed) [18:02:42.491] args <- list() [18:02:42.491] for (kk in seq_along(NAMES)) { [18:02:42.491] name <- changed[[kk]] [18:02:42.491] NAME <- NAMES[[kk]] [18:02:42.491] if (name != NAME && is.element(NAME, old_names)) [18:02:42.491] next [18:02:42.491] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.491] } [18:02:42.491] NAMES <- toupper(added) [18:02:42.491] for (kk in seq_along(NAMES)) { [18:02:42.491] name <- added[[kk]] [18:02:42.491] NAME <- NAMES[[kk]] [18:02:42.491] if (name != NAME && is.element(NAME, old_names)) [18:02:42.491] next [18:02:42.491] args[[name]] <- "" [18:02:42.491] } [18:02:42.491] NAMES <- toupper(removed) [18:02:42.491] for (kk in seq_along(NAMES)) { [18:02:42.491] name <- removed[[kk]] [18:02:42.491] NAME <- NAMES[[kk]] [18:02:42.491] if (name != NAME && is.element(NAME, old_names)) [18:02:42.491] next [18:02:42.491] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.491] } [18:02:42.491] if (length(args) > 0) [18:02:42.491] base::do.call(base::Sys.setenv, args = args) [18:02:42.491] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:42.491] } [18:02:42.491] else { [18:02:42.491] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:42.491] } [18:02:42.491] { [18:02:42.491] if (base::length(...future.futureOptionsAdded) > [18:02:42.491] 0L) { [18:02:42.491] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:42.491] base::names(opts) <- ...future.futureOptionsAdded [18:02:42.491] base::options(opts) [18:02:42.491] } [18:02:42.491] { [18:02:42.491] { [18:02:42.491] NULL [18:02:42.491] RNGkind("Mersenne-Twister") [18:02:42.491] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:42.491] inherits = FALSE) [18:02:42.491] } [18:02:42.491] options(future.plan = NULL) [18:02:42.491] if (is.na(NA_character_)) [18:02:42.491] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.491] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:42.491] future::plan(list(function (..., envir = parent.frame()) [18:02:42.491] { [18:02:42.491] future <- SequentialFuture(..., envir = envir) [18:02:42.491] if (!future$lazy) [18:02:42.491] future <- run(future) [18:02:42.491] invisible(future) [18:02:42.491] }), .cleanup = FALSE, .init = FALSE) [18:02:42.491] } [18:02:42.491] } [18:02:42.491] } [18:02:42.491] }) [18:02:42.491] if (TRUE) { [18:02:42.491] base::sink(type = "output", split = FALSE) [18:02:42.491] if (TRUE) { [18:02:42.491] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:42.491] } [18:02:42.491] else { [18:02:42.491] ...future.result["stdout"] <- base::list(NULL) [18:02:42.491] } [18:02:42.491] base::close(...future.stdout) [18:02:42.491] ...future.stdout <- NULL [18:02:42.491] } [18:02:42.491] ...future.result$conditions <- ...future.conditions [18:02:42.491] ...future.result$finished <- base::Sys.time() [18:02:42.491] ...future.result [18:02:42.491] } [18:02:42.495] plan(): Setting new future strategy stack: [18:02:42.495] List of future strategies: [18:02:42.495] 1. sequential: [18:02:42.495] - args: function (..., envir = parent.frame()) [18:02:42.495] - tweaked: FALSE [18:02:42.495] - call: NULL [18:02:42.496] plan(): nbrOfWorkers() = 1 [18:02:42.497] plan(): Setting new future strategy stack: [18:02:42.497] List of future strategies: [18:02:42.497] 1. sequential: [18:02:42.497] - args: function (..., envir = parent.frame()) [18:02:42.497] - tweaked: FALSE [18:02:42.497] - call: plan(strategy) [18:02:42.498] plan(): nbrOfWorkers() = 1 [18:02:42.498] SequentialFuture started (and completed) [18:02:42.498] - Launch lazy future ... done [18:02:42.499] run() for 'SequentialFuture' ... done [18:02:42.499] resolved() for 'SequentialFuture' ... [18:02:42.499] - state: 'finished' [18:02:42.499] - run: TRUE [18:02:42.499] - result: 'FutureResult' [18:02:42.500] resolved() for 'SequentialFuture' ... done [18:02:42.500] Future #1 [18:02:42.500] length: 2 (resolved future 1) [18:02:42.500] resolved() for 'SequentialFuture' ... [18:02:42.500] - state: 'finished' [18:02:42.501] - run: TRUE [18:02:42.501] - result: 'FutureResult' [18:02:42.501] resolved() for 'SequentialFuture' ... done [18:02:42.501] Future #2 [18:02:42.501] length: 1 (resolved future 2) [18:02:42.502] length: 0 (resolved future 3) [18:02:42.502] resolve() on list ... DONE [18:02:42.502] resolved() for 'SequentialFuture' ... [18:02:42.502] - state: 'finished' [18:02:42.502] - run: TRUE [18:02:42.503] - result: 'FutureResult' [18:02:42.503] resolved() for 'SequentialFuture' ... done [18:02:42.503] resolved() for 'SequentialFuture' ... [18:02:42.503] - state: 'finished' [18:02:42.503] - run: TRUE [18:02:42.504] - result: 'FutureResult' [18:02:42.504] resolved() for 'SequentialFuture' ... done [18:02:42.504] getGlobalsAndPackages() ... [18:02:42.504] Searching for globals... [18:02:42.505] [18:02:42.505] Searching for globals ... DONE [18:02:42.505] - globals: [0] [18:02:42.505] getGlobalsAndPackages() ... DONE [18:02:42.505] getGlobalsAndPackages() ... [18:02:42.506] Searching for globals... [18:02:42.506] [18:02:42.506] Searching for globals ... DONE [18:02:42.506] - globals: [0] [18:02:42.506] getGlobalsAndPackages() ... DONE [18:02:42.507] resolve() on list ... [18:02:42.507] recursive: 0 [18:02:42.507] length: 3 [18:02:42.507] elements: 'a', 'b', '' [18:02:42.508] run() for 'Future' ... [18:02:42.508] - state: 'created' [18:02:42.508] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:42.508] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:42.509] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:42.509] - Field: 'label' [18:02:42.509] - Field: 'local' [18:02:42.509] - Field: 'owner' [18:02:42.509] - Field: 'envir' [18:02:42.510] - Field: 'packages' [18:02:42.510] - Field: 'gc' [18:02:42.510] - Field: 'conditions' [18:02:42.510] - Field: 'expr' [18:02:42.510] - Field: 'uuid' [18:02:42.510] - Field: 'seed' [18:02:42.511] - Field: 'version' [18:02:42.511] - Field: 'result' [18:02:42.511] - Field: 'asynchronous' [18:02:42.511] - Field: 'calls' [18:02:42.511] - Field: 'globals' [18:02:42.512] - Field: 'stdout' [18:02:42.512] - Field: 'earlySignal' [18:02:42.512] - Field: 'lazy' [18:02:42.512] - Field: 'state' [18:02:42.513] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:42.513] - Launch lazy future ... [18:02:42.513] Packages needed by the future expression (n = 0): [18:02:42.513] Packages needed by future strategies (n = 0): [18:02:42.514] { [18:02:42.514] { [18:02:42.514] { [18:02:42.514] ...future.startTime <- base::Sys.time() [18:02:42.514] { [18:02:42.514] { [18:02:42.514] { [18:02:42.514] base::local({ [18:02:42.514] has_future <- base::requireNamespace("future", [18:02:42.514] quietly = TRUE) [18:02:42.514] if (has_future) { [18:02:42.514] ns <- base::getNamespace("future") [18:02:42.514] version <- ns[[".package"]][["version"]] [18:02:42.514] if (is.null(version)) [18:02:42.514] version <- utils::packageVersion("future") [18:02:42.514] } [18:02:42.514] else { [18:02:42.514] version <- NULL [18:02:42.514] } [18:02:42.514] if (!has_future || version < "1.8.0") { [18:02:42.514] info <- base::c(r_version = base::gsub("R version ", [18:02:42.514] "", base::R.version$version.string), [18:02:42.514] platform = base::sprintf("%s (%s-bit)", [18:02:42.514] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:42.514] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:42.514] "release", "version")], collapse = " "), [18:02:42.514] hostname = base::Sys.info()[["nodename"]]) [18:02:42.514] info <- base::sprintf("%s: %s", base::names(info), [18:02:42.514] info) [18:02:42.514] info <- base::paste(info, collapse = "; ") [18:02:42.514] if (!has_future) { [18:02:42.514] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:42.514] info) [18:02:42.514] } [18:02:42.514] else { [18:02:42.514] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:42.514] info, version) [18:02:42.514] } [18:02:42.514] base::stop(msg) [18:02:42.514] } [18:02:42.514] }) [18:02:42.514] } [18:02:42.514] options(future.plan = NULL) [18:02:42.514] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.514] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:42.514] } [18:02:42.514] ...future.workdir <- getwd() [18:02:42.514] } [18:02:42.514] ...future.oldOptions <- base::as.list(base::.Options) [18:02:42.514] ...future.oldEnvVars <- base::Sys.getenv() [18:02:42.514] } [18:02:42.514] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:42.514] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:42.514] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:42.514] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:42.514] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:42.514] future.stdout.windows.reencode = NULL, width = 80L) [18:02:42.514] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:42.514] base::names(...future.oldOptions)) [18:02:42.514] } [18:02:42.514] if (FALSE) { [18:02:42.514] } [18:02:42.514] else { [18:02:42.514] if (TRUE) { [18:02:42.514] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:42.514] open = "w") [18:02:42.514] } [18:02:42.514] else { [18:02:42.514] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:42.514] windows = "NUL", "/dev/null"), open = "w") [18:02:42.514] } [18:02:42.514] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:42.514] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:42.514] base::sink(type = "output", split = FALSE) [18:02:42.514] base::close(...future.stdout) [18:02:42.514] }, add = TRUE) [18:02:42.514] } [18:02:42.514] ...future.frame <- base::sys.nframe() [18:02:42.514] ...future.conditions <- base::list() [18:02:42.514] ...future.rng <- base::globalenv()$.Random.seed [18:02:42.514] if (FALSE) { [18:02:42.514] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:42.514] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:42.514] } [18:02:42.514] ...future.result <- base::tryCatch({ [18:02:42.514] base::withCallingHandlers({ [18:02:42.514] ...future.value <- base::withVisible(base::local(1)) [18:02:42.514] future::FutureResult(value = ...future.value$value, [18:02:42.514] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.514] ...future.rng), globalenv = if (FALSE) [18:02:42.514] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:42.514] ...future.globalenv.names)) [18:02:42.514] else NULL, started = ...future.startTime, version = "1.8") [18:02:42.514] }, condition = base::local({ [18:02:42.514] c <- base::c [18:02:42.514] inherits <- base::inherits [18:02:42.514] invokeRestart <- base::invokeRestart [18:02:42.514] length <- base::length [18:02:42.514] list <- base::list [18:02:42.514] seq.int <- base::seq.int [18:02:42.514] signalCondition <- base::signalCondition [18:02:42.514] sys.calls <- base::sys.calls [18:02:42.514] `[[` <- base::`[[` [18:02:42.514] `+` <- base::`+` [18:02:42.514] `<<-` <- base::`<<-` [18:02:42.514] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:42.514] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:42.514] 3L)] [18:02:42.514] } [18:02:42.514] function(cond) { [18:02:42.514] is_error <- inherits(cond, "error") [18:02:42.514] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:42.514] NULL) [18:02:42.514] if (is_error) { [18:02:42.514] sessionInformation <- function() { [18:02:42.514] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:42.514] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:42.514] search = base::search(), system = base::Sys.info()) [18:02:42.514] } [18:02:42.514] ...future.conditions[[length(...future.conditions) + [18:02:42.514] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:42.514] cond$call), session = sessionInformation(), [18:02:42.514] timestamp = base::Sys.time(), signaled = 0L) [18:02:42.514] signalCondition(cond) [18:02:42.514] } [18:02:42.514] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:42.514] "immediateCondition"))) { [18:02:42.514] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:42.514] ...future.conditions[[length(...future.conditions) + [18:02:42.514] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:42.514] if (TRUE && !signal) { [18:02:42.514] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.514] { [18:02:42.514] inherits <- base::inherits [18:02:42.514] invokeRestart <- base::invokeRestart [18:02:42.514] is.null <- base::is.null [18:02:42.514] muffled <- FALSE [18:02:42.514] if (inherits(cond, "message")) { [18:02:42.514] muffled <- grepl(pattern, "muffleMessage") [18:02:42.514] if (muffled) [18:02:42.514] invokeRestart("muffleMessage") [18:02:42.514] } [18:02:42.514] else if (inherits(cond, "warning")) { [18:02:42.514] muffled <- grepl(pattern, "muffleWarning") [18:02:42.514] if (muffled) [18:02:42.514] invokeRestart("muffleWarning") [18:02:42.514] } [18:02:42.514] else if (inherits(cond, "condition")) { [18:02:42.514] if (!is.null(pattern)) { [18:02:42.514] computeRestarts <- base::computeRestarts [18:02:42.514] grepl <- base::grepl [18:02:42.514] restarts <- computeRestarts(cond) [18:02:42.514] for (restart in restarts) { [18:02:42.514] name <- restart$name [18:02:42.514] if (is.null(name)) [18:02:42.514] next [18:02:42.514] if (!grepl(pattern, name)) [18:02:42.514] next [18:02:42.514] invokeRestart(restart) [18:02:42.514] muffled <- TRUE [18:02:42.514] break [18:02:42.514] } [18:02:42.514] } [18:02:42.514] } [18:02:42.514] invisible(muffled) [18:02:42.514] } [18:02:42.514] muffleCondition(cond, pattern = "^muffle") [18:02:42.514] } [18:02:42.514] } [18:02:42.514] else { [18:02:42.514] if (TRUE) { [18:02:42.514] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.514] { [18:02:42.514] inherits <- base::inherits [18:02:42.514] invokeRestart <- base::invokeRestart [18:02:42.514] is.null <- base::is.null [18:02:42.514] muffled <- FALSE [18:02:42.514] if (inherits(cond, "message")) { [18:02:42.514] muffled <- grepl(pattern, "muffleMessage") [18:02:42.514] if (muffled) [18:02:42.514] invokeRestart("muffleMessage") [18:02:42.514] } [18:02:42.514] else if (inherits(cond, "warning")) { [18:02:42.514] muffled <- grepl(pattern, "muffleWarning") [18:02:42.514] if (muffled) [18:02:42.514] invokeRestart("muffleWarning") [18:02:42.514] } [18:02:42.514] else if (inherits(cond, "condition")) { [18:02:42.514] if (!is.null(pattern)) { [18:02:42.514] computeRestarts <- base::computeRestarts [18:02:42.514] grepl <- base::grepl [18:02:42.514] restarts <- computeRestarts(cond) [18:02:42.514] for (restart in restarts) { [18:02:42.514] name <- restart$name [18:02:42.514] if (is.null(name)) [18:02:42.514] next [18:02:42.514] if (!grepl(pattern, name)) [18:02:42.514] next [18:02:42.514] invokeRestart(restart) [18:02:42.514] muffled <- TRUE [18:02:42.514] break [18:02:42.514] } [18:02:42.514] } [18:02:42.514] } [18:02:42.514] invisible(muffled) [18:02:42.514] } [18:02:42.514] muffleCondition(cond, pattern = "^muffle") [18:02:42.514] } [18:02:42.514] } [18:02:42.514] } [18:02:42.514] })) [18:02:42.514] }, error = function(ex) { [18:02:42.514] base::structure(base::list(value = NULL, visible = NULL, [18:02:42.514] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.514] ...future.rng), started = ...future.startTime, [18:02:42.514] finished = Sys.time(), session_uuid = NA_character_, [18:02:42.514] version = "1.8"), class = "FutureResult") [18:02:42.514] }, finally = { [18:02:42.514] if (!identical(...future.workdir, getwd())) [18:02:42.514] setwd(...future.workdir) [18:02:42.514] { [18:02:42.514] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:42.514] ...future.oldOptions$nwarnings <- NULL [18:02:42.514] } [18:02:42.514] base::options(...future.oldOptions) [18:02:42.514] if (.Platform$OS.type == "windows") { [18:02:42.514] old_names <- names(...future.oldEnvVars) [18:02:42.514] envs <- base::Sys.getenv() [18:02:42.514] names <- names(envs) [18:02:42.514] common <- intersect(names, old_names) [18:02:42.514] added <- setdiff(names, old_names) [18:02:42.514] removed <- setdiff(old_names, names) [18:02:42.514] changed <- common[...future.oldEnvVars[common] != [18:02:42.514] envs[common]] [18:02:42.514] NAMES <- toupper(changed) [18:02:42.514] args <- list() [18:02:42.514] for (kk in seq_along(NAMES)) { [18:02:42.514] name <- changed[[kk]] [18:02:42.514] NAME <- NAMES[[kk]] [18:02:42.514] if (name != NAME && is.element(NAME, old_names)) [18:02:42.514] next [18:02:42.514] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.514] } [18:02:42.514] NAMES <- toupper(added) [18:02:42.514] for (kk in seq_along(NAMES)) { [18:02:42.514] name <- added[[kk]] [18:02:42.514] NAME <- NAMES[[kk]] [18:02:42.514] if (name != NAME && is.element(NAME, old_names)) [18:02:42.514] next [18:02:42.514] args[[name]] <- "" [18:02:42.514] } [18:02:42.514] NAMES <- toupper(removed) [18:02:42.514] for (kk in seq_along(NAMES)) { [18:02:42.514] name <- removed[[kk]] [18:02:42.514] NAME <- NAMES[[kk]] [18:02:42.514] if (name != NAME && is.element(NAME, old_names)) [18:02:42.514] next [18:02:42.514] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.514] } [18:02:42.514] if (length(args) > 0) [18:02:42.514] base::do.call(base::Sys.setenv, args = args) [18:02:42.514] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:42.514] } [18:02:42.514] else { [18:02:42.514] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:42.514] } [18:02:42.514] { [18:02:42.514] if (base::length(...future.futureOptionsAdded) > [18:02:42.514] 0L) { [18:02:42.514] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:42.514] base::names(opts) <- ...future.futureOptionsAdded [18:02:42.514] base::options(opts) [18:02:42.514] } [18:02:42.514] { [18:02:42.514] { [18:02:42.514] NULL [18:02:42.514] RNGkind("Mersenne-Twister") [18:02:42.514] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:42.514] inherits = FALSE) [18:02:42.514] } [18:02:42.514] options(future.plan = NULL) [18:02:42.514] if (is.na(NA_character_)) [18:02:42.514] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.514] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:42.514] future::plan(list(function (..., envir = parent.frame()) [18:02:42.514] { [18:02:42.514] future <- SequentialFuture(..., envir = envir) [18:02:42.514] if (!future$lazy) [18:02:42.514] future <- run(future) [18:02:42.514] invisible(future) [18:02:42.514] }), .cleanup = FALSE, .init = FALSE) [18:02:42.514] } [18:02:42.514] } [18:02:42.514] } [18:02:42.514] }) [18:02:42.514] if (TRUE) { [18:02:42.514] base::sink(type = "output", split = FALSE) [18:02:42.514] if (TRUE) { [18:02:42.514] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:42.514] } [18:02:42.514] else { [18:02:42.514] ...future.result["stdout"] <- base::list(NULL) [18:02:42.514] } [18:02:42.514] base::close(...future.stdout) [18:02:42.514] ...future.stdout <- NULL [18:02:42.514] } [18:02:42.514] ...future.result$conditions <- ...future.conditions [18:02:42.514] ...future.result$finished <- base::Sys.time() [18:02:42.514] ...future.result [18:02:42.514] } [18:02:42.518] plan(): Setting new future strategy stack: [18:02:42.518] List of future strategies: [18:02:42.518] 1. sequential: [18:02:42.518] - args: function (..., envir = parent.frame()) [18:02:42.518] - tweaked: FALSE [18:02:42.518] - call: NULL [18:02:42.519] plan(): nbrOfWorkers() = 1 [18:02:42.520] plan(): Setting new future strategy stack: [18:02:42.520] List of future strategies: [18:02:42.520] 1. sequential: [18:02:42.520] - args: function (..., envir = parent.frame()) [18:02:42.520] - tweaked: FALSE [18:02:42.520] - call: plan(strategy) [18:02:42.521] plan(): nbrOfWorkers() = 1 [18:02:42.521] SequentialFuture started (and completed) [18:02:42.521] - Launch lazy future ... done [18:02:42.521] run() for 'SequentialFuture' ... done [18:02:42.522] resolved() for 'SequentialFuture' ... [18:02:42.522] - state: 'finished' [18:02:42.522] - run: TRUE [18:02:42.522] - result: 'FutureResult' [18:02:42.522] resolved() for 'SequentialFuture' ... done [18:02:42.523] Future #1 [18:02:42.523] length: 2 (resolved future 1) [18:02:42.523] run() for 'Future' ... [18:02:42.523] - state: 'created' [18:02:42.524] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:42.524] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:42.524] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:42.524] - Field: 'label' [18:02:42.525] - Field: 'local' [18:02:42.525] - Field: 'owner' [18:02:42.525] - Field: 'envir' [18:02:42.525] - Field: 'packages' [18:02:42.525] - Field: 'gc' [18:02:42.526] - Field: 'conditions' [18:02:42.526] - Field: 'expr' [18:02:42.526] - Field: 'uuid' [18:02:42.526] - Field: 'seed' [18:02:42.526] - Field: 'version' [18:02:42.527] - Field: 'result' [18:02:42.527] - Field: 'asynchronous' [18:02:42.527] - Field: 'calls' [18:02:42.527] - Field: 'globals' [18:02:42.527] - Field: 'stdout' [18:02:42.528] - Field: 'earlySignal' [18:02:42.528] - Field: 'lazy' [18:02:42.528] - Field: 'state' [18:02:42.528] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:42.528] - Launch lazy future ... [18:02:42.529] Packages needed by the future expression (n = 0): [18:02:42.529] Packages needed by future strategies (n = 0): [18:02:42.529] { [18:02:42.529] { [18:02:42.529] { [18:02:42.529] ...future.startTime <- base::Sys.time() [18:02:42.529] { [18:02:42.529] { [18:02:42.529] { [18:02:42.529] base::local({ [18:02:42.529] has_future <- base::requireNamespace("future", [18:02:42.529] quietly = TRUE) [18:02:42.529] if (has_future) { [18:02:42.529] ns <- base::getNamespace("future") [18:02:42.529] version <- ns[[".package"]][["version"]] [18:02:42.529] if (is.null(version)) [18:02:42.529] version <- utils::packageVersion("future") [18:02:42.529] } [18:02:42.529] else { [18:02:42.529] version <- NULL [18:02:42.529] } [18:02:42.529] if (!has_future || version < "1.8.0") { [18:02:42.529] info <- base::c(r_version = base::gsub("R version ", [18:02:42.529] "", base::R.version$version.string), [18:02:42.529] platform = base::sprintf("%s (%s-bit)", [18:02:42.529] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:42.529] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:42.529] "release", "version")], collapse = " "), [18:02:42.529] hostname = base::Sys.info()[["nodename"]]) [18:02:42.529] info <- base::sprintf("%s: %s", base::names(info), [18:02:42.529] info) [18:02:42.529] info <- base::paste(info, collapse = "; ") [18:02:42.529] if (!has_future) { [18:02:42.529] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:42.529] info) [18:02:42.529] } [18:02:42.529] else { [18:02:42.529] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:42.529] info, version) [18:02:42.529] } [18:02:42.529] base::stop(msg) [18:02:42.529] } [18:02:42.529] }) [18:02:42.529] } [18:02:42.529] options(future.plan = NULL) [18:02:42.529] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.529] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:42.529] } [18:02:42.529] ...future.workdir <- getwd() [18:02:42.529] } [18:02:42.529] ...future.oldOptions <- base::as.list(base::.Options) [18:02:42.529] ...future.oldEnvVars <- base::Sys.getenv() [18:02:42.529] } [18:02:42.529] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:42.529] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:42.529] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:42.529] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:42.529] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:42.529] future.stdout.windows.reencode = NULL, width = 80L) [18:02:42.529] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:42.529] base::names(...future.oldOptions)) [18:02:42.529] } [18:02:42.529] if (FALSE) { [18:02:42.529] } [18:02:42.529] else { [18:02:42.529] if (TRUE) { [18:02:42.529] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:42.529] open = "w") [18:02:42.529] } [18:02:42.529] else { [18:02:42.529] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:42.529] windows = "NUL", "/dev/null"), open = "w") [18:02:42.529] } [18:02:42.529] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:42.529] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:42.529] base::sink(type = "output", split = FALSE) [18:02:42.529] base::close(...future.stdout) [18:02:42.529] }, add = TRUE) [18:02:42.529] } [18:02:42.529] ...future.frame <- base::sys.nframe() [18:02:42.529] ...future.conditions <- base::list() [18:02:42.529] ...future.rng <- base::globalenv()$.Random.seed [18:02:42.529] if (FALSE) { [18:02:42.529] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:42.529] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:42.529] } [18:02:42.529] ...future.result <- base::tryCatch({ [18:02:42.529] base::withCallingHandlers({ [18:02:42.529] ...future.value <- base::withVisible(base::local(2)) [18:02:42.529] future::FutureResult(value = ...future.value$value, [18:02:42.529] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.529] ...future.rng), globalenv = if (FALSE) [18:02:42.529] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:42.529] ...future.globalenv.names)) [18:02:42.529] else NULL, started = ...future.startTime, version = "1.8") [18:02:42.529] }, condition = base::local({ [18:02:42.529] c <- base::c [18:02:42.529] inherits <- base::inherits [18:02:42.529] invokeRestart <- base::invokeRestart [18:02:42.529] length <- base::length [18:02:42.529] list <- base::list [18:02:42.529] seq.int <- base::seq.int [18:02:42.529] signalCondition <- base::signalCondition [18:02:42.529] sys.calls <- base::sys.calls [18:02:42.529] `[[` <- base::`[[` [18:02:42.529] `+` <- base::`+` [18:02:42.529] `<<-` <- base::`<<-` [18:02:42.529] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:42.529] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:42.529] 3L)] [18:02:42.529] } [18:02:42.529] function(cond) { [18:02:42.529] is_error <- inherits(cond, "error") [18:02:42.529] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:42.529] NULL) [18:02:42.529] if (is_error) { [18:02:42.529] sessionInformation <- function() { [18:02:42.529] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:42.529] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:42.529] search = base::search(), system = base::Sys.info()) [18:02:42.529] } [18:02:42.529] ...future.conditions[[length(...future.conditions) + [18:02:42.529] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:42.529] cond$call), session = sessionInformation(), [18:02:42.529] timestamp = base::Sys.time(), signaled = 0L) [18:02:42.529] signalCondition(cond) [18:02:42.529] } [18:02:42.529] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:42.529] "immediateCondition"))) { [18:02:42.529] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:42.529] ...future.conditions[[length(...future.conditions) + [18:02:42.529] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:42.529] if (TRUE && !signal) { [18:02:42.529] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.529] { [18:02:42.529] inherits <- base::inherits [18:02:42.529] invokeRestart <- base::invokeRestart [18:02:42.529] is.null <- base::is.null [18:02:42.529] muffled <- FALSE [18:02:42.529] if (inherits(cond, "message")) { [18:02:42.529] muffled <- grepl(pattern, "muffleMessage") [18:02:42.529] if (muffled) [18:02:42.529] invokeRestart("muffleMessage") [18:02:42.529] } [18:02:42.529] else if (inherits(cond, "warning")) { [18:02:42.529] muffled <- grepl(pattern, "muffleWarning") [18:02:42.529] if (muffled) [18:02:42.529] invokeRestart("muffleWarning") [18:02:42.529] } [18:02:42.529] else if (inherits(cond, "condition")) { [18:02:42.529] if (!is.null(pattern)) { [18:02:42.529] computeRestarts <- base::computeRestarts [18:02:42.529] grepl <- base::grepl [18:02:42.529] restarts <- computeRestarts(cond) [18:02:42.529] for (restart in restarts) { [18:02:42.529] name <- restart$name [18:02:42.529] if (is.null(name)) [18:02:42.529] next [18:02:42.529] if (!grepl(pattern, name)) [18:02:42.529] next [18:02:42.529] invokeRestart(restart) [18:02:42.529] muffled <- TRUE [18:02:42.529] break [18:02:42.529] } [18:02:42.529] } [18:02:42.529] } [18:02:42.529] invisible(muffled) [18:02:42.529] } [18:02:42.529] muffleCondition(cond, pattern = "^muffle") [18:02:42.529] } [18:02:42.529] } [18:02:42.529] else { [18:02:42.529] if (TRUE) { [18:02:42.529] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.529] { [18:02:42.529] inherits <- base::inherits [18:02:42.529] invokeRestart <- base::invokeRestart [18:02:42.529] is.null <- base::is.null [18:02:42.529] muffled <- FALSE [18:02:42.529] if (inherits(cond, "message")) { [18:02:42.529] muffled <- grepl(pattern, "muffleMessage") [18:02:42.529] if (muffled) [18:02:42.529] invokeRestart("muffleMessage") [18:02:42.529] } [18:02:42.529] else if (inherits(cond, "warning")) { [18:02:42.529] muffled <- grepl(pattern, "muffleWarning") [18:02:42.529] if (muffled) [18:02:42.529] invokeRestart("muffleWarning") [18:02:42.529] } [18:02:42.529] else if (inherits(cond, "condition")) { [18:02:42.529] if (!is.null(pattern)) { [18:02:42.529] computeRestarts <- base::computeRestarts [18:02:42.529] grepl <- base::grepl [18:02:42.529] restarts <- computeRestarts(cond) [18:02:42.529] for (restart in restarts) { [18:02:42.529] name <- restart$name [18:02:42.529] if (is.null(name)) [18:02:42.529] next [18:02:42.529] if (!grepl(pattern, name)) [18:02:42.529] next [18:02:42.529] invokeRestart(restart) [18:02:42.529] muffled <- TRUE [18:02:42.529] break [18:02:42.529] } [18:02:42.529] } [18:02:42.529] } [18:02:42.529] invisible(muffled) [18:02:42.529] } [18:02:42.529] muffleCondition(cond, pattern = "^muffle") [18:02:42.529] } [18:02:42.529] } [18:02:42.529] } [18:02:42.529] })) [18:02:42.529] }, error = function(ex) { [18:02:42.529] base::structure(base::list(value = NULL, visible = NULL, [18:02:42.529] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.529] ...future.rng), started = ...future.startTime, [18:02:42.529] finished = Sys.time(), session_uuid = NA_character_, [18:02:42.529] version = "1.8"), class = "FutureResult") [18:02:42.529] }, finally = { [18:02:42.529] if (!identical(...future.workdir, getwd())) [18:02:42.529] setwd(...future.workdir) [18:02:42.529] { [18:02:42.529] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:42.529] ...future.oldOptions$nwarnings <- NULL [18:02:42.529] } [18:02:42.529] base::options(...future.oldOptions) [18:02:42.529] if (.Platform$OS.type == "windows") { [18:02:42.529] old_names <- names(...future.oldEnvVars) [18:02:42.529] envs <- base::Sys.getenv() [18:02:42.529] names <- names(envs) [18:02:42.529] common <- intersect(names, old_names) [18:02:42.529] added <- setdiff(names, old_names) [18:02:42.529] removed <- setdiff(old_names, names) [18:02:42.529] changed <- common[...future.oldEnvVars[common] != [18:02:42.529] envs[common]] [18:02:42.529] NAMES <- toupper(changed) [18:02:42.529] args <- list() [18:02:42.529] for (kk in seq_along(NAMES)) { [18:02:42.529] name <- changed[[kk]] [18:02:42.529] NAME <- NAMES[[kk]] [18:02:42.529] if (name != NAME && is.element(NAME, old_names)) [18:02:42.529] next [18:02:42.529] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.529] } [18:02:42.529] NAMES <- toupper(added) [18:02:42.529] for (kk in seq_along(NAMES)) { [18:02:42.529] name <- added[[kk]] [18:02:42.529] NAME <- NAMES[[kk]] [18:02:42.529] if (name != NAME && is.element(NAME, old_names)) [18:02:42.529] next [18:02:42.529] args[[name]] <- "" [18:02:42.529] } [18:02:42.529] NAMES <- toupper(removed) [18:02:42.529] for (kk in seq_along(NAMES)) { [18:02:42.529] name <- removed[[kk]] [18:02:42.529] NAME <- NAMES[[kk]] [18:02:42.529] if (name != NAME && is.element(NAME, old_names)) [18:02:42.529] next [18:02:42.529] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.529] } [18:02:42.529] if (length(args) > 0) [18:02:42.529] base::do.call(base::Sys.setenv, args = args) [18:02:42.529] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:42.529] } [18:02:42.529] else { [18:02:42.529] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:42.529] } [18:02:42.529] { [18:02:42.529] if (base::length(...future.futureOptionsAdded) > [18:02:42.529] 0L) { [18:02:42.529] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:42.529] base::names(opts) <- ...future.futureOptionsAdded [18:02:42.529] base::options(opts) [18:02:42.529] } [18:02:42.529] { [18:02:42.529] { [18:02:42.529] NULL [18:02:42.529] RNGkind("Mersenne-Twister") [18:02:42.529] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:42.529] inherits = FALSE) [18:02:42.529] } [18:02:42.529] options(future.plan = NULL) [18:02:42.529] if (is.na(NA_character_)) [18:02:42.529] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.529] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:42.529] future::plan(list(function (..., envir = parent.frame()) [18:02:42.529] { [18:02:42.529] future <- SequentialFuture(..., envir = envir) [18:02:42.529] if (!future$lazy) [18:02:42.529] future <- run(future) [18:02:42.529] invisible(future) [18:02:42.529] }), .cleanup = FALSE, .init = FALSE) [18:02:42.529] } [18:02:42.529] } [18:02:42.529] } [18:02:42.529] }) [18:02:42.529] if (TRUE) { [18:02:42.529] base::sink(type = "output", split = FALSE) [18:02:42.529] if (TRUE) { [18:02:42.529] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:42.529] } [18:02:42.529] else { [18:02:42.529] ...future.result["stdout"] <- base::list(NULL) [18:02:42.529] } [18:02:42.529] base::close(...future.stdout) [18:02:42.529] ...future.stdout <- NULL [18:02:42.529] } [18:02:42.529] ...future.result$conditions <- ...future.conditions [18:02:42.529] ...future.result$finished <- base::Sys.time() [18:02:42.529] ...future.result [18:02:42.529] } [18:02:42.534] plan(): Setting new future strategy stack: [18:02:42.534] List of future strategies: [18:02:42.534] 1. sequential: [18:02:42.534] - args: function (..., envir = parent.frame()) [18:02:42.534] - tweaked: FALSE [18:02:42.534] - call: NULL [18:02:42.534] plan(): nbrOfWorkers() = 1 [18:02:42.536] plan(): Setting new future strategy stack: [18:02:42.536] List of future strategies: [18:02:42.536] 1. sequential: [18:02:42.536] - args: function (..., envir = parent.frame()) [18:02:42.536] - tweaked: FALSE [18:02:42.536] - call: plan(strategy) [18:02:42.536] plan(): nbrOfWorkers() = 1 [18:02:42.536] SequentialFuture started (and completed) [18:02:42.537] - Launch lazy future ... done [18:02:42.537] run() for 'SequentialFuture' ... done [18:02:42.537] resolved() for 'SequentialFuture' ... [18:02:42.537] - state: 'finished' [18:02:42.538] - run: TRUE [18:02:42.538] - result: 'FutureResult' [18:02:42.538] resolved() for 'SequentialFuture' ... done [18:02:42.538] Future #2 [18:02:42.538] length: 1 (resolved future 2) [18:02:42.539] length: 0 (resolved future 3) [18:02:42.539] resolve() on list ... DONE [18:02:42.539] resolved() for 'SequentialFuture' ... [18:02:42.539] - state: 'finished' [18:02:42.539] - run: TRUE [18:02:42.540] - result: 'FutureResult' [18:02:42.540] resolved() for 'SequentialFuture' ... done [18:02:42.540] resolved() for 'SequentialFuture' ... [18:02:42.540] - state: 'finished' [18:02:42.540] - run: TRUE [18:02:42.540] - result: 'FutureResult' [18:02:42.541] resolved() for 'SequentialFuture' ... done [18:02:42.541] getGlobalsAndPackages() ... [18:02:42.541] Searching for globals... [18:02:42.541] [18:02:42.542] Searching for globals ... DONE [18:02:42.542] - globals: [0] [18:02:42.542] getGlobalsAndPackages() ... DONE [18:02:42.542] run() for 'Future' ... [18:02:42.542] - state: 'created' [18:02:42.543] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:42.543] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:42.543] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:42.544] - Field: 'label' [18:02:42.545] - Field: 'local' [18:02:42.545] - Field: 'owner' [18:02:42.545] - Field: 'envir' [18:02:42.545] - Field: 'packages' [18:02:42.546] - Field: 'gc' [18:02:42.546] - Field: 'conditions' [18:02:42.546] - Field: 'expr' [18:02:42.546] - Field: 'uuid' [18:02:42.546] - Field: 'seed' [18:02:42.547] - Field: 'version' [18:02:42.547] - Field: 'result' [18:02:42.547] - Field: 'asynchronous' [18:02:42.547] - Field: 'calls' [18:02:42.547] - Field: 'globals' [18:02:42.548] - Field: 'stdout' [18:02:42.548] - Field: 'earlySignal' [18:02:42.548] - Field: 'lazy' [18:02:42.548] - Field: 'state' [18:02:42.548] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:42.549] - Launch lazy future ... [18:02:42.549] Packages needed by the future expression (n = 0): [18:02:42.549] Packages needed by future strategies (n = 0): [18:02:42.550] { [18:02:42.550] { [18:02:42.550] { [18:02:42.550] ...future.startTime <- base::Sys.time() [18:02:42.550] { [18:02:42.550] { [18:02:42.550] { [18:02:42.550] base::local({ [18:02:42.550] has_future <- base::requireNamespace("future", [18:02:42.550] quietly = TRUE) [18:02:42.550] if (has_future) { [18:02:42.550] ns <- base::getNamespace("future") [18:02:42.550] version <- ns[[".package"]][["version"]] [18:02:42.550] if (is.null(version)) [18:02:42.550] version <- utils::packageVersion("future") [18:02:42.550] } [18:02:42.550] else { [18:02:42.550] version <- NULL [18:02:42.550] } [18:02:42.550] if (!has_future || version < "1.8.0") { [18:02:42.550] info <- base::c(r_version = base::gsub("R version ", [18:02:42.550] "", base::R.version$version.string), [18:02:42.550] platform = base::sprintf("%s (%s-bit)", [18:02:42.550] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:42.550] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:42.550] "release", "version")], collapse = " "), [18:02:42.550] hostname = base::Sys.info()[["nodename"]]) [18:02:42.550] info <- base::sprintf("%s: %s", base::names(info), [18:02:42.550] info) [18:02:42.550] info <- base::paste(info, collapse = "; ") [18:02:42.550] if (!has_future) { [18:02:42.550] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:42.550] info) [18:02:42.550] } [18:02:42.550] else { [18:02:42.550] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:42.550] info, version) [18:02:42.550] } [18:02:42.550] base::stop(msg) [18:02:42.550] } [18:02:42.550] }) [18:02:42.550] } [18:02:42.550] options(future.plan = NULL) [18:02:42.550] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.550] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:42.550] } [18:02:42.550] ...future.workdir <- getwd() [18:02:42.550] } [18:02:42.550] ...future.oldOptions <- base::as.list(base::.Options) [18:02:42.550] ...future.oldEnvVars <- base::Sys.getenv() [18:02:42.550] } [18:02:42.550] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:42.550] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:42.550] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:42.550] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:42.550] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:42.550] future.stdout.windows.reencode = NULL, width = 80L) [18:02:42.550] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:42.550] base::names(...future.oldOptions)) [18:02:42.550] } [18:02:42.550] if (FALSE) { [18:02:42.550] } [18:02:42.550] else { [18:02:42.550] if (TRUE) { [18:02:42.550] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:42.550] open = "w") [18:02:42.550] } [18:02:42.550] else { [18:02:42.550] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:42.550] windows = "NUL", "/dev/null"), open = "w") [18:02:42.550] } [18:02:42.550] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:42.550] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:42.550] base::sink(type = "output", split = FALSE) [18:02:42.550] base::close(...future.stdout) [18:02:42.550] }, add = TRUE) [18:02:42.550] } [18:02:42.550] ...future.frame <- base::sys.nframe() [18:02:42.550] ...future.conditions <- base::list() [18:02:42.550] ...future.rng <- base::globalenv()$.Random.seed [18:02:42.550] if (FALSE) { [18:02:42.550] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:42.550] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:42.550] } [18:02:42.550] ...future.result <- base::tryCatch({ [18:02:42.550] base::withCallingHandlers({ [18:02:42.550] ...future.value <- base::withVisible(base::local(1)) [18:02:42.550] future::FutureResult(value = ...future.value$value, [18:02:42.550] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.550] ...future.rng), globalenv = if (FALSE) [18:02:42.550] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:42.550] ...future.globalenv.names)) [18:02:42.550] else NULL, started = ...future.startTime, version = "1.8") [18:02:42.550] }, condition = base::local({ [18:02:42.550] c <- base::c [18:02:42.550] inherits <- base::inherits [18:02:42.550] invokeRestart <- base::invokeRestart [18:02:42.550] length <- base::length [18:02:42.550] list <- base::list [18:02:42.550] seq.int <- base::seq.int [18:02:42.550] signalCondition <- base::signalCondition [18:02:42.550] sys.calls <- base::sys.calls [18:02:42.550] `[[` <- base::`[[` [18:02:42.550] `+` <- base::`+` [18:02:42.550] `<<-` <- base::`<<-` [18:02:42.550] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:42.550] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:42.550] 3L)] [18:02:42.550] } [18:02:42.550] function(cond) { [18:02:42.550] is_error <- inherits(cond, "error") [18:02:42.550] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:42.550] NULL) [18:02:42.550] if (is_error) { [18:02:42.550] sessionInformation <- function() { [18:02:42.550] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:42.550] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:42.550] search = base::search(), system = base::Sys.info()) [18:02:42.550] } [18:02:42.550] ...future.conditions[[length(...future.conditions) + [18:02:42.550] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:42.550] cond$call), session = sessionInformation(), [18:02:42.550] timestamp = base::Sys.time(), signaled = 0L) [18:02:42.550] signalCondition(cond) [18:02:42.550] } [18:02:42.550] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:42.550] "immediateCondition"))) { [18:02:42.550] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:42.550] ...future.conditions[[length(...future.conditions) + [18:02:42.550] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:42.550] if (TRUE && !signal) { [18:02:42.550] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.550] { [18:02:42.550] inherits <- base::inherits [18:02:42.550] invokeRestart <- base::invokeRestart [18:02:42.550] is.null <- base::is.null [18:02:42.550] muffled <- FALSE [18:02:42.550] if (inherits(cond, "message")) { [18:02:42.550] muffled <- grepl(pattern, "muffleMessage") [18:02:42.550] if (muffled) [18:02:42.550] invokeRestart("muffleMessage") [18:02:42.550] } [18:02:42.550] else if (inherits(cond, "warning")) { [18:02:42.550] muffled <- grepl(pattern, "muffleWarning") [18:02:42.550] if (muffled) [18:02:42.550] invokeRestart("muffleWarning") [18:02:42.550] } [18:02:42.550] else if (inherits(cond, "condition")) { [18:02:42.550] if (!is.null(pattern)) { [18:02:42.550] computeRestarts <- base::computeRestarts [18:02:42.550] grepl <- base::grepl [18:02:42.550] restarts <- computeRestarts(cond) [18:02:42.550] for (restart in restarts) { [18:02:42.550] name <- restart$name [18:02:42.550] if (is.null(name)) [18:02:42.550] next [18:02:42.550] if (!grepl(pattern, name)) [18:02:42.550] next [18:02:42.550] invokeRestart(restart) [18:02:42.550] muffled <- TRUE [18:02:42.550] break [18:02:42.550] } [18:02:42.550] } [18:02:42.550] } [18:02:42.550] invisible(muffled) [18:02:42.550] } [18:02:42.550] muffleCondition(cond, pattern = "^muffle") [18:02:42.550] } [18:02:42.550] } [18:02:42.550] else { [18:02:42.550] if (TRUE) { [18:02:42.550] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.550] { [18:02:42.550] inherits <- base::inherits [18:02:42.550] invokeRestart <- base::invokeRestart [18:02:42.550] is.null <- base::is.null [18:02:42.550] muffled <- FALSE [18:02:42.550] if (inherits(cond, "message")) { [18:02:42.550] muffled <- grepl(pattern, "muffleMessage") [18:02:42.550] if (muffled) [18:02:42.550] invokeRestart("muffleMessage") [18:02:42.550] } [18:02:42.550] else if (inherits(cond, "warning")) { [18:02:42.550] muffled <- grepl(pattern, "muffleWarning") [18:02:42.550] if (muffled) [18:02:42.550] invokeRestart("muffleWarning") [18:02:42.550] } [18:02:42.550] else if (inherits(cond, "condition")) { [18:02:42.550] if (!is.null(pattern)) { [18:02:42.550] computeRestarts <- base::computeRestarts [18:02:42.550] grepl <- base::grepl [18:02:42.550] restarts <- computeRestarts(cond) [18:02:42.550] for (restart in restarts) { [18:02:42.550] name <- restart$name [18:02:42.550] if (is.null(name)) [18:02:42.550] next [18:02:42.550] if (!grepl(pattern, name)) [18:02:42.550] next [18:02:42.550] invokeRestart(restart) [18:02:42.550] muffled <- TRUE [18:02:42.550] break [18:02:42.550] } [18:02:42.550] } [18:02:42.550] } [18:02:42.550] invisible(muffled) [18:02:42.550] } [18:02:42.550] muffleCondition(cond, pattern = "^muffle") [18:02:42.550] } [18:02:42.550] } [18:02:42.550] } [18:02:42.550] })) [18:02:42.550] }, error = function(ex) { [18:02:42.550] base::structure(base::list(value = NULL, visible = NULL, [18:02:42.550] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.550] ...future.rng), started = ...future.startTime, [18:02:42.550] finished = Sys.time(), session_uuid = NA_character_, [18:02:42.550] version = "1.8"), class = "FutureResult") [18:02:42.550] }, finally = { [18:02:42.550] if (!identical(...future.workdir, getwd())) [18:02:42.550] setwd(...future.workdir) [18:02:42.550] { [18:02:42.550] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:42.550] ...future.oldOptions$nwarnings <- NULL [18:02:42.550] } [18:02:42.550] base::options(...future.oldOptions) [18:02:42.550] if (.Platform$OS.type == "windows") { [18:02:42.550] old_names <- names(...future.oldEnvVars) [18:02:42.550] envs <- base::Sys.getenv() [18:02:42.550] names <- names(envs) [18:02:42.550] common <- intersect(names, old_names) [18:02:42.550] added <- setdiff(names, old_names) [18:02:42.550] removed <- setdiff(old_names, names) [18:02:42.550] changed <- common[...future.oldEnvVars[common] != [18:02:42.550] envs[common]] [18:02:42.550] NAMES <- toupper(changed) [18:02:42.550] args <- list() [18:02:42.550] for (kk in seq_along(NAMES)) { [18:02:42.550] name <- changed[[kk]] [18:02:42.550] NAME <- NAMES[[kk]] [18:02:42.550] if (name != NAME && is.element(NAME, old_names)) [18:02:42.550] next [18:02:42.550] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.550] } [18:02:42.550] NAMES <- toupper(added) [18:02:42.550] for (kk in seq_along(NAMES)) { [18:02:42.550] name <- added[[kk]] [18:02:42.550] NAME <- NAMES[[kk]] [18:02:42.550] if (name != NAME && is.element(NAME, old_names)) [18:02:42.550] next [18:02:42.550] args[[name]] <- "" [18:02:42.550] } [18:02:42.550] NAMES <- toupper(removed) [18:02:42.550] for (kk in seq_along(NAMES)) { [18:02:42.550] name <- removed[[kk]] [18:02:42.550] NAME <- NAMES[[kk]] [18:02:42.550] if (name != NAME && is.element(NAME, old_names)) [18:02:42.550] next [18:02:42.550] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.550] } [18:02:42.550] if (length(args) > 0) [18:02:42.550] base::do.call(base::Sys.setenv, args = args) [18:02:42.550] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:42.550] } [18:02:42.550] else { [18:02:42.550] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:42.550] } [18:02:42.550] { [18:02:42.550] if (base::length(...future.futureOptionsAdded) > [18:02:42.550] 0L) { [18:02:42.550] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:42.550] base::names(opts) <- ...future.futureOptionsAdded [18:02:42.550] base::options(opts) [18:02:42.550] } [18:02:42.550] { [18:02:42.550] { [18:02:42.550] NULL [18:02:42.550] RNGkind("Mersenne-Twister") [18:02:42.550] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:42.550] inherits = FALSE) [18:02:42.550] } [18:02:42.550] options(future.plan = NULL) [18:02:42.550] if (is.na(NA_character_)) [18:02:42.550] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.550] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:42.550] future::plan(list(function (..., envir = parent.frame()) [18:02:42.550] { [18:02:42.550] future <- SequentialFuture(..., envir = envir) [18:02:42.550] if (!future$lazy) [18:02:42.550] future <- run(future) [18:02:42.550] invisible(future) [18:02:42.550] }), .cleanup = FALSE, .init = FALSE) [18:02:42.550] } [18:02:42.550] } [18:02:42.550] } [18:02:42.550] }) [18:02:42.550] if (TRUE) { [18:02:42.550] base::sink(type = "output", split = FALSE) [18:02:42.550] if (TRUE) { [18:02:42.550] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:42.550] } [18:02:42.550] else { [18:02:42.550] ...future.result["stdout"] <- base::list(NULL) [18:02:42.550] } [18:02:42.550] base::close(...future.stdout) [18:02:42.550] ...future.stdout <- NULL [18:02:42.550] } [18:02:42.550] ...future.result$conditions <- ...future.conditions [18:02:42.550] ...future.result$finished <- base::Sys.time() [18:02:42.550] ...future.result [18:02:42.550] } [18:02:42.554] plan(): Setting new future strategy stack: [18:02:42.554] List of future strategies: [18:02:42.554] 1. sequential: [18:02:42.554] - args: function (..., envir = parent.frame()) [18:02:42.554] - tweaked: FALSE [18:02:42.554] - call: NULL [18:02:42.554] plan(): nbrOfWorkers() = 1 [18:02:42.555] plan(): Setting new future strategy stack: [18:02:42.556] List of future strategies: [18:02:42.556] 1. sequential: [18:02:42.556] - args: function (..., envir = parent.frame()) [18:02:42.556] - tweaked: FALSE [18:02:42.556] - call: plan(strategy) [18:02:42.556] plan(): nbrOfWorkers() = 1 [18:02:42.556] SequentialFuture started (and completed) [18:02:42.557] - Launch lazy future ... done [18:02:42.557] run() for 'SequentialFuture' ... done [18:02:42.557] getGlobalsAndPackages() ... [18:02:42.557] Searching for globals... [18:02:42.563] - globals found: [2] '{', 'Sys.sleep' [18:02:42.563] Searching for globals ... DONE [18:02:42.564] Resolving globals: FALSE [18:02:42.564] [18:02:42.564] [18:02:42.565] getGlobalsAndPackages() ... DONE [18:02:42.565] run() for 'Future' ... [18:02:42.565] - state: 'created' [18:02:42.565] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:42.566] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:42.566] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:42.566] - Field: 'label' [18:02:42.566] - Field: 'local' [18:02:42.567] - Field: 'owner' [18:02:42.567] - Field: 'envir' [18:02:42.567] - Field: 'packages' [18:02:42.567] - Field: 'gc' [18:02:42.567] - Field: 'conditions' [18:02:42.567] - Field: 'expr' [18:02:42.568] - Field: 'uuid' [18:02:42.568] - Field: 'seed' [18:02:42.568] - Field: 'version' [18:02:42.568] - Field: 'result' [18:02:42.568] - Field: 'asynchronous' [18:02:42.569] - Field: 'calls' [18:02:42.569] - Field: 'globals' [18:02:42.569] - Field: 'stdout' [18:02:42.569] - Field: 'earlySignal' [18:02:42.569] - Field: 'lazy' [18:02:42.570] - Field: 'state' [18:02:42.570] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:42.570] - Launch lazy future ... [18:02:42.570] Packages needed by the future expression (n = 0): [18:02:42.570] Packages needed by future strategies (n = 0): [18:02:42.571] { [18:02:42.571] { [18:02:42.571] { [18:02:42.571] ...future.startTime <- base::Sys.time() [18:02:42.571] { [18:02:42.571] { [18:02:42.571] { [18:02:42.571] base::local({ [18:02:42.571] has_future <- base::requireNamespace("future", [18:02:42.571] quietly = TRUE) [18:02:42.571] if (has_future) { [18:02:42.571] ns <- base::getNamespace("future") [18:02:42.571] version <- ns[[".package"]][["version"]] [18:02:42.571] if (is.null(version)) [18:02:42.571] version <- utils::packageVersion("future") [18:02:42.571] } [18:02:42.571] else { [18:02:42.571] version <- NULL [18:02:42.571] } [18:02:42.571] if (!has_future || version < "1.8.0") { [18:02:42.571] info <- base::c(r_version = base::gsub("R version ", [18:02:42.571] "", base::R.version$version.string), [18:02:42.571] platform = base::sprintf("%s (%s-bit)", [18:02:42.571] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:42.571] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:42.571] "release", "version")], collapse = " "), [18:02:42.571] hostname = base::Sys.info()[["nodename"]]) [18:02:42.571] info <- base::sprintf("%s: %s", base::names(info), [18:02:42.571] info) [18:02:42.571] info <- base::paste(info, collapse = "; ") [18:02:42.571] if (!has_future) { [18:02:42.571] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:42.571] info) [18:02:42.571] } [18:02:42.571] else { [18:02:42.571] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:42.571] info, version) [18:02:42.571] } [18:02:42.571] base::stop(msg) [18:02:42.571] } [18:02:42.571] }) [18:02:42.571] } [18:02:42.571] options(future.plan = NULL) [18:02:42.571] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.571] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:42.571] } [18:02:42.571] ...future.workdir <- getwd() [18:02:42.571] } [18:02:42.571] ...future.oldOptions <- base::as.list(base::.Options) [18:02:42.571] ...future.oldEnvVars <- base::Sys.getenv() [18:02:42.571] } [18:02:42.571] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:42.571] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:42.571] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:42.571] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:42.571] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:42.571] future.stdout.windows.reencode = NULL, width = 80L) [18:02:42.571] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:42.571] base::names(...future.oldOptions)) [18:02:42.571] } [18:02:42.571] if (FALSE) { [18:02:42.571] } [18:02:42.571] else { [18:02:42.571] if (TRUE) { [18:02:42.571] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:42.571] open = "w") [18:02:42.571] } [18:02:42.571] else { [18:02:42.571] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:42.571] windows = "NUL", "/dev/null"), open = "w") [18:02:42.571] } [18:02:42.571] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:42.571] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:42.571] base::sink(type = "output", split = FALSE) [18:02:42.571] base::close(...future.stdout) [18:02:42.571] }, add = TRUE) [18:02:42.571] } [18:02:42.571] ...future.frame <- base::sys.nframe() [18:02:42.571] ...future.conditions <- base::list() [18:02:42.571] ...future.rng <- base::globalenv()$.Random.seed [18:02:42.571] if (FALSE) { [18:02:42.571] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:42.571] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:42.571] } [18:02:42.571] ...future.result <- base::tryCatch({ [18:02:42.571] base::withCallingHandlers({ [18:02:42.571] ...future.value <- base::withVisible(base::local({ [18:02:42.571] Sys.sleep(0.5) [18:02:42.571] 2 [18:02:42.571] })) [18:02:42.571] future::FutureResult(value = ...future.value$value, [18:02:42.571] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.571] ...future.rng), globalenv = if (FALSE) [18:02:42.571] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:42.571] ...future.globalenv.names)) [18:02:42.571] else NULL, started = ...future.startTime, version = "1.8") [18:02:42.571] }, condition = base::local({ [18:02:42.571] c <- base::c [18:02:42.571] inherits <- base::inherits [18:02:42.571] invokeRestart <- base::invokeRestart [18:02:42.571] length <- base::length [18:02:42.571] list <- base::list [18:02:42.571] seq.int <- base::seq.int [18:02:42.571] signalCondition <- base::signalCondition [18:02:42.571] sys.calls <- base::sys.calls [18:02:42.571] `[[` <- base::`[[` [18:02:42.571] `+` <- base::`+` [18:02:42.571] `<<-` <- base::`<<-` [18:02:42.571] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:42.571] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:42.571] 3L)] [18:02:42.571] } [18:02:42.571] function(cond) { [18:02:42.571] is_error <- inherits(cond, "error") [18:02:42.571] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:42.571] NULL) [18:02:42.571] if (is_error) { [18:02:42.571] sessionInformation <- function() { [18:02:42.571] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:42.571] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:42.571] search = base::search(), system = base::Sys.info()) [18:02:42.571] } [18:02:42.571] ...future.conditions[[length(...future.conditions) + [18:02:42.571] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:42.571] cond$call), session = sessionInformation(), [18:02:42.571] timestamp = base::Sys.time(), signaled = 0L) [18:02:42.571] signalCondition(cond) [18:02:42.571] } [18:02:42.571] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:42.571] "immediateCondition"))) { [18:02:42.571] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:42.571] ...future.conditions[[length(...future.conditions) + [18:02:42.571] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:42.571] if (TRUE && !signal) { [18:02:42.571] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.571] { [18:02:42.571] inherits <- base::inherits [18:02:42.571] invokeRestart <- base::invokeRestart [18:02:42.571] is.null <- base::is.null [18:02:42.571] muffled <- FALSE [18:02:42.571] if (inherits(cond, "message")) { [18:02:42.571] muffled <- grepl(pattern, "muffleMessage") [18:02:42.571] if (muffled) [18:02:42.571] invokeRestart("muffleMessage") [18:02:42.571] } [18:02:42.571] else if (inherits(cond, "warning")) { [18:02:42.571] muffled <- grepl(pattern, "muffleWarning") [18:02:42.571] if (muffled) [18:02:42.571] invokeRestart("muffleWarning") [18:02:42.571] } [18:02:42.571] else if (inherits(cond, "condition")) { [18:02:42.571] if (!is.null(pattern)) { [18:02:42.571] computeRestarts <- base::computeRestarts [18:02:42.571] grepl <- base::grepl [18:02:42.571] restarts <- computeRestarts(cond) [18:02:42.571] for (restart in restarts) { [18:02:42.571] name <- restart$name [18:02:42.571] if (is.null(name)) [18:02:42.571] next [18:02:42.571] if (!grepl(pattern, name)) [18:02:42.571] next [18:02:42.571] invokeRestart(restart) [18:02:42.571] muffled <- TRUE [18:02:42.571] break [18:02:42.571] } [18:02:42.571] } [18:02:42.571] } [18:02:42.571] invisible(muffled) [18:02:42.571] } [18:02:42.571] muffleCondition(cond, pattern = "^muffle") [18:02:42.571] } [18:02:42.571] } [18:02:42.571] else { [18:02:42.571] if (TRUE) { [18:02:42.571] muffleCondition <- function (cond, pattern = "^muffle") [18:02:42.571] { [18:02:42.571] inherits <- base::inherits [18:02:42.571] invokeRestart <- base::invokeRestart [18:02:42.571] is.null <- base::is.null [18:02:42.571] muffled <- FALSE [18:02:42.571] if (inherits(cond, "message")) { [18:02:42.571] muffled <- grepl(pattern, "muffleMessage") [18:02:42.571] if (muffled) [18:02:42.571] invokeRestart("muffleMessage") [18:02:42.571] } [18:02:42.571] else if (inherits(cond, "warning")) { [18:02:42.571] muffled <- grepl(pattern, "muffleWarning") [18:02:42.571] if (muffled) [18:02:42.571] invokeRestart("muffleWarning") [18:02:42.571] } [18:02:42.571] else if (inherits(cond, "condition")) { [18:02:42.571] if (!is.null(pattern)) { [18:02:42.571] computeRestarts <- base::computeRestarts [18:02:42.571] grepl <- base::grepl [18:02:42.571] restarts <- computeRestarts(cond) [18:02:42.571] for (restart in restarts) { [18:02:42.571] name <- restart$name [18:02:42.571] if (is.null(name)) [18:02:42.571] next [18:02:42.571] if (!grepl(pattern, name)) [18:02:42.571] next [18:02:42.571] invokeRestart(restart) [18:02:42.571] muffled <- TRUE [18:02:42.571] break [18:02:42.571] } [18:02:42.571] } [18:02:42.571] } [18:02:42.571] invisible(muffled) [18:02:42.571] } [18:02:42.571] muffleCondition(cond, pattern = "^muffle") [18:02:42.571] } [18:02:42.571] } [18:02:42.571] } [18:02:42.571] })) [18:02:42.571] }, error = function(ex) { [18:02:42.571] base::structure(base::list(value = NULL, visible = NULL, [18:02:42.571] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:42.571] ...future.rng), started = ...future.startTime, [18:02:42.571] finished = Sys.time(), session_uuid = NA_character_, [18:02:42.571] version = "1.8"), class = "FutureResult") [18:02:42.571] }, finally = { [18:02:42.571] if (!identical(...future.workdir, getwd())) [18:02:42.571] setwd(...future.workdir) [18:02:42.571] { [18:02:42.571] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:42.571] ...future.oldOptions$nwarnings <- NULL [18:02:42.571] } [18:02:42.571] base::options(...future.oldOptions) [18:02:42.571] if (.Platform$OS.type == "windows") { [18:02:42.571] old_names <- names(...future.oldEnvVars) [18:02:42.571] envs <- base::Sys.getenv() [18:02:42.571] names <- names(envs) [18:02:42.571] common <- intersect(names, old_names) [18:02:42.571] added <- setdiff(names, old_names) [18:02:42.571] removed <- setdiff(old_names, names) [18:02:42.571] changed <- common[...future.oldEnvVars[common] != [18:02:42.571] envs[common]] [18:02:42.571] NAMES <- toupper(changed) [18:02:42.571] args <- list() [18:02:42.571] for (kk in seq_along(NAMES)) { [18:02:42.571] name <- changed[[kk]] [18:02:42.571] NAME <- NAMES[[kk]] [18:02:42.571] if (name != NAME && is.element(NAME, old_names)) [18:02:42.571] next [18:02:42.571] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.571] } [18:02:42.571] NAMES <- toupper(added) [18:02:42.571] for (kk in seq_along(NAMES)) { [18:02:42.571] name <- added[[kk]] [18:02:42.571] NAME <- NAMES[[kk]] [18:02:42.571] if (name != NAME && is.element(NAME, old_names)) [18:02:42.571] next [18:02:42.571] args[[name]] <- "" [18:02:42.571] } [18:02:42.571] NAMES <- toupper(removed) [18:02:42.571] for (kk in seq_along(NAMES)) { [18:02:42.571] name <- removed[[kk]] [18:02:42.571] NAME <- NAMES[[kk]] [18:02:42.571] if (name != NAME && is.element(NAME, old_names)) [18:02:42.571] next [18:02:42.571] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:42.571] } [18:02:42.571] if (length(args) > 0) [18:02:42.571] base::do.call(base::Sys.setenv, args = args) [18:02:42.571] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:42.571] } [18:02:42.571] else { [18:02:42.571] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:42.571] } [18:02:42.571] { [18:02:42.571] if (base::length(...future.futureOptionsAdded) > [18:02:42.571] 0L) { [18:02:42.571] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:42.571] base::names(opts) <- ...future.futureOptionsAdded [18:02:42.571] base::options(opts) [18:02:42.571] } [18:02:42.571] { [18:02:42.571] { [18:02:42.571] NULL [18:02:42.571] RNGkind("Mersenne-Twister") [18:02:42.571] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:42.571] inherits = FALSE) [18:02:42.571] } [18:02:42.571] options(future.plan = NULL) [18:02:42.571] if (is.na(NA_character_)) [18:02:42.571] Sys.unsetenv("R_FUTURE_PLAN") [18:02:42.571] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:42.571] future::plan(list(function (..., envir = parent.frame()) [18:02:42.571] { [18:02:42.571] future <- SequentialFuture(..., envir = envir) [18:02:42.571] if (!future$lazy) [18:02:42.571] future <- run(future) [18:02:42.571] invisible(future) [18:02:42.571] }), .cleanup = FALSE, .init = FALSE) [18:02:42.571] } [18:02:42.571] } [18:02:42.571] } [18:02:42.571] }) [18:02:42.571] if (TRUE) { [18:02:42.571] base::sink(type = "output", split = FALSE) [18:02:42.571] if (TRUE) { [18:02:42.571] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:42.571] } [18:02:42.571] else { [18:02:42.571] ...future.result["stdout"] <- base::list(NULL) [18:02:42.571] } [18:02:42.571] base::close(...future.stdout) [18:02:42.571] ...future.stdout <- NULL [18:02:42.571] } [18:02:42.571] ...future.result$conditions <- ...future.conditions [18:02:42.571] ...future.result$finished <- base::Sys.time() [18:02:42.571] ...future.result [18:02:42.571] } [18:02:42.575] plan(): Setting new future strategy stack: [18:02:42.575] List of future strategies: [18:02:42.575] 1. sequential: [18:02:42.575] - args: function (..., envir = parent.frame()) [18:02:42.575] - tweaked: FALSE [18:02:42.575] - call: NULL [18:02:42.576] plan(): nbrOfWorkers() = 1 [18:02:43.091] plan(): Setting new future strategy stack: [18:02:43.091] List of future strategies: [18:02:43.091] 1. sequential: [18:02:43.091] - args: function (..., envir = parent.frame()) [18:02:43.091] - tweaked: FALSE [18:02:43.091] - call: plan(strategy) [18:02:43.092] plan(): nbrOfWorkers() = 1 [18:02:43.092] SequentialFuture started (and completed) [18:02:43.092] - Launch lazy future ... done [18:02:43.093] run() for 'SequentialFuture' ... done [18:02:43.093] resolve() on list ... [18:02:43.094] recursive: 0 [18:02:43.094] length: 1 [18:02:43.094] [18:02:43.094] resolved() for 'SequentialFuture' ... [18:02:43.094] - state: 'finished' [18:02:43.095] - run: TRUE [18:02:43.095] - result: 'FutureResult' [18:02:43.095] resolved() for 'SequentialFuture' ... done [18:02:43.095] Future #1 [18:02:43.095] length: 0 (resolved future 1) [18:02:43.096] resolve() on list ... DONE [18:02:43.096] resolved() for 'SequentialFuture' ... [18:02:43.096] - state: 'finished' [18:02:43.096] - run: TRUE [18:02:43.096] - result: 'FutureResult' [18:02:43.097] resolved() for 'SequentialFuture' ... done [18:02:43.097] resolve() on list ... [18:02:43.097] recursive: 0 [18:02:43.097] length: 1 [18:02:43.097] [18:02:43.098] resolved() for 'SequentialFuture' ... [18:02:43.098] - state: 'finished' [18:02:43.098] - run: TRUE [18:02:43.098] - result: 'FutureResult' [18:02:43.098] resolved() for 'SequentialFuture' ... done [18:02:43.099] Future #1 [18:02:43.099] length: 0 (resolved future 1) [18:02:43.099] resolve() on list ... DONE [18:02:43.099] resolved() for 'SequentialFuture' ... [18:02:43.099] - state: 'finished' [18:02:43.099] - run: TRUE [18:02:43.100] - result: 'FutureResult' [18:02:43.100] resolved() for 'SequentialFuture' ... done [18:02:43.100] resolve() on list ... [18:02:43.100] recursive: 0 [18:02:43.101] length: 1 [18:02:43.101] [18:02:43.101] length: 0 (resolved future 1) [18:02:43.101] resolve() on list ... DONE [18:02:43.101] resolve() on list ... [18:02:43.102] recursive: 0 [18:02:43.102] length: 4 [18:02:43.102] [18:02:43.102] resolved() for 'SequentialFuture' ... [18:02:43.102] - state: 'finished' [18:02:43.102] - run: TRUE [18:02:43.103] - result: 'FutureResult' [18:02:43.103] resolved() for 'SequentialFuture' ... done [18:02:43.103] Future #1 [18:02:43.103] length: 3 (resolved future 1) [18:02:43.103] resolved() for 'SequentialFuture' ... [18:02:43.104] - state: 'finished' [18:02:43.104] - run: TRUE [18:02:43.104] - result: 'FutureResult' [18:02:43.104] resolved() for 'SequentialFuture' ... done [18:02:43.104] Future #2 [18:02:43.105] length: 2 (resolved future 2) [18:02:43.105] length: 1 (resolved future 3) [18:02:43.105] length: 0 (resolved future 4) [18:02:43.105] resolve() on list ... DONE [18:02:43.105] resolve() on list ... [18:02:43.106] recursive: 0 [18:02:43.106] length: 4 [18:02:43.106] [18:02:43.106] resolved() for 'SequentialFuture' ... [18:02:43.106] - state: 'finished' [18:02:43.106] - run: TRUE [18:02:43.107] - result: 'FutureResult' [18:02:43.107] resolved() for 'SequentialFuture' ... done [18:02:43.107] Future #1 [18:02:43.107] length: 3 (resolved future 1) [18:02:43.107] resolved() for 'SequentialFuture' ... [18:02:43.108] - state: 'finished' [18:02:43.108] - run: TRUE [18:02:43.108] - result: 'FutureResult' [18:02:43.108] resolved() for 'SequentialFuture' ... done [18:02:43.108] Future #2 [18:02:43.109] length: 2 (resolved future 2) [18:02:43.109] length: 1 (resolved future 3) [18:02:43.109] length: 0 (resolved future 4) [18:02:43.109] resolve() on list ... DONE [18:02:43.111] resolve() on list ... [18:02:43.111] recursive: 0 [18:02:43.112] length: 1 [18:02:43.112] [18:02:43.112] length: 0 (resolved future 1) [18:02:43.112] resolve() on list ... DONE [18:02:43.112] getGlobalsAndPackages() ... [18:02:43.112] Searching for globals... [18:02:43.114] - globals found: [3] '{', 'Sys.sleep', 'kk' [18:02:43.114] Searching for globals ... DONE [18:02:43.114] Resolving globals: FALSE [18:02:43.115] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:43.116] The total size of the 1 globals exported for future expression ('{; Sys.sleep(0.1); kk; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'kk' (56 bytes of class 'numeric') [18:02:43.116] - globals: [1] 'kk' [18:02:43.116] [18:02:43.116] getGlobalsAndPackages() ... DONE [18:02:43.117] run() for 'Future' ... [18:02:43.117] - state: 'created' [18:02:43.117] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:43.118] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:43.118] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:43.118] - Field: 'label' [18:02:43.118] - Field: 'local' [18:02:43.118] - Field: 'owner' [18:02:43.119] - Field: 'envir' [18:02:43.119] - Field: 'packages' [18:02:43.119] - Field: 'gc' [18:02:43.119] - Field: 'conditions' [18:02:43.119] - Field: 'expr' [18:02:43.120] - Field: 'uuid' [18:02:43.120] - Field: 'seed' [18:02:43.120] - Field: 'version' [18:02:43.120] - Field: 'result' [18:02:43.120] - Field: 'asynchronous' [18:02:43.120] - Field: 'calls' [18:02:43.121] - Field: 'globals' [18:02:43.121] - Field: 'stdout' [18:02:43.121] - Field: 'earlySignal' [18:02:43.121] - Field: 'lazy' [18:02:43.121] - Field: 'state' [18:02:43.122] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:43.122] - Launch lazy future ... [18:02:43.122] Packages needed by the future expression (n = 0): [18:02:43.122] Packages needed by future strategies (n = 0): [18:02:43.123] { [18:02:43.123] { [18:02:43.123] { [18:02:43.123] ...future.startTime <- base::Sys.time() [18:02:43.123] { [18:02:43.123] { [18:02:43.123] { [18:02:43.123] base::local({ [18:02:43.123] has_future <- base::requireNamespace("future", [18:02:43.123] quietly = TRUE) [18:02:43.123] if (has_future) { [18:02:43.123] ns <- base::getNamespace("future") [18:02:43.123] version <- ns[[".package"]][["version"]] [18:02:43.123] if (is.null(version)) [18:02:43.123] version <- utils::packageVersion("future") [18:02:43.123] } [18:02:43.123] else { [18:02:43.123] version <- NULL [18:02:43.123] } [18:02:43.123] if (!has_future || version < "1.8.0") { [18:02:43.123] info <- base::c(r_version = base::gsub("R version ", [18:02:43.123] "", base::R.version$version.string), [18:02:43.123] platform = base::sprintf("%s (%s-bit)", [18:02:43.123] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:43.123] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:43.123] "release", "version")], collapse = " "), [18:02:43.123] hostname = base::Sys.info()[["nodename"]]) [18:02:43.123] info <- base::sprintf("%s: %s", base::names(info), [18:02:43.123] info) [18:02:43.123] info <- base::paste(info, collapse = "; ") [18:02:43.123] if (!has_future) { [18:02:43.123] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:43.123] info) [18:02:43.123] } [18:02:43.123] else { [18:02:43.123] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:43.123] info, version) [18:02:43.123] } [18:02:43.123] base::stop(msg) [18:02:43.123] } [18:02:43.123] }) [18:02:43.123] } [18:02:43.123] options(future.plan = NULL) [18:02:43.123] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.123] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:43.123] } [18:02:43.123] ...future.workdir <- getwd() [18:02:43.123] } [18:02:43.123] ...future.oldOptions <- base::as.list(base::.Options) [18:02:43.123] ...future.oldEnvVars <- base::Sys.getenv() [18:02:43.123] } [18:02:43.123] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:43.123] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:43.123] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:43.123] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:43.123] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:43.123] future.stdout.windows.reencode = NULL, width = 80L) [18:02:43.123] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:43.123] base::names(...future.oldOptions)) [18:02:43.123] } [18:02:43.123] if (FALSE) { [18:02:43.123] } [18:02:43.123] else { [18:02:43.123] if (TRUE) { [18:02:43.123] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:43.123] open = "w") [18:02:43.123] } [18:02:43.123] else { [18:02:43.123] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:43.123] windows = "NUL", "/dev/null"), open = "w") [18:02:43.123] } [18:02:43.123] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:43.123] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:43.123] base::sink(type = "output", split = FALSE) [18:02:43.123] base::close(...future.stdout) [18:02:43.123] }, add = TRUE) [18:02:43.123] } [18:02:43.123] ...future.frame <- base::sys.nframe() [18:02:43.123] ...future.conditions <- base::list() [18:02:43.123] ...future.rng <- base::globalenv()$.Random.seed [18:02:43.123] if (FALSE) { [18:02:43.123] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:43.123] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:43.123] } [18:02:43.123] ...future.result <- base::tryCatch({ [18:02:43.123] base::withCallingHandlers({ [18:02:43.123] ...future.value <- base::withVisible(base::local({ [18:02:43.123] Sys.sleep(0.1) [18:02:43.123] kk [18:02:43.123] })) [18:02:43.123] future::FutureResult(value = ...future.value$value, [18:02:43.123] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.123] ...future.rng), globalenv = if (FALSE) [18:02:43.123] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:43.123] ...future.globalenv.names)) [18:02:43.123] else NULL, started = ...future.startTime, version = "1.8") [18:02:43.123] }, condition = base::local({ [18:02:43.123] c <- base::c [18:02:43.123] inherits <- base::inherits [18:02:43.123] invokeRestart <- base::invokeRestart [18:02:43.123] length <- base::length [18:02:43.123] list <- base::list [18:02:43.123] seq.int <- base::seq.int [18:02:43.123] signalCondition <- base::signalCondition [18:02:43.123] sys.calls <- base::sys.calls [18:02:43.123] `[[` <- base::`[[` [18:02:43.123] `+` <- base::`+` [18:02:43.123] `<<-` <- base::`<<-` [18:02:43.123] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:43.123] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:43.123] 3L)] [18:02:43.123] } [18:02:43.123] function(cond) { [18:02:43.123] is_error <- inherits(cond, "error") [18:02:43.123] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:43.123] NULL) [18:02:43.123] if (is_error) { [18:02:43.123] sessionInformation <- function() { [18:02:43.123] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:43.123] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:43.123] search = base::search(), system = base::Sys.info()) [18:02:43.123] } [18:02:43.123] ...future.conditions[[length(...future.conditions) + [18:02:43.123] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:43.123] cond$call), session = sessionInformation(), [18:02:43.123] timestamp = base::Sys.time(), signaled = 0L) [18:02:43.123] signalCondition(cond) [18:02:43.123] } [18:02:43.123] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:43.123] "immediateCondition"))) { [18:02:43.123] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:43.123] ...future.conditions[[length(...future.conditions) + [18:02:43.123] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:43.123] if (TRUE && !signal) { [18:02:43.123] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.123] { [18:02:43.123] inherits <- base::inherits [18:02:43.123] invokeRestart <- base::invokeRestart [18:02:43.123] is.null <- base::is.null [18:02:43.123] muffled <- FALSE [18:02:43.123] if (inherits(cond, "message")) { [18:02:43.123] muffled <- grepl(pattern, "muffleMessage") [18:02:43.123] if (muffled) [18:02:43.123] invokeRestart("muffleMessage") [18:02:43.123] } [18:02:43.123] else if (inherits(cond, "warning")) { [18:02:43.123] muffled <- grepl(pattern, "muffleWarning") [18:02:43.123] if (muffled) [18:02:43.123] invokeRestart("muffleWarning") [18:02:43.123] } [18:02:43.123] else if (inherits(cond, "condition")) { [18:02:43.123] if (!is.null(pattern)) { [18:02:43.123] computeRestarts <- base::computeRestarts [18:02:43.123] grepl <- base::grepl [18:02:43.123] restarts <- computeRestarts(cond) [18:02:43.123] for (restart in restarts) { [18:02:43.123] name <- restart$name [18:02:43.123] if (is.null(name)) [18:02:43.123] next [18:02:43.123] if (!grepl(pattern, name)) [18:02:43.123] next [18:02:43.123] invokeRestart(restart) [18:02:43.123] muffled <- TRUE [18:02:43.123] break [18:02:43.123] } [18:02:43.123] } [18:02:43.123] } [18:02:43.123] invisible(muffled) [18:02:43.123] } [18:02:43.123] muffleCondition(cond, pattern = "^muffle") [18:02:43.123] } [18:02:43.123] } [18:02:43.123] else { [18:02:43.123] if (TRUE) { [18:02:43.123] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.123] { [18:02:43.123] inherits <- base::inherits [18:02:43.123] invokeRestart <- base::invokeRestart [18:02:43.123] is.null <- base::is.null [18:02:43.123] muffled <- FALSE [18:02:43.123] if (inherits(cond, "message")) { [18:02:43.123] muffled <- grepl(pattern, "muffleMessage") [18:02:43.123] if (muffled) [18:02:43.123] invokeRestart("muffleMessage") [18:02:43.123] } [18:02:43.123] else if (inherits(cond, "warning")) { [18:02:43.123] muffled <- grepl(pattern, "muffleWarning") [18:02:43.123] if (muffled) [18:02:43.123] invokeRestart("muffleWarning") [18:02:43.123] } [18:02:43.123] else if (inherits(cond, "condition")) { [18:02:43.123] if (!is.null(pattern)) { [18:02:43.123] computeRestarts <- base::computeRestarts [18:02:43.123] grepl <- base::grepl [18:02:43.123] restarts <- computeRestarts(cond) [18:02:43.123] for (restart in restarts) { [18:02:43.123] name <- restart$name [18:02:43.123] if (is.null(name)) [18:02:43.123] next [18:02:43.123] if (!grepl(pattern, name)) [18:02:43.123] next [18:02:43.123] invokeRestart(restart) [18:02:43.123] muffled <- TRUE [18:02:43.123] break [18:02:43.123] } [18:02:43.123] } [18:02:43.123] } [18:02:43.123] invisible(muffled) [18:02:43.123] } [18:02:43.123] muffleCondition(cond, pattern = "^muffle") [18:02:43.123] } [18:02:43.123] } [18:02:43.123] } [18:02:43.123] })) [18:02:43.123] }, error = function(ex) { [18:02:43.123] base::structure(base::list(value = NULL, visible = NULL, [18:02:43.123] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.123] ...future.rng), started = ...future.startTime, [18:02:43.123] finished = Sys.time(), session_uuid = NA_character_, [18:02:43.123] version = "1.8"), class = "FutureResult") [18:02:43.123] }, finally = { [18:02:43.123] if (!identical(...future.workdir, getwd())) [18:02:43.123] setwd(...future.workdir) [18:02:43.123] { [18:02:43.123] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:43.123] ...future.oldOptions$nwarnings <- NULL [18:02:43.123] } [18:02:43.123] base::options(...future.oldOptions) [18:02:43.123] if (.Platform$OS.type == "windows") { [18:02:43.123] old_names <- names(...future.oldEnvVars) [18:02:43.123] envs <- base::Sys.getenv() [18:02:43.123] names <- names(envs) [18:02:43.123] common <- intersect(names, old_names) [18:02:43.123] added <- setdiff(names, old_names) [18:02:43.123] removed <- setdiff(old_names, names) [18:02:43.123] changed <- common[...future.oldEnvVars[common] != [18:02:43.123] envs[common]] [18:02:43.123] NAMES <- toupper(changed) [18:02:43.123] args <- list() [18:02:43.123] for (kk in seq_along(NAMES)) { [18:02:43.123] name <- changed[[kk]] [18:02:43.123] NAME <- NAMES[[kk]] [18:02:43.123] if (name != NAME && is.element(NAME, old_names)) [18:02:43.123] next [18:02:43.123] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.123] } [18:02:43.123] NAMES <- toupper(added) [18:02:43.123] for (kk in seq_along(NAMES)) { [18:02:43.123] name <- added[[kk]] [18:02:43.123] NAME <- NAMES[[kk]] [18:02:43.123] if (name != NAME && is.element(NAME, old_names)) [18:02:43.123] next [18:02:43.123] args[[name]] <- "" [18:02:43.123] } [18:02:43.123] NAMES <- toupper(removed) [18:02:43.123] for (kk in seq_along(NAMES)) { [18:02:43.123] name <- removed[[kk]] [18:02:43.123] NAME <- NAMES[[kk]] [18:02:43.123] if (name != NAME && is.element(NAME, old_names)) [18:02:43.123] next [18:02:43.123] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.123] } [18:02:43.123] if (length(args) > 0) [18:02:43.123] base::do.call(base::Sys.setenv, args = args) [18:02:43.123] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:43.123] } [18:02:43.123] else { [18:02:43.123] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:43.123] } [18:02:43.123] { [18:02:43.123] if (base::length(...future.futureOptionsAdded) > [18:02:43.123] 0L) { [18:02:43.123] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:43.123] base::names(opts) <- ...future.futureOptionsAdded [18:02:43.123] base::options(opts) [18:02:43.123] } [18:02:43.123] { [18:02:43.123] { [18:02:43.123] NULL [18:02:43.123] RNGkind("Mersenne-Twister") [18:02:43.123] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:43.123] inherits = FALSE) [18:02:43.123] } [18:02:43.123] options(future.plan = NULL) [18:02:43.123] if (is.na(NA_character_)) [18:02:43.123] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.123] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:43.123] future::plan(list(function (..., envir = parent.frame()) [18:02:43.123] { [18:02:43.123] future <- SequentialFuture(..., envir = envir) [18:02:43.123] if (!future$lazy) [18:02:43.123] future <- run(future) [18:02:43.123] invisible(future) [18:02:43.123] }), .cleanup = FALSE, .init = FALSE) [18:02:43.123] } [18:02:43.123] } [18:02:43.123] } [18:02:43.123] }) [18:02:43.123] if (TRUE) { [18:02:43.123] base::sink(type = "output", split = FALSE) [18:02:43.123] if (TRUE) { [18:02:43.123] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:43.123] } [18:02:43.123] else { [18:02:43.123] ...future.result["stdout"] <- base::list(NULL) [18:02:43.123] } [18:02:43.123] base::close(...future.stdout) [18:02:43.123] ...future.stdout <- NULL [18:02:43.123] } [18:02:43.123] ...future.result$conditions <- ...future.conditions [18:02:43.123] ...future.result$finished <- base::Sys.time() [18:02:43.123] ...future.result [18:02:43.123] } [18:02:43.127] assign_globals() ... [18:02:43.127] List of 1 [18:02:43.127] $ kk: int 1 [18:02:43.127] - attr(*, "where")=List of 1 [18:02:43.127] ..$ kk: [18:02:43.127] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:43.127] - attr(*, "resolved")= logi FALSE [18:02:43.127] - attr(*, "total_size")= num 56 [18:02:43.127] - attr(*, "already-done")= logi TRUE [18:02:43.133] - copied 'kk' to environment [18:02:43.133] assign_globals() ... done [18:02:43.133] plan(): Setting new future strategy stack: [18:02:43.134] List of future strategies: [18:02:43.134] 1. sequential: [18:02:43.134] - args: function (..., envir = parent.frame()) [18:02:43.134] - tweaked: FALSE [18:02:43.134] - call: NULL [18:02:43.134] plan(): nbrOfWorkers() = 1 [18:02:43.247] plan(): Setting new future strategy stack: [18:02:43.247] List of future strategies: [18:02:43.247] 1. sequential: [18:02:43.247] - args: function (..., envir = parent.frame()) [18:02:43.247] - tweaked: FALSE [18:02:43.247] - call: plan(strategy) [18:02:43.248] plan(): nbrOfWorkers() = 1 [18:02:43.248] SequentialFuture started (and completed) [18:02:43.248] - Launch lazy future ... done [18:02:43.248] run() for 'SequentialFuture' ... done [18:02:43.248] getGlobalsAndPackages() ... [18:02:43.249] Searching for globals... [18:02:43.250] - globals found: [3] '{', 'Sys.sleep', 'kk' [18:02:43.250] Searching for globals ... DONE [18:02:43.250] Resolving globals: FALSE [18:02:43.251] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:43.251] The total size of the 1 globals exported for future expression ('{; Sys.sleep(0.1); kk; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'kk' (56 bytes of class 'numeric') [18:02:43.251] - globals: [1] 'kk' [18:02:43.252] [18:02:43.252] getGlobalsAndPackages() ... DONE [18:02:43.252] run() for 'Future' ... [18:02:43.252] - state: 'created' [18:02:43.253] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:43.253] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:43.253] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:43.253] - Field: 'label' [18:02:43.254] - Field: 'local' [18:02:43.254] - Field: 'owner' [18:02:43.254] - Field: 'envir' [18:02:43.254] - Field: 'packages' [18:02:43.254] - Field: 'gc' [18:02:43.255] - Field: 'conditions' [18:02:43.255] - Field: 'expr' [18:02:43.255] - Field: 'uuid' [18:02:43.255] - Field: 'seed' [18:02:43.255] - Field: 'version' [18:02:43.255] - Field: 'result' [18:02:43.256] - Field: 'asynchronous' [18:02:43.256] - Field: 'calls' [18:02:43.256] - Field: 'globals' [18:02:43.256] - Field: 'stdout' [18:02:43.256] - Field: 'earlySignal' [18:02:43.257] - Field: 'lazy' [18:02:43.257] - Field: 'state' [18:02:43.257] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:43.257] - Launch lazy future ... [18:02:43.257] Packages needed by the future expression (n = 0): [18:02:43.258] Packages needed by future strategies (n = 0): [18:02:43.258] { [18:02:43.258] { [18:02:43.258] { [18:02:43.258] ...future.startTime <- base::Sys.time() [18:02:43.258] { [18:02:43.258] { [18:02:43.258] { [18:02:43.258] base::local({ [18:02:43.258] has_future <- base::requireNamespace("future", [18:02:43.258] quietly = TRUE) [18:02:43.258] if (has_future) { [18:02:43.258] ns <- base::getNamespace("future") [18:02:43.258] version <- ns[[".package"]][["version"]] [18:02:43.258] if (is.null(version)) [18:02:43.258] version <- utils::packageVersion("future") [18:02:43.258] } [18:02:43.258] else { [18:02:43.258] version <- NULL [18:02:43.258] } [18:02:43.258] if (!has_future || version < "1.8.0") { [18:02:43.258] info <- base::c(r_version = base::gsub("R version ", [18:02:43.258] "", base::R.version$version.string), [18:02:43.258] platform = base::sprintf("%s (%s-bit)", [18:02:43.258] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:43.258] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:43.258] "release", "version")], collapse = " "), [18:02:43.258] hostname = base::Sys.info()[["nodename"]]) [18:02:43.258] info <- base::sprintf("%s: %s", base::names(info), [18:02:43.258] info) [18:02:43.258] info <- base::paste(info, collapse = "; ") [18:02:43.258] if (!has_future) { [18:02:43.258] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:43.258] info) [18:02:43.258] } [18:02:43.258] else { [18:02:43.258] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:43.258] info, version) [18:02:43.258] } [18:02:43.258] base::stop(msg) [18:02:43.258] } [18:02:43.258] }) [18:02:43.258] } [18:02:43.258] options(future.plan = NULL) [18:02:43.258] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.258] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:43.258] } [18:02:43.258] ...future.workdir <- getwd() [18:02:43.258] } [18:02:43.258] ...future.oldOptions <- base::as.list(base::.Options) [18:02:43.258] ...future.oldEnvVars <- base::Sys.getenv() [18:02:43.258] } [18:02:43.258] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:43.258] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:43.258] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:43.258] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:43.258] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:43.258] future.stdout.windows.reencode = NULL, width = 80L) [18:02:43.258] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:43.258] base::names(...future.oldOptions)) [18:02:43.258] } [18:02:43.258] if (FALSE) { [18:02:43.258] } [18:02:43.258] else { [18:02:43.258] if (TRUE) { [18:02:43.258] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:43.258] open = "w") [18:02:43.258] } [18:02:43.258] else { [18:02:43.258] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:43.258] windows = "NUL", "/dev/null"), open = "w") [18:02:43.258] } [18:02:43.258] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:43.258] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:43.258] base::sink(type = "output", split = FALSE) [18:02:43.258] base::close(...future.stdout) [18:02:43.258] }, add = TRUE) [18:02:43.258] } [18:02:43.258] ...future.frame <- base::sys.nframe() [18:02:43.258] ...future.conditions <- base::list() [18:02:43.258] ...future.rng <- base::globalenv()$.Random.seed [18:02:43.258] if (FALSE) { [18:02:43.258] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:43.258] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:43.258] } [18:02:43.258] ...future.result <- base::tryCatch({ [18:02:43.258] base::withCallingHandlers({ [18:02:43.258] ...future.value <- base::withVisible(base::local({ [18:02:43.258] Sys.sleep(0.1) [18:02:43.258] kk [18:02:43.258] })) [18:02:43.258] future::FutureResult(value = ...future.value$value, [18:02:43.258] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.258] ...future.rng), globalenv = if (FALSE) [18:02:43.258] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:43.258] ...future.globalenv.names)) [18:02:43.258] else NULL, started = ...future.startTime, version = "1.8") [18:02:43.258] }, condition = base::local({ [18:02:43.258] c <- base::c [18:02:43.258] inherits <- base::inherits [18:02:43.258] invokeRestart <- base::invokeRestart [18:02:43.258] length <- base::length [18:02:43.258] list <- base::list [18:02:43.258] seq.int <- base::seq.int [18:02:43.258] signalCondition <- base::signalCondition [18:02:43.258] sys.calls <- base::sys.calls [18:02:43.258] `[[` <- base::`[[` [18:02:43.258] `+` <- base::`+` [18:02:43.258] `<<-` <- base::`<<-` [18:02:43.258] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:43.258] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:43.258] 3L)] [18:02:43.258] } [18:02:43.258] function(cond) { [18:02:43.258] is_error <- inherits(cond, "error") [18:02:43.258] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:43.258] NULL) [18:02:43.258] if (is_error) { [18:02:43.258] sessionInformation <- function() { [18:02:43.258] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:43.258] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:43.258] search = base::search(), system = base::Sys.info()) [18:02:43.258] } [18:02:43.258] ...future.conditions[[length(...future.conditions) + [18:02:43.258] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:43.258] cond$call), session = sessionInformation(), [18:02:43.258] timestamp = base::Sys.time(), signaled = 0L) [18:02:43.258] signalCondition(cond) [18:02:43.258] } [18:02:43.258] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:43.258] "immediateCondition"))) { [18:02:43.258] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:43.258] ...future.conditions[[length(...future.conditions) + [18:02:43.258] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:43.258] if (TRUE && !signal) { [18:02:43.258] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.258] { [18:02:43.258] inherits <- base::inherits [18:02:43.258] invokeRestart <- base::invokeRestart [18:02:43.258] is.null <- base::is.null [18:02:43.258] muffled <- FALSE [18:02:43.258] if (inherits(cond, "message")) { [18:02:43.258] muffled <- grepl(pattern, "muffleMessage") [18:02:43.258] if (muffled) [18:02:43.258] invokeRestart("muffleMessage") [18:02:43.258] } [18:02:43.258] else if (inherits(cond, "warning")) { [18:02:43.258] muffled <- grepl(pattern, "muffleWarning") [18:02:43.258] if (muffled) [18:02:43.258] invokeRestart("muffleWarning") [18:02:43.258] } [18:02:43.258] else if (inherits(cond, "condition")) { [18:02:43.258] if (!is.null(pattern)) { [18:02:43.258] computeRestarts <- base::computeRestarts [18:02:43.258] grepl <- base::grepl [18:02:43.258] restarts <- computeRestarts(cond) [18:02:43.258] for (restart in restarts) { [18:02:43.258] name <- restart$name [18:02:43.258] if (is.null(name)) [18:02:43.258] next [18:02:43.258] if (!grepl(pattern, name)) [18:02:43.258] next [18:02:43.258] invokeRestart(restart) [18:02:43.258] muffled <- TRUE [18:02:43.258] break [18:02:43.258] } [18:02:43.258] } [18:02:43.258] } [18:02:43.258] invisible(muffled) [18:02:43.258] } [18:02:43.258] muffleCondition(cond, pattern = "^muffle") [18:02:43.258] } [18:02:43.258] } [18:02:43.258] else { [18:02:43.258] if (TRUE) { [18:02:43.258] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.258] { [18:02:43.258] inherits <- base::inherits [18:02:43.258] invokeRestart <- base::invokeRestart [18:02:43.258] is.null <- base::is.null [18:02:43.258] muffled <- FALSE [18:02:43.258] if (inherits(cond, "message")) { [18:02:43.258] muffled <- grepl(pattern, "muffleMessage") [18:02:43.258] if (muffled) [18:02:43.258] invokeRestart("muffleMessage") [18:02:43.258] } [18:02:43.258] else if (inherits(cond, "warning")) { [18:02:43.258] muffled <- grepl(pattern, "muffleWarning") [18:02:43.258] if (muffled) [18:02:43.258] invokeRestart("muffleWarning") [18:02:43.258] } [18:02:43.258] else if (inherits(cond, "condition")) { [18:02:43.258] if (!is.null(pattern)) { [18:02:43.258] computeRestarts <- base::computeRestarts [18:02:43.258] grepl <- base::grepl [18:02:43.258] restarts <- computeRestarts(cond) [18:02:43.258] for (restart in restarts) { [18:02:43.258] name <- restart$name [18:02:43.258] if (is.null(name)) [18:02:43.258] next [18:02:43.258] if (!grepl(pattern, name)) [18:02:43.258] next [18:02:43.258] invokeRestart(restart) [18:02:43.258] muffled <- TRUE [18:02:43.258] break [18:02:43.258] } [18:02:43.258] } [18:02:43.258] } [18:02:43.258] invisible(muffled) [18:02:43.258] } [18:02:43.258] muffleCondition(cond, pattern = "^muffle") [18:02:43.258] } [18:02:43.258] } [18:02:43.258] } [18:02:43.258] })) [18:02:43.258] }, error = function(ex) { [18:02:43.258] base::structure(base::list(value = NULL, visible = NULL, [18:02:43.258] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.258] ...future.rng), started = ...future.startTime, [18:02:43.258] finished = Sys.time(), session_uuid = NA_character_, [18:02:43.258] version = "1.8"), class = "FutureResult") [18:02:43.258] }, finally = { [18:02:43.258] if (!identical(...future.workdir, getwd())) [18:02:43.258] setwd(...future.workdir) [18:02:43.258] { [18:02:43.258] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:43.258] ...future.oldOptions$nwarnings <- NULL [18:02:43.258] } [18:02:43.258] base::options(...future.oldOptions) [18:02:43.258] if (.Platform$OS.type == "windows") { [18:02:43.258] old_names <- names(...future.oldEnvVars) [18:02:43.258] envs <- base::Sys.getenv() [18:02:43.258] names <- names(envs) [18:02:43.258] common <- intersect(names, old_names) [18:02:43.258] added <- setdiff(names, old_names) [18:02:43.258] removed <- setdiff(old_names, names) [18:02:43.258] changed <- common[...future.oldEnvVars[common] != [18:02:43.258] envs[common]] [18:02:43.258] NAMES <- toupper(changed) [18:02:43.258] args <- list() [18:02:43.258] for (kk in seq_along(NAMES)) { [18:02:43.258] name <- changed[[kk]] [18:02:43.258] NAME <- NAMES[[kk]] [18:02:43.258] if (name != NAME && is.element(NAME, old_names)) [18:02:43.258] next [18:02:43.258] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.258] } [18:02:43.258] NAMES <- toupper(added) [18:02:43.258] for (kk in seq_along(NAMES)) { [18:02:43.258] name <- added[[kk]] [18:02:43.258] NAME <- NAMES[[kk]] [18:02:43.258] if (name != NAME && is.element(NAME, old_names)) [18:02:43.258] next [18:02:43.258] args[[name]] <- "" [18:02:43.258] } [18:02:43.258] NAMES <- toupper(removed) [18:02:43.258] for (kk in seq_along(NAMES)) { [18:02:43.258] name <- removed[[kk]] [18:02:43.258] NAME <- NAMES[[kk]] [18:02:43.258] if (name != NAME && is.element(NAME, old_names)) [18:02:43.258] next [18:02:43.258] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.258] } [18:02:43.258] if (length(args) > 0) [18:02:43.258] base::do.call(base::Sys.setenv, args = args) [18:02:43.258] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:43.258] } [18:02:43.258] else { [18:02:43.258] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:43.258] } [18:02:43.258] { [18:02:43.258] if (base::length(...future.futureOptionsAdded) > [18:02:43.258] 0L) { [18:02:43.258] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:43.258] base::names(opts) <- ...future.futureOptionsAdded [18:02:43.258] base::options(opts) [18:02:43.258] } [18:02:43.258] { [18:02:43.258] { [18:02:43.258] NULL [18:02:43.258] RNGkind("Mersenne-Twister") [18:02:43.258] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:43.258] inherits = FALSE) [18:02:43.258] } [18:02:43.258] options(future.plan = NULL) [18:02:43.258] if (is.na(NA_character_)) [18:02:43.258] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.258] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:43.258] future::plan(list(function (..., envir = parent.frame()) [18:02:43.258] { [18:02:43.258] future <- SequentialFuture(..., envir = envir) [18:02:43.258] if (!future$lazy) [18:02:43.258] future <- run(future) [18:02:43.258] invisible(future) [18:02:43.258] }), .cleanup = FALSE, .init = FALSE) [18:02:43.258] } [18:02:43.258] } [18:02:43.258] } [18:02:43.258] }) [18:02:43.258] if (TRUE) { [18:02:43.258] base::sink(type = "output", split = FALSE) [18:02:43.258] if (TRUE) { [18:02:43.258] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:43.258] } [18:02:43.258] else { [18:02:43.258] ...future.result["stdout"] <- base::list(NULL) [18:02:43.258] } [18:02:43.258] base::close(...future.stdout) [18:02:43.258] ...future.stdout <- NULL [18:02:43.258] } [18:02:43.258] ...future.result$conditions <- ...future.conditions [18:02:43.258] ...future.result$finished <- base::Sys.time() [18:02:43.258] ...future.result [18:02:43.258] } [18:02:43.262] assign_globals() ... [18:02:43.262] List of 1 [18:02:43.262] $ kk: int 2 [18:02:43.262] - attr(*, "where")=List of 1 [18:02:43.262] ..$ kk: [18:02:43.262] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:43.262] - attr(*, "resolved")= logi FALSE [18:02:43.262] - attr(*, "total_size")= num 56 [18:02:43.262] - attr(*, "already-done")= logi TRUE [18:02:43.266] - copied 'kk' to environment [18:02:43.266] assign_globals() ... done [18:02:43.266] plan(): Setting new future strategy stack: [18:02:43.267] List of future strategies: [18:02:43.267] 1. sequential: [18:02:43.267] - args: function (..., envir = parent.frame()) [18:02:43.267] - tweaked: FALSE [18:02:43.267] - call: NULL [18:02:43.267] plan(): nbrOfWorkers() = 1 [18:02:43.374] plan(): Setting new future strategy stack: [18:02:43.374] List of future strategies: [18:02:43.374] 1. sequential: [18:02:43.374] - args: function (..., envir = parent.frame()) [18:02:43.374] - tweaked: FALSE [18:02:43.374] - call: plan(strategy) [18:02:43.374] plan(): nbrOfWorkers() = 1 [18:02:43.375] SequentialFuture started (and completed) [18:02:43.375] - Launch lazy future ... done [18:02:43.375] run() for 'SequentialFuture' ... done [18:02:43.375] getGlobalsAndPackages() ... [18:02:43.375] Searching for globals... [18:02:43.377] - globals found: [3] '{', 'Sys.sleep', 'kk' [18:02:43.377] Searching for globals ... DONE [18:02:43.377] Resolving globals: FALSE [18:02:43.377] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:43.378] The total size of the 1 globals exported for future expression ('{; Sys.sleep(0.1); kk; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'kk' (56 bytes of class 'numeric') [18:02:43.378] - globals: [1] 'kk' [18:02:43.378] [18:02:43.379] getGlobalsAndPackages() ... DONE [18:02:43.379] run() for 'Future' ... [18:02:43.379] - state: 'created' [18:02:43.379] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:43.380] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:43.380] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:43.380] - Field: 'label' [18:02:43.380] - Field: 'local' [18:02:43.380] - Field: 'owner' [18:02:43.381] - Field: 'envir' [18:02:43.381] - Field: 'packages' [18:02:43.381] - Field: 'gc' [18:02:43.381] - Field: 'conditions' [18:02:43.381] - Field: 'expr' [18:02:43.382] - Field: 'uuid' [18:02:43.382] - Field: 'seed' [18:02:43.382] - Field: 'version' [18:02:43.382] - Field: 'result' [18:02:43.382] - Field: 'asynchronous' [18:02:43.382] - Field: 'calls' [18:02:43.383] - Field: 'globals' [18:02:43.383] - Field: 'stdout' [18:02:43.383] - Field: 'earlySignal' [18:02:43.383] - Field: 'lazy' [18:02:43.383] - Field: 'state' [18:02:43.384] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:43.384] - Launch lazy future ... [18:02:43.384] Packages needed by the future expression (n = 0): [18:02:43.384] Packages needed by future strategies (n = 0): [18:02:43.385] { [18:02:43.385] { [18:02:43.385] { [18:02:43.385] ...future.startTime <- base::Sys.time() [18:02:43.385] { [18:02:43.385] { [18:02:43.385] { [18:02:43.385] base::local({ [18:02:43.385] has_future <- base::requireNamespace("future", [18:02:43.385] quietly = TRUE) [18:02:43.385] if (has_future) { [18:02:43.385] ns <- base::getNamespace("future") [18:02:43.385] version <- ns[[".package"]][["version"]] [18:02:43.385] if (is.null(version)) [18:02:43.385] version <- utils::packageVersion("future") [18:02:43.385] } [18:02:43.385] else { [18:02:43.385] version <- NULL [18:02:43.385] } [18:02:43.385] if (!has_future || version < "1.8.0") { [18:02:43.385] info <- base::c(r_version = base::gsub("R version ", [18:02:43.385] "", base::R.version$version.string), [18:02:43.385] platform = base::sprintf("%s (%s-bit)", [18:02:43.385] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:43.385] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:43.385] "release", "version")], collapse = " "), [18:02:43.385] hostname = base::Sys.info()[["nodename"]]) [18:02:43.385] info <- base::sprintf("%s: %s", base::names(info), [18:02:43.385] info) [18:02:43.385] info <- base::paste(info, collapse = "; ") [18:02:43.385] if (!has_future) { [18:02:43.385] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:43.385] info) [18:02:43.385] } [18:02:43.385] else { [18:02:43.385] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:43.385] info, version) [18:02:43.385] } [18:02:43.385] base::stop(msg) [18:02:43.385] } [18:02:43.385] }) [18:02:43.385] } [18:02:43.385] options(future.plan = NULL) [18:02:43.385] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.385] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:43.385] } [18:02:43.385] ...future.workdir <- getwd() [18:02:43.385] } [18:02:43.385] ...future.oldOptions <- base::as.list(base::.Options) [18:02:43.385] ...future.oldEnvVars <- base::Sys.getenv() [18:02:43.385] } [18:02:43.385] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:43.385] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:43.385] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:43.385] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:43.385] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:43.385] future.stdout.windows.reencode = NULL, width = 80L) [18:02:43.385] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:43.385] base::names(...future.oldOptions)) [18:02:43.385] } [18:02:43.385] if (FALSE) { [18:02:43.385] } [18:02:43.385] else { [18:02:43.385] if (TRUE) { [18:02:43.385] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:43.385] open = "w") [18:02:43.385] } [18:02:43.385] else { [18:02:43.385] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:43.385] windows = "NUL", "/dev/null"), open = "w") [18:02:43.385] } [18:02:43.385] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:43.385] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:43.385] base::sink(type = "output", split = FALSE) [18:02:43.385] base::close(...future.stdout) [18:02:43.385] }, add = TRUE) [18:02:43.385] } [18:02:43.385] ...future.frame <- base::sys.nframe() [18:02:43.385] ...future.conditions <- base::list() [18:02:43.385] ...future.rng <- base::globalenv()$.Random.seed [18:02:43.385] if (FALSE) { [18:02:43.385] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:43.385] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:43.385] } [18:02:43.385] ...future.result <- base::tryCatch({ [18:02:43.385] base::withCallingHandlers({ [18:02:43.385] ...future.value <- base::withVisible(base::local({ [18:02:43.385] Sys.sleep(0.1) [18:02:43.385] kk [18:02:43.385] })) [18:02:43.385] future::FutureResult(value = ...future.value$value, [18:02:43.385] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.385] ...future.rng), globalenv = if (FALSE) [18:02:43.385] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:43.385] ...future.globalenv.names)) [18:02:43.385] else NULL, started = ...future.startTime, version = "1.8") [18:02:43.385] }, condition = base::local({ [18:02:43.385] c <- base::c [18:02:43.385] inherits <- base::inherits [18:02:43.385] invokeRestart <- base::invokeRestart [18:02:43.385] length <- base::length [18:02:43.385] list <- base::list [18:02:43.385] seq.int <- base::seq.int [18:02:43.385] signalCondition <- base::signalCondition [18:02:43.385] sys.calls <- base::sys.calls [18:02:43.385] `[[` <- base::`[[` [18:02:43.385] `+` <- base::`+` [18:02:43.385] `<<-` <- base::`<<-` [18:02:43.385] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:43.385] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:43.385] 3L)] [18:02:43.385] } [18:02:43.385] function(cond) { [18:02:43.385] is_error <- inherits(cond, "error") [18:02:43.385] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:43.385] NULL) [18:02:43.385] if (is_error) { [18:02:43.385] sessionInformation <- function() { [18:02:43.385] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:43.385] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:43.385] search = base::search(), system = base::Sys.info()) [18:02:43.385] } [18:02:43.385] ...future.conditions[[length(...future.conditions) + [18:02:43.385] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:43.385] cond$call), session = sessionInformation(), [18:02:43.385] timestamp = base::Sys.time(), signaled = 0L) [18:02:43.385] signalCondition(cond) [18:02:43.385] } [18:02:43.385] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:43.385] "immediateCondition"))) { [18:02:43.385] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:43.385] ...future.conditions[[length(...future.conditions) + [18:02:43.385] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:43.385] if (TRUE && !signal) { [18:02:43.385] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.385] { [18:02:43.385] inherits <- base::inherits [18:02:43.385] invokeRestart <- base::invokeRestart [18:02:43.385] is.null <- base::is.null [18:02:43.385] muffled <- FALSE [18:02:43.385] if (inherits(cond, "message")) { [18:02:43.385] muffled <- grepl(pattern, "muffleMessage") [18:02:43.385] if (muffled) [18:02:43.385] invokeRestart("muffleMessage") [18:02:43.385] } [18:02:43.385] else if (inherits(cond, "warning")) { [18:02:43.385] muffled <- grepl(pattern, "muffleWarning") [18:02:43.385] if (muffled) [18:02:43.385] invokeRestart("muffleWarning") [18:02:43.385] } [18:02:43.385] else if (inherits(cond, "condition")) { [18:02:43.385] if (!is.null(pattern)) { [18:02:43.385] computeRestarts <- base::computeRestarts [18:02:43.385] grepl <- base::grepl [18:02:43.385] restarts <- computeRestarts(cond) [18:02:43.385] for (restart in restarts) { [18:02:43.385] name <- restart$name [18:02:43.385] if (is.null(name)) [18:02:43.385] next [18:02:43.385] if (!grepl(pattern, name)) [18:02:43.385] next [18:02:43.385] invokeRestart(restart) [18:02:43.385] muffled <- TRUE [18:02:43.385] break [18:02:43.385] } [18:02:43.385] } [18:02:43.385] } [18:02:43.385] invisible(muffled) [18:02:43.385] } [18:02:43.385] muffleCondition(cond, pattern = "^muffle") [18:02:43.385] } [18:02:43.385] } [18:02:43.385] else { [18:02:43.385] if (TRUE) { [18:02:43.385] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.385] { [18:02:43.385] inherits <- base::inherits [18:02:43.385] invokeRestart <- base::invokeRestart [18:02:43.385] is.null <- base::is.null [18:02:43.385] muffled <- FALSE [18:02:43.385] if (inherits(cond, "message")) { [18:02:43.385] muffled <- grepl(pattern, "muffleMessage") [18:02:43.385] if (muffled) [18:02:43.385] invokeRestart("muffleMessage") [18:02:43.385] } [18:02:43.385] else if (inherits(cond, "warning")) { [18:02:43.385] muffled <- grepl(pattern, "muffleWarning") [18:02:43.385] if (muffled) [18:02:43.385] invokeRestart("muffleWarning") [18:02:43.385] } [18:02:43.385] else if (inherits(cond, "condition")) { [18:02:43.385] if (!is.null(pattern)) { [18:02:43.385] computeRestarts <- base::computeRestarts [18:02:43.385] grepl <- base::grepl [18:02:43.385] restarts <- computeRestarts(cond) [18:02:43.385] for (restart in restarts) { [18:02:43.385] name <- restart$name [18:02:43.385] if (is.null(name)) [18:02:43.385] next [18:02:43.385] if (!grepl(pattern, name)) [18:02:43.385] next [18:02:43.385] invokeRestart(restart) [18:02:43.385] muffled <- TRUE [18:02:43.385] break [18:02:43.385] } [18:02:43.385] } [18:02:43.385] } [18:02:43.385] invisible(muffled) [18:02:43.385] } [18:02:43.385] muffleCondition(cond, pattern = "^muffle") [18:02:43.385] } [18:02:43.385] } [18:02:43.385] } [18:02:43.385] })) [18:02:43.385] }, error = function(ex) { [18:02:43.385] base::structure(base::list(value = NULL, visible = NULL, [18:02:43.385] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.385] ...future.rng), started = ...future.startTime, [18:02:43.385] finished = Sys.time(), session_uuid = NA_character_, [18:02:43.385] version = "1.8"), class = "FutureResult") [18:02:43.385] }, finally = { [18:02:43.385] if (!identical(...future.workdir, getwd())) [18:02:43.385] setwd(...future.workdir) [18:02:43.385] { [18:02:43.385] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:43.385] ...future.oldOptions$nwarnings <- NULL [18:02:43.385] } [18:02:43.385] base::options(...future.oldOptions) [18:02:43.385] if (.Platform$OS.type == "windows") { [18:02:43.385] old_names <- names(...future.oldEnvVars) [18:02:43.385] envs <- base::Sys.getenv() [18:02:43.385] names <- names(envs) [18:02:43.385] common <- intersect(names, old_names) [18:02:43.385] added <- setdiff(names, old_names) [18:02:43.385] removed <- setdiff(old_names, names) [18:02:43.385] changed <- common[...future.oldEnvVars[common] != [18:02:43.385] envs[common]] [18:02:43.385] NAMES <- toupper(changed) [18:02:43.385] args <- list() [18:02:43.385] for (kk in seq_along(NAMES)) { [18:02:43.385] name <- changed[[kk]] [18:02:43.385] NAME <- NAMES[[kk]] [18:02:43.385] if (name != NAME && is.element(NAME, old_names)) [18:02:43.385] next [18:02:43.385] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.385] } [18:02:43.385] NAMES <- toupper(added) [18:02:43.385] for (kk in seq_along(NAMES)) { [18:02:43.385] name <- added[[kk]] [18:02:43.385] NAME <- NAMES[[kk]] [18:02:43.385] if (name != NAME && is.element(NAME, old_names)) [18:02:43.385] next [18:02:43.385] args[[name]] <- "" [18:02:43.385] } [18:02:43.385] NAMES <- toupper(removed) [18:02:43.385] for (kk in seq_along(NAMES)) { [18:02:43.385] name <- removed[[kk]] [18:02:43.385] NAME <- NAMES[[kk]] [18:02:43.385] if (name != NAME && is.element(NAME, old_names)) [18:02:43.385] next [18:02:43.385] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.385] } [18:02:43.385] if (length(args) > 0) [18:02:43.385] base::do.call(base::Sys.setenv, args = args) [18:02:43.385] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:43.385] } [18:02:43.385] else { [18:02:43.385] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:43.385] } [18:02:43.385] { [18:02:43.385] if (base::length(...future.futureOptionsAdded) > [18:02:43.385] 0L) { [18:02:43.385] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:43.385] base::names(opts) <- ...future.futureOptionsAdded [18:02:43.385] base::options(opts) [18:02:43.385] } [18:02:43.385] { [18:02:43.385] { [18:02:43.385] NULL [18:02:43.385] RNGkind("Mersenne-Twister") [18:02:43.385] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:43.385] inherits = FALSE) [18:02:43.385] } [18:02:43.385] options(future.plan = NULL) [18:02:43.385] if (is.na(NA_character_)) [18:02:43.385] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.385] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:43.385] future::plan(list(function (..., envir = parent.frame()) [18:02:43.385] { [18:02:43.385] future <- SequentialFuture(..., envir = envir) [18:02:43.385] if (!future$lazy) [18:02:43.385] future <- run(future) [18:02:43.385] invisible(future) [18:02:43.385] }), .cleanup = FALSE, .init = FALSE) [18:02:43.385] } [18:02:43.385] } [18:02:43.385] } [18:02:43.385] }) [18:02:43.385] if (TRUE) { [18:02:43.385] base::sink(type = "output", split = FALSE) [18:02:43.385] if (TRUE) { [18:02:43.385] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:43.385] } [18:02:43.385] else { [18:02:43.385] ...future.result["stdout"] <- base::list(NULL) [18:02:43.385] } [18:02:43.385] base::close(...future.stdout) [18:02:43.385] ...future.stdout <- NULL [18:02:43.385] } [18:02:43.385] ...future.result$conditions <- ...future.conditions [18:02:43.385] ...future.result$finished <- base::Sys.time() [18:02:43.385] ...future.result [18:02:43.385] } [18:02:43.389] assign_globals() ... [18:02:43.389] List of 1 [18:02:43.389] $ kk: int 3 [18:02:43.389] - attr(*, "where")=List of 1 [18:02:43.389] ..$ kk: [18:02:43.389] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:43.389] - attr(*, "resolved")= logi FALSE [18:02:43.389] - attr(*, "total_size")= num 56 [18:02:43.389] - attr(*, "already-done")= logi TRUE [18:02:43.392] - copied 'kk' to environment [18:02:43.392] assign_globals() ... done [18:02:43.392] plan(): Setting new future strategy stack: [18:02:43.392] List of future strategies: [18:02:43.392] 1. sequential: [18:02:43.392] - args: function (..., envir = parent.frame()) [18:02:43.392] - tweaked: FALSE [18:02:43.392] - call: NULL [18:02:43.393] plan(): nbrOfWorkers() = 1 [18:02:43.497] plan(): Setting new future strategy stack: [18:02:43.497] List of future strategies: [18:02:43.497] 1. sequential: [18:02:43.497] - args: function (..., envir = parent.frame()) [18:02:43.497] - tweaked: FALSE [18:02:43.497] - call: plan(strategy) [18:02:43.498] plan(): nbrOfWorkers() = 1 [18:02:43.498] SequentialFuture started (and completed) [18:02:43.498] - Launch lazy future ... done [18:02:43.498] run() for 'SequentialFuture' ... done [18:02:43.499] resolve() on list ... [18:02:43.499] recursive: 0 [18:02:43.499] length: 3 [18:02:43.499] [18:02:43.499] resolved() for 'SequentialFuture' ... [18:02:43.499] - state: 'finished' [18:02:43.500] - run: TRUE [18:02:43.500] - result: 'FutureResult' [18:02:43.500] resolved() for 'SequentialFuture' ... done [18:02:43.500] Future #1 [18:02:43.500] length: 2 (resolved future 1) [18:02:43.501] resolved() for 'SequentialFuture' ... [18:02:43.501] - state: 'finished' [18:02:43.501] - run: TRUE [18:02:43.501] - result: 'FutureResult' [18:02:43.501] resolved() for 'SequentialFuture' ... done [18:02:43.501] Future #2 [18:02:43.502] length: 1 (resolved future 2) [18:02:43.502] resolved() for 'SequentialFuture' ... [18:02:43.502] - state: 'finished' [18:02:43.502] - run: TRUE [18:02:43.502] - result: 'FutureResult' [18:02:43.503] resolved() for 'SequentialFuture' ... done [18:02:43.503] Future #3 [18:02:43.503] length: 0 (resolved future 3) [18:02:43.503] resolve() on list ... DONE [18:02:43.503] getGlobalsAndPackages() ... [18:02:43.503] Searching for globals... [18:02:43.505] - globals found: [3] '{', 'Sys.sleep', 'kk' [18:02:43.505] Searching for globals ... DONE [18:02:43.505] Resolving globals: FALSE [18:02:43.506] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:43.506] The total size of the 1 globals exported for future expression ('{; Sys.sleep(0.1); kk; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'kk' (56 bytes of class 'numeric') [18:02:43.506] - globals: [1] 'kk' [18:02:43.506] [18:02:43.507] getGlobalsAndPackages() ... DONE [18:02:43.507] getGlobalsAndPackages() ... [18:02:43.507] Searching for globals... [18:02:43.508] - globals found: [3] '{', 'Sys.sleep', 'kk' [18:02:43.508] Searching for globals ... DONE [18:02:43.509] Resolving globals: FALSE [18:02:43.509] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:43.510] The total size of the 1 globals exported for future expression ('{; Sys.sleep(0.1); kk; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'kk' (56 bytes of class 'numeric') [18:02:43.510] - globals: [1] 'kk' [18:02:43.510] [18:02:43.510] getGlobalsAndPackages() ... DONE [18:02:43.510] getGlobalsAndPackages() ... [18:02:43.511] Searching for globals... [18:02:43.512] - globals found: [3] '{', 'Sys.sleep', 'kk' [18:02:43.512] Searching for globals ... DONE [18:02:43.512] Resolving globals: FALSE [18:02:43.513] The total size of the 1 globals is 56 bytes (56 bytes) [18:02:43.514] The total size of the 1 globals exported for future expression ('{; Sys.sleep(0.1); kk; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'kk' (56 bytes of class 'numeric') [18:02:43.514] - globals: [1] 'kk' [18:02:43.515] [18:02:43.515] getGlobalsAndPackages() ... DONE [18:02:43.515] resolve() on list ... [18:02:43.515] recursive: 0 [18:02:43.516] length: 3 [18:02:43.516] [18:02:43.516] run() for 'Future' ... [18:02:43.516] - state: 'created' [18:02:43.516] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:43.517] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:43.517] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:43.517] - Field: 'label' [18:02:43.517] - Field: 'local' [18:02:43.517] - Field: 'owner' [18:02:43.518] - Field: 'envir' [18:02:43.518] - Field: 'packages' [18:02:43.518] - Field: 'gc' [18:02:43.518] - Field: 'conditions' [18:02:43.518] - Field: 'expr' [18:02:43.518] - Field: 'uuid' [18:02:43.519] - Field: 'seed' [18:02:43.519] - Field: 'version' [18:02:43.519] - Field: 'result' [18:02:43.519] - Field: 'asynchronous' [18:02:43.519] - Field: 'calls' [18:02:43.520] - Field: 'globals' [18:02:43.520] - Field: 'stdout' [18:02:43.520] - Field: 'earlySignal' [18:02:43.520] - Field: 'lazy' [18:02:43.520] - Field: 'state' [18:02:43.520] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:43.521] - Launch lazy future ... [18:02:43.521] Packages needed by the future expression (n = 0): [18:02:43.521] Packages needed by future strategies (n = 0): [18:02:43.522] { [18:02:43.522] { [18:02:43.522] { [18:02:43.522] ...future.startTime <- base::Sys.time() [18:02:43.522] { [18:02:43.522] { [18:02:43.522] { [18:02:43.522] base::local({ [18:02:43.522] has_future <- base::requireNamespace("future", [18:02:43.522] quietly = TRUE) [18:02:43.522] if (has_future) { [18:02:43.522] ns <- base::getNamespace("future") [18:02:43.522] version <- ns[[".package"]][["version"]] [18:02:43.522] if (is.null(version)) [18:02:43.522] version <- utils::packageVersion("future") [18:02:43.522] } [18:02:43.522] else { [18:02:43.522] version <- NULL [18:02:43.522] } [18:02:43.522] if (!has_future || version < "1.8.0") { [18:02:43.522] info <- base::c(r_version = base::gsub("R version ", [18:02:43.522] "", base::R.version$version.string), [18:02:43.522] platform = base::sprintf("%s (%s-bit)", [18:02:43.522] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:43.522] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:43.522] "release", "version")], collapse = " "), [18:02:43.522] hostname = base::Sys.info()[["nodename"]]) [18:02:43.522] info <- base::sprintf("%s: %s", base::names(info), [18:02:43.522] info) [18:02:43.522] info <- base::paste(info, collapse = "; ") [18:02:43.522] if (!has_future) { [18:02:43.522] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:43.522] info) [18:02:43.522] } [18:02:43.522] else { [18:02:43.522] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:43.522] info, version) [18:02:43.522] } [18:02:43.522] base::stop(msg) [18:02:43.522] } [18:02:43.522] }) [18:02:43.522] } [18:02:43.522] options(future.plan = NULL) [18:02:43.522] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.522] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:43.522] } [18:02:43.522] ...future.workdir <- getwd() [18:02:43.522] } [18:02:43.522] ...future.oldOptions <- base::as.list(base::.Options) [18:02:43.522] ...future.oldEnvVars <- base::Sys.getenv() [18:02:43.522] } [18:02:43.522] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:43.522] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:43.522] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:43.522] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:43.522] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:43.522] future.stdout.windows.reencode = NULL, width = 80L) [18:02:43.522] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:43.522] base::names(...future.oldOptions)) [18:02:43.522] } [18:02:43.522] if (FALSE) { [18:02:43.522] } [18:02:43.522] else { [18:02:43.522] if (TRUE) { [18:02:43.522] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:43.522] open = "w") [18:02:43.522] } [18:02:43.522] else { [18:02:43.522] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:43.522] windows = "NUL", "/dev/null"), open = "w") [18:02:43.522] } [18:02:43.522] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:43.522] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:43.522] base::sink(type = "output", split = FALSE) [18:02:43.522] base::close(...future.stdout) [18:02:43.522] }, add = TRUE) [18:02:43.522] } [18:02:43.522] ...future.frame <- base::sys.nframe() [18:02:43.522] ...future.conditions <- base::list() [18:02:43.522] ...future.rng <- base::globalenv()$.Random.seed [18:02:43.522] if (FALSE) { [18:02:43.522] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:43.522] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:43.522] } [18:02:43.522] ...future.result <- base::tryCatch({ [18:02:43.522] base::withCallingHandlers({ [18:02:43.522] ...future.value <- base::withVisible(base::local({ [18:02:43.522] Sys.sleep(0.1) [18:02:43.522] kk [18:02:43.522] })) [18:02:43.522] future::FutureResult(value = ...future.value$value, [18:02:43.522] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.522] ...future.rng), globalenv = if (FALSE) [18:02:43.522] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:43.522] ...future.globalenv.names)) [18:02:43.522] else NULL, started = ...future.startTime, version = "1.8") [18:02:43.522] }, condition = base::local({ [18:02:43.522] c <- base::c [18:02:43.522] inherits <- base::inherits [18:02:43.522] invokeRestart <- base::invokeRestart [18:02:43.522] length <- base::length [18:02:43.522] list <- base::list [18:02:43.522] seq.int <- base::seq.int [18:02:43.522] signalCondition <- base::signalCondition [18:02:43.522] sys.calls <- base::sys.calls [18:02:43.522] `[[` <- base::`[[` [18:02:43.522] `+` <- base::`+` [18:02:43.522] `<<-` <- base::`<<-` [18:02:43.522] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:43.522] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:43.522] 3L)] [18:02:43.522] } [18:02:43.522] function(cond) { [18:02:43.522] is_error <- inherits(cond, "error") [18:02:43.522] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:43.522] NULL) [18:02:43.522] if (is_error) { [18:02:43.522] sessionInformation <- function() { [18:02:43.522] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:43.522] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:43.522] search = base::search(), system = base::Sys.info()) [18:02:43.522] } [18:02:43.522] ...future.conditions[[length(...future.conditions) + [18:02:43.522] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:43.522] cond$call), session = sessionInformation(), [18:02:43.522] timestamp = base::Sys.time(), signaled = 0L) [18:02:43.522] signalCondition(cond) [18:02:43.522] } [18:02:43.522] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:43.522] "immediateCondition"))) { [18:02:43.522] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:43.522] ...future.conditions[[length(...future.conditions) + [18:02:43.522] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:43.522] if (TRUE && !signal) { [18:02:43.522] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.522] { [18:02:43.522] inherits <- base::inherits [18:02:43.522] invokeRestart <- base::invokeRestart [18:02:43.522] is.null <- base::is.null [18:02:43.522] muffled <- FALSE [18:02:43.522] if (inherits(cond, "message")) { [18:02:43.522] muffled <- grepl(pattern, "muffleMessage") [18:02:43.522] if (muffled) [18:02:43.522] invokeRestart("muffleMessage") [18:02:43.522] } [18:02:43.522] else if (inherits(cond, "warning")) { [18:02:43.522] muffled <- grepl(pattern, "muffleWarning") [18:02:43.522] if (muffled) [18:02:43.522] invokeRestart("muffleWarning") [18:02:43.522] } [18:02:43.522] else if (inherits(cond, "condition")) { [18:02:43.522] if (!is.null(pattern)) { [18:02:43.522] computeRestarts <- base::computeRestarts [18:02:43.522] grepl <- base::grepl [18:02:43.522] restarts <- computeRestarts(cond) [18:02:43.522] for (restart in restarts) { [18:02:43.522] name <- restart$name [18:02:43.522] if (is.null(name)) [18:02:43.522] next [18:02:43.522] if (!grepl(pattern, name)) [18:02:43.522] next [18:02:43.522] invokeRestart(restart) [18:02:43.522] muffled <- TRUE [18:02:43.522] break [18:02:43.522] } [18:02:43.522] } [18:02:43.522] } [18:02:43.522] invisible(muffled) [18:02:43.522] } [18:02:43.522] muffleCondition(cond, pattern = "^muffle") [18:02:43.522] } [18:02:43.522] } [18:02:43.522] else { [18:02:43.522] if (TRUE) { [18:02:43.522] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.522] { [18:02:43.522] inherits <- base::inherits [18:02:43.522] invokeRestart <- base::invokeRestart [18:02:43.522] is.null <- base::is.null [18:02:43.522] muffled <- FALSE [18:02:43.522] if (inherits(cond, "message")) { [18:02:43.522] muffled <- grepl(pattern, "muffleMessage") [18:02:43.522] if (muffled) [18:02:43.522] invokeRestart("muffleMessage") [18:02:43.522] } [18:02:43.522] else if (inherits(cond, "warning")) { [18:02:43.522] muffled <- grepl(pattern, "muffleWarning") [18:02:43.522] if (muffled) [18:02:43.522] invokeRestart("muffleWarning") [18:02:43.522] } [18:02:43.522] else if (inherits(cond, "condition")) { [18:02:43.522] if (!is.null(pattern)) { [18:02:43.522] computeRestarts <- base::computeRestarts [18:02:43.522] grepl <- base::grepl [18:02:43.522] restarts <- computeRestarts(cond) [18:02:43.522] for (restart in restarts) { [18:02:43.522] name <- restart$name [18:02:43.522] if (is.null(name)) [18:02:43.522] next [18:02:43.522] if (!grepl(pattern, name)) [18:02:43.522] next [18:02:43.522] invokeRestart(restart) [18:02:43.522] muffled <- TRUE [18:02:43.522] break [18:02:43.522] } [18:02:43.522] } [18:02:43.522] } [18:02:43.522] invisible(muffled) [18:02:43.522] } [18:02:43.522] muffleCondition(cond, pattern = "^muffle") [18:02:43.522] } [18:02:43.522] } [18:02:43.522] } [18:02:43.522] })) [18:02:43.522] }, error = function(ex) { [18:02:43.522] base::structure(base::list(value = NULL, visible = NULL, [18:02:43.522] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.522] ...future.rng), started = ...future.startTime, [18:02:43.522] finished = Sys.time(), session_uuid = NA_character_, [18:02:43.522] version = "1.8"), class = "FutureResult") [18:02:43.522] }, finally = { [18:02:43.522] if (!identical(...future.workdir, getwd())) [18:02:43.522] setwd(...future.workdir) [18:02:43.522] { [18:02:43.522] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:43.522] ...future.oldOptions$nwarnings <- NULL [18:02:43.522] } [18:02:43.522] base::options(...future.oldOptions) [18:02:43.522] if (.Platform$OS.type == "windows") { [18:02:43.522] old_names <- names(...future.oldEnvVars) [18:02:43.522] envs <- base::Sys.getenv() [18:02:43.522] names <- names(envs) [18:02:43.522] common <- intersect(names, old_names) [18:02:43.522] added <- setdiff(names, old_names) [18:02:43.522] removed <- setdiff(old_names, names) [18:02:43.522] changed <- common[...future.oldEnvVars[common] != [18:02:43.522] envs[common]] [18:02:43.522] NAMES <- toupper(changed) [18:02:43.522] args <- list() [18:02:43.522] for (kk in seq_along(NAMES)) { [18:02:43.522] name <- changed[[kk]] [18:02:43.522] NAME <- NAMES[[kk]] [18:02:43.522] if (name != NAME && is.element(NAME, old_names)) [18:02:43.522] next [18:02:43.522] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.522] } [18:02:43.522] NAMES <- toupper(added) [18:02:43.522] for (kk in seq_along(NAMES)) { [18:02:43.522] name <- added[[kk]] [18:02:43.522] NAME <- NAMES[[kk]] [18:02:43.522] if (name != NAME && is.element(NAME, old_names)) [18:02:43.522] next [18:02:43.522] args[[name]] <- "" [18:02:43.522] } [18:02:43.522] NAMES <- toupper(removed) [18:02:43.522] for (kk in seq_along(NAMES)) { [18:02:43.522] name <- removed[[kk]] [18:02:43.522] NAME <- NAMES[[kk]] [18:02:43.522] if (name != NAME && is.element(NAME, old_names)) [18:02:43.522] next [18:02:43.522] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.522] } [18:02:43.522] if (length(args) > 0) [18:02:43.522] base::do.call(base::Sys.setenv, args = args) [18:02:43.522] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:43.522] } [18:02:43.522] else { [18:02:43.522] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:43.522] } [18:02:43.522] { [18:02:43.522] if (base::length(...future.futureOptionsAdded) > [18:02:43.522] 0L) { [18:02:43.522] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:43.522] base::names(opts) <- ...future.futureOptionsAdded [18:02:43.522] base::options(opts) [18:02:43.522] } [18:02:43.522] { [18:02:43.522] { [18:02:43.522] NULL [18:02:43.522] RNGkind("Mersenne-Twister") [18:02:43.522] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:43.522] inherits = FALSE) [18:02:43.522] } [18:02:43.522] options(future.plan = NULL) [18:02:43.522] if (is.na(NA_character_)) [18:02:43.522] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.522] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:43.522] future::plan(list(function (..., envir = parent.frame()) [18:02:43.522] { [18:02:43.522] future <- SequentialFuture(..., envir = envir) [18:02:43.522] if (!future$lazy) [18:02:43.522] future <- run(future) [18:02:43.522] invisible(future) [18:02:43.522] }), .cleanup = FALSE, .init = FALSE) [18:02:43.522] } [18:02:43.522] } [18:02:43.522] } [18:02:43.522] }) [18:02:43.522] if (TRUE) { [18:02:43.522] base::sink(type = "output", split = FALSE) [18:02:43.522] if (TRUE) { [18:02:43.522] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:43.522] } [18:02:43.522] else { [18:02:43.522] ...future.result["stdout"] <- base::list(NULL) [18:02:43.522] } [18:02:43.522] base::close(...future.stdout) [18:02:43.522] ...future.stdout <- NULL [18:02:43.522] } [18:02:43.522] ...future.result$conditions <- ...future.conditions [18:02:43.522] ...future.result$finished <- base::Sys.time() [18:02:43.522] ...future.result [18:02:43.522] } [18:02:43.525] assign_globals() ... [18:02:43.526] List of 1 [18:02:43.526] $ kk: int 1 [18:02:43.526] - attr(*, "where")=List of 1 [18:02:43.526] ..$ kk: [18:02:43.526] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:43.526] - attr(*, "resolved")= logi FALSE [18:02:43.526] - attr(*, "total_size")= num 56 [18:02:43.526] - attr(*, "already-done")= logi TRUE [18:02:43.529] - copied 'kk' to environment [18:02:43.529] assign_globals() ... done [18:02:43.529] plan(): Setting new future strategy stack: [18:02:43.529] List of future strategies: [18:02:43.529] 1. sequential: [18:02:43.529] - args: function (..., envir = parent.frame()) [18:02:43.529] - tweaked: FALSE [18:02:43.529] - call: NULL [18:02:43.530] plan(): nbrOfWorkers() = 1 [18:02:43.638] plan(): Setting new future strategy stack: [18:02:43.638] List of future strategies: [18:02:43.638] 1. sequential: [18:02:43.638] - args: function (..., envir = parent.frame()) [18:02:43.638] - tweaked: FALSE [18:02:43.638] - call: plan(strategy) [18:02:43.638] plan(): nbrOfWorkers() = 1 [18:02:43.639] SequentialFuture started (and completed) [18:02:43.639] - Launch lazy future ... done [18:02:43.639] run() for 'SequentialFuture' ... done [18:02:43.639] resolved() for 'SequentialFuture' ... [18:02:43.639] - state: 'finished' [18:02:43.640] - run: TRUE [18:02:43.640] - result: 'FutureResult' [18:02:43.640] resolved() for 'SequentialFuture' ... done [18:02:43.640] Future #1 [18:02:43.640] length: 2 (resolved future 1) [18:02:43.641] run() for 'Future' ... [18:02:43.641] - state: 'created' [18:02:43.641] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:43.641] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:43.641] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:43.642] - Field: 'label' [18:02:43.642] - Field: 'local' [18:02:43.642] - Field: 'owner' [18:02:43.642] - Field: 'envir' [18:02:43.642] - Field: 'packages' [18:02:43.643] - Field: 'gc' [18:02:43.643] - Field: 'conditions' [18:02:43.643] - Field: 'expr' [18:02:43.643] - Field: 'uuid' [18:02:43.643] - Field: 'seed' [18:02:43.643] - Field: 'version' [18:02:43.644] - Field: 'result' [18:02:43.644] - Field: 'asynchronous' [18:02:43.644] - Field: 'calls' [18:02:43.644] - Field: 'globals' [18:02:43.644] - Field: 'stdout' [18:02:43.645] - Field: 'earlySignal' [18:02:43.645] - Field: 'lazy' [18:02:43.645] - Field: 'state' [18:02:43.645] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:43.645] - Launch lazy future ... [18:02:43.646] Packages needed by the future expression (n = 0): [18:02:43.646] Packages needed by future strategies (n = 0): [18:02:43.646] { [18:02:43.646] { [18:02:43.646] { [18:02:43.646] ...future.startTime <- base::Sys.time() [18:02:43.646] { [18:02:43.646] { [18:02:43.646] { [18:02:43.646] base::local({ [18:02:43.646] has_future <- base::requireNamespace("future", [18:02:43.646] quietly = TRUE) [18:02:43.646] if (has_future) { [18:02:43.646] ns <- base::getNamespace("future") [18:02:43.646] version <- ns[[".package"]][["version"]] [18:02:43.646] if (is.null(version)) [18:02:43.646] version <- utils::packageVersion("future") [18:02:43.646] } [18:02:43.646] else { [18:02:43.646] version <- NULL [18:02:43.646] } [18:02:43.646] if (!has_future || version < "1.8.0") { [18:02:43.646] info <- base::c(r_version = base::gsub("R version ", [18:02:43.646] "", base::R.version$version.string), [18:02:43.646] platform = base::sprintf("%s (%s-bit)", [18:02:43.646] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:43.646] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:43.646] "release", "version")], collapse = " "), [18:02:43.646] hostname = base::Sys.info()[["nodename"]]) [18:02:43.646] info <- base::sprintf("%s: %s", base::names(info), [18:02:43.646] info) [18:02:43.646] info <- base::paste(info, collapse = "; ") [18:02:43.646] if (!has_future) { [18:02:43.646] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:43.646] info) [18:02:43.646] } [18:02:43.646] else { [18:02:43.646] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:43.646] info, version) [18:02:43.646] } [18:02:43.646] base::stop(msg) [18:02:43.646] } [18:02:43.646] }) [18:02:43.646] } [18:02:43.646] options(future.plan = NULL) [18:02:43.646] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.646] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:43.646] } [18:02:43.646] ...future.workdir <- getwd() [18:02:43.646] } [18:02:43.646] ...future.oldOptions <- base::as.list(base::.Options) [18:02:43.646] ...future.oldEnvVars <- base::Sys.getenv() [18:02:43.646] } [18:02:43.646] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:43.646] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:43.646] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:43.646] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:43.646] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:43.646] future.stdout.windows.reencode = NULL, width = 80L) [18:02:43.646] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:43.646] base::names(...future.oldOptions)) [18:02:43.646] } [18:02:43.646] if (FALSE) { [18:02:43.646] } [18:02:43.646] else { [18:02:43.646] if (TRUE) { [18:02:43.646] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:43.646] open = "w") [18:02:43.646] } [18:02:43.646] else { [18:02:43.646] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:43.646] windows = "NUL", "/dev/null"), open = "w") [18:02:43.646] } [18:02:43.646] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:43.646] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:43.646] base::sink(type = "output", split = FALSE) [18:02:43.646] base::close(...future.stdout) [18:02:43.646] }, add = TRUE) [18:02:43.646] } [18:02:43.646] ...future.frame <- base::sys.nframe() [18:02:43.646] ...future.conditions <- base::list() [18:02:43.646] ...future.rng <- base::globalenv()$.Random.seed [18:02:43.646] if (FALSE) { [18:02:43.646] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:43.646] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:43.646] } [18:02:43.646] ...future.result <- base::tryCatch({ [18:02:43.646] base::withCallingHandlers({ [18:02:43.646] ...future.value <- base::withVisible(base::local({ [18:02:43.646] Sys.sleep(0.1) [18:02:43.646] kk [18:02:43.646] })) [18:02:43.646] future::FutureResult(value = ...future.value$value, [18:02:43.646] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.646] ...future.rng), globalenv = if (FALSE) [18:02:43.646] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:43.646] ...future.globalenv.names)) [18:02:43.646] else NULL, started = ...future.startTime, version = "1.8") [18:02:43.646] }, condition = base::local({ [18:02:43.646] c <- base::c [18:02:43.646] inherits <- base::inherits [18:02:43.646] invokeRestart <- base::invokeRestart [18:02:43.646] length <- base::length [18:02:43.646] list <- base::list [18:02:43.646] seq.int <- base::seq.int [18:02:43.646] signalCondition <- base::signalCondition [18:02:43.646] sys.calls <- base::sys.calls [18:02:43.646] `[[` <- base::`[[` [18:02:43.646] `+` <- base::`+` [18:02:43.646] `<<-` <- base::`<<-` [18:02:43.646] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:43.646] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:43.646] 3L)] [18:02:43.646] } [18:02:43.646] function(cond) { [18:02:43.646] is_error <- inherits(cond, "error") [18:02:43.646] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:43.646] NULL) [18:02:43.646] if (is_error) { [18:02:43.646] sessionInformation <- function() { [18:02:43.646] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:43.646] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:43.646] search = base::search(), system = base::Sys.info()) [18:02:43.646] } [18:02:43.646] ...future.conditions[[length(...future.conditions) + [18:02:43.646] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:43.646] cond$call), session = sessionInformation(), [18:02:43.646] timestamp = base::Sys.time(), signaled = 0L) [18:02:43.646] signalCondition(cond) [18:02:43.646] } [18:02:43.646] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:43.646] "immediateCondition"))) { [18:02:43.646] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:43.646] ...future.conditions[[length(...future.conditions) + [18:02:43.646] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:43.646] if (TRUE && !signal) { [18:02:43.646] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.646] { [18:02:43.646] inherits <- base::inherits [18:02:43.646] invokeRestart <- base::invokeRestart [18:02:43.646] is.null <- base::is.null [18:02:43.646] muffled <- FALSE [18:02:43.646] if (inherits(cond, "message")) { [18:02:43.646] muffled <- grepl(pattern, "muffleMessage") [18:02:43.646] if (muffled) [18:02:43.646] invokeRestart("muffleMessage") [18:02:43.646] } [18:02:43.646] else if (inherits(cond, "warning")) { [18:02:43.646] muffled <- grepl(pattern, "muffleWarning") [18:02:43.646] if (muffled) [18:02:43.646] invokeRestart("muffleWarning") [18:02:43.646] } [18:02:43.646] else if (inherits(cond, "condition")) { [18:02:43.646] if (!is.null(pattern)) { [18:02:43.646] computeRestarts <- base::computeRestarts [18:02:43.646] grepl <- base::grepl [18:02:43.646] restarts <- computeRestarts(cond) [18:02:43.646] for (restart in restarts) { [18:02:43.646] name <- restart$name [18:02:43.646] if (is.null(name)) [18:02:43.646] next [18:02:43.646] if (!grepl(pattern, name)) [18:02:43.646] next [18:02:43.646] invokeRestart(restart) [18:02:43.646] muffled <- TRUE [18:02:43.646] break [18:02:43.646] } [18:02:43.646] } [18:02:43.646] } [18:02:43.646] invisible(muffled) [18:02:43.646] } [18:02:43.646] muffleCondition(cond, pattern = "^muffle") [18:02:43.646] } [18:02:43.646] } [18:02:43.646] else { [18:02:43.646] if (TRUE) { [18:02:43.646] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.646] { [18:02:43.646] inherits <- base::inherits [18:02:43.646] invokeRestart <- base::invokeRestart [18:02:43.646] is.null <- base::is.null [18:02:43.646] muffled <- FALSE [18:02:43.646] if (inherits(cond, "message")) { [18:02:43.646] muffled <- grepl(pattern, "muffleMessage") [18:02:43.646] if (muffled) [18:02:43.646] invokeRestart("muffleMessage") [18:02:43.646] } [18:02:43.646] else if (inherits(cond, "warning")) { [18:02:43.646] muffled <- grepl(pattern, "muffleWarning") [18:02:43.646] if (muffled) [18:02:43.646] invokeRestart("muffleWarning") [18:02:43.646] } [18:02:43.646] else if (inherits(cond, "condition")) { [18:02:43.646] if (!is.null(pattern)) { [18:02:43.646] computeRestarts <- base::computeRestarts [18:02:43.646] grepl <- base::grepl [18:02:43.646] restarts <- computeRestarts(cond) [18:02:43.646] for (restart in restarts) { [18:02:43.646] name <- restart$name [18:02:43.646] if (is.null(name)) [18:02:43.646] next [18:02:43.646] if (!grepl(pattern, name)) [18:02:43.646] next [18:02:43.646] invokeRestart(restart) [18:02:43.646] muffled <- TRUE [18:02:43.646] break [18:02:43.646] } [18:02:43.646] } [18:02:43.646] } [18:02:43.646] invisible(muffled) [18:02:43.646] } [18:02:43.646] muffleCondition(cond, pattern = "^muffle") [18:02:43.646] } [18:02:43.646] } [18:02:43.646] } [18:02:43.646] })) [18:02:43.646] }, error = function(ex) { [18:02:43.646] base::structure(base::list(value = NULL, visible = NULL, [18:02:43.646] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.646] ...future.rng), started = ...future.startTime, [18:02:43.646] finished = Sys.time(), session_uuid = NA_character_, [18:02:43.646] version = "1.8"), class = "FutureResult") [18:02:43.646] }, finally = { [18:02:43.646] if (!identical(...future.workdir, getwd())) [18:02:43.646] setwd(...future.workdir) [18:02:43.646] { [18:02:43.646] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:43.646] ...future.oldOptions$nwarnings <- NULL [18:02:43.646] } [18:02:43.646] base::options(...future.oldOptions) [18:02:43.646] if (.Platform$OS.type == "windows") { [18:02:43.646] old_names <- names(...future.oldEnvVars) [18:02:43.646] envs <- base::Sys.getenv() [18:02:43.646] names <- names(envs) [18:02:43.646] common <- intersect(names, old_names) [18:02:43.646] added <- setdiff(names, old_names) [18:02:43.646] removed <- setdiff(old_names, names) [18:02:43.646] changed <- common[...future.oldEnvVars[common] != [18:02:43.646] envs[common]] [18:02:43.646] NAMES <- toupper(changed) [18:02:43.646] args <- list() [18:02:43.646] for (kk in seq_along(NAMES)) { [18:02:43.646] name <- changed[[kk]] [18:02:43.646] NAME <- NAMES[[kk]] [18:02:43.646] if (name != NAME && is.element(NAME, old_names)) [18:02:43.646] next [18:02:43.646] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.646] } [18:02:43.646] NAMES <- toupper(added) [18:02:43.646] for (kk in seq_along(NAMES)) { [18:02:43.646] name <- added[[kk]] [18:02:43.646] NAME <- NAMES[[kk]] [18:02:43.646] if (name != NAME && is.element(NAME, old_names)) [18:02:43.646] next [18:02:43.646] args[[name]] <- "" [18:02:43.646] } [18:02:43.646] NAMES <- toupper(removed) [18:02:43.646] for (kk in seq_along(NAMES)) { [18:02:43.646] name <- removed[[kk]] [18:02:43.646] NAME <- NAMES[[kk]] [18:02:43.646] if (name != NAME && is.element(NAME, old_names)) [18:02:43.646] next [18:02:43.646] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.646] } [18:02:43.646] if (length(args) > 0) [18:02:43.646] base::do.call(base::Sys.setenv, args = args) [18:02:43.646] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:43.646] } [18:02:43.646] else { [18:02:43.646] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:43.646] } [18:02:43.646] { [18:02:43.646] if (base::length(...future.futureOptionsAdded) > [18:02:43.646] 0L) { [18:02:43.646] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:43.646] base::names(opts) <- ...future.futureOptionsAdded [18:02:43.646] base::options(opts) [18:02:43.646] } [18:02:43.646] { [18:02:43.646] { [18:02:43.646] NULL [18:02:43.646] RNGkind("Mersenne-Twister") [18:02:43.646] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:43.646] inherits = FALSE) [18:02:43.646] } [18:02:43.646] options(future.plan = NULL) [18:02:43.646] if (is.na(NA_character_)) [18:02:43.646] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.646] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:43.646] future::plan(list(function (..., envir = parent.frame()) [18:02:43.646] { [18:02:43.646] future <- SequentialFuture(..., envir = envir) [18:02:43.646] if (!future$lazy) [18:02:43.646] future <- run(future) [18:02:43.646] invisible(future) [18:02:43.646] }), .cleanup = FALSE, .init = FALSE) [18:02:43.646] } [18:02:43.646] } [18:02:43.646] } [18:02:43.646] }) [18:02:43.646] if (TRUE) { [18:02:43.646] base::sink(type = "output", split = FALSE) [18:02:43.646] if (TRUE) { [18:02:43.646] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:43.646] } [18:02:43.646] else { [18:02:43.646] ...future.result["stdout"] <- base::list(NULL) [18:02:43.646] } [18:02:43.646] base::close(...future.stdout) [18:02:43.646] ...future.stdout <- NULL [18:02:43.646] } [18:02:43.646] ...future.result$conditions <- ...future.conditions [18:02:43.646] ...future.result$finished <- base::Sys.time() [18:02:43.646] ...future.result [18:02:43.646] } [18:02:43.650] assign_globals() ... [18:02:43.650] List of 1 [18:02:43.650] $ kk: int 2 [18:02:43.650] - attr(*, "where")=List of 1 [18:02:43.650] ..$ kk: [18:02:43.650] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:43.650] - attr(*, "resolved")= logi FALSE [18:02:43.650] - attr(*, "total_size")= num 56 [18:02:43.650] - attr(*, "already-done")= logi TRUE [18:02:43.653] - copied 'kk' to environment [18:02:43.654] assign_globals() ... done [18:02:43.654] plan(): Setting new future strategy stack: [18:02:43.654] List of future strategies: [18:02:43.654] 1. sequential: [18:02:43.654] - args: function (..., envir = parent.frame()) [18:02:43.654] - tweaked: FALSE [18:02:43.654] - call: NULL [18:02:43.655] plan(): nbrOfWorkers() = 1 [18:02:43.763] plan(): Setting new future strategy stack: [18:02:43.763] List of future strategies: [18:02:43.763] 1. sequential: [18:02:43.763] - args: function (..., envir = parent.frame()) [18:02:43.763] - tweaked: FALSE [18:02:43.763] - call: plan(strategy) [18:02:43.764] plan(): nbrOfWorkers() = 1 [18:02:43.764] SequentialFuture started (and completed) [18:02:43.764] - Launch lazy future ... done [18:02:43.765] run() for 'SequentialFuture' ... done [18:02:43.765] resolved() for 'SequentialFuture' ... [18:02:43.765] - state: 'finished' [18:02:43.765] - run: TRUE [18:02:43.765] - result: 'FutureResult' [18:02:43.765] resolved() for 'SequentialFuture' ... done [18:02:43.766] Future #2 [18:02:43.766] length: 1 (resolved future 2) [18:02:43.766] run() for 'Future' ... [18:02:43.766] - state: 'created' [18:02:43.766] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:43.767] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:43.767] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:43.767] - Field: 'label' [18:02:43.767] - Field: 'local' [18:02:43.768] - Field: 'owner' [18:02:43.768] - Field: 'envir' [18:02:43.768] - Field: 'packages' [18:02:43.768] - Field: 'gc' [18:02:43.768] - Field: 'conditions' [18:02:43.768] - Field: 'expr' [18:02:43.769] - Field: 'uuid' [18:02:43.769] - Field: 'seed' [18:02:43.769] - Field: 'version' [18:02:43.769] - Field: 'result' [18:02:43.769] - Field: 'asynchronous' [18:02:43.769] - Field: 'calls' [18:02:43.770] - Field: 'globals' [18:02:43.771] - Field: 'stdout' [18:02:43.771] - Field: 'earlySignal' [18:02:43.771] - Field: 'lazy' [18:02:43.772] - Field: 'state' [18:02:43.772] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:43.772] - Launch lazy future ... [18:02:43.772] Packages needed by the future expression (n = 0): [18:02:43.772] Packages needed by future strategies (n = 0): [18:02:43.773] { [18:02:43.773] { [18:02:43.773] { [18:02:43.773] ...future.startTime <- base::Sys.time() [18:02:43.773] { [18:02:43.773] { [18:02:43.773] { [18:02:43.773] base::local({ [18:02:43.773] has_future <- base::requireNamespace("future", [18:02:43.773] quietly = TRUE) [18:02:43.773] if (has_future) { [18:02:43.773] ns <- base::getNamespace("future") [18:02:43.773] version <- ns[[".package"]][["version"]] [18:02:43.773] if (is.null(version)) [18:02:43.773] version <- utils::packageVersion("future") [18:02:43.773] } [18:02:43.773] else { [18:02:43.773] version <- NULL [18:02:43.773] } [18:02:43.773] if (!has_future || version < "1.8.0") { [18:02:43.773] info <- base::c(r_version = base::gsub("R version ", [18:02:43.773] "", base::R.version$version.string), [18:02:43.773] platform = base::sprintf("%s (%s-bit)", [18:02:43.773] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:43.773] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:43.773] "release", "version")], collapse = " "), [18:02:43.773] hostname = base::Sys.info()[["nodename"]]) [18:02:43.773] info <- base::sprintf("%s: %s", base::names(info), [18:02:43.773] info) [18:02:43.773] info <- base::paste(info, collapse = "; ") [18:02:43.773] if (!has_future) { [18:02:43.773] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:43.773] info) [18:02:43.773] } [18:02:43.773] else { [18:02:43.773] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:43.773] info, version) [18:02:43.773] } [18:02:43.773] base::stop(msg) [18:02:43.773] } [18:02:43.773] }) [18:02:43.773] } [18:02:43.773] options(future.plan = NULL) [18:02:43.773] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.773] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:43.773] } [18:02:43.773] ...future.workdir <- getwd() [18:02:43.773] } [18:02:43.773] ...future.oldOptions <- base::as.list(base::.Options) [18:02:43.773] ...future.oldEnvVars <- base::Sys.getenv() [18:02:43.773] } [18:02:43.773] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:43.773] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:43.773] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:43.773] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:43.773] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:43.773] future.stdout.windows.reencode = NULL, width = 80L) [18:02:43.773] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:43.773] base::names(...future.oldOptions)) [18:02:43.773] } [18:02:43.773] if (FALSE) { [18:02:43.773] } [18:02:43.773] else { [18:02:43.773] if (TRUE) { [18:02:43.773] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:43.773] open = "w") [18:02:43.773] } [18:02:43.773] else { [18:02:43.773] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:43.773] windows = "NUL", "/dev/null"), open = "w") [18:02:43.773] } [18:02:43.773] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:43.773] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:43.773] base::sink(type = "output", split = FALSE) [18:02:43.773] base::close(...future.stdout) [18:02:43.773] }, add = TRUE) [18:02:43.773] } [18:02:43.773] ...future.frame <- base::sys.nframe() [18:02:43.773] ...future.conditions <- base::list() [18:02:43.773] ...future.rng <- base::globalenv()$.Random.seed [18:02:43.773] if (FALSE) { [18:02:43.773] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:43.773] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:43.773] } [18:02:43.773] ...future.result <- base::tryCatch({ [18:02:43.773] base::withCallingHandlers({ [18:02:43.773] ...future.value <- base::withVisible(base::local({ [18:02:43.773] Sys.sleep(0.1) [18:02:43.773] kk [18:02:43.773] })) [18:02:43.773] future::FutureResult(value = ...future.value$value, [18:02:43.773] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.773] ...future.rng), globalenv = if (FALSE) [18:02:43.773] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:43.773] ...future.globalenv.names)) [18:02:43.773] else NULL, started = ...future.startTime, version = "1.8") [18:02:43.773] }, condition = base::local({ [18:02:43.773] c <- base::c [18:02:43.773] inherits <- base::inherits [18:02:43.773] invokeRestart <- base::invokeRestart [18:02:43.773] length <- base::length [18:02:43.773] list <- base::list [18:02:43.773] seq.int <- base::seq.int [18:02:43.773] signalCondition <- base::signalCondition [18:02:43.773] sys.calls <- base::sys.calls [18:02:43.773] `[[` <- base::`[[` [18:02:43.773] `+` <- base::`+` [18:02:43.773] `<<-` <- base::`<<-` [18:02:43.773] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:43.773] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:43.773] 3L)] [18:02:43.773] } [18:02:43.773] function(cond) { [18:02:43.773] is_error <- inherits(cond, "error") [18:02:43.773] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:43.773] NULL) [18:02:43.773] if (is_error) { [18:02:43.773] sessionInformation <- function() { [18:02:43.773] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:43.773] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:43.773] search = base::search(), system = base::Sys.info()) [18:02:43.773] } [18:02:43.773] ...future.conditions[[length(...future.conditions) + [18:02:43.773] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:43.773] cond$call), session = sessionInformation(), [18:02:43.773] timestamp = base::Sys.time(), signaled = 0L) [18:02:43.773] signalCondition(cond) [18:02:43.773] } [18:02:43.773] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:43.773] "immediateCondition"))) { [18:02:43.773] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:43.773] ...future.conditions[[length(...future.conditions) + [18:02:43.773] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:43.773] if (TRUE && !signal) { [18:02:43.773] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.773] { [18:02:43.773] inherits <- base::inherits [18:02:43.773] invokeRestart <- base::invokeRestart [18:02:43.773] is.null <- base::is.null [18:02:43.773] muffled <- FALSE [18:02:43.773] if (inherits(cond, "message")) { [18:02:43.773] muffled <- grepl(pattern, "muffleMessage") [18:02:43.773] if (muffled) [18:02:43.773] invokeRestart("muffleMessage") [18:02:43.773] } [18:02:43.773] else if (inherits(cond, "warning")) { [18:02:43.773] muffled <- grepl(pattern, "muffleWarning") [18:02:43.773] if (muffled) [18:02:43.773] invokeRestart("muffleWarning") [18:02:43.773] } [18:02:43.773] else if (inherits(cond, "condition")) { [18:02:43.773] if (!is.null(pattern)) { [18:02:43.773] computeRestarts <- base::computeRestarts [18:02:43.773] grepl <- base::grepl [18:02:43.773] restarts <- computeRestarts(cond) [18:02:43.773] for (restart in restarts) { [18:02:43.773] name <- restart$name [18:02:43.773] if (is.null(name)) [18:02:43.773] next [18:02:43.773] if (!grepl(pattern, name)) [18:02:43.773] next [18:02:43.773] invokeRestart(restart) [18:02:43.773] muffled <- TRUE [18:02:43.773] break [18:02:43.773] } [18:02:43.773] } [18:02:43.773] } [18:02:43.773] invisible(muffled) [18:02:43.773] } [18:02:43.773] muffleCondition(cond, pattern = "^muffle") [18:02:43.773] } [18:02:43.773] } [18:02:43.773] else { [18:02:43.773] if (TRUE) { [18:02:43.773] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.773] { [18:02:43.773] inherits <- base::inherits [18:02:43.773] invokeRestart <- base::invokeRestart [18:02:43.773] is.null <- base::is.null [18:02:43.773] muffled <- FALSE [18:02:43.773] if (inherits(cond, "message")) { [18:02:43.773] muffled <- grepl(pattern, "muffleMessage") [18:02:43.773] if (muffled) [18:02:43.773] invokeRestart("muffleMessage") [18:02:43.773] } [18:02:43.773] else if (inherits(cond, "warning")) { [18:02:43.773] muffled <- grepl(pattern, "muffleWarning") [18:02:43.773] if (muffled) [18:02:43.773] invokeRestart("muffleWarning") [18:02:43.773] } [18:02:43.773] else if (inherits(cond, "condition")) { [18:02:43.773] if (!is.null(pattern)) { [18:02:43.773] computeRestarts <- base::computeRestarts [18:02:43.773] grepl <- base::grepl [18:02:43.773] restarts <- computeRestarts(cond) [18:02:43.773] for (restart in restarts) { [18:02:43.773] name <- restart$name [18:02:43.773] if (is.null(name)) [18:02:43.773] next [18:02:43.773] if (!grepl(pattern, name)) [18:02:43.773] next [18:02:43.773] invokeRestart(restart) [18:02:43.773] muffled <- TRUE [18:02:43.773] break [18:02:43.773] } [18:02:43.773] } [18:02:43.773] } [18:02:43.773] invisible(muffled) [18:02:43.773] } [18:02:43.773] muffleCondition(cond, pattern = "^muffle") [18:02:43.773] } [18:02:43.773] } [18:02:43.773] } [18:02:43.773] })) [18:02:43.773] }, error = function(ex) { [18:02:43.773] base::structure(base::list(value = NULL, visible = NULL, [18:02:43.773] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.773] ...future.rng), started = ...future.startTime, [18:02:43.773] finished = Sys.time(), session_uuid = NA_character_, [18:02:43.773] version = "1.8"), class = "FutureResult") [18:02:43.773] }, finally = { [18:02:43.773] if (!identical(...future.workdir, getwd())) [18:02:43.773] setwd(...future.workdir) [18:02:43.773] { [18:02:43.773] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:43.773] ...future.oldOptions$nwarnings <- NULL [18:02:43.773] } [18:02:43.773] base::options(...future.oldOptions) [18:02:43.773] if (.Platform$OS.type == "windows") { [18:02:43.773] old_names <- names(...future.oldEnvVars) [18:02:43.773] envs <- base::Sys.getenv() [18:02:43.773] names <- names(envs) [18:02:43.773] common <- intersect(names, old_names) [18:02:43.773] added <- setdiff(names, old_names) [18:02:43.773] removed <- setdiff(old_names, names) [18:02:43.773] changed <- common[...future.oldEnvVars[common] != [18:02:43.773] envs[common]] [18:02:43.773] NAMES <- toupper(changed) [18:02:43.773] args <- list() [18:02:43.773] for (kk in seq_along(NAMES)) { [18:02:43.773] name <- changed[[kk]] [18:02:43.773] NAME <- NAMES[[kk]] [18:02:43.773] if (name != NAME && is.element(NAME, old_names)) [18:02:43.773] next [18:02:43.773] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.773] } [18:02:43.773] NAMES <- toupper(added) [18:02:43.773] for (kk in seq_along(NAMES)) { [18:02:43.773] name <- added[[kk]] [18:02:43.773] NAME <- NAMES[[kk]] [18:02:43.773] if (name != NAME && is.element(NAME, old_names)) [18:02:43.773] next [18:02:43.773] args[[name]] <- "" [18:02:43.773] } [18:02:43.773] NAMES <- toupper(removed) [18:02:43.773] for (kk in seq_along(NAMES)) { [18:02:43.773] name <- removed[[kk]] [18:02:43.773] NAME <- NAMES[[kk]] [18:02:43.773] if (name != NAME && is.element(NAME, old_names)) [18:02:43.773] next [18:02:43.773] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.773] } [18:02:43.773] if (length(args) > 0) [18:02:43.773] base::do.call(base::Sys.setenv, args = args) [18:02:43.773] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:43.773] } [18:02:43.773] else { [18:02:43.773] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:43.773] } [18:02:43.773] { [18:02:43.773] if (base::length(...future.futureOptionsAdded) > [18:02:43.773] 0L) { [18:02:43.773] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:43.773] base::names(opts) <- ...future.futureOptionsAdded [18:02:43.773] base::options(opts) [18:02:43.773] } [18:02:43.773] { [18:02:43.773] { [18:02:43.773] NULL [18:02:43.773] RNGkind("Mersenne-Twister") [18:02:43.773] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:43.773] inherits = FALSE) [18:02:43.773] } [18:02:43.773] options(future.plan = NULL) [18:02:43.773] if (is.na(NA_character_)) [18:02:43.773] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.773] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:43.773] future::plan(list(function (..., envir = parent.frame()) [18:02:43.773] { [18:02:43.773] future <- SequentialFuture(..., envir = envir) [18:02:43.773] if (!future$lazy) [18:02:43.773] future <- run(future) [18:02:43.773] invisible(future) [18:02:43.773] }), .cleanup = FALSE, .init = FALSE) [18:02:43.773] } [18:02:43.773] } [18:02:43.773] } [18:02:43.773] }) [18:02:43.773] if (TRUE) { [18:02:43.773] base::sink(type = "output", split = FALSE) [18:02:43.773] if (TRUE) { [18:02:43.773] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:43.773] } [18:02:43.773] else { [18:02:43.773] ...future.result["stdout"] <- base::list(NULL) [18:02:43.773] } [18:02:43.773] base::close(...future.stdout) [18:02:43.773] ...future.stdout <- NULL [18:02:43.773] } [18:02:43.773] ...future.result$conditions <- ...future.conditions [18:02:43.773] ...future.result$finished <- base::Sys.time() [18:02:43.773] ...future.result [18:02:43.773] } [18:02:43.777] assign_globals() ... [18:02:43.777] List of 1 [18:02:43.777] $ kk: int 3 [18:02:43.777] - attr(*, "where")=List of 1 [18:02:43.777] ..$ kk: [18:02:43.777] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:02:43.777] - attr(*, "resolved")= logi FALSE [18:02:43.777] - attr(*, "total_size")= num 56 [18:02:43.777] - attr(*, "already-done")= logi TRUE [18:02:43.780] - copied 'kk' to environment [18:02:43.780] assign_globals() ... done [18:02:43.780] plan(): Setting new future strategy stack: [18:02:43.780] List of future strategies: [18:02:43.780] 1. sequential: [18:02:43.780] - args: function (..., envir = parent.frame()) [18:02:43.780] - tweaked: FALSE [18:02:43.780] - call: NULL [18:02:43.781] plan(): nbrOfWorkers() = 1 [18:02:43.888] plan(): Setting new future strategy stack: [18:02:43.888] List of future strategies: [18:02:43.888] 1. sequential: [18:02:43.888] - args: function (..., envir = parent.frame()) [18:02:43.888] - tweaked: FALSE [18:02:43.888] - call: plan(strategy) [18:02:43.889] plan(): nbrOfWorkers() = 1 [18:02:43.889] SequentialFuture started (and completed) [18:02:43.889] - Launch lazy future ... done [18:02:43.889] run() for 'SequentialFuture' ... done [18:02:43.890] resolved() for 'SequentialFuture' ... [18:02:43.890] - state: 'finished' [18:02:43.890] - run: TRUE [18:02:43.890] - result: 'FutureResult' [18:02:43.890] resolved() for 'SequentialFuture' ... done [18:02:43.891] Future #3 [18:02:43.891] length: 0 (resolved future 3) [18:02:43.891] resolve() on list ... DONE *** resolve() for lists ... DONE *** resolve() for environments ... [18:02:43.892] resolve() on environment ... [18:02:43.892] recursive: 0 [18:02:43.894] elements: [2] 'a', 'b' [18:02:43.894] length: 1 (resolved future 1) [18:02:43.894] length: 0 (resolved future 2) [18:02:43.894] resolve() on environment ... DONE [18:02:43.895] getGlobalsAndPackages() ... [18:02:43.895] Searching for globals... [18:02:43.895] [18:02:43.895] Searching for globals ... DONE [18:02:43.895] - globals: [0] [18:02:43.896] getGlobalsAndPackages() ... DONE [18:02:43.896] run() for 'Future' ... [18:02:43.896] - state: 'created' [18:02:43.896] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:43.897] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:43.897] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:43.897] - Field: 'label' [18:02:43.897] - Field: 'local' [18:02:43.897] - Field: 'owner' [18:02:43.898] - Field: 'envir' [18:02:43.898] - Field: 'packages' [18:02:43.898] - Field: 'gc' [18:02:43.898] - Field: 'conditions' [18:02:43.898] - Field: 'expr' [18:02:43.899] - Field: 'uuid' [18:02:43.899] - Field: 'seed' [18:02:43.899] - Field: 'version' [18:02:43.899] - Field: 'result' [18:02:43.899] - Field: 'asynchronous' [18:02:43.899] - Field: 'calls' [18:02:43.900] - Field: 'globals' [18:02:43.900] - Field: 'stdout' [18:02:43.900] - Field: 'earlySignal' [18:02:43.900] - Field: 'lazy' [18:02:43.900] - Field: 'state' [18:02:43.900] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:43.901] - Launch lazy future ... [18:02:43.901] Packages needed by the future expression (n = 0): [18:02:43.901] Packages needed by future strategies (n = 0): [18:02:43.902] { [18:02:43.902] { [18:02:43.902] { [18:02:43.902] ...future.startTime <- base::Sys.time() [18:02:43.902] { [18:02:43.902] { [18:02:43.902] { [18:02:43.902] base::local({ [18:02:43.902] has_future <- base::requireNamespace("future", [18:02:43.902] quietly = TRUE) [18:02:43.902] if (has_future) { [18:02:43.902] ns <- base::getNamespace("future") [18:02:43.902] version <- ns[[".package"]][["version"]] [18:02:43.902] if (is.null(version)) [18:02:43.902] version <- utils::packageVersion("future") [18:02:43.902] } [18:02:43.902] else { [18:02:43.902] version <- NULL [18:02:43.902] } [18:02:43.902] if (!has_future || version < "1.8.0") { [18:02:43.902] info <- base::c(r_version = base::gsub("R version ", [18:02:43.902] "", base::R.version$version.string), [18:02:43.902] platform = base::sprintf("%s (%s-bit)", [18:02:43.902] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:43.902] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:43.902] "release", "version")], collapse = " "), [18:02:43.902] hostname = base::Sys.info()[["nodename"]]) [18:02:43.902] info <- base::sprintf("%s: %s", base::names(info), [18:02:43.902] info) [18:02:43.902] info <- base::paste(info, collapse = "; ") [18:02:43.902] if (!has_future) { [18:02:43.902] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:43.902] info) [18:02:43.902] } [18:02:43.902] else { [18:02:43.902] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:43.902] info, version) [18:02:43.902] } [18:02:43.902] base::stop(msg) [18:02:43.902] } [18:02:43.902] }) [18:02:43.902] } [18:02:43.902] options(future.plan = NULL) [18:02:43.902] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.902] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:43.902] } [18:02:43.902] ...future.workdir <- getwd() [18:02:43.902] } [18:02:43.902] ...future.oldOptions <- base::as.list(base::.Options) [18:02:43.902] ...future.oldEnvVars <- base::Sys.getenv() [18:02:43.902] } [18:02:43.902] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:43.902] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:43.902] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:43.902] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:43.902] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:43.902] future.stdout.windows.reencode = NULL, width = 80L) [18:02:43.902] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:43.902] base::names(...future.oldOptions)) [18:02:43.902] } [18:02:43.902] if (FALSE) { [18:02:43.902] } [18:02:43.902] else { [18:02:43.902] if (TRUE) { [18:02:43.902] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:43.902] open = "w") [18:02:43.902] } [18:02:43.902] else { [18:02:43.902] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:43.902] windows = "NUL", "/dev/null"), open = "w") [18:02:43.902] } [18:02:43.902] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:43.902] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:43.902] base::sink(type = "output", split = FALSE) [18:02:43.902] base::close(...future.stdout) [18:02:43.902] }, add = TRUE) [18:02:43.902] } [18:02:43.902] ...future.frame <- base::sys.nframe() [18:02:43.902] ...future.conditions <- base::list() [18:02:43.902] ...future.rng <- base::globalenv()$.Random.seed [18:02:43.902] if (FALSE) { [18:02:43.902] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:43.902] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:43.902] } [18:02:43.902] ...future.result <- base::tryCatch({ [18:02:43.902] base::withCallingHandlers({ [18:02:43.902] ...future.value <- base::withVisible(base::local(1)) [18:02:43.902] future::FutureResult(value = ...future.value$value, [18:02:43.902] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.902] ...future.rng), globalenv = if (FALSE) [18:02:43.902] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:43.902] ...future.globalenv.names)) [18:02:43.902] else NULL, started = ...future.startTime, version = "1.8") [18:02:43.902] }, condition = base::local({ [18:02:43.902] c <- base::c [18:02:43.902] inherits <- base::inherits [18:02:43.902] invokeRestart <- base::invokeRestart [18:02:43.902] length <- base::length [18:02:43.902] list <- base::list [18:02:43.902] seq.int <- base::seq.int [18:02:43.902] signalCondition <- base::signalCondition [18:02:43.902] sys.calls <- base::sys.calls [18:02:43.902] `[[` <- base::`[[` [18:02:43.902] `+` <- base::`+` [18:02:43.902] `<<-` <- base::`<<-` [18:02:43.902] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:43.902] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:43.902] 3L)] [18:02:43.902] } [18:02:43.902] function(cond) { [18:02:43.902] is_error <- inherits(cond, "error") [18:02:43.902] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:43.902] NULL) [18:02:43.902] if (is_error) { [18:02:43.902] sessionInformation <- function() { [18:02:43.902] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:43.902] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:43.902] search = base::search(), system = base::Sys.info()) [18:02:43.902] } [18:02:43.902] ...future.conditions[[length(...future.conditions) + [18:02:43.902] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:43.902] cond$call), session = sessionInformation(), [18:02:43.902] timestamp = base::Sys.time(), signaled = 0L) [18:02:43.902] signalCondition(cond) [18:02:43.902] } [18:02:43.902] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:43.902] "immediateCondition"))) { [18:02:43.902] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:43.902] ...future.conditions[[length(...future.conditions) + [18:02:43.902] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:43.902] if (TRUE && !signal) { [18:02:43.902] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.902] { [18:02:43.902] inherits <- base::inherits [18:02:43.902] invokeRestart <- base::invokeRestart [18:02:43.902] is.null <- base::is.null [18:02:43.902] muffled <- FALSE [18:02:43.902] if (inherits(cond, "message")) { [18:02:43.902] muffled <- grepl(pattern, "muffleMessage") [18:02:43.902] if (muffled) [18:02:43.902] invokeRestart("muffleMessage") [18:02:43.902] } [18:02:43.902] else if (inherits(cond, "warning")) { [18:02:43.902] muffled <- grepl(pattern, "muffleWarning") [18:02:43.902] if (muffled) [18:02:43.902] invokeRestart("muffleWarning") [18:02:43.902] } [18:02:43.902] else if (inherits(cond, "condition")) { [18:02:43.902] if (!is.null(pattern)) { [18:02:43.902] computeRestarts <- base::computeRestarts [18:02:43.902] grepl <- base::grepl [18:02:43.902] restarts <- computeRestarts(cond) [18:02:43.902] for (restart in restarts) { [18:02:43.902] name <- restart$name [18:02:43.902] if (is.null(name)) [18:02:43.902] next [18:02:43.902] if (!grepl(pattern, name)) [18:02:43.902] next [18:02:43.902] invokeRestart(restart) [18:02:43.902] muffled <- TRUE [18:02:43.902] break [18:02:43.902] } [18:02:43.902] } [18:02:43.902] } [18:02:43.902] invisible(muffled) [18:02:43.902] } [18:02:43.902] muffleCondition(cond, pattern = "^muffle") [18:02:43.902] } [18:02:43.902] } [18:02:43.902] else { [18:02:43.902] if (TRUE) { [18:02:43.902] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.902] { [18:02:43.902] inherits <- base::inherits [18:02:43.902] invokeRestart <- base::invokeRestart [18:02:43.902] is.null <- base::is.null [18:02:43.902] muffled <- FALSE [18:02:43.902] if (inherits(cond, "message")) { [18:02:43.902] muffled <- grepl(pattern, "muffleMessage") [18:02:43.902] if (muffled) [18:02:43.902] invokeRestart("muffleMessage") [18:02:43.902] } [18:02:43.902] else if (inherits(cond, "warning")) { [18:02:43.902] muffled <- grepl(pattern, "muffleWarning") [18:02:43.902] if (muffled) [18:02:43.902] invokeRestart("muffleWarning") [18:02:43.902] } [18:02:43.902] else if (inherits(cond, "condition")) { [18:02:43.902] if (!is.null(pattern)) { [18:02:43.902] computeRestarts <- base::computeRestarts [18:02:43.902] grepl <- base::grepl [18:02:43.902] restarts <- computeRestarts(cond) [18:02:43.902] for (restart in restarts) { [18:02:43.902] name <- restart$name [18:02:43.902] if (is.null(name)) [18:02:43.902] next [18:02:43.902] if (!grepl(pattern, name)) [18:02:43.902] next [18:02:43.902] invokeRestart(restart) [18:02:43.902] muffled <- TRUE [18:02:43.902] break [18:02:43.902] } [18:02:43.902] } [18:02:43.902] } [18:02:43.902] invisible(muffled) [18:02:43.902] } [18:02:43.902] muffleCondition(cond, pattern = "^muffle") [18:02:43.902] } [18:02:43.902] } [18:02:43.902] } [18:02:43.902] })) [18:02:43.902] }, error = function(ex) { [18:02:43.902] base::structure(base::list(value = NULL, visible = NULL, [18:02:43.902] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.902] ...future.rng), started = ...future.startTime, [18:02:43.902] finished = Sys.time(), session_uuid = NA_character_, [18:02:43.902] version = "1.8"), class = "FutureResult") [18:02:43.902] }, finally = { [18:02:43.902] if (!identical(...future.workdir, getwd())) [18:02:43.902] setwd(...future.workdir) [18:02:43.902] { [18:02:43.902] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:43.902] ...future.oldOptions$nwarnings <- NULL [18:02:43.902] } [18:02:43.902] base::options(...future.oldOptions) [18:02:43.902] if (.Platform$OS.type == "windows") { [18:02:43.902] old_names <- names(...future.oldEnvVars) [18:02:43.902] envs <- base::Sys.getenv() [18:02:43.902] names <- names(envs) [18:02:43.902] common <- intersect(names, old_names) [18:02:43.902] added <- setdiff(names, old_names) [18:02:43.902] removed <- setdiff(old_names, names) [18:02:43.902] changed <- common[...future.oldEnvVars[common] != [18:02:43.902] envs[common]] [18:02:43.902] NAMES <- toupper(changed) [18:02:43.902] args <- list() [18:02:43.902] for (kk in seq_along(NAMES)) { [18:02:43.902] name <- changed[[kk]] [18:02:43.902] NAME <- NAMES[[kk]] [18:02:43.902] if (name != NAME && is.element(NAME, old_names)) [18:02:43.902] next [18:02:43.902] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.902] } [18:02:43.902] NAMES <- toupper(added) [18:02:43.902] for (kk in seq_along(NAMES)) { [18:02:43.902] name <- added[[kk]] [18:02:43.902] NAME <- NAMES[[kk]] [18:02:43.902] if (name != NAME && is.element(NAME, old_names)) [18:02:43.902] next [18:02:43.902] args[[name]] <- "" [18:02:43.902] } [18:02:43.902] NAMES <- toupper(removed) [18:02:43.902] for (kk in seq_along(NAMES)) { [18:02:43.902] name <- removed[[kk]] [18:02:43.902] NAME <- NAMES[[kk]] [18:02:43.902] if (name != NAME && is.element(NAME, old_names)) [18:02:43.902] next [18:02:43.902] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.902] } [18:02:43.902] if (length(args) > 0) [18:02:43.902] base::do.call(base::Sys.setenv, args = args) [18:02:43.902] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:43.902] } [18:02:43.902] else { [18:02:43.902] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:43.902] } [18:02:43.902] { [18:02:43.902] if (base::length(...future.futureOptionsAdded) > [18:02:43.902] 0L) { [18:02:43.902] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:43.902] base::names(opts) <- ...future.futureOptionsAdded [18:02:43.902] base::options(opts) [18:02:43.902] } [18:02:43.902] { [18:02:43.902] { [18:02:43.902] NULL [18:02:43.902] RNGkind("Mersenne-Twister") [18:02:43.902] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:43.902] inherits = FALSE) [18:02:43.902] } [18:02:43.902] options(future.plan = NULL) [18:02:43.902] if (is.na(NA_character_)) [18:02:43.902] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.902] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:43.902] future::plan(list(function (..., envir = parent.frame()) [18:02:43.902] { [18:02:43.902] future <- SequentialFuture(..., envir = envir) [18:02:43.902] if (!future$lazy) [18:02:43.902] future <- run(future) [18:02:43.902] invisible(future) [18:02:43.902] }), .cleanup = FALSE, .init = FALSE) [18:02:43.902] } [18:02:43.902] } [18:02:43.902] } [18:02:43.902] }) [18:02:43.902] if (TRUE) { [18:02:43.902] base::sink(type = "output", split = FALSE) [18:02:43.902] if (TRUE) { [18:02:43.902] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:43.902] } [18:02:43.902] else { [18:02:43.902] ...future.result["stdout"] <- base::list(NULL) [18:02:43.902] } [18:02:43.902] base::close(...future.stdout) [18:02:43.902] ...future.stdout <- NULL [18:02:43.902] } [18:02:43.902] ...future.result$conditions <- ...future.conditions [18:02:43.902] ...future.result$finished <- base::Sys.time() [18:02:43.902] ...future.result [18:02:43.902] } [18:02:43.906] plan(): Setting new future strategy stack: [18:02:43.906] List of future strategies: [18:02:43.906] 1. sequential: [18:02:43.906] - args: function (..., envir = parent.frame()) [18:02:43.906] - tweaked: FALSE [18:02:43.906] - call: NULL [18:02:43.906] plan(): nbrOfWorkers() = 1 [18:02:43.907] plan(): Setting new future strategy stack: [18:02:43.907] List of future strategies: [18:02:43.907] 1. sequential: [18:02:43.907] - args: function (..., envir = parent.frame()) [18:02:43.907] - tweaked: FALSE [18:02:43.907] - call: plan(strategy) [18:02:43.908] plan(): nbrOfWorkers() = 1 [18:02:43.908] SequentialFuture started (and completed) [18:02:43.908] - Launch lazy future ... done [18:02:43.909] run() for 'SequentialFuture' ... done [18:02:43.909] getGlobalsAndPackages() ... [18:02:43.909] Searching for globals... [18:02:43.909] [18:02:43.909] Searching for globals ... DONE [18:02:43.910] - globals: [0] [18:02:43.910] getGlobalsAndPackages() ... DONE [18:02:43.910] run() for 'Future' ... [18:02:43.910] - state: 'created' [18:02:43.911] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:43.911] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:43.911] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:43.911] - Field: 'label' [18:02:43.911] - Field: 'local' [18:02:43.912] - Field: 'owner' [18:02:43.912] - Field: 'envir' [18:02:43.912] - Field: 'packages' [18:02:43.912] - Field: 'gc' [18:02:43.912] - Field: 'conditions' [18:02:43.912] - Field: 'expr' [18:02:43.913] - Field: 'uuid' [18:02:43.913] - Field: 'seed' [18:02:43.913] - Field: 'version' [18:02:43.913] - Field: 'result' [18:02:43.913] - Field: 'asynchronous' [18:02:43.914] - Field: 'calls' [18:02:43.914] - Field: 'globals' [18:02:43.914] - Field: 'stdout' [18:02:43.914] - Field: 'earlySignal' [18:02:43.914] - Field: 'lazy' [18:02:43.914] - Field: 'state' [18:02:43.915] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:43.915] - Launch lazy future ... [18:02:43.915] Packages needed by the future expression (n = 0): [18:02:43.915] Packages needed by future strategies (n = 0): [18:02:43.916] { [18:02:43.916] { [18:02:43.916] { [18:02:43.916] ...future.startTime <- base::Sys.time() [18:02:43.916] { [18:02:43.916] { [18:02:43.916] { [18:02:43.916] base::local({ [18:02:43.916] has_future <- base::requireNamespace("future", [18:02:43.916] quietly = TRUE) [18:02:43.916] if (has_future) { [18:02:43.916] ns <- base::getNamespace("future") [18:02:43.916] version <- ns[[".package"]][["version"]] [18:02:43.916] if (is.null(version)) [18:02:43.916] version <- utils::packageVersion("future") [18:02:43.916] } [18:02:43.916] else { [18:02:43.916] version <- NULL [18:02:43.916] } [18:02:43.916] if (!has_future || version < "1.8.0") { [18:02:43.916] info <- base::c(r_version = base::gsub("R version ", [18:02:43.916] "", base::R.version$version.string), [18:02:43.916] platform = base::sprintf("%s (%s-bit)", [18:02:43.916] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:43.916] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:43.916] "release", "version")], collapse = " "), [18:02:43.916] hostname = base::Sys.info()[["nodename"]]) [18:02:43.916] info <- base::sprintf("%s: %s", base::names(info), [18:02:43.916] info) [18:02:43.916] info <- base::paste(info, collapse = "; ") [18:02:43.916] if (!has_future) { [18:02:43.916] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:43.916] info) [18:02:43.916] } [18:02:43.916] else { [18:02:43.916] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:43.916] info, version) [18:02:43.916] } [18:02:43.916] base::stop(msg) [18:02:43.916] } [18:02:43.916] }) [18:02:43.916] } [18:02:43.916] options(future.plan = NULL) [18:02:43.916] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.916] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:43.916] } [18:02:43.916] ...future.workdir <- getwd() [18:02:43.916] } [18:02:43.916] ...future.oldOptions <- base::as.list(base::.Options) [18:02:43.916] ...future.oldEnvVars <- base::Sys.getenv() [18:02:43.916] } [18:02:43.916] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:43.916] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:43.916] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:43.916] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:43.916] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:43.916] future.stdout.windows.reencode = NULL, width = 80L) [18:02:43.916] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:43.916] base::names(...future.oldOptions)) [18:02:43.916] } [18:02:43.916] if (FALSE) { [18:02:43.916] } [18:02:43.916] else { [18:02:43.916] if (TRUE) { [18:02:43.916] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:43.916] open = "w") [18:02:43.916] } [18:02:43.916] else { [18:02:43.916] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:43.916] windows = "NUL", "/dev/null"), open = "w") [18:02:43.916] } [18:02:43.916] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:43.916] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:43.916] base::sink(type = "output", split = FALSE) [18:02:43.916] base::close(...future.stdout) [18:02:43.916] }, add = TRUE) [18:02:43.916] } [18:02:43.916] ...future.frame <- base::sys.nframe() [18:02:43.916] ...future.conditions <- base::list() [18:02:43.916] ...future.rng <- base::globalenv()$.Random.seed [18:02:43.916] if (FALSE) { [18:02:43.916] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:43.916] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:43.916] } [18:02:43.916] ...future.result <- base::tryCatch({ [18:02:43.916] base::withCallingHandlers({ [18:02:43.916] ...future.value <- base::withVisible(base::local(2)) [18:02:43.916] future::FutureResult(value = ...future.value$value, [18:02:43.916] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.916] ...future.rng), globalenv = if (FALSE) [18:02:43.916] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:43.916] ...future.globalenv.names)) [18:02:43.916] else NULL, started = ...future.startTime, version = "1.8") [18:02:43.916] }, condition = base::local({ [18:02:43.916] c <- base::c [18:02:43.916] inherits <- base::inherits [18:02:43.916] invokeRestart <- base::invokeRestart [18:02:43.916] length <- base::length [18:02:43.916] list <- base::list [18:02:43.916] seq.int <- base::seq.int [18:02:43.916] signalCondition <- base::signalCondition [18:02:43.916] sys.calls <- base::sys.calls [18:02:43.916] `[[` <- base::`[[` [18:02:43.916] `+` <- base::`+` [18:02:43.916] `<<-` <- base::`<<-` [18:02:43.916] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:43.916] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:43.916] 3L)] [18:02:43.916] } [18:02:43.916] function(cond) { [18:02:43.916] is_error <- inherits(cond, "error") [18:02:43.916] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:43.916] NULL) [18:02:43.916] if (is_error) { [18:02:43.916] sessionInformation <- function() { [18:02:43.916] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:43.916] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:43.916] search = base::search(), system = base::Sys.info()) [18:02:43.916] } [18:02:43.916] ...future.conditions[[length(...future.conditions) + [18:02:43.916] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:43.916] cond$call), session = sessionInformation(), [18:02:43.916] timestamp = base::Sys.time(), signaled = 0L) [18:02:43.916] signalCondition(cond) [18:02:43.916] } [18:02:43.916] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:43.916] "immediateCondition"))) { [18:02:43.916] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:43.916] ...future.conditions[[length(...future.conditions) + [18:02:43.916] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:43.916] if (TRUE && !signal) { [18:02:43.916] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.916] { [18:02:43.916] inherits <- base::inherits [18:02:43.916] invokeRestart <- base::invokeRestart [18:02:43.916] is.null <- base::is.null [18:02:43.916] muffled <- FALSE [18:02:43.916] if (inherits(cond, "message")) { [18:02:43.916] muffled <- grepl(pattern, "muffleMessage") [18:02:43.916] if (muffled) [18:02:43.916] invokeRestart("muffleMessage") [18:02:43.916] } [18:02:43.916] else if (inherits(cond, "warning")) { [18:02:43.916] muffled <- grepl(pattern, "muffleWarning") [18:02:43.916] if (muffled) [18:02:43.916] invokeRestart("muffleWarning") [18:02:43.916] } [18:02:43.916] else if (inherits(cond, "condition")) { [18:02:43.916] if (!is.null(pattern)) { [18:02:43.916] computeRestarts <- base::computeRestarts [18:02:43.916] grepl <- base::grepl [18:02:43.916] restarts <- computeRestarts(cond) [18:02:43.916] for (restart in restarts) { [18:02:43.916] name <- restart$name [18:02:43.916] if (is.null(name)) [18:02:43.916] next [18:02:43.916] if (!grepl(pattern, name)) [18:02:43.916] next [18:02:43.916] invokeRestart(restart) [18:02:43.916] muffled <- TRUE [18:02:43.916] break [18:02:43.916] } [18:02:43.916] } [18:02:43.916] } [18:02:43.916] invisible(muffled) [18:02:43.916] } [18:02:43.916] muffleCondition(cond, pattern = "^muffle") [18:02:43.916] } [18:02:43.916] } [18:02:43.916] else { [18:02:43.916] if (TRUE) { [18:02:43.916] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.916] { [18:02:43.916] inherits <- base::inherits [18:02:43.916] invokeRestart <- base::invokeRestart [18:02:43.916] is.null <- base::is.null [18:02:43.916] muffled <- FALSE [18:02:43.916] if (inherits(cond, "message")) { [18:02:43.916] muffled <- grepl(pattern, "muffleMessage") [18:02:43.916] if (muffled) [18:02:43.916] invokeRestart("muffleMessage") [18:02:43.916] } [18:02:43.916] else if (inherits(cond, "warning")) { [18:02:43.916] muffled <- grepl(pattern, "muffleWarning") [18:02:43.916] if (muffled) [18:02:43.916] invokeRestart("muffleWarning") [18:02:43.916] } [18:02:43.916] else if (inherits(cond, "condition")) { [18:02:43.916] if (!is.null(pattern)) { [18:02:43.916] computeRestarts <- base::computeRestarts [18:02:43.916] grepl <- base::grepl [18:02:43.916] restarts <- computeRestarts(cond) [18:02:43.916] for (restart in restarts) { [18:02:43.916] name <- restart$name [18:02:43.916] if (is.null(name)) [18:02:43.916] next [18:02:43.916] if (!grepl(pattern, name)) [18:02:43.916] next [18:02:43.916] invokeRestart(restart) [18:02:43.916] muffled <- TRUE [18:02:43.916] break [18:02:43.916] } [18:02:43.916] } [18:02:43.916] } [18:02:43.916] invisible(muffled) [18:02:43.916] } [18:02:43.916] muffleCondition(cond, pattern = "^muffle") [18:02:43.916] } [18:02:43.916] } [18:02:43.916] } [18:02:43.916] })) [18:02:43.916] }, error = function(ex) { [18:02:43.916] base::structure(base::list(value = NULL, visible = NULL, [18:02:43.916] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.916] ...future.rng), started = ...future.startTime, [18:02:43.916] finished = Sys.time(), session_uuid = NA_character_, [18:02:43.916] version = "1.8"), class = "FutureResult") [18:02:43.916] }, finally = { [18:02:43.916] if (!identical(...future.workdir, getwd())) [18:02:43.916] setwd(...future.workdir) [18:02:43.916] { [18:02:43.916] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:43.916] ...future.oldOptions$nwarnings <- NULL [18:02:43.916] } [18:02:43.916] base::options(...future.oldOptions) [18:02:43.916] if (.Platform$OS.type == "windows") { [18:02:43.916] old_names <- names(...future.oldEnvVars) [18:02:43.916] envs <- base::Sys.getenv() [18:02:43.916] names <- names(envs) [18:02:43.916] common <- intersect(names, old_names) [18:02:43.916] added <- setdiff(names, old_names) [18:02:43.916] removed <- setdiff(old_names, names) [18:02:43.916] changed <- common[...future.oldEnvVars[common] != [18:02:43.916] envs[common]] [18:02:43.916] NAMES <- toupper(changed) [18:02:43.916] args <- list() [18:02:43.916] for (kk in seq_along(NAMES)) { [18:02:43.916] name <- changed[[kk]] [18:02:43.916] NAME <- NAMES[[kk]] [18:02:43.916] if (name != NAME && is.element(NAME, old_names)) [18:02:43.916] next [18:02:43.916] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.916] } [18:02:43.916] NAMES <- toupper(added) [18:02:43.916] for (kk in seq_along(NAMES)) { [18:02:43.916] name <- added[[kk]] [18:02:43.916] NAME <- NAMES[[kk]] [18:02:43.916] if (name != NAME && is.element(NAME, old_names)) [18:02:43.916] next [18:02:43.916] args[[name]] <- "" [18:02:43.916] } [18:02:43.916] NAMES <- toupper(removed) [18:02:43.916] for (kk in seq_along(NAMES)) { [18:02:43.916] name <- removed[[kk]] [18:02:43.916] NAME <- NAMES[[kk]] [18:02:43.916] if (name != NAME && is.element(NAME, old_names)) [18:02:43.916] next [18:02:43.916] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.916] } [18:02:43.916] if (length(args) > 0) [18:02:43.916] base::do.call(base::Sys.setenv, args = args) [18:02:43.916] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:43.916] } [18:02:43.916] else { [18:02:43.916] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:43.916] } [18:02:43.916] { [18:02:43.916] if (base::length(...future.futureOptionsAdded) > [18:02:43.916] 0L) { [18:02:43.916] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:43.916] base::names(opts) <- ...future.futureOptionsAdded [18:02:43.916] base::options(opts) [18:02:43.916] } [18:02:43.916] { [18:02:43.916] { [18:02:43.916] NULL [18:02:43.916] RNGkind("Mersenne-Twister") [18:02:43.916] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:43.916] inherits = FALSE) [18:02:43.916] } [18:02:43.916] options(future.plan = NULL) [18:02:43.916] if (is.na(NA_character_)) [18:02:43.916] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.916] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:43.916] future::plan(list(function (..., envir = parent.frame()) [18:02:43.916] { [18:02:43.916] future <- SequentialFuture(..., envir = envir) [18:02:43.916] if (!future$lazy) [18:02:43.916] future <- run(future) [18:02:43.916] invisible(future) [18:02:43.916] }), .cleanup = FALSE, .init = FALSE) [18:02:43.916] } [18:02:43.916] } [18:02:43.916] } [18:02:43.916] }) [18:02:43.916] if (TRUE) { [18:02:43.916] base::sink(type = "output", split = FALSE) [18:02:43.916] if (TRUE) { [18:02:43.916] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:43.916] } [18:02:43.916] else { [18:02:43.916] ...future.result["stdout"] <- base::list(NULL) [18:02:43.916] } [18:02:43.916] base::close(...future.stdout) [18:02:43.916] ...future.stdout <- NULL [18:02:43.916] } [18:02:43.916] ...future.result$conditions <- ...future.conditions [18:02:43.916] ...future.result$finished <- base::Sys.time() [18:02:43.916] ...future.result [18:02:43.916] } [18:02:43.920] plan(): Setting new future strategy stack: [18:02:43.920] List of future strategies: [18:02:43.920] 1. sequential: [18:02:43.920] - args: function (..., envir = parent.frame()) [18:02:43.920] - tweaked: FALSE [18:02:43.920] - call: NULL [18:02:43.920] plan(): nbrOfWorkers() = 1 [18:02:43.922] plan(): Setting new future strategy stack: [18:02:43.923] List of future strategies: [18:02:43.923] 1. sequential: [18:02:43.923] - args: function (..., envir = parent.frame()) [18:02:43.923] - tweaked: FALSE [18:02:43.923] - call: plan(strategy) [18:02:43.924] plan(): nbrOfWorkers() = 1 [18:02:43.924] SequentialFuture started (and completed) [18:02:43.924] - Launch lazy future ... done [18:02:43.924] run() for 'SequentialFuture' ... done [18:02:43.925] resolve() on environment ... [18:02:43.925] recursive: 0 [18:02:43.926] elements: [3] 'a', 'b', 'c' [18:02:43.926] resolved() for 'SequentialFuture' ... [18:02:43.926] - state: 'finished' [18:02:43.926] - run: TRUE [18:02:43.926] - result: 'FutureResult' [18:02:43.927] resolved() for 'SequentialFuture' ... done [18:02:43.927] Future #1 [18:02:43.927] length: 2 (resolved future 1) [18:02:43.927] resolved() for 'SequentialFuture' ... [18:02:43.927] - state: 'finished' [18:02:43.928] - run: TRUE [18:02:43.928] - result: 'FutureResult' [18:02:43.928] resolved() for 'SequentialFuture' ... done [18:02:43.928] Future #2 [18:02:43.928] length: 1 (resolved future 2) [18:02:43.928] length: 0 (resolved future 3) [18:02:43.929] resolve() on environment ... DONE [18:02:43.929] resolved() for 'SequentialFuture' ... [18:02:43.929] - state: 'finished' [18:02:43.929] - run: TRUE [18:02:43.929] - result: 'FutureResult' [18:02:43.930] resolved() for 'SequentialFuture' ... done [18:02:43.930] resolved() for 'SequentialFuture' ... [18:02:43.930] - state: 'finished' [18:02:43.930] - run: TRUE [18:02:43.930] - result: 'FutureResult' [18:02:43.930] resolved() for 'SequentialFuture' ... done [18:02:43.932] getGlobalsAndPackages() ... [18:02:43.932] Searching for globals... [18:02:43.932] - globals found: [1] '{' [18:02:43.933] Searching for globals ... DONE [18:02:43.933] Resolving globals: FALSE [18:02:43.933] [18:02:43.933] [18:02:43.933] getGlobalsAndPackages() ... DONE [18:02:43.934] run() for 'Future' ... [18:02:43.934] - state: 'created' [18:02:43.934] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:43.935] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:43.935] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:43.935] - Field: 'label' [18:02:43.935] - Field: 'local' [18:02:43.935] - Field: 'owner' [18:02:43.935] - Field: 'envir' [18:02:43.936] - Field: 'packages' [18:02:43.936] - Field: 'gc' [18:02:43.936] - Field: 'conditions' [18:02:43.936] - Field: 'expr' [18:02:43.936] - Field: 'uuid' [18:02:43.937] - Field: 'seed' [18:02:43.937] - Field: 'version' [18:02:43.937] - Field: 'result' [18:02:43.937] - Field: 'asynchronous' [18:02:43.937] - Field: 'calls' [18:02:43.937] - Field: 'globals' [18:02:43.938] - Field: 'stdout' [18:02:43.938] - Field: 'earlySignal' [18:02:43.938] - Field: 'lazy' [18:02:43.938] - Field: 'state' [18:02:43.938] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:43.938] - Launch lazy future ... [18:02:43.939] Packages needed by the future expression (n = 0): [18:02:43.939] Packages needed by future strategies (n = 0): [18:02:43.939] { [18:02:43.939] { [18:02:43.939] { [18:02:43.939] ...future.startTime <- base::Sys.time() [18:02:43.939] { [18:02:43.939] { [18:02:43.939] { [18:02:43.939] base::local({ [18:02:43.939] has_future <- base::requireNamespace("future", [18:02:43.939] quietly = TRUE) [18:02:43.939] if (has_future) { [18:02:43.939] ns <- base::getNamespace("future") [18:02:43.939] version <- ns[[".package"]][["version"]] [18:02:43.939] if (is.null(version)) [18:02:43.939] version <- utils::packageVersion("future") [18:02:43.939] } [18:02:43.939] else { [18:02:43.939] version <- NULL [18:02:43.939] } [18:02:43.939] if (!has_future || version < "1.8.0") { [18:02:43.939] info <- base::c(r_version = base::gsub("R version ", [18:02:43.939] "", base::R.version$version.string), [18:02:43.939] platform = base::sprintf("%s (%s-bit)", [18:02:43.939] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:43.939] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:43.939] "release", "version")], collapse = " "), [18:02:43.939] hostname = base::Sys.info()[["nodename"]]) [18:02:43.939] info <- base::sprintf("%s: %s", base::names(info), [18:02:43.939] info) [18:02:43.939] info <- base::paste(info, collapse = "; ") [18:02:43.939] if (!has_future) { [18:02:43.939] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:43.939] info) [18:02:43.939] } [18:02:43.939] else { [18:02:43.939] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:43.939] info, version) [18:02:43.939] } [18:02:43.939] base::stop(msg) [18:02:43.939] } [18:02:43.939] }) [18:02:43.939] } [18:02:43.939] options(future.plan = NULL) [18:02:43.939] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.939] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:43.939] } [18:02:43.939] ...future.workdir <- getwd() [18:02:43.939] } [18:02:43.939] ...future.oldOptions <- base::as.list(base::.Options) [18:02:43.939] ...future.oldEnvVars <- base::Sys.getenv() [18:02:43.939] } [18:02:43.939] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:43.939] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:43.939] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:43.939] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:43.939] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:43.939] future.stdout.windows.reencode = NULL, width = 80L) [18:02:43.939] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:43.939] base::names(...future.oldOptions)) [18:02:43.939] } [18:02:43.939] if (FALSE) { [18:02:43.939] } [18:02:43.939] else { [18:02:43.939] if (TRUE) { [18:02:43.939] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:43.939] open = "w") [18:02:43.939] } [18:02:43.939] else { [18:02:43.939] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:43.939] windows = "NUL", "/dev/null"), open = "w") [18:02:43.939] } [18:02:43.939] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:43.939] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:43.939] base::sink(type = "output", split = FALSE) [18:02:43.939] base::close(...future.stdout) [18:02:43.939] }, add = TRUE) [18:02:43.939] } [18:02:43.939] ...future.frame <- base::sys.nframe() [18:02:43.939] ...future.conditions <- base::list() [18:02:43.939] ...future.rng <- base::globalenv()$.Random.seed [18:02:43.939] if (FALSE) { [18:02:43.939] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:43.939] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:43.939] } [18:02:43.939] ...future.result <- base::tryCatch({ [18:02:43.939] base::withCallingHandlers({ [18:02:43.939] ...future.value <- base::withVisible(base::local({ [18:02:43.939] 1 [18:02:43.939] })) [18:02:43.939] future::FutureResult(value = ...future.value$value, [18:02:43.939] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.939] ...future.rng), globalenv = if (FALSE) [18:02:43.939] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:43.939] ...future.globalenv.names)) [18:02:43.939] else NULL, started = ...future.startTime, version = "1.8") [18:02:43.939] }, condition = base::local({ [18:02:43.939] c <- base::c [18:02:43.939] inherits <- base::inherits [18:02:43.939] invokeRestart <- base::invokeRestart [18:02:43.939] length <- base::length [18:02:43.939] list <- base::list [18:02:43.939] seq.int <- base::seq.int [18:02:43.939] signalCondition <- base::signalCondition [18:02:43.939] sys.calls <- base::sys.calls [18:02:43.939] `[[` <- base::`[[` [18:02:43.939] `+` <- base::`+` [18:02:43.939] `<<-` <- base::`<<-` [18:02:43.939] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:43.939] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:43.939] 3L)] [18:02:43.939] } [18:02:43.939] function(cond) { [18:02:43.939] is_error <- inherits(cond, "error") [18:02:43.939] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:43.939] NULL) [18:02:43.939] if (is_error) { [18:02:43.939] sessionInformation <- function() { [18:02:43.939] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:43.939] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:43.939] search = base::search(), system = base::Sys.info()) [18:02:43.939] } [18:02:43.939] ...future.conditions[[length(...future.conditions) + [18:02:43.939] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:43.939] cond$call), session = sessionInformation(), [18:02:43.939] timestamp = base::Sys.time(), signaled = 0L) [18:02:43.939] signalCondition(cond) [18:02:43.939] } [18:02:43.939] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:43.939] "immediateCondition"))) { [18:02:43.939] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:43.939] ...future.conditions[[length(...future.conditions) + [18:02:43.939] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:43.939] if (TRUE && !signal) { [18:02:43.939] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.939] { [18:02:43.939] inherits <- base::inherits [18:02:43.939] invokeRestart <- base::invokeRestart [18:02:43.939] is.null <- base::is.null [18:02:43.939] muffled <- FALSE [18:02:43.939] if (inherits(cond, "message")) { [18:02:43.939] muffled <- grepl(pattern, "muffleMessage") [18:02:43.939] if (muffled) [18:02:43.939] invokeRestart("muffleMessage") [18:02:43.939] } [18:02:43.939] else if (inherits(cond, "warning")) { [18:02:43.939] muffled <- grepl(pattern, "muffleWarning") [18:02:43.939] if (muffled) [18:02:43.939] invokeRestart("muffleWarning") [18:02:43.939] } [18:02:43.939] else if (inherits(cond, "condition")) { [18:02:43.939] if (!is.null(pattern)) { [18:02:43.939] computeRestarts <- base::computeRestarts [18:02:43.939] grepl <- base::grepl [18:02:43.939] restarts <- computeRestarts(cond) [18:02:43.939] for (restart in restarts) { [18:02:43.939] name <- restart$name [18:02:43.939] if (is.null(name)) [18:02:43.939] next [18:02:43.939] if (!grepl(pattern, name)) [18:02:43.939] next [18:02:43.939] invokeRestart(restart) [18:02:43.939] muffled <- TRUE [18:02:43.939] break [18:02:43.939] } [18:02:43.939] } [18:02:43.939] } [18:02:43.939] invisible(muffled) [18:02:43.939] } [18:02:43.939] muffleCondition(cond, pattern = "^muffle") [18:02:43.939] } [18:02:43.939] } [18:02:43.939] else { [18:02:43.939] if (TRUE) { [18:02:43.939] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.939] { [18:02:43.939] inherits <- base::inherits [18:02:43.939] invokeRestart <- base::invokeRestart [18:02:43.939] is.null <- base::is.null [18:02:43.939] muffled <- FALSE [18:02:43.939] if (inherits(cond, "message")) { [18:02:43.939] muffled <- grepl(pattern, "muffleMessage") [18:02:43.939] if (muffled) [18:02:43.939] invokeRestart("muffleMessage") [18:02:43.939] } [18:02:43.939] else if (inherits(cond, "warning")) { [18:02:43.939] muffled <- grepl(pattern, "muffleWarning") [18:02:43.939] if (muffled) [18:02:43.939] invokeRestart("muffleWarning") [18:02:43.939] } [18:02:43.939] else if (inherits(cond, "condition")) { [18:02:43.939] if (!is.null(pattern)) { [18:02:43.939] computeRestarts <- base::computeRestarts [18:02:43.939] grepl <- base::grepl [18:02:43.939] restarts <- computeRestarts(cond) [18:02:43.939] for (restart in restarts) { [18:02:43.939] name <- restart$name [18:02:43.939] if (is.null(name)) [18:02:43.939] next [18:02:43.939] if (!grepl(pattern, name)) [18:02:43.939] next [18:02:43.939] invokeRestart(restart) [18:02:43.939] muffled <- TRUE [18:02:43.939] break [18:02:43.939] } [18:02:43.939] } [18:02:43.939] } [18:02:43.939] invisible(muffled) [18:02:43.939] } [18:02:43.939] muffleCondition(cond, pattern = "^muffle") [18:02:43.939] } [18:02:43.939] } [18:02:43.939] } [18:02:43.939] })) [18:02:43.939] }, error = function(ex) { [18:02:43.939] base::structure(base::list(value = NULL, visible = NULL, [18:02:43.939] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.939] ...future.rng), started = ...future.startTime, [18:02:43.939] finished = Sys.time(), session_uuid = NA_character_, [18:02:43.939] version = "1.8"), class = "FutureResult") [18:02:43.939] }, finally = { [18:02:43.939] if (!identical(...future.workdir, getwd())) [18:02:43.939] setwd(...future.workdir) [18:02:43.939] { [18:02:43.939] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:43.939] ...future.oldOptions$nwarnings <- NULL [18:02:43.939] } [18:02:43.939] base::options(...future.oldOptions) [18:02:43.939] if (.Platform$OS.type == "windows") { [18:02:43.939] old_names <- names(...future.oldEnvVars) [18:02:43.939] envs <- base::Sys.getenv() [18:02:43.939] names <- names(envs) [18:02:43.939] common <- intersect(names, old_names) [18:02:43.939] added <- setdiff(names, old_names) [18:02:43.939] removed <- setdiff(old_names, names) [18:02:43.939] changed <- common[...future.oldEnvVars[common] != [18:02:43.939] envs[common]] [18:02:43.939] NAMES <- toupper(changed) [18:02:43.939] args <- list() [18:02:43.939] for (kk in seq_along(NAMES)) { [18:02:43.939] name <- changed[[kk]] [18:02:43.939] NAME <- NAMES[[kk]] [18:02:43.939] if (name != NAME && is.element(NAME, old_names)) [18:02:43.939] next [18:02:43.939] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.939] } [18:02:43.939] NAMES <- toupper(added) [18:02:43.939] for (kk in seq_along(NAMES)) { [18:02:43.939] name <- added[[kk]] [18:02:43.939] NAME <- NAMES[[kk]] [18:02:43.939] if (name != NAME && is.element(NAME, old_names)) [18:02:43.939] next [18:02:43.939] args[[name]] <- "" [18:02:43.939] } [18:02:43.939] NAMES <- toupper(removed) [18:02:43.939] for (kk in seq_along(NAMES)) { [18:02:43.939] name <- removed[[kk]] [18:02:43.939] NAME <- NAMES[[kk]] [18:02:43.939] if (name != NAME && is.element(NAME, old_names)) [18:02:43.939] next [18:02:43.939] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.939] } [18:02:43.939] if (length(args) > 0) [18:02:43.939] base::do.call(base::Sys.setenv, args = args) [18:02:43.939] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:43.939] } [18:02:43.939] else { [18:02:43.939] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:43.939] } [18:02:43.939] { [18:02:43.939] if (base::length(...future.futureOptionsAdded) > [18:02:43.939] 0L) { [18:02:43.939] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:43.939] base::names(opts) <- ...future.futureOptionsAdded [18:02:43.939] base::options(opts) [18:02:43.939] } [18:02:43.939] { [18:02:43.939] { [18:02:43.939] NULL [18:02:43.939] RNGkind("Mersenne-Twister") [18:02:43.939] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:43.939] inherits = FALSE) [18:02:43.939] } [18:02:43.939] options(future.plan = NULL) [18:02:43.939] if (is.na(NA_character_)) [18:02:43.939] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.939] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:43.939] future::plan(list(function (..., envir = parent.frame()) [18:02:43.939] { [18:02:43.939] future <- SequentialFuture(..., envir = envir) [18:02:43.939] if (!future$lazy) [18:02:43.939] future <- run(future) [18:02:43.939] invisible(future) [18:02:43.939] }), .cleanup = FALSE, .init = FALSE) [18:02:43.939] } [18:02:43.939] } [18:02:43.939] } [18:02:43.939] }) [18:02:43.939] if (TRUE) { [18:02:43.939] base::sink(type = "output", split = FALSE) [18:02:43.939] if (TRUE) { [18:02:43.939] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:43.939] } [18:02:43.939] else { [18:02:43.939] ...future.result["stdout"] <- base::list(NULL) [18:02:43.939] } [18:02:43.939] base::close(...future.stdout) [18:02:43.939] ...future.stdout <- NULL [18:02:43.939] } [18:02:43.939] ...future.result$conditions <- ...future.conditions [18:02:43.939] ...future.result$finished <- base::Sys.time() [18:02:43.939] ...future.result [18:02:43.939] } [18:02:43.943] plan(): Setting new future strategy stack: [18:02:43.944] List of future strategies: [18:02:43.944] 1. sequential: [18:02:43.944] - args: function (..., envir = parent.frame()) [18:02:43.944] - tweaked: FALSE [18:02:43.944] - call: NULL [18:02:43.944] plan(): nbrOfWorkers() = 1 [18:02:43.945] plan(): Setting new future strategy stack: [18:02:43.945] List of future strategies: [18:02:43.945] 1. sequential: [18:02:43.945] - args: function (..., envir = parent.frame()) [18:02:43.945] - tweaked: FALSE [18:02:43.945] - call: plan(strategy) [18:02:43.946] plan(): nbrOfWorkers() = 1 [18:02:43.946] SequentialFuture started (and completed) [18:02:43.946] - Launch lazy future ... done [18:02:43.946] run() for 'SequentialFuture' ... done [18:02:43.947] getGlobalsAndPackages() ... [18:02:43.947] Searching for globals... [18:02:43.948] - globals found: [1] '{' [18:02:43.948] Searching for globals ... DONE [18:02:43.948] Resolving globals: FALSE [18:02:43.948] [18:02:43.949] [18:02:43.949] getGlobalsAndPackages() ... DONE [18:02:43.949] run() for 'Future' ... [18:02:43.949] - state: 'created' [18:02:43.950] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:43.950] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:43.950] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:43.950] - Field: 'label' [18:02:43.950] - Field: 'local' [18:02:43.951] - Field: 'owner' [18:02:43.951] - Field: 'envir' [18:02:43.951] - Field: 'packages' [18:02:43.951] - Field: 'gc' [18:02:43.951] - Field: 'conditions' [18:02:43.952] - Field: 'expr' [18:02:43.952] - Field: 'uuid' [18:02:43.952] - Field: 'seed' [18:02:43.952] - Field: 'version' [18:02:43.952] - Field: 'result' [18:02:43.952] - Field: 'asynchronous' [18:02:43.953] - Field: 'calls' [18:02:43.953] - Field: 'globals' [18:02:43.953] - Field: 'stdout' [18:02:43.953] - Field: 'earlySignal' [18:02:43.953] - Field: 'lazy' [18:02:43.953] - Field: 'state' [18:02:43.954] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:43.954] - Launch lazy future ... [18:02:43.954] Packages needed by the future expression (n = 0): [18:02:43.954] Packages needed by future strategies (n = 0): [18:02:43.955] { [18:02:43.955] { [18:02:43.955] { [18:02:43.955] ...future.startTime <- base::Sys.time() [18:02:43.955] { [18:02:43.955] { [18:02:43.955] { [18:02:43.955] base::local({ [18:02:43.955] has_future <- base::requireNamespace("future", [18:02:43.955] quietly = TRUE) [18:02:43.955] if (has_future) { [18:02:43.955] ns <- base::getNamespace("future") [18:02:43.955] version <- ns[[".package"]][["version"]] [18:02:43.955] if (is.null(version)) [18:02:43.955] version <- utils::packageVersion("future") [18:02:43.955] } [18:02:43.955] else { [18:02:43.955] version <- NULL [18:02:43.955] } [18:02:43.955] if (!has_future || version < "1.8.0") { [18:02:43.955] info <- base::c(r_version = base::gsub("R version ", [18:02:43.955] "", base::R.version$version.string), [18:02:43.955] platform = base::sprintf("%s (%s-bit)", [18:02:43.955] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:43.955] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:43.955] "release", "version")], collapse = " "), [18:02:43.955] hostname = base::Sys.info()[["nodename"]]) [18:02:43.955] info <- base::sprintf("%s: %s", base::names(info), [18:02:43.955] info) [18:02:43.955] info <- base::paste(info, collapse = "; ") [18:02:43.955] if (!has_future) { [18:02:43.955] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:43.955] info) [18:02:43.955] } [18:02:43.955] else { [18:02:43.955] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:43.955] info, version) [18:02:43.955] } [18:02:43.955] base::stop(msg) [18:02:43.955] } [18:02:43.955] }) [18:02:43.955] } [18:02:43.955] options(future.plan = NULL) [18:02:43.955] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.955] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:43.955] } [18:02:43.955] ...future.workdir <- getwd() [18:02:43.955] } [18:02:43.955] ...future.oldOptions <- base::as.list(base::.Options) [18:02:43.955] ...future.oldEnvVars <- base::Sys.getenv() [18:02:43.955] } [18:02:43.955] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:43.955] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:43.955] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:43.955] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:43.955] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:43.955] future.stdout.windows.reencode = NULL, width = 80L) [18:02:43.955] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:43.955] base::names(...future.oldOptions)) [18:02:43.955] } [18:02:43.955] if (FALSE) { [18:02:43.955] } [18:02:43.955] else { [18:02:43.955] if (TRUE) { [18:02:43.955] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:43.955] open = "w") [18:02:43.955] } [18:02:43.955] else { [18:02:43.955] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:43.955] windows = "NUL", "/dev/null"), open = "w") [18:02:43.955] } [18:02:43.955] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:43.955] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:43.955] base::sink(type = "output", split = FALSE) [18:02:43.955] base::close(...future.stdout) [18:02:43.955] }, add = TRUE) [18:02:43.955] } [18:02:43.955] ...future.frame <- base::sys.nframe() [18:02:43.955] ...future.conditions <- base::list() [18:02:43.955] ...future.rng <- base::globalenv()$.Random.seed [18:02:43.955] if (FALSE) { [18:02:43.955] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:43.955] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:43.955] } [18:02:43.955] ...future.result <- base::tryCatch({ [18:02:43.955] base::withCallingHandlers({ [18:02:43.955] ...future.value <- base::withVisible(base::local({ [18:02:43.955] 2 [18:02:43.955] })) [18:02:43.955] future::FutureResult(value = ...future.value$value, [18:02:43.955] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.955] ...future.rng), globalenv = if (FALSE) [18:02:43.955] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:43.955] ...future.globalenv.names)) [18:02:43.955] else NULL, started = ...future.startTime, version = "1.8") [18:02:43.955] }, condition = base::local({ [18:02:43.955] c <- base::c [18:02:43.955] inherits <- base::inherits [18:02:43.955] invokeRestart <- base::invokeRestart [18:02:43.955] length <- base::length [18:02:43.955] list <- base::list [18:02:43.955] seq.int <- base::seq.int [18:02:43.955] signalCondition <- base::signalCondition [18:02:43.955] sys.calls <- base::sys.calls [18:02:43.955] `[[` <- base::`[[` [18:02:43.955] `+` <- base::`+` [18:02:43.955] `<<-` <- base::`<<-` [18:02:43.955] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:43.955] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:43.955] 3L)] [18:02:43.955] } [18:02:43.955] function(cond) { [18:02:43.955] is_error <- inherits(cond, "error") [18:02:43.955] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:43.955] NULL) [18:02:43.955] if (is_error) { [18:02:43.955] sessionInformation <- function() { [18:02:43.955] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:43.955] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:43.955] search = base::search(), system = base::Sys.info()) [18:02:43.955] } [18:02:43.955] ...future.conditions[[length(...future.conditions) + [18:02:43.955] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:43.955] cond$call), session = sessionInformation(), [18:02:43.955] timestamp = base::Sys.time(), signaled = 0L) [18:02:43.955] signalCondition(cond) [18:02:43.955] } [18:02:43.955] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:43.955] "immediateCondition"))) { [18:02:43.955] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:43.955] ...future.conditions[[length(...future.conditions) + [18:02:43.955] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:43.955] if (TRUE && !signal) { [18:02:43.955] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.955] { [18:02:43.955] inherits <- base::inherits [18:02:43.955] invokeRestart <- base::invokeRestart [18:02:43.955] is.null <- base::is.null [18:02:43.955] muffled <- FALSE [18:02:43.955] if (inherits(cond, "message")) { [18:02:43.955] muffled <- grepl(pattern, "muffleMessage") [18:02:43.955] if (muffled) [18:02:43.955] invokeRestart("muffleMessage") [18:02:43.955] } [18:02:43.955] else if (inherits(cond, "warning")) { [18:02:43.955] muffled <- grepl(pattern, "muffleWarning") [18:02:43.955] if (muffled) [18:02:43.955] invokeRestart("muffleWarning") [18:02:43.955] } [18:02:43.955] else if (inherits(cond, "condition")) { [18:02:43.955] if (!is.null(pattern)) { [18:02:43.955] computeRestarts <- base::computeRestarts [18:02:43.955] grepl <- base::grepl [18:02:43.955] restarts <- computeRestarts(cond) [18:02:43.955] for (restart in restarts) { [18:02:43.955] name <- restart$name [18:02:43.955] if (is.null(name)) [18:02:43.955] next [18:02:43.955] if (!grepl(pattern, name)) [18:02:43.955] next [18:02:43.955] invokeRestart(restart) [18:02:43.955] muffled <- TRUE [18:02:43.955] break [18:02:43.955] } [18:02:43.955] } [18:02:43.955] } [18:02:43.955] invisible(muffled) [18:02:43.955] } [18:02:43.955] muffleCondition(cond, pattern = "^muffle") [18:02:43.955] } [18:02:43.955] } [18:02:43.955] else { [18:02:43.955] if (TRUE) { [18:02:43.955] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.955] { [18:02:43.955] inherits <- base::inherits [18:02:43.955] invokeRestart <- base::invokeRestart [18:02:43.955] is.null <- base::is.null [18:02:43.955] muffled <- FALSE [18:02:43.955] if (inherits(cond, "message")) { [18:02:43.955] muffled <- grepl(pattern, "muffleMessage") [18:02:43.955] if (muffled) [18:02:43.955] invokeRestart("muffleMessage") [18:02:43.955] } [18:02:43.955] else if (inherits(cond, "warning")) { [18:02:43.955] muffled <- grepl(pattern, "muffleWarning") [18:02:43.955] if (muffled) [18:02:43.955] invokeRestart("muffleWarning") [18:02:43.955] } [18:02:43.955] else if (inherits(cond, "condition")) { [18:02:43.955] if (!is.null(pattern)) { [18:02:43.955] computeRestarts <- base::computeRestarts [18:02:43.955] grepl <- base::grepl [18:02:43.955] restarts <- computeRestarts(cond) [18:02:43.955] for (restart in restarts) { [18:02:43.955] name <- restart$name [18:02:43.955] if (is.null(name)) [18:02:43.955] next [18:02:43.955] if (!grepl(pattern, name)) [18:02:43.955] next [18:02:43.955] invokeRestart(restart) [18:02:43.955] muffled <- TRUE [18:02:43.955] break [18:02:43.955] } [18:02:43.955] } [18:02:43.955] } [18:02:43.955] invisible(muffled) [18:02:43.955] } [18:02:43.955] muffleCondition(cond, pattern = "^muffle") [18:02:43.955] } [18:02:43.955] } [18:02:43.955] } [18:02:43.955] })) [18:02:43.955] }, error = function(ex) { [18:02:43.955] base::structure(base::list(value = NULL, visible = NULL, [18:02:43.955] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.955] ...future.rng), started = ...future.startTime, [18:02:43.955] finished = Sys.time(), session_uuid = NA_character_, [18:02:43.955] version = "1.8"), class = "FutureResult") [18:02:43.955] }, finally = { [18:02:43.955] if (!identical(...future.workdir, getwd())) [18:02:43.955] setwd(...future.workdir) [18:02:43.955] { [18:02:43.955] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:43.955] ...future.oldOptions$nwarnings <- NULL [18:02:43.955] } [18:02:43.955] base::options(...future.oldOptions) [18:02:43.955] if (.Platform$OS.type == "windows") { [18:02:43.955] old_names <- names(...future.oldEnvVars) [18:02:43.955] envs <- base::Sys.getenv() [18:02:43.955] names <- names(envs) [18:02:43.955] common <- intersect(names, old_names) [18:02:43.955] added <- setdiff(names, old_names) [18:02:43.955] removed <- setdiff(old_names, names) [18:02:43.955] changed <- common[...future.oldEnvVars[common] != [18:02:43.955] envs[common]] [18:02:43.955] NAMES <- toupper(changed) [18:02:43.955] args <- list() [18:02:43.955] for (kk in seq_along(NAMES)) { [18:02:43.955] name <- changed[[kk]] [18:02:43.955] NAME <- NAMES[[kk]] [18:02:43.955] if (name != NAME && is.element(NAME, old_names)) [18:02:43.955] next [18:02:43.955] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.955] } [18:02:43.955] NAMES <- toupper(added) [18:02:43.955] for (kk in seq_along(NAMES)) { [18:02:43.955] name <- added[[kk]] [18:02:43.955] NAME <- NAMES[[kk]] [18:02:43.955] if (name != NAME && is.element(NAME, old_names)) [18:02:43.955] next [18:02:43.955] args[[name]] <- "" [18:02:43.955] } [18:02:43.955] NAMES <- toupper(removed) [18:02:43.955] for (kk in seq_along(NAMES)) { [18:02:43.955] name <- removed[[kk]] [18:02:43.955] NAME <- NAMES[[kk]] [18:02:43.955] if (name != NAME && is.element(NAME, old_names)) [18:02:43.955] next [18:02:43.955] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.955] } [18:02:43.955] if (length(args) > 0) [18:02:43.955] base::do.call(base::Sys.setenv, args = args) [18:02:43.955] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:43.955] } [18:02:43.955] else { [18:02:43.955] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:43.955] } [18:02:43.955] { [18:02:43.955] if (base::length(...future.futureOptionsAdded) > [18:02:43.955] 0L) { [18:02:43.955] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:43.955] base::names(opts) <- ...future.futureOptionsAdded [18:02:43.955] base::options(opts) [18:02:43.955] } [18:02:43.955] { [18:02:43.955] { [18:02:43.955] NULL [18:02:43.955] RNGkind("Mersenne-Twister") [18:02:43.955] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:43.955] inherits = FALSE) [18:02:43.955] } [18:02:43.955] options(future.plan = NULL) [18:02:43.955] if (is.na(NA_character_)) [18:02:43.955] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.955] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:43.955] future::plan(list(function (..., envir = parent.frame()) [18:02:43.955] { [18:02:43.955] future <- SequentialFuture(..., envir = envir) [18:02:43.955] if (!future$lazy) [18:02:43.955] future <- run(future) [18:02:43.955] invisible(future) [18:02:43.955] }), .cleanup = FALSE, .init = FALSE) [18:02:43.955] } [18:02:43.955] } [18:02:43.955] } [18:02:43.955] }) [18:02:43.955] if (TRUE) { [18:02:43.955] base::sink(type = "output", split = FALSE) [18:02:43.955] if (TRUE) { [18:02:43.955] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:43.955] } [18:02:43.955] else { [18:02:43.955] ...future.result["stdout"] <- base::list(NULL) [18:02:43.955] } [18:02:43.955] base::close(...future.stdout) [18:02:43.955] ...future.stdout <- NULL [18:02:43.955] } [18:02:43.955] ...future.result$conditions <- ...future.conditions [18:02:43.955] ...future.result$finished <- base::Sys.time() [18:02:43.955] ...future.result [18:02:43.955] } [18:02:43.959] plan(): Setting new future strategy stack: [18:02:43.959] List of future strategies: [18:02:43.959] 1. sequential: [18:02:43.959] - args: function (..., envir = parent.frame()) [18:02:43.959] - tweaked: FALSE [18:02:43.959] - call: NULL [18:02:43.959] plan(): nbrOfWorkers() = 1 [18:02:43.961] plan(): Setting new future strategy stack: [18:02:43.961] List of future strategies: [18:02:43.961] 1. sequential: [18:02:43.961] - args: function (..., envir = parent.frame()) [18:02:43.961] - tweaked: FALSE [18:02:43.961] - call: plan(strategy) [18:02:43.961] plan(): nbrOfWorkers() = 1 [18:02:43.961] SequentialFuture started (and completed) [18:02:43.962] - Launch lazy future ... done [18:02:43.962] run() for 'SequentialFuture' ... done [18:02:43.963] resolve() on environment ... [18:02:43.963] recursive: 0 [18:02:43.964] elements: [3] '.future_a', '.future_b', 'a', 'b', 'c' [18:02:43.965] resolved() for 'SequentialFuture' ... [18:02:43.965] - state: 'finished' [18:02:43.965] - run: TRUE [18:02:43.965] - result: 'FutureResult' [18:02:43.965] resolved() for 'SequentialFuture' ... done [18:02:43.966] Future #1 [18:02:43.966] length: 2 (resolved future 1) [18:02:43.966] resolved() for 'SequentialFuture' ... [18:02:43.966] - state: 'finished' [18:02:43.966] - run: TRUE [18:02:43.967] - result: 'FutureResult' [18:02:43.967] resolved() for 'SequentialFuture' ... done [18:02:43.967] Future #2 [18:02:43.967] length: 1 (resolved future 2) [18:02:43.967] length: 0 (resolved future 3) [18:02:43.967] resolve() on environment ... DONE [18:02:43.968] getGlobalsAndPackages() ... [18:02:43.968] Searching for globals... [18:02:43.969] - globals found: [1] '{' [18:02:43.969] Searching for globals ... DONE [18:02:43.969] Resolving globals: FALSE [18:02:43.970] [18:02:43.970] [18:02:43.970] getGlobalsAndPackages() ... DONE [18:02:43.970] run() for 'Future' ... [18:02:43.970] - state: 'created' [18:02:43.971] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:43.971] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:43.971] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:43.971] - Field: 'label' [18:02:43.971] - Field: 'local' [18:02:43.972] - Field: 'owner' [18:02:43.972] - Field: 'envir' [18:02:43.972] - Field: 'packages' [18:02:43.972] - Field: 'gc' [18:02:43.972] - Field: 'conditions' [18:02:43.973] - Field: 'expr' [18:02:43.973] - Field: 'uuid' [18:02:43.973] - Field: 'seed' [18:02:43.973] - Field: 'version' [18:02:43.973] - Field: 'result' [18:02:43.973] - Field: 'asynchronous' [18:02:43.974] - Field: 'calls' [18:02:43.974] - Field: 'globals' [18:02:43.974] - Field: 'stdout' [18:02:43.974] - Field: 'earlySignal' [18:02:43.974] - Field: 'lazy' [18:02:43.974] - Field: 'state' [18:02:43.975] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:43.975] - Launch lazy future ... [18:02:43.975] Packages needed by the future expression (n = 0): [18:02:43.975] Packages needed by future strategies (n = 0): [18:02:43.976] { [18:02:43.976] { [18:02:43.976] { [18:02:43.976] ...future.startTime <- base::Sys.time() [18:02:43.976] { [18:02:43.976] { [18:02:43.976] { [18:02:43.976] base::local({ [18:02:43.976] has_future <- base::requireNamespace("future", [18:02:43.976] quietly = TRUE) [18:02:43.976] if (has_future) { [18:02:43.976] ns <- base::getNamespace("future") [18:02:43.976] version <- ns[[".package"]][["version"]] [18:02:43.976] if (is.null(version)) [18:02:43.976] version <- utils::packageVersion("future") [18:02:43.976] } [18:02:43.976] else { [18:02:43.976] version <- NULL [18:02:43.976] } [18:02:43.976] if (!has_future || version < "1.8.0") { [18:02:43.976] info <- base::c(r_version = base::gsub("R version ", [18:02:43.976] "", base::R.version$version.string), [18:02:43.976] platform = base::sprintf("%s (%s-bit)", [18:02:43.976] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:43.976] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:43.976] "release", "version")], collapse = " "), [18:02:43.976] hostname = base::Sys.info()[["nodename"]]) [18:02:43.976] info <- base::sprintf("%s: %s", base::names(info), [18:02:43.976] info) [18:02:43.976] info <- base::paste(info, collapse = "; ") [18:02:43.976] if (!has_future) { [18:02:43.976] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:43.976] info) [18:02:43.976] } [18:02:43.976] else { [18:02:43.976] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:43.976] info, version) [18:02:43.976] } [18:02:43.976] base::stop(msg) [18:02:43.976] } [18:02:43.976] }) [18:02:43.976] } [18:02:43.976] options(future.plan = NULL) [18:02:43.976] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.976] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:43.976] } [18:02:43.976] ...future.workdir <- getwd() [18:02:43.976] } [18:02:43.976] ...future.oldOptions <- base::as.list(base::.Options) [18:02:43.976] ...future.oldEnvVars <- base::Sys.getenv() [18:02:43.976] } [18:02:43.976] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:43.976] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:43.976] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:43.976] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:43.976] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:43.976] future.stdout.windows.reencode = NULL, width = 80L) [18:02:43.976] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:43.976] base::names(...future.oldOptions)) [18:02:43.976] } [18:02:43.976] if (FALSE) { [18:02:43.976] } [18:02:43.976] else { [18:02:43.976] if (TRUE) { [18:02:43.976] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:43.976] open = "w") [18:02:43.976] } [18:02:43.976] else { [18:02:43.976] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:43.976] windows = "NUL", "/dev/null"), open = "w") [18:02:43.976] } [18:02:43.976] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:43.976] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:43.976] base::sink(type = "output", split = FALSE) [18:02:43.976] base::close(...future.stdout) [18:02:43.976] }, add = TRUE) [18:02:43.976] } [18:02:43.976] ...future.frame <- base::sys.nframe() [18:02:43.976] ...future.conditions <- base::list() [18:02:43.976] ...future.rng <- base::globalenv()$.Random.seed [18:02:43.976] if (FALSE) { [18:02:43.976] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:43.976] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:43.976] } [18:02:43.976] ...future.result <- base::tryCatch({ [18:02:43.976] base::withCallingHandlers({ [18:02:43.976] ...future.value <- base::withVisible(base::local({ [18:02:43.976] 1 [18:02:43.976] })) [18:02:43.976] future::FutureResult(value = ...future.value$value, [18:02:43.976] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.976] ...future.rng), globalenv = if (FALSE) [18:02:43.976] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:43.976] ...future.globalenv.names)) [18:02:43.976] else NULL, started = ...future.startTime, version = "1.8") [18:02:43.976] }, condition = base::local({ [18:02:43.976] c <- base::c [18:02:43.976] inherits <- base::inherits [18:02:43.976] invokeRestart <- base::invokeRestart [18:02:43.976] length <- base::length [18:02:43.976] list <- base::list [18:02:43.976] seq.int <- base::seq.int [18:02:43.976] signalCondition <- base::signalCondition [18:02:43.976] sys.calls <- base::sys.calls [18:02:43.976] `[[` <- base::`[[` [18:02:43.976] `+` <- base::`+` [18:02:43.976] `<<-` <- base::`<<-` [18:02:43.976] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:43.976] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:43.976] 3L)] [18:02:43.976] } [18:02:43.976] function(cond) { [18:02:43.976] is_error <- inherits(cond, "error") [18:02:43.976] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:43.976] NULL) [18:02:43.976] if (is_error) { [18:02:43.976] sessionInformation <- function() { [18:02:43.976] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:43.976] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:43.976] search = base::search(), system = base::Sys.info()) [18:02:43.976] } [18:02:43.976] ...future.conditions[[length(...future.conditions) + [18:02:43.976] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:43.976] cond$call), session = sessionInformation(), [18:02:43.976] timestamp = base::Sys.time(), signaled = 0L) [18:02:43.976] signalCondition(cond) [18:02:43.976] } [18:02:43.976] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:43.976] "immediateCondition"))) { [18:02:43.976] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:43.976] ...future.conditions[[length(...future.conditions) + [18:02:43.976] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:43.976] if (TRUE && !signal) { [18:02:43.976] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.976] { [18:02:43.976] inherits <- base::inherits [18:02:43.976] invokeRestart <- base::invokeRestart [18:02:43.976] is.null <- base::is.null [18:02:43.976] muffled <- FALSE [18:02:43.976] if (inherits(cond, "message")) { [18:02:43.976] muffled <- grepl(pattern, "muffleMessage") [18:02:43.976] if (muffled) [18:02:43.976] invokeRestart("muffleMessage") [18:02:43.976] } [18:02:43.976] else if (inherits(cond, "warning")) { [18:02:43.976] muffled <- grepl(pattern, "muffleWarning") [18:02:43.976] if (muffled) [18:02:43.976] invokeRestart("muffleWarning") [18:02:43.976] } [18:02:43.976] else if (inherits(cond, "condition")) { [18:02:43.976] if (!is.null(pattern)) { [18:02:43.976] computeRestarts <- base::computeRestarts [18:02:43.976] grepl <- base::grepl [18:02:43.976] restarts <- computeRestarts(cond) [18:02:43.976] for (restart in restarts) { [18:02:43.976] name <- restart$name [18:02:43.976] if (is.null(name)) [18:02:43.976] next [18:02:43.976] if (!grepl(pattern, name)) [18:02:43.976] next [18:02:43.976] invokeRestart(restart) [18:02:43.976] muffled <- TRUE [18:02:43.976] break [18:02:43.976] } [18:02:43.976] } [18:02:43.976] } [18:02:43.976] invisible(muffled) [18:02:43.976] } [18:02:43.976] muffleCondition(cond, pattern = "^muffle") [18:02:43.976] } [18:02:43.976] } [18:02:43.976] else { [18:02:43.976] if (TRUE) { [18:02:43.976] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.976] { [18:02:43.976] inherits <- base::inherits [18:02:43.976] invokeRestart <- base::invokeRestart [18:02:43.976] is.null <- base::is.null [18:02:43.976] muffled <- FALSE [18:02:43.976] if (inherits(cond, "message")) { [18:02:43.976] muffled <- grepl(pattern, "muffleMessage") [18:02:43.976] if (muffled) [18:02:43.976] invokeRestart("muffleMessage") [18:02:43.976] } [18:02:43.976] else if (inherits(cond, "warning")) { [18:02:43.976] muffled <- grepl(pattern, "muffleWarning") [18:02:43.976] if (muffled) [18:02:43.976] invokeRestart("muffleWarning") [18:02:43.976] } [18:02:43.976] else if (inherits(cond, "condition")) { [18:02:43.976] if (!is.null(pattern)) { [18:02:43.976] computeRestarts <- base::computeRestarts [18:02:43.976] grepl <- base::grepl [18:02:43.976] restarts <- computeRestarts(cond) [18:02:43.976] for (restart in restarts) { [18:02:43.976] name <- restart$name [18:02:43.976] if (is.null(name)) [18:02:43.976] next [18:02:43.976] if (!grepl(pattern, name)) [18:02:43.976] next [18:02:43.976] invokeRestart(restart) [18:02:43.976] muffled <- TRUE [18:02:43.976] break [18:02:43.976] } [18:02:43.976] } [18:02:43.976] } [18:02:43.976] invisible(muffled) [18:02:43.976] } [18:02:43.976] muffleCondition(cond, pattern = "^muffle") [18:02:43.976] } [18:02:43.976] } [18:02:43.976] } [18:02:43.976] })) [18:02:43.976] }, error = function(ex) { [18:02:43.976] base::structure(base::list(value = NULL, visible = NULL, [18:02:43.976] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.976] ...future.rng), started = ...future.startTime, [18:02:43.976] finished = Sys.time(), session_uuid = NA_character_, [18:02:43.976] version = "1.8"), class = "FutureResult") [18:02:43.976] }, finally = { [18:02:43.976] if (!identical(...future.workdir, getwd())) [18:02:43.976] setwd(...future.workdir) [18:02:43.976] { [18:02:43.976] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:43.976] ...future.oldOptions$nwarnings <- NULL [18:02:43.976] } [18:02:43.976] base::options(...future.oldOptions) [18:02:43.976] if (.Platform$OS.type == "windows") { [18:02:43.976] old_names <- names(...future.oldEnvVars) [18:02:43.976] envs <- base::Sys.getenv() [18:02:43.976] names <- names(envs) [18:02:43.976] common <- intersect(names, old_names) [18:02:43.976] added <- setdiff(names, old_names) [18:02:43.976] removed <- setdiff(old_names, names) [18:02:43.976] changed <- common[...future.oldEnvVars[common] != [18:02:43.976] envs[common]] [18:02:43.976] NAMES <- toupper(changed) [18:02:43.976] args <- list() [18:02:43.976] for (kk in seq_along(NAMES)) { [18:02:43.976] name <- changed[[kk]] [18:02:43.976] NAME <- NAMES[[kk]] [18:02:43.976] if (name != NAME && is.element(NAME, old_names)) [18:02:43.976] next [18:02:43.976] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.976] } [18:02:43.976] NAMES <- toupper(added) [18:02:43.976] for (kk in seq_along(NAMES)) { [18:02:43.976] name <- added[[kk]] [18:02:43.976] NAME <- NAMES[[kk]] [18:02:43.976] if (name != NAME && is.element(NAME, old_names)) [18:02:43.976] next [18:02:43.976] args[[name]] <- "" [18:02:43.976] } [18:02:43.976] NAMES <- toupper(removed) [18:02:43.976] for (kk in seq_along(NAMES)) { [18:02:43.976] name <- removed[[kk]] [18:02:43.976] NAME <- NAMES[[kk]] [18:02:43.976] if (name != NAME && is.element(NAME, old_names)) [18:02:43.976] next [18:02:43.976] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.976] } [18:02:43.976] if (length(args) > 0) [18:02:43.976] base::do.call(base::Sys.setenv, args = args) [18:02:43.976] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:43.976] } [18:02:43.976] else { [18:02:43.976] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:43.976] } [18:02:43.976] { [18:02:43.976] if (base::length(...future.futureOptionsAdded) > [18:02:43.976] 0L) { [18:02:43.976] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:43.976] base::names(opts) <- ...future.futureOptionsAdded [18:02:43.976] base::options(opts) [18:02:43.976] } [18:02:43.976] { [18:02:43.976] { [18:02:43.976] NULL [18:02:43.976] RNGkind("Mersenne-Twister") [18:02:43.976] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:43.976] inherits = FALSE) [18:02:43.976] } [18:02:43.976] options(future.plan = NULL) [18:02:43.976] if (is.na(NA_character_)) [18:02:43.976] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.976] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:43.976] future::plan(list(function (..., envir = parent.frame()) [18:02:43.976] { [18:02:43.976] future <- SequentialFuture(..., envir = envir) [18:02:43.976] if (!future$lazy) [18:02:43.976] future <- run(future) [18:02:43.976] invisible(future) [18:02:43.976] }), .cleanup = FALSE, .init = FALSE) [18:02:43.976] } [18:02:43.976] } [18:02:43.976] } [18:02:43.976] }) [18:02:43.976] if (TRUE) { [18:02:43.976] base::sink(type = "output", split = FALSE) [18:02:43.976] if (TRUE) { [18:02:43.976] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:43.976] } [18:02:43.976] else { [18:02:43.976] ...future.result["stdout"] <- base::list(NULL) [18:02:43.976] } [18:02:43.976] base::close(...future.stdout) [18:02:43.976] ...future.stdout <- NULL [18:02:43.976] } [18:02:43.976] ...future.result$conditions <- ...future.conditions [18:02:43.976] ...future.result$finished <- base::Sys.time() [18:02:43.976] ...future.result [18:02:43.976] } [18:02:43.980] plan(): Setting new future strategy stack: [18:02:43.980] List of future strategies: [18:02:43.980] 1. sequential: [18:02:43.980] - args: function (..., envir = parent.frame()) [18:02:43.980] - tweaked: FALSE [18:02:43.980] - call: NULL [18:02:43.980] plan(): nbrOfWorkers() = 1 [18:02:43.981] plan(): Setting new future strategy stack: [18:02:43.982] List of future strategies: [18:02:43.982] 1. sequential: [18:02:43.982] - args: function (..., envir = parent.frame()) [18:02:43.982] - tweaked: FALSE [18:02:43.982] - call: plan(strategy) [18:02:43.982] plan(): nbrOfWorkers() = 1 [18:02:43.982] SequentialFuture started (and completed) [18:02:43.983] - Launch lazy future ... done [18:02:43.983] run() for 'SequentialFuture' ... done [18:02:43.983] getGlobalsAndPackages() ... [18:02:43.983] Searching for globals... [18:02:43.984] - globals found: [1] '{' [18:02:43.984] Searching for globals ... DONE [18:02:43.984] Resolving globals: FALSE [18:02:43.985] [18:02:43.985] [18:02:43.985] getGlobalsAndPackages() ... DONE [18:02:43.985] run() for 'Future' ... [18:02:43.985] - state: 'created' [18:02:43.986] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:43.986] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:43.986] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:43.986] - Field: 'label' [18:02:43.987] - Field: 'local' [18:02:43.987] - Field: 'owner' [18:02:43.987] - Field: 'envir' [18:02:43.987] - Field: 'packages' [18:02:43.987] - Field: 'gc' [18:02:43.987] - Field: 'conditions' [18:02:43.988] - Field: 'expr' [18:02:43.988] - Field: 'uuid' [18:02:43.988] - Field: 'seed' [18:02:43.988] - Field: 'version' [18:02:43.988] - Field: 'result' [18:02:43.989] - Field: 'asynchronous' [18:02:43.989] - Field: 'calls' [18:02:43.989] - Field: 'globals' [18:02:43.989] - Field: 'stdout' [18:02:43.989] - Field: 'earlySignal' [18:02:43.989] - Field: 'lazy' [18:02:43.990] - Field: 'state' [18:02:43.990] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:43.990] - Launch lazy future ... [18:02:43.990] Packages needed by the future expression (n = 0): [18:02:43.990] Packages needed by future strategies (n = 0): [18:02:43.991] { [18:02:43.991] { [18:02:43.991] { [18:02:43.991] ...future.startTime <- base::Sys.time() [18:02:43.991] { [18:02:43.991] { [18:02:43.991] { [18:02:43.991] base::local({ [18:02:43.991] has_future <- base::requireNamespace("future", [18:02:43.991] quietly = TRUE) [18:02:43.991] if (has_future) { [18:02:43.991] ns <- base::getNamespace("future") [18:02:43.991] version <- ns[[".package"]][["version"]] [18:02:43.991] if (is.null(version)) [18:02:43.991] version <- utils::packageVersion("future") [18:02:43.991] } [18:02:43.991] else { [18:02:43.991] version <- NULL [18:02:43.991] } [18:02:43.991] if (!has_future || version < "1.8.0") { [18:02:43.991] info <- base::c(r_version = base::gsub("R version ", [18:02:43.991] "", base::R.version$version.string), [18:02:43.991] platform = base::sprintf("%s (%s-bit)", [18:02:43.991] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:43.991] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:43.991] "release", "version")], collapse = " "), [18:02:43.991] hostname = base::Sys.info()[["nodename"]]) [18:02:43.991] info <- base::sprintf("%s: %s", base::names(info), [18:02:43.991] info) [18:02:43.991] info <- base::paste(info, collapse = "; ") [18:02:43.991] if (!has_future) { [18:02:43.991] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:43.991] info) [18:02:43.991] } [18:02:43.991] else { [18:02:43.991] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:43.991] info, version) [18:02:43.991] } [18:02:43.991] base::stop(msg) [18:02:43.991] } [18:02:43.991] }) [18:02:43.991] } [18:02:43.991] options(future.plan = NULL) [18:02:43.991] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.991] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:43.991] } [18:02:43.991] ...future.workdir <- getwd() [18:02:43.991] } [18:02:43.991] ...future.oldOptions <- base::as.list(base::.Options) [18:02:43.991] ...future.oldEnvVars <- base::Sys.getenv() [18:02:43.991] } [18:02:43.991] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:43.991] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:43.991] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:43.991] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:43.991] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:43.991] future.stdout.windows.reencode = NULL, width = 80L) [18:02:43.991] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:43.991] base::names(...future.oldOptions)) [18:02:43.991] } [18:02:43.991] if (FALSE) { [18:02:43.991] } [18:02:43.991] else { [18:02:43.991] if (TRUE) { [18:02:43.991] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:43.991] open = "w") [18:02:43.991] } [18:02:43.991] else { [18:02:43.991] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:43.991] windows = "NUL", "/dev/null"), open = "w") [18:02:43.991] } [18:02:43.991] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:43.991] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:43.991] base::sink(type = "output", split = FALSE) [18:02:43.991] base::close(...future.stdout) [18:02:43.991] }, add = TRUE) [18:02:43.991] } [18:02:43.991] ...future.frame <- base::sys.nframe() [18:02:43.991] ...future.conditions <- base::list() [18:02:43.991] ...future.rng <- base::globalenv()$.Random.seed [18:02:43.991] if (FALSE) { [18:02:43.991] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:43.991] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:43.991] } [18:02:43.991] ...future.result <- base::tryCatch({ [18:02:43.991] base::withCallingHandlers({ [18:02:43.991] ...future.value <- base::withVisible(base::local({ [18:02:43.991] 2 [18:02:43.991] })) [18:02:43.991] future::FutureResult(value = ...future.value$value, [18:02:43.991] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.991] ...future.rng), globalenv = if (FALSE) [18:02:43.991] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:43.991] ...future.globalenv.names)) [18:02:43.991] else NULL, started = ...future.startTime, version = "1.8") [18:02:43.991] }, condition = base::local({ [18:02:43.991] c <- base::c [18:02:43.991] inherits <- base::inherits [18:02:43.991] invokeRestart <- base::invokeRestart [18:02:43.991] length <- base::length [18:02:43.991] list <- base::list [18:02:43.991] seq.int <- base::seq.int [18:02:43.991] signalCondition <- base::signalCondition [18:02:43.991] sys.calls <- base::sys.calls [18:02:43.991] `[[` <- base::`[[` [18:02:43.991] `+` <- base::`+` [18:02:43.991] `<<-` <- base::`<<-` [18:02:43.991] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:43.991] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:43.991] 3L)] [18:02:43.991] } [18:02:43.991] function(cond) { [18:02:43.991] is_error <- inherits(cond, "error") [18:02:43.991] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:43.991] NULL) [18:02:43.991] if (is_error) { [18:02:43.991] sessionInformation <- function() { [18:02:43.991] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:43.991] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:43.991] search = base::search(), system = base::Sys.info()) [18:02:43.991] } [18:02:43.991] ...future.conditions[[length(...future.conditions) + [18:02:43.991] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:43.991] cond$call), session = sessionInformation(), [18:02:43.991] timestamp = base::Sys.time(), signaled = 0L) [18:02:43.991] signalCondition(cond) [18:02:43.991] } [18:02:43.991] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:43.991] "immediateCondition"))) { [18:02:43.991] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:43.991] ...future.conditions[[length(...future.conditions) + [18:02:43.991] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:43.991] if (TRUE && !signal) { [18:02:43.991] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.991] { [18:02:43.991] inherits <- base::inherits [18:02:43.991] invokeRestart <- base::invokeRestart [18:02:43.991] is.null <- base::is.null [18:02:43.991] muffled <- FALSE [18:02:43.991] if (inherits(cond, "message")) { [18:02:43.991] muffled <- grepl(pattern, "muffleMessage") [18:02:43.991] if (muffled) [18:02:43.991] invokeRestart("muffleMessage") [18:02:43.991] } [18:02:43.991] else if (inherits(cond, "warning")) { [18:02:43.991] muffled <- grepl(pattern, "muffleWarning") [18:02:43.991] if (muffled) [18:02:43.991] invokeRestart("muffleWarning") [18:02:43.991] } [18:02:43.991] else if (inherits(cond, "condition")) { [18:02:43.991] if (!is.null(pattern)) { [18:02:43.991] computeRestarts <- base::computeRestarts [18:02:43.991] grepl <- base::grepl [18:02:43.991] restarts <- computeRestarts(cond) [18:02:43.991] for (restart in restarts) { [18:02:43.991] name <- restart$name [18:02:43.991] if (is.null(name)) [18:02:43.991] next [18:02:43.991] if (!grepl(pattern, name)) [18:02:43.991] next [18:02:43.991] invokeRestart(restart) [18:02:43.991] muffled <- TRUE [18:02:43.991] break [18:02:43.991] } [18:02:43.991] } [18:02:43.991] } [18:02:43.991] invisible(muffled) [18:02:43.991] } [18:02:43.991] muffleCondition(cond, pattern = "^muffle") [18:02:43.991] } [18:02:43.991] } [18:02:43.991] else { [18:02:43.991] if (TRUE) { [18:02:43.991] muffleCondition <- function (cond, pattern = "^muffle") [18:02:43.991] { [18:02:43.991] inherits <- base::inherits [18:02:43.991] invokeRestart <- base::invokeRestart [18:02:43.991] is.null <- base::is.null [18:02:43.991] muffled <- FALSE [18:02:43.991] if (inherits(cond, "message")) { [18:02:43.991] muffled <- grepl(pattern, "muffleMessage") [18:02:43.991] if (muffled) [18:02:43.991] invokeRestart("muffleMessage") [18:02:43.991] } [18:02:43.991] else if (inherits(cond, "warning")) { [18:02:43.991] muffled <- grepl(pattern, "muffleWarning") [18:02:43.991] if (muffled) [18:02:43.991] invokeRestart("muffleWarning") [18:02:43.991] } [18:02:43.991] else if (inherits(cond, "condition")) { [18:02:43.991] if (!is.null(pattern)) { [18:02:43.991] computeRestarts <- base::computeRestarts [18:02:43.991] grepl <- base::grepl [18:02:43.991] restarts <- computeRestarts(cond) [18:02:43.991] for (restart in restarts) { [18:02:43.991] name <- restart$name [18:02:43.991] if (is.null(name)) [18:02:43.991] next [18:02:43.991] if (!grepl(pattern, name)) [18:02:43.991] next [18:02:43.991] invokeRestart(restart) [18:02:43.991] muffled <- TRUE [18:02:43.991] break [18:02:43.991] } [18:02:43.991] } [18:02:43.991] } [18:02:43.991] invisible(muffled) [18:02:43.991] } [18:02:43.991] muffleCondition(cond, pattern = "^muffle") [18:02:43.991] } [18:02:43.991] } [18:02:43.991] } [18:02:43.991] })) [18:02:43.991] }, error = function(ex) { [18:02:43.991] base::structure(base::list(value = NULL, visible = NULL, [18:02:43.991] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:43.991] ...future.rng), started = ...future.startTime, [18:02:43.991] finished = Sys.time(), session_uuid = NA_character_, [18:02:43.991] version = "1.8"), class = "FutureResult") [18:02:43.991] }, finally = { [18:02:43.991] if (!identical(...future.workdir, getwd())) [18:02:43.991] setwd(...future.workdir) [18:02:43.991] { [18:02:43.991] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:43.991] ...future.oldOptions$nwarnings <- NULL [18:02:43.991] } [18:02:43.991] base::options(...future.oldOptions) [18:02:43.991] if (.Platform$OS.type == "windows") { [18:02:43.991] old_names <- names(...future.oldEnvVars) [18:02:43.991] envs <- base::Sys.getenv() [18:02:43.991] names <- names(envs) [18:02:43.991] common <- intersect(names, old_names) [18:02:43.991] added <- setdiff(names, old_names) [18:02:43.991] removed <- setdiff(old_names, names) [18:02:43.991] changed <- common[...future.oldEnvVars[common] != [18:02:43.991] envs[common]] [18:02:43.991] NAMES <- toupper(changed) [18:02:43.991] args <- list() [18:02:43.991] for (kk in seq_along(NAMES)) { [18:02:43.991] name <- changed[[kk]] [18:02:43.991] NAME <- NAMES[[kk]] [18:02:43.991] if (name != NAME && is.element(NAME, old_names)) [18:02:43.991] next [18:02:43.991] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.991] } [18:02:43.991] NAMES <- toupper(added) [18:02:43.991] for (kk in seq_along(NAMES)) { [18:02:43.991] name <- added[[kk]] [18:02:43.991] NAME <- NAMES[[kk]] [18:02:43.991] if (name != NAME && is.element(NAME, old_names)) [18:02:43.991] next [18:02:43.991] args[[name]] <- "" [18:02:43.991] } [18:02:43.991] NAMES <- toupper(removed) [18:02:43.991] for (kk in seq_along(NAMES)) { [18:02:43.991] name <- removed[[kk]] [18:02:43.991] NAME <- NAMES[[kk]] [18:02:43.991] if (name != NAME && is.element(NAME, old_names)) [18:02:43.991] next [18:02:43.991] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:43.991] } [18:02:43.991] if (length(args) > 0) [18:02:43.991] base::do.call(base::Sys.setenv, args = args) [18:02:43.991] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:43.991] } [18:02:43.991] else { [18:02:43.991] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:43.991] } [18:02:43.991] { [18:02:43.991] if (base::length(...future.futureOptionsAdded) > [18:02:43.991] 0L) { [18:02:43.991] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:43.991] base::names(opts) <- ...future.futureOptionsAdded [18:02:43.991] base::options(opts) [18:02:43.991] } [18:02:43.991] { [18:02:43.991] { [18:02:43.991] NULL [18:02:43.991] RNGkind("Mersenne-Twister") [18:02:43.991] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:43.991] inherits = FALSE) [18:02:43.991] } [18:02:43.991] options(future.plan = NULL) [18:02:43.991] if (is.na(NA_character_)) [18:02:43.991] Sys.unsetenv("R_FUTURE_PLAN") [18:02:43.991] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:43.991] future::plan(list(function (..., envir = parent.frame()) [18:02:43.991] { [18:02:43.991] future <- SequentialFuture(..., envir = envir) [18:02:43.991] if (!future$lazy) [18:02:43.991] future <- run(future) [18:02:43.991] invisible(future) [18:02:43.991] }), .cleanup = FALSE, .init = FALSE) [18:02:43.991] } [18:02:43.991] } [18:02:43.991] } [18:02:43.991] }) [18:02:43.991] if (TRUE) { [18:02:43.991] base::sink(type = "output", split = FALSE) [18:02:43.991] if (TRUE) { [18:02:43.991] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:43.991] } [18:02:43.991] else { [18:02:43.991] ...future.result["stdout"] <- base::list(NULL) [18:02:43.991] } [18:02:43.991] base::close(...future.stdout) [18:02:43.991] ...future.stdout <- NULL [18:02:43.991] } [18:02:43.991] ...future.result$conditions <- ...future.conditions [18:02:43.991] ...future.result$finished <- base::Sys.time() [18:02:43.991] ...future.result [18:02:43.991] } [18:02:43.995] plan(): Setting new future strategy stack: [18:02:43.995] List of future strategies: [18:02:43.995] 1. sequential: [18:02:43.995] - args: function (..., envir = parent.frame()) [18:02:43.995] - tweaked: FALSE [18:02:43.995] - call: NULL [18:02:43.995] plan(): nbrOfWorkers() = 1 [18:02:43.997] plan(): Setting new future strategy stack: [18:02:43.997] List of future strategies: [18:02:43.997] 1. sequential: [18:02:43.997] - args: function (..., envir = parent.frame()) [18:02:43.997] - tweaked: FALSE [18:02:43.997] - call: plan(strategy) [18:02:43.997] plan(): nbrOfWorkers() = 1 [18:02:43.997] SequentialFuture started (and completed) [18:02:43.998] - Launch lazy future ... done [18:02:43.998] run() for 'SequentialFuture' ... done [18:02:43.999] resolve() on environment ... [18:02:43.999] recursive: 0 [18:02:43.999] elements: [3] 'a' [18:02:44.000] resolved() for 'SequentialFuture' ... [18:02:44.000] - state: 'finished' [18:02:44.000] - run: TRUE [18:02:44.000] - result: 'FutureResult' [18:02:44.000] resolved() for 'SequentialFuture' ... done [18:02:44.000] Future #1 [18:02:44.001] length: 2 (resolved future 1) [18:02:44.001] resolved() for 'SequentialFuture' ... [18:02:44.001] - state: 'finished' [18:02:44.001] - run: TRUE [18:02:44.001] - result: 'FutureResult' [18:02:44.002] resolved() for 'SequentialFuture' ... done [18:02:44.002] Future #2 [18:02:44.002] length: 1 (resolved future 2) [18:02:44.002] length: 0 (resolved future 3) [18:02:44.002] resolve() on environment ... DONE [18:02:44.002] resolved() for 'SequentialFuture' ... [18:02:44.003] - state: 'finished' [18:02:44.003] - run: TRUE [18:02:44.003] - result: 'FutureResult' [18:02:44.003] resolved() for 'SequentialFuture' ... done [18:02:44.004] resolve() on environment ... [18:02:44.005] recursive: 0 [18:02:44.006] elements: [3] 'b' [18:02:44.006] resolved() for 'SequentialFuture' ... [18:02:44.006] - state: 'finished' [18:02:44.006] - run: TRUE [18:02:44.006] - result: 'FutureResult' [18:02:44.007] resolved() for 'SequentialFuture' ... done [18:02:44.007] Future #1 [18:02:44.007] length: 2 (resolved future 1) [18:02:44.007] resolved() for 'SequentialFuture' ... [18:02:44.007] - state: 'finished' [18:02:44.007] - run: TRUE [18:02:44.008] - result: 'FutureResult' [18:02:44.008] resolved() for 'SequentialFuture' ... done [18:02:44.008] Future #2 [18:02:44.008] length: 1 (resolved future 2) [18:02:44.008] length: 0 (resolved future 3) [18:02:44.009] resolve() on environment ... DONE [18:02:44.009] resolve() on environment ... [18:02:44.009] recursive: 0 [18:02:44.010] elements: [3] 'c' [18:02:44.010] resolved() for 'SequentialFuture' ... [18:02:44.010] - state: 'finished' [18:02:44.010] - run: TRUE [18:02:44.011] - result: 'FutureResult' [18:02:44.011] resolved() for 'SequentialFuture' ... done [18:02:44.011] Future #1 [18:02:44.011] length: 2 (resolved future 1) [18:02:44.011] resolved() for 'SequentialFuture' ... [18:02:44.012] - state: 'finished' [18:02:44.012] - run: TRUE [18:02:44.012] - result: 'FutureResult' [18:02:44.012] resolved() for 'SequentialFuture' ... done [18:02:44.012] Future #2 [18:02:44.012] length: 1 (resolved future 2) [18:02:44.013] length: 0 (resolved future 3) [18:02:44.013] resolve() on environment ... DONE [18:02:44.013] resolve() on environment ... [18:02:44.014] recursive: 0 [18:02:44.014] elements: [3] 'a', 'b', 'c', '.future_b' [18:02:44.014] resolved() for 'SequentialFuture' ... [18:02:44.015] - state: 'finished' [18:02:44.015] - run: TRUE [18:02:44.015] - result: 'FutureResult' [18:02:44.015] resolved() for 'SequentialFuture' ... done [18:02:44.015] Future #1 [18:02:44.016] length: 2 (resolved future 1) [18:02:44.016] resolved() for 'SequentialFuture' ... [18:02:44.016] - state: 'finished' [18:02:44.016] - run: TRUE [18:02:44.017] - result: 'FutureResult' [18:02:44.017] resolved() for 'SequentialFuture' ... done [18:02:44.017] Future #2 [18:02:44.017] length: 1 (resolved future 2) [18:02:44.017] length: 0 (resolved future 3) [18:02:44.018] resolve() on environment ... DONE [18:02:44.018] resolve() on environment ... [18:02:44.018] recursive: 99 [18:02:44.019] elements: [3] '.future_b', 'a', 'b', 'c' [18:02:44.019] resolved() for 'SequentialFuture' ... [18:02:44.019] - state: 'finished' [18:02:44.019] - run: TRUE [18:02:44.020] - result: 'FutureResult' [18:02:44.020] resolved() for 'SequentialFuture' ... done [18:02:44.020] Future #1 [18:02:44.020] resolved() for 'SequentialFuture' ... [18:02:44.020] - state: 'finished' [18:02:44.021] - run: TRUE [18:02:44.021] - result: 'FutureResult' [18:02:44.021] resolved() for 'SequentialFuture' ... done [18:02:44.021] A SequentialFuture was resolved [18:02:44.021] length: 2 (resolved future 1) [18:02:44.021] resolved() for 'SequentialFuture' ... [18:02:44.022] - state: 'finished' [18:02:44.022] - run: TRUE [18:02:44.022] - result: 'FutureResult' [18:02:44.022] resolved() for 'SequentialFuture' ... done [18:02:44.022] Future #2 [18:02:44.023] resolved() for 'SequentialFuture' ... [18:02:44.023] - state: 'finished' [18:02:44.023] - run: TRUE [18:02:44.023] - result: 'FutureResult' [18:02:44.023] resolved() for 'SequentialFuture' ... done [18:02:44.024] A SequentialFuture was resolved [18:02:44.024] length: 1 (resolved future 2) [18:02:44.024] length: 0 (resolved future 3) [18:02:44.024] resolve() on environment ... DONE *** resolve() for environments ... DONE *** resolve() for list environments ... [18:02:44.025] resolve() on list environment ... [18:02:44.026] recursive: 0 [18:02:44.027] length: 2 [18:02:44.027] elements: 'a', 'b' [18:02:44.027] length: 1 (resolved future 1) [18:02:44.027] length: 0 (resolved future 2) [18:02:44.028] resolve() on list environment ... DONE [18:02:44.028] getGlobalsAndPackages() ... [18:02:44.028] Searching for globals... [18:02:44.028] [18:02:44.028] Searching for globals ... DONE [18:02:44.029] - globals: [0] [18:02:44.029] getGlobalsAndPackages() ... DONE [18:02:44.029] run() for 'Future' ... [18:02:44.029] - state: 'created' [18:02:44.029] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:44.030] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:44.030] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:44.030] - Field: 'label' [18:02:44.030] - Field: 'local' [18:02:44.031] - Field: 'owner' [18:02:44.031] - Field: 'envir' [18:02:44.031] - Field: 'packages' [18:02:44.031] - Field: 'gc' [18:02:44.031] - Field: 'conditions' [18:02:44.031] - Field: 'expr' [18:02:44.032] - Field: 'uuid' [18:02:44.032] - Field: 'seed' [18:02:44.032] - Field: 'version' [18:02:44.032] - Field: 'result' [18:02:44.032] - Field: 'asynchronous' [18:02:44.033] - Field: 'calls' [18:02:44.033] - Field: 'globals' [18:02:44.033] - Field: 'stdout' [18:02:44.033] - Field: 'earlySignal' [18:02:44.033] - Field: 'lazy' [18:02:44.033] - Field: 'state' [18:02:44.034] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:44.034] - Launch lazy future ... [18:02:44.034] Packages needed by the future expression (n = 0): [18:02:44.034] Packages needed by future strategies (n = 0): [18:02:44.035] { [18:02:44.035] { [18:02:44.035] { [18:02:44.035] ...future.startTime <- base::Sys.time() [18:02:44.035] { [18:02:44.035] { [18:02:44.035] { [18:02:44.035] base::local({ [18:02:44.035] has_future <- base::requireNamespace("future", [18:02:44.035] quietly = TRUE) [18:02:44.035] if (has_future) { [18:02:44.035] ns <- base::getNamespace("future") [18:02:44.035] version <- ns[[".package"]][["version"]] [18:02:44.035] if (is.null(version)) [18:02:44.035] version <- utils::packageVersion("future") [18:02:44.035] } [18:02:44.035] else { [18:02:44.035] version <- NULL [18:02:44.035] } [18:02:44.035] if (!has_future || version < "1.8.0") { [18:02:44.035] info <- base::c(r_version = base::gsub("R version ", [18:02:44.035] "", base::R.version$version.string), [18:02:44.035] platform = base::sprintf("%s (%s-bit)", [18:02:44.035] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:44.035] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:44.035] "release", "version")], collapse = " "), [18:02:44.035] hostname = base::Sys.info()[["nodename"]]) [18:02:44.035] info <- base::sprintf("%s: %s", base::names(info), [18:02:44.035] info) [18:02:44.035] info <- base::paste(info, collapse = "; ") [18:02:44.035] if (!has_future) { [18:02:44.035] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:44.035] info) [18:02:44.035] } [18:02:44.035] else { [18:02:44.035] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:44.035] info, version) [18:02:44.035] } [18:02:44.035] base::stop(msg) [18:02:44.035] } [18:02:44.035] }) [18:02:44.035] } [18:02:44.035] options(future.plan = NULL) [18:02:44.035] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.035] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:44.035] } [18:02:44.035] ...future.workdir <- getwd() [18:02:44.035] } [18:02:44.035] ...future.oldOptions <- base::as.list(base::.Options) [18:02:44.035] ...future.oldEnvVars <- base::Sys.getenv() [18:02:44.035] } [18:02:44.035] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:44.035] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:44.035] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:44.035] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:44.035] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:44.035] future.stdout.windows.reencode = NULL, width = 80L) [18:02:44.035] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:44.035] base::names(...future.oldOptions)) [18:02:44.035] } [18:02:44.035] if (FALSE) { [18:02:44.035] } [18:02:44.035] else { [18:02:44.035] if (TRUE) { [18:02:44.035] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:44.035] open = "w") [18:02:44.035] } [18:02:44.035] else { [18:02:44.035] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:44.035] windows = "NUL", "/dev/null"), open = "w") [18:02:44.035] } [18:02:44.035] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:44.035] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:44.035] base::sink(type = "output", split = FALSE) [18:02:44.035] base::close(...future.stdout) [18:02:44.035] }, add = TRUE) [18:02:44.035] } [18:02:44.035] ...future.frame <- base::sys.nframe() [18:02:44.035] ...future.conditions <- base::list() [18:02:44.035] ...future.rng <- base::globalenv()$.Random.seed [18:02:44.035] if (FALSE) { [18:02:44.035] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:44.035] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:44.035] } [18:02:44.035] ...future.result <- base::tryCatch({ [18:02:44.035] base::withCallingHandlers({ [18:02:44.035] ...future.value <- base::withVisible(base::local(1)) [18:02:44.035] future::FutureResult(value = ...future.value$value, [18:02:44.035] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.035] ...future.rng), globalenv = if (FALSE) [18:02:44.035] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:44.035] ...future.globalenv.names)) [18:02:44.035] else NULL, started = ...future.startTime, version = "1.8") [18:02:44.035] }, condition = base::local({ [18:02:44.035] c <- base::c [18:02:44.035] inherits <- base::inherits [18:02:44.035] invokeRestart <- base::invokeRestart [18:02:44.035] length <- base::length [18:02:44.035] list <- base::list [18:02:44.035] seq.int <- base::seq.int [18:02:44.035] signalCondition <- base::signalCondition [18:02:44.035] sys.calls <- base::sys.calls [18:02:44.035] `[[` <- base::`[[` [18:02:44.035] `+` <- base::`+` [18:02:44.035] `<<-` <- base::`<<-` [18:02:44.035] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:44.035] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:44.035] 3L)] [18:02:44.035] } [18:02:44.035] function(cond) { [18:02:44.035] is_error <- inherits(cond, "error") [18:02:44.035] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:44.035] NULL) [18:02:44.035] if (is_error) { [18:02:44.035] sessionInformation <- function() { [18:02:44.035] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:44.035] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:44.035] search = base::search(), system = base::Sys.info()) [18:02:44.035] } [18:02:44.035] ...future.conditions[[length(...future.conditions) + [18:02:44.035] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:44.035] cond$call), session = sessionInformation(), [18:02:44.035] timestamp = base::Sys.time(), signaled = 0L) [18:02:44.035] signalCondition(cond) [18:02:44.035] } [18:02:44.035] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:44.035] "immediateCondition"))) { [18:02:44.035] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:44.035] ...future.conditions[[length(...future.conditions) + [18:02:44.035] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:44.035] if (TRUE && !signal) { [18:02:44.035] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.035] { [18:02:44.035] inherits <- base::inherits [18:02:44.035] invokeRestart <- base::invokeRestart [18:02:44.035] is.null <- base::is.null [18:02:44.035] muffled <- FALSE [18:02:44.035] if (inherits(cond, "message")) { [18:02:44.035] muffled <- grepl(pattern, "muffleMessage") [18:02:44.035] if (muffled) [18:02:44.035] invokeRestart("muffleMessage") [18:02:44.035] } [18:02:44.035] else if (inherits(cond, "warning")) { [18:02:44.035] muffled <- grepl(pattern, "muffleWarning") [18:02:44.035] if (muffled) [18:02:44.035] invokeRestart("muffleWarning") [18:02:44.035] } [18:02:44.035] else if (inherits(cond, "condition")) { [18:02:44.035] if (!is.null(pattern)) { [18:02:44.035] computeRestarts <- base::computeRestarts [18:02:44.035] grepl <- base::grepl [18:02:44.035] restarts <- computeRestarts(cond) [18:02:44.035] for (restart in restarts) { [18:02:44.035] name <- restart$name [18:02:44.035] if (is.null(name)) [18:02:44.035] next [18:02:44.035] if (!grepl(pattern, name)) [18:02:44.035] next [18:02:44.035] invokeRestart(restart) [18:02:44.035] muffled <- TRUE [18:02:44.035] break [18:02:44.035] } [18:02:44.035] } [18:02:44.035] } [18:02:44.035] invisible(muffled) [18:02:44.035] } [18:02:44.035] muffleCondition(cond, pattern = "^muffle") [18:02:44.035] } [18:02:44.035] } [18:02:44.035] else { [18:02:44.035] if (TRUE) { [18:02:44.035] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.035] { [18:02:44.035] inherits <- base::inherits [18:02:44.035] invokeRestart <- base::invokeRestart [18:02:44.035] is.null <- base::is.null [18:02:44.035] muffled <- FALSE [18:02:44.035] if (inherits(cond, "message")) { [18:02:44.035] muffled <- grepl(pattern, "muffleMessage") [18:02:44.035] if (muffled) [18:02:44.035] invokeRestart("muffleMessage") [18:02:44.035] } [18:02:44.035] else if (inherits(cond, "warning")) { [18:02:44.035] muffled <- grepl(pattern, "muffleWarning") [18:02:44.035] if (muffled) [18:02:44.035] invokeRestart("muffleWarning") [18:02:44.035] } [18:02:44.035] else if (inherits(cond, "condition")) { [18:02:44.035] if (!is.null(pattern)) { [18:02:44.035] computeRestarts <- base::computeRestarts [18:02:44.035] grepl <- base::grepl [18:02:44.035] restarts <- computeRestarts(cond) [18:02:44.035] for (restart in restarts) { [18:02:44.035] name <- restart$name [18:02:44.035] if (is.null(name)) [18:02:44.035] next [18:02:44.035] if (!grepl(pattern, name)) [18:02:44.035] next [18:02:44.035] invokeRestart(restart) [18:02:44.035] muffled <- TRUE [18:02:44.035] break [18:02:44.035] } [18:02:44.035] } [18:02:44.035] } [18:02:44.035] invisible(muffled) [18:02:44.035] } [18:02:44.035] muffleCondition(cond, pattern = "^muffle") [18:02:44.035] } [18:02:44.035] } [18:02:44.035] } [18:02:44.035] })) [18:02:44.035] }, error = function(ex) { [18:02:44.035] base::structure(base::list(value = NULL, visible = NULL, [18:02:44.035] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.035] ...future.rng), started = ...future.startTime, [18:02:44.035] finished = Sys.time(), session_uuid = NA_character_, [18:02:44.035] version = "1.8"), class = "FutureResult") [18:02:44.035] }, finally = { [18:02:44.035] if (!identical(...future.workdir, getwd())) [18:02:44.035] setwd(...future.workdir) [18:02:44.035] { [18:02:44.035] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:44.035] ...future.oldOptions$nwarnings <- NULL [18:02:44.035] } [18:02:44.035] base::options(...future.oldOptions) [18:02:44.035] if (.Platform$OS.type == "windows") { [18:02:44.035] old_names <- names(...future.oldEnvVars) [18:02:44.035] envs <- base::Sys.getenv() [18:02:44.035] names <- names(envs) [18:02:44.035] common <- intersect(names, old_names) [18:02:44.035] added <- setdiff(names, old_names) [18:02:44.035] removed <- setdiff(old_names, names) [18:02:44.035] changed <- common[...future.oldEnvVars[common] != [18:02:44.035] envs[common]] [18:02:44.035] NAMES <- toupper(changed) [18:02:44.035] args <- list() [18:02:44.035] for (kk in seq_along(NAMES)) { [18:02:44.035] name <- changed[[kk]] [18:02:44.035] NAME <- NAMES[[kk]] [18:02:44.035] if (name != NAME && is.element(NAME, old_names)) [18:02:44.035] next [18:02:44.035] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.035] } [18:02:44.035] NAMES <- toupper(added) [18:02:44.035] for (kk in seq_along(NAMES)) { [18:02:44.035] name <- added[[kk]] [18:02:44.035] NAME <- NAMES[[kk]] [18:02:44.035] if (name != NAME && is.element(NAME, old_names)) [18:02:44.035] next [18:02:44.035] args[[name]] <- "" [18:02:44.035] } [18:02:44.035] NAMES <- toupper(removed) [18:02:44.035] for (kk in seq_along(NAMES)) { [18:02:44.035] name <- removed[[kk]] [18:02:44.035] NAME <- NAMES[[kk]] [18:02:44.035] if (name != NAME && is.element(NAME, old_names)) [18:02:44.035] next [18:02:44.035] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.035] } [18:02:44.035] if (length(args) > 0) [18:02:44.035] base::do.call(base::Sys.setenv, args = args) [18:02:44.035] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:44.035] } [18:02:44.035] else { [18:02:44.035] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:44.035] } [18:02:44.035] { [18:02:44.035] if (base::length(...future.futureOptionsAdded) > [18:02:44.035] 0L) { [18:02:44.035] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:44.035] base::names(opts) <- ...future.futureOptionsAdded [18:02:44.035] base::options(opts) [18:02:44.035] } [18:02:44.035] { [18:02:44.035] { [18:02:44.035] NULL [18:02:44.035] RNGkind("Mersenne-Twister") [18:02:44.035] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:44.035] inherits = FALSE) [18:02:44.035] } [18:02:44.035] options(future.plan = NULL) [18:02:44.035] if (is.na(NA_character_)) [18:02:44.035] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.035] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:44.035] future::plan(list(function (..., envir = parent.frame()) [18:02:44.035] { [18:02:44.035] future <- SequentialFuture(..., envir = envir) [18:02:44.035] if (!future$lazy) [18:02:44.035] future <- run(future) [18:02:44.035] invisible(future) [18:02:44.035] }), .cleanup = FALSE, .init = FALSE) [18:02:44.035] } [18:02:44.035] } [18:02:44.035] } [18:02:44.035] }) [18:02:44.035] if (TRUE) { [18:02:44.035] base::sink(type = "output", split = FALSE) [18:02:44.035] if (TRUE) { [18:02:44.035] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:44.035] } [18:02:44.035] else { [18:02:44.035] ...future.result["stdout"] <- base::list(NULL) [18:02:44.035] } [18:02:44.035] base::close(...future.stdout) [18:02:44.035] ...future.stdout <- NULL [18:02:44.035] } [18:02:44.035] ...future.result$conditions <- ...future.conditions [18:02:44.035] ...future.result$finished <- base::Sys.time() [18:02:44.035] ...future.result [18:02:44.035] } [18:02:44.039] plan(): Setting new future strategy stack: [18:02:44.039] List of future strategies: [18:02:44.039] 1. sequential: [18:02:44.039] - args: function (..., envir = parent.frame()) [18:02:44.039] - tweaked: FALSE [18:02:44.039] - call: NULL [18:02:44.039] plan(): nbrOfWorkers() = 1 [18:02:44.041] plan(): Setting new future strategy stack: [18:02:44.041] List of future strategies: [18:02:44.041] 1. sequential: [18:02:44.041] - args: function (..., envir = parent.frame()) [18:02:44.041] - tweaked: FALSE [18:02:44.041] - call: plan(strategy) [18:02:44.042] plan(): nbrOfWorkers() = 1 [18:02:44.043] SequentialFuture started (and completed) [18:02:44.043] - Launch lazy future ... done [18:02:44.043] run() for 'SequentialFuture' ... done [18:02:44.043] getGlobalsAndPackages() ... [18:02:44.043] Searching for globals... [18:02:44.044] [18:02:44.044] Searching for globals ... DONE [18:02:44.044] - globals: [0] [18:02:44.044] getGlobalsAndPackages() ... DONE [18:02:44.045] run() for 'Future' ... [18:02:44.045] - state: 'created' [18:02:44.045] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:44.045] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:44.045] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:44.046] - Field: 'label' [18:02:44.046] - Field: 'local' [18:02:44.046] - Field: 'owner' [18:02:44.046] - Field: 'envir' [18:02:44.046] - Field: 'packages' [18:02:44.047] - Field: 'gc' [18:02:44.047] - Field: 'conditions' [18:02:44.047] - Field: 'expr' [18:02:44.047] - Field: 'uuid' [18:02:44.047] - Field: 'seed' [18:02:44.047] - Field: 'version' [18:02:44.048] - Field: 'result' [18:02:44.048] - Field: 'asynchronous' [18:02:44.048] - Field: 'calls' [18:02:44.048] - Field: 'globals' [18:02:44.048] - Field: 'stdout' [18:02:44.049] - Field: 'earlySignal' [18:02:44.049] - Field: 'lazy' [18:02:44.049] - Field: 'state' [18:02:44.049] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:44.049] - Launch lazy future ... [18:02:44.049] Packages needed by the future expression (n = 0): [18:02:44.050] Packages needed by future strategies (n = 0): [18:02:44.050] { [18:02:44.050] { [18:02:44.050] { [18:02:44.050] ...future.startTime <- base::Sys.time() [18:02:44.050] { [18:02:44.050] { [18:02:44.050] { [18:02:44.050] base::local({ [18:02:44.050] has_future <- base::requireNamespace("future", [18:02:44.050] quietly = TRUE) [18:02:44.050] if (has_future) { [18:02:44.050] ns <- base::getNamespace("future") [18:02:44.050] version <- ns[[".package"]][["version"]] [18:02:44.050] if (is.null(version)) [18:02:44.050] version <- utils::packageVersion("future") [18:02:44.050] } [18:02:44.050] else { [18:02:44.050] version <- NULL [18:02:44.050] } [18:02:44.050] if (!has_future || version < "1.8.0") { [18:02:44.050] info <- base::c(r_version = base::gsub("R version ", [18:02:44.050] "", base::R.version$version.string), [18:02:44.050] platform = base::sprintf("%s (%s-bit)", [18:02:44.050] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:44.050] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:44.050] "release", "version")], collapse = " "), [18:02:44.050] hostname = base::Sys.info()[["nodename"]]) [18:02:44.050] info <- base::sprintf("%s: %s", base::names(info), [18:02:44.050] info) [18:02:44.050] info <- base::paste(info, collapse = "; ") [18:02:44.050] if (!has_future) { [18:02:44.050] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:44.050] info) [18:02:44.050] } [18:02:44.050] else { [18:02:44.050] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:44.050] info, version) [18:02:44.050] } [18:02:44.050] base::stop(msg) [18:02:44.050] } [18:02:44.050] }) [18:02:44.050] } [18:02:44.050] options(future.plan = NULL) [18:02:44.050] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.050] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:44.050] } [18:02:44.050] ...future.workdir <- getwd() [18:02:44.050] } [18:02:44.050] ...future.oldOptions <- base::as.list(base::.Options) [18:02:44.050] ...future.oldEnvVars <- base::Sys.getenv() [18:02:44.050] } [18:02:44.050] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:44.050] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:44.050] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:44.050] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:44.050] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:44.050] future.stdout.windows.reencode = NULL, width = 80L) [18:02:44.050] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:44.050] base::names(...future.oldOptions)) [18:02:44.050] } [18:02:44.050] if (FALSE) { [18:02:44.050] } [18:02:44.050] else { [18:02:44.050] if (TRUE) { [18:02:44.050] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:44.050] open = "w") [18:02:44.050] } [18:02:44.050] else { [18:02:44.050] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:44.050] windows = "NUL", "/dev/null"), open = "w") [18:02:44.050] } [18:02:44.050] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:44.050] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:44.050] base::sink(type = "output", split = FALSE) [18:02:44.050] base::close(...future.stdout) [18:02:44.050] }, add = TRUE) [18:02:44.050] } [18:02:44.050] ...future.frame <- base::sys.nframe() [18:02:44.050] ...future.conditions <- base::list() [18:02:44.050] ...future.rng <- base::globalenv()$.Random.seed [18:02:44.050] if (FALSE) { [18:02:44.050] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:44.050] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:44.050] } [18:02:44.050] ...future.result <- base::tryCatch({ [18:02:44.050] base::withCallingHandlers({ [18:02:44.050] ...future.value <- base::withVisible(base::local(2)) [18:02:44.050] future::FutureResult(value = ...future.value$value, [18:02:44.050] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.050] ...future.rng), globalenv = if (FALSE) [18:02:44.050] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:44.050] ...future.globalenv.names)) [18:02:44.050] else NULL, started = ...future.startTime, version = "1.8") [18:02:44.050] }, condition = base::local({ [18:02:44.050] c <- base::c [18:02:44.050] inherits <- base::inherits [18:02:44.050] invokeRestart <- base::invokeRestart [18:02:44.050] length <- base::length [18:02:44.050] list <- base::list [18:02:44.050] seq.int <- base::seq.int [18:02:44.050] signalCondition <- base::signalCondition [18:02:44.050] sys.calls <- base::sys.calls [18:02:44.050] `[[` <- base::`[[` [18:02:44.050] `+` <- base::`+` [18:02:44.050] `<<-` <- base::`<<-` [18:02:44.050] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:44.050] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:44.050] 3L)] [18:02:44.050] } [18:02:44.050] function(cond) { [18:02:44.050] is_error <- inherits(cond, "error") [18:02:44.050] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:44.050] NULL) [18:02:44.050] if (is_error) { [18:02:44.050] sessionInformation <- function() { [18:02:44.050] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:44.050] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:44.050] search = base::search(), system = base::Sys.info()) [18:02:44.050] } [18:02:44.050] ...future.conditions[[length(...future.conditions) + [18:02:44.050] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:44.050] cond$call), session = sessionInformation(), [18:02:44.050] timestamp = base::Sys.time(), signaled = 0L) [18:02:44.050] signalCondition(cond) [18:02:44.050] } [18:02:44.050] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:44.050] "immediateCondition"))) { [18:02:44.050] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:44.050] ...future.conditions[[length(...future.conditions) + [18:02:44.050] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:44.050] if (TRUE && !signal) { [18:02:44.050] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.050] { [18:02:44.050] inherits <- base::inherits [18:02:44.050] invokeRestart <- base::invokeRestart [18:02:44.050] is.null <- base::is.null [18:02:44.050] muffled <- FALSE [18:02:44.050] if (inherits(cond, "message")) { [18:02:44.050] muffled <- grepl(pattern, "muffleMessage") [18:02:44.050] if (muffled) [18:02:44.050] invokeRestart("muffleMessage") [18:02:44.050] } [18:02:44.050] else if (inherits(cond, "warning")) { [18:02:44.050] muffled <- grepl(pattern, "muffleWarning") [18:02:44.050] if (muffled) [18:02:44.050] invokeRestart("muffleWarning") [18:02:44.050] } [18:02:44.050] else if (inherits(cond, "condition")) { [18:02:44.050] if (!is.null(pattern)) { [18:02:44.050] computeRestarts <- base::computeRestarts [18:02:44.050] grepl <- base::grepl [18:02:44.050] restarts <- computeRestarts(cond) [18:02:44.050] for (restart in restarts) { [18:02:44.050] name <- restart$name [18:02:44.050] if (is.null(name)) [18:02:44.050] next [18:02:44.050] if (!grepl(pattern, name)) [18:02:44.050] next [18:02:44.050] invokeRestart(restart) [18:02:44.050] muffled <- TRUE [18:02:44.050] break [18:02:44.050] } [18:02:44.050] } [18:02:44.050] } [18:02:44.050] invisible(muffled) [18:02:44.050] } [18:02:44.050] muffleCondition(cond, pattern = "^muffle") [18:02:44.050] } [18:02:44.050] } [18:02:44.050] else { [18:02:44.050] if (TRUE) { [18:02:44.050] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.050] { [18:02:44.050] inherits <- base::inherits [18:02:44.050] invokeRestart <- base::invokeRestart [18:02:44.050] is.null <- base::is.null [18:02:44.050] muffled <- FALSE [18:02:44.050] if (inherits(cond, "message")) { [18:02:44.050] muffled <- grepl(pattern, "muffleMessage") [18:02:44.050] if (muffled) [18:02:44.050] invokeRestart("muffleMessage") [18:02:44.050] } [18:02:44.050] else if (inherits(cond, "warning")) { [18:02:44.050] muffled <- grepl(pattern, "muffleWarning") [18:02:44.050] if (muffled) [18:02:44.050] invokeRestart("muffleWarning") [18:02:44.050] } [18:02:44.050] else if (inherits(cond, "condition")) { [18:02:44.050] if (!is.null(pattern)) { [18:02:44.050] computeRestarts <- base::computeRestarts [18:02:44.050] grepl <- base::grepl [18:02:44.050] restarts <- computeRestarts(cond) [18:02:44.050] for (restart in restarts) { [18:02:44.050] name <- restart$name [18:02:44.050] if (is.null(name)) [18:02:44.050] next [18:02:44.050] if (!grepl(pattern, name)) [18:02:44.050] next [18:02:44.050] invokeRestart(restart) [18:02:44.050] muffled <- TRUE [18:02:44.050] break [18:02:44.050] } [18:02:44.050] } [18:02:44.050] } [18:02:44.050] invisible(muffled) [18:02:44.050] } [18:02:44.050] muffleCondition(cond, pattern = "^muffle") [18:02:44.050] } [18:02:44.050] } [18:02:44.050] } [18:02:44.050] })) [18:02:44.050] }, error = function(ex) { [18:02:44.050] base::structure(base::list(value = NULL, visible = NULL, [18:02:44.050] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.050] ...future.rng), started = ...future.startTime, [18:02:44.050] finished = Sys.time(), session_uuid = NA_character_, [18:02:44.050] version = "1.8"), class = "FutureResult") [18:02:44.050] }, finally = { [18:02:44.050] if (!identical(...future.workdir, getwd())) [18:02:44.050] setwd(...future.workdir) [18:02:44.050] { [18:02:44.050] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:44.050] ...future.oldOptions$nwarnings <- NULL [18:02:44.050] } [18:02:44.050] base::options(...future.oldOptions) [18:02:44.050] if (.Platform$OS.type == "windows") { [18:02:44.050] old_names <- names(...future.oldEnvVars) [18:02:44.050] envs <- base::Sys.getenv() [18:02:44.050] names <- names(envs) [18:02:44.050] common <- intersect(names, old_names) [18:02:44.050] added <- setdiff(names, old_names) [18:02:44.050] removed <- setdiff(old_names, names) [18:02:44.050] changed <- common[...future.oldEnvVars[common] != [18:02:44.050] envs[common]] [18:02:44.050] NAMES <- toupper(changed) [18:02:44.050] args <- list() [18:02:44.050] for (kk in seq_along(NAMES)) { [18:02:44.050] name <- changed[[kk]] [18:02:44.050] NAME <- NAMES[[kk]] [18:02:44.050] if (name != NAME && is.element(NAME, old_names)) [18:02:44.050] next [18:02:44.050] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.050] } [18:02:44.050] NAMES <- toupper(added) [18:02:44.050] for (kk in seq_along(NAMES)) { [18:02:44.050] name <- added[[kk]] [18:02:44.050] NAME <- NAMES[[kk]] [18:02:44.050] if (name != NAME && is.element(NAME, old_names)) [18:02:44.050] next [18:02:44.050] args[[name]] <- "" [18:02:44.050] } [18:02:44.050] NAMES <- toupper(removed) [18:02:44.050] for (kk in seq_along(NAMES)) { [18:02:44.050] name <- removed[[kk]] [18:02:44.050] NAME <- NAMES[[kk]] [18:02:44.050] if (name != NAME && is.element(NAME, old_names)) [18:02:44.050] next [18:02:44.050] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.050] } [18:02:44.050] if (length(args) > 0) [18:02:44.050] base::do.call(base::Sys.setenv, args = args) [18:02:44.050] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:44.050] } [18:02:44.050] else { [18:02:44.050] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:44.050] } [18:02:44.050] { [18:02:44.050] if (base::length(...future.futureOptionsAdded) > [18:02:44.050] 0L) { [18:02:44.050] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:44.050] base::names(opts) <- ...future.futureOptionsAdded [18:02:44.050] base::options(opts) [18:02:44.050] } [18:02:44.050] { [18:02:44.050] { [18:02:44.050] NULL [18:02:44.050] RNGkind("Mersenne-Twister") [18:02:44.050] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:44.050] inherits = FALSE) [18:02:44.050] } [18:02:44.050] options(future.plan = NULL) [18:02:44.050] if (is.na(NA_character_)) [18:02:44.050] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.050] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:44.050] future::plan(list(function (..., envir = parent.frame()) [18:02:44.050] { [18:02:44.050] future <- SequentialFuture(..., envir = envir) [18:02:44.050] if (!future$lazy) [18:02:44.050] future <- run(future) [18:02:44.050] invisible(future) [18:02:44.050] }), .cleanup = FALSE, .init = FALSE) [18:02:44.050] } [18:02:44.050] } [18:02:44.050] } [18:02:44.050] }) [18:02:44.050] if (TRUE) { [18:02:44.050] base::sink(type = "output", split = FALSE) [18:02:44.050] if (TRUE) { [18:02:44.050] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:44.050] } [18:02:44.050] else { [18:02:44.050] ...future.result["stdout"] <- base::list(NULL) [18:02:44.050] } [18:02:44.050] base::close(...future.stdout) [18:02:44.050] ...future.stdout <- NULL [18:02:44.050] } [18:02:44.050] ...future.result$conditions <- ...future.conditions [18:02:44.050] ...future.result$finished <- base::Sys.time() [18:02:44.050] ...future.result [18:02:44.050] } [18:02:44.054] plan(): Setting new future strategy stack: [18:02:44.054] List of future strategies: [18:02:44.054] 1. sequential: [18:02:44.054] - args: function (..., envir = parent.frame()) [18:02:44.054] - tweaked: FALSE [18:02:44.054] - call: NULL [18:02:44.055] plan(): nbrOfWorkers() = 1 [18:02:44.056] plan(): Setting new future strategy stack: [18:02:44.056] List of future strategies: [18:02:44.056] 1. sequential: [18:02:44.056] - args: function (..., envir = parent.frame()) [18:02:44.056] - tweaked: FALSE [18:02:44.056] - call: plan(strategy) [18:02:44.057] plan(): nbrOfWorkers() = 1 [18:02:44.057] SequentialFuture started (and completed) [18:02:44.057] - Launch lazy future ... done [18:02:44.057] run() for 'SequentialFuture' ... done [18:02:44.058] resolve() on list environment ... [18:02:44.058] recursive: 0 [18:02:44.059] length: 3 [18:02:44.059] elements: 'a', 'b', 'c' [18:02:44.059] resolved() for 'SequentialFuture' ... [18:02:44.060] - state: 'finished' [18:02:44.060] - run: TRUE [18:02:44.060] - result: 'FutureResult' [18:02:44.060] resolved() for 'SequentialFuture' ... done [18:02:44.060] Future #1 [18:02:44.060] length: 2 (resolved future 1) [18:02:44.061] resolved() for 'SequentialFuture' ... [18:02:44.061] - state: 'finished' [18:02:44.061] - run: TRUE [18:02:44.061] - result: 'FutureResult' [18:02:44.061] resolved() for 'SequentialFuture' ... done [18:02:44.062] Future #2 [18:02:44.062] length: 1 (resolved future 2) [18:02:44.062] length: 0 (resolved future 3) [18:02:44.062] resolve() on list environment ... DONE [18:02:44.063] getGlobalsAndPackages() ... [18:02:44.063] Searching for globals... [18:02:44.064] - globals found: [1] '{' [18:02:44.064] Searching for globals ... DONE [18:02:44.064] Resolving globals: FALSE [18:02:44.065] [18:02:44.065] [18:02:44.065] getGlobalsAndPackages() ... DONE [18:02:44.065] run() for 'Future' ... [18:02:44.065] - state: 'created' [18:02:44.066] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:44.066] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:44.066] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:44.066] - Field: 'label' [18:02:44.067] - Field: 'local' [18:02:44.067] - Field: 'owner' [18:02:44.067] - Field: 'envir' [18:02:44.067] - Field: 'packages' [18:02:44.067] - Field: 'gc' [18:02:44.067] - Field: 'conditions' [18:02:44.068] - Field: 'expr' [18:02:44.068] - Field: 'uuid' [18:02:44.068] - Field: 'seed' [18:02:44.068] - Field: 'version' [18:02:44.068] - Field: 'result' [18:02:44.069] - Field: 'asynchronous' [18:02:44.069] - Field: 'calls' [18:02:44.069] - Field: 'globals' [18:02:44.069] - Field: 'stdout' [18:02:44.069] - Field: 'earlySignal' [18:02:44.069] - Field: 'lazy' [18:02:44.070] - Field: 'state' [18:02:44.070] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:44.070] - Launch lazy future ... [18:02:44.070] Packages needed by the future expression (n = 0): [18:02:44.070] Packages needed by future strategies (n = 0): [18:02:44.071] { [18:02:44.071] { [18:02:44.071] { [18:02:44.071] ...future.startTime <- base::Sys.time() [18:02:44.071] { [18:02:44.071] { [18:02:44.071] { [18:02:44.071] base::local({ [18:02:44.071] has_future <- base::requireNamespace("future", [18:02:44.071] quietly = TRUE) [18:02:44.071] if (has_future) { [18:02:44.071] ns <- base::getNamespace("future") [18:02:44.071] version <- ns[[".package"]][["version"]] [18:02:44.071] if (is.null(version)) [18:02:44.071] version <- utils::packageVersion("future") [18:02:44.071] } [18:02:44.071] else { [18:02:44.071] version <- NULL [18:02:44.071] } [18:02:44.071] if (!has_future || version < "1.8.0") { [18:02:44.071] info <- base::c(r_version = base::gsub("R version ", [18:02:44.071] "", base::R.version$version.string), [18:02:44.071] platform = base::sprintf("%s (%s-bit)", [18:02:44.071] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:44.071] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:44.071] "release", "version")], collapse = " "), [18:02:44.071] hostname = base::Sys.info()[["nodename"]]) [18:02:44.071] info <- base::sprintf("%s: %s", base::names(info), [18:02:44.071] info) [18:02:44.071] info <- base::paste(info, collapse = "; ") [18:02:44.071] if (!has_future) { [18:02:44.071] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:44.071] info) [18:02:44.071] } [18:02:44.071] else { [18:02:44.071] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:44.071] info, version) [18:02:44.071] } [18:02:44.071] base::stop(msg) [18:02:44.071] } [18:02:44.071] }) [18:02:44.071] } [18:02:44.071] options(future.plan = NULL) [18:02:44.071] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.071] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:44.071] } [18:02:44.071] ...future.workdir <- getwd() [18:02:44.071] } [18:02:44.071] ...future.oldOptions <- base::as.list(base::.Options) [18:02:44.071] ...future.oldEnvVars <- base::Sys.getenv() [18:02:44.071] } [18:02:44.071] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:44.071] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:44.071] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:44.071] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:44.071] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:44.071] future.stdout.windows.reencode = NULL, width = 80L) [18:02:44.071] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:44.071] base::names(...future.oldOptions)) [18:02:44.071] } [18:02:44.071] if (FALSE) { [18:02:44.071] } [18:02:44.071] else { [18:02:44.071] if (TRUE) { [18:02:44.071] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:44.071] open = "w") [18:02:44.071] } [18:02:44.071] else { [18:02:44.071] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:44.071] windows = "NUL", "/dev/null"), open = "w") [18:02:44.071] } [18:02:44.071] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:44.071] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:44.071] base::sink(type = "output", split = FALSE) [18:02:44.071] base::close(...future.stdout) [18:02:44.071] }, add = TRUE) [18:02:44.071] } [18:02:44.071] ...future.frame <- base::sys.nframe() [18:02:44.071] ...future.conditions <- base::list() [18:02:44.071] ...future.rng <- base::globalenv()$.Random.seed [18:02:44.071] if (FALSE) { [18:02:44.071] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:44.071] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:44.071] } [18:02:44.071] ...future.result <- base::tryCatch({ [18:02:44.071] base::withCallingHandlers({ [18:02:44.071] ...future.value <- base::withVisible(base::local({ [18:02:44.071] 1 [18:02:44.071] })) [18:02:44.071] future::FutureResult(value = ...future.value$value, [18:02:44.071] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.071] ...future.rng), globalenv = if (FALSE) [18:02:44.071] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:44.071] ...future.globalenv.names)) [18:02:44.071] else NULL, started = ...future.startTime, version = "1.8") [18:02:44.071] }, condition = base::local({ [18:02:44.071] c <- base::c [18:02:44.071] inherits <- base::inherits [18:02:44.071] invokeRestart <- base::invokeRestart [18:02:44.071] length <- base::length [18:02:44.071] list <- base::list [18:02:44.071] seq.int <- base::seq.int [18:02:44.071] signalCondition <- base::signalCondition [18:02:44.071] sys.calls <- base::sys.calls [18:02:44.071] `[[` <- base::`[[` [18:02:44.071] `+` <- base::`+` [18:02:44.071] `<<-` <- base::`<<-` [18:02:44.071] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:44.071] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:44.071] 3L)] [18:02:44.071] } [18:02:44.071] function(cond) { [18:02:44.071] is_error <- inherits(cond, "error") [18:02:44.071] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:44.071] NULL) [18:02:44.071] if (is_error) { [18:02:44.071] sessionInformation <- function() { [18:02:44.071] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:44.071] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:44.071] search = base::search(), system = base::Sys.info()) [18:02:44.071] } [18:02:44.071] ...future.conditions[[length(...future.conditions) + [18:02:44.071] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:44.071] cond$call), session = sessionInformation(), [18:02:44.071] timestamp = base::Sys.time(), signaled = 0L) [18:02:44.071] signalCondition(cond) [18:02:44.071] } [18:02:44.071] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:44.071] "immediateCondition"))) { [18:02:44.071] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:44.071] ...future.conditions[[length(...future.conditions) + [18:02:44.071] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:44.071] if (TRUE && !signal) { [18:02:44.071] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.071] { [18:02:44.071] inherits <- base::inherits [18:02:44.071] invokeRestart <- base::invokeRestart [18:02:44.071] is.null <- base::is.null [18:02:44.071] muffled <- FALSE [18:02:44.071] if (inherits(cond, "message")) { [18:02:44.071] muffled <- grepl(pattern, "muffleMessage") [18:02:44.071] if (muffled) [18:02:44.071] invokeRestart("muffleMessage") [18:02:44.071] } [18:02:44.071] else if (inherits(cond, "warning")) { [18:02:44.071] muffled <- grepl(pattern, "muffleWarning") [18:02:44.071] if (muffled) [18:02:44.071] invokeRestart("muffleWarning") [18:02:44.071] } [18:02:44.071] else if (inherits(cond, "condition")) { [18:02:44.071] if (!is.null(pattern)) { [18:02:44.071] computeRestarts <- base::computeRestarts [18:02:44.071] grepl <- base::grepl [18:02:44.071] restarts <- computeRestarts(cond) [18:02:44.071] for (restart in restarts) { [18:02:44.071] name <- restart$name [18:02:44.071] if (is.null(name)) [18:02:44.071] next [18:02:44.071] if (!grepl(pattern, name)) [18:02:44.071] next [18:02:44.071] invokeRestart(restart) [18:02:44.071] muffled <- TRUE [18:02:44.071] break [18:02:44.071] } [18:02:44.071] } [18:02:44.071] } [18:02:44.071] invisible(muffled) [18:02:44.071] } [18:02:44.071] muffleCondition(cond, pattern = "^muffle") [18:02:44.071] } [18:02:44.071] } [18:02:44.071] else { [18:02:44.071] if (TRUE) { [18:02:44.071] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.071] { [18:02:44.071] inherits <- base::inherits [18:02:44.071] invokeRestart <- base::invokeRestart [18:02:44.071] is.null <- base::is.null [18:02:44.071] muffled <- FALSE [18:02:44.071] if (inherits(cond, "message")) { [18:02:44.071] muffled <- grepl(pattern, "muffleMessage") [18:02:44.071] if (muffled) [18:02:44.071] invokeRestart("muffleMessage") [18:02:44.071] } [18:02:44.071] else if (inherits(cond, "warning")) { [18:02:44.071] muffled <- grepl(pattern, "muffleWarning") [18:02:44.071] if (muffled) [18:02:44.071] invokeRestart("muffleWarning") [18:02:44.071] } [18:02:44.071] else if (inherits(cond, "condition")) { [18:02:44.071] if (!is.null(pattern)) { [18:02:44.071] computeRestarts <- base::computeRestarts [18:02:44.071] grepl <- base::grepl [18:02:44.071] restarts <- computeRestarts(cond) [18:02:44.071] for (restart in restarts) { [18:02:44.071] name <- restart$name [18:02:44.071] if (is.null(name)) [18:02:44.071] next [18:02:44.071] if (!grepl(pattern, name)) [18:02:44.071] next [18:02:44.071] invokeRestart(restart) [18:02:44.071] muffled <- TRUE [18:02:44.071] break [18:02:44.071] } [18:02:44.071] } [18:02:44.071] } [18:02:44.071] invisible(muffled) [18:02:44.071] } [18:02:44.071] muffleCondition(cond, pattern = "^muffle") [18:02:44.071] } [18:02:44.071] } [18:02:44.071] } [18:02:44.071] })) [18:02:44.071] }, error = function(ex) { [18:02:44.071] base::structure(base::list(value = NULL, visible = NULL, [18:02:44.071] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.071] ...future.rng), started = ...future.startTime, [18:02:44.071] finished = Sys.time(), session_uuid = NA_character_, [18:02:44.071] version = "1.8"), class = "FutureResult") [18:02:44.071] }, finally = { [18:02:44.071] if (!identical(...future.workdir, getwd())) [18:02:44.071] setwd(...future.workdir) [18:02:44.071] { [18:02:44.071] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:44.071] ...future.oldOptions$nwarnings <- NULL [18:02:44.071] } [18:02:44.071] base::options(...future.oldOptions) [18:02:44.071] if (.Platform$OS.type == "windows") { [18:02:44.071] old_names <- names(...future.oldEnvVars) [18:02:44.071] envs <- base::Sys.getenv() [18:02:44.071] names <- names(envs) [18:02:44.071] common <- intersect(names, old_names) [18:02:44.071] added <- setdiff(names, old_names) [18:02:44.071] removed <- setdiff(old_names, names) [18:02:44.071] changed <- common[...future.oldEnvVars[common] != [18:02:44.071] envs[common]] [18:02:44.071] NAMES <- toupper(changed) [18:02:44.071] args <- list() [18:02:44.071] for (kk in seq_along(NAMES)) { [18:02:44.071] name <- changed[[kk]] [18:02:44.071] NAME <- NAMES[[kk]] [18:02:44.071] if (name != NAME && is.element(NAME, old_names)) [18:02:44.071] next [18:02:44.071] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.071] } [18:02:44.071] NAMES <- toupper(added) [18:02:44.071] for (kk in seq_along(NAMES)) { [18:02:44.071] name <- added[[kk]] [18:02:44.071] NAME <- NAMES[[kk]] [18:02:44.071] if (name != NAME && is.element(NAME, old_names)) [18:02:44.071] next [18:02:44.071] args[[name]] <- "" [18:02:44.071] } [18:02:44.071] NAMES <- toupper(removed) [18:02:44.071] for (kk in seq_along(NAMES)) { [18:02:44.071] name <- removed[[kk]] [18:02:44.071] NAME <- NAMES[[kk]] [18:02:44.071] if (name != NAME && is.element(NAME, old_names)) [18:02:44.071] next [18:02:44.071] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.071] } [18:02:44.071] if (length(args) > 0) [18:02:44.071] base::do.call(base::Sys.setenv, args = args) [18:02:44.071] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:44.071] } [18:02:44.071] else { [18:02:44.071] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:44.071] } [18:02:44.071] { [18:02:44.071] if (base::length(...future.futureOptionsAdded) > [18:02:44.071] 0L) { [18:02:44.071] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:44.071] base::names(opts) <- ...future.futureOptionsAdded [18:02:44.071] base::options(opts) [18:02:44.071] } [18:02:44.071] { [18:02:44.071] { [18:02:44.071] NULL [18:02:44.071] RNGkind("Mersenne-Twister") [18:02:44.071] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:44.071] inherits = FALSE) [18:02:44.071] } [18:02:44.071] options(future.plan = NULL) [18:02:44.071] if (is.na(NA_character_)) [18:02:44.071] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.071] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:44.071] future::plan(list(function (..., envir = parent.frame()) [18:02:44.071] { [18:02:44.071] future <- SequentialFuture(..., envir = envir) [18:02:44.071] if (!future$lazy) [18:02:44.071] future <- run(future) [18:02:44.071] invisible(future) [18:02:44.071] }), .cleanup = FALSE, .init = FALSE) [18:02:44.071] } [18:02:44.071] } [18:02:44.071] } [18:02:44.071] }) [18:02:44.071] if (TRUE) { [18:02:44.071] base::sink(type = "output", split = FALSE) [18:02:44.071] if (TRUE) { [18:02:44.071] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:44.071] } [18:02:44.071] else { [18:02:44.071] ...future.result["stdout"] <- base::list(NULL) [18:02:44.071] } [18:02:44.071] base::close(...future.stdout) [18:02:44.071] ...future.stdout <- NULL [18:02:44.071] } [18:02:44.071] ...future.result$conditions <- ...future.conditions [18:02:44.071] ...future.result$finished <- base::Sys.time() [18:02:44.071] ...future.result [18:02:44.071] } [18:02:44.075] plan(): Setting new future strategy stack: [18:02:44.075] List of future strategies: [18:02:44.075] 1. sequential: [18:02:44.075] - args: function (..., envir = parent.frame()) [18:02:44.075] - tweaked: FALSE [18:02:44.075] - call: NULL [18:02:44.076] plan(): nbrOfWorkers() = 1 [18:02:44.077] plan(): Setting new future strategy stack: [18:02:44.077] List of future strategies: [18:02:44.077] 1. sequential: [18:02:44.077] - args: function (..., envir = parent.frame()) [18:02:44.077] - tweaked: FALSE [18:02:44.077] - call: plan(strategy) [18:02:44.077] plan(): nbrOfWorkers() = 1 [18:02:44.078] SequentialFuture started (and completed) [18:02:44.078] - Launch lazy future ... done [18:02:44.078] run() for 'SequentialFuture' ... done [18:02:44.078] getGlobalsAndPackages() ... [18:02:44.079] Searching for globals... [18:02:44.079] - globals found: [1] '{' [18:02:44.079] Searching for globals ... DONE [18:02:44.080] Resolving globals: FALSE [18:02:44.080] [18:02:44.080] [18:02:44.081] getGlobalsAndPackages() ... DONE [18:02:44.082] run() for 'Future' ... [18:02:44.082] - state: 'created' [18:02:44.082] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:44.082] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:44.083] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:44.083] - Field: 'label' [18:02:44.083] - Field: 'local' [18:02:44.083] - Field: 'owner' [18:02:44.084] - Field: 'envir' [18:02:44.084] - Field: 'packages' [18:02:44.084] - Field: 'gc' [18:02:44.084] - Field: 'conditions' [18:02:44.084] - Field: 'expr' [18:02:44.084] - Field: 'uuid' [18:02:44.085] - Field: 'seed' [18:02:44.085] - Field: 'version' [18:02:44.085] - Field: 'result' [18:02:44.085] - Field: 'asynchronous' [18:02:44.085] - Field: 'calls' [18:02:44.085] - Field: 'globals' [18:02:44.086] - Field: 'stdout' [18:02:44.086] - Field: 'earlySignal' [18:02:44.086] - Field: 'lazy' [18:02:44.086] - Field: 'state' [18:02:44.086] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:44.086] - Launch lazy future ... [18:02:44.087] Packages needed by the future expression (n = 0): [18:02:44.087] Packages needed by future strategies (n = 0): [18:02:44.087] { [18:02:44.087] { [18:02:44.087] { [18:02:44.087] ...future.startTime <- base::Sys.time() [18:02:44.087] { [18:02:44.087] { [18:02:44.087] { [18:02:44.087] base::local({ [18:02:44.087] has_future <- base::requireNamespace("future", [18:02:44.087] quietly = TRUE) [18:02:44.087] if (has_future) { [18:02:44.087] ns <- base::getNamespace("future") [18:02:44.087] version <- ns[[".package"]][["version"]] [18:02:44.087] if (is.null(version)) [18:02:44.087] version <- utils::packageVersion("future") [18:02:44.087] } [18:02:44.087] else { [18:02:44.087] version <- NULL [18:02:44.087] } [18:02:44.087] if (!has_future || version < "1.8.0") { [18:02:44.087] info <- base::c(r_version = base::gsub("R version ", [18:02:44.087] "", base::R.version$version.string), [18:02:44.087] platform = base::sprintf("%s (%s-bit)", [18:02:44.087] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:44.087] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:44.087] "release", "version")], collapse = " "), [18:02:44.087] hostname = base::Sys.info()[["nodename"]]) [18:02:44.087] info <- base::sprintf("%s: %s", base::names(info), [18:02:44.087] info) [18:02:44.087] info <- base::paste(info, collapse = "; ") [18:02:44.087] if (!has_future) { [18:02:44.087] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:44.087] info) [18:02:44.087] } [18:02:44.087] else { [18:02:44.087] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:44.087] info, version) [18:02:44.087] } [18:02:44.087] base::stop(msg) [18:02:44.087] } [18:02:44.087] }) [18:02:44.087] } [18:02:44.087] options(future.plan = NULL) [18:02:44.087] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.087] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:44.087] } [18:02:44.087] ...future.workdir <- getwd() [18:02:44.087] } [18:02:44.087] ...future.oldOptions <- base::as.list(base::.Options) [18:02:44.087] ...future.oldEnvVars <- base::Sys.getenv() [18:02:44.087] } [18:02:44.087] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:44.087] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:44.087] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:44.087] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:44.087] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:44.087] future.stdout.windows.reencode = NULL, width = 80L) [18:02:44.087] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:44.087] base::names(...future.oldOptions)) [18:02:44.087] } [18:02:44.087] if (FALSE) { [18:02:44.087] } [18:02:44.087] else { [18:02:44.087] if (TRUE) { [18:02:44.087] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:44.087] open = "w") [18:02:44.087] } [18:02:44.087] else { [18:02:44.087] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:44.087] windows = "NUL", "/dev/null"), open = "w") [18:02:44.087] } [18:02:44.087] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:44.087] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:44.087] base::sink(type = "output", split = FALSE) [18:02:44.087] base::close(...future.stdout) [18:02:44.087] }, add = TRUE) [18:02:44.087] } [18:02:44.087] ...future.frame <- base::sys.nframe() [18:02:44.087] ...future.conditions <- base::list() [18:02:44.087] ...future.rng <- base::globalenv()$.Random.seed [18:02:44.087] if (FALSE) { [18:02:44.087] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:44.087] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:44.087] } [18:02:44.087] ...future.result <- base::tryCatch({ [18:02:44.087] base::withCallingHandlers({ [18:02:44.087] ...future.value <- base::withVisible(base::local({ [18:02:44.087] 2 [18:02:44.087] })) [18:02:44.087] future::FutureResult(value = ...future.value$value, [18:02:44.087] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.087] ...future.rng), globalenv = if (FALSE) [18:02:44.087] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:44.087] ...future.globalenv.names)) [18:02:44.087] else NULL, started = ...future.startTime, version = "1.8") [18:02:44.087] }, condition = base::local({ [18:02:44.087] c <- base::c [18:02:44.087] inherits <- base::inherits [18:02:44.087] invokeRestart <- base::invokeRestart [18:02:44.087] length <- base::length [18:02:44.087] list <- base::list [18:02:44.087] seq.int <- base::seq.int [18:02:44.087] signalCondition <- base::signalCondition [18:02:44.087] sys.calls <- base::sys.calls [18:02:44.087] `[[` <- base::`[[` [18:02:44.087] `+` <- base::`+` [18:02:44.087] `<<-` <- base::`<<-` [18:02:44.087] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:44.087] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:44.087] 3L)] [18:02:44.087] } [18:02:44.087] function(cond) { [18:02:44.087] is_error <- inherits(cond, "error") [18:02:44.087] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:44.087] NULL) [18:02:44.087] if (is_error) { [18:02:44.087] sessionInformation <- function() { [18:02:44.087] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:44.087] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:44.087] search = base::search(), system = base::Sys.info()) [18:02:44.087] } [18:02:44.087] ...future.conditions[[length(...future.conditions) + [18:02:44.087] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:44.087] cond$call), session = sessionInformation(), [18:02:44.087] timestamp = base::Sys.time(), signaled = 0L) [18:02:44.087] signalCondition(cond) [18:02:44.087] } [18:02:44.087] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:44.087] "immediateCondition"))) { [18:02:44.087] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:44.087] ...future.conditions[[length(...future.conditions) + [18:02:44.087] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:44.087] if (TRUE && !signal) { [18:02:44.087] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.087] { [18:02:44.087] inherits <- base::inherits [18:02:44.087] invokeRestart <- base::invokeRestart [18:02:44.087] is.null <- base::is.null [18:02:44.087] muffled <- FALSE [18:02:44.087] if (inherits(cond, "message")) { [18:02:44.087] muffled <- grepl(pattern, "muffleMessage") [18:02:44.087] if (muffled) [18:02:44.087] invokeRestart("muffleMessage") [18:02:44.087] } [18:02:44.087] else if (inherits(cond, "warning")) { [18:02:44.087] muffled <- grepl(pattern, "muffleWarning") [18:02:44.087] if (muffled) [18:02:44.087] invokeRestart("muffleWarning") [18:02:44.087] } [18:02:44.087] else if (inherits(cond, "condition")) { [18:02:44.087] if (!is.null(pattern)) { [18:02:44.087] computeRestarts <- base::computeRestarts [18:02:44.087] grepl <- base::grepl [18:02:44.087] restarts <- computeRestarts(cond) [18:02:44.087] for (restart in restarts) { [18:02:44.087] name <- restart$name [18:02:44.087] if (is.null(name)) [18:02:44.087] next [18:02:44.087] if (!grepl(pattern, name)) [18:02:44.087] next [18:02:44.087] invokeRestart(restart) [18:02:44.087] muffled <- TRUE [18:02:44.087] break [18:02:44.087] } [18:02:44.087] } [18:02:44.087] } [18:02:44.087] invisible(muffled) [18:02:44.087] } [18:02:44.087] muffleCondition(cond, pattern = "^muffle") [18:02:44.087] } [18:02:44.087] } [18:02:44.087] else { [18:02:44.087] if (TRUE) { [18:02:44.087] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.087] { [18:02:44.087] inherits <- base::inherits [18:02:44.087] invokeRestart <- base::invokeRestart [18:02:44.087] is.null <- base::is.null [18:02:44.087] muffled <- FALSE [18:02:44.087] if (inherits(cond, "message")) { [18:02:44.087] muffled <- grepl(pattern, "muffleMessage") [18:02:44.087] if (muffled) [18:02:44.087] invokeRestart("muffleMessage") [18:02:44.087] } [18:02:44.087] else if (inherits(cond, "warning")) { [18:02:44.087] muffled <- grepl(pattern, "muffleWarning") [18:02:44.087] if (muffled) [18:02:44.087] invokeRestart("muffleWarning") [18:02:44.087] } [18:02:44.087] else if (inherits(cond, "condition")) { [18:02:44.087] if (!is.null(pattern)) { [18:02:44.087] computeRestarts <- base::computeRestarts [18:02:44.087] grepl <- base::grepl [18:02:44.087] restarts <- computeRestarts(cond) [18:02:44.087] for (restart in restarts) { [18:02:44.087] name <- restart$name [18:02:44.087] if (is.null(name)) [18:02:44.087] next [18:02:44.087] if (!grepl(pattern, name)) [18:02:44.087] next [18:02:44.087] invokeRestart(restart) [18:02:44.087] muffled <- TRUE [18:02:44.087] break [18:02:44.087] } [18:02:44.087] } [18:02:44.087] } [18:02:44.087] invisible(muffled) [18:02:44.087] } [18:02:44.087] muffleCondition(cond, pattern = "^muffle") [18:02:44.087] } [18:02:44.087] } [18:02:44.087] } [18:02:44.087] })) [18:02:44.087] }, error = function(ex) { [18:02:44.087] base::structure(base::list(value = NULL, visible = NULL, [18:02:44.087] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.087] ...future.rng), started = ...future.startTime, [18:02:44.087] finished = Sys.time(), session_uuid = NA_character_, [18:02:44.087] version = "1.8"), class = "FutureResult") [18:02:44.087] }, finally = { [18:02:44.087] if (!identical(...future.workdir, getwd())) [18:02:44.087] setwd(...future.workdir) [18:02:44.087] { [18:02:44.087] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:44.087] ...future.oldOptions$nwarnings <- NULL [18:02:44.087] } [18:02:44.087] base::options(...future.oldOptions) [18:02:44.087] if (.Platform$OS.type == "windows") { [18:02:44.087] old_names <- names(...future.oldEnvVars) [18:02:44.087] envs <- base::Sys.getenv() [18:02:44.087] names <- names(envs) [18:02:44.087] common <- intersect(names, old_names) [18:02:44.087] added <- setdiff(names, old_names) [18:02:44.087] removed <- setdiff(old_names, names) [18:02:44.087] changed <- common[...future.oldEnvVars[common] != [18:02:44.087] envs[common]] [18:02:44.087] NAMES <- toupper(changed) [18:02:44.087] args <- list() [18:02:44.087] for (kk in seq_along(NAMES)) { [18:02:44.087] name <- changed[[kk]] [18:02:44.087] NAME <- NAMES[[kk]] [18:02:44.087] if (name != NAME && is.element(NAME, old_names)) [18:02:44.087] next [18:02:44.087] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.087] } [18:02:44.087] NAMES <- toupper(added) [18:02:44.087] for (kk in seq_along(NAMES)) { [18:02:44.087] name <- added[[kk]] [18:02:44.087] NAME <- NAMES[[kk]] [18:02:44.087] if (name != NAME && is.element(NAME, old_names)) [18:02:44.087] next [18:02:44.087] args[[name]] <- "" [18:02:44.087] } [18:02:44.087] NAMES <- toupper(removed) [18:02:44.087] for (kk in seq_along(NAMES)) { [18:02:44.087] name <- removed[[kk]] [18:02:44.087] NAME <- NAMES[[kk]] [18:02:44.087] if (name != NAME && is.element(NAME, old_names)) [18:02:44.087] next [18:02:44.087] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.087] } [18:02:44.087] if (length(args) > 0) [18:02:44.087] base::do.call(base::Sys.setenv, args = args) [18:02:44.087] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:44.087] } [18:02:44.087] else { [18:02:44.087] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:44.087] } [18:02:44.087] { [18:02:44.087] if (base::length(...future.futureOptionsAdded) > [18:02:44.087] 0L) { [18:02:44.087] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:44.087] base::names(opts) <- ...future.futureOptionsAdded [18:02:44.087] base::options(opts) [18:02:44.087] } [18:02:44.087] { [18:02:44.087] { [18:02:44.087] NULL [18:02:44.087] RNGkind("Mersenne-Twister") [18:02:44.087] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:44.087] inherits = FALSE) [18:02:44.087] } [18:02:44.087] options(future.plan = NULL) [18:02:44.087] if (is.na(NA_character_)) [18:02:44.087] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.087] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:44.087] future::plan(list(function (..., envir = parent.frame()) [18:02:44.087] { [18:02:44.087] future <- SequentialFuture(..., envir = envir) [18:02:44.087] if (!future$lazy) [18:02:44.087] future <- run(future) [18:02:44.087] invisible(future) [18:02:44.087] }), .cleanup = FALSE, .init = FALSE) [18:02:44.087] } [18:02:44.087] } [18:02:44.087] } [18:02:44.087] }) [18:02:44.087] if (TRUE) { [18:02:44.087] base::sink(type = "output", split = FALSE) [18:02:44.087] if (TRUE) { [18:02:44.087] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:44.087] } [18:02:44.087] else { [18:02:44.087] ...future.result["stdout"] <- base::list(NULL) [18:02:44.087] } [18:02:44.087] base::close(...future.stdout) [18:02:44.087] ...future.stdout <- NULL [18:02:44.087] } [18:02:44.087] ...future.result$conditions <- ...future.conditions [18:02:44.087] ...future.result$finished <- base::Sys.time() [18:02:44.087] ...future.result [18:02:44.087] } [18:02:44.091] plan(): Setting new future strategy stack: [18:02:44.092] List of future strategies: [18:02:44.092] 1. sequential: [18:02:44.092] - args: function (..., envir = parent.frame()) [18:02:44.092] - tweaked: FALSE [18:02:44.092] - call: NULL [18:02:44.092] plan(): nbrOfWorkers() = 1 [18:02:44.093] plan(): Setting new future strategy stack: [18:02:44.093] List of future strategies: [18:02:44.093] 1. sequential: [18:02:44.093] - args: function (..., envir = parent.frame()) [18:02:44.093] - tweaked: FALSE [18:02:44.093] - call: plan(strategy) [18:02:44.094] plan(): nbrOfWorkers() = 1 [18:02:44.094] SequentialFuture started (and completed) [18:02:44.094] - Launch lazy future ... done [18:02:44.094] run() for 'SequentialFuture' ... done [18:02:44.095] resolve() on list environment ... [18:02:44.095] recursive: 0 [18:02:44.096] length: 3 [18:02:44.096] elements: 'a', 'b', 'c' [18:02:44.096] resolved() for 'SequentialFuture' ... [18:02:44.096] - state: 'finished' [18:02:44.097] - run: TRUE [18:02:44.097] - result: 'FutureResult' [18:02:44.097] resolved() for 'SequentialFuture' ... done [18:02:44.097] Future #1 [18:02:44.097] length: 2 (resolved future 1) [18:02:44.098] resolved() for 'SequentialFuture' ... [18:02:44.098] - state: 'finished' [18:02:44.098] - run: TRUE [18:02:44.098] - result: 'FutureResult' [18:02:44.098] resolved() for 'SequentialFuture' ... done [18:02:44.098] Future #2 [18:02:44.099] length: 1 (resolved future 2) [18:02:44.099] length: 0 (resolved future 3) [18:02:44.099] resolve() on list environment ... DONE [18:02:44.100] getGlobalsAndPackages() ... [18:02:44.100] Searching for globals... [18:02:44.100] - globals found: [1] '{' [18:02:44.101] Searching for globals ... DONE [18:02:44.101] Resolving globals: FALSE [18:02:44.101] [18:02:44.101] [18:02:44.101] getGlobalsAndPackages() ... DONE [18:02:44.102] run() for 'Future' ... [18:02:44.102] - state: 'created' [18:02:44.102] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:44.102] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:44.103] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:44.103] - Field: 'label' [18:02:44.103] - Field: 'local' [18:02:44.103] - Field: 'owner' [18:02:44.103] - Field: 'envir' [18:02:44.104] - Field: 'packages' [18:02:44.104] - Field: 'gc' [18:02:44.104] - Field: 'conditions' [18:02:44.104] - Field: 'expr' [18:02:44.104] - Field: 'uuid' [18:02:44.104] - Field: 'seed' [18:02:44.105] - Field: 'version' [18:02:44.105] - Field: 'result' [18:02:44.105] - Field: 'asynchronous' [18:02:44.105] - Field: 'calls' [18:02:44.105] - Field: 'globals' [18:02:44.105] - Field: 'stdout' [18:02:44.106] - Field: 'earlySignal' [18:02:44.106] - Field: 'lazy' [18:02:44.106] - Field: 'state' [18:02:44.106] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:44.106] - Launch lazy future ... [18:02:44.107] Packages needed by the future expression (n = 0): [18:02:44.107] Packages needed by future strategies (n = 0): [18:02:44.107] { [18:02:44.107] { [18:02:44.107] { [18:02:44.107] ...future.startTime <- base::Sys.time() [18:02:44.107] { [18:02:44.107] { [18:02:44.107] { [18:02:44.107] base::local({ [18:02:44.107] has_future <- base::requireNamespace("future", [18:02:44.107] quietly = TRUE) [18:02:44.107] if (has_future) { [18:02:44.107] ns <- base::getNamespace("future") [18:02:44.107] version <- ns[[".package"]][["version"]] [18:02:44.107] if (is.null(version)) [18:02:44.107] version <- utils::packageVersion("future") [18:02:44.107] } [18:02:44.107] else { [18:02:44.107] version <- NULL [18:02:44.107] } [18:02:44.107] if (!has_future || version < "1.8.0") { [18:02:44.107] info <- base::c(r_version = base::gsub("R version ", [18:02:44.107] "", base::R.version$version.string), [18:02:44.107] platform = base::sprintf("%s (%s-bit)", [18:02:44.107] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:44.107] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:44.107] "release", "version")], collapse = " "), [18:02:44.107] hostname = base::Sys.info()[["nodename"]]) [18:02:44.107] info <- base::sprintf("%s: %s", base::names(info), [18:02:44.107] info) [18:02:44.107] info <- base::paste(info, collapse = "; ") [18:02:44.107] if (!has_future) { [18:02:44.107] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:44.107] info) [18:02:44.107] } [18:02:44.107] else { [18:02:44.107] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:44.107] info, version) [18:02:44.107] } [18:02:44.107] base::stop(msg) [18:02:44.107] } [18:02:44.107] }) [18:02:44.107] } [18:02:44.107] options(future.plan = NULL) [18:02:44.107] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.107] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:44.107] } [18:02:44.107] ...future.workdir <- getwd() [18:02:44.107] } [18:02:44.107] ...future.oldOptions <- base::as.list(base::.Options) [18:02:44.107] ...future.oldEnvVars <- base::Sys.getenv() [18:02:44.107] } [18:02:44.107] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:44.107] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:44.107] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:44.107] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:44.107] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:44.107] future.stdout.windows.reencode = NULL, width = 80L) [18:02:44.107] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:44.107] base::names(...future.oldOptions)) [18:02:44.107] } [18:02:44.107] if (FALSE) { [18:02:44.107] } [18:02:44.107] else { [18:02:44.107] if (TRUE) { [18:02:44.107] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:44.107] open = "w") [18:02:44.107] } [18:02:44.107] else { [18:02:44.107] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:44.107] windows = "NUL", "/dev/null"), open = "w") [18:02:44.107] } [18:02:44.107] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:44.107] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:44.107] base::sink(type = "output", split = FALSE) [18:02:44.107] base::close(...future.stdout) [18:02:44.107] }, add = TRUE) [18:02:44.107] } [18:02:44.107] ...future.frame <- base::sys.nframe() [18:02:44.107] ...future.conditions <- base::list() [18:02:44.107] ...future.rng <- base::globalenv()$.Random.seed [18:02:44.107] if (FALSE) { [18:02:44.107] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:44.107] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:44.107] } [18:02:44.107] ...future.result <- base::tryCatch({ [18:02:44.107] base::withCallingHandlers({ [18:02:44.107] ...future.value <- base::withVisible(base::local({ [18:02:44.107] 1 [18:02:44.107] })) [18:02:44.107] future::FutureResult(value = ...future.value$value, [18:02:44.107] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.107] ...future.rng), globalenv = if (FALSE) [18:02:44.107] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:44.107] ...future.globalenv.names)) [18:02:44.107] else NULL, started = ...future.startTime, version = "1.8") [18:02:44.107] }, condition = base::local({ [18:02:44.107] c <- base::c [18:02:44.107] inherits <- base::inherits [18:02:44.107] invokeRestart <- base::invokeRestart [18:02:44.107] length <- base::length [18:02:44.107] list <- base::list [18:02:44.107] seq.int <- base::seq.int [18:02:44.107] signalCondition <- base::signalCondition [18:02:44.107] sys.calls <- base::sys.calls [18:02:44.107] `[[` <- base::`[[` [18:02:44.107] `+` <- base::`+` [18:02:44.107] `<<-` <- base::`<<-` [18:02:44.107] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:44.107] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:44.107] 3L)] [18:02:44.107] } [18:02:44.107] function(cond) { [18:02:44.107] is_error <- inherits(cond, "error") [18:02:44.107] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:44.107] NULL) [18:02:44.107] if (is_error) { [18:02:44.107] sessionInformation <- function() { [18:02:44.107] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:44.107] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:44.107] search = base::search(), system = base::Sys.info()) [18:02:44.107] } [18:02:44.107] ...future.conditions[[length(...future.conditions) + [18:02:44.107] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:44.107] cond$call), session = sessionInformation(), [18:02:44.107] timestamp = base::Sys.time(), signaled = 0L) [18:02:44.107] signalCondition(cond) [18:02:44.107] } [18:02:44.107] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:44.107] "immediateCondition"))) { [18:02:44.107] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:44.107] ...future.conditions[[length(...future.conditions) + [18:02:44.107] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:44.107] if (TRUE && !signal) { [18:02:44.107] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.107] { [18:02:44.107] inherits <- base::inherits [18:02:44.107] invokeRestart <- base::invokeRestart [18:02:44.107] is.null <- base::is.null [18:02:44.107] muffled <- FALSE [18:02:44.107] if (inherits(cond, "message")) { [18:02:44.107] muffled <- grepl(pattern, "muffleMessage") [18:02:44.107] if (muffled) [18:02:44.107] invokeRestart("muffleMessage") [18:02:44.107] } [18:02:44.107] else if (inherits(cond, "warning")) { [18:02:44.107] muffled <- grepl(pattern, "muffleWarning") [18:02:44.107] if (muffled) [18:02:44.107] invokeRestart("muffleWarning") [18:02:44.107] } [18:02:44.107] else if (inherits(cond, "condition")) { [18:02:44.107] if (!is.null(pattern)) { [18:02:44.107] computeRestarts <- base::computeRestarts [18:02:44.107] grepl <- base::grepl [18:02:44.107] restarts <- computeRestarts(cond) [18:02:44.107] for (restart in restarts) { [18:02:44.107] name <- restart$name [18:02:44.107] if (is.null(name)) [18:02:44.107] next [18:02:44.107] if (!grepl(pattern, name)) [18:02:44.107] next [18:02:44.107] invokeRestart(restart) [18:02:44.107] muffled <- TRUE [18:02:44.107] break [18:02:44.107] } [18:02:44.107] } [18:02:44.107] } [18:02:44.107] invisible(muffled) [18:02:44.107] } [18:02:44.107] muffleCondition(cond, pattern = "^muffle") [18:02:44.107] } [18:02:44.107] } [18:02:44.107] else { [18:02:44.107] if (TRUE) { [18:02:44.107] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.107] { [18:02:44.107] inherits <- base::inherits [18:02:44.107] invokeRestart <- base::invokeRestart [18:02:44.107] is.null <- base::is.null [18:02:44.107] muffled <- FALSE [18:02:44.107] if (inherits(cond, "message")) { [18:02:44.107] muffled <- grepl(pattern, "muffleMessage") [18:02:44.107] if (muffled) [18:02:44.107] invokeRestart("muffleMessage") [18:02:44.107] } [18:02:44.107] else if (inherits(cond, "warning")) { [18:02:44.107] muffled <- grepl(pattern, "muffleWarning") [18:02:44.107] if (muffled) [18:02:44.107] invokeRestart("muffleWarning") [18:02:44.107] } [18:02:44.107] else if (inherits(cond, "condition")) { [18:02:44.107] if (!is.null(pattern)) { [18:02:44.107] computeRestarts <- base::computeRestarts [18:02:44.107] grepl <- base::grepl [18:02:44.107] restarts <- computeRestarts(cond) [18:02:44.107] for (restart in restarts) { [18:02:44.107] name <- restart$name [18:02:44.107] if (is.null(name)) [18:02:44.107] next [18:02:44.107] if (!grepl(pattern, name)) [18:02:44.107] next [18:02:44.107] invokeRestart(restart) [18:02:44.107] muffled <- TRUE [18:02:44.107] break [18:02:44.107] } [18:02:44.107] } [18:02:44.107] } [18:02:44.107] invisible(muffled) [18:02:44.107] } [18:02:44.107] muffleCondition(cond, pattern = "^muffle") [18:02:44.107] } [18:02:44.107] } [18:02:44.107] } [18:02:44.107] })) [18:02:44.107] }, error = function(ex) { [18:02:44.107] base::structure(base::list(value = NULL, visible = NULL, [18:02:44.107] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.107] ...future.rng), started = ...future.startTime, [18:02:44.107] finished = Sys.time(), session_uuid = NA_character_, [18:02:44.107] version = "1.8"), class = "FutureResult") [18:02:44.107] }, finally = { [18:02:44.107] if (!identical(...future.workdir, getwd())) [18:02:44.107] setwd(...future.workdir) [18:02:44.107] { [18:02:44.107] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:44.107] ...future.oldOptions$nwarnings <- NULL [18:02:44.107] } [18:02:44.107] base::options(...future.oldOptions) [18:02:44.107] if (.Platform$OS.type == "windows") { [18:02:44.107] old_names <- names(...future.oldEnvVars) [18:02:44.107] envs <- base::Sys.getenv() [18:02:44.107] names <- names(envs) [18:02:44.107] common <- intersect(names, old_names) [18:02:44.107] added <- setdiff(names, old_names) [18:02:44.107] removed <- setdiff(old_names, names) [18:02:44.107] changed <- common[...future.oldEnvVars[common] != [18:02:44.107] envs[common]] [18:02:44.107] NAMES <- toupper(changed) [18:02:44.107] args <- list() [18:02:44.107] for (kk in seq_along(NAMES)) { [18:02:44.107] name <- changed[[kk]] [18:02:44.107] NAME <- NAMES[[kk]] [18:02:44.107] if (name != NAME && is.element(NAME, old_names)) [18:02:44.107] next [18:02:44.107] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.107] } [18:02:44.107] NAMES <- toupper(added) [18:02:44.107] for (kk in seq_along(NAMES)) { [18:02:44.107] name <- added[[kk]] [18:02:44.107] NAME <- NAMES[[kk]] [18:02:44.107] if (name != NAME && is.element(NAME, old_names)) [18:02:44.107] next [18:02:44.107] args[[name]] <- "" [18:02:44.107] } [18:02:44.107] NAMES <- toupper(removed) [18:02:44.107] for (kk in seq_along(NAMES)) { [18:02:44.107] name <- removed[[kk]] [18:02:44.107] NAME <- NAMES[[kk]] [18:02:44.107] if (name != NAME && is.element(NAME, old_names)) [18:02:44.107] next [18:02:44.107] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.107] } [18:02:44.107] if (length(args) > 0) [18:02:44.107] base::do.call(base::Sys.setenv, args = args) [18:02:44.107] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:44.107] } [18:02:44.107] else { [18:02:44.107] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:44.107] } [18:02:44.107] { [18:02:44.107] if (base::length(...future.futureOptionsAdded) > [18:02:44.107] 0L) { [18:02:44.107] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:44.107] base::names(opts) <- ...future.futureOptionsAdded [18:02:44.107] base::options(opts) [18:02:44.107] } [18:02:44.107] { [18:02:44.107] { [18:02:44.107] NULL [18:02:44.107] RNGkind("Mersenne-Twister") [18:02:44.107] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:44.107] inherits = FALSE) [18:02:44.107] } [18:02:44.107] options(future.plan = NULL) [18:02:44.107] if (is.na(NA_character_)) [18:02:44.107] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.107] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:44.107] future::plan(list(function (..., envir = parent.frame()) [18:02:44.107] { [18:02:44.107] future <- SequentialFuture(..., envir = envir) [18:02:44.107] if (!future$lazy) [18:02:44.107] future <- run(future) [18:02:44.107] invisible(future) [18:02:44.107] }), .cleanup = FALSE, .init = FALSE) [18:02:44.107] } [18:02:44.107] } [18:02:44.107] } [18:02:44.107] }) [18:02:44.107] if (TRUE) { [18:02:44.107] base::sink(type = "output", split = FALSE) [18:02:44.107] if (TRUE) { [18:02:44.107] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:44.107] } [18:02:44.107] else { [18:02:44.107] ...future.result["stdout"] <- base::list(NULL) [18:02:44.107] } [18:02:44.107] base::close(...future.stdout) [18:02:44.107] ...future.stdout <- NULL [18:02:44.107] } [18:02:44.107] ...future.result$conditions <- ...future.conditions [18:02:44.107] ...future.result$finished <- base::Sys.time() [18:02:44.107] ...future.result [18:02:44.107] } [18:02:44.111] plan(): Setting new future strategy stack: [18:02:44.112] List of future strategies: [18:02:44.112] 1. sequential: [18:02:44.112] - args: function (..., envir = parent.frame()) [18:02:44.112] - tweaked: FALSE [18:02:44.112] - call: NULL [18:02:44.112] plan(): nbrOfWorkers() = 1 [18:02:44.113] plan(): Setting new future strategy stack: [18:02:44.113] List of future strategies: [18:02:44.113] 1. sequential: [18:02:44.113] - args: function (..., envir = parent.frame()) [18:02:44.113] - tweaked: FALSE [18:02:44.113] - call: plan(strategy) [18:02:44.114] plan(): nbrOfWorkers() = 1 [18:02:44.114] SequentialFuture started (and completed) [18:02:44.114] - Launch lazy future ... done [18:02:44.114] run() for 'SequentialFuture' ... done [18:02:44.115] getGlobalsAndPackages() ... [18:02:44.115] Searching for globals... [18:02:44.116] - globals found: [2] '{', 'Sys.sleep' [18:02:44.116] Searching for globals ... DONE [18:02:44.117] Resolving globals: FALSE [18:02:44.117] [18:02:44.117] [18:02:44.117] getGlobalsAndPackages() ... DONE [18:02:44.118] run() for 'Future' ... [18:02:44.118] - state: 'created' [18:02:44.118] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:44.118] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:44.119] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:44.167] - Field: 'label' [18:02:44.167] - Field: 'local' [18:02:44.168] - Field: 'owner' [18:02:44.168] - Field: 'envir' [18:02:44.168] - Field: 'packages' [18:02:44.168] - Field: 'gc' [18:02:44.169] - Field: 'conditions' [18:02:44.169] - Field: 'expr' [18:02:44.169] - Field: 'uuid' [18:02:44.169] - Field: 'seed' [18:02:44.169] - Field: 'version' [18:02:44.170] - Field: 'result' [18:02:44.170] - Field: 'asynchronous' [18:02:44.170] - Field: 'calls' [18:02:44.170] - Field: 'globals' [18:02:44.171] - Field: 'stdout' [18:02:44.171] - Field: 'earlySignal' [18:02:44.171] - Field: 'lazy' [18:02:44.171] - Field: 'state' [18:02:44.171] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:44.172] - Launch lazy future ... [18:02:44.172] Packages needed by the future expression (n = 0): [18:02:44.172] Packages needed by future strategies (n = 0): [18:02:44.173] { [18:02:44.173] { [18:02:44.173] { [18:02:44.173] ...future.startTime <- base::Sys.time() [18:02:44.173] { [18:02:44.173] { [18:02:44.173] { [18:02:44.173] base::local({ [18:02:44.173] has_future <- base::requireNamespace("future", [18:02:44.173] quietly = TRUE) [18:02:44.173] if (has_future) { [18:02:44.173] ns <- base::getNamespace("future") [18:02:44.173] version <- ns[[".package"]][["version"]] [18:02:44.173] if (is.null(version)) [18:02:44.173] version <- utils::packageVersion("future") [18:02:44.173] } [18:02:44.173] else { [18:02:44.173] version <- NULL [18:02:44.173] } [18:02:44.173] if (!has_future || version < "1.8.0") { [18:02:44.173] info <- base::c(r_version = base::gsub("R version ", [18:02:44.173] "", base::R.version$version.string), [18:02:44.173] platform = base::sprintf("%s (%s-bit)", [18:02:44.173] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:44.173] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:44.173] "release", "version")], collapse = " "), [18:02:44.173] hostname = base::Sys.info()[["nodename"]]) [18:02:44.173] info <- base::sprintf("%s: %s", base::names(info), [18:02:44.173] info) [18:02:44.173] info <- base::paste(info, collapse = "; ") [18:02:44.173] if (!has_future) { [18:02:44.173] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:44.173] info) [18:02:44.173] } [18:02:44.173] else { [18:02:44.173] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:44.173] info, version) [18:02:44.173] } [18:02:44.173] base::stop(msg) [18:02:44.173] } [18:02:44.173] }) [18:02:44.173] } [18:02:44.173] options(future.plan = NULL) [18:02:44.173] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.173] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:44.173] } [18:02:44.173] ...future.workdir <- getwd() [18:02:44.173] } [18:02:44.173] ...future.oldOptions <- base::as.list(base::.Options) [18:02:44.173] ...future.oldEnvVars <- base::Sys.getenv() [18:02:44.173] } [18:02:44.173] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:44.173] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:44.173] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:44.173] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:44.173] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:44.173] future.stdout.windows.reencode = NULL, width = 80L) [18:02:44.173] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:44.173] base::names(...future.oldOptions)) [18:02:44.173] } [18:02:44.173] if (FALSE) { [18:02:44.173] } [18:02:44.173] else { [18:02:44.173] if (TRUE) { [18:02:44.173] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:44.173] open = "w") [18:02:44.173] } [18:02:44.173] else { [18:02:44.173] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:44.173] windows = "NUL", "/dev/null"), open = "w") [18:02:44.173] } [18:02:44.173] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:44.173] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:44.173] base::sink(type = "output", split = FALSE) [18:02:44.173] base::close(...future.stdout) [18:02:44.173] }, add = TRUE) [18:02:44.173] } [18:02:44.173] ...future.frame <- base::sys.nframe() [18:02:44.173] ...future.conditions <- base::list() [18:02:44.173] ...future.rng <- base::globalenv()$.Random.seed [18:02:44.173] if (FALSE) { [18:02:44.173] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:44.173] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:44.173] } [18:02:44.173] ...future.result <- base::tryCatch({ [18:02:44.173] base::withCallingHandlers({ [18:02:44.173] ...future.value <- base::withVisible(base::local({ [18:02:44.173] Sys.sleep(0.5) [18:02:44.173] 2 [18:02:44.173] })) [18:02:44.173] future::FutureResult(value = ...future.value$value, [18:02:44.173] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.173] ...future.rng), globalenv = if (FALSE) [18:02:44.173] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:44.173] ...future.globalenv.names)) [18:02:44.173] else NULL, started = ...future.startTime, version = "1.8") [18:02:44.173] }, condition = base::local({ [18:02:44.173] c <- base::c [18:02:44.173] inherits <- base::inherits [18:02:44.173] invokeRestart <- base::invokeRestart [18:02:44.173] length <- base::length [18:02:44.173] list <- base::list [18:02:44.173] seq.int <- base::seq.int [18:02:44.173] signalCondition <- base::signalCondition [18:02:44.173] sys.calls <- base::sys.calls [18:02:44.173] `[[` <- base::`[[` [18:02:44.173] `+` <- base::`+` [18:02:44.173] `<<-` <- base::`<<-` [18:02:44.173] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:44.173] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:44.173] 3L)] [18:02:44.173] } [18:02:44.173] function(cond) { [18:02:44.173] is_error <- inherits(cond, "error") [18:02:44.173] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:44.173] NULL) [18:02:44.173] if (is_error) { [18:02:44.173] sessionInformation <- function() { [18:02:44.173] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:44.173] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:44.173] search = base::search(), system = base::Sys.info()) [18:02:44.173] } [18:02:44.173] ...future.conditions[[length(...future.conditions) + [18:02:44.173] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:44.173] cond$call), session = sessionInformation(), [18:02:44.173] timestamp = base::Sys.time(), signaled = 0L) [18:02:44.173] signalCondition(cond) [18:02:44.173] } [18:02:44.173] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:44.173] "immediateCondition"))) { [18:02:44.173] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:44.173] ...future.conditions[[length(...future.conditions) + [18:02:44.173] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:44.173] if (TRUE && !signal) { [18:02:44.173] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.173] { [18:02:44.173] inherits <- base::inherits [18:02:44.173] invokeRestart <- base::invokeRestart [18:02:44.173] is.null <- base::is.null [18:02:44.173] muffled <- FALSE [18:02:44.173] if (inherits(cond, "message")) { [18:02:44.173] muffled <- grepl(pattern, "muffleMessage") [18:02:44.173] if (muffled) [18:02:44.173] invokeRestart("muffleMessage") [18:02:44.173] } [18:02:44.173] else if (inherits(cond, "warning")) { [18:02:44.173] muffled <- grepl(pattern, "muffleWarning") [18:02:44.173] if (muffled) [18:02:44.173] invokeRestart("muffleWarning") [18:02:44.173] } [18:02:44.173] else if (inherits(cond, "condition")) { [18:02:44.173] if (!is.null(pattern)) { [18:02:44.173] computeRestarts <- base::computeRestarts [18:02:44.173] grepl <- base::grepl [18:02:44.173] restarts <- computeRestarts(cond) [18:02:44.173] for (restart in restarts) { [18:02:44.173] name <- restart$name [18:02:44.173] if (is.null(name)) [18:02:44.173] next [18:02:44.173] if (!grepl(pattern, name)) [18:02:44.173] next [18:02:44.173] invokeRestart(restart) [18:02:44.173] muffled <- TRUE [18:02:44.173] break [18:02:44.173] } [18:02:44.173] } [18:02:44.173] } [18:02:44.173] invisible(muffled) [18:02:44.173] } [18:02:44.173] muffleCondition(cond, pattern = "^muffle") [18:02:44.173] } [18:02:44.173] } [18:02:44.173] else { [18:02:44.173] if (TRUE) { [18:02:44.173] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.173] { [18:02:44.173] inherits <- base::inherits [18:02:44.173] invokeRestart <- base::invokeRestart [18:02:44.173] is.null <- base::is.null [18:02:44.173] muffled <- FALSE [18:02:44.173] if (inherits(cond, "message")) { [18:02:44.173] muffled <- grepl(pattern, "muffleMessage") [18:02:44.173] if (muffled) [18:02:44.173] invokeRestart("muffleMessage") [18:02:44.173] } [18:02:44.173] else if (inherits(cond, "warning")) { [18:02:44.173] muffled <- grepl(pattern, "muffleWarning") [18:02:44.173] if (muffled) [18:02:44.173] invokeRestart("muffleWarning") [18:02:44.173] } [18:02:44.173] else if (inherits(cond, "condition")) { [18:02:44.173] if (!is.null(pattern)) { [18:02:44.173] computeRestarts <- base::computeRestarts [18:02:44.173] grepl <- base::grepl [18:02:44.173] restarts <- computeRestarts(cond) [18:02:44.173] for (restart in restarts) { [18:02:44.173] name <- restart$name [18:02:44.173] if (is.null(name)) [18:02:44.173] next [18:02:44.173] if (!grepl(pattern, name)) [18:02:44.173] next [18:02:44.173] invokeRestart(restart) [18:02:44.173] muffled <- TRUE [18:02:44.173] break [18:02:44.173] } [18:02:44.173] } [18:02:44.173] } [18:02:44.173] invisible(muffled) [18:02:44.173] } [18:02:44.173] muffleCondition(cond, pattern = "^muffle") [18:02:44.173] } [18:02:44.173] } [18:02:44.173] } [18:02:44.173] })) [18:02:44.173] }, error = function(ex) { [18:02:44.173] base::structure(base::list(value = NULL, visible = NULL, [18:02:44.173] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.173] ...future.rng), started = ...future.startTime, [18:02:44.173] finished = Sys.time(), session_uuid = NA_character_, [18:02:44.173] version = "1.8"), class = "FutureResult") [18:02:44.173] }, finally = { [18:02:44.173] if (!identical(...future.workdir, getwd())) [18:02:44.173] setwd(...future.workdir) [18:02:44.173] { [18:02:44.173] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:44.173] ...future.oldOptions$nwarnings <- NULL [18:02:44.173] } [18:02:44.173] base::options(...future.oldOptions) [18:02:44.173] if (.Platform$OS.type == "windows") { [18:02:44.173] old_names <- names(...future.oldEnvVars) [18:02:44.173] envs <- base::Sys.getenv() [18:02:44.173] names <- names(envs) [18:02:44.173] common <- intersect(names, old_names) [18:02:44.173] added <- setdiff(names, old_names) [18:02:44.173] removed <- setdiff(old_names, names) [18:02:44.173] changed <- common[...future.oldEnvVars[common] != [18:02:44.173] envs[common]] [18:02:44.173] NAMES <- toupper(changed) [18:02:44.173] args <- list() [18:02:44.173] for (kk in seq_along(NAMES)) { [18:02:44.173] name <- changed[[kk]] [18:02:44.173] NAME <- NAMES[[kk]] [18:02:44.173] if (name != NAME && is.element(NAME, old_names)) [18:02:44.173] next [18:02:44.173] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.173] } [18:02:44.173] NAMES <- toupper(added) [18:02:44.173] for (kk in seq_along(NAMES)) { [18:02:44.173] name <- added[[kk]] [18:02:44.173] NAME <- NAMES[[kk]] [18:02:44.173] if (name != NAME && is.element(NAME, old_names)) [18:02:44.173] next [18:02:44.173] args[[name]] <- "" [18:02:44.173] } [18:02:44.173] NAMES <- toupper(removed) [18:02:44.173] for (kk in seq_along(NAMES)) { [18:02:44.173] name <- removed[[kk]] [18:02:44.173] NAME <- NAMES[[kk]] [18:02:44.173] if (name != NAME && is.element(NAME, old_names)) [18:02:44.173] next [18:02:44.173] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.173] } [18:02:44.173] if (length(args) > 0) [18:02:44.173] base::do.call(base::Sys.setenv, args = args) [18:02:44.173] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:44.173] } [18:02:44.173] else { [18:02:44.173] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:44.173] } [18:02:44.173] { [18:02:44.173] if (base::length(...future.futureOptionsAdded) > [18:02:44.173] 0L) { [18:02:44.173] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:44.173] base::names(opts) <- ...future.futureOptionsAdded [18:02:44.173] base::options(opts) [18:02:44.173] } [18:02:44.173] { [18:02:44.173] { [18:02:44.173] NULL [18:02:44.173] RNGkind("Mersenne-Twister") [18:02:44.173] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:44.173] inherits = FALSE) [18:02:44.173] } [18:02:44.173] options(future.plan = NULL) [18:02:44.173] if (is.na(NA_character_)) [18:02:44.173] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.173] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:44.173] future::plan(list(function (..., envir = parent.frame()) [18:02:44.173] { [18:02:44.173] future <- SequentialFuture(..., envir = envir) [18:02:44.173] if (!future$lazy) [18:02:44.173] future <- run(future) [18:02:44.173] invisible(future) [18:02:44.173] }), .cleanup = FALSE, .init = FALSE) [18:02:44.173] } [18:02:44.173] } [18:02:44.173] } [18:02:44.173] }) [18:02:44.173] if (TRUE) { [18:02:44.173] base::sink(type = "output", split = FALSE) [18:02:44.173] if (TRUE) { [18:02:44.173] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:44.173] } [18:02:44.173] else { [18:02:44.173] ...future.result["stdout"] <- base::list(NULL) [18:02:44.173] } [18:02:44.173] base::close(...future.stdout) [18:02:44.173] ...future.stdout <- NULL [18:02:44.173] } [18:02:44.173] ...future.result$conditions <- ...future.conditions [18:02:44.173] ...future.result$finished <- base::Sys.time() [18:02:44.173] ...future.result [18:02:44.173] } [18:02:44.177] plan(): Setting new future strategy stack: [18:02:44.177] List of future strategies: [18:02:44.177] 1. sequential: [18:02:44.177] - args: function (..., envir = parent.frame()) [18:02:44.177] - tweaked: FALSE [18:02:44.177] - call: NULL [18:02:44.178] plan(): nbrOfWorkers() = 1 [18:02:44.685] plan(): Setting new future strategy stack: [18:02:44.685] List of future strategies: [18:02:44.685] 1. sequential: [18:02:44.685] - args: function (..., envir = parent.frame()) [18:02:44.685] - tweaked: FALSE [18:02:44.685] - call: plan(strategy) [18:02:44.686] plan(): nbrOfWorkers() = 1 [18:02:44.686] SequentialFuture started (and completed) [18:02:44.686] - Launch lazy future ... done [18:02:44.686] run() for 'SequentialFuture' ... done [18:02:44.687] getGlobalsAndPackages() ... [18:02:44.687] Searching for globals... [18:02:44.688] - globals found: [1] '{' [18:02:44.688] Searching for globals ... DONE [18:02:44.688] Resolving globals: FALSE [18:02:44.689] [18:02:44.689] [18:02:44.689] getGlobalsAndPackages() ... DONE [18:02:44.689] run() for 'Future' ... [18:02:44.690] - state: 'created' [18:02:44.690] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:02:44.690] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:02:44.690] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:02:44.691] - Field: 'label' [18:02:44.691] - Field: 'local' [18:02:44.691] - Field: 'owner' [18:02:44.691] - Field: 'envir' [18:02:44.691] - Field: 'packages' [18:02:44.691] - Field: 'gc' [18:02:44.692] - Field: 'conditions' [18:02:44.692] - Field: 'expr' [18:02:44.692] - Field: 'uuid' [18:02:44.692] - Field: 'seed' [18:02:44.692] - Field: 'version' [18:02:44.693] - Field: 'result' [18:02:44.693] - Field: 'asynchronous' [18:02:44.693] - Field: 'calls' [18:02:44.693] - Field: 'globals' [18:02:44.693] - Field: 'stdout' [18:02:44.694] - Field: 'earlySignal' [18:02:44.694] - Field: 'lazy' [18:02:44.694] - Field: 'state' [18:02:44.694] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:02:44.694] - Launch lazy future ... [18:02:44.695] Packages needed by the future expression (n = 0): [18:02:44.695] Packages needed by future strategies (n = 0): [18:02:44.695] { [18:02:44.695] { [18:02:44.695] { [18:02:44.695] ...future.startTime <- base::Sys.time() [18:02:44.695] { [18:02:44.695] { [18:02:44.695] { [18:02:44.695] base::local({ [18:02:44.695] has_future <- base::requireNamespace("future", [18:02:44.695] quietly = TRUE) [18:02:44.695] if (has_future) { [18:02:44.695] ns <- base::getNamespace("future") [18:02:44.695] version <- ns[[".package"]][["version"]] [18:02:44.695] if (is.null(version)) [18:02:44.695] version <- utils::packageVersion("future") [18:02:44.695] } [18:02:44.695] else { [18:02:44.695] version <- NULL [18:02:44.695] } [18:02:44.695] if (!has_future || version < "1.8.0") { [18:02:44.695] info <- base::c(r_version = base::gsub("R version ", [18:02:44.695] "", base::R.version$version.string), [18:02:44.695] platform = base::sprintf("%s (%s-bit)", [18:02:44.695] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:44.695] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:44.695] "release", "version")], collapse = " "), [18:02:44.695] hostname = base::Sys.info()[["nodename"]]) [18:02:44.695] info <- base::sprintf("%s: %s", base::names(info), [18:02:44.695] info) [18:02:44.695] info <- base::paste(info, collapse = "; ") [18:02:44.695] if (!has_future) { [18:02:44.695] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:44.695] info) [18:02:44.695] } [18:02:44.695] else { [18:02:44.695] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:44.695] info, version) [18:02:44.695] } [18:02:44.695] base::stop(msg) [18:02:44.695] } [18:02:44.695] }) [18:02:44.695] } [18:02:44.695] options(future.plan = NULL) [18:02:44.695] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.695] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:44.695] } [18:02:44.695] ...future.workdir <- getwd() [18:02:44.695] } [18:02:44.695] ...future.oldOptions <- base::as.list(base::.Options) [18:02:44.695] ...future.oldEnvVars <- base::Sys.getenv() [18:02:44.695] } [18:02:44.695] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:44.695] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:44.695] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:44.695] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:44.695] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:44.695] future.stdout.windows.reencode = NULL, width = 80L) [18:02:44.695] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:44.695] base::names(...future.oldOptions)) [18:02:44.695] } [18:02:44.695] if (FALSE) { [18:02:44.695] } [18:02:44.695] else { [18:02:44.695] if (TRUE) { [18:02:44.695] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:44.695] open = "w") [18:02:44.695] } [18:02:44.695] else { [18:02:44.695] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:44.695] windows = "NUL", "/dev/null"), open = "w") [18:02:44.695] } [18:02:44.695] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:44.695] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:44.695] base::sink(type = "output", split = FALSE) [18:02:44.695] base::close(...future.stdout) [18:02:44.695] }, add = TRUE) [18:02:44.695] } [18:02:44.695] ...future.frame <- base::sys.nframe() [18:02:44.695] ...future.conditions <- base::list() [18:02:44.695] ...future.rng <- base::globalenv()$.Random.seed [18:02:44.695] if (FALSE) { [18:02:44.695] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:44.695] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:44.695] } [18:02:44.695] ...future.result <- base::tryCatch({ [18:02:44.695] base::withCallingHandlers({ [18:02:44.695] ...future.value <- base::withVisible(base::local({ [18:02:44.695] 3 [18:02:44.695] })) [18:02:44.695] future::FutureResult(value = ...future.value$value, [18:02:44.695] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.695] ...future.rng), globalenv = if (FALSE) [18:02:44.695] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:44.695] ...future.globalenv.names)) [18:02:44.695] else NULL, started = ...future.startTime, version = "1.8") [18:02:44.695] }, condition = base::local({ [18:02:44.695] c <- base::c [18:02:44.695] inherits <- base::inherits [18:02:44.695] invokeRestart <- base::invokeRestart [18:02:44.695] length <- base::length [18:02:44.695] list <- base::list [18:02:44.695] seq.int <- base::seq.int [18:02:44.695] signalCondition <- base::signalCondition [18:02:44.695] sys.calls <- base::sys.calls [18:02:44.695] `[[` <- base::`[[` [18:02:44.695] `+` <- base::`+` [18:02:44.695] `<<-` <- base::`<<-` [18:02:44.695] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:44.695] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:44.695] 3L)] [18:02:44.695] } [18:02:44.695] function(cond) { [18:02:44.695] is_error <- inherits(cond, "error") [18:02:44.695] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:44.695] NULL) [18:02:44.695] if (is_error) { [18:02:44.695] sessionInformation <- function() { [18:02:44.695] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:44.695] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:44.695] search = base::search(), system = base::Sys.info()) [18:02:44.695] } [18:02:44.695] ...future.conditions[[length(...future.conditions) + [18:02:44.695] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:44.695] cond$call), session = sessionInformation(), [18:02:44.695] timestamp = base::Sys.time(), signaled = 0L) [18:02:44.695] signalCondition(cond) [18:02:44.695] } [18:02:44.695] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:44.695] "immediateCondition"))) { [18:02:44.695] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:44.695] ...future.conditions[[length(...future.conditions) + [18:02:44.695] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:44.695] if (TRUE && !signal) { [18:02:44.695] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.695] { [18:02:44.695] inherits <- base::inherits [18:02:44.695] invokeRestart <- base::invokeRestart [18:02:44.695] is.null <- base::is.null [18:02:44.695] muffled <- FALSE [18:02:44.695] if (inherits(cond, "message")) { [18:02:44.695] muffled <- grepl(pattern, "muffleMessage") [18:02:44.695] if (muffled) [18:02:44.695] invokeRestart("muffleMessage") [18:02:44.695] } [18:02:44.695] else if (inherits(cond, "warning")) { [18:02:44.695] muffled <- grepl(pattern, "muffleWarning") [18:02:44.695] if (muffled) [18:02:44.695] invokeRestart("muffleWarning") [18:02:44.695] } [18:02:44.695] else if (inherits(cond, "condition")) { [18:02:44.695] if (!is.null(pattern)) { [18:02:44.695] computeRestarts <- base::computeRestarts [18:02:44.695] grepl <- base::grepl [18:02:44.695] restarts <- computeRestarts(cond) [18:02:44.695] for (restart in restarts) { [18:02:44.695] name <- restart$name [18:02:44.695] if (is.null(name)) [18:02:44.695] next [18:02:44.695] if (!grepl(pattern, name)) [18:02:44.695] next [18:02:44.695] invokeRestart(restart) [18:02:44.695] muffled <- TRUE [18:02:44.695] break [18:02:44.695] } [18:02:44.695] } [18:02:44.695] } [18:02:44.695] invisible(muffled) [18:02:44.695] } [18:02:44.695] muffleCondition(cond, pattern = "^muffle") [18:02:44.695] } [18:02:44.695] } [18:02:44.695] else { [18:02:44.695] if (TRUE) { [18:02:44.695] muffleCondition <- function (cond, pattern = "^muffle") [18:02:44.695] { [18:02:44.695] inherits <- base::inherits [18:02:44.695] invokeRestart <- base::invokeRestart [18:02:44.695] is.null <- base::is.null [18:02:44.695] muffled <- FALSE [18:02:44.695] if (inherits(cond, "message")) { [18:02:44.695] muffled <- grepl(pattern, "muffleMessage") [18:02:44.695] if (muffled) [18:02:44.695] invokeRestart("muffleMessage") [18:02:44.695] } [18:02:44.695] else if (inherits(cond, "warning")) { [18:02:44.695] muffled <- grepl(pattern, "muffleWarning") [18:02:44.695] if (muffled) [18:02:44.695] invokeRestart("muffleWarning") [18:02:44.695] } [18:02:44.695] else if (inherits(cond, "condition")) { [18:02:44.695] if (!is.null(pattern)) { [18:02:44.695] computeRestarts <- base::computeRestarts [18:02:44.695] grepl <- base::grepl [18:02:44.695] restarts <- computeRestarts(cond) [18:02:44.695] for (restart in restarts) { [18:02:44.695] name <- restart$name [18:02:44.695] if (is.null(name)) [18:02:44.695] next [18:02:44.695] if (!grepl(pattern, name)) [18:02:44.695] next [18:02:44.695] invokeRestart(restart) [18:02:44.695] muffled <- TRUE [18:02:44.695] break [18:02:44.695] } [18:02:44.695] } [18:02:44.695] } [18:02:44.695] invisible(muffled) [18:02:44.695] } [18:02:44.695] muffleCondition(cond, pattern = "^muffle") [18:02:44.695] } [18:02:44.695] } [18:02:44.695] } [18:02:44.695] })) [18:02:44.695] }, error = function(ex) { [18:02:44.695] base::structure(base::list(value = NULL, visible = NULL, [18:02:44.695] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:44.695] ...future.rng), started = ...future.startTime, [18:02:44.695] finished = Sys.time(), session_uuid = NA_character_, [18:02:44.695] version = "1.8"), class = "FutureResult") [18:02:44.695] }, finally = { [18:02:44.695] if (!identical(...future.workdir, getwd())) [18:02:44.695] setwd(...future.workdir) [18:02:44.695] { [18:02:44.695] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:44.695] ...future.oldOptions$nwarnings <- NULL [18:02:44.695] } [18:02:44.695] base::options(...future.oldOptions) [18:02:44.695] if (.Platform$OS.type == "windows") { [18:02:44.695] old_names <- names(...future.oldEnvVars) [18:02:44.695] envs <- base::Sys.getenv() [18:02:44.695] names <- names(envs) [18:02:44.695] common <- intersect(names, old_names) [18:02:44.695] added <- setdiff(names, old_names) [18:02:44.695] removed <- setdiff(old_names, names) [18:02:44.695] changed <- common[...future.oldEnvVars[common] != [18:02:44.695] envs[common]] [18:02:44.695] NAMES <- toupper(changed) [18:02:44.695] args <- list() [18:02:44.695] for (kk in seq_along(NAMES)) { [18:02:44.695] name <- changed[[kk]] [18:02:44.695] NAME <- NAMES[[kk]] [18:02:44.695] if (name != NAME && is.element(NAME, old_names)) [18:02:44.695] next [18:02:44.695] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.695] } [18:02:44.695] NAMES <- toupper(added) [18:02:44.695] for (kk in seq_along(NAMES)) { [18:02:44.695] name <- added[[kk]] [18:02:44.695] NAME <- NAMES[[kk]] [18:02:44.695] if (name != NAME && is.element(NAME, old_names)) [18:02:44.695] next [18:02:44.695] args[[name]] <- "" [18:02:44.695] } [18:02:44.695] NAMES <- toupper(removed) [18:02:44.695] for (kk in seq_along(NAMES)) { [18:02:44.695] name <- removed[[kk]] [18:02:44.695] NAME <- NAMES[[kk]] [18:02:44.695] if (name != NAME && is.element(NAME, old_names)) [18:02:44.695] next [18:02:44.695] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:44.695] } [18:02:44.695] if (length(args) > 0) [18:02:44.695] base::do.call(base::Sys.setenv, args = args) [18:02:44.695] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:44.695] } [18:02:44.695] else { [18:02:44.695] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:44.695] } [18:02:44.695] { [18:02:44.695] if (base::length(...future.futureOptionsAdded) > [18:02:44.695] 0L) { [18:02:44.695] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:44.695] base::names(opts) <- ...future.futureOptionsAdded [18:02:44.695] base::options(opts) [18:02:44.695] } [18:02:44.695] { [18:02:44.695] { [18:02:44.695] NULL [18:02:44.695] RNGkind("Mersenne-Twister") [18:02:44.695] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:02:44.695] inherits = FALSE) [18:02:44.695] } [18:02:44.695] options(future.plan = NULL) [18:02:44.695] if (is.na(NA_character_)) [18:02:44.695] Sys.unsetenv("R_FUTURE_PLAN") [18:02:44.695] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:44.695] future::plan(list(function (..., envir = parent.frame()) [18:02:44.695] { [18:02:44.695] future <- SequentialFuture(..., envir = envir) [18:02:44.695] if (!future$lazy) [18:02:44.695] future <- run(future) [18:02:44.695] invisible(future) [18:02:44.695] }), .cleanup = FALSE, .init = FALSE) [18:02:44.695] } [18:02:44.695] } [18:02:44.695] } [18:02:44.695] }) [18:02:44.695] if (TRUE) { [18:02:44.695] base::sink(type = "output", split = FALSE) [18:02:44.695] if (TRUE) { [18:02:44.695] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:44.695] } [18:02:44.695] else { [18:02:44.695] ...future.result["stdout"] <- base::list(NULL) [18:02:44.695] } [18:02:44.695] base::close(...future.stdout) [18:02:44.695] ...future.stdout <- NULL [18:02:44.695] } [18:02:44.695] ...future.result$conditions <- ...future.conditions [18:02:44.695] ...future.result$finished <- base::Sys.time() [18:02:44.695] ...future.result [18:02:44.695] } [18:02:44.699] plan(): Setting new future strategy stack: [18:02:44.700] List of future strategies: [18:02:44.700] 1. sequential: [18:02:44.700] - args: function (..., envir = parent.frame()) [18:02:44.700] - tweaked: FALSE [18:02:44.700] - call: NULL [18:02:44.700] plan(): nbrOfWorkers() = 1 [18:02:44.701] plan(): Setting new future strategy stack: [18:02:44.701] List of future strategies: [18:02:44.701] 1. sequential: [18:02:44.701] - args: function (..., envir = parent.frame()) [18:02:44.701] - tweaked: FALSE [18:02:44.701] - call: plan(strategy) [18:02:44.702] plan(): nbrOfWorkers() = 1 [18:02:44.702] SequentialFuture started (and completed) [18:02:44.702] - Launch lazy future ... done [18:02:44.703] run() for 'SequentialFuture' ... done [18:02:44.703] resolve() on list environment ... [18:02:44.704] recursive: 0 [18:02:44.704] length: 4 [18:02:44.705] elements: 'a', 'b', 'c', 'd' [18:02:44.705] resolved() for 'SequentialFuture' ... [18:02:44.705] - state: 'finished' [18:02:44.705] - run: TRUE [18:02:44.705] - result: 'FutureResult' [18:02:44.706] resolved() for 'SequentialFuture' ... done [18:02:44.706] Future #1 [18:02:44.706] length: 3 (resolved future 1) [18:02:44.706] resolved() for 'SequentialFuture' ... [18:02:44.707] - state: 'finished' [18:02:44.707] - run: TRUE [18:02:44.707] - result: 'FutureResult' [18:02:44.707] resolved() for 'SequentialFuture' ... done [18:02:44.707] Future #2 [18:02:44.707] length: 2 (resolved future 2) [18:02:44.708] resolved() for 'SequentialFuture' ... [18:02:44.708] - state: 'finished' [18:02:44.708] - run: TRUE [18:02:44.708] - result: 'FutureResult' [18:02:44.708] resolved() for 'SequentialFuture' ... done [18:02:44.709] Future #3 [18:02:44.709] length: 1 (resolved future 3) [18:02:44.709] length: 0 (resolved future 4) [18:02:44.709] resolve() on list environment ... DONE [18:02:44.710] resolved() for 'SequentialFuture' ... [18:02:44.710] - state: 'finished' [18:02:44.710] - run: TRUE [18:02:44.710] - result: 'FutureResult' [18:02:44.710] resolved() for 'SequentialFuture' ... done [18:02:44.711] resolve() on list environment ... [18:02:44.711] recursive: 0 [18:02:44.712] length: 4 [18:02:44.712] elements: 'a', 'b', 'c', 'd' [18:02:44.712] resolved() for 'SequentialFuture' ... [18:02:44.712] - state: 'finished' [18:02:44.712] - run: TRUE [18:02:44.713] - result: 'FutureResult' [18:02:44.713] resolved() for 'SequentialFuture' ... done [18:02:44.713] Future #1 [18:02:44.713] length: 3 (resolved future 1) [18:02:44.713] resolved() for 'SequentialFuture' ... [18:02:44.714] - state: 'finished' [18:02:44.714] - run: TRUE [18:02:44.714] - result: 'FutureResult' [18:02:44.714] resolved() for 'SequentialFuture' ... done [18:02:44.714] Future #2 [18:02:44.715] length: 2 (resolved future 2) [18:02:44.715] resolved() for 'SequentialFuture' ... [18:02:44.715] - state: 'finished' [18:02:44.715] - run: TRUE [18:02:44.715] - result: 'FutureResult' [18:02:44.716] resolved() for 'SequentialFuture' ... done [18:02:44.716] Future #3 [18:02:44.716] length: 1 (resolved future 3) [18:02:44.716] length: 0 (resolved future 4) [18:02:44.716] resolve() on list environment ... DONE [18:02:44.717] resolve() on list environment ... [18:02:44.717] recursive: 0 [18:02:44.719] length: 4 [18:02:44.719] elements: 'a', 'b', 'c', 'd' [18:02:44.719] resolved() for 'SequentialFuture' ... [18:02:44.720] - state: 'finished' [18:02:44.720] - run: TRUE [18:02:44.720] - result: 'FutureResult' [18:02:44.720] resolved() for 'SequentialFuture' ... done [18:02:44.720] Future #1 [18:02:44.721] length: 3 (resolved future 1) [18:02:44.721] resolved() for 'SequentialFuture' ... [18:02:44.721] - state: 'finished' [18:02:44.721] - run: TRUE [18:02:44.721] - result: 'FutureResult' [18:02:44.721] resolved() for 'SequentialFuture' ... done [18:02:44.722] Future #2 [18:02:44.722] length: 2 (resolved future 2) [18:02:44.722] resolved() for 'SequentialFuture' ... [18:02:44.722] - state: 'finished' [18:02:44.722] - run: TRUE [18:02:44.723] - result: 'FutureResult' [18:02:44.723] resolved() for 'SequentialFuture' ... done [18:02:44.723] Future #3 [18:02:44.723] length: 1 (resolved future 3) [18:02:44.723] length: 0 (resolved future 4) [18:02:44.723] resolve() on list environment ... DONE [18:02:44.724] resolve() on list environment ... [18:02:44.724] recursive: 0 [18:02:44.725] length: 4 [18:02:44.725] elements: 'a', 'b', 'c', 'd' [18:02:44.725] resolved() for 'SequentialFuture' ... [18:02:44.726] - state: 'finished' [18:02:44.726] - run: TRUE [18:02:44.726] - result: 'FutureResult' [18:02:44.726] resolved() for 'SequentialFuture' ... done [18:02:44.726] Future #1 [18:02:44.727] length: 3 (resolved future 1) [18:02:44.727] resolved() for 'SequentialFuture' ... [18:02:44.727] - state: 'finished' [18:02:44.727] - run: TRUE [18:02:44.727] - result: 'FutureResult' [18:02:44.727] resolved() for 'SequentialFuture' ... done [18:02:44.728] Future #2 [18:02:44.728] length: 2 (resolved future 2) [18:02:44.728] resolved() for 'SequentialFuture' ... [18:02:44.728] - state: 'finished' [18:02:44.728] - run: TRUE [18:02:44.729] - result: 'FutureResult' [18:02:44.729] resolved() for 'SequentialFuture' ... done [18:02:44.729] Future #3 [18:02:44.729] length: 1 (resolved future 3) [18:02:44.729] length: 0 (resolved future 4) [18:02:44.729] resolve() on list environment ... DONE [18:02:44.730] resolve() on list environment ... [18:02:44.730] recursive: 0 [18:02:44.731] length: 4 [18:02:44.731] elements: 'a', 'b', 'c', 'd' [18:02:44.731] resolved() for 'SequentialFuture' ... [18:02:44.732] - state: 'finished' [18:02:44.732] - run: TRUE [18:02:44.732] - result: 'FutureResult' [18:02:44.732] resolved() for 'SequentialFuture' ... done [18:02:44.732] Future #1 [18:02:44.733] length: 3 (resolved future 1) [18:02:44.733] resolved() for 'SequentialFuture' ... [18:02:44.733] - state: 'finished' [18:02:44.733] - run: TRUE [18:02:44.733] - result: 'FutureResult' [18:02:44.734] resolved() for 'SequentialFuture' ... done [18:02:44.734] Future #2 [18:02:44.734] length: 2 (resolved future 2) [18:02:44.734] resolved() for 'SequentialFuture' ... [18:02:44.734] - state: 'finished' [18:02:44.735] - run: TRUE [18:02:44.735] - result: 'FutureResult' [18:02:44.735] resolved() for 'SequentialFuture' ... done [18:02:44.735] Future #3 [18:02:44.735] length: 1 (resolved future 3) [18:02:44.736] length: 0 (resolved future 4) [18:02:44.736] resolve() on list environment ... DONE [18:02:44.736] resolve() on list environment ... [18:02:44.737] recursive: 99 [18:02:44.737] length: 4 [18:02:44.738] elements: 'a', 'b', 'c', 'd' [18:02:44.738] resolved() for 'SequentialFuture' ... [18:02:44.738] - state: 'finished' [18:02:44.738] - run: TRUE [18:02:44.739] - result: 'FutureResult' [18:02:44.739] resolved() for 'SequentialFuture' ... done [18:02:44.739] Future #1 [18:02:44.739] resolved() for 'SequentialFuture' ... [18:02:44.740] - state: 'finished' [18:02:44.740] - run: TRUE [18:02:44.740] - result: 'FutureResult' [18:02:44.740] resolved() for 'SequentialFuture' ... done [18:02:44.740] A SequentialFuture was resolved [18:02:44.741] length: 3 (resolved future 1) [18:02:44.741] resolved() for 'SequentialFuture' ... [18:02:44.741] - state: 'finished' [18:02:44.741] - run: TRUE [18:02:44.741] - result: 'FutureResult' [18:02:44.742] resolved() for 'SequentialFuture' ... done [18:02:44.742] Future #2 [18:02:44.742] resolved() for 'SequentialFuture' ... [18:02:44.742] - state: 'finished' [18:02:44.743] - run: TRUE [18:02:44.743] - result: 'FutureResult' [18:02:44.743] resolved() for 'SequentialFuture' ... done [18:02:44.743] A SequentialFuture was resolved [18:02:44.743] length: 2 (resolved future 2) [18:02:44.744] resolved() for 'SequentialFuture' ... [18:02:44.744] - state: 'finished' [18:02:44.744] - run: TRUE [18:02:44.744] - result: 'FutureResult' [18:02:44.744] resolved() for 'SequentialFuture' ... done [18:02:44.745] Future #3 [18:02:44.745] resolved() for 'SequentialFuture' ... [18:02:44.745] - state: 'finished' [18:02:44.745] - run: TRUE [18:02:44.746] - result: 'FutureResult' [18:02:44.746] resolved() for 'SequentialFuture' ... done [18:02:44.746] A SequentialFuture was resolved [18:02:44.746] length: 1 (resolved future 3) [18:02:44.746] length: 0 (resolved future 4) [18:02:44.746] resolve() on list environment ... DONE *** resolve() for list environments ... DONE - plan('sequential') ... - plan('multisession') ... [18:02:44.747] plan(): Setting new future strategy stack: [18:02:44.748] List of future strategies: [18:02:44.748] 1. multisession: [18:02:44.748] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [18:02:44.748] - tweaked: FALSE [18:02:44.748] - call: plan(strategy) [18:02:44.748] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [18:02:44.748] multisession: [18:02:44.748] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [18:02:44.748] - tweaked: FALSE [18:02:44.748] - call: plan(strategy) [18:02:44.754] getGlobalsAndPackages() ... [18:02:44.754] Not searching for globals [18:02:44.754] - globals: [0] [18:02:44.754] getGlobalsAndPackages() ... DONE [18:02:44.755] [local output] makeClusterPSOCK() ... [18:02:44.804] [local output] Workers: [n = 2] 'localhost', 'localhost' [18:02:44.810] [local output] Base port: 32520 [18:02:44.810] [local output] Getting setup options for 2 cluster nodes ... [18:02:44.810] [local output] - Node 1 of 2 ... [18:02:44.811] [local output] localMachine=TRUE => revtunnel=FALSE [18:02:44.812] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp2jLK6F/worker.rank=1.parallelly.parent=39320.99985f8b60af.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/Rtmp2jLK6F/worker.rank=1.parallelly.parent=39320.99985f8b60af.pid\")"' [18:02:45.138] - Possible to infer worker's PID: TRUE [18:02:45.138] [local output] Rscript port: 32520 [18:02:45.139] [local output] - Node 2 of 2 ... [18:02:45.140] [local output] localMachine=TRUE => revtunnel=FALSE [18:02:45.141] [local output] Rscript port: 32520 [18:02:45.142] [local output] Getting setup options for 2 cluster nodes ... done [18:02:45.142] [local output] - Parallel setup requested for some PSOCK nodes [18:02:45.143] [local output] Setting up PSOCK nodes in parallel [18:02:45.143] List of 36 [18:02:45.143] $ worker : chr "localhost" [18:02:45.143] ..- attr(*, "localhost")= logi TRUE [18:02:45.143] $ master : chr "localhost" [18:02:45.143] $ port : int 32520 [18:02:45.143] $ connectTimeout : num 120 [18:02:45.143] $ timeout : num 120 [18:02:45.143] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [18:02:45.143] $ homogeneous : logi TRUE [18:02:45.143] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=resolve.R:39320:CRANWIN3:CRAN\" "| __truncated__ [18:02:45.143] $ rscript_envs : NULL [18:02:45.143] $ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:02:45.143] $ rscript_startup : NULL [18:02:45.143] $ rscript_sh : chr "cmd" [18:02:45.143] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:02:45.143] $ methods : logi TRUE [18:02:45.143] $ socketOptions : chr "no-delay" [18:02:45.143] $ useXDR : logi FALSE [18:02:45.143] $ outfile : chr "/dev/null" [18:02:45.143] $ renice : int NA [18:02:45.143] $ rshcmd : NULL [18:02:45.143] $ user : chr(0) [18:02:45.143] $ revtunnel : logi FALSE [18:02:45.143] $ rshlogfile : NULL [18:02:45.143] $ rshopts : chr(0) [18:02:45.143] $ rank : int 1 [18:02:45.143] $ manual : logi FALSE [18:02:45.143] $ dryrun : logi FALSE [18:02:45.143] $ quiet : logi FALSE [18:02:45.143] $ setup_strategy : chr "parallel" [18:02:45.143] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:02:45.143] $ pidfile : chr "D:/temp/Rtmp2jLK6F/worker.rank=1.parallelly.parent=39320.99985f8b60af.pid" [18:02:45.143] $ rshcmd_label : NULL [18:02:45.143] $ rsh_call : NULL [18:02:45.143] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:02:45.143] $ localMachine : logi TRUE [18:02:45.143] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [18:02:45.143] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [18:02:45.143] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [18:02:45.143] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [18:02:45.143] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [18:02:45.143] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [18:02:45.143] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [18:02:45.143] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [18:02:45.143] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [18:02:45.143] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [18:02:45.143] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [18:02:45.143] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [18:02:45.143] "parallel"), action = c("launch", "options"), verbose = FALSE) [18:02:45.143] $ arguments :List of 28 [18:02:45.143] ..$ worker : chr "localhost" [18:02:45.143] ..$ master : NULL [18:02:45.143] ..$ port : int 32520 [18:02:45.143] ..$ connectTimeout : num 120 [18:02:45.143] ..$ timeout : num 120 [18:02:45.143] ..$ rscript : NULL [18:02:45.143] ..$ homogeneous : NULL [18:02:45.143] ..$ rscript_args : NULL [18:02:45.143] ..$ rscript_envs : NULL [18:02:45.143] ..$ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:02:45.143] ..$ rscript_startup : NULL [18:02:45.143] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [18:02:45.143] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:02:45.143] ..$ methods : logi TRUE [18:02:45.143] ..$ socketOptions : chr "no-delay" [18:02:45.143] ..$ useXDR : logi FALSE [18:02:45.143] ..$ outfile : chr "/dev/null" [18:02:45.143] ..$ renice : int NA [18:02:45.143] ..$ rshcmd : NULL [18:02:45.143] ..$ user : NULL [18:02:45.143] ..$ revtunnel : logi NA [18:02:45.143] ..$ rshlogfile : NULL [18:02:45.143] ..$ rshopts : NULL [18:02:45.143] ..$ rank : int 1 [18:02:45.143] ..$ manual : logi FALSE [18:02:45.143] ..$ dryrun : logi FALSE [18:02:45.143] ..$ quiet : logi FALSE [18:02:45.143] ..$ setup_strategy : chr "parallel" [18:02:45.143] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [18:02:45.168] [local output] System call to launch all workers: [18:02:45.168] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=resolve.R:39320:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp2jLK6F/worker.rank=1.parallelly.parent=39320.99985f8b60af.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=32520 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [18:02:45.168] [local output] Starting PSOCK main server [18:02:45.176] [local output] Workers launched [18:02:45.177] [local output] Waiting for workers to connect back [18:02:45.177] - [local output] 0 workers out of 2 ready [18:02:45.352] - [local output] 0 workers out of 2 ready [18:02:45.353] - [local output] 1 workers out of 2 ready [18:02:45.354] - [local output] 2 workers out of 2 ready [18:02:45.354] [local output] Launching of workers completed [18:02:45.354] [local output] Collecting session information from workers [18:02:45.355] [local output] - Worker #1 of 2 [18:02:45.356] [local output] - Worker #2 of 2 [18:02:45.356] [local output] makeClusterPSOCK() ... done [18:02:45.369] Packages needed by the future expression (n = 0): [18:02:45.369] Packages needed by future strategies (n = 0): [18:02:45.370] { [18:02:45.370] { [18:02:45.370] { [18:02:45.370] ...future.startTime <- base::Sys.time() [18:02:45.370] { [18:02:45.370] { [18:02:45.370] { [18:02:45.370] { [18:02:45.370] base::local({ [18:02:45.370] has_future <- base::requireNamespace("future", [18:02:45.370] quietly = TRUE) [18:02:45.370] if (has_future) { [18:02:45.370] ns <- base::getNamespace("future") [18:02:45.370] version <- ns[[".package"]][["version"]] [18:02:45.370] if (is.null(version)) [18:02:45.370] version <- utils::packageVersion("future") [18:02:45.370] } [18:02:45.370] else { [18:02:45.370] version <- NULL [18:02:45.370] } [18:02:45.370] if (!has_future || version < "1.8.0") { [18:02:45.370] info <- base::c(r_version = base::gsub("R version ", [18:02:45.370] "", base::R.version$version.string), [18:02:45.370] platform = base::sprintf("%s (%s-bit)", [18:02:45.370] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:45.370] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:45.370] "release", "version")], collapse = " "), [18:02:45.370] hostname = base::Sys.info()[["nodename"]]) [18:02:45.370] info <- base::sprintf("%s: %s", base::names(info), [18:02:45.370] info) [18:02:45.370] info <- base::paste(info, collapse = "; ") [18:02:45.370] if (!has_future) { [18:02:45.370] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:45.370] info) [18:02:45.370] } [18:02:45.370] else { [18:02:45.370] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:45.370] info, version) [18:02:45.370] } [18:02:45.370] base::stop(msg) [18:02:45.370] } [18:02:45.370] }) [18:02:45.370] } [18:02:45.370] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:45.370] base::options(mc.cores = 1L) [18:02:45.370] } [18:02:45.370] options(future.plan = NULL) [18:02:45.370] Sys.unsetenv("R_FUTURE_PLAN") [18:02:45.370] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:45.370] } [18:02:45.370] ...future.workdir <- getwd() [18:02:45.370] } [18:02:45.370] ...future.oldOptions <- base::as.list(base::.Options) [18:02:45.370] ...future.oldEnvVars <- base::Sys.getenv() [18:02:45.370] } [18:02:45.370] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:45.370] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:45.370] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:45.370] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:45.370] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:45.370] future.stdout.windows.reencode = NULL, width = 80L) [18:02:45.370] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:45.370] base::names(...future.oldOptions)) [18:02:45.370] } [18:02:45.370] if (FALSE) { [18:02:45.370] } [18:02:45.370] else { [18:02:45.370] if (TRUE) { [18:02:45.370] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:45.370] open = "w") [18:02:45.370] } [18:02:45.370] else { [18:02:45.370] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:45.370] windows = "NUL", "/dev/null"), open = "w") [18:02:45.370] } [18:02:45.370] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:45.370] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:45.370] base::sink(type = "output", split = FALSE) [18:02:45.370] base::close(...future.stdout) [18:02:45.370] }, add = TRUE) [18:02:45.370] } [18:02:45.370] ...future.frame <- base::sys.nframe() [18:02:45.370] ...future.conditions <- base::list() [18:02:45.370] ...future.rng <- base::globalenv()$.Random.seed [18:02:45.370] if (FALSE) { [18:02:45.370] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:45.370] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:45.370] } [18:02:45.370] ...future.result <- base::tryCatch({ [18:02:45.370] base::withCallingHandlers({ [18:02:45.370] ...future.value <- base::withVisible(base::local({ [18:02:45.370] ...future.makeSendCondition <- local({ [18:02:45.370] sendCondition <- NULL [18:02:45.370] function(frame = 1L) { [18:02:45.370] if (is.function(sendCondition)) [18:02:45.370] return(sendCondition) [18:02:45.370] ns <- getNamespace("parallel") [18:02:45.370] if (exists("sendData", mode = "function", [18:02:45.370] envir = ns)) { [18:02:45.370] parallel_sendData <- get("sendData", mode = "function", [18:02:45.370] envir = ns) [18:02:45.370] envir <- sys.frame(frame) [18:02:45.370] master <- NULL [18:02:45.370] while (!identical(envir, .GlobalEnv) && [18:02:45.370] !identical(envir, emptyenv())) { [18:02:45.370] if (exists("master", mode = "list", envir = envir, [18:02:45.370] inherits = FALSE)) { [18:02:45.370] master <- get("master", mode = "list", [18:02:45.370] envir = envir, inherits = FALSE) [18:02:45.370] if (inherits(master, c("SOCKnode", [18:02:45.370] "SOCK0node"))) { [18:02:45.370] sendCondition <<- function(cond) { [18:02:45.370] data <- list(type = "VALUE", value = cond, [18:02:45.370] success = TRUE) [18:02:45.370] parallel_sendData(master, data) [18:02:45.370] } [18:02:45.370] return(sendCondition) [18:02:45.370] } [18:02:45.370] } [18:02:45.370] frame <- frame + 1L [18:02:45.370] envir <- sys.frame(frame) [18:02:45.370] } [18:02:45.370] } [18:02:45.370] sendCondition <<- function(cond) NULL [18:02:45.370] } [18:02:45.370] }) [18:02:45.370] withCallingHandlers({ [18:02:45.370] NA [18:02:45.370] }, immediateCondition = function(cond) { [18:02:45.370] sendCondition <- ...future.makeSendCondition() [18:02:45.370] sendCondition(cond) [18:02:45.370] muffleCondition <- function (cond, pattern = "^muffle") [18:02:45.370] { [18:02:45.370] inherits <- base::inherits [18:02:45.370] invokeRestart <- base::invokeRestart [18:02:45.370] is.null <- base::is.null [18:02:45.370] muffled <- FALSE [18:02:45.370] if (inherits(cond, "message")) { [18:02:45.370] muffled <- grepl(pattern, "muffleMessage") [18:02:45.370] if (muffled) [18:02:45.370] invokeRestart("muffleMessage") [18:02:45.370] } [18:02:45.370] else if (inherits(cond, "warning")) { [18:02:45.370] muffled <- grepl(pattern, "muffleWarning") [18:02:45.370] if (muffled) [18:02:45.370] invokeRestart("muffleWarning") [18:02:45.370] } [18:02:45.370] else if (inherits(cond, "condition")) { [18:02:45.370] if (!is.null(pattern)) { [18:02:45.370] computeRestarts <- base::computeRestarts [18:02:45.370] grepl <- base::grepl [18:02:45.370] restarts <- computeRestarts(cond) [18:02:45.370] for (restart in restarts) { [18:02:45.370] name <- restart$name [18:02:45.370] if (is.null(name)) [18:02:45.370] next [18:02:45.370] if (!grepl(pattern, name)) [18:02:45.370] next [18:02:45.370] invokeRestart(restart) [18:02:45.370] muffled <- TRUE [18:02:45.370] break [18:02:45.370] } [18:02:45.370] } [18:02:45.370] } [18:02:45.370] invisible(muffled) [18:02:45.370] } [18:02:45.370] muffleCondition(cond) [18:02:45.370] }) [18:02:45.370] })) [18:02:45.370] future::FutureResult(value = ...future.value$value, [18:02:45.370] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:45.370] ...future.rng), globalenv = if (FALSE) [18:02:45.370] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:45.370] ...future.globalenv.names)) [18:02:45.370] else NULL, started = ...future.startTime, version = "1.8") [18:02:45.370] }, condition = base::local({ [18:02:45.370] c <- base::c [18:02:45.370] inherits <- base::inherits [18:02:45.370] invokeRestart <- base::invokeRestart [18:02:45.370] length <- base::length [18:02:45.370] list <- base::list [18:02:45.370] seq.int <- base::seq.int [18:02:45.370] signalCondition <- base::signalCondition [18:02:45.370] sys.calls <- base::sys.calls [18:02:45.370] `[[` <- base::`[[` [18:02:45.370] `+` <- base::`+` [18:02:45.370] `<<-` <- base::`<<-` [18:02:45.370] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:45.370] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:45.370] 3L)] [18:02:45.370] } [18:02:45.370] function(cond) { [18:02:45.370] is_error <- inherits(cond, "error") [18:02:45.370] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:45.370] NULL) [18:02:45.370] if (is_error) { [18:02:45.370] sessionInformation <- function() { [18:02:45.370] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:45.370] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:45.370] search = base::search(), system = base::Sys.info()) [18:02:45.370] } [18:02:45.370] ...future.conditions[[length(...future.conditions) + [18:02:45.370] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:45.370] cond$call), session = sessionInformation(), [18:02:45.370] timestamp = base::Sys.time(), signaled = 0L) [18:02:45.370] signalCondition(cond) [18:02:45.370] } [18:02:45.370] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:45.370] "immediateCondition"))) { [18:02:45.370] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:45.370] ...future.conditions[[length(...future.conditions) + [18:02:45.370] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:45.370] if (TRUE && !signal) { [18:02:45.370] muffleCondition <- function (cond, pattern = "^muffle") [18:02:45.370] { [18:02:45.370] inherits <- base::inherits [18:02:45.370] invokeRestart <- base::invokeRestart [18:02:45.370] is.null <- base::is.null [18:02:45.370] muffled <- FALSE [18:02:45.370] if (inherits(cond, "message")) { [18:02:45.370] muffled <- grepl(pattern, "muffleMessage") [18:02:45.370] if (muffled) [18:02:45.370] invokeRestart("muffleMessage") [18:02:45.370] } [18:02:45.370] else if (inherits(cond, "warning")) { [18:02:45.370] muffled <- grepl(pattern, "muffleWarning") [18:02:45.370] if (muffled) [18:02:45.370] invokeRestart("muffleWarning") [18:02:45.370] } [18:02:45.370] else if (inherits(cond, "condition")) { [18:02:45.370] if (!is.null(pattern)) { [18:02:45.370] computeRestarts <- base::computeRestarts [18:02:45.370] grepl <- base::grepl [18:02:45.370] restarts <- computeRestarts(cond) [18:02:45.370] for (restart in restarts) { [18:02:45.370] name <- restart$name [18:02:45.370] if (is.null(name)) [18:02:45.370] next [18:02:45.370] if (!grepl(pattern, name)) [18:02:45.370] next [18:02:45.370] invokeRestart(restart) [18:02:45.370] muffled <- TRUE [18:02:45.370] break [18:02:45.370] } [18:02:45.370] } [18:02:45.370] } [18:02:45.370] invisible(muffled) [18:02:45.370] } [18:02:45.370] muffleCondition(cond, pattern = "^muffle") [18:02:45.370] } [18:02:45.370] } [18:02:45.370] else { [18:02:45.370] if (TRUE) { [18:02:45.370] muffleCondition <- function (cond, pattern = "^muffle") [18:02:45.370] { [18:02:45.370] inherits <- base::inherits [18:02:45.370] invokeRestart <- base::invokeRestart [18:02:45.370] is.null <- base::is.null [18:02:45.370] muffled <- FALSE [18:02:45.370] if (inherits(cond, "message")) { [18:02:45.370] muffled <- grepl(pattern, "muffleMessage") [18:02:45.370] if (muffled) [18:02:45.370] invokeRestart("muffleMessage") [18:02:45.370] } [18:02:45.370] else if (inherits(cond, "warning")) { [18:02:45.370] muffled <- grepl(pattern, "muffleWarning") [18:02:45.370] if (muffled) [18:02:45.370] invokeRestart("muffleWarning") [18:02:45.370] } [18:02:45.370] else if (inherits(cond, "condition")) { [18:02:45.370] if (!is.null(pattern)) { [18:02:45.370] computeRestarts <- base::computeRestarts [18:02:45.370] grepl <- base::grepl [18:02:45.370] restarts <- computeRestarts(cond) [18:02:45.370] for (restart in restarts) { [18:02:45.370] name <- restart$name [18:02:45.370] if (is.null(name)) [18:02:45.370] next [18:02:45.370] if (!grepl(pattern, name)) [18:02:45.370] next [18:02:45.370] invokeRestart(restart) [18:02:45.370] muffled <- TRUE [18:02:45.370] break [18:02:45.370] } [18:02:45.370] } [18:02:45.370] } [18:02:45.370] invisible(muffled) [18:02:45.370] } [18:02:45.370] muffleCondition(cond, pattern = "^muffle") [18:02:45.370] } [18:02:45.370] } [18:02:45.370] } [18:02:45.370] })) [18:02:45.370] }, error = function(ex) { [18:02:45.370] base::structure(base::list(value = NULL, visible = NULL, [18:02:45.370] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:45.370] ...future.rng), started = ...future.startTime, [18:02:45.370] finished = Sys.time(), session_uuid = NA_character_, [18:02:45.370] version = "1.8"), class = "FutureResult") [18:02:45.370] }, finally = { [18:02:45.370] if (!identical(...future.workdir, getwd())) [18:02:45.370] setwd(...future.workdir) [18:02:45.370] { [18:02:45.370] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:45.370] ...future.oldOptions$nwarnings <- NULL [18:02:45.370] } [18:02:45.370] base::options(...future.oldOptions) [18:02:45.370] if (.Platform$OS.type == "windows") { [18:02:45.370] old_names <- names(...future.oldEnvVars) [18:02:45.370] envs <- base::Sys.getenv() [18:02:45.370] names <- names(envs) [18:02:45.370] common <- intersect(names, old_names) [18:02:45.370] added <- setdiff(names, old_names) [18:02:45.370] removed <- setdiff(old_names, names) [18:02:45.370] changed <- common[...future.oldEnvVars[common] != [18:02:45.370] envs[common]] [18:02:45.370] NAMES <- toupper(changed) [18:02:45.370] args <- list() [18:02:45.370] for (kk in seq_along(NAMES)) { [18:02:45.370] name <- changed[[kk]] [18:02:45.370] NAME <- NAMES[[kk]] [18:02:45.370] if (name != NAME && is.element(NAME, old_names)) [18:02:45.370] next [18:02:45.370] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:45.370] } [18:02:45.370] NAMES <- toupper(added) [18:02:45.370] for (kk in seq_along(NAMES)) { [18:02:45.370] name <- added[[kk]] [18:02:45.370] NAME <- NAMES[[kk]] [18:02:45.370] if (name != NAME && is.element(NAME, old_names)) [18:02:45.370] next [18:02:45.370] args[[name]] <- "" [18:02:45.370] } [18:02:45.370] NAMES <- toupper(removed) [18:02:45.370] for (kk in seq_along(NAMES)) { [18:02:45.370] name <- removed[[kk]] [18:02:45.370] NAME <- NAMES[[kk]] [18:02:45.370] if (name != NAME && is.element(NAME, old_names)) [18:02:45.370] next [18:02:45.370] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:45.370] } [18:02:45.370] if (length(args) > 0) [18:02:45.370] base::do.call(base::Sys.setenv, args = args) [18:02:45.370] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:45.370] } [18:02:45.370] else { [18:02:45.370] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:45.370] } [18:02:45.370] { [18:02:45.370] if (base::length(...future.futureOptionsAdded) > [18:02:45.370] 0L) { [18:02:45.370] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:45.370] base::names(opts) <- ...future.futureOptionsAdded [18:02:45.370] base::options(opts) [18:02:45.370] } [18:02:45.370] { [18:02:45.370] { [18:02:45.370] base::options(mc.cores = ...future.mc.cores.old) [18:02:45.370] NULL [18:02:45.370] } [18:02:45.370] options(future.plan = NULL) [18:02:45.370] if (is.na(NA_character_)) [18:02:45.370] Sys.unsetenv("R_FUTURE_PLAN") [18:02:45.370] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:45.370] future::plan(list(function (..., workers = availableCores(), [18:02:45.370] lazy = FALSE, rscript_libs = .libPaths(), [18:02:45.370] envir = parent.frame()) [18:02:45.370] { [18:02:45.370] if (is.function(workers)) [18:02:45.370] workers <- workers() [18:02:45.370] workers <- structure(as.integer(workers), [18:02:45.370] class = class(workers)) [18:02:45.370] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:45.370] workers >= 1) [18:02:45.370] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:45.370] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:45.370] } [18:02:45.370] future <- MultisessionFuture(..., workers = workers, [18:02:45.370] lazy = lazy, rscript_libs = rscript_libs, [18:02:45.370] envir = envir) [18:02:45.370] if (!future$lazy) [18:02:45.370] future <- run(future) [18:02:45.370] invisible(future) [18:02:45.370] }), .cleanup = FALSE, .init = FALSE) [18:02:45.370] } [18:02:45.370] } [18:02:45.370] } [18:02:45.370] }) [18:02:45.370] if (TRUE) { [18:02:45.370] base::sink(type = "output", split = FALSE) [18:02:45.370] if (TRUE) { [18:02:45.370] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:45.370] } [18:02:45.370] else { [18:02:45.370] ...future.result["stdout"] <- base::list(NULL) [18:02:45.370] } [18:02:45.370] base::close(...future.stdout) [18:02:45.370] ...future.stdout <- NULL [18:02:45.370] } [18:02:45.370] ...future.result$conditions <- ...future.conditions [18:02:45.370] ...future.result$finished <- base::Sys.time() [18:02:45.370] ...future.result [18:02:45.370] } [18:02:45.455] MultisessionFuture started [18:02:45.456] result() for ClusterFuture ... [18:02:45.456] receiveMessageFromWorker() for ClusterFuture ... [18:02:45.457] - Validating connection of MultisessionFuture [18:02:45.514] - received message: FutureResult [18:02:45.514] - Received FutureResult [18:02:45.518] - Erased future from FutureRegistry [18:02:45.518] result() for ClusterFuture ... [18:02:45.518] - result already collected: FutureResult [18:02:45.518] result() for ClusterFuture ... done [18:02:45.518] receiveMessageFromWorker() for ClusterFuture ... done [18:02:45.519] result() for ClusterFuture ... done [18:02:45.519] result() for ClusterFuture ... [18:02:45.519] - result already collected: FutureResult [18:02:45.519] result() for ClusterFuture ... done [18:02:45.519] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [18:02:45.522] plan(): nbrOfWorkers() = 2 *** resolve() for Future objects ... - result = FALSE, recursive = FALSE ... [18:02:45.525] getGlobalsAndPackages() ... [18:02:45.525] Searching for globals... [18:02:45.527] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:45.527] Searching for globals ... DONE [18:02:45.527] Resolving globals: FALSE [18:02:45.528] [18:02:45.528] [18:02:45.528] getGlobalsAndPackages() ... DONE [18:02:45.529] run() for 'Future' ... [18:02:45.529] - state: 'created' [18:02:45.529] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:45.543] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:45.544] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:45.544] - Field: 'node' [18:02:45.544] - Field: 'label' [18:02:45.544] - Field: 'local' [18:02:45.545] - Field: 'owner' [18:02:45.545] - Field: 'envir' [18:02:45.545] - Field: 'workers' [18:02:45.545] - Field: 'packages' [18:02:45.545] - Field: 'gc' [18:02:45.546] - Field: 'conditions' [18:02:45.546] - Field: 'persistent' [18:02:45.546] - Field: 'expr' [18:02:45.546] - Field: 'uuid' [18:02:45.546] - Field: 'seed' [18:02:45.546] - Field: 'version' [18:02:45.547] - Field: 'result' [18:02:45.547] - Field: 'asynchronous' [18:02:45.547] - Field: 'calls' [18:02:45.547] - Field: 'globals' [18:02:45.547] - Field: 'stdout' [18:02:45.548] - Field: 'earlySignal' [18:02:45.548] - Field: 'lazy' [18:02:45.548] - Field: 'state' [18:02:45.548] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:45.548] - Launch lazy future ... [18:02:45.549] Packages needed by the future expression (n = 0): [18:02:45.549] Packages needed by future strategies (n = 0): [18:02:45.550] { [18:02:45.550] { [18:02:45.550] { [18:02:45.550] ...future.startTime <- base::Sys.time() [18:02:45.550] { [18:02:45.550] { [18:02:45.550] { [18:02:45.550] { [18:02:45.550] base::local({ [18:02:45.550] has_future <- base::requireNamespace("future", [18:02:45.550] quietly = TRUE) [18:02:45.550] if (has_future) { [18:02:45.550] ns <- base::getNamespace("future") [18:02:45.550] version <- ns[[".package"]][["version"]] [18:02:45.550] if (is.null(version)) [18:02:45.550] version <- utils::packageVersion("future") [18:02:45.550] } [18:02:45.550] else { [18:02:45.550] version <- NULL [18:02:45.550] } [18:02:45.550] if (!has_future || version < "1.8.0") { [18:02:45.550] info <- base::c(r_version = base::gsub("R version ", [18:02:45.550] "", base::R.version$version.string), [18:02:45.550] platform = base::sprintf("%s (%s-bit)", [18:02:45.550] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:45.550] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:45.550] "release", "version")], collapse = " "), [18:02:45.550] hostname = base::Sys.info()[["nodename"]]) [18:02:45.550] info <- base::sprintf("%s: %s", base::names(info), [18:02:45.550] info) [18:02:45.550] info <- base::paste(info, collapse = "; ") [18:02:45.550] if (!has_future) { [18:02:45.550] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:45.550] info) [18:02:45.550] } [18:02:45.550] else { [18:02:45.550] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:45.550] info, version) [18:02:45.550] } [18:02:45.550] base::stop(msg) [18:02:45.550] } [18:02:45.550] }) [18:02:45.550] } [18:02:45.550] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:45.550] base::options(mc.cores = 1L) [18:02:45.550] } [18:02:45.550] options(future.plan = NULL) [18:02:45.550] Sys.unsetenv("R_FUTURE_PLAN") [18:02:45.550] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:45.550] } [18:02:45.550] ...future.workdir <- getwd() [18:02:45.550] } [18:02:45.550] ...future.oldOptions <- base::as.list(base::.Options) [18:02:45.550] ...future.oldEnvVars <- base::Sys.getenv() [18:02:45.550] } [18:02:45.550] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:45.550] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:45.550] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:45.550] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:45.550] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:45.550] future.stdout.windows.reencode = NULL, width = 80L) [18:02:45.550] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:45.550] base::names(...future.oldOptions)) [18:02:45.550] } [18:02:45.550] if (FALSE) { [18:02:45.550] } [18:02:45.550] else { [18:02:45.550] if (TRUE) { [18:02:45.550] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:45.550] open = "w") [18:02:45.550] } [18:02:45.550] else { [18:02:45.550] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:45.550] windows = "NUL", "/dev/null"), open = "w") [18:02:45.550] } [18:02:45.550] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:45.550] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:45.550] base::sink(type = "output", split = FALSE) [18:02:45.550] base::close(...future.stdout) [18:02:45.550] }, add = TRUE) [18:02:45.550] } [18:02:45.550] ...future.frame <- base::sys.nframe() [18:02:45.550] ...future.conditions <- base::list() [18:02:45.550] ...future.rng <- base::globalenv()$.Random.seed [18:02:45.550] if (FALSE) { [18:02:45.550] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:45.550] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:45.550] } [18:02:45.550] ...future.result <- base::tryCatch({ [18:02:45.550] base::withCallingHandlers({ [18:02:45.550] ...future.value <- base::withVisible(base::local({ [18:02:45.550] ...future.makeSendCondition <- local({ [18:02:45.550] sendCondition <- NULL [18:02:45.550] function(frame = 1L) { [18:02:45.550] if (is.function(sendCondition)) [18:02:45.550] return(sendCondition) [18:02:45.550] ns <- getNamespace("parallel") [18:02:45.550] if (exists("sendData", mode = "function", [18:02:45.550] envir = ns)) { [18:02:45.550] parallel_sendData <- get("sendData", mode = "function", [18:02:45.550] envir = ns) [18:02:45.550] envir <- sys.frame(frame) [18:02:45.550] master <- NULL [18:02:45.550] while (!identical(envir, .GlobalEnv) && [18:02:45.550] !identical(envir, emptyenv())) { [18:02:45.550] if (exists("master", mode = "list", envir = envir, [18:02:45.550] inherits = FALSE)) { [18:02:45.550] master <- get("master", mode = "list", [18:02:45.550] envir = envir, inherits = FALSE) [18:02:45.550] if (inherits(master, c("SOCKnode", [18:02:45.550] "SOCK0node"))) { [18:02:45.550] sendCondition <<- function(cond) { [18:02:45.550] data <- list(type = "VALUE", value = cond, [18:02:45.550] success = TRUE) [18:02:45.550] parallel_sendData(master, data) [18:02:45.550] } [18:02:45.550] return(sendCondition) [18:02:45.550] } [18:02:45.550] } [18:02:45.550] frame <- frame + 1L [18:02:45.550] envir <- sys.frame(frame) [18:02:45.550] } [18:02:45.550] } [18:02:45.550] sendCondition <<- function(cond) NULL [18:02:45.550] } [18:02:45.550] }) [18:02:45.550] withCallingHandlers({ [18:02:45.550] { [18:02:45.550] Sys.sleep(0.5) [18:02:45.550] list(a = 1, b = 42L) [18:02:45.550] } [18:02:45.550] }, immediateCondition = function(cond) { [18:02:45.550] sendCondition <- ...future.makeSendCondition() [18:02:45.550] sendCondition(cond) [18:02:45.550] muffleCondition <- function (cond, pattern = "^muffle") [18:02:45.550] { [18:02:45.550] inherits <- base::inherits [18:02:45.550] invokeRestart <- base::invokeRestart [18:02:45.550] is.null <- base::is.null [18:02:45.550] muffled <- FALSE [18:02:45.550] if (inherits(cond, "message")) { [18:02:45.550] muffled <- grepl(pattern, "muffleMessage") [18:02:45.550] if (muffled) [18:02:45.550] invokeRestart("muffleMessage") [18:02:45.550] } [18:02:45.550] else if (inherits(cond, "warning")) { [18:02:45.550] muffled <- grepl(pattern, "muffleWarning") [18:02:45.550] if (muffled) [18:02:45.550] invokeRestart("muffleWarning") [18:02:45.550] } [18:02:45.550] else if (inherits(cond, "condition")) { [18:02:45.550] if (!is.null(pattern)) { [18:02:45.550] computeRestarts <- base::computeRestarts [18:02:45.550] grepl <- base::grepl [18:02:45.550] restarts <- computeRestarts(cond) [18:02:45.550] for (restart in restarts) { [18:02:45.550] name <- restart$name [18:02:45.550] if (is.null(name)) [18:02:45.550] next [18:02:45.550] if (!grepl(pattern, name)) [18:02:45.550] next [18:02:45.550] invokeRestart(restart) [18:02:45.550] muffled <- TRUE [18:02:45.550] break [18:02:45.550] } [18:02:45.550] } [18:02:45.550] } [18:02:45.550] invisible(muffled) [18:02:45.550] } [18:02:45.550] muffleCondition(cond) [18:02:45.550] }) [18:02:45.550] })) [18:02:45.550] future::FutureResult(value = ...future.value$value, [18:02:45.550] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:45.550] ...future.rng), globalenv = if (FALSE) [18:02:45.550] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:45.550] ...future.globalenv.names)) [18:02:45.550] else NULL, started = ...future.startTime, version = "1.8") [18:02:45.550] }, condition = base::local({ [18:02:45.550] c <- base::c [18:02:45.550] inherits <- base::inherits [18:02:45.550] invokeRestart <- base::invokeRestart [18:02:45.550] length <- base::length [18:02:45.550] list <- base::list [18:02:45.550] seq.int <- base::seq.int [18:02:45.550] signalCondition <- base::signalCondition [18:02:45.550] sys.calls <- base::sys.calls [18:02:45.550] `[[` <- base::`[[` [18:02:45.550] `+` <- base::`+` [18:02:45.550] `<<-` <- base::`<<-` [18:02:45.550] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:45.550] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:45.550] 3L)] [18:02:45.550] } [18:02:45.550] function(cond) { [18:02:45.550] is_error <- inherits(cond, "error") [18:02:45.550] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:45.550] NULL) [18:02:45.550] if (is_error) { [18:02:45.550] sessionInformation <- function() { [18:02:45.550] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:45.550] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:45.550] search = base::search(), system = base::Sys.info()) [18:02:45.550] } [18:02:45.550] ...future.conditions[[length(...future.conditions) + [18:02:45.550] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:45.550] cond$call), session = sessionInformation(), [18:02:45.550] timestamp = base::Sys.time(), signaled = 0L) [18:02:45.550] signalCondition(cond) [18:02:45.550] } [18:02:45.550] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:45.550] "immediateCondition"))) { [18:02:45.550] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:45.550] ...future.conditions[[length(...future.conditions) + [18:02:45.550] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:45.550] if (TRUE && !signal) { [18:02:45.550] muffleCondition <- function (cond, pattern = "^muffle") [18:02:45.550] { [18:02:45.550] inherits <- base::inherits [18:02:45.550] invokeRestart <- base::invokeRestart [18:02:45.550] is.null <- base::is.null [18:02:45.550] muffled <- FALSE [18:02:45.550] if (inherits(cond, "message")) { [18:02:45.550] muffled <- grepl(pattern, "muffleMessage") [18:02:45.550] if (muffled) [18:02:45.550] invokeRestart("muffleMessage") [18:02:45.550] } [18:02:45.550] else if (inherits(cond, "warning")) { [18:02:45.550] muffled <- grepl(pattern, "muffleWarning") [18:02:45.550] if (muffled) [18:02:45.550] invokeRestart("muffleWarning") [18:02:45.550] } [18:02:45.550] else if (inherits(cond, "condition")) { [18:02:45.550] if (!is.null(pattern)) { [18:02:45.550] computeRestarts <- base::computeRestarts [18:02:45.550] grepl <- base::grepl [18:02:45.550] restarts <- computeRestarts(cond) [18:02:45.550] for (restart in restarts) { [18:02:45.550] name <- restart$name [18:02:45.550] if (is.null(name)) [18:02:45.550] next [18:02:45.550] if (!grepl(pattern, name)) [18:02:45.550] next [18:02:45.550] invokeRestart(restart) [18:02:45.550] muffled <- TRUE [18:02:45.550] break [18:02:45.550] } [18:02:45.550] } [18:02:45.550] } [18:02:45.550] invisible(muffled) [18:02:45.550] } [18:02:45.550] muffleCondition(cond, pattern = "^muffle") [18:02:45.550] } [18:02:45.550] } [18:02:45.550] else { [18:02:45.550] if (TRUE) { [18:02:45.550] muffleCondition <- function (cond, pattern = "^muffle") [18:02:45.550] { [18:02:45.550] inherits <- base::inherits [18:02:45.550] invokeRestart <- base::invokeRestart [18:02:45.550] is.null <- base::is.null [18:02:45.550] muffled <- FALSE [18:02:45.550] if (inherits(cond, "message")) { [18:02:45.550] muffled <- grepl(pattern, "muffleMessage") [18:02:45.550] if (muffled) [18:02:45.550] invokeRestart("muffleMessage") [18:02:45.550] } [18:02:45.550] else if (inherits(cond, "warning")) { [18:02:45.550] muffled <- grepl(pattern, "muffleWarning") [18:02:45.550] if (muffled) [18:02:45.550] invokeRestart("muffleWarning") [18:02:45.550] } [18:02:45.550] else if (inherits(cond, "condition")) { [18:02:45.550] if (!is.null(pattern)) { [18:02:45.550] computeRestarts <- base::computeRestarts [18:02:45.550] grepl <- base::grepl [18:02:45.550] restarts <- computeRestarts(cond) [18:02:45.550] for (restart in restarts) { [18:02:45.550] name <- restart$name [18:02:45.550] if (is.null(name)) [18:02:45.550] next [18:02:45.550] if (!grepl(pattern, name)) [18:02:45.550] next [18:02:45.550] invokeRestart(restart) [18:02:45.550] muffled <- TRUE [18:02:45.550] break [18:02:45.550] } [18:02:45.550] } [18:02:45.550] } [18:02:45.550] invisible(muffled) [18:02:45.550] } [18:02:45.550] muffleCondition(cond, pattern = "^muffle") [18:02:45.550] } [18:02:45.550] } [18:02:45.550] } [18:02:45.550] })) [18:02:45.550] }, error = function(ex) { [18:02:45.550] base::structure(base::list(value = NULL, visible = NULL, [18:02:45.550] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:45.550] ...future.rng), started = ...future.startTime, [18:02:45.550] finished = Sys.time(), session_uuid = NA_character_, [18:02:45.550] version = "1.8"), class = "FutureResult") [18:02:45.550] }, finally = { [18:02:45.550] if (!identical(...future.workdir, getwd())) [18:02:45.550] setwd(...future.workdir) [18:02:45.550] { [18:02:45.550] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:45.550] ...future.oldOptions$nwarnings <- NULL [18:02:45.550] } [18:02:45.550] base::options(...future.oldOptions) [18:02:45.550] if (.Platform$OS.type == "windows") { [18:02:45.550] old_names <- names(...future.oldEnvVars) [18:02:45.550] envs <- base::Sys.getenv() [18:02:45.550] names <- names(envs) [18:02:45.550] common <- intersect(names, old_names) [18:02:45.550] added <- setdiff(names, old_names) [18:02:45.550] removed <- setdiff(old_names, names) [18:02:45.550] changed <- common[...future.oldEnvVars[common] != [18:02:45.550] envs[common]] [18:02:45.550] NAMES <- toupper(changed) [18:02:45.550] args <- list() [18:02:45.550] for (kk in seq_along(NAMES)) { [18:02:45.550] name <- changed[[kk]] [18:02:45.550] NAME <- NAMES[[kk]] [18:02:45.550] if (name != NAME && is.element(NAME, old_names)) [18:02:45.550] next [18:02:45.550] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:45.550] } [18:02:45.550] NAMES <- toupper(added) [18:02:45.550] for (kk in seq_along(NAMES)) { [18:02:45.550] name <- added[[kk]] [18:02:45.550] NAME <- NAMES[[kk]] [18:02:45.550] if (name != NAME && is.element(NAME, old_names)) [18:02:45.550] next [18:02:45.550] args[[name]] <- "" [18:02:45.550] } [18:02:45.550] NAMES <- toupper(removed) [18:02:45.550] for (kk in seq_along(NAMES)) { [18:02:45.550] name <- removed[[kk]] [18:02:45.550] NAME <- NAMES[[kk]] [18:02:45.550] if (name != NAME && is.element(NAME, old_names)) [18:02:45.550] next [18:02:45.550] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:45.550] } [18:02:45.550] if (length(args) > 0) [18:02:45.550] base::do.call(base::Sys.setenv, args = args) [18:02:45.550] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:45.550] } [18:02:45.550] else { [18:02:45.550] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:45.550] } [18:02:45.550] { [18:02:45.550] if (base::length(...future.futureOptionsAdded) > [18:02:45.550] 0L) { [18:02:45.550] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:45.550] base::names(opts) <- ...future.futureOptionsAdded [18:02:45.550] base::options(opts) [18:02:45.550] } [18:02:45.550] { [18:02:45.550] { [18:02:45.550] base::options(mc.cores = ...future.mc.cores.old) [18:02:45.550] NULL [18:02:45.550] } [18:02:45.550] options(future.plan = NULL) [18:02:45.550] if (is.na(NA_character_)) [18:02:45.550] Sys.unsetenv("R_FUTURE_PLAN") [18:02:45.550] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:45.550] future::plan(list(function (..., workers = availableCores(), [18:02:45.550] lazy = FALSE, rscript_libs = .libPaths(), [18:02:45.550] envir = parent.frame()) [18:02:45.550] { [18:02:45.550] if (is.function(workers)) [18:02:45.550] workers <- workers() [18:02:45.550] workers <- structure(as.integer(workers), [18:02:45.550] class = class(workers)) [18:02:45.550] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:45.550] workers >= 1) [18:02:45.550] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:45.550] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:45.550] } [18:02:45.550] future <- MultisessionFuture(..., workers = workers, [18:02:45.550] lazy = lazy, rscript_libs = rscript_libs, [18:02:45.550] envir = envir) [18:02:45.550] if (!future$lazy) [18:02:45.550] future <- run(future) [18:02:45.550] invisible(future) [18:02:45.550] }), .cleanup = FALSE, .init = FALSE) [18:02:45.550] } [18:02:45.550] } [18:02:45.550] } [18:02:45.550] }) [18:02:45.550] if (TRUE) { [18:02:45.550] base::sink(type = "output", split = FALSE) [18:02:45.550] if (TRUE) { [18:02:45.550] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:45.550] } [18:02:45.550] else { [18:02:45.550] ...future.result["stdout"] <- base::list(NULL) [18:02:45.550] } [18:02:45.550] base::close(...future.stdout) [18:02:45.550] ...future.stdout <- NULL [18:02:45.550] } [18:02:45.550] ...future.result$conditions <- ...future.conditions [18:02:45.550] ...future.result$finished <- base::Sys.time() [18:02:45.550] ...future.result [18:02:45.550] } [18:02:45.556] MultisessionFuture started [18:02:45.556] - Launch lazy future ... done [18:02:45.556] run() for 'MultisessionFuture' ... done [18:02:46.076] receiveMessageFromWorker() for ClusterFuture ... [18:02:46.076] - Validating connection of MultisessionFuture [18:02:46.077] - received message: FutureResult [18:02:46.077] - Received FutureResult [18:02:46.077] - Erased future from FutureRegistry [18:02:46.077] result() for ClusterFuture ... [18:02:46.077] - result already collected: FutureResult [18:02:46.078] result() for ClusterFuture ... done [18:02:46.078] receiveMessageFromWorker() for ClusterFuture ... done [18:02:46.078] A MultisessionFuture was resolved (result was not collected) [18:02:46.078] getGlobalsAndPackages() ... [18:02:46.078] Searching for globals... [18:02:46.080] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:46.080] Searching for globals ... DONE [18:02:46.080] Resolving globals: FALSE [18:02:46.081] [18:02:46.081] [18:02:46.081] getGlobalsAndPackages() ... DONE [18:02:46.082] run() for 'Future' ... [18:02:46.082] - state: 'created' [18:02:46.082] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:46.096] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:46.097] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:46.097] - Field: 'node' [18:02:46.097] - Field: 'label' [18:02:46.097] - Field: 'local' [18:02:46.097] - Field: 'owner' [18:02:46.098] - Field: 'envir' [18:02:46.098] - Field: 'workers' [18:02:46.098] - Field: 'packages' [18:02:46.098] - Field: 'gc' [18:02:46.098] - Field: 'conditions' [18:02:46.099] - Field: 'persistent' [18:02:46.099] - Field: 'expr' [18:02:46.099] - Field: 'uuid' [18:02:46.099] - Field: 'seed' [18:02:46.099] - Field: 'version' [18:02:46.100] - Field: 'result' [18:02:46.100] - Field: 'asynchronous' [18:02:46.100] - Field: 'calls' [18:02:46.100] - Field: 'globals' [18:02:46.100] - Field: 'stdout' [18:02:46.101] - Field: 'earlySignal' [18:02:46.101] - Field: 'lazy' [18:02:46.101] - Field: 'state' [18:02:46.101] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:46.101] - Launch lazy future ... [18:02:46.102] Packages needed by the future expression (n = 0): [18:02:46.102] Packages needed by future strategies (n = 0): [18:02:46.103] { [18:02:46.103] { [18:02:46.103] { [18:02:46.103] ...future.startTime <- base::Sys.time() [18:02:46.103] { [18:02:46.103] { [18:02:46.103] { [18:02:46.103] { [18:02:46.103] base::local({ [18:02:46.103] has_future <- base::requireNamespace("future", [18:02:46.103] quietly = TRUE) [18:02:46.103] if (has_future) { [18:02:46.103] ns <- base::getNamespace("future") [18:02:46.103] version <- ns[[".package"]][["version"]] [18:02:46.103] if (is.null(version)) [18:02:46.103] version <- utils::packageVersion("future") [18:02:46.103] } [18:02:46.103] else { [18:02:46.103] version <- NULL [18:02:46.103] } [18:02:46.103] if (!has_future || version < "1.8.0") { [18:02:46.103] info <- base::c(r_version = base::gsub("R version ", [18:02:46.103] "", base::R.version$version.string), [18:02:46.103] platform = base::sprintf("%s (%s-bit)", [18:02:46.103] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:46.103] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:46.103] "release", "version")], collapse = " "), [18:02:46.103] hostname = base::Sys.info()[["nodename"]]) [18:02:46.103] info <- base::sprintf("%s: %s", base::names(info), [18:02:46.103] info) [18:02:46.103] info <- base::paste(info, collapse = "; ") [18:02:46.103] if (!has_future) { [18:02:46.103] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:46.103] info) [18:02:46.103] } [18:02:46.103] else { [18:02:46.103] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:46.103] info, version) [18:02:46.103] } [18:02:46.103] base::stop(msg) [18:02:46.103] } [18:02:46.103] }) [18:02:46.103] } [18:02:46.103] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:46.103] base::options(mc.cores = 1L) [18:02:46.103] } [18:02:46.103] options(future.plan = NULL) [18:02:46.103] Sys.unsetenv("R_FUTURE_PLAN") [18:02:46.103] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:46.103] } [18:02:46.103] ...future.workdir <- getwd() [18:02:46.103] } [18:02:46.103] ...future.oldOptions <- base::as.list(base::.Options) [18:02:46.103] ...future.oldEnvVars <- base::Sys.getenv() [18:02:46.103] } [18:02:46.103] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:46.103] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:46.103] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:46.103] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:46.103] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:46.103] future.stdout.windows.reencode = NULL, width = 80L) [18:02:46.103] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:46.103] base::names(...future.oldOptions)) [18:02:46.103] } [18:02:46.103] if (FALSE) { [18:02:46.103] } [18:02:46.103] else { [18:02:46.103] if (TRUE) { [18:02:46.103] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:46.103] open = "w") [18:02:46.103] } [18:02:46.103] else { [18:02:46.103] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:46.103] windows = "NUL", "/dev/null"), open = "w") [18:02:46.103] } [18:02:46.103] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:46.103] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:46.103] base::sink(type = "output", split = FALSE) [18:02:46.103] base::close(...future.stdout) [18:02:46.103] }, add = TRUE) [18:02:46.103] } [18:02:46.103] ...future.frame <- base::sys.nframe() [18:02:46.103] ...future.conditions <- base::list() [18:02:46.103] ...future.rng <- base::globalenv()$.Random.seed [18:02:46.103] if (FALSE) { [18:02:46.103] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:46.103] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:46.103] } [18:02:46.103] ...future.result <- base::tryCatch({ [18:02:46.103] base::withCallingHandlers({ [18:02:46.103] ...future.value <- base::withVisible(base::local({ [18:02:46.103] ...future.makeSendCondition <- local({ [18:02:46.103] sendCondition <- NULL [18:02:46.103] function(frame = 1L) { [18:02:46.103] if (is.function(sendCondition)) [18:02:46.103] return(sendCondition) [18:02:46.103] ns <- getNamespace("parallel") [18:02:46.103] if (exists("sendData", mode = "function", [18:02:46.103] envir = ns)) { [18:02:46.103] parallel_sendData <- get("sendData", mode = "function", [18:02:46.103] envir = ns) [18:02:46.103] envir <- sys.frame(frame) [18:02:46.103] master <- NULL [18:02:46.103] while (!identical(envir, .GlobalEnv) && [18:02:46.103] !identical(envir, emptyenv())) { [18:02:46.103] if (exists("master", mode = "list", envir = envir, [18:02:46.103] inherits = FALSE)) { [18:02:46.103] master <- get("master", mode = "list", [18:02:46.103] envir = envir, inherits = FALSE) [18:02:46.103] if (inherits(master, c("SOCKnode", [18:02:46.103] "SOCK0node"))) { [18:02:46.103] sendCondition <<- function(cond) { [18:02:46.103] data <- list(type = "VALUE", value = cond, [18:02:46.103] success = TRUE) [18:02:46.103] parallel_sendData(master, data) [18:02:46.103] } [18:02:46.103] return(sendCondition) [18:02:46.103] } [18:02:46.103] } [18:02:46.103] frame <- frame + 1L [18:02:46.103] envir <- sys.frame(frame) [18:02:46.103] } [18:02:46.103] } [18:02:46.103] sendCondition <<- function(cond) NULL [18:02:46.103] } [18:02:46.103] }) [18:02:46.103] withCallingHandlers({ [18:02:46.103] { [18:02:46.103] Sys.sleep(0.5) [18:02:46.103] list(a = 1, b = 42L) [18:02:46.103] } [18:02:46.103] }, immediateCondition = function(cond) { [18:02:46.103] sendCondition <- ...future.makeSendCondition() [18:02:46.103] sendCondition(cond) [18:02:46.103] muffleCondition <- function (cond, pattern = "^muffle") [18:02:46.103] { [18:02:46.103] inherits <- base::inherits [18:02:46.103] invokeRestart <- base::invokeRestart [18:02:46.103] is.null <- base::is.null [18:02:46.103] muffled <- FALSE [18:02:46.103] if (inherits(cond, "message")) { [18:02:46.103] muffled <- grepl(pattern, "muffleMessage") [18:02:46.103] if (muffled) [18:02:46.103] invokeRestart("muffleMessage") [18:02:46.103] } [18:02:46.103] else if (inherits(cond, "warning")) { [18:02:46.103] muffled <- grepl(pattern, "muffleWarning") [18:02:46.103] if (muffled) [18:02:46.103] invokeRestart("muffleWarning") [18:02:46.103] } [18:02:46.103] else if (inherits(cond, "condition")) { [18:02:46.103] if (!is.null(pattern)) { [18:02:46.103] computeRestarts <- base::computeRestarts [18:02:46.103] grepl <- base::grepl [18:02:46.103] restarts <- computeRestarts(cond) [18:02:46.103] for (restart in restarts) { [18:02:46.103] name <- restart$name [18:02:46.103] if (is.null(name)) [18:02:46.103] next [18:02:46.103] if (!grepl(pattern, name)) [18:02:46.103] next [18:02:46.103] invokeRestart(restart) [18:02:46.103] muffled <- TRUE [18:02:46.103] break [18:02:46.103] } [18:02:46.103] } [18:02:46.103] } [18:02:46.103] invisible(muffled) [18:02:46.103] } [18:02:46.103] muffleCondition(cond) [18:02:46.103] }) [18:02:46.103] })) [18:02:46.103] future::FutureResult(value = ...future.value$value, [18:02:46.103] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:46.103] ...future.rng), globalenv = if (FALSE) [18:02:46.103] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:46.103] ...future.globalenv.names)) [18:02:46.103] else NULL, started = ...future.startTime, version = "1.8") [18:02:46.103] }, condition = base::local({ [18:02:46.103] c <- base::c [18:02:46.103] inherits <- base::inherits [18:02:46.103] invokeRestart <- base::invokeRestart [18:02:46.103] length <- base::length [18:02:46.103] list <- base::list [18:02:46.103] seq.int <- base::seq.int [18:02:46.103] signalCondition <- base::signalCondition [18:02:46.103] sys.calls <- base::sys.calls [18:02:46.103] `[[` <- base::`[[` [18:02:46.103] `+` <- base::`+` [18:02:46.103] `<<-` <- base::`<<-` [18:02:46.103] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:46.103] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:46.103] 3L)] [18:02:46.103] } [18:02:46.103] function(cond) { [18:02:46.103] is_error <- inherits(cond, "error") [18:02:46.103] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:46.103] NULL) [18:02:46.103] if (is_error) { [18:02:46.103] sessionInformation <- function() { [18:02:46.103] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:46.103] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:46.103] search = base::search(), system = base::Sys.info()) [18:02:46.103] } [18:02:46.103] ...future.conditions[[length(...future.conditions) + [18:02:46.103] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:46.103] cond$call), session = sessionInformation(), [18:02:46.103] timestamp = base::Sys.time(), signaled = 0L) [18:02:46.103] signalCondition(cond) [18:02:46.103] } [18:02:46.103] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:46.103] "immediateCondition"))) { [18:02:46.103] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:46.103] ...future.conditions[[length(...future.conditions) + [18:02:46.103] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:46.103] if (TRUE && !signal) { [18:02:46.103] muffleCondition <- function (cond, pattern = "^muffle") [18:02:46.103] { [18:02:46.103] inherits <- base::inherits [18:02:46.103] invokeRestart <- base::invokeRestart [18:02:46.103] is.null <- base::is.null [18:02:46.103] muffled <- FALSE [18:02:46.103] if (inherits(cond, "message")) { [18:02:46.103] muffled <- grepl(pattern, "muffleMessage") [18:02:46.103] if (muffled) [18:02:46.103] invokeRestart("muffleMessage") [18:02:46.103] } [18:02:46.103] else if (inherits(cond, "warning")) { [18:02:46.103] muffled <- grepl(pattern, "muffleWarning") [18:02:46.103] if (muffled) [18:02:46.103] invokeRestart("muffleWarning") [18:02:46.103] } [18:02:46.103] else if (inherits(cond, "condition")) { [18:02:46.103] if (!is.null(pattern)) { [18:02:46.103] computeRestarts <- base::computeRestarts [18:02:46.103] grepl <- base::grepl [18:02:46.103] restarts <- computeRestarts(cond) [18:02:46.103] for (restart in restarts) { [18:02:46.103] name <- restart$name [18:02:46.103] if (is.null(name)) [18:02:46.103] next [18:02:46.103] if (!grepl(pattern, name)) [18:02:46.103] next [18:02:46.103] invokeRestart(restart) [18:02:46.103] muffled <- TRUE [18:02:46.103] break [18:02:46.103] } [18:02:46.103] } [18:02:46.103] } [18:02:46.103] invisible(muffled) [18:02:46.103] } [18:02:46.103] muffleCondition(cond, pattern = "^muffle") [18:02:46.103] } [18:02:46.103] } [18:02:46.103] else { [18:02:46.103] if (TRUE) { [18:02:46.103] muffleCondition <- function (cond, pattern = "^muffle") [18:02:46.103] { [18:02:46.103] inherits <- base::inherits [18:02:46.103] invokeRestart <- base::invokeRestart [18:02:46.103] is.null <- base::is.null [18:02:46.103] muffled <- FALSE [18:02:46.103] if (inherits(cond, "message")) { [18:02:46.103] muffled <- grepl(pattern, "muffleMessage") [18:02:46.103] if (muffled) [18:02:46.103] invokeRestart("muffleMessage") [18:02:46.103] } [18:02:46.103] else if (inherits(cond, "warning")) { [18:02:46.103] muffled <- grepl(pattern, "muffleWarning") [18:02:46.103] if (muffled) [18:02:46.103] invokeRestart("muffleWarning") [18:02:46.103] } [18:02:46.103] else if (inherits(cond, "condition")) { [18:02:46.103] if (!is.null(pattern)) { [18:02:46.103] computeRestarts <- base::computeRestarts [18:02:46.103] grepl <- base::grepl [18:02:46.103] restarts <- computeRestarts(cond) [18:02:46.103] for (restart in restarts) { [18:02:46.103] name <- restart$name [18:02:46.103] if (is.null(name)) [18:02:46.103] next [18:02:46.103] if (!grepl(pattern, name)) [18:02:46.103] next [18:02:46.103] invokeRestart(restart) [18:02:46.103] muffled <- TRUE [18:02:46.103] break [18:02:46.103] } [18:02:46.103] } [18:02:46.103] } [18:02:46.103] invisible(muffled) [18:02:46.103] } [18:02:46.103] muffleCondition(cond, pattern = "^muffle") [18:02:46.103] } [18:02:46.103] } [18:02:46.103] } [18:02:46.103] })) [18:02:46.103] }, error = function(ex) { [18:02:46.103] base::structure(base::list(value = NULL, visible = NULL, [18:02:46.103] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:46.103] ...future.rng), started = ...future.startTime, [18:02:46.103] finished = Sys.time(), session_uuid = NA_character_, [18:02:46.103] version = "1.8"), class = "FutureResult") [18:02:46.103] }, finally = { [18:02:46.103] if (!identical(...future.workdir, getwd())) [18:02:46.103] setwd(...future.workdir) [18:02:46.103] { [18:02:46.103] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:46.103] ...future.oldOptions$nwarnings <- NULL [18:02:46.103] } [18:02:46.103] base::options(...future.oldOptions) [18:02:46.103] if (.Platform$OS.type == "windows") { [18:02:46.103] old_names <- names(...future.oldEnvVars) [18:02:46.103] envs <- base::Sys.getenv() [18:02:46.103] names <- names(envs) [18:02:46.103] common <- intersect(names, old_names) [18:02:46.103] added <- setdiff(names, old_names) [18:02:46.103] removed <- setdiff(old_names, names) [18:02:46.103] changed <- common[...future.oldEnvVars[common] != [18:02:46.103] envs[common]] [18:02:46.103] NAMES <- toupper(changed) [18:02:46.103] args <- list() [18:02:46.103] for (kk in seq_along(NAMES)) { [18:02:46.103] name <- changed[[kk]] [18:02:46.103] NAME <- NAMES[[kk]] [18:02:46.103] if (name != NAME && is.element(NAME, old_names)) [18:02:46.103] next [18:02:46.103] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:46.103] } [18:02:46.103] NAMES <- toupper(added) [18:02:46.103] for (kk in seq_along(NAMES)) { [18:02:46.103] name <- added[[kk]] [18:02:46.103] NAME <- NAMES[[kk]] [18:02:46.103] if (name != NAME && is.element(NAME, old_names)) [18:02:46.103] next [18:02:46.103] args[[name]] <- "" [18:02:46.103] } [18:02:46.103] NAMES <- toupper(removed) [18:02:46.103] for (kk in seq_along(NAMES)) { [18:02:46.103] name <- removed[[kk]] [18:02:46.103] NAME <- NAMES[[kk]] [18:02:46.103] if (name != NAME && is.element(NAME, old_names)) [18:02:46.103] next [18:02:46.103] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:46.103] } [18:02:46.103] if (length(args) > 0) [18:02:46.103] base::do.call(base::Sys.setenv, args = args) [18:02:46.103] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:46.103] } [18:02:46.103] else { [18:02:46.103] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:46.103] } [18:02:46.103] { [18:02:46.103] if (base::length(...future.futureOptionsAdded) > [18:02:46.103] 0L) { [18:02:46.103] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:46.103] base::names(opts) <- ...future.futureOptionsAdded [18:02:46.103] base::options(opts) [18:02:46.103] } [18:02:46.103] { [18:02:46.103] { [18:02:46.103] base::options(mc.cores = ...future.mc.cores.old) [18:02:46.103] NULL [18:02:46.103] } [18:02:46.103] options(future.plan = NULL) [18:02:46.103] if (is.na(NA_character_)) [18:02:46.103] Sys.unsetenv("R_FUTURE_PLAN") [18:02:46.103] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:46.103] future::plan(list(function (..., workers = availableCores(), [18:02:46.103] lazy = FALSE, rscript_libs = .libPaths(), [18:02:46.103] envir = parent.frame()) [18:02:46.103] { [18:02:46.103] if (is.function(workers)) [18:02:46.103] workers <- workers() [18:02:46.103] workers <- structure(as.integer(workers), [18:02:46.103] class = class(workers)) [18:02:46.103] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:46.103] workers >= 1) [18:02:46.103] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:46.103] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:46.103] } [18:02:46.103] future <- MultisessionFuture(..., workers = workers, [18:02:46.103] lazy = lazy, rscript_libs = rscript_libs, [18:02:46.103] envir = envir) [18:02:46.103] if (!future$lazy) [18:02:46.103] future <- run(future) [18:02:46.103] invisible(future) [18:02:46.103] }), .cleanup = FALSE, .init = FALSE) [18:02:46.103] } [18:02:46.103] } [18:02:46.103] } [18:02:46.103] }) [18:02:46.103] if (TRUE) { [18:02:46.103] base::sink(type = "output", split = FALSE) [18:02:46.103] if (TRUE) { [18:02:46.103] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:46.103] } [18:02:46.103] else { [18:02:46.103] ...future.result["stdout"] <- base::list(NULL) [18:02:46.103] } [18:02:46.103] base::close(...future.stdout) [18:02:46.103] ...future.stdout <- NULL [18:02:46.103] } [18:02:46.103] ...future.result$conditions <- ...future.conditions [18:02:46.103] ...future.result$finished <- base::Sys.time() [18:02:46.103] ...future.result [18:02:46.103] } [18:02:46.109] MultisessionFuture started [18:02:46.109] - Launch lazy future ... done [18:02:46.109] run() for 'MultisessionFuture' ... done [18:02:46.626] receiveMessageFromWorker() for ClusterFuture ... [18:02:46.626] - Validating connection of MultisessionFuture [18:02:46.626] - received message: FutureResult [18:02:46.627] - Received FutureResult [18:02:46.627] - Erased future from FutureRegistry [18:02:46.627] result() for ClusterFuture ... [18:02:46.627] - result already collected: FutureResult [18:02:46.627] result() for ClusterFuture ... done [18:02:46.628] receiveMessageFromWorker() for ClusterFuture ... done [18:02:46.628] A MultisessionFuture was resolved (result was not collected) - w/ exception ... [18:02:46.628] getGlobalsAndPackages() ... [18:02:46.628] Searching for globals... [18:02:46.629] - globals found: [2] 'list', 'stop' [18:02:46.629] Searching for globals ... DONE [18:02:46.630] Resolving globals: FALSE [18:02:46.630] [18:02:46.630] [18:02:46.630] getGlobalsAndPackages() ... DONE [18:02:46.631] run() for 'Future' ... [18:02:46.631] - state: 'created' [18:02:46.631] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:46.645] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:46.646] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:46.646] - Field: 'node' [18:02:46.646] - Field: 'label' [18:02:46.646] - Field: 'local' [18:02:46.646] - Field: 'owner' [18:02:46.647] - Field: 'envir' [18:02:46.647] - Field: 'workers' [18:02:46.647] - Field: 'packages' [18:02:46.647] - Field: 'gc' [18:02:46.647] - Field: 'conditions' [18:02:46.648] - Field: 'persistent' [18:02:46.648] - Field: 'expr' [18:02:46.648] - Field: 'uuid' [18:02:46.648] - Field: 'seed' [18:02:46.648] - Field: 'version' [18:02:46.649] - Field: 'result' [18:02:46.649] - Field: 'asynchronous' [18:02:46.649] - Field: 'calls' [18:02:46.649] - Field: 'globals' [18:02:46.649] - Field: 'stdout' [18:02:46.650] - Field: 'earlySignal' [18:02:46.650] - Field: 'lazy' [18:02:46.650] - Field: 'state' [18:02:46.650] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:46.650] - Launch lazy future ... [18:02:46.651] Packages needed by the future expression (n = 0): [18:02:46.651] Packages needed by future strategies (n = 0): [18:02:46.652] { [18:02:46.652] { [18:02:46.652] { [18:02:46.652] ...future.startTime <- base::Sys.time() [18:02:46.652] { [18:02:46.652] { [18:02:46.652] { [18:02:46.652] { [18:02:46.652] base::local({ [18:02:46.652] has_future <- base::requireNamespace("future", [18:02:46.652] quietly = TRUE) [18:02:46.652] if (has_future) { [18:02:46.652] ns <- base::getNamespace("future") [18:02:46.652] version <- ns[[".package"]][["version"]] [18:02:46.652] if (is.null(version)) [18:02:46.652] version <- utils::packageVersion("future") [18:02:46.652] } [18:02:46.652] else { [18:02:46.652] version <- NULL [18:02:46.652] } [18:02:46.652] if (!has_future || version < "1.8.0") { [18:02:46.652] info <- base::c(r_version = base::gsub("R version ", [18:02:46.652] "", base::R.version$version.string), [18:02:46.652] platform = base::sprintf("%s (%s-bit)", [18:02:46.652] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:46.652] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:46.652] "release", "version")], collapse = " "), [18:02:46.652] hostname = base::Sys.info()[["nodename"]]) [18:02:46.652] info <- base::sprintf("%s: %s", base::names(info), [18:02:46.652] info) [18:02:46.652] info <- base::paste(info, collapse = "; ") [18:02:46.652] if (!has_future) { [18:02:46.652] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:46.652] info) [18:02:46.652] } [18:02:46.652] else { [18:02:46.652] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:46.652] info, version) [18:02:46.652] } [18:02:46.652] base::stop(msg) [18:02:46.652] } [18:02:46.652] }) [18:02:46.652] } [18:02:46.652] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:46.652] base::options(mc.cores = 1L) [18:02:46.652] } [18:02:46.652] options(future.plan = NULL) [18:02:46.652] Sys.unsetenv("R_FUTURE_PLAN") [18:02:46.652] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:46.652] } [18:02:46.652] ...future.workdir <- getwd() [18:02:46.652] } [18:02:46.652] ...future.oldOptions <- base::as.list(base::.Options) [18:02:46.652] ...future.oldEnvVars <- base::Sys.getenv() [18:02:46.652] } [18:02:46.652] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:46.652] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:46.652] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:46.652] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:46.652] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:46.652] future.stdout.windows.reencode = NULL, width = 80L) [18:02:46.652] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:46.652] base::names(...future.oldOptions)) [18:02:46.652] } [18:02:46.652] if (FALSE) { [18:02:46.652] } [18:02:46.652] else { [18:02:46.652] if (TRUE) { [18:02:46.652] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:46.652] open = "w") [18:02:46.652] } [18:02:46.652] else { [18:02:46.652] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:46.652] windows = "NUL", "/dev/null"), open = "w") [18:02:46.652] } [18:02:46.652] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:46.652] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:46.652] base::sink(type = "output", split = FALSE) [18:02:46.652] base::close(...future.stdout) [18:02:46.652] }, add = TRUE) [18:02:46.652] } [18:02:46.652] ...future.frame <- base::sys.nframe() [18:02:46.652] ...future.conditions <- base::list() [18:02:46.652] ...future.rng <- base::globalenv()$.Random.seed [18:02:46.652] if (FALSE) { [18:02:46.652] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:46.652] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:46.652] } [18:02:46.652] ...future.result <- base::tryCatch({ [18:02:46.652] base::withCallingHandlers({ [18:02:46.652] ...future.value <- base::withVisible(base::local({ [18:02:46.652] ...future.makeSendCondition <- local({ [18:02:46.652] sendCondition <- NULL [18:02:46.652] function(frame = 1L) { [18:02:46.652] if (is.function(sendCondition)) [18:02:46.652] return(sendCondition) [18:02:46.652] ns <- getNamespace("parallel") [18:02:46.652] if (exists("sendData", mode = "function", [18:02:46.652] envir = ns)) { [18:02:46.652] parallel_sendData <- get("sendData", mode = "function", [18:02:46.652] envir = ns) [18:02:46.652] envir <- sys.frame(frame) [18:02:46.652] master <- NULL [18:02:46.652] while (!identical(envir, .GlobalEnv) && [18:02:46.652] !identical(envir, emptyenv())) { [18:02:46.652] if (exists("master", mode = "list", envir = envir, [18:02:46.652] inherits = FALSE)) { [18:02:46.652] master <- get("master", mode = "list", [18:02:46.652] envir = envir, inherits = FALSE) [18:02:46.652] if (inherits(master, c("SOCKnode", [18:02:46.652] "SOCK0node"))) { [18:02:46.652] sendCondition <<- function(cond) { [18:02:46.652] data <- list(type = "VALUE", value = cond, [18:02:46.652] success = TRUE) [18:02:46.652] parallel_sendData(master, data) [18:02:46.652] } [18:02:46.652] return(sendCondition) [18:02:46.652] } [18:02:46.652] } [18:02:46.652] frame <- frame + 1L [18:02:46.652] envir <- sys.frame(frame) [18:02:46.652] } [18:02:46.652] } [18:02:46.652] sendCondition <<- function(cond) NULL [18:02:46.652] } [18:02:46.652] }) [18:02:46.652] withCallingHandlers({ [18:02:46.652] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:46.652] }, immediateCondition = function(cond) { [18:02:46.652] sendCondition <- ...future.makeSendCondition() [18:02:46.652] sendCondition(cond) [18:02:46.652] muffleCondition <- function (cond, pattern = "^muffle") [18:02:46.652] { [18:02:46.652] inherits <- base::inherits [18:02:46.652] invokeRestart <- base::invokeRestart [18:02:46.652] is.null <- base::is.null [18:02:46.652] muffled <- FALSE [18:02:46.652] if (inherits(cond, "message")) { [18:02:46.652] muffled <- grepl(pattern, "muffleMessage") [18:02:46.652] if (muffled) [18:02:46.652] invokeRestart("muffleMessage") [18:02:46.652] } [18:02:46.652] else if (inherits(cond, "warning")) { [18:02:46.652] muffled <- grepl(pattern, "muffleWarning") [18:02:46.652] if (muffled) [18:02:46.652] invokeRestart("muffleWarning") [18:02:46.652] } [18:02:46.652] else if (inherits(cond, "condition")) { [18:02:46.652] if (!is.null(pattern)) { [18:02:46.652] computeRestarts <- base::computeRestarts [18:02:46.652] grepl <- base::grepl [18:02:46.652] restarts <- computeRestarts(cond) [18:02:46.652] for (restart in restarts) { [18:02:46.652] name <- restart$name [18:02:46.652] if (is.null(name)) [18:02:46.652] next [18:02:46.652] if (!grepl(pattern, name)) [18:02:46.652] next [18:02:46.652] invokeRestart(restart) [18:02:46.652] muffled <- TRUE [18:02:46.652] break [18:02:46.652] } [18:02:46.652] } [18:02:46.652] } [18:02:46.652] invisible(muffled) [18:02:46.652] } [18:02:46.652] muffleCondition(cond) [18:02:46.652] }) [18:02:46.652] })) [18:02:46.652] future::FutureResult(value = ...future.value$value, [18:02:46.652] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:46.652] ...future.rng), globalenv = if (FALSE) [18:02:46.652] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:46.652] ...future.globalenv.names)) [18:02:46.652] else NULL, started = ...future.startTime, version = "1.8") [18:02:46.652] }, condition = base::local({ [18:02:46.652] c <- base::c [18:02:46.652] inherits <- base::inherits [18:02:46.652] invokeRestart <- base::invokeRestart [18:02:46.652] length <- base::length [18:02:46.652] list <- base::list [18:02:46.652] seq.int <- base::seq.int [18:02:46.652] signalCondition <- base::signalCondition [18:02:46.652] sys.calls <- base::sys.calls [18:02:46.652] `[[` <- base::`[[` [18:02:46.652] `+` <- base::`+` [18:02:46.652] `<<-` <- base::`<<-` [18:02:46.652] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:46.652] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:46.652] 3L)] [18:02:46.652] } [18:02:46.652] function(cond) { [18:02:46.652] is_error <- inherits(cond, "error") [18:02:46.652] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:46.652] NULL) [18:02:46.652] if (is_error) { [18:02:46.652] sessionInformation <- function() { [18:02:46.652] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:46.652] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:46.652] search = base::search(), system = base::Sys.info()) [18:02:46.652] } [18:02:46.652] ...future.conditions[[length(...future.conditions) + [18:02:46.652] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:46.652] cond$call), session = sessionInformation(), [18:02:46.652] timestamp = base::Sys.time(), signaled = 0L) [18:02:46.652] signalCondition(cond) [18:02:46.652] } [18:02:46.652] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:46.652] "immediateCondition"))) { [18:02:46.652] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:46.652] ...future.conditions[[length(...future.conditions) + [18:02:46.652] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:46.652] if (TRUE && !signal) { [18:02:46.652] muffleCondition <- function (cond, pattern = "^muffle") [18:02:46.652] { [18:02:46.652] inherits <- base::inherits [18:02:46.652] invokeRestart <- base::invokeRestart [18:02:46.652] is.null <- base::is.null [18:02:46.652] muffled <- FALSE [18:02:46.652] if (inherits(cond, "message")) { [18:02:46.652] muffled <- grepl(pattern, "muffleMessage") [18:02:46.652] if (muffled) [18:02:46.652] invokeRestart("muffleMessage") [18:02:46.652] } [18:02:46.652] else if (inherits(cond, "warning")) { [18:02:46.652] muffled <- grepl(pattern, "muffleWarning") [18:02:46.652] if (muffled) [18:02:46.652] invokeRestart("muffleWarning") [18:02:46.652] } [18:02:46.652] else if (inherits(cond, "condition")) { [18:02:46.652] if (!is.null(pattern)) { [18:02:46.652] computeRestarts <- base::computeRestarts [18:02:46.652] grepl <- base::grepl [18:02:46.652] restarts <- computeRestarts(cond) [18:02:46.652] for (restart in restarts) { [18:02:46.652] name <- restart$name [18:02:46.652] if (is.null(name)) [18:02:46.652] next [18:02:46.652] if (!grepl(pattern, name)) [18:02:46.652] next [18:02:46.652] invokeRestart(restart) [18:02:46.652] muffled <- TRUE [18:02:46.652] break [18:02:46.652] } [18:02:46.652] } [18:02:46.652] } [18:02:46.652] invisible(muffled) [18:02:46.652] } [18:02:46.652] muffleCondition(cond, pattern = "^muffle") [18:02:46.652] } [18:02:46.652] } [18:02:46.652] else { [18:02:46.652] if (TRUE) { [18:02:46.652] muffleCondition <- function (cond, pattern = "^muffle") [18:02:46.652] { [18:02:46.652] inherits <- base::inherits [18:02:46.652] invokeRestart <- base::invokeRestart [18:02:46.652] is.null <- base::is.null [18:02:46.652] muffled <- FALSE [18:02:46.652] if (inherits(cond, "message")) { [18:02:46.652] muffled <- grepl(pattern, "muffleMessage") [18:02:46.652] if (muffled) [18:02:46.652] invokeRestart("muffleMessage") [18:02:46.652] } [18:02:46.652] else if (inherits(cond, "warning")) { [18:02:46.652] muffled <- grepl(pattern, "muffleWarning") [18:02:46.652] if (muffled) [18:02:46.652] invokeRestart("muffleWarning") [18:02:46.652] } [18:02:46.652] else if (inherits(cond, "condition")) { [18:02:46.652] if (!is.null(pattern)) { [18:02:46.652] computeRestarts <- base::computeRestarts [18:02:46.652] grepl <- base::grepl [18:02:46.652] restarts <- computeRestarts(cond) [18:02:46.652] for (restart in restarts) { [18:02:46.652] name <- restart$name [18:02:46.652] if (is.null(name)) [18:02:46.652] next [18:02:46.652] if (!grepl(pattern, name)) [18:02:46.652] next [18:02:46.652] invokeRestart(restart) [18:02:46.652] muffled <- TRUE [18:02:46.652] break [18:02:46.652] } [18:02:46.652] } [18:02:46.652] } [18:02:46.652] invisible(muffled) [18:02:46.652] } [18:02:46.652] muffleCondition(cond, pattern = "^muffle") [18:02:46.652] } [18:02:46.652] } [18:02:46.652] } [18:02:46.652] })) [18:02:46.652] }, error = function(ex) { [18:02:46.652] base::structure(base::list(value = NULL, visible = NULL, [18:02:46.652] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:46.652] ...future.rng), started = ...future.startTime, [18:02:46.652] finished = Sys.time(), session_uuid = NA_character_, [18:02:46.652] version = "1.8"), class = "FutureResult") [18:02:46.652] }, finally = { [18:02:46.652] if (!identical(...future.workdir, getwd())) [18:02:46.652] setwd(...future.workdir) [18:02:46.652] { [18:02:46.652] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:46.652] ...future.oldOptions$nwarnings <- NULL [18:02:46.652] } [18:02:46.652] base::options(...future.oldOptions) [18:02:46.652] if (.Platform$OS.type == "windows") { [18:02:46.652] old_names <- names(...future.oldEnvVars) [18:02:46.652] envs <- base::Sys.getenv() [18:02:46.652] names <- names(envs) [18:02:46.652] common <- intersect(names, old_names) [18:02:46.652] added <- setdiff(names, old_names) [18:02:46.652] removed <- setdiff(old_names, names) [18:02:46.652] changed <- common[...future.oldEnvVars[common] != [18:02:46.652] envs[common]] [18:02:46.652] NAMES <- toupper(changed) [18:02:46.652] args <- list() [18:02:46.652] for (kk in seq_along(NAMES)) { [18:02:46.652] name <- changed[[kk]] [18:02:46.652] NAME <- NAMES[[kk]] [18:02:46.652] if (name != NAME && is.element(NAME, old_names)) [18:02:46.652] next [18:02:46.652] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:46.652] } [18:02:46.652] NAMES <- toupper(added) [18:02:46.652] for (kk in seq_along(NAMES)) { [18:02:46.652] name <- added[[kk]] [18:02:46.652] NAME <- NAMES[[kk]] [18:02:46.652] if (name != NAME && is.element(NAME, old_names)) [18:02:46.652] next [18:02:46.652] args[[name]] <- "" [18:02:46.652] } [18:02:46.652] NAMES <- toupper(removed) [18:02:46.652] for (kk in seq_along(NAMES)) { [18:02:46.652] name <- removed[[kk]] [18:02:46.652] NAME <- NAMES[[kk]] [18:02:46.652] if (name != NAME && is.element(NAME, old_names)) [18:02:46.652] next [18:02:46.652] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:46.652] } [18:02:46.652] if (length(args) > 0) [18:02:46.652] base::do.call(base::Sys.setenv, args = args) [18:02:46.652] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:46.652] } [18:02:46.652] else { [18:02:46.652] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:46.652] } [18:02:46.652] { [18:02:46.652] if (base::length(...future.futureOptionsAdded) > [18:02:46.652] 0L) { [18:02:46.652] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:46.652] base::names(opts) <- ...future.futureOptionsAdded [18:02:46.652] base::options(opts) [18:02:46.652] } [18:02:46.652] { [18:02:46.652] { [18:02:46.652] base::options(mc.cores = ...future.mc.cores.old) [18:02:46.652] NULL [18:02:46.652] } [18:02:46.652] options(future.plan = NULL) [18:02:46.652] if (is.na(NA_character_)) [18:02:46.652] Sys.unsetenv("R_FUTURE_PLAN") [18:02:46.652] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:46.652] future::plan(list(function (..., workers = availableCores(), [18:02:46.652] lazy = FALSE, rscript_libs = .libPaths(), [18:02:46.652] envir = parent.frame()) [18:02:46.652] { [18:02:46.652] if (is.function(workers)) [18:02:46.652] workers <- workers() [18:02:46.652] workers <- structure(as.integer(workers), [18:02:46.652] class = class(workers)) [18:02:46.652] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:46.652] workers >= 1) [18:02:46.652] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:46.652] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:46.652] } [18:02:46.652] future <- MultisessionFuture(..., workers = workers, [18:02:46.652] lazy = lazy, rscript_libs = rscript_libs, [18:02:46.652] envir = envir) [18:02:46.652] if (!future$lazy) [18:02:46.652] future <- run(future) [18:02:46.652] invisible(future) [18:02:46.652] }), .cleanup = FALSE, .init = FALSE) [18:02:46.652] } [18:02:46.652] } [18:02:46.652] } [18:02:46.652] }) [18:02:46.652] if (TRUE) { [18:02:46.652] base::sink(type = "output", split = FALSE) [18:02:46.652] if (TRUE) { [18:02:46.652] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:46.652] } [18:02:46.652] else { [18:02:46.652] ...future.result["stdout"] <- base::list(NULL) [18:02:46.652] } [18:02:46.652] base::close(...future.stdout) [18:02:46.652] ...future.stdout <- NULL [18:02:46.652] } [18:02:46.652] ...future.result$conditions <- ...future.conditions [18:02:46.652] ...future.result$finished <- base::Sys.time() [18:02:46.652] ...future.result [18:02:46.652] } [18:02:46.658] MultisessionFuture started [18:02:46.658] - Launch lazy future ... done [18:02:46.658] run() for 'MultisessionFuture' ... done [18:02:46.675] receiveMessageFromWorker() for ClusterFuture ... [18:02:46.676] - Validating connection of MultisessionFuture [18:02:46.676] - received message: FutureResult [18:02:46.677] - Received FutureResult [18:02:46.677] - Erased future from FutureRegistry [18:02:46.677] result() for ClusterFuture ... [18:02:46.677] - result already collected: FutureResult [18:02:46.677] result() for ClusterFuture ... done [18:02:46.677] signalConditions() ... [18:02:46.678] - include = 'immediateCondition' [18:02:46.678] - exclude = [18:02:46.678] - resignal = FALSE [18:02:46.678] - Number of conditions: 1 [18:02:46.678] signalConditions() ... done [18:02:46.679] receiveMessageFromWorker() for ClusterFuture ... done [18:02:46.679] A MultisessionFuture was resolved (result was not collected) [18:02:46.679] getGlobalsAndPackages() ... [18:02:46.679] Searching for globals... [18:02:46.682] - globals found: [2] 'list', 'stop' [18:02:46.683] Searching for globals ... DONE [18:02:46.683] Resolving globals: FALSE [18:02:46.683] [18:02:46.683] [18:02:46.683] getGlobalsAndPackages() ... DONE [18:02:46.684] run() for 'Future' ... [18:02:46.684] - state: 'created' [18:02:46.684] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:46.698] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:46.698] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:46.698] - Field: 'node' [18:02:46.699] - Field: 'label' [18:02:46.699] - Field: 'local' [18:02:46.699] - Field: 'owner' [18:02:46.699] - Field: 'envir' [18:02:46.699] - Field: 'workers' [18:02:46.699] - Field: 'packages' [18:02:46.700] - Field: 'gc' [18:02:46.700] - Field: 'conditions' [18:02:46.700] - Field: 'persistent' [18:02:46.700] - Field: 'expr' [18:02:46.700] - Field: 'uuid' [18:02:46.700] - Field: 'seed' [18:02:46.701] - Field: 'version' [18:02:46.701] - Field: 'result' [18:02:46.701] - Field: 'asynchronous' [18:02:46.701] - Field: 'calls' [18:02:46.701] - Field: 'globals' [18:02:46.702] - Field: 'stdout' [18:02:46.702] - Field: 'earlySignal' [18:02:46.702] - Field: 'lazy' [18:02:46.702] - Field: 'state' [18:02:46.702] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:46.702] - Launch lazy future ... [18:02:46.703] Packages needed by the future expression (n = 0): [18:02:46.703] Packages needed by future strategies (n = 0): [18:02:46.703] { [18:02:46.703] { [18:02:46.703] { [18:02:46.703] ...future.startTime <- base::Sys.time() [18:02:46.703] { [18:02:46.703] { [18:02:46.703] { [18:02:46.703] { [18:02:46.703] base::local({ [18:02:46.703] has_future <- base::requireNamespace("future", [18:02:46.703] quietly = TRUE) [18:02:46.703] if (has_future) { [18:02:46.703] ns <- base::getNamespace("future") [18:02:46.703] version <- ns[[".package"]][["version"]] [18:02:46.703] if (is.null(version)) [18:02:46.703] version <- utils::packageVersion("future") [18:02:46.703] } [18:02:46.703] else { [18:02:46.703] version <- NULL [18:02:46.703] } [18:02:46.703] if (!has_future || version < "1.8.0") { [18:02:46.703] info <- base::c(r_version = base::gsub("R version ", [18:02:46.703] "", base::R.version$version.string), [18:02:46.703] platform = base::sprintf("%s (%s-bit)", [18:02:46.703] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:46.703] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:46.703] "release", "version")], collapse = " "), [18:02:46.703] hostname = base::Sys.info()[["nodename"]]) [18:02:46.703] info <- base::sprintf("%s: %s", base::names(info), [18:02:46.703] info) [18:02:46.703] info <- base::paste(info, collapse = "; ") [18:02:46.703] if (!has_future) { [18:02:46.703] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:46.703] info) [18:02:46.703] } [18:02:46.703] else { [18:02:46.703] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:46.703] info, version) [18:02:46.703] } [18:02:46.703] base::stop(msg) [18:02:46.703] } [18:02:46.703] }) [18:02:46.703] } [18:02:46.703] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:46.703] base::options(mc.cores = 1L) [18:02:46.703] } [18:02:46.703] options(future.plan = NULL) [18:02:46.703] Sys.unsetenv("R_FUTURE_PLAN") [18:02:46.703] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:46.703] } [18:02:46.703] ...future.workdir <- getwd() [18:02:46.703] } [18:02:46.703] ...future.oldOptions <- base::as.list(base::.Options) [18:02:46.703] ...future.oldEnvVars <- base::Sys.getenv() [18:02:46.703] } [18:02:46.703] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:46.703] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:46.703] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:46.703] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:46.703] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:46.703] future.stdout.windows.reencode = NULL, width = 80L) [18:02:46.703] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:46.703] base::names(...future.oldOptions)) [18:02:46.703] } [18:02:46.703] if (FALSE) { [18:02:46.703] } [18:02:46.703] else { [18:02:46.703] if (TRUE) { [18:02:46.703] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:46.703] open = "w") [18:02:46.703] } [18:02:46.703] else { [18:02:46.703] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:46.703] windows = "NUL", "/dev/null"), open = "w") [18:02:46.703] } [18:02:46.703] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:46.703] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:46.703] base::sink(type = "output", split = FALSE) [18:02:46.703] base::close(...future.stdout) [18:02:46.703] }, add = TRUE) [18:02:46.703] } [18:02:46.703] ...future.frame <- base::sys.nframe() [18:02:46.703] ...future.conditions <- base::list() [18:02:46.703] ...future.rng <- base::globalenv()$.Random.seed [18:02:46.703] if (FALSE) { [18:02:46.703] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:46.703] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:46.703] } [18:02:46.703] ...future.result <- base::tryCatch({ [18:02:46.703] base::withCallingHandlers({ [18:02:46.703] ...future.value <- base::withVisible(base::local({ [18:02:46.703] ...future.makeSendCondition <- local({ [18:02:46.703] sendCondition <- NULL [18:02:46.703] function(frame = 1L) { [18:02:46.703] if (is.function(sendCondition)) [18:02:46.703] return(sendCondition) [18:02:46.703] ns <- getNamespace("parallel") [18:02:46.703] if (exists("sendData", mode = "function", [18:02:46.703] envir = ns)) { [18:02:46.703] parallel_sendData <- get("sendData", mode = "function", [18:02:46.703] envir = ns) [18:02:46.703] envir <- sys.frame(frame) [18:02:46.703] master <- NULL [18:02:46.703] while (!identical(envir, .GlobalEnv) && [18:02:46.703] !identical(envir, emptyenv())) { [18:02:46.703] if (exists("master", mode = "list", envir = envir, [18:02:46.703] inherits = FALSE)) { [18:02:46.703] master <- get("master", mode = "list", [18:02:46.703] envir = envir, inherits = FALSE) [18:02:46.703] if (inherits(master, c("SOCKnode", [18:02:46.703] "SOCK0node"))) { [18:02:46.703] sendCondition <<- function(cond) { [18:02:46.703] data <- list(type = "VALUE", value = cond, [18:02:46.703] success = TRUE) [18:02:46.703] parallel_sendData(master, data) [18:02:46.703] } [18:02:46.703] return(sendCondition) [18:02:46.703] } [18:02:46.703] } [18:02:46.703] frame <- frame + 1L [18:02:46.703] envir <- sys.frame(frame) [18:02:46.703] } [18:02:46.703] } [18:02:46.703] sendCondition <<- function(cond) NULL [18:02:46.703] } [18:02:46.703] }) [18:02:46.703] withCallingHandlers({ [18:02:46.703] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:46.703] }, immediateCondition = function(cond) { [18:02:46.703] sendCondition <- ...future.makeSendCondition() [18:02:46.703] sendCondition(cond) [18:02:46.703] muffleCondition <- function (cond, pattern = "^muffle") [18:02:46.703] { [18:02:46.703] inherits <- base::inherits [18:02:46.703] invokeRestart <- base::invokeRestart [18:02:46.703] is.null <- base::is.null [18:02:46.703] muffled <- FALSE [18:02:46.703] if (inherits(cond, "message")) { [18:02:46.703] muffled <- grepl(pattern, "muffleMessage") [18:02:46.703] if (muffled) [18:02:46.703] invokeRestart("muffleMessage") [18:02:46.703] } [18:02:46.703] else if (inherits(cond, "warning")) { [18:02:46.703] muffled <- grepl(pattern, "muffleWarning") [18:02:46.703] if (muffled) [18:02:46.703] invokeRestart("muffleWarning") [18:02:46.703] } [18:02:46.703] else if (inherits(cond, "condition")) { [18:02:46.703] if (!is.null(pattern)) { [18:02:46.703] computeRestarts <- base::computeRestarts [18:02:46.703] grepl <- base::grepl [18:02:46.703] restarts <- computeRestarts(cond) [18:02:46.703] for (restart in restarts) { [18:02:46.703] name <- restart$name [18:02:46.703] if (is.null(name)) [18:02:46.703] next [18:02:46.703] if (!grepl(pattern, name)) [18:02:46.703] next [18:02:46.703] invokeRestart(restart) [18:02:46.703] muffled <- TRUE [18:02:46.703] break [18:02:46.703] } [18:02:46.703] } [18:02:46.703] } [18:02:46.703] invisible(muffled) [18:02:46.703] } [18:02:46.703] muffleCondition(cond) [18:02:46.703] }) [18:02:46.703] })) [18:02:46.703] future::FutureResult(value = ...future.value$value, [18:02:46.703] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:46.703] ...future.rng), globalenv = if (FALSE) [18:02:46.703] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:46.703] ...future.globalenv.names)) [18:02:46.703] else NULL, started = ...future.startTime, version = "1.8") [18:02:46.703] }, condition = base::local({ [18:02:46.703] c <- base::c [18:02:46.703] inherits <- base::inherits [18:02:46.703] invokeRestart <- base::invokeRestart [18:02:46.703] length <- base::length [18:02:46.703] list <- base::list [18:02:46.703] seq.int <- base::seq.int [18:02:46.703] signalCondition <- base::signalCondition [18:02:46.703] sys.calls <- base::sys.calls [18:02:46.703] `[[` <- base::`[[` [18:02:46.703] `+` <- base::`+` [18:02:46.703] `<<-` <- base::`<<-` [18:02:46.703] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:46.703] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:46.703] 3L)] [18:02:46.703] } [18:02:46.703] function(cond) { [18:02:46.703] is_error <- inherits(cond, "error") [18:02:46.703] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:46.703] NULL) [18:02:46.703] if (is_error) { [18:02:46.703] sessionInformation <- function() { [18:02:46.703] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:46.703] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:46.703] search = base::search(), system = base::Sys.info()) [18:02:46.703] } [18:02:46.703] ...future.conditions[[length(...future.conditions) + [18:02:46.703] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:46.703] cond$call), session = sessionInformation(), [18:02:46.703] timestamp = base::Sys.time(), signaled = 0L) [18:02:46.703] signalCondition(cond) [18:02:46.703] } [18:02:46.703] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:46.703] "immediateCondition"))) { [18:02:46.703] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:46.703] ...future.conditions[[length(...future.conditions) + [18:02:46.703] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:46.703] if (TRUE && !signal) { [18:02:46.703] muffleCondition <- function (cond, pattern = "^muffle") [18:02:46.703] { [18:02:46.703] inherits <- base::inherits [18:02:46.703] invokeRestart <- base::invokeRestart [18:02:46.703] is.null <- base::is.null [18:02:46.703] muffled <- FALSE [18:02:46.703] if (inherits(cond, "message")) { [18:02:46.703] muffled <- grepl(pattern, "muffleMessage") [18:02:46.703] if (muffled) [18:02:46.703] invokeRestart("muffleMessage") [18:02:46.703] } [18:02:46.703] else if (inherits(cond, "warning")) { [18:02:46.703] muffled <- grepl(pattern, "muffleWarning") [18:02:46.703] if (muffled) [18:02:46.703] invokeRestart("muffleWarning") [18:02:46.703] } [18:02:46.703] else if (inherits(cond, "condition")) { [18:02:46.703] if (!is.null(pattern)) { [18:02:46.703] computeRestarts <- base::computeRestarts [18:02:46.703] grepl <- base::grepl [18:02:46.703] restarts <- computeRestarts(cond) [18:02:46.703] for (restart in restarts) { [18:02:46.703] name <- restart$name [18:02:46.703] if (is.null(name)) [18:02:46.703] next [18:02:46.703] if (!grepl(pattern, name)) [18:02:46.703] next [18:02:46.703] invokeRestart(restart) [18:02:46.703] muffled <- TRUE [18:02:46.703] break [18:02:46.703] } [18:02:46.703] } [18:02:46.703] } [18:02:46.703] invisible(muffled) [18:02:46.703] } [18:02:46.703] muffleCondition(cond, pattern = "^muffle") [18:02:46.703] } [18:02:46.703] } [18:02:46.703] else { [18:02:46.703] if (TRUE) { [18:02:46.703] muffleCondition <- function (cond, pattern = "^muffle") [18:02:46.703] { [18:02:46.703] inherits <- base::inherits [18:02:46.703] invokeRestart <- base::invokeRestart [18:02:46.703] is.null <- base::is.null [18:02:46.703] muffled <- FALSE [18:02:46.703] if (inherits(cond, "message")) { [18:02:46.703] muffled <- grepl(pattern, "muffleMessage") [18:02:46.703] if (muffled) [18:02:46.703] invokeRestart("muffleMessage") [18:02:46.703] } [18:02:46.703] else if (inherits(cond, "warning")) { [18:02:46.703] muffled <- grepl(pattern, "muffleWarning") [18:02:46.703] if (muffled) [18:02:46.703] invokeRestart("muffleWarning") [18:02:46.703] } [18:02:46.703] else if (inherits(cond, "condition")) { [18:02:46.703] if (!is.null(pattern)) { [18:02:46.703] computeRestarts <- base::computeRestarts [18:02:46.703] grepl <- base::grepl [18:02:46.703] restarts <- computeRestarts(cond) [18:02:46.703] for (restart in restarts) { [18:02:46.703] name <- restart$name [18:02:46.703] if (is.null(name)) [18:02:46.703] next [18:02:46.703] if (!grepl(pattern, name)) [18:02:46.703] next [18:02:46.703] invokeRestart(restart) [18:02:46.703] muffled <- TRUE [18:02:46.703] break [18:02:46.703] } [18:02:46.703] } [18:02:46.703] } [18:02:46.703] invisible(muffled) [18:02:46.703] } [18:02:46.703] muffleCondition(cond, pattern = "^muffle") [18:02:46.703] } [18:02:46.703] } [18:02:46.703] } [18:02:46.703] })) [18:02:46.703] }, error = function(ex) { [18:02:46.703] base::structure(base::list(value = NULL, visible = NULL, [18:02:46.703] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:46.703] ...future.rng), started = ...future.startTime, [18:02:46.703] finished = Sys.time(), session_uuid = NA_character_, [18:02:46.703] version = "1.8"), class = "FutureResult") [18:02:46.703] }, finally = { [18:02:46.703] if (!identical(...future.workdir, getwd())) [18:02:46.703] setwd(...future.workdir) [18:02:46.703] { [18:02:46.703] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:46.703] ...future.oldOptions$nwarnings <- NULL [18:02:46.703] } [18:02:46.703] base::options(...future.oldOptions) [18:02:46.703] if (.Platform$OS.type == "windows") { [18:02:46.703] old_names <- names(...future.oldEnvVars) [18:02:46.703] envs <- base::Sys.getenv() [18:02:46.703] names <- names(envs) [18:02:46.703] common <- intersect(names, old_names) [18:02:46.703] added <- setdiff(names, old_names) [18:02:46.703] removed <- setdiff(old_names, names) [18:02:46.703] changed <- common[...future.oldEnvVars[common] != [18:02:46.703] envs[common]] [18:02:46.703] NAMES <- toupper(changed) [18:02:46.703] args <- list() [18:02:46.703] for (kk in seq_along(NAMES)) { [18:02:46.703] name <- changed[[kk]] [18:02:46.703] NAME <- NAMES[[kk]] [18:02:46.703] if (name != NAME && is.element(NAME, old_names)) [18:02:46.703] next [18:02:46.703] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:46.703] } [18:02:46.703] NAMES <- toupper(added) [18:02:46.703] for (kk in seq_along(NAMES)) { [18:02:46.703] name <- added[[kk]] [18:02:46.703] NAME <- NAMES[[kk]] [18:02:46.703] if (name != NAME && is.element(NAME, old_names)) [18:02:46.703] next [18:02:46.703] args[[name]] <- "" [18:02:46.703] } [18:02:46.703] NAMES <- toupper(removed) [18:02:46.703] for (kk in seq_along(NAMES)) { [18:02:46.703] name <- removed[[kk]] [18:02:46.703] NAME <- NAMES[[kk]] [18:02:46.703] if (name != NAME && is.element(NAME, old_names)) [18:02:46.703] next [18:02:46.703] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:46.703] } [18:02:46.703] if (length(args) > 0) [18:02:46.703] base::do.call(base::Sys.setenv, args = args) [18:02:46.703] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:46.703] } [18:02:46.703] else { [18:02:46.703] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:46.703] } [18:02:46.703] { [18:02:46.703] if (base::length(...future.futureOptionsAdded) > [18:02:46.703] 0L) { [18:02:46.703] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:46.703] base::names(opts) <- ...future.futureOptionsAdded [18:02:46.703] base::options(opts) [18:02:46.703] } [18:02:46.703] { [18:02:46.703] { [18:02:46.703] base::options(mc.cores = ...future.mc.cores.old) [18:02:46.703] NULL [18:02:46.703] } [18:02:46.703] options(future.plan = NULL) [18:02:46.703] if (is.na(NA_character_)) [18:02:46.703] Sys.unsetenv("R_FUTURE_PLAN") [18:02:46.703] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:46.703] future::plan(list(function (..., workers = availableCores(), [18:02:46.703] lazy = FALSE, rscript_libs = .libPaths(), [18:02:46.703] envir = parent.frame()) [18:02:46.703] { [18:02:46.703] if (is.function(workers)) [18:02:46.703] workers <- workers() [18:02:46.703] workers <- structure(as.integer(workers), [18:02:46.703] class = class(workers)) [18:02:46.703] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:46.703] workers >= 1) [18:02:46.703] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:46.703] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:46.703] } [18:02:46.703] future <- MultisessionFuture(..., workers = workers, [18:02:46.703] lazy = lazy, rscript_libs = rscript_libs, [18:02:46.703] envir = envir) [18:02:46.703] if (!future$lazy) [18:02:46.703] future <- run(future) [18:02:46.703] invisible(future) [18:02:46.703] }), .cleanup = FALSE, .init = FALSE) [18:02:46.703] } [18:02:46.703] } [18:02:46.703] } [18:02:46.703] }) [18:02:46.703] if (TRUE) { [18:02:46.703] base::sink(type = "output", split = FALSE) [18:02:46.703] if (TRUE) { [18:02:46.703] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:46.703] } [18:02:46.703] else { [18:02:46.703] ...future.result["stdout"] <- base::list(NULL) [18:02:46.703] } [18:02:46.703] base::close(...future.stdout) [18:02:46.703] ...future.stdout <- NULL [18:02:46.703] } [18:02:46.703] ...future.result$conditions <- ...future.conditions [18:02:46.703] ...future.result$finished <- base::Sys.time() [18:02:46.703] ...future.result [18:02:46.703] } [18:02:46.709] MultisessionFuture started [18:02:46.709] - Launch lazy future ... done [18:02:46.710] run() for 'MultisessionFuture' ... done [18:02:46.725] receiveMessageFromWorker() for ClusterFuture ... [18:02:46.725] - Validating connection of MultisessionFuture [18:02:46.726] - received message: FutureResult [18:02:46.726] - Received FutureResult [18:02:46.726] - Erased future from FutureRegistry [18:02:46.726] result() for ClusterFuture ... [18:02:46.726] - result already collected: FutureResult [18:02:46.727] result() for ClusterFuture ... done [18:02:46.727] signalConditions() ... [18:02:46.727] - include = 'immediateCondition' [18:02:46.727] - exclude = [18:02:46.727] - resignal = FALSE [18:02:46.727] - Number of conditions: 1 [18:02:46.728] signalConditions() ... done [18:02:46.728] receiveMessageFromWorker() for ClusterFuture ... done [18:02:46.728] A MultisessionFuture was resolved (result was not collected) - result = FALSE, recursive = FALSE ... DONE - result = FALSE, recursive = TRUE ... [18:02:46.728] getGlobalsAndPackages() ... [18:02:46.728] Searching for globals... [18:02:46.730] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:46.730] Searching for globals ... DONE [18:02:46.730] Resolving globals: FALSE [18:02:46.730] [18:02:46.731] [18:02:46.731] getGlobalsAndPackages() ... DONE [18:02:46.731] run() for 'Future' ... [18:02:46.731] - state: 'created' [18:02:46.731] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:46.745] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:46.745] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:46.745] - Field: 'node' [18:02:46.745] - Field: 'label' [18:02:46.745] - Field: 'local' [18:02:46.746] - Field: 'owner' [18:02:46.746] - Field: 'envir' [18:02:46.746] - Field: 'workers' [18:02:46.746] - Field: 'packages' [18:02:46.746] - Field: 'gc' [18:02:46.746] - Field: 'conditions' [18:02:46.747] - Field: 'persistent' [18:02:46.747] - Field: 'expr' [18:02:46.747] - Field: 'uuid' [18:02:46.747] - Field: 'seed' [18:02:46.747] - Field: 'version' [18:02:46.748] - Field: 'result' [18:02:46.748] - Field: 'asynchronous' [18:02:46.748] - Field: 'calls' [18:02:46.748] - Field: 'globals' [18:02:46.748] - Field: 'stdout' [18:02:46.748] - Field: 'earlySignal' [18:02:46.749] - Field: 'lazy' [18:02:46.749] - Field: 'state' [18:02:46.749] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:46.749] - Launch lazy future ... [18:02:46.750] Packages needed by the future expression (n = 0): [18:02:46.750] Packages needed by future strategies (n = 0): [18:02:46.750] { [18:02:46.750] { [18:02:46.750] { [18:02:46.750] ...future.startTime <- base::Sys.time() [18:02:46.750] { [18:02:46.750] { [18:02:46.750] { [18:02:46.750] { [18:02:46.750] base::local({ [18:02:46.750] has_future <- base::requireNamespace("future", [18:02:46.750] quietly = TRUE) [18:02:46.750] if (has_future) { [18:02:46.750] ns <- base::getNamespace("future") [18:02:46.750] version <- ns[[".package"]][["version"]] [18:02:46.750] if (is.null(version)) [18:02:46.750] version <- utils::packageVersion("future") [18:02:46.750] } [18:02:46.750] else { [18:02:46.750] version <- NULL [18:02:46.750] } [18:02:46.750] if (!has_future || version < "1.8.0") { [18:02:46.750] info <- base::c(r_version = base::gsub("R version ", [18:02:46.750] "", base::R.version$version.string), [18:02:46.750] platform = base::sprintf("%s (%s-bit)", [18:02:46.750] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:46.750] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:46.750] "release", "version")], collapse = " "), [18:02:46.750] hostname = base::Sys.info()[["nodename"]]) [18:02:46.750] info <- base::sprintf("%s: %s", base::names(info), [18:02:46.750] info) [18:02:46.750] info <- base::paste(info, collapse = "; ") [18:02:46.750] if (!has_future) { [18:02:46.750] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:46.750] info) [18:02:46.750] } [18:02:46.750] else { [18:02:46.750] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:46.750] info, version) [18:02:46.750] } [18:02:46.750] base::stop(msg) [18:02:46.750] } [18:02:46.750] }) [18:02:46.750] } [18:02:46.750] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:46.750] base::options(mc.cores = 1L) [18:02:46.750] } [18:02:46.750] options(future.plan = NULL) [18:02:46.750] Sys.unsetenv("R_FUTURE_PLAN") [18:02:46.750] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:46.750] } [18:02:46.750] ...future.workdir <- getwd() [18:02:46.750] } [18:02:46.750] ...future.oldOptions <- base::as.list(base::.Options) [18:02:46.750] ...future.oldEnvVars <- base::Sys.getenv() [18:02:46.750] } [18:02:46.750] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:46.750] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:46.750] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:46.750] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:46.750] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:46.750] future.stdout.windows.reencode = NULL, width = 80L) [18:02:46.750] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:46.750] base::names(...future.oldOptions)) [18:02:46.750] } [18:02:46.750] if (FALSE) { [18:02:46.750] } [18:02:46.750] else { [18:02:46.750] if (TRUE) { [18:02:46.750] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:46.750] open = "w") [18:02:46.750] } [18:02:46.750] else { [18:02:46.750] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:46.750] windows = "NUL", "/dev/null"), open = "w") [18:02:46.750] } [18:02:46.750] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:46.750] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:46.750] base::sink(type = "output", split = FALSE) [18:02:46.750] base::close(...future.stdout) [18:02:46.750] }, add = TRUE) [18:02:46.750] } [18:02:46.750] ...future.frame <- base::sys.nframe() [18:02:46.750] ...future.conditions <- base::list() [18:02:46.750] ...future.rng <- base::globalenv()$.Random.seed [18:02:46.750] if (FALSE) { [18:02:46.750] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:46.750] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:46.750] } [18:02:46.750] ...future.result <- base::tryCatch({ [18:02:46.750] base::withCallingHandlers({ [18:02:46.750] ...future.value <- base::withVisible(base::local({ [18:02:46.750] ...future.makeSendCondition <- local({ [18:02:46.750] sendCondition <- NULL [18:02:46.750] function(frame = 1L) { [18:02:46.750] if (is.function(sendCondition)) [18:02:46.750] return(sendCondition) [18:02:46.750] ns <- getNamespace("parallel") [18:02:46.750] if (exists("sendData", mode = "function", [18:02:46.750] envir = ns)) { [18:02:46.750] parallel_sendData <- get("sendData", mode = "function", [18:02:46.750] envir = ns) [18:02:46.750] envir <- sys.frame(frame) [18:02:46.750] master <- NULL [18:02:46.750] while (!identical(envir, .GlobalEnv) && [18:02:46.750] !identical(envir, emptyenv())) { [18:02:46.750] if (exists("master", mode = "list", envir = envir, [18:02:46.750] inherits = FALSE)) { [18:02:46.750] master <- get("master", mode = "list", [18:02:46.750] envir = envir, inherits = FALSE) [18:02:46.750] if (inherits(master, c("SOCKnode", [18:02:46.750] "SOCK0node"))) { [18:02:46.750] sendCondition <<- function(cond) { [18:02:46.750] data <- list(type = "VALUE", value = cond, [18:02:46.750] success = TRUE) [18:02:46.750] parallel_sendData(master, data) [18:02:46.750] } [18:02:46.750] return(sendCondition) [18:02:46.750] } [18:02:46.750] } [18:02:46.750] frame <- frame + 1L [18:02:46.750] envir <- sys.frame(frame) [18:02:46.750] } [18:02:46.750] } [18:02:46.750] sendCondition <<- function(cond) NULL [18:02:46.750] } [18:02:46.750] }) [18:02:46.750] withCallingHandlers({ [18:02:46.750] { [18:02:46.750] Sys.sleep(0.5) [18:02:46.750] list(a = 1, b = 42L) [18:02:46.750] } [18:02:46.750] }, immediateCondition = function(cond) { [18:02:46.750] sendCondition <- ...future.makeSendCondition() [18:02:46.750] sendCondition(cond) [18:02:46.750] muffleCondition <- function (cond, pattern = "^muffle") [18:02:46.750] { [18:02:46.750] inherits <- base::inherits [18:02:46.750] invokeRestart <- base::invokeRestart [18:02:46.750] is.null <- base::is.null [18:02:46.750] muffled <- FALSE [18:02:46.750] if (inherits(cond, "message")) { [18:02:46.750] muffled <- grepl(pattern, "muffleMessage") [18:02:46.750] if (muffled) [18:02:46.750] invokeRestart("muffleMessage") [18:02:46.750] } [18:02:46.750] else if (inherits(cond, "warning")) { [18:02:46.750] muffled <- grepl(pattern, "muffleWarning") [18:02:46.750] if (muffled) [18:02:46.750] invokeRestart("muffleWarning") [18:02:46.750] } [18:02:46.750] else if (inherits(cond, "condition")) { [18:02:46.750] if (!is.null(pattern)) { [18:02:46.750] computeRestarts <- base::computeRestarts [18:02:46.750] grepl <- base::grepl [18:02:46.750] restarts <- computeRestarts(cond) [18:02:46.750] for (restart in restarts) { [18:02:46.750] name <- restart$name [18:02:46.750] if (is.null(name)) [18:02:46.750] next [18:02:46.750] if (!grepl(pattern, name)) [18:02:46.750] next [18:02:46.750] invokeRestart(restart) [18:02:46.750] muffled <- TRUE [18:02:46.750] break [18:02:46.750] } [18:02:46.750] } [18:02:46.750] } [18:02:46.750] invisible(muffled) [18:02:46.750] } [18:02:46.750] muffleCondition(cond) [18:02:46.750] }) [18:02:46.750] })) [18:02:46.750] future::FutureResult(value = ...future.value$value, [18:02:46.750] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:46.750] ...future.rng), globalenv = if (FALSE) [18:02:46.750] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:46.750] ...future.globalenv.names)) [18:02:46.750] else NULL, started = ...future.startTime, version = "1.8") [18:02:46.750] }, condition = base::local({ [18:02:46.750] c <- base::c [18:02:46.750] inherits <- base::inherits [18:02:46.750] invokeRestart <- base::invokeRestart [18:02:46.750] length <- base::length [18:02:46.750] list <- base::list [18:02:46.750] seq.int <- base::seq.int [18:02:46.750] signalCondition <- base::signalCondition [18:02:46.750] sys.calls <- base::sys.calls [18:02:46.750] `[[` <- base::`[[` [18:02:46.750] `+` <- base::`+` [18:02:46.750] `<<-` <- base::`<<-` [18:02:46.750] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:46.750] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:46.750] 3L)] [18:02:46.750] } [18:02:46.750] function(cond) { [18:02:46.750] is_error <- inherits(cond, "error") [18:02:46.750] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:46.750] NULL) [18:02:46.750] if (is_error) { [18:02:46.750] sessionInformation <- function() { [18:02:46.750] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:46.750] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:46.750] search = base::search(), system = base::Sys.info()) [18:02:46.750] } [18:02:46.750] ...future.conditions[[length(...future.conditions) + [18:02:46.750] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:46.750] cond$call), session = sessionInformation(), [18:02:46.750] timestamp = base::Sys.time(), signaled = 0L) [18:02:46.750] signalCondition(cond) [18:02:46.750] } [18:02:46.750] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:46.750] "immediateCondition"))) { [18:02:46.750] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:46.750] ...future.conditions[[length(...future.conditions) + [18:02:46.750] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:46.750] if (TRUE && !signal) { [18:02:46.750] muffleCondition <- function (cond, pattern = "^muffle") [18:02:46.750] { [18:02:46.750] inherits <- base::inherits [18:02:46.750] invokeRestart <- base::invokeRestart [18:02:46.750] is.null <- base::is.null [18:02:46.750] muffled <- FALSE [18:02:46.750] if (inherits(cond, "message")) { [18:02:46.750] muffled <- grepl(pattern, "muffleMessage") [18:02:46.750] if (muffled) [18:02:46.750] invokeRestart("muffleMessage") [18:02:46.750] } [18:02:46.750] else if (inherits(cond, "warning")) { [18:02:46.750] muffled <- grepl(pattern, "muffleWarning") [18:02:46.750] if (muffled) [18:02:46.750] invokeRestart("muffleWarning") [18:02:46.750] } [18:02:46.750] else if (inherits(cond, "condition")) { [18:02:46.750] if (!is.null(pattern)) { [18:02:46.750] computeRestarts <- base::computeRestarts [18:02:46.750] grepl <- base::grepl [18:02:46.750] restarts <- computeRestarts(cond) [18:02:46.750] for (restart in restarts) { [18:02:46.750] name <- restart$name [18:02:46.750] if (is.null(name)) [18:02:46.750] next [18:02:46.750] if (!grepl(pattern, name)) [18:02:46.750] next [18:02:46.750] invokeRestart(restart) [18:02:46.750] muffled <- TRUE [18:02:46.750] break [18:02:46.750] } [18:02:46.750] } [18:02:46.750] } [18:02:46.750] invisible(muffled) [18:02:46.750] } [18:02:46.750] muffleCondition(cond, pattern = "^muffle") [18:02:46.750] } [18:02:46.750] } [18:02:46.750] else { [18:02:46.750] if (TRUE) { [18:02:46.750] muffleCondition <- function (cond, pattern = "^muffle") [18:02:46.750] { [18:02:46.750] inherits <- base::inherits [18:02:46.750] invokeRestart <- base::invokeRestart [18:02:46.750] is.null <- base::is.null [18:02:46.750] muffled <- FALSE [18:02:46.750] if (inherits(cond, "message")) { [18:02:46.750] muffled <- grepl(pattern, "muffleMessage") [18:02:46.750] if (muffled) [18:02:46.750] invokeRestart("muffleMessage") [18:02:46.750] } [18:02:46.750] else if (inherits(cond, "warning")) { [18:02:46.750] muffled <- grepl(pattern, "muffleWarning") [18:02:46.750] if (muffled) [18:02:46.750] invokeRestart("muffleWarning") [18:02:46.750] } [18:02:46.750] else if (inherits(cond, "condition")) { [18:02:46.750] if (!is.null(pattern)) { [18:02:46.750] computeRestarts <- base::computeRestarts [18:02:46.750] grepl <- base::grepl [18:02:46.750] restarts <- computeRestarts(cond) [18:02:46.750] for (restart in restarts) { [18:02:46.750] name <- restart$name [18:02:46.750] if (is.null(name)) [18:02:46.750] next [18:02:46.750] if (!grepl(pattern, name)) [18:02:46.750] next [18:02:46.750] invokeRestart(restart) [18:02:46.750] muffled <- TRUE [18:02:46.750] break [18:02:46.750] } [18:02:46.750] } [18:02:46.750] } [18:02:46.750] invisible(muffled) [18:02:46.750] } [18:02:46.750] muffleCondition(cond, pattern = "^muffle") [18:02:46.750] } [18:02:46.750] } [18:02:46.750] } [18:02:46.750] })) [18:02:46.750] }, error = function(ex) { [18:02:46.750] base::structure(base::list(value = NULL, visible = NULL, [18:02:46.750] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:46.750] ...future.rng), started = ...future.startTime, [18:02:46.750] finished = Sys.time(), session_uuid = NA_character_, [18:02:46.750] version = "1.8"), class = "FutureResult") [18:02:46.750] }, finally = { [18:02:46.750] if (!identical(...future.workdir, getwd())) [18:02:46.750] setwd(...future.workdir) [18:02:46.750] { [18:02:46.750] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:46.750] ...future.oldOptions$nwarnings <- NULL [18:02:46.750] } [18:02:46.750] base::options(...future.oldOptions) [18:02:46.750] if (.Platform$OS.type == "windows") { [18:02:46.750] old_names <- names(...future.oldEnvVars) [18:02:46.750] envs <- base::Sys.getenv() [18:02:46.750] names <- names(envs) [18:02:46.750] common <- intersect(names, old_names) [18:02:46.750] added <- setdiff(names, old_names) [18:02:46.750] removed <- setdiff(old_names, names) [18:02:46.750] changed <- common[...future.oldEnvVars[common] != [18:02:46.750] envs[common]] [18:02:46.750] NAMES <- toupper(changed) [18:02:46.750] args <- list() [18:02:46.750] for (kk in seq_along(NAMES)) { [18:02:46.750] name <- changed[[kk]] [18:02:46.750] NAME <- NAMES[[kk]] [18:02:46.750] if (name != NAME && is.element(NAME, old_names)) [18:02:46.750] next [18:02:46.750] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:46.750] } [18:02:46.750] NAMES <- toupper(added) [18:02:46.750] for (kk in seq_along(NAMES)) { [18:02:46.750] name <- added[[kk]] [18:02:46.750] NAME <- NAMES[[kk]] [18:02:46.750] if (name != NAME && is.element(NAME, old_names)) [18:02:46.750] next [18:02:46.750] args[[name]] <- "" [18:02:46.750] } [18:02:46.750] NAMES <- toupper(removed) [18:02:46.750] for (kk in seq_along(NAMES)) { [18:02:46.750] name <- removed[[kk]] [18:02:46.750] NAME <- NAMES[[kk]] [18:02:46.750] if (name != NAME && is.element(NAME, old_names)) [18:02:46.750] next [18:02:46.750] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:46.750] } [18:02:46.750] if (length(args) > 0) [18:02:46.750] base::do.call(base::Sys.setenv, args = args) [18:02:46.750] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:46.750] } [18:02:46.750] else { [18:02:46.750] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:46.750] } [18:02:46.750] { [18:02:46.750] if (base::length(...future.futureOptionsAdded) > [18:02:46.750] 0L) { [18:02:46.750] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:46.750] base::names(opts) <- ...future.futureOptionsAdded [18:02:46.750] base::options(opts) [18:02:46.750] } [18:02:46.750] { [18:02:46.750] { [18:02:46.750] base::options(mc.cores = ...future.mc.cores.old) [18:02:46.750] NULL [18:02:46.750] } [18:02:46.750] options(future.plan = NULL) [18:02:46.750] if (is.na(NA_character_)) [18:02:46.750] Sys.unsetenv("R_FUTURE_PLAN") [18:02:46.750] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:46.750] future::plan(list(function (..., workers = availableCores(), [18:02:46.750] lazy = FALSE, rscript_libs = .libPaths(), [18:02:46.750] envir = parent.frame()) [18:02:46.750] { [18:02:46.750] if (is.function(workers)) [18:02:46.750] workers <- workers() [18:02:46.750] workers <- structure(as.integer(workers), [18:02:46.750] class = class(workers)) [18:02:46.750] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:46.750] workers >= 1) [18:02:46.750] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:46.750] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:46.750] } [18:02:46.750] future <- MultisessionFuture(..., workers = workers, [18:02:46.750] lazy = lazy, rscript_libs = rscript_libs, [18:02:46.750] envir = envir) [18:02:46.750] if (!future$lazy) [18:02:46.750] future <- run(future) [18:02:46.750] invisible(future) [18:02:46.750] }), .cleanup = FALSE, .init = FALSE) [18:02:46.750] } [18:02:46.750] } [18:02:46.750] } [18:02:46.750] }) [18:02:46.750] if (TRUE) { [18:02:46.750] base::sink(type = "output", split = FALSE) [18:02:46.750] if (TRUE) { [18:02:46.750] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:46.750] } [18:02:46.750] else { [18:02:46.750] ...future.result["stdout"] <- base::list(NULL) [18:02:46.750] } [18:02:46.750] base::close(...future.stdout) [18:02:46.750] ...future.stdout <- NULL [18:02:46.750] } [18:02:46.750] ...future.result$conditions <- ...future.conditions [18:02:46.750] ...future.result$finished <- base::Sys.time() [18:02:46.750] ...future.result [18:02:46.750] } [18:02:46.756] MultisessionFuture started [18:02:46.756] - Launch lazy future ... done [18:02:46.756] run() for 'MultisessionFuture' ... done [18:02:47.283] receiveMessageFromWorker() for ClusterFuture ... [18:02:47.283] - Validating connection of MultisessionFuture [18:02:47.283] - received message: FutureResult [18:02:47.283] - Received FutureResult [18:02:47.284] - Erased future from FutureRegistry [18:02:47.284] result() for ClusterFuture ... [18:02:47.284] - result already collected: FutureResult [18:02:47.284] result() for ClusterFuture ... done [18:02:47.284] receiveMessageFromWorker() for ClusterFuture ... done [18:02:47.285] A MultisessionFuture was resolved (result was not collected) [18:02:47.285] getGlobalsAndPackages() ... [18:02:47.285] Searching for globals... [18:02:47.286] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:47.286] Searching for globals ... DONE [18:02:47.287] Resolving globals: FALSE [18:02:47.287] [18:02:47.287] [18:02:47.287] getGlobalsAndPackages() ... DONE [18:02:47.288] run() for 'Future' ... [18:02:47.288] - state: 'created' [18:02:47.288] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:47.302] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:47.302] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:47.302] - Field: 'node' [18:02:47.302] - Field: 'label' [18:02:47.302] - Field: 'local' [18:02:47.303] - Field: 'owner' [18:02:47.303] - Field: 'envir' [18:02:47.303] - Field: 'workers' [18:02:47.303] - Field: 'packages' [18:02:47.303] - Field: 'gc' [18:02:47.304] - Field: 'conditions' [18:02:47.304] - Field: 'persistent' [18:02:47.304] - Field: 'expr' [18:02:47.304] - Field: 'uuid' [18:02:47.304] - Field: 'seed' [18:02:47.304] - Field: 'version' [18:02:47.305] - Field: 'result' [18:02:47.305] - Field: 'asynchronous' [18:02:47.305] - Field: 'calls' [18:02:47.305] - Field: 'globals' [18:02:47.305] - Field: 'stdout' [18:02:47.306] - Field: 'earlySignal' [18:02:47.306] - Field: 'lazy' [18:02:47.306] - Field: 'state' [18:02:47.306] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:47.306] - Launch lazy future ... [18:02:47.307] Packages needed by the future expression (n = 0): [18:02:47.307] Packages needed by future strategies (n = 0): [18:02:47.307] { [18:02:47.307] { [18:02:47.307] { [18:02:47.307] ...future.startTime <- base::Sys.time() [18:02:47.307] { [18:02:47.307] { [18:02:47.307] { [18:02:47.307] { [18:02:47.307] base::local({ [18:02:47.307] has_future <- base::requireNamespace("future", [18:02:47.307] quietly = TRUE) [18:02:47.307] if (has_future) { [18:02:47.307] ns <- base::getNamespace("future") [18:02:47.307] version <- ns[[".package"]][["version"]] [18:02:47.307] if (is.null(version)) [18:02:47.307] version <- utils::packageVersion("future") [18:02:47.307] } [18:02:47.307] else { [18:02:47.307] version <- NULL [18:02:47.307] } [18:02:47.307] if (!has_future || version < "1.8.0") { [18:02:47.307] info <- base::c(r_version = base::gsub("R version ", [18:02:47.307] "", base::R.version$version.string), [18:02:47.307] platform = base::sprintf("%s (%s-bit)", [18:02:47.307] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:47.307] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:47.307] "release", "version")], collapse = " "), [18:02:47.307] hostname = base::Sys.info()[["nodename"]]) [18:02:47.307] info <- base::sprintf("%s: %s", base::names(info), [18:02:47.307] info) [18:02:47.307] info <- base::paste(info, collapse = "; ") [18:02:47.307] if (!has_future) { [18:02:47.307] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:47.307] info) [18:02:47.307] } [18:02:47.307] else { [18:02:47.307] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:47.307] info, version) [18:02:47.307] } [18:02:47.307] base::stop(msg) [18:02:47.307] } [18:02:47.307] }) [18:02:47.307] } [18:02:47.307] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:47.307] base::options(mc.cores = 1L) [18:02:47.307] } [18:02:47.307] options(future.plan = NULL) [18:02:47.307] Sys.unsetenv("R_FUTURE_PLAN") [18:02:47.307] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:47.307] } [18:02:47.307] ...future.workdir <- getwd() [18:02:47.307] } [18:02:47.307] ...future.oldOptions <- base::as.list(base::.Options) [18:02:47.307] ...future.oldEnvVars <- base::Sys.getenv() [18:02:47.307] } [18:02:47.307] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:47.307] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:47.307] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:47.307] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:47.307] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:47.307] future.stdout.windows.reencode = NULL, width = 80L) [18:02:47.307] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:47.307] base::names(...future.oldOptions)) [18:02:47.307] } [18:02:47.307] if (FALSE) { [18:02:47.307] } [18:02:47.307] else { [18:02:47.307] if (TRUE) { [18:02:47.307] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:47.307] open = "w") [18:02:47.307] } [18:02:47.307] else { [18:02:47.307] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:47.307] windows = "NUL", "/dev/null"), open = "w") [18:02:47.307] } [18:02:47.307] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:47.307] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:47.307] base::sink(type = "output", split = FALSE) [18:02:47.307] base::close(...future.stdout) [18:02:47.307] }, add = TRUE) [18:02:47.307] } [18:02:47.307] ...future.frame <- base::sys.nframe() [18:02:47.307] ...future.conditions <- base::list() [18:02:47.307] ...future.rng <- base::globalenv()$.Random.seed [18:02:47.307] if (FALSE) { [18:02:47.307] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:47.307] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:47.307] } [18:02:47.307] ...future.result <- base::tryCatch({ [18:02:47.307] base::withCallingHandlers({ [18:02:47.307] ...future.value <- base::withVisible(base::local({ [18:02:47.307] ...future.makeSendCondition <- local({ [18:02:47.307] sendCondition <- NULL [18:02:47.307] function(frame = 1L) { [18:02:47.307] if (is.function(sendCondition)) [18:02:47.307] return(sendCondition) [18:02:47.307] ns <- getNamespace("parallel") [18:02:47.307] if (exists("sendData", mode = "function", [18:02:47.307] envir = ns)) { [18:02:47.307] parallel_sendData <- get("sendData", mode = "function", [18:02:47.307] envir = ns) [18:02:47.307] envir <- sys.frame(frame) [18:02:47.307] master <- NULL [18:02:47.307] while (!identical(envir, .GlobalEnv) && [18:02:47.307] !identical(envir, emptyenv())) { [18:02:47.307] if (exists("master", mode = "list", envir = envir, [18:02:47.307] inherits = FALSE)) { [18:02:47.307] master <- get("master", mode = "list", [18:02:47.307] envir = envir, inherits = FALSE) [18:02:47.307] if (inherits(master, c("SOCKnode", [18:02:47.307] "SOCK0node"))) { [18:02:47.307] sendCondition <<- function(cond) { [18:02:47.307] data <- list(type = "VALUE", value = cond, [18:02:47.307] success = TRUE) [18:02:47.307] parallel_sendData(master, data) [18:02:47.307] } [18:02:47.307] return(sendCondition) [18:02:47.307] } [18:02:47.307] } [18:02:47.307] frame <- frame + 1L [18:02:47.307] envir <- sys.frame(frame) [18:02:47.307] } [18:02:47.307] } [18:02:47.307] sendCondition <<- function(cond) NULL [18:02:47.307] } [18:02:47.307] }) [18:02:47.307] withCallingHandlers({ [18:02:47.307] { [18:02:47.307] Sys.sleep(0.5) [18:02:47.307] list(a = 1, b = 42L) [18:02:47.307] } [18:02:47.307] }, immediateCondition = function(cond) { [18:02:47.307] sendCondition <- ...future.makeSendCondition() [18:02:47.307] sendCondition(cond) [18:02:47.307] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.307] { [18:02:47.307] inherits <- base::inherits [18:02:47.307] invokeRestart <- base::invokeRestart [18:02:47.307] is.null <- base::is.null [18:02:47.307] muffled <- FALSE [18:02:47.307] if (inherits(cond, "message")) { [18:02:47.307] muffled <- grepl(pattern, "muffleMessage") [18:02:47.307] if (muffled) [18:02:47.307] invokeRestart("muffleMessage") [18:02:47.307] } [18:02:47.307] else if (inherits(cond, "warning")) { [18:02:47.307] muffled <- grepl(pattern, "muffleWarning") [18:02:47.307] if (muffled) [18:02:47.307] invokeRestart("muffleWarning") [18:02:47.307] } [18:02:47.307] else if (inherits(cond, "condition")) { [18:02:47.307] if (!is.null(pattern)) { [18:02:47.307] computeRestarts <- base::computeRestarts [18:02:47.307] grepl <- base::grepl [18:02:47.307] restarts <- computeRestarts(cond) [18:02:47.307] for (restart in restarts) { [18:02:47.307] name <- restart$name [18:02:47.307] if (is.null(name)) [18:02:47.307] next [18:02:47.307] if (!grepl(pattern, name)) [18:02:47.307] next [18:02:47.307] invokeRestart(restart) [18:02:47.307] muffled <- TRUE [18:02:47.307] break [18:02:47.307] } [18:02:47.307] } [18:02:47.307] } [18:02:47.307] invisible(muffled) [18:02:47.307] } [18:02:47.307] muffleCondition(cond) [18:02:47.307] }) [18:02:47.307] })) [18:02:47.307] future::FutureResult(value = ...future.value$value, [18:02:47.307] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:47.307] ...future.rng), globalenv = if (FALSE) [18:02:47.307] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:47.307] ...future.globalenv.names)) [18:02:47.307] else NULL, started = ...future.startTime, version = "1.8") [18:02:47.307] }, condition = base::local({ [18:02:47.307] c <- base::c [18:02:47.307] inherits <- base::inherits [18:02:47.307] invokeRestart <- base::invokeRestart [18:02:47.307] length <- base::length [18:02:47.307] list <- base::list [18:02:47.307] seq.int <- base::seq.int [18:02:47.307] signalCondition <- base::signalCondition [18:02:47.307] sys.calls <- base::sys.calls [18:02:47.307] `[[` <- base::`[[` [18:02:47.307] `+` <- base::`+` [18:02:47.307] `<<-` <- base::`<<-` [18:02:47.307] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:47.307] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:47.307] 3L)] [18:02:47.307] } [18:02:47.307] function(cond) { [18:02:47.307] is_error <- inherits(cond, "error") [18:02:47.307] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:47.307] NULL) [18:02:47.307] if (is_error) { [18:02:47.307] sessionInformation <- function() { [18:02:47.307] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:47.307] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:47.307] search = base::search(), system = base::Sys.info()) [18:02:47.307] } [18:02:47.307] ...future.conditions[[length(...future.conditions) + [18:02:47.307] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:47.307] cond$call), session = sessionInformation(), [18:02:47.307] timestamp = base::Sys.time(), signaled = 0L) [18:02:47.307] signalCondition(cond) [18:02:47.307] } [18:02:47.307] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:47.307] "immediateCondition"))) { [18:02:47.307] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:47.307] ...future.conditions[[length(...future.conditions) + [18:02:47.307] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:47.307] if (TRUE && !signal) { [18:02:47.307] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.307] { [18:02:47.307] inherits <- base::inherits [18:02:47.307] invokeRestart <- base::invokeRestart [18:02:47.307] is.null <- base::is.null [18:02:47.307] muffled <- FALSE [18:02:47.307] if (inherits(cond, "message")) { [18:02:47.307] muffled <- grepl(pattern, "muffleMessage") [18:02:47.307] if (muffled) [18:02:47.307] invokeRestart("muffleMessage") [18:02:47.307] } [18:02:47.307] else if (inherits(cond, "warning")) { [18:02:47.307] muffled <- grepl(pattern, "muffleWarning") [18:02:47.307] if (muffled) [18:02:47.307] invokeRestart("muffleWarning") [18:02:47.307] } [18:02:47.307] else if (inherits(cond, "condition")) { [18:02:47.307] if (!is.null(pattern)) { [18:02:47.307] computeRestarts <- base::computeRestarts [18:02:47.307] grepl <- base::grepl [18:02:47.307] restarts <- computeRestarts(cond) [18:02:47.307] for (restart in restarts) { [18:02:47.307] name <- restart$name [18:02:47.307] if (is.null(name)) [18:02:47.307] next [18:02:47.307] if (!grepl(pattern, name)) [18:02:47.307] next [18:02:47.307] invokeRestart(restart) [18:02:47.307] muffled <- TRUE [18:02:47.307] break [18:02:47.307] } [18:02:47.307] } [18:02:47.307] } [18:02:47.307] invisible(muffled) [18:02:47.307] } [18:02:47.307] muffleCondition(cond, pattern = "^muffle") [18:02:47.307] } [18:02:47.307] } [18:02:47.307] else { [18:02:47.307] if (TRUE) { [18:02:47.307] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.307] { [18:02:47.307] inherits <- base::inherits [18:02:47.307] invokeRestart <- base::invokeRestart [18:02:47.307] is.null <- base::is.null [18:02:47.307] muffled <- FALSE [18:02:47.307] if (inherits(cond, "message")) { [18:02:47.307] muffled <- grepl(pattern, "muffleMessage") [18:02:47.307] if (muffled) [18:02:47.307] invokeRestart("muffleMessage") [18:02:47.307] } [18:02:47.307] else if (inherits(cond, "warning")) { [18:02:47.307] muffled <- grepl(pattern, "muffleWarning") [18:02:47.307] if (muffled) [18:02:47.307] invokeRestart("muffleWarning") [18:02:47.307] } [18:02:47.307] else if (inherits(cond, "condition")) { [18:02:47.307] if (!is.null(pattern)) { [18:02:47.307] computeRestarts <- base::computeRestarts [18:02:47.307] grepl <- base::grepl [18:02:47.307] restarts <- computeRestarts(cond) [18:02:47.307] for (restart in restarts) { [18:02:47.307] name <- restart$name [18:02:47.307] if (is.null(name)) [18:02:47.307] next [18:02:47.307] if (!grepl(pattern, name)) [18:02:47.307] next [18:02:47.307] invokeRestart(restart) [18:02:47.307] muffled <- TRUE [18:02:47.307] break [18:02:47.307] } [18:02:47.307] } [18:02:47.307] } [18:02:47.307] invisible(muffled) [18:02:47.307] } [18:02:47.307] muffleCondition(cond, pattern = "^muffle") [18:02:47.307] } [18:02:47.307] } [18:02:47.307] } [18:02:47.307] })) [18:02:47.307] }, error = function(ex) { [18:02:47.307] base::structure(base::list(value = NULL, visible = NULL, [18:02:47.307] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:47.307] ...future.rng), started = ...future.startTime, [18:02:47.307] finished = Sys.time(), session_uuid = NA_character_, [18:02:47.307] version = "1.8"), class = "FutureResult") [18:02:47.307] }, finally = { [18:02:47.307] if (!identical(...future.workdir, getwd())) [18:02:47.307] setwd(...future.workdir) [18:02:47.307] { [18:02:47.307] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:47.307] ...future.oldOptions$nwarnings <- NULL [18:02:47.307] } [18:02:47.307] base::options(...future.oldOptions) [18:02:47.307] if (.Platform$OS.type == "windows") { [18:02:47.307] old_names <- names(...future.oldEnvVars) [18:02:47.307] envs <- base::Sys.getenv() [18:02:47.307] names <- names(envs) [18:02:47.307] common <- intersect(names, old_names) [18:02:47.307] added <- setdiff(names, old_names) [18:02:47.307] removed <- setdiff(old_names, names) [18:02:47.307] changed <- common[...future.oldEnvVars[common] != [18:02:47.307] envs[common]] [18:02:47.307] NAMES <- toupper(changed) [18:02:47.307] args <- list() [18:02:47.307] for (kk in seq_along(NAMES)) { [18:02:47.307] name <- changed[[kk]] [18:02:47.307] NAME <- NAMES[[kk]] [18:02:47.307] if (name != NAME && is.element(NAME, old_names)) [18:02:47.307] next [18:02:47.307] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:47.307] } [18:02:47.307] NAMES <- toupper(added) [18:02:47.307] for (kk in seq_along(NAMES)) { [18:02:47.307] name <- added[[kk]] [18:02:47.307] NAME <- NAMES[[kk]] [18:02:47.307] if (name != NAME && is.element(NAME, old_names)) [18:02:47.307] next [18:02:47.307] args[[name]] <- "" [18:02:47.307] } [18:02:47.307] NAMES <- toupper(removed) [18:02:47.307] for (kk in seq_along(NAMES)) { [18:02:47.307] name <- removed[[kk]] [18:02:47.307] NAME <- NAMES[[kk]] [18:02:47.307] if (name != NAME && is.element(NAME, old_names)) [18:02:47.307] next [18:02:47.307] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:47.307] } [18:02:47.307] if (length(args) > 0) [18:02:47.307] base::do.call(base::Sys.setenv, args = args) [18:02:47.307] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:47.307] } [18:02:47.307] else { [18:02:47.307] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:47.307] } [18:02:47.307] { [18:02:47.307] if (base::length(...future.futureOptionsAdded) > [18:02:47.307] 0L) { [18:02:47.307] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:47.307] base::names(opts) <- ...future.futureOptionsAdded [18:02:47.307] base::options(opts) [18:02:47.307] } [18:02:47.307] { [18:02:47.307] { [18:02:47.307] base::options(mc.cores = ...future.mc.cores.old) [18:02:47.307] NULL [18:02:47.307] } [18:02:47.307] options(future.plan = NULL) [18:02:47.307] if (is.na(NA_character_)) [18:02:47.307] Sys.unsetenv("R_FUTURE_PLAN") [18:02:47.307] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:47.307] future::plan(list(function (..., workers = availableCores(), [18:02:47.307] lazy = FALSE, rscript_libs = .libPaths(), [18:02:47.307] envir = parent.frame()) [18:02:47.307] { [18:02:47.307] if (is.function(workers)) [18:02:47.307] workers <- workers() [18:02:47.307] workers <- structure(as.integer(workers), [18:02:47.307] class = class(workers)) [18:02:47.307] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:47.307] workers >= 1) [18:02:47.307] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:47.307] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:47.307] } [18:02:47.307] future <- MultisessionFuture(..., workers = workers, [18:02:47.307] lazy = lazy, rscript_libs = rscript_libs, [18:02:47.307] envir = envir) [18:02:47.307] if (!future$lazy) [18:02:47.307] future <- run(future) [18:02:47.307] invisible(future) [18:02:47.307] }), .cleanup = FALSE, .init = FALSE) [18:02:47.307] } [18:02:47.307] } [18:02:47.307] } [18:02:47.307] }) [18:02:47.307] if (TRUE) { [18:02:47.307] base::sink(type = "output", split = FALSE) [18:02:47.307] if (TRUE) { [18:02:47.307] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:47.307] } [18:02:47.307] else { [18:02:47.307] ...future.result["stdout"] <- base::list(NULL) [18:02:47.307] } [18:02:47.307] base::close(...future.stdout) [18:02:47.307] ...future.stdout <- NULL [18:02:47.307] } [18:02:47.307] ...future.result$conditions <- ...future.conditions [18:02:47.307] ...future.result$finished <- base::Sys.time() [18:02:47.307] ...future.result [18:02:47.307] } [18:02:47.313] MultisessionFuture started [18:02:47.313] - Launch lazy future ... done [18:02:47.313] run() for 'MultisessionFuture' ... done [18:02:47.845] receiveMessageFromWorker() for ClusterFuture ... [18:02:47.845] - Validating connection of MultisessionFuture [18:02:47.846] - received message: FutureResult [18:02:47.846] - Received FutureResult [18:02:47.846] - Erased future from FutureRegistry [18:02:47.846] result() for ClusterFuture ... [18:02:47.846] - result already collected: FutureResult [18:02:47.847] result() for ClusterFuture ... done [18:02:47.847] receiveMessageFromWorker() for ClusterFuture ... done [18:02:47.847] A MultisessionFuture was resolved (result was not collected) - w/ exception ... [18:02:47.847] getGlobalsAndPackages() ... [18:02:47.847] Searching for globals... [18:02:47.848] - globals found: [2] 'list', 'stop' [18:02:47.848] Searching for globals ... DONE [18:02:47.849] Resolving globals: FALSE [18:02:47.849] [18:02:47.849] [18:02:47.849] getGlobalsAndPackages() ... DONE [18:02:47.850] run() for 'Future' ... [18:02:47.850] - state: 'created' [18:02:47.850] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:47.864] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:47.864] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:47.864] - Field: 'node' [18:02:47.864] - Field: 'label' [18:02:47.864] - Field: 'local' [18:02:47.865] - Field: 'owner' [18:02:47.865] - Field: 'envir' [18:02:47.865] - Field: 'workers' [18:02:47.865] - Field: 'packages' [18:02:47.865] - Field: 'gc' [18:02:47.866] - Field: 'conditions' [18:02:47.866] - Field: 'persistent' [18:02:47.866] - Field: 'expr' [18:02:47.866] - Field: 'uuid' [18:02:47.866] - Field: 'seed' [18:02:47.866] - Field: 'version' [18:02:47.867] - Field: 'result' [18:02:47.867] - Field: 'asynchronous' [18:02:47.867] - Field: 'calls' [18:02:47.867] - Field: 'globals' [18:02:47.867] - Field: 'stdout' [18:02:47.867] - Field: 'earlySignal' [18:02:47.868] - Field: 'lazy' [18:02:47.868] - Field: 'state' [18:02:47.868] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:47.868] - Launch lazy future ... [18:02:47.869] Packages needed by the future expression (n = 0): [18:02:47.869] Packages needed by future strategies (n = 0): [18:02:47.869] { [18:02:47.869] { [18:02:47.869] { [18:02:47.869] ...future.startTime <- base::Sys.time() [18:02:47.869] { [18:02:47.869] { [18:02:47.869] { [18:02:47.869] { [18:02:47.869] base::local({ [18:02:47.869] has_future <- base::requireNamespace("future", [18:02:47.869] quietly = TRUE) [18:02:47.869] if (has_future) { [18:02:47.869] ns <- base::getNamespace("future") [18:02:47.869] version <- ns[[".package"]][["version"]] [18:02:47.869] if (is.null(version)) [18:02:47.869] version <- utils::packageVersion("future") [18:02:47.869] } [18:02:47.869] else { [18:02:47.869] version <- NULL [18:02:47.869] } [18:02:47.869] if (!has_future || version < "1.8.0") { [18:02:47.869] info <- base::c(r_version = base::gsub("R version ", [18:02:47.869] "", base::R.version$version.string), [18:02:47.869] platform = base::sprintf("%s (%s-bit)", [18:02:47.869] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:47.869] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:47.869] "release", "version")], collapse = " "), [18:02:47.869] hostname = base::Sys.info()[["nodename"]]) [18:02:47.869] info <- base::sprintf("%s: %s", base::names(info), [18:02:47.869] info) [18:02:47.869] info <- base::paste(info, collapse = "; ") [18:02:47.869] if (!has_future) { [18:02:47.869] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:47.869] info) [18:02:47.869] } [18:02:47.869] else { [18:02:47.869] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:47.869] info, version) [18:02:47.869] } [18:02:47.869] base::stop(msg) [18:02:47.869] } [18:02:47.869] }) [18:02:47.869] } [18:02:47.869] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:47.869] base::options(mc.cores = 1L) [18:02:47.869] } [18:02:47.869] options(future.plan = NULL) [18:02:47.869] Sys.unsetenv("R_FUTURE_PLAN") [18:02:47.869] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:47.869] } [18:02:47.869] ...future.workdir <- getwd() [18:02:47.869] } [18:02:47.869] ...future.oldOptions <- base::as.list(base::.Options) [18:02:47.869] ...future.oldEnvVars <- base::Sys.getenv() [18:02:47.869] } [18:02:47.869] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:47.869] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:47.869] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:47.869] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:47.869] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:47.869] future.stdout.windows.reencode = NULL, width = 80L) [18:02:47.869] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:47.869] base::names(...future.oldOptions)) [18:02:47.869] } [18:02:47.869] if (FALSE) { [18:02:47.869] } [18:02:47.869] else { [18:02:47.869] if (TRUE) { [18:02:47.869] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:47.869] open = "w") [18:02:47.869] } [18:02:47.869] else { [18:02:47.869] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:47.869] windows = "NUL", "/dev/null"), open = "w") [18:02:47.869] } [18:02:47.869] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:47.869] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:47.869] base::sink(type = "output", split = FALSE) [18:02:47.869] base::close(...future.stdout) [18:02:47.869] }, add = TRUE) [18:02:47.869] } [18:02:47.869] ...future.frame <- base::sys.nframe() [18:02:47.869] ...future.conditions <- base::list() [18:02:47.869] ...future.rng <- base::globalenv()$.Random.seed [18:02:47.869] if (FALSE) { [18:02:47.869] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:47.869] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:47.869] } [18:02:47.869] ...future.result <- base::tryCatch({ [18:02:47.869] base::withCallingHandlers({ [18:02:47.869] ...future.value <- base::withVisible(base::local({ [18:02:47.869] ...future.makeSendCondition <- local({ [18:02:47.869] sendCondition <- NULL [18:02:47.869] function(frame = 1L) { [18:02:47.869] if (is.function(sendCondition)) [18:02:47.869] return(sendCondition) [18:02:47.869] ns <- getNamespace("parallel") [18:02:47.869] if (exists("sendData", mode = "function", [18:02:47.869] envir = ns)) { [18:02:47.869] parallel_sendData <- get("sendData", mode = "function", [18:02:47.869] envir = ns) [18:02:47.869] envir <- sys.frame(frame) [18:02:47.869] master <- NULL [18:02:47.869] while (!identical(envir, .GlobalEnv) && [18:02:47.869] !identical(envir, emptyenv())) { [18:02:47.869] if (exists("master", mode = "list", envir = envir, [18:02:47.869] inherits = FALSE)) { [18:02:47.869] master <- get("master", mode = "list", [18:02:47.869] envir = envir, inherits = FALSE) [18:02:47.869] if (inherits(master, c("SOCKnode", [18:02:47.869] "SOCK0node"))) { [18:02:47.869] sendCondition <<- function(cond) { [18:02:47.869] data <- list(type = "VALUE", value = cond, [18:02:47.869] success = TRUE) [18:02:47.869] parallel_sendData(master, data) [18:02:47.869] } [18:02:47.869] return(sendCondition) [18:02:47.869] } [18:02:47.869] } [18:02:47.869] frame <- frame + 1L [18:02:47.869] envir <- sys.frame(frame) [18:02:47.869] } [18:02:47.869] } [18:02:47.869] sendCondition <<- function(cond) NULL [18:02:47.869] } [18:02:47.869] }) [18:02:47.869] withCallingHandlers({ [18:02:47.869] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:47.869] }, immediateCondition = function(cond) { [18:02:47.869] sendCondition <- ...future.makeSendCondition() [18:02:47.869] sendCondition(cond) [18:02:47.869] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.869] { [18:02:47.869] inherits <- base::inherits [18:02:47.869] invokeRestart <- base::invokeRestart [18:02:47.869] is.null <- base::is.null [18:02:47.869] muffled <- FALSE [18:02:47.869] if (inherits(cond, "message")) { [18:02:47.869] muffled <- grepl(pattern, "muffleMessage") [18:02:47.869] if (muffled) [18:02:47.869] invokeRestart("muffleMessage") [18:02:47.869] } [18:02:47.869] else if (inherits(cond, "warning")) { [18:02:47.869] muffled <- grepl(pattern, "muffleWarning") [18:02:47.869] if (muffled) [18:02:47.869] invokeRestart("muffleWarning") [18:02:47.869] } [18:02:47.869] else if (inherits(cond, "condition")) { [18:02:47.869] if (!is.null(pattern)) { [18:02:47.869] computeRestarts <- base::computeRestarts [18:02:47.869] grepl <- base::grepl [18:02:47.869] restarts <- computeRestarts(cond) [18:02:47.869] for (restart in restarts) { [18:02:47.869] name <- restart$name [18:02:47.869] if (is.null(name)) [18:02:47.869] next [18:02:47.869] if (!grepl(pattern, name)) [18:02:47.869] next [18:02:47.869] invokeRestart(restart) [18:02:47.869] muffled <- TRUE [18:02:47.869] break [18:02:47.869] } [18:02:47.869] } [18:02:47.869] } [18:02:47.869] invisible(muffled) [18:02:47.869] } [18:02:47.869] muffleCondition(cond) [18:02:47.869] }) [18:02:47.869] })) [18:02:47.869] future::FutureResult(value = ...future.value$value, [18:02:47.869] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:47.869] ...future.rng), globalenv = if (FALSE) [18:02:47.869] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:47.869] ...future.globalenv.names)) [18:02:47.869] else NULL, started = ...future.startTime, version = "1.8") [18:02:47.869] }, condition = base::local({ [18:02:47.869] c <- base::c [18:02:47.869] inherits <- base::inherits [18:02:47.869] invokeRestart <- base::invokeRestart [18:02:47.869] length <- base::length [18:02:47.869] list <- base::list [18:02:47.869] seq.int <- base::seq.int [18:02:47.869] signalCondition <- base::signalCondition [18:02:47.869] sys.calls <- base::sys.calls [18:02:47.869] `[[` <- base::`[[` [18:02:47.869] `+` <- base::`+` [18:02:47.869] `<<-` <- base::`<<-` [18:02:47.869] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:47.869] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:47.869] 3L)] [18:02:47.869] } [18:02:47.869] function(cond) { [18:02:47.869] is_error <- inherits(cond, "error") [18:02:47.869] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:47.869] NULL) [18:02:47.869] if (is_error) { [18:02:47.869] sessionInformation <- function() { [18:02:47.869] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:47.869] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:47.869] search = base::search(), system = base::Sys.info()) [18:02:47.869] } [18:02:47.869] ...future.conditions[[length(...future.conditions) + [18:02:47.869] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:47.869] cond$call), session = sessionInformation(), [18:02:47.869] timestamp = base::Sys.time(), signaled = 0L) [18:02:47.869] signalCondition(cond) [18:02:47.869] } [18:02:47.869] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:47.869] "immediateCondition"))) { [18:02:47.869] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:47.869] ...future.conditions[[length(...future.conditions) + [18:02:47.869] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:47.869] if (TRUE && !signal) { [18:02:47.869] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.869] { [18:02:47.869] inherits <- base::inherits [18:02:47.869] invokeRestart <- base::invokeRestart [18:02:47.869] is.null <- base::is.null [18:02:47.869] muffled <- FALSE [18:02:47.869] if (inherits(cond, "message")) { [18:02:47.869] muffled <- grepl(pattern, "muffleMessage") [18:02:47.869] if (muffled) [18:02:47.869] invokeRestart("muffleMessage") [18:02:47.869] } [18:02:47.869] else if (inherits(cond, "warning")) { [18:02:47.869] muffled <- grepl(pattern, "muffleWarning") [18:02:47.869] if (muffled) [18:02:47.869] invokeRestart("muffleWarning") [18:02:47.869] } [18:02:47.869] else if (inherits(cond, "condition")) { [18:02:47.869] if (!is.null(pattern)) { [18:02:47.869] computeRestarts <- base::computeRestarts [18:02:47.869] grepl <- base::grepl [18:02:47.869] restarts <- computeRestarts(cond) [18:02:47.869] for (restart in restarts) { [18:02:47.869] name <- restart$name [18:02:47.869] if (is.null(name)) [18:02:47.869] next [18:02:47.869] if (!grepl(pattern, name)) [18:02:47.869] next [18:02:47.869] invokeRestart(restart) [18:02:47.869] muffled <- TRUE [18:02:47.869] break [18:02:47.869] } [18:02:47.869] } [18:02:47.869] } [18:02:47.869] invisible(muffled) [18:02:47.869] } [18:02:47.869] muffleCondition(cond, pattern = "^muffle") [18:02:47.869] } [18:02:47.869] } [18:02:47.869] else { [18:02:47.869] if (TRUE) { [18:02:47.869] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.869] { [18:02:47.869] inherits <- base::inherits [18:02:47.869] invokeRestart <- base::invokeRestart [18:02:47.869] is.null <- base::is.null [18:02:47.869] muffled <- FALSE [18:02:47.869] if (inherits(cond, "message")) { [18:02:47.869] muffled <- grepl(pattern, "muffleMessage") [18:02:47.869] if (muffled) [18:02:47.869] invokeRestart("muffleMessage") [18:02:47.869] } [18:02:47.869] else if (inherits(cond, "warning")) { [18:02:47.869] muffled <- grepl(pattern, "muffleWarning") [18:02:47.869] if (muffled) [18:02:47.869] invokeRestart("muffleWarning") [18:02:47.869] } [18:02:47.869] else if (inherits(cond, "condition")) { [18:02:47.869] if (!is.null(pattern)) { [18:02:47.869] computeRestarts <- base::computeRestarts [18:02:47.869] grepl <- base::grepl [18:02:47.869] restarts <- computeRestarts(cond) [18:02:47.869] for (restart in restarts) { [18:02:47.869] name <- restart$name [18:02:47.869] if (is.null(name)) [18:02:47.869] next [18:02:47.869] if (!grepl(pattern, name)) [18:02:47.869] next [18:02:47.869] invokeRestart(restart) [18:02:47.869] muffled <- TRUE [18:02:47.869] break [18:02:47.869] } [18:02:47.869] } [18:02:47.869] } [18:02:47.869] invisible(muffled) [18:02:47.869] } [18:02:47.869] muffleCondition(cond, pattern = "^muffle") [18:02:47.869] } [18:02:47.869] } [18:02:47.869] } [18:02:47.869] })) [18:02:47.869] }, error = function(ex) { [18:02:47.869] base::structure(base::list(value = NULL, visible = NULL, [18:02:47.869] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:47.869] ...future.rng), started = ...future.startTime, [18:02:47.869] finished = Sys.time(), session_uuid = NA_character_, [18:02:47.869] version = "1.8"), class = "FutureResult") [18:02:47.869] }, finally = { [18:02:47.869] if (!identical(...future.workdir, getwd())) [18:02:47.869] setwd(...future.workdir) [18:02:47.869] { [18:02:47.869] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:47.869] ...future.oldOptions$nwarnings <- NULL [18:02:47.869] } [18:02:47.869] base::options(...future.oldOptions) [18:02:47.869] if (.Platform$OS.type == "windows") { [18:02:47.869] old_names <- names(...future.oldEnvVars) [18:02:47.869] envs <- base::Sys.getenv() [18:02:47.869] names <- names(envs) [18:02:47.869] common <- intersect(names, old_names) [18:02:47.869] added <- setdiff(names, old_names) [18:02:47.869] removed <- setdiff(old_names, names) [18:02:47.869] changed <- common[...future.oldEnvVars[common] != [18:02:47.869] envs[common]] [18:02:47.869] NAMES <- toupper(changed) [18:02:47.869] args <- list() [18:02:47.869] for (kk in seq_along(NAMES)) { [18:02:47.869] name <- changed[[kk]] [18:02:47.869] NAME <- NAMES[[kk]] [18:02:47.869] if (name != NAME && is.element(NAME, old_names)) [18:02:47.869] next [18:02:47.869] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:47.869] } [18:02:47.869] NAMES <- toupper(added) [18:02:47.869] for (kk in seq_along(NAMES)) { [18:02:47.869] name <- added[[kk]] [18:02:47.869] NAME <- NAMES[[kk]] [18:02:47.869] if (name != NAME && is.element(NAME, old_names)) [18:02:47.869] next [18:02:47.869] args[[name]] <- "" [18:02:47.869] } [18:02:47.869] NAMES <- toupper(removed) [18:02:47.869] for (kk in seq_along(NAMES)) { [18:02:47.869] name <- removed[[kk]] [18:02:47.869] NAME <- NAMES[[kk]] [18:02:47.869] if (name != NAME && is.element(NAME, old_names)) [18:02:47.869] next [18:02:47.869] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:47.869] } [18:02:47.869] if (length(args) > 0) [18:02:47.869] base::do.call(base::Sys.setenv, args = args) [18:02:47.869] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:47.869] } [18:02:47.869] else { [18:02:47.869] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:47.869] } [18:02:47.869] { [18:02:47.869] if (base::length(...future.futureOptionsAdded) > [18:02:47.869] 0L) { [18:02:47.869] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:47.869] base::names(opts) <- ...future.futureOptionsAdded [18:02:47.869] base::options(opts) [18:02:47.869] } [18:02:47.869] { [18:02:47.869] { [18:02:47.869] base::options(mc.cores = ...future.mc.cores.old) [18:02:47.869] NULL [18:02:47.869] } [18:02:47.869] options(future.plan = NULL) [18:02:47.869] if (is.na(NA_character_)) [18:02:47.869] Sys.unsetenv("R_FUTURE_PLAN") [18:02:47.869] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:47.869] future::plan(list(function (..., workers = availableCores(), [18:02:47.869] lazy = FALSE, rscript_libs = .libPaths(), [18:02:47.869] envir = parent.frame()) [18:02:47.869] { [18:02:47.869] if (is.function(workers)) [18:02:47.869] workers <- workers() [18:02:47.869] workers <- structure(as.integer(workers), [18:02:47.869] class = class(workers)) [18:02:47.869] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:47.869] workers >= 1) [18:02:47.869] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:47.869] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:47.869] } [18:02:47.869] future <- MultisessionFuture(..., workers = workers, [18:02:47.869] lazy = lazy, rscript_libs = rscript_libs, [18:02:47.869] envir = envir) [18:02:47.869] if (!future$lazy) [18:02:47.869] future <- run(future) [18:02:47.869] invisible(future) [18:02:47.869] }), .cleanup = FALSE, .init = FALSE) [18:02:47.869] } [18:02:47.869] } [18:02:47.869] } [18:02:47.869] }) [18:02:47.869] if (TRUE) { [18:02:47.869] base::sink(type = "output", split = FALSE) [18:02:47.869] if (TRUE) { [18:02:47.869] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:47.869] } [18:02:47.869] else { [18:02:47.869] ...future.result["stdout"] <- base::list(NULL) [18:02:47.869] } [18:02:47.869] base::close(...future.stdout) [18:02:47.869] ...future.stdout <- NULL [18:02:47.869] } [18:02:47.869] ...future.result$conditions <- ...future.conditions [18:02:47.869] ...future.result$finished <- base::Sys.time() [18:02:47.869] ...future.result [18:02:47.869] } [18:02:47.875] MultisessionFuture started [18:02:47.875] - Launch lazy future ... done [18:02:47.875] run() for 'MultisessionFuture' ... done [18:02:47.891] receiveMessageFromWorker() for ClusterFuture ... [18:02:47.891] - Validating connection of MultisessionFuture [18:02:47.892] - received message: FutureResult [18:02:47.892] - Received FutureResult [18:02:47.892] - Erased future from FutureRegistry [18:02:47.892] result() for ClusterFuture ... [18:02:47.892] - result already collected: FutureResult [18:02:47.893] result() for ClusterFuture ... done [18:02:47.893] signalConditions() ... [18:02:47.893] - include = 'immediateCondition' [18:02:47.893] - exclude = [18:02:47.893] - resignal = FALSE [18:02:47.893] - Number of conditions: 1 [18:02:47.894] signalConditions() ... done [18:02:47.894] receiveMessageFromWorker() for ClusterFuture ... done [18:02:47.894] A MultisessionFuture was resolved (result was not collected) [18:02:47.894] getGlobalsAndPackages() ... [18:02:47.894] Searching for globals... [18:02:47.895] - globals found: [2] 'list', 'stop' [18:02:47.895] Searching for globals ... DONE [18:02:47.895] Resolving globals: FALSE [18:02:47.896] [18:02:47.896] [18:02:47.896] getGlobalsAndPackages() ... DONE [18:02:47.896] run() for 'Future' ... [18:02:47.897] - state: 'created' [18:02:47.897] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:47.911] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:47.911] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:47.911] - Field: 'node' [18:02:47.911] - Field: 'label' [18:02:47.911] - Field: 'local' [18:02:47.912] - Field: 'owner' [18:02:47.912] - Field: 'envir' [18:02:47.912] - Field: 'workers' [18:02:47.912] - Field: 'packages' [18:02:47.912] - Field: 'gc' [18:02:47.912] - Field: 'conditions' [18:02:47.913] - Field: 'persistent' [18:02:47.913] - Field: 'expr' [18:02:47.913] - Field: 'uuid' [18:02:47.913] - Field: 'seed' [18:02:47.913] - Field: 'version' [18:02:47.913] - Field: 'result' [18:02:47.914] - Field: 'asynchronous' [18:02:47.914] - Field: 'calls' [18:02:47.914] - Field: 'globals' [18:02:47.914] - Field: 'stdout' [18:02:47.914] - Field: 'earlySignal' [18:02:47.915] - Field: 'lazy' [18:02:47.915] - Field: 'state' [18:02:47.915] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:47.915] - Launch lazy future ... [18:02:47.915] Packages needed by the future expression (n = 0): [18:02:47.916] Packages needed by future strategies (n = 0): [18:02:47.916] { [18:02:47.916] { [18:02:47.916] { [18:02:47.916] ...future.startTime <- base::Sys.time() [18:02:47.916] { [18:02:47.916] { [18:02:47.916] { [18:02:47.916] { [18:02:47.916] base::local({ [18:02:47.916] has_future <- base::requireNamespace("future", [18:02:47.916] quietly = TRUE) [18:02:47.916] if (has_future) { [18:02:47.916] ns <- base::getNamespace("future") [18:02:47.916] version <- ns[[".package"]][["version"]] [18:02:47.916] if (is.null(version)) [18:02:47.916] version <- utils::packageVersion("future") [18:02:47.916] } [18:02:47.916] else { [18:02:47.916] version <- NULL [18:02:47.916] } [18:02:47.916] if (!has_future || version < "1.8.0") { [18:02:47.916] info <- base::c(r_version = base::gsub("R version ", [18:02:47.916] "", base::R.version$version.string), [18:02:47.916] platform = base::sprintf("%s (%s-bit)", [18:02:47.916] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:47.916] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:47.916] "release", "version")], collapse = " "), [18:02:47.916] hostname = base::Sys.info()[["nodename"]]) [18:02:47.916] info <- base::sprintf("%s: %s", base::names(info), [18:02:47.916] info) [18:02:47.916] info <- base::paste(info, collapse = "; ") [18:02:47.916] if (!has_future) { [18:02:47.916] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:47.916] info) [18:02:47.916] } [18:02:47.916] else { [18:02:47.916] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:47.916] info, version) [18:02:47.916] } [18:02:47.916] base::stop(msg) [18:02:47.916] } [18:02:47.916] }) [18:02:47.916] } [18:02:47.916] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:47.916] base::options(mc.cores = 1L) [18:02:47.916] } [18:02:47.916] options(future.plan = NULL) [18:02:47.916] Sys.unsetenv("R_FUTURE_PLAN") [18:02:47.916] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:47.916] } [18:02:47.916] ...future.workdir <- getwd() [18:02:47.916] } [18:02:47.916] ...future.oldOptions <- base::as.list(base::.Options) [18:02:47.916] ...future.oldEnvVars <- base::Sys.getenv() [18:02:47.916] } [18:02:47.916] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:47.916] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:47.916] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:47.916] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:47.916] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:47.916] future.stdout.windows.reencode = NULL, width = 80L) [18:02:47.916] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:47.916] base::names(...future.oldOptions)) [18:02:47.916] } [18:02:47.916] if (FALSE) { [18:02:47.916] } [18:02:47.916] else { [18:02:47.916] if (TRUE) { [18:02:47.916] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:47.916] open = "w") [18:02:47.916] } [18:02:47.916] else { [18:02:47.916] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:47.916] windows = "NUL", "/dev/null"), open = "w") [18:02:47.916] } [18:02:47.916] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:47.916] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:47.916] base::sink(type = "output", split = FALSE) [18:02:47.916] base::close(...future.stdout) [18:02:47.916] }, add = TRUE) [18:02:47.916] } [18:02:47.916] ...future.frame <- base::sys.nframe() [18:02:47.916] ...future.conditions <- base::list() [18:02:47.916] ...future.rng <- base::globalenv()$.Random.seed [18:02:47.916] if (FALSE) { [18:02:47.916] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:47.916] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:47.916] } [18:02:47.916] ...future.result <- base::tryCatch({ [18:02:47.916] base::withCallingHandlers({ [18:02:47.916] ...future.value <- base::withVisible(base::local({ [18:02:47.916] ...future.makeSendCondition <- local({ [18:02:47.916] sendCondition <- NULL [18:02:47.916] function(frame = 1L) { [18:02:47.916] if (is.function(sendCondition)) [18:02:47.916] return(sendCondition) [18:02:47.916] ns <- getNamespace("parallel") [18:02:47.916] if (exists("sendData", mode = "function", [18:02:47.916] envir = ns)) { [18:02:47.916] parallel_sendData <- get("sendData", mode = "function", [18:02:47.916] envir = ns) [18:02:47.916] envir <- sys.frame(frame) [18:02:47.916] master <- NULL [18:02:47.916] while (!identical(envir, .GlobalEnv) && [18:02:47.916] !identical(envir, emptyenv())) { [18:02:47.916] if (exists("master", mode = "list", envir = envir, [18:02:47.916] inherits = FALSE)) { [18:02:47.916] master <- get("master", mode = "list", [18:02:47.916] envir = envir, inherits = FALSE) [18:02:47.916] if (inherits(master, c("SOCKnode", [18:02:47.916] "SOCK0node"))) { [18:02:47.916] sendCondition <<- function(cond) { [18:02:47.916] data <- list(type = "VALUE", value = cond, [18:02:47.916] success = TRUE) [18:02:47.916] parallel_sendData(master, data) [18:02:47.916] } [18:02:47.916] return(sendCondition) [18:02:47.916] } [18:02:47.916] } [18:02:47.916] frame <- frame + 1L [18:02:47.916] envir <- sys.frame(frame) [18:02:47.916] } [18:02:47.916] } [18:02:47.916] sendCondition <<- function(cond) NULL [18:02:47.916] } [18:02:47.916] }) [18:02:47.916] withCallingHandlers({ [18:02:47.916] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:47.916] }, immediateCondition = function(cond) { [18:02:47.916] sendCondition <- ...future.makeSendCondition() [18:02:47.916] sendCondition(cond) [18:02:47.916] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.916] { [18:02:47.916] inherits <- base::inherits [18:02:47.916] invokeRestart <- base::invokeRestart [18:02:47.916] is.null <- base::is.null [18:02:47.916] muffled <- FALSE [18:02:47.916] if (inherits(cond, "message")) { [18:02:47.916] muffled <- grepl(pattern, "muffleMessage") [18:02:47.916] if (muffled) [18:02:47.916] invokeRestart("muffleMessage") [18:02:47.916] } [18:02:47.916] else if (inherits(cond, "warning")) { [18:02:47.916] muffled <- grepl(pattern, "muffleWarning") [18:02:47.916] if (muffled) [18:02:47.916] invokeRestart("muffleWarning") [18:02:47.916] } [18:02:47.916] else if (inherits(cond, "condition")) { [18:02:47.916] if (!is.null(pattern)) { [18:02:47.916] computeRestarts <- base::computeRestarts [18:02:47.916] grepl <- base::grepl [18:02:47.916] restarts <- computeRestarts(cond) [18:02:47.916] for (restart in restarts) { [18:02:47.916] name <- restart$name [18:02:47.916] if (is.null(name)) [18:02:47.916] next [18:02:47.916] if (!grepl(pattern, name)) [18:02:47.916] next [18:02:47.916] invokeRestart(restart) [18:02:47.916] muffled <- TRUE [18:02:47.916] break [18:02:47.916] } [18:02:47.916] } [18:02:47.916] } [18:02:47.916] invisible(muffled) [18:02:47.916] } [18:02:47.916] muffleCondition(cond) [18:02:47.916] }) [18:02:47.916] })) [18:02:47.916] future::FutureResult(value = ...future.value$value, [18:02:47.916] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:47.916] ...future.rng), globalenv = if (FALSE) [18:02:47.916] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:47.916] ...future.globalenv.names)) [18:02:47.916] else NULL, started = ...future.startTime, version = "1.8") [18:02:47.916] }, condition = base::local({ [18:02:47.916] c <- base::c [18:02:47.916] inherits <- base::inherits [18:02:47.916] invokeRestart <- base::invokeRestart [18:02:47.916] length <- base::length [18:02:47.916] list <- base::list [18:02:47.916] seq.int <- base::seq.int [18:02:47.916] signalCondition <- base::signalCondition [18:02:47.916] sys.calls <- base::sys.calls [18:02:47.916] `[[` <- base::`[[` [18:02:47.916] `+` <- base::`+` [18:02:47.916] `<<-` <- base::`<<-` [18:02:47.916] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:47.916] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:47.916] 3L)] [18:02:47.916] } [18:02:47.916] function(cond) { [18:02:47.916] is_error <- inherits(cond, "error") [18:02:47.916] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:47.916] NULL) [18:02:47.916] if (is_error) { [18:02:47.916] sessionInformation <- function() { [18:02:47.916] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:47.916] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:47.916] search = base::search(), system = base::Sys.info()) [18:02:47.916] } [18:02:47.916] ...future.conditions[[length(...future.conditions) + [18:02:47.916] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:47.916] cond$call), session = sessionInformation(), [18:02:47.916] timestamp = base::Sys.time(), signaled = 0L) [18:02:47.916] signalCondition(cond) [18:02:47.916] } [18:02:47.916] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:47.916] "immediateCondition"))) { [18:02:47.916] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:47.916] ...future.conditions[[length(...future.conditions) + [18:02:47.916] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:47.916] if (TRUE && !signal) { [18:02:47.916] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.916] { [18:02:47.916] inherits <- base::inherits [18:02:47.916] invokeRestart <- base::invokeRestart [18:02:47.916] is.null <- base::is.null [18:02:47.916] muffled <- FALSE [18:02:47.916] if (inherits(cond, "message")) { [18:02:47.916] muffled <- grepl(pattern, "muffleMessage") [18:02:47.916] if (muffled) [18:02:47.916] invokeRestart("muffleMessage") [18:02:47.916] } [18:02:47.916] else if (inherits(cond, "warning")) { [18:02:47.916] muffled <- grepl(pattern, "muffleWarning") [18:02:47.916] if (muffled) [18:02:47.916] invokeRestart("muffleWarning") [18:02:47.916] } [18:02:47.916] else if (inherits(cond, "condition")) { [18:02:47.916] if (!is.null(pattern)) { [18:02:47.916] computeRestarts <- base::computeRestarts [18:02:47.916] grepl <- base::grepl [18:02:47.916] restarts <- computeRestarts(cond) [18:02:47.916] for (restart in restarts) { [18:02:47.916] name <- restart$name [18:02:47.916] if (is.null(name)) [18:02:47.916] next [18:02:47.916] if (!grepl(pattern, name)) [18:02:47.916] next [18:02:47.916] invokeRestart(restart) [18:02:47.916] muffled <- TRUE [18:02:47.916] break [18:02:47.916] } [18:02:47.916] } [18:02:47.916] } [18:02:47.916] invisible(muffled) [18:02:47.916] } [18:02:47.916] muffleCondition(cond, pattern = "^muffle") [18:02:47.916] } [18:02:47.916] } [18:02:47.916] else { [18:02:47.916] if (TRUE) { [18:02:47.916] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.916] { [18:02:47.916] inherits <- base::inherits [18:02:47.916] invokeRestart <- base::invokeRestart [18:02:47.916] is.null <- base::is.null [18:02:47.916] muffled <- FALSE [18:02:47.916] if (inherits(cond, "message")) { [18:02:47.916] muffled <- grepl(pattern, "muffleMessage") [18:02:47.916] if (muffled) [18:02:47.916] invokeRestart("muffleMessage") [18:02:47.916] } [18:02:47.916] else if (inherits(cond, "warning")) { [18:02:47.916] muffled <- grepl(pattern, "muffleWarning") [18:02:47.916] if (muffled) [18:02:47.916] invokeRestart("muffleWarning") [18:02:47.916] } [18:02:47.916] else if (inherits(cond, "condition")) { [18:02:47.916] if (!is.null(pattern)) { [18:02:47.916] computeRestarts <- base::computeRestarts [18:02:47.916] grepl <- base::grepl [18:02:47.916] restarts <- computeRestarts(cond) [18:02:47.916] for (restart in restarts) { [18:02:47.916] name <- restart$name [18:02:47.916] if (is.null(name)) [18:02:47.916] next [18:02:47.916] if (!grepl(pattern, name)) [18:02:47.916] next [18:02:47.916] invokeRestart(restart) [18:02:47.916] muffled <- TRUE [18:02:47.916] break [18:02:47.916] } [18:02:47.916] } [18:02:47.916] } [18:02:47.916] invisible(muffled) [18:02:47.916] } [18:02:47.916] muffleCondition(cond, pattern = "^muffle") [18:02:47.916] } [18:02:47.916] } [18:02:47.916] } [18:02:47.916] })) [18:02:47.916] }, error = function(ex) { [18:02:47.916] base::structure(base::list(value = NULL, visible = NULL, [18:02:47.916] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:47.916] ...future.rng), started = ...future.startTime, [18:02:47.916] finished = Sys.time(), session_uuid = NA_character_, [18:02:47.916] version = "1.8"), class = "FutureResult") [18:02:47.916] }, finally = { [18:02:47.916] if (!identical(...future.workdir, getwd())) [18:02:47.916] setwd(...future.workdir) [18:02:47.916] { [18:02:47.916] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:47.916] ...future.oldOptions$nwarnings <- NULL [18:02:47.916] } [18:02:47.916] base::options(...future.oldOptions) [18:02:47.916] if (.Platform$OS.type == "windows") { [18:02:47.916] old_names <- names(...future.oldEnvVars) [18:02:47.916] envs <- base::Sys.getenv() [18:02:47.916] names <- names(envs) [18:02:47.916] common <- intersect(names, old_names) [18:02:47.916] added <- setdiff(names, old_names) [18:02:47.916] removed <- setdiff(old_names, names) [18:02:47.916] changed <- common[...future.oldEnvVars[common] != [18:02:47.916] envs[common]] [18:02:47.916] NAMES <- toupper(changed) [18:02:47.916] args <- list() [18:02:47.916] for (kk in seq_along(NAMES)) { [18:02:47.916] name <- changed[[kk]] [18:02:47.916] NAME <- NAMES[[kk]] [18:02:47.916] if (name != NAME && is.element(NAME, old_names)) [18:02:47.916] next [18:02:47.916] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:47.916] } [18:02:47.916] NAMES <- toupper(added) [18:02:47.916] for (kk in seq_along(NAMES)) { [18:02:47.916] name <- added[[kk]] [18:02:47.916] NAME <- NAMES[[kk]] [18:02:47.916] if (name != NAME && is.element(NAME, old_names)) [18:02:47.916] next [18:02:47.916] args[[name]] <- "" [18:02:47.916] } [18:02:47.916] NAMES <- toupper(removed) [18:02:47.916] for (kk in seq_along(NAMES)) { [18:02:47.916] name <- removed[[kk]] [18:02:47.916] NAME <- NAMES[[kk]] [18:02:47.916] if (name != NAME && is.element(NAME, old_names)) [18:02:47.916] next [18:02:47.916] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:47.916] } [18:02:47.916] if (length(args) > 0) [18:02:47.916] base::do.call(base::Sys.setenv, args = args) [18:02:47.916] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:47.916] } [18:02:47.916] else { [18:02:47.916] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:47.916] } [18:02:47.916] { [18:02:47.916] if (base::length(...future.futureOptionsAdded) > [18:02:47.916] 0L) { [18:02:47.916] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:47.916] base::names(opts) <- ...future.futureOptionsAdded [18:02:47.916] base::options(opts) [18:02:47.916] } [18:02:47.916] { [18:02:47.916] { [18:02:47.916] base::options(mc.cores = ...future.mc.cores.old) [18:02:47.916] NULL [18:02:47.916] } [18:02:47.916] options(future.plan = NULL) [18:02:47.916] if (is.na(NA_character_)) [18:02:47.916] Sys.unsetenv("R_FUTURE_PLAN") [18:02:47.916] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:47.916] future::plan(list(function (..., workers = availableCores(), [18:02:47.916] lazy = FALSE, rscript_libs = .libPaths(), [18:02:47.916] envir = parent.frame()) [18:02:47.916] { [18:02:47.916] if (is.function(workers)) [18:02:47.916] workers <- workers() [18:02:47.916] workers <- structure(as.integer(workers), [18:02:47.916] class = class(workers)) [18:02:47.916] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:47.916] workers >= 1) [18:02:47.916] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:47.916] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:47.916] } [18:02:47.916] future <- MultisessionFuture(..., workers = workers, [18:02:47.916] lazy = lazy, rscript_libs = rscript_libs, [18:02:47.916] envir = envir) [18:02:47.916] if (!future$lazy) [18:02:47.916] future <- run(future) [18:02:47.916] invisible(future) [18:02:47.916] }), .cleanup = FALSE, .init = FALSE) [18:02:47.916] } [18:02:47.916] } [18:02:47.916] } [18:02:47.916] }) [18:02:47.916] if (TRUE) { [18:02:47.916] base::sink(type = "output", split = FALSE) [18:02:47.916] if (TRUE) { [18:02:47.916] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:47.916] } [18:02:47.916] else { [18:02:47.916] ...future.result["stdout"] <- base::list(NULL) [18:02:47.916] } [18:02:47.916] base::close(...future.stdout) [18:02:47.916] ...future.stdout <- NULL [18:02:47.916] } [18:02:47.916] ...future.result$conditions <- ...future.conditions [18:02:47.916] ...future.result$finished <- base::Sys.time() [18:02:47.916] ...future.result [18:02:47.916] } [18:02:47.922] MultisessionFuture started [18:02:47.922] - Launch lazy future ... done [18:02:47.922] run() for 'MultisessionFuture' ... done [18:02:47.938] receiveMessageFromWorker() for ClusterFuture ... [18:02:47.939] - Validating connection of MultisessionFuture [18:02:47.939] - received message: FutureResult [18:02:47.939] - Received FutureResult [18:02:47.940] - Erased future from FutureRegistry [18:02:47.940] result() for ClusterFuture ... [18:02:47.940] - result already collected: FutureResult [18:02:47.940] result() for ClusterFuture ... done [18:02:47.940] signalConditions() ... [18:02:47.940] - include = 'immediateCondition' [18:02:47.941] - exclude = [18:02:47.941] - resignal = FALSE [18:02:47.941] - Number of conditions: 1 [18:02:47.941] signalConditions() ... done [18:02:47.941] receiveMessageFromWorker() for ClusterFuture ... done [18:02:47.941] A MultisessionFuture was resolved (result was not collected) - result = FALSE, recursive = TRUE ... DONE - result = FALSE, recursive = -1 ... [18:02:47.942] getGlobalsAndPackages() ... [18:02:47.942] Searching for globals... [18:02:47.943] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:47.943] Searching for globals ... DONE [18:02:47.944] Resolving globals: FALSE [18:02:47.944] [18:02:47.944] [18:02:47.944] getGlobalsAndPackages() ... DONE [18:02:47.945] run() for 'Future' ... [18:02:47.945] - state: 'created' [18:02:47.945] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:47.959] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:47.959] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:47.959] - Field: 'node' [18:02:47.959] - Field: 'label' [18:02:47.959] - Field: 'local' [18:02:47.960] - Field: 'owner' [18:02:47.960] - Field: 'envir' [18:02:47.960] - Field: 'workers' [18:02:47.960] - Field: 'packages' [18:02:47.960] - Field: 'gc' [18:02:47.961] - Field: 'conditions' [18:02:47.961] - Field: 'persistent' [18:02:47.961] - Field: 'expr' [18:02:47.961] - Field: 'uuid' [18:02:47.961] - Field: 'seed' [18:02:47.961] - Field: 'version' [18:02:47.962] - Field: 'result' [18:02:47.962] - Field: 'asynchronous' [18:02:47.962] - Field: 'calls' [18:02:47.962] - Field: 'globals' [18:02:47.962] - Field: 'stdout' [18:02:47.962] - Field: 'earlySignal' [18:02:47.963] - Field: 'lazy' [18:02:47.963] - Field: 'state' [18:02:47.963] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:47.963] - Launch lazy future ... [18:02:47.964] Packages needed by the future expression (n = 0): [18:02:47.964] Packages needed by future strategies (n = 0): [18:02:47.964] { [18:02:47.964] { [18:02:47.964] { [18:02:47.964] ...future.startTime <- base::Sys.time() [18:02:47.964] { [18:02:47.964] { [18:02:47.964] { [18:02:47.964] { [18:02:47.964] base::local({ [18:02:47.964] has_future <- base::requireNamespace("future", [18:02:47.964] quietly = TRUE) [18:02:47.964] if (has_future) { [18:02:47.964] ns <- base::getNamespace("future") [18:02:47.964] version <- ns[[".package"]][["version"]] [18:02:47.964] if (is.null(version)) [18:02:47.964] version <- utils::packageVersion("future") [18:02:47.964] } [18:02:47.964] else { [18:02:47.964] version <- NULL [18:02:47.964] } [18:02:47.964] if (!has_future || version < "1.8.0") { [18:02:47.964] info <- base::c(r_version = base::gsub("R version ", [18:02:47.964] "", base::R.version$version.string), [18:02:47.964] platform = base::sprintf("%s (%s-bit)", [18:02:47.964] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:47.964] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:47.964] "release", "version")], collapse = " "), [18:02:47.964] hostname = base::Sys.info()[["nodename"]]) [18:02:47.964] info <- base::sprintf("%s: %s", base::names(info), [18:02:47.964] info) [18:02:47.964] info <- base::paste(info, collapse = "; ") [18:02:47.964] if (!has_future) { [18:02:47.964] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:47.964] info) [18:02:47.964] } [18:02:47.964] else { [18:02:47.964] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:47.964] info, version) [18:02:47.964] } [18:02:47.964] base::stop(msg) [18:02:47.964] } [18:02:47.964] }) [18:02:47.964] } [18:02:47.964] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:47.964] base::options(mc.cores = 1L) [18:02:47.964] } [18:02:47.964] options(future.plan = NULL) [18:02:47.964] Sys.unsetenv("R_FUTURE_PLAN") [18:02:47.964] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:47.964] } [18:02:47.964] ...future.workdir <- getwd() [18:02:47.964] } [18:02:47.964] ...future.oldOptions <- base::as.list(base::.Options) [18:02:47.964] ...future.oldEnvVars <- base::Sys.getenv() [18:02:47.964] } [18:02:47.964] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:47.964] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:47.964] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:47.964] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:47.964] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:47.964] future.stdout.windows.reencode = NULL, width = 80L) [18:02:47.964] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:47.964] base::names(...future.oldOptions)) [18:02:47.964] } [18:02:47.964] if (FALSE) { [18:02:47.964] } [18:02:47.964] else { [18:02:47.964] if (TRUE) { [18:02:47.964] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:47.964] open = "w") [18:02:47.964] } [18:02:47.964] else { [18:02:47.964] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:47.964] windows = "NUL", "/dev/null"), open = "w") [18:02:47.964] } [18:02:47.964] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:47.964] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:47.964] base::sink(type = "output", split = FALSE) [18:02:47.964] base::close(...future.stdout) [18:02:47.964] }, add = TRUE) [18:02:47.964] } [18:02:47.964] ...future.frame <- base::sys.nframe() [18:02:47.964] ...future.conditions <- base::list() [18:02:47.964] ...future.rng <- base::globalenv()$.Random.seed [18:02:47.964] if (FALSE) { [18:02:47.964] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:47.964] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:47.964] } [18:02:47.964] ...future.result <- base::tryCatch({ [18:02:47.964] base::withCallingHandlers({ [18:02:47.964] ...future.value <- base::withVisible(base::local({ [18:02:47.964] ...future.makeSendCondition <- local({ [18:02:47.964] sendCondition <- NULL [18:02:47.964] function(frame = 1L) { [18:02:47.964] if (is.function(sendCondition)) [18:02:47.964] return(sendCondition) [18:02:47.964] ns <- getNamespace("parallel") [18:02:47.964] if (exists("sendData", mode = "function", [18:02:47.964] envir = ns)) { [18:02:47.964] parallel_sendData <- get("sendData", mode = "function", [18:02:47.964] envir = ns) [18:02:47.964] envir <- sys.frame(frame) [18:02:47.964] master <- NULL [18:02:47.964] while (!identical(envir, .GlobalEnv) && [18:02:47.964] !identical(envir, emptyenv())) { [18:02:47.964] if (exists("master", mode = "list", envir = envir, [18:02:47.964] inherits = FALSE)) { [18:02:47.964] master <- get("master", mode = "list", [18:02:47.964] envir = envir, inherits = FALSE) [18:02:47.964] if (inherits(master, c("SOCKnode", [18:02:47.964] "SOCK0node"))) { [18:02:47.964] sendCondition <<- function(cond) { [18:02:47.964] data <- list(type = "VALUE", value = cond, [18:02:47.964] success = TRUE) [18:02:47.964] parallel_sendData(master, data) [18:02:47.964] } [18:02:47.964] return(sendCondition) [18:02:47.964] } [18:02:47.964] } [18:02:47.964] frame <- frame + 1L [18:02:47.964] envir <- sys.frame(frame) [18:02:47.964] } [18:02:47.964] } [18:02:47.964] sendCondition <<- function(cond) NULL [18:02:47.964] } [18:02:47.964] }) [18:02:47.964] withCallingHandlers({ [18:02:47.964] { [18:02:47.964] Sys.sleep(0.5) [18:02:47.964] list(a = 1, b = 42L) [18:02:47.964] } [18:02:47.964] }, immediateCondition = function(cond) { [18:02:47.964] sendCondition <- ...future.makeSendCondition() [18:02:47.964] sendCondition(cond) [18:02:47.964] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.964] { [18:02:47.964] inherits <- base::inherits [18:02:47.964] invokeRestart <- base::invokeRestart [18:02:47.964] is.null <- base::is.null [18:02:47.964] muffled <- FALSE [18:02:47.964] if (inherits(cond, "message")) { [18:02:47.964] muffled <- grepl(pattern, "muffleMessage") [18:02:47.964] if (muffled) [18:02:47.964] invokeRestart("muffleMessage") [18:02:47.964] } [18:02:47.964] else if (inherits(cond, "warning")) { [18:02:47.964] muffled <- grepl(pattern, "muffleWarning") [18:02:47.964] if (muffled) [18:02:47.964] invokeRestart("muffleWarning") [18:02:47.964] } [18:02:47.964] else if (inherits(cond, "condition")) { [18:02:47.964] if (!is.null(pattern)) { [18:02:47.964] computeRestarts <- base::computeRestarts [18:02:47.964] grepl <- base::grepl [18:02:47.964] restarts <- computeRestarts(cond) [18:02:47.964] for (restart in restarts) { [18:02:47.964] name <- restart$name [18:02:47.964] if (is.null(name)) [18:02:47.964] next [18:02:47.964] if (!grepl(pattern, name)) [18:02:47.964] next [18:02:47.964] invokeRestart(restart) [18:02:47.964] muffled <- TRUE [18:02:47.964] break [18:02:47.964] } [18:02:47.964] } [18:02:47.964] } [18:02:47.964] invisible(muffled) [18:02:47.964] } [18:02:47.964] muffleCondition(cond) [18:02:47.964] }) [18:02:47.964] })) [18:02:47.964] future::FutureResult(value = ...future.value$value, [18:02:47.964] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:47.964] ...future.rng), globalenv = if (FALSE) [18:02:47.964] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:47.964] ...future.globalenv.names)) [18:02:47.964] else NULL, started = ...future.startTime, version = "1.8") [18:02:47.964] }, condition = base::local({ [18:02:47.964] c <- base::c [18:02:47.964] inherits <- base::inherits [18:02:47.964] invokeRestart <- base::invokeRestart [18:02:47.964] length <- base::length [18:02:47.964] list <- base::list [18:02:47.964] seq.int <- base::seq.int [18:02:47.964] signalCondition <- base::signalCondition [18:02:47.964] sys.calls <- base::sys.calls [18:02:47.964] `[[` <- base::`[[` [18:02:47.964] `+` <- base::`+` [18:02:47.964] `<<-` <- base::`<<-` [18:02:47.964] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:47.964] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:47.964] 3L)] [18:02:47.964] } [18:02:47.964] function(cond) { [18:02:47.964] is_error <- inherits(cond, "error") [18:02:47.964] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:47.964] NULL) [18:02:47.964] if (is_error) { [18:02:47.964] sessionInformation <- function() { [18:02:47.964] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:47.964] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:47.964] search = base::search(), system = base::Sys.info()) [18:02:47.964] } [18:02:47.964] ...future.conditions[[length(...future.conditions) + [18:02:47.964] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:47.964] cond$call), session = sessionInformation(), [18:02:47.964] timestamp = base::Sys.time(), signaled = 0L) [18:02:47.964] signalCondition(cond) [18:02:47.964] } [18:02:47.964] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:47.964] "immediateCondition"))) { [18:02:47.964] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:47.964] ...future.conditions[[length(...future.conditions) + [18:02:47.964] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:47.964] if (TRUE && !signal) { [18:02:47.964] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.964] { [18:02:47.964] inherits <- base::inherits [18:02:47.964] invokeRestart <- base::invokeRestart [18:02:47.964] is.null <- base::is.null [18:02:47.964] muffled <- FALSE [18:02:47.964] if (inherits(cond, "message")) { [18:02:47.964] muffled <- grepl(pattern, "muffleMessage") [18:02:47.964] if (muffled) [18:02:47.964] invokeRestart("muffleMessage") [18:02:47.964] } [18:02:47.964] else if (inherits(cond, "warning")) { [18:02:47.964] muffled <- grepl(pattern, "muffleWarning") [18:02:47.964] if (muffled) [18:02:47.964] invokeRestart("muffleWarning") [18:02:47.964] } [18:02:47.964] else if (inherits(cond, "condition")) { [18:02:47.964] if (!is.null(pattern)) { [18:02:47.964] computeRestarts <- base::computeRestarts [18:02:47.964] grepl <- base::grepl [18:02:47.964] restarts <- computeRestarts(cond) [18:02:47.964] for (restart in restarts) { [18:02:47.964] name <- restart$name [18:02:47.964] if (is.null(name)) [18:02:47.964] next [18:02:47.964] if (!grepl(pattern, name)) [18:02:47.964] next [18:02:47.964] invokeRestart(restart) [18:02:47.964] muffled <- TRUE [18:02:47.964] break [18:02:47.964] } [18:02:47.964] } [18:02:47.964] } [18:02:47.964] invisible(muffled) [18:02:47.964] } [18:02:47.964] muffleCondition(cond, pattern = "^muffle") [18:02:47.964] } [18:02:47.964] } [18:02:47.964] else { [18:02:47.964] if (TRUE) { [18:02:47.964] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.964] { [18:02:47.964] inherits <- base::inherits [18:02:47.964] invokeRestart <- base::invokeRestart [18:02:47.964] is.null <- base::is.null [18:02:47.964] muffled <- FALSE [18:02:47.964] if (inherits(cond, "message")) { [18:02:47.964] muffled <- grepl(pattern, "muffleMessage") [18:02:47.964] if (muffled) [18:02:47.964] invokeRestart("muffleMessage") [18:02:47.964] } [18:02:47.964] else if (inherits(cond, "warning")) { [18:02:47.964] muffled <- grepl(pattern, "muffleWarning") [18:02:47.964] if (muffled) [18:02:47.964] invokeRestart("muffleWarning") [18:02:47.964] } [18:02:47.964] else if (inherits(cond, "condition")) { [18:02:47.964] if (!is.null(pattern)) { [18:02:47.964] computeRestarts <- base::computeRestarts [18:02:47.964] grepl <- base::grepl [18:02:47.964] restarts <- computeRestarts(cond) [18:02:47.964] for (restart in restarts) { [18:02:47.964] name <- restart$name [18:02:47.964] if (is.null(name)) [18:02:47.964] next [18:02:47.964] if (!grepl(pattern, name)) [18:02:47.964] next [18:02:47.964] invokeRestart(restart) [18:02:47.964] muffled <- TRUE [18:02:47.964] break [18:02:47.964] } [18:02:47.964] } [18:02:47.964] } [18:02:47.964] invisible(muffled) [18:02:47.964] } [18:02:47.964] muffleCondition(cond, pattern = "^muffle") [18:02:47.964] } [18:02:47.964] } [18:02:47.964] } [18:02:47.964] })) [18:02:47.964] }, error = function(ex) { [18:02:47.964] base::structure(base::list(value = NULL, visible = NULL, [18:02:47.964] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:47.964] ...future.rng), started = ...future.startTime, [18:02:47.964] finished = Sys.time(), session_uuid = NA_character_, [18:02:47.964] version = "1.8"), class = "FutureResult") [18:02:47.964] }, finally = { [18:02:47.964] if (!identical(...future.workdir, getwd())) [18:02:47.964] setwd(...future.workdir) [18:02:47.964] { [18:02:47.964] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:47.964] ...future.oldOptions$nwarnings <- NULL [18:02:47.964] } [18:02:47.964] base::options(...future.oldOptions) [18:02:47.964] if (.Platform$OS.type == "windows") { [18:02:47.964] old_names <- names(...future.oldEnvVars) [18:02:47.964] envs <- base::Sys.getenv() [18:02:47.964] names <- names(envs) [18:02:47.964] common <- intersect(names, old_names) [18:02:47.964] added <- setdiff(names, old_names) [18:02:47.964] removed <- setdiff(old_names, names) [18:02:47.964] changed <- common[...future.oldEnvVars[common] != [18:02:47.964] envs[common]] [18:02:47.964] NAMES <- toupper(changed) [18:02:47.964] args <- list() [18:02:47.964] for (kk in seq_along(NAMES)) { [18:02:47.964] name <- changed[[kk]] [18:02:47.964] NAME <- NAMES[[kk]] [18:02:47.964] if (name != NAME && is.element(NAME, old_names)) [18:02:47.964] next [18:02:47.964] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:47.964] } [18:02:47.964] NAMES <- toupper(added) [18:02:47.964] for (kk in seq_along(NAMES)) { [18:02:47.964] name <- added[[kk]] [18:02:47.964] NAME <- NAMES[[kk]] [18:02:47.964] if (name != NAME && is.element(NAME, old_names)) [18:02:47.964] next [18:02:47.964] args[[name]] <- "" [18:02:47.964] } [18:02:47.964] NAMES <- toupper(removed) [18:02:47.964] for (kk in seq_along(NAMES)) { [18:02:47.964] name <- removed[[kk]] [18:02:47.964] NAME <- NAMES[[kk]] [18:02:47.964] if (name != NAME && is.element(NAME, old_names)) [18:02:47.964] next [18:02:47.964] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:47.964] } [18:02:47.964] if (length(args) > 0) [18:02:47.964] base::do.call(base::Sys.setenv, args = args) [18:02:47.964] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:47.964] } [18:02:47.964] else { [18:02:47.964] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:47.964] } [18:02:47.964] { [18:02:47.964] if (base::length(...future.futureOptionsAdded) > [18:02:47.964] 0L) { [18:02:47.964] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:47.964] base::names(opts) <- ...future.futureOptionsAdded [18:02:47.964] base::options(opts) [18:02:47.964] } [18:02:47.964] { [18:02:47.964] { [18:02:47.964] base::options(mc.cores = ...future.mc.cores.old) [18:02:47.964] NULL [18:02:47.964] } [18:02:47.964] options(future.plan = NULL) [18:02:47.964] if (is.na(NA_character_)) [18:02:47.964] Sys.unsetenv("R_FUTURE_PLAN") [18:02:47.964] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:47.964] future::plan(list(function (..., workers = availableCores(), [18:02:47.964] lazy = FALSE, rscript_libs = .libPaths(), [18:02:47.964] envir = parent.frame()) [18:02:47.964] { [18:02:47.964] if (is.function(workers)) [18:02:47.964] workers <- workers() [18:02:47.964] workers <- structure(as.integer(workers), [18:02:47.964] class = class(workers)) [18:02:47.964] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:47.964] workers >= 1) [18:02:47.964] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:47.964] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:47.964] } [18:02:47.964] future <- MultisessionFuture(..., workers = workers, [18:02:47.964] lazy = lazy, rscript_libs = rscript_libs, [18:02:47.964] envir = envir) [18:02:47.964] if (!future$lazy) [18:02:47.964] future <- run(future) [18:02:47.964] invisible(future) [18:02:47.964] }), .cleanup = FALSE, .init = FALSE) [18:02:47.964] } [18:02:47.964] } [18:02:47.964] } [18:02:47.964] }) [18:02:47.964] if (TRUE) { [18:02:47.964] base::sink(type = "output", split = FALSE) [18:02:47.964] if (TRUE) { [18:02:47.964] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:47.964] } [18:02:47.964] else { [18:02:47.964] ...future.result["stdout"] <- base::list(NULL) [18:02:47.964] } [18:02:47.964] base::close(...future.stdout) [18:02:47.964] ...future.stdout <- NULL [18:02:47.964] } [18:02:47.964] ...future.result$conditions <- ...future.conditions [18:02:47.964] ...future.result$finished <- base::Sys.time() [18:02:47.964] ...future.result [18:02:47.964] } [18:02:47.970] MultisessionFuture started [18:02:47.970] - Launch lazy future ... done [18:02:47.971] run() for 'MultisessionFuture' ... done [18:02:47.971] getGlobalsAndPackages() ... [18:02:47.971] Searching for globals... [18:02:47.972] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:47.972] Searching for globals ... DONE [18:02:47.973] Resolving globals: FALSE [18:02:47.973] [18:02:47.973] [18:02:47.973] getGlobalsAndPackages() ... DONE - w/ exception ... [18:02:47.974] getGlobalsAndPackages() ... [18:02:47.974] Searching for globals... [18:02:47.975] - globals found: [2] 'list', 'stop' [18:02:47.975] Searching for globals ... DONE [18:02:47.975] Resolving globals: FALSE [18:02:47.976] [18:02:47.976] [18:02:47.976] getGlobalsAndPackages() ... DONE [18:02:47.976] run() for 'Future' ... [18:02:47.976] - state: 'created' [18:02:47.977] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:47.992] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:47.992] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:47.993] - Field: 'node' [18:02:47.993] - Field: 'label' [18:02:47.993] - Field: 'local' [18:02:47.993] - Field: 'owner' [18:02:47.993] - Field: 'envir' [18:02:47.994] - Field: 'workers' [18:02:47.994] - Field: 'packages' [18:02:47.994] - Field: 'gc' [18:02:47.994] - Field: 'conditions' [18:02:47.994] - Field: 'persistent' [18:02:47.994] - Field: 'expr' [18:02:47.995] - Field: 'uuid' [18:02:47.995] - Field: 'seed' [18:02:47.995] - Field: 'version' [18:02:47.995] - Field: 'result' [18:02:47.995] - Field: 'asynchronous' [18:02:47.995] - Field: 'calls' [18:02:47.996] - Field: 'globals' [18:02:47.996] - Field: 'stdout' [18:02:47.996] - Field: 'earlySignal' [18:02:47.996] - Field: 'lazy' [18:02:47.996] - Field: 'state' [18:02:47.997] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:47.997] - Launch lazy future ... [18:02:47.997] Packages needed by the future expression (n = 0): [18:02:47.997] Packages needed by future strategies (n = 0): [18:02:47.998] { [18:02:47.998] { [18:02:47.998] { [18:02:47.998] ...future.startTime <- base::Sys.time() [18:02:47.998] { [18:02:47.998] { [18:02:47.998] { [18:02:47.998] { [18:02:47.998] base::local({ [18:02:47.998] has_future <- base::requireNamespace("future", [18:02:47.998] quietly = TRUE) [18:02:47.998] if (has_future) { [18:02:47.998] ns <- base::getNamespace("future") [18:02:47.998] version <- ns[[".package"]][["version"]] [18:02:47.998] if (is.null(version)) [18:02:47.998] version <- utils::packageVersion("future") [18:02:47.998] } [18:02:47.998] else { [18:02:47.998] version <- NULL [18:02:47.998] } [18:02:47.998] if (!has_future || version < "1.8.0") { [18:02:47.998] info <- base::c(r_version = base::gsub("R version ", [18:02:47.998] "", base::R.version$version.string), [18:02:47.998] platform = base::sprintf("%s (%s-bit)", [18:02:47.998] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:47.998] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:47.998] "release", "version")], collapse = " "), [18:02:47.998] hostname = base::Sys.info()[["nodename"]]) [18:02:47.998] info <- base::sprintf("%s: %s", base::names(info), [18:02:47.998] info) [18:02:47.998] info <- base::paste(info, collapse = "; ") [18:02:47.998] if (!has_future) { [18:02:47.998] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:47.998] info) [18:02:47.998] } [18:02:47.998] else { [18:02:47.998] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:47.998] info, version) [18:02:47.998] } [18:02:47.998] base::stop(msg) [18:02:47.998] } [18:02:47.998] }) [18:02:47.998] } [18:02:47.998] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:47.998] base::options(mc.cores = 1L) [18:02:47.998] } [18:02:47.998] options(future.plan = NULL) [18:02:47.998] Sys.unsetenv("R_FUTURE_PLAN") [18:02:47.998] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:47.998] } [18:02:47.998] ...future.workdir <- getwd() [18:02:47.998] } [18:02:47.998] ...future.oldOptions <- base::as.list(base::.Options) [18:02:47.998] ...future.oldEnvVars <- base::Sys.getenv() [18:02:47.998] } [18:02:47.998] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:47.998] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:47.998] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:47.998] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:47.998] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:47.998] future.stdout.windows.reencode = NULL, width = 80L) [18:02:47.998] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:47.998] base::names(...future.oldOptions)) [18:02:47.998] } [18:02:47.998] if (FALSE) { [18:02:47.998] } [18:02:47.998] else { [18:02:47.998] if (TRUE) { [18:02:47.998] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:47.998] open = "w") [18:02:47.998] } [18:02:47.998] else { [18:02:47.998] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:47.998] windows = "NUL", "/dev/null"), open = "w") [18:02:47.998] } [18:02:47.998] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:47.998] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:47.998] base::sink(type = "output", split = FALSE) [18:02:47.998] base::close(...future.stdout) [18:02:47.998] }, add = TRUE) [18:02:47.998] } [18:02:47.998] ...future.frame <- base::sys.nframe() [18:02:47.998] ...future.conditions <- base::list() [18:02:47.998] ...future.rng <- base::globalenv()$.Random.seed [18:02:47.998] if (FALSE) { [18:02:47.998] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:47.998] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:47.998] } [18:02:47.998] ...future.result <- base::tryCatch({ [18:02:47.998] base::withCallingHandlers({ [18:02:47.998] ...future.value <- base::withVisible(base::local({ [18:02:47.998] ...future.makeSendCondition <- local({ [18:02:47.998] sendCondition <- NULL [18:02:47.998] function(frame = 1L) { [18:02:47.998] if (is.function(sendCondition)) [18:02:47.998] return(sendCondition) [18:02:47.998] ns <- getNamespace("parallel") [18:02:47.998] if (exists("sendData", mode = "function", [18:02:47.998] envir = ns)) { [18:02:47.998] parallel_sendData <- get("sendData", mode = "function", [18:02:47.998] envir = ns) [18:02:47.998] envir <- sys.frame(frame) [18:02:47.998] master <- NULL [18:02:47.998] while (!identical(envir, .GlobalEnv) && [18:02:47.998] !identical(envir, emptyenv())) { [18:02:47.998] if (exists("master", mode = "list", envir = envir, [18:02:47.998] inherits = FALSE)) { [18:02:47.998] master <- get("master", mode = "list", [18:02:47.998] envir = envir, inherits = FALSE) [18:02:47.998] if (inherits(master, c("SOCKnode", [18:02:47.998] "SOCK0node"))) { [18:02:47.998] sendCondition <<- function(cond) { [18:02:47.998] data <- list(type = "VALUE", value = cond, [18:02:47.998] success = TRUE) [18:02:47.998] parallel_sendData(master, data) [18:02:47.998] } [18:02:47.998] return(sendCondition) [18:02:47.998] } [18:02:47.998] } [18:02:47.998] frame <- frame + 1L [18:02:47.998] envir <- sys.frame(frame) [18:02:47.998] } [18:02:47.998] } [18:02:47.998] sendCondition <<- function(cond) NULL [18:02:47.998] } [18:02:47.998] }) [18:02:47.998] withCallingHandlers({ [18:02:47.998] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:47.998] }, immediateCondition = function(cond) { [18:02:47.998] sendCondition <- ...future.makeSendCondition() [18:02:47.998] sendCondition(cond) [18:02:47.998] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.998] { [18:02:47.998] inherits <- base::inherits [18:02:47.998] invokeRestart <- base::invokeRestart [18:02:47.998] is.null <- base::is.null [18:02:47.998] muffled <- FALSE [18:02:47.998] if (inherits(cond, "message")) { [18:02:47.998] muffled <- grepl(pattern, "muffleMessage") [18:02:47.998] if (muffled) [18:02:47.998] invokeRestart("muffleMessage") [18:02:47.998] } [18:02:47.998] else if (inherits(cond, "warning")) { [18:02:47.998] muffled <- grepl(pattern, "muffleWarning") [18:02:47.998] if (muffled) [18:02:47.998] invokeRestart("muffleWarning") [18:02:47.998] } [18:02:47.998] else if (inherits(cond, "condition")) { [18:02:47.998] if (!is.null(pattern)) { [18:02:47.998] computeRestarts <- base::computeRestarts [18:02:47.998] grepl <- base::grepl [18:02:47.998] restarts <- computeRestarts(cond) [18:02:47.998] for (restart in restarts) { [18:02:47.998] name <- restart$name [18:02:47.998] if (is.null(name)) [18:02:47.998] next [18:02:47.998] if (!grepl(pattern, name)) [18:02:47.998] next [18:02:47.998] invokeRestart(restart) [18:02:47.998] muffled <- TRUE [18:02:47.998] break [18:02:47.998] } [18:02:47.998] } [18:02:47.998] } [18:02:47.998] invisible(muffled) [18:02:47.998] } [18:02:47.998] muffleCondition(cond) [18:02:47.998] }) [18:02:47.998] })) [18:02:47.998] future::FutureResult(value = ...future.value$value, [18:02:47.998] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:47.998] ...future.rng), globalenv = if (FALSE) [18:02:47.998] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:47.998] ...future.globalenv.names)) [18:02:47.998] else NULL, started = ...future.startTime, version = "1.8") [18:02:47.998] }, condition = base::local({ [18:02:47.998] c <- base::c [18:02:47.998] inherits <- base::inherits [18:02:47.998] invokeRestart <- base::invokeRestart [18:02:47.998] length <- base::length [18:02:47.998] list <- base::list [18:02:47.998] seq.int <- base::seq.int [18:02:47.998] signalCondition <- base::signalCondition [18:02:47.998] sys.calls <- base::sys.calls [18:02:47.998] `[[` <- base::`[[` [18:02:47.998] `+` <- base::`+` [18:02:47.998] `<<-` <- base::`<<-` [18:02:47.998] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:47.998] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:47.998] 3L)] [18:02:47.998] } [18:02:47.998] function(cond) { [18:02:47.998] is_error <- inherits(cond, "error") [18:02:47.998] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:47.998] NULL) [18:02:47.998] if (is_error) { [18:02:47.998] sessionInformation <- function() { [18:02:47.998] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:47.998] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:47.998] search = base::search(), system = base::Sys.info()) [18:02:47.998] } [18:02:47.998] ...future.conditions[[length(...future.conditions) + [18:02:47.998] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:47.998] cond$call), session = sessionInformation(), [18:02:47.998] timestamp = base::Sys.time(), signaled = 0L) [18:02:47.998] signalCondition(cond) [18:02:47.998] } [18:02:47.998] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:47.998] "immediateCondition"))) { [18:02:47.998] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:47.998] ...future.conditions[[length(...future.conditions) + [18:02:47.998] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:47.998] if (TRUE && !signal) { [18:02:47.998] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.998] { [18:02:47.998] inherits <- base::inherits [18:02:47.998] invokeRestart <- base::invokeRestart [18:02:47.998] is.null <- base::is.null [18:02:47.998] muffled <- FALSE [18:02:47.998] if (inherits(cond, "message")) { [18:02:47.998] muffled <- grepl(pattern, "muffleMessage") [18:02:47.998] if (muffled) [18:02:47.998] invokeRestart("muffleMessage") [18:02:47.998] } [18:02:47.998] else if (inherits(cond, "warning")) { [18:02:47.998] muffled <- grepl(pattern, "muffleWarning") [18:02:47.998] if (muffled) [18:02:47.998] invokeRestart("muffleWarning") [18:02:47.998] } [18:02:47.998] else if (inherits(cond, "condition")) { [18:02:47.998] if (!is.null(pattern)) { [18:02:47.998] computeRestarts <- base::computeRestarts [18:02:47.998] grepl <- base::grepl [18:02:47.998] restarts <- computeRestarts(cond) [18:02:47.998] for (restart in restarts) { [18:02:47.998] name <- restart$name [18:02:47.998] if (is.null(name)) [18:02:47.998] next [18:02:47.998] if (!grepl(pattern, name)) [18:02:47.998] next [18:02:47.998] invokeRestart(restart) [18:02:47.998] muffled <- TRUE [18:02:47.998] break [18:02:47.998] } [18:02:47.998] } [18:02:47.998] } [18:02:47.998] invisible(muffled) [18:02:47.998] } [18:02:47.998] muffleCondition(cond, pattern = "^muffle") [18:02:47.998] } [18:02:47.998] } [18:02:47.998] else { [18:02:47.998] if (TRUE) { [18:02:47.998] muffleCondition <- function (cond, pattern = "^muffle") [18:02:47.998] { [18:02:47.998] inherits <- base::inherits [18:02:47.998] invokeRestart <- base::invokeRestart [18:02:47.998] is.null <- base::is.null [18:02:47.998] muffled <- FALSE [18:02:47.998] if (inherits(cond, "message")) { [18:02:47.998] muffled <- grepl(pattern, "muffleMessage") [18:02:47.998] if (muffled) [18:02:47.998] invokeRestart("muffleMessage") [18:02:47.998] } [18:02:47.998] else if (inherits(cond, "warning")) { [18:02:47.998] muffled <- grepl(pattern, "muffleWarning") [18:02:47.998] if (muffled) [18:02:47.998] invokeRestart("muffleWarning") [18:02:47.998] } [18:02:47.998] else if (inherits(cond, "condition")) { [18:02:47.998] if (!is.null(pattern)) { [18:02:47.998] computeRestarts <- base::computeRestarts [18:02:47.998] grepl <- base::grepl [18:02:47.998] restarts <- computeRestarts(cond) [18:02:47.998] for (restart in restarts) { [18:02:47.998] name <- restart$name [18:02:47.998] if (is.null(name)) [18:02:47.998] next [18:02:47.998] if (!grepl(pattern, name)) [18:02:47.998] next [18:02:47.998] invokeRestart(restart) [18:02:47.998] muffled <- TRUE [18:02:47.998] break [18:02:47.998] } [18:02:47.998] } [18:02:47.998] } [18:02:47.998] invisible(muffled) [18:02:47.998] } [18:02:47.998] muffleCondition(cond, pattern = "^muffle") [18:02:47.998] } [18:02:47.998] } [18:02:47.998] } [18:02:47.998] })) [18:02:47.998] }, error = function(ex) { [18:02:47.998] base::structure(base::list(value = NULL, visible = NULL, [18:02:47.998] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:47.998] ...future.rng), started = ...future.startTime, [18:02:47.998] finished = Sys.time(), session_uuid = NA_character_, [18:02:47.998] version = "1.8"), class = "FutureResult") [18:02:47.998] }, finally = { [18:02:47.998] if (!identical(...future.workdir, getwd())) [18:02:47.998] setwd(...future.workdir) [18:02:47.998] { [18:02:47.998] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:47.998] ...future.oldOptions$nwarnings <- NULL [18:02:47.998] } [18:02:47.998] base::options(...future.oldOptions) [18:02:47.998] if (.Platform$OS.type == "windows") { [18:02:47.998] old_names <- names(...future.oldEnvVars) [18:02:47.998] envs <- base::Sys.getenv() [18:02:47.998] names <- names(envs) [18:02:47.998] common <- intersect(names, old_names) [18:02:47.998] added <- setdiff(names, old_names) [18:02:47.998] removed <- setdiff(old_names, names) [18:02:47.998] changed <- common[...future.oldEnvVars[common] != [18:02:47.998] envs[common]] [18:02:47.998] NAMES <- toupper(changed) [18:02:47.998] args <- list() [18:02:47.998] for (kk in seq_along(NAMES)) { [18:02:47.998] name <- changed[[kk]] [18:02:47.998] NAME <- NAMES[[kk]] [18:02:47.998] if (name != NAME && is.element(NAME, old_names)) [18:02:47.998] next [18:02:47.998] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:47.998] } [18:02:47.998] NAMES <- toupper(added) [18:02:47.998] for (kk in seq_along(NAMES)) { [18:02:47.998] name <- added[[kk]] [18:02:47.998] NAME <- NAMES[[kk]] [18:02:47.998] if (name != NAME && is.element(NAME, old_names)) [18:02:47.998] next [18:02:47.998] args[[name]] <- "" [18:02:47.998] } [18:02:47.998] NAMES <- toupper(removed) [18:02:47.998] for (kk in seq_along(NAMES)) { [18:02:47.998] name <- removed[[kk]] [18:02:47.998] NAME <- NAMES[[kk]] [18:02:47.998] if (name != NAME && is.element(NAME, old_names)) [18:02:47.998] next [18:02:47.998] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:47.998] } [18:02:47.998] if (length(args) > 0) [18:02:47.998] base::do.call(base::Sys.setenv, args = args) [18:02:47.998] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:47.998] } [18:02:47.998] else { [18:02:47.998] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:47.998] } [18:02:47.998] { [18:02:47.998] if (base::length(...future.futureOptionsAdded) > [18:02:47.998] 0L) { [18:02:47.998] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:47.998] base::names(opts) <- ...future.futureOptionsAdded [18:02:47.998] base::options(opts) [18:02:47.998] } [18:02:47.998] { [18:02:47.998] { [18:02:47.998] base::options(mc.cores = ...future.mc.cores.old) [18:02:47.998] NULL [18:02:47.998] } [18:02:47.998] options(future.plan = NULL) [18:02:47.998] if (is.na(NA_character_)) [18:02:47.998] Sys.unsetenv("R_FUTURE_PLAN") [18:02:47.998] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:47.998] future::plan(list(function (..., workers = availableCores(), [18:02:47.998] lazy = FALSE, rscript_libs = .libPaths(), [18:02:47.998] envir = parent.frame()) [18:02:47.998] { [18:02:47.998] if (is.function(workers)) [18:02:47.998] workers <- workers() [18:02:47.998] workers <- structure(as.integer(workers), [18:02:47.998] class = class(workers)) [18:02:47.998] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:47.998] workers >= 1) [18:02:47.998] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:47.998] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:47.998] } [18:02:47.998] future <- MultisessionFuture(..., workers = workers, [18:02:47.998] lazy = lazy, rscript_libs = rscript_libs, [18:02:47.998] envir = envir) [18:02:47.998] if (!future$lazy) [18:02:47.998] future <- run(future) [18:02:47.998] invisible(future) [18:02:47.998] }), .cleanup = FALSE, .init = FALSE) [18:02:47.998] } [18:02:47.998] } [18:02:47.998] } [18:02:47.998] }) [18:02:47.998] if (TRUE) { [18:02:47.998] base::sink(type = "output", split = FALSE) [18:02:47.998] if (TRUE) { [18:02:47.998] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:47.998] } [18:02:47.998] else { [18:02:47.998] ...future.result["stdout"] <- base::list(NULL) [18:02:47.998] } [18:02:47.998] base::close(...future.stdout) [18:02:47.998] ...future.stdout <- NULL [18:02:47.998] } [18:02:47.998] ...future.result$conditions <- ...future.conditions [18:02:47.998] ...future.result$finished <- base::Sys.time() [18:02:47.998] ...future.result [18:02:47.998] } [18:02:48.084] MultisessionFuture started [18:02:48.084] - Launch lazy future ... done [18:02:48.084] run() for 'MultisessionFuture' ... done [18:02:48.085] getGlobalsAndPackages() ... [18:02:48.085] Searching for globals... [18:02:48.086] - globals found: [2] 'list', 'stop' [18:02:48.086] Searching for globals ... DONE [18:02:48.086] Resolving globals: FALSE [18:02:48.087] [18:02:48.087] [18:02:48.087] getGlobalsAndPackages() ... DONE - result = FALSE, recursive = -1 ... DONE - result = FALSE, recursive = 0 ... [18:02:48.087] getGlobalsAndPackages() ... [18:02:48.088] Searching for globals... [18:02:48.089] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:48.089] Searching for globals ... DONE [18:02:48.089] Resolving globals: FALSE [18:02:48.090] [18:02:48.090] [18:02:48.090] getGlobalsAndPackages() ... DONE [18:02:48.091] run() for 'Future' ... [18:02:48.091] - state: 'created' [18:02:48.091] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:48.105] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:48.105] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:48.105] - Field: 'node' [18:02:48.105] - Field: 'label' [18:02:48.106] - Field: 'local' [18:02:48.106] - Field: 'owner' [18:02:48.106] - Field: 'envir' [18:02:48.106] - Field: 'workers' [18:02:48.106] - Field: 'packages' [18:02:48.107] - Field: 'gc' [18:02:48.107] - Field: 'conditions' [18:02:48.107] - Field: 'persistent' [18:02:48.107] - Field: 'expr' [18:02:48.107] - Field: 'uuid' [18:02:48.107] - Field: 'seed' [18:02:48.108] - Field: 'version' [18:02:48.108] - Field: 'result' [18:02:48.108] - Field: 'asynchronous' [18:02:48.108] - Field: 'calls' [18:02:48.108] - Field: 'globals' [18:02:48.108] - Field: 'stdout' [18:02:48.109] - Field: 'earlySignal' [18:02:48.109] - Field: 'lazy' [18:02:48.109] - Field: 'state' [18:02:48.109] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:48.109] - Launch lazy future ... [18:02:48.110] Packages needed by the future expression (n = 0): [18:02:48.110] Packages needed by future strategies (n = 0): [18:02:48.111] { [18:02:48.111] { [18:02:48.111] { [18:02:48.111] ...future.startTime <- base::Sys.time() [18:02:48.111] { [18:02:48.111] { [18:02:48.111] { [18:02:48.111] { [18:02:48.111] base::local({ [18:02:48.111] has_future <- base::requireNamespace("future", [18:02:48.111] quietly = TRUE) [18:02:48.111] if (has_future) { [18:02:48.111] ns <- base::getNamespace("future") [18:02:48.111] version <- ns[[".package"]][["version"]] [18:02:48.111] if (is.null(version)) [18:02:48.111] version <- utils::packageVersion("future") [18:02:48.111] } [18:02:48.111] else { [18:02:48.111] version <- NULL [18:02:48.111] } [18:02:48.111] if (!has_future || version < "1.8.0") { [18:02:48.111] info <- base::c(r_version = base::gsub("R version ", [18:02:48.111] "", base::R.version$version.string), [18:02:48.111] platform = base::sprintf("%s (%s-bit)", [18:02:48.111] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:48.111] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:48.111] "release", "version")], collapse = " "), [18:02:48.111] hostname = base::Sys.info()[["nodename"]]) [18:02:48.111] info <- base::sprintf("%s: %s", base::names(info), [18:02:48.111] info) [18:02:48.111] info <- base::paste(info, collapse = "; ") [18:02:48.111] if (!has_future) { [18:02:48.111] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:48.111] info) [18:02:48.111] } [18:02:48.111] else { [18:02:48.111] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:48.111] info, version) [18:02:48.111] } [18:02:48.111] base::stop(msg) [18:02:48.111] } [18:02:48.111] }) [18:02:48.111] } [18:02:48.111] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:48.111] base::options(mc.cores = 1L) [18:02:48.111] } [18:02:48.111] options(future.plan = NULL) [18:02:48.111] Sys.unsetenv("R_FUTURE_PLAN") [18:02:48.111] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:48.111] } [18:02:48.111] ...future.workdir <- getwd() [18:02:48.111] } [18:02:48.111] ...future.oldOptions <- base::as.list(base::.Options) [18:02:48.111] ...future.oldEnvVars <- base::Sys.getenv() [18:02:48.111] } [18:02:48.111] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:48.111] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:48.111] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:48.111] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:48.111] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:48.111] future.stdout.windows.reencode = NULL, width = 80L) [18:02:48.111] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:48.111] base::names(...future.oldOptions)) [18:02:48.111] } [18:02:48.111] if (FALSE) { [18:02:48.111] } [18:02:48.111] else { [18:02:48.111] if (TRUE) { [18:02:48.111] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:48.111] open = "w") [18:02:48.111] } [18:02:48.111] else { [18:02:48.111] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:48.111] windows = "NUL", "/dev/null"), open = "w") [18:02:48.111] } [18:02:48.111] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:48.111] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:48.111] base::sink(type = "output", split = FALSE) [18:02:48.111] base::close(...future.stdout) [18:02:48.111] }, add = TRUE) [18:02:48.111] } [18:02:48.111] ...future.frame <- base::sys.nframe() [18:02:48.111] ...future.conditions <- base::list() [18:02:48.111] ...future.rng <- base::globalenv()$.Random.seed [18:02:48.111] if (FALSE) { [18:02:48.111] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:48.111] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:48.111] } [18:02:48.111] ...future.result <- base::tryCatch({ [18:02:48.111] base::withCallingHandlers({ [18:02:48.111] ...future.value <- base::withVisible(base::local({ [18:02:48.111] ...future.makeSendCondition <- local({ [18:02:48.111] sendCondition <- NULL [18:02:48.111] function(frame = 1L) { [18:02:48.111] if (is.function(sendCondition)) [18:02:48.111] return(sendCondition) [18:02:48.111] ns <- getNamespace("parallel") [18:02:48.111] if (exists("sendData", mode = "function", [18:02:48.111] envir = ns)) { [18:02:48.111] parallel_sendData <- get("sendData", mode = "function", [18:02:48.111] envir = ns) [18:02:48.111] envir <- sys.frame(frame) [18:02:48.111] master <- NULL [18:02:48.111] while (!identical(envir, .GlobalEnv) && [18:02:48.111] !identical(envir, emptyenv())) { [18:02:48.111] if (exists("master", mode = "list", envir = envir, [18:02:48.111] inherits = FALSE)) { [18:02:48.111] master <- get("master", mode = "list", [18:02:48.111] envir = envir, inherits = FALSE) [18:02:48.111] if (inherits(master, c("SOCKnode", [18:02:48.111] "SOCK0node"))) { [18:02:48.111] sendCondition <<- function(cond) { [18:02:48.111] data <- list(type = "VALUE", value = cond, [18:02:48.111] success = TRUE) [18:02:48.111] parallel_sendData(master, data) [18:02:48.111] } [18:02:48.111] return(sendCondition) [18:02:48.111] } [18:02:48.111] } [18:02:48.111] frame <- frame + 1L [18:02:48.111] envir <- sys.frame(frame) [18:02:48.111] } [18:02:48.111] } [18:02:48.111] sendCondition <<- function(cond) NULL [18:02:48.111] } [18:02:48.111] }) [18:02:48.111] withCallingHandlers({ [18:02:48.111] { [18:02:48.111] Sys.sleep(0.5) [18:02:48.111] list(a = 1, b = 42L) [18:02:48.111] } [18:02:48.111] }, immediateCondition = function(cond) { [18:02:48.111] sendCondition <- ...future.makeSendCondition() [18:02:48.111] sendCondition(cond) [18:02:48.111] muffleCondition <- function (cond, pattern = "^muffle") [18:02:48.111] { [18:02:48.111] inherits <- base::inherits [18:02:48.111] invokeRestart <- base::invokeRestart [18:02:48.111] is.null <- base::is.null [18:02:48.111] muffled <- FALSE [18:02:48.111] if (inherits(cond, "message")) { [18:02:48.111] muffled <- grepl(pattern, "muffleMessage") [18:02:48.111] if (muffled) [18:02:48.111] invokeRestart("muffleMessage") [18:02:48.111] } [18:02:48.111] else if (inherits(cond, "warning")) { [18:02:48.111] muffled <- grepl(pattern, "muffleWarning") [18:02:48.111] if (muffled) [18:02:48.111] invokeRestart("muffleWarning") [18:02:48.111] } [18:02:48.111] else if (inherits(cond, "condition")) { [18:02:48.111] if (!is.null(pattern)) { [18:02:48.111] computeRestarts <- base::computeRestarts [18:02:48.111] grepl <- base::grepl [18:02:48.111] restarts <- computeRestarts(cond) [18:02:48.111] for (restart in restarts) { [18:02:48.111] name <- restart$name [18:02:48.111] if (is.null(name)) [18:02:48.111] next [18:02:48.111] if (!grepl(pattern, name)) [18:02:48.111] next [18:02:48.111] invokeRestart(restart) [18:02:48.111] muffled <- TRUE [18:02:48.111] break [18:02:48.111] } [18:02:48.111] } [18:02:48.111] } [18:02:48.111] invisible(muffled) [18:02:48.111] } [18:02:48.111] muffleCondition(cond) [18:02:48.111] }) [18:02:48.111] })) [18:02:48.111] future::FutureResult(value = ...future.value$value, [18:02:48.111] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:48.111] ...future.rng), globalenv = if (FALSE) [18:02:48.111] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:48.111] ...future.globalenv.names)) [18:02:48.111] else NULL, started = ...future.startTime, version = "1.8") [18:02:48.111] }, condition = base::local({ [18:02:48.111] c <- base::c [18:02:48.111] inherits <- base::inherits [18:02:48.111] invokeRestart <- base::invokeRestart [18:02:48.111] length <- base::length [18:02:48.111] list <- base::list [18:02:48.111] seq.int <- base::seq.int [18:02:48.111] signalCondition <- base::signalCondition [18:02:48.111] sys.calls <- base::sys.calls [18:02:48.111] `[[` <- base::`[[` [18:02:48.111] `+` <- base::`+` [18:02:48.111] `<<-` <- base::`<<-` [18:02:48.111] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:48.111] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:48.111] 3L)] [18:02:48.111] } [18:02:48.111] function(cond) { [18:02:48.111] is_error <- inherits(cond, "error") [18:02:48.111] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:48.111] NULL) [18:02:48.111] if (is_error) { [18:02:48.111] sessionInformation <- function() { [18:02:48.111] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:48.111] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:48.111] search = base::search(), system = base::Sys.info()) [18:02:48.111] } [18:02:48.111] ...future.conditions[[length(...future.conditions) + [18:02:48.111] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:48.111] cond$call), session = sessionInformation(), [18:02:48.111] timestamp = base::Sys.time(), signaled = 0L) [18:02:48.111] signalCondition(cond) [18:02:48.111] } [18:02:48.111] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:48.111] "immediateCondition"))) { [18:02:48.111] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:48.111] ...future.conditions[[length(...future.conditions) + [18:02:48.111] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:48.111] if (TRUE && !signal) { [18:02:48.111] muffleCondition <- function (cond, pattern = "^muffle") [18:02:48.111] { [18:02:48.111] inherits <- base::inherits [18:02:48.111] invokeRestart <- base::invokeRestart [18:02:48.111] is.null <- base::is.null [18:02:48.111] muffled <- FALSE [18:02:48.111] if (inherits(cond, "message")) { [18:02:48.111] muffled <- grepl(pattern, "muffleMessage") [18:02:48.111] if (muffled) [18:02:48.111] invokeRestart("muffleMessage") [18:02:48.111] } [18:02:48.111] else if (inherits(cond, "warning")) { [18:02:48.111] muffled <- grepl(pattern, "muffleWarning") [18:02:48.111] if (muffled) [18:02:48.111] invokeRestart("muffleWarning") [18:02:48.111] } [18:02:48.111] else if (inherits(cond, "condition")) { [18:02:48.111] if (!is.null(pattern)) { [18:02:48.111] computeRestarts <- base::computeRestarts [18:02:48.111] grepl <- base::grepl [18:02:48.111] restarts <- computeRestarts(cond) [18:02:48.111] for (restart in restarts) { [18:02:48.111] name <- restart$name [18:02:48.111] if (is.null(name)) [18:02:48.111] next [18:02:48.111] if (!grepl(pattern, name)) [18:02:48.111] next [18:02:48.111] invokeRestart(restart) [18:02:48.111] muffled <- TRUE [18:02:48.111] break [18:02:48.111] } [18:02:48.111] } [18:02:48.111] } [18:02:48.111] invisible(muffled) [18:02:48.111] } [18:02:48.111] muffleCondition(cond, pattern = "^muffle") [18:02:48.111] } [18:02:48.111] } [18:02:48.111] else { [18:02:48.111] if (TRUE) { [18:02:48.111] muffleCondition <- function (cond, pattern = "^muffle") [18:02:48.111] { [18:02:48.111] inherits <- base::inherits [18:02:48.111] invokeRestart <- base::invokeRestart [18:02:48.111] is.null <- base::is.null [18:02:48.111] muffled <- FALSE [18:02:48.111] if (inherits(cond, "message")) { [18:02:48.111] muffled <- grepl(pattern, "muffleMessage") [18:02:48.111] if (muffled) [18:02:48.111] invokeRestart("muffleMessage") [18:02:48.111] } [18:02:48.111] else if (inherits(cond, "warning")) { [18:02:48.111] muffled <- grepl(pattern, "muffleWarning") [18:02:48.111] if (muffled) [18:02:48.111] invokeRestart("muffleWarning") [18:02:48.111] } [18:02:48.111] else if (inherits(cond, "condition")) { [18:02:48.111] if (!is.null(pattern)) { [18:02:48.111] computeRestarts <- base::computeRestarts [18:02:48.111] grepl <- base::grepl [18:02:48.111] restarts <- computeRestarts(cond) [18:02:48.111] for (restart in restarts) { [18:02:48.111] name <- restart$name [18:02:48.111] if (is.null(name)) [18:02:48.111] next [18:02:48.111] if (!grepl(pattern, name)) [18:02:48.111] next [18:02:48.111] invokeRestart(restart) [18:02:48.111] muffled <- TRUE [18:02:48.111] break [18:02:48.111] } [18:02:48.111] } [18:02:48.111] } [18:02:48.111] invisible(muffled) [18:02:48.111] } [18:02:48.111] muffleCondition(cond, pattern = "^muffle") [18:02:48.111] } [18:02:48.111] } [18:02:48.111] } [18:02:48.111] })) [18:02:48.111] }, error = function(ex) { [18:02:48.111] base::structure(base::list(value = NULL, visible = NULL, [18:02:48.111] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:48.111] ...future.rng), started = ...future.startTime, [18:02:48.111] finished = Sys.time(), session_uuid = NA_character_, [18:02:48.111] version = "1.8"), class = "FutureResult") [18:02:48.111] }, finally = { [18:02:48.111] if (!identical(...future.workdir, getwd())) [18:02:48.111] setwd(...future.workdir) [18:02:48.111] { [18:02:48.111] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:48.111] ...future.oldOptions$nwarnings <- NULL [18:02:48.111] } [18:02:48.111] base::options(...future.oldOptions) [18:02:48.111] if (.Platform$OS.type == "windows") { [18:02:48.111] old_names <- names(...future.oldEnvVars) [18:02:48.111] envs <- base::Sys.getenv() [18:02:48.111] names <- names(envs) [18:02:48.111] common <- intersect(names, old_names) [18:02:48.111] added <- setdiff(names, old_names) [18:02:48.111] removed <- setdiff(old_names, names) [18:02:48.111] changed <- common[...future.oldEnvVars[common] != [18:02:48.111] envs[common]] [18:02:48.111] NAMES <- toupper(changed) [18:02:48.111] args <- list() [18:02:48.111] for (kk in seq_along(NAMES)) { [18:02:48.111] name <- changed[[kk]] [18:02:48.111] NAME <- NAMES[[kk]] [18:02:48.111] if (name != NAME && is.element(NAME, old_names)) [18:02:48.111] next [18:02:48.111] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:48.111] } [18:02:48.111] NAMES <- toupper(added) [18:02:48.111] for (kk in seq_along(NAMES)) { [18:02:48.111] name <- added[[kk]] [18:02:48.111] NAME <- NAMES[[kk]] [18:02:48.111] if (name != NAME && is.element(NAME, old_names)) [18:02:48.111] next [18:02:48.111] args[[name]] <- "" [18:02:48.111] } [18:02:48.111] NAMES <- toupper(removed) [18:02:48.111] for (kk in seq_along(NAMES)) { [18:02:48.111] name <- removed[[kk]] [18:02:48.111] NAME <- NAMES[[kk]] [18:02:48.111] if (name != NAME && is.element(NAME, old_names)) [18:02:48.111] next [18:02:48.111] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:48.111] } [18:02:48.111] if (length(args) > 0) [18:02:48.111] base::do.call(base::Sys.setenv, args = args) [18:02:48.111] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:48.111] } [18:02:48.111] else { [18:02:48.111] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:48.111] } [18:02:48.111] { [18:02:48.111] if (base::length(...future.futureOptionsAdded) > [18:02:48.111] 0L) { [18:02:48.111] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:48.111] base::names(opts) <- ...future.futureOptionsAdded [18:02:48.111] base::options(opts) [18:02:48.111] } [18:02:48.111] { [18:02:48.111] { [18:02:48.111] base::options(mc.cores = ...future.mc.cores.old) [18:02:48.111] NULL [18:02:48.111] } [18:02:48.111] options(future.plan = NULL) [18:02:48.111] if (is.na(NA_character_)) [18:02:48.111] Sys.unsetenv("R_FUTURE_PLAN") [18:02:48.111] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:48.111] future::plan(list(function (..., workers = availableCores(), [18:02:48.111] lazy = FALSE, rscript_libs = .libPaths(), [18:02:48.111] envir = parent.frame()) [18:02:48.111] { [18:02:48.111] if (is.function(workers)) [18:02:48.111] workers <- workers() [18:02:48.111] workers <- structure(as.integer(workers), [18:02:48.111] class = class(workers)) [18:02:48.111] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:48.111] workers >= 1) [18:02:48.111] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:48.111] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:48.111] } [18:02:48.111] future <- MultisessionFuture(..., workers = workers, [18:02:48.111] lazy = lazy, rscript_libs = rscript_libs, [18:02:48.111] envir = envir) [18:02:48.111] if (!future$lazy) [18:02:48.111] future <- run(future) [18:02:48.111] invisible(future) [18:02:48.111] }), .cleanup = FALSE, .init = FALSE) [18:02:48.111] } [18:02:48.111] } [18:02:48.111] } [18:02:48.111] }) [18:02:48.111] if (TRUE) { [18:02:48.111] base::sink(type = "output", split = FALSE) [18:02:48.111] if (TRUE) { [18:02:48.111] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:48.111] } [18:02:48.111] else { [18:02:48.111] ...future.result["stdout"] <- base::list(NULL) [18:02:48.111] } [18:02:48.111] base::close(...future.stdout) [18:02:48.111] ...future.stdout <- NULL [18:02:48.111] } [18:02:48.111] ...future.result$conditions <- ...future.conditions [18:02:48.111] ...future.result$finished <- base::Sys.time() [18:02:48.111] ...future.result [18:02:48.111] } [18:02:48.116] Poll #1 (0): usedNodes() = 2, workers = 2 [18:02:48.330] receiveMessageFromWorker() for ClusterFuture ... [18:02:48.330] - Validating connection of MultisessionFuture [18:02:48.331] - received message: FutureResult [18:02:48.331] - Received FutureResult [18:02:48.331] - Erased future from FutureRegistry [18:02:48.331] result() for ClusterFuture ... [18:02:48.331] - result already collected: FutureResult [18:02:48.332] result() for ClusterFuture ... done [18:02:48.332] signalConditions() ... [18:02:48.332] - include = 'immediateCondition' [18:02:48.332] - exclude = [18:02:48.332] - resignal = FALSE [18:02:48.332] - Number of conditions: 1 [18:02:48.333] signalConditions() ... done [18:02:48.333] receiveMessageFromWorker() for ClusterFuture ... done [18:02:48.333] result() for ClusterFuture ... [18:02:48.333] - result already collected: FutureResult [18:02:48.333] result() for ClusterFuture ... done [18:02:48.334] result() for ClusterFuture ... [18:02:48.334] - result already collected: FutureResult [18:02:48.334] result() for ClusterFuture ... done [18:02:48.334] signalConditions() ... [18:02:48.334] - include = 'immediateCondition' [18:02:48.334] - exclude = [18:02:48.334] - resignal = FALSE [18:02:48.335] - Number of conditions: 1 [18:02:48.335] signalConditions() ... done [18:02:48.336] MultisessionFuture started [18:02:48.336] - Launch lazy future ... done [18:02:48.336] run() for 'MultisessionFuture' ... done [18:02:48.867] receiveMessageFromWorker() for ClusterFuture ... [18:02:48.868] - Validating connection of MultisessionFuture [18:02:48.868] - received message: FutureResult [18:02:48.868] - Received FutureResult [18:02:48.868] - Erased future from FutureRegistry [18:02:48.868] result() for ClusterFuture ... [18:02:48.869] - result already collected: FutureResult [18:02:48.869] result() for ClusterFuture ... done [18:02:48.869] receiveMessageFromWorker() for ClusterFuture ... done [18:02:48.869] A MultisessionFuture was resolved (result was not collected) [18:02:48.869] getGlobalsAndPackages() ... [18:02:48.869] Searching for globals... [18:02:48.871] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:48.871] Searching for globals ... DONE [18:02:48.871] Resolving globals: FALSE [18:02:48.872] [18:02:48.872] [18:02:48.872] getGlobalsAndPackages() ... DONE [18:02:48.872] run() for 'Future' ... [18:02:48.873] - state: 'created' [18:02:48.873] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:48.887] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:48.887] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:48.887] - Field: 'node' [18:02:48.888] - Field: 'label' [18:02:48.888] - Field: 'local' [18:02:48.888] - Field: 'owner' [18:02:48.888] - Field: 'envir' [18:02:48.888] - Field: 'workers' [18:02:48.888] - Field: 'packages' [18:02:48.889] - Field: 'gc' [18:02:48.889] - Field: 'conditions' [18:02:48.889] - Field: 'persistent' [18:02:48.889] - Field: 'expr' [18:02:48.889] - Field: 'uuid' [18:02:48.890] - Field: 'seed' [18:02:48.890] - Field: 'version' [18:02:48.890] - Field: 'result' [18:02:48.890] - Field: 'asynchronous' [18:02:48.890] - Field: 'calls' [18:02:48.890] - Field: 'globals' [18:02:48.891] - Field: 'stdout' [18:02:48.891] - Field: 'earlySignal' [18:02:48.891] - Field: 'lazy' [18:02:48.891] - Field: 'state' [18:02:48.891] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:48.891] - Launch lazy future ... [18:02:48.892] Packages needed by the future expression (n = 0): [18:02:48.892] Packages needed by future strategies (n = 0): [18:02:48.893] { [18:02:48.893] { [18:02:48.893] { [18:02:48.893] ...future.startTime <- base::Sys.time() [18:02:48.893] { [18:02:48.893] { [18:02:48.893] { [18:02:48.893] { [18:02:48.893] base::local({ [18:02:48.893] has_future <- base::requireNamespace("future", [18:02:48.893] quietly = TRUE) [18:02:48.893] if (has_future) { [18:02:48.893] ns <- base::getNamespace("future") [18:02:48.893] version <- ns[[".package"]][["version"]] [18:02:48.893] if (is.null(version)) [18:02:48.893] version <- utils::packageVersion("future") [18:02:48.893] } [18:02:48.893] else { [18:02:48.893] version <- NULL [18:02:48.893] } [18:02:48.893] if (!has_future || version < "1.8.0") { [18:02:48.893] info <- base::c(r_version = base::gsub("R version ", [18:02:48.893] "", base::R.version$version.string), [18:02:48.893] platform = base::sprintf("%s (%s-bit)", [18:02:48.893] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:48.893] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:48.893] "release", "version")], collapse = " "), [18:02:48.893] hostname = base::Sys.info()[["nodename"]]) [18:02:48.893] info <- base::sprintf("%s: %s", base::names(info), [18:02:48.893] info) [18:02:48.893] info <- base::paste(info, collapse = "; ") [18:02:48.893] if (!has_future) { [18:02:48.893] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:48.893] info) [18:02:48.893] } [18:02:48.893] else { [18:02:48.893] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:48.893] info, version) [18:02:48.893] } [18:02:48.893] base::stop(msg) [18:02:48.893] } [18:02:48.893] }) [18:02:48.893] } [18:02:48.893] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:48.893] base::options(mc.cores = 1L) [18:02:48.893] } [18:02:48.893] options(future.plan = NULL) [18:02:48.893] Sys.unsetenv("R_FUTURE_PLAN") [18:02:48.893] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:48.893] } [18:02:48.893] ...future.workdir <- getwd() [18:02:48.893] } [18:02:48.893] ...future.oldOptions <- base::as.list(base::.Options) [18:02:48.893] ...future.oldEnvVars <- base::Sys.getenv() [18:02:48.893] } [18:02:48.893] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:48.893] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:48.893] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:48.893] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:48.893] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:48.893] future.stdout.windows.reencode = NULL, width = 80L) [18:02:48.893] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:48.893] base::names(...future.oldOptions)) [18:02:48.893] } [18:02:48.893] if (FALSE) { [18:02:48.893] } [18:02:48.893] else { [18:02:48.893] if (TRUE) { [18:02:48.893] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:48.893] open = "w") [18:02:48.893] } [18:02:48.893] else { [18:02:48.893] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:48.893] windows = "NUL", "/dev/null"), open = "w") [18:02:48.893] } [18:02:48.893] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:48.893] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:48.893] base::sink(type = "output", split = FALSE) [18:02:48.893] base::close(...future.stdout) [18:02:48.893] }, add = TRUE) [18:02:48.893] } [18:02:48.893] ...future.frame <- base::sys.nframe() [18:02:48.893] ...future.conditions <- base::list() [18:02:48.893] ...future.rng <- base::globalenv()$.Random.seed [18:02:48.893] if (FALSE) { [18:02:48.893] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:48.893] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:48.893] } [18:02:48.893] ...future.result <- base::tryCatch({ [18:02:48.893] base::withCallingHandlers({ [18:02:48.893] ...future.value <- base::withVisible(base::local({ [18:02:48.893] ...future.makeSendCondition <- local({ [18:02:48.893] sendCondition <- NULL [18:02:48.893] function(frame = 1L) { [18:02:48.893] if (is.function(sendCondition)) [18:02:48.893] return(sendCondition) [18:02:48.893] ns <- getNamespace("parallel") [18:02:48.893] if (exists("sendData", mode = "function", [18:02:48.893] envir = ns)) { [18:02:48.893] parallel_sendData <- get("sendData", mode = "function", [18:02:48.893] envir = ns) [18:02:48.893] envir <- sys.frame(frame) [18:02:48.893] master <- NULL [18:02:48.893] while (!identical(envir, .GlobalEnv) && [18:02:48.893] !identical(envir, emptyenv())) { [18:02:48.893] if (exists("master", mode = "list", envir = envir, [18:02:48.893] inherits = FALSE)) { [18:02:48.893] master <- get("master", mode = "list", [18:02:48.893] envir = envir, inherits = FALSE) [18:02:48.893] if (inherits(master, c("SOCKnode", [18:02:48.893] "SOCK0node"))) { [18:02:48.893] sendCondition <<- function(cond) { [18:02:48.893] data <- list(type = "VALUE", value = cond, [18:02:48.893] success = TRUE) [18:02:48.893] parallel_sendData(master, data) [18:02:48.893] } [18:02:48.893] return(sendCondition) [18:02:48.893] } [18:02:48.893] } [18:02:48.893] frame <- frame + 1L [18:02:48.893] envir <- sys.frame(frame) [18:02:48.893] } [18:02:48.893] } [18:02:48.893] sendCondition <<- function(cond) NULL [18:02:48.893] } [18:02:48.893] }) [18:02:48.893] withCallingHandlers({ [18:02:48.893] { [18:02:48.893] Sys.sleep(0.5) [18:02:48.893] list(a = 1, b = 42L) [18:02:48.893] } [18:02:48.893] }, immediateCondition = function(cond) { [18:02:48.893] sendCondition <- ...future.makeSendCondition() [18:02:48.893] sendCondition(cond) [18:02:48.893] muffleCondition <- function (cond, pattern = "^muffle") [18:02:48.893] { [18:02:48.893] inherits <- base::inherits [18:02:48.893] invokeRestart <- base::invokeRestart [18:02:48.893] is.null <- base::is.null [18:02:48.893] muffled <- FALSE [18:02:48.893] if (inherits(cond, "message")) { [18:02:48.893] muffled <- grepl(pattern, "muffleMessage") [18:02:48.893] if (muffled) [18:02:48.893] invokeRestart("muffleMessage") [18:02:48.893] } [18:02:48.893] else if (inherits(cond, "warning")) { [18:02:48.893] muffled <- grepl(pattern, "muffleWarning") [18:02:48.893] if (muffled) [18:02:48.893] invokeRestart("muffleWarning") [18:02:48.893] } [18:02:48.893] else if (inherits(cond, "condition")) { [18:02:48.893] if (!is.null(pattern)) { [18:02:48.893] computeRestarts <- base::computeRestarts [18:02:48.893] grepl <- base::grepl [18:02:48.893] restarts <- computeRestarts(cond) [18:02:48.893] for (restart in restarts) { [18:02:48.893] name <- restart$name [18:02:48.893] if (is.null(name)) [18:02:48.893] next [18:02:48.893] if (!grepl(pattern, name)) [18:02:48.893] next [18:02:48.893] invokeRestart(restart) [18:02:48.893] muffled <- TRUE [18:02:48.893] break [18:02:48.893] } [18:02:48.893] } [18:02:48.893] } [18:02:48.893] invisible(muffled) [18:02:48.893] } [18:02:48.893] muffleCondition(cond) [18:02:48.893] }) [18:02:48.893] })) [18:02:48.893] future::FutureResult(value = ...future.value$value, [18:02:48.893] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:48.893] ...future.rng), globalenv = if (FALSE) [18:02:48.893] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:48.893] ...future.globalenv.names)) [18:02:48.893] else NULL, started = ...future.startTime, version = "1.8") [18:02:48.893] }, condition = base::local({ [18:02:48.893] c <- base::c [18:02:48.893] inherits <- base::inherits [18:02:48.893] invokeRestart <- base::invokeRestart [18:02:48.893] length <- base::length [18:02:48.893] list <- base::list [18:02:48.893] seq.int <- base::seq.int [18:02:48.893] signalCondition <- base::signalCondition [18:02:48.893] sys.calls <- base::sys.calls [18:02:48.893] `[[` <- base::`[[` [18:02:48.893] `+` <- base::`+` [18:02:48.893] `<<-` <- base::`<<-` [18:02:48.893] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:48.893] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:48.893] 3L)] [18:02:48.893] } [18:02:48.893] function(cond) { [18:02:48.893] is_error <- inherits(cond, "error") [18:02:48.893] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:48.893] NULL) [18:02:48.893] if (is_error) { [18:02:48.893] sessionInformation <- function() { [18:02:48.893] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:48.893] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:48.893] search = base::search(), system = base::Sys.info()) [18:02:48.893] } [18:02:48.893] ...future.conditions[[length(...future.conditions) + [18:02:48.893] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:48.893] cond$call), session = sessionInformation(), [18:02:48.893] timestamp = base::Sys.time(), signaled = 0L) [18:02:48.893] signalCondition(cond) [18:02:48.893] } [18:02:48.893] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:48.893] "immediateCondition"))) { [18:02:48.893] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:48.893] ...future.conditions[[length(...future.conditions) + [18:02:48.893] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:48.893] if (TRUE && !signal) { [18:02:48.893] muffleCondition <- function (cond, pattern = "^muffle") [18:02:48.893] { [18:02:48.893] inherits <- base::inherits [18:02:48.893] invokeRestart <- base::invokeRestart [18:02:48.893] is.null <- base::is.null [18:02:48.893] muffled <- FALSE [18:02:48.893] if (inherits(cond, "message")) { [18:02:48.893] muffled <- grepl(pattern, "muffleMessage") [18:02:48.893] if (muffled) [18:02:48.893] invokeRestart("muffleMessage") [18:02:48.893] } [18:02:48.893] else if (inherits(cond, "warning")) { [18:02:48.893] muffled <- grepl(pattern, "muffleWarning") [18:02:48.893] if (muffled) [18:02:48.893] invokeRestart("muffleWarning") [18:02:48.893] } [18:02:48.893] else if (inherits(cond, "condition")) { [18:02:48.893] if (!is.null(pattern)) { [18:02:48.893] computeRestarts <- base::computeRestarts [18:02:48.893] grepl <- base::grepl [18:02:48.893] restarts <- computeRestarts(cond) [18:02:48.893] for (restart in restarts) { [18:02:48.893] name <- restart$name [18:02:48.893] if (is.null(name)) [18:02:48.893] next [18:02:48.893] if (!grepl(pattern, name)) [18:02:48.893] next [18:02:48.893] invokeRestart(restart) [18:02:48.893] muffled <- TRUE [18:02:48.893] break [18:02:48.893] } [18:02:48.893] } [18:02:48.893] } [18:02:48.893] invisible(muffled) [18:02:48.893] } [18:02:48.893] muffleCondition(cond, pattern = "^muffle") [18:02:48.893] } [18:02:48.893] } [18:02:48.893] else { [18:02:48.893] if (TRUE) { [18:02:48.893] muffleCondition <- function (cond, pattern = "^muffle") [18:02:48.893] { [18:02:48.893] inherits <- base::inherits [18:02:48.893] invokeRestart <- base::invokeRestart [18:02:48.893] is.null <- base::is.null [18:02:48.893] muffled <- FALSE [18:02:48.893] if (inherits(cond, "message")) { [18:02:48.893] muffled <- grepl(pattern, "muffleMessage") [18:02:48.893] if (muffled) [18:02:48.893] invokeRestart("muffleMessage") [18:02:48.893] } [18:02:48.893] else if (inherits(cond, "warning")) { [18:02:48.893] muffled <- grepl(pattern, "muffleWarning") [18:02:48.893] if (muffled) [18:02:48.893] invokeRestart("muffleWarning") [18:02:48.893] } [18:02:48.893] else if (inherits(cond, "condition")) { [18:02:48.893] if (!is.null(pattern)) { [18:02:48.893] computeRestarts <- base::computeRestarts [18:02:48.893] grepl <- base::grepl [18:02:48.893] restarts <- computeRestarts(cond) [18:02:48.893] for (restart in restarts) { [18:02:48.893] name <- restart$name [18:02:48.893] if (is.null(name)) [18:02:48.893] next [18:02:48.893] if (!grepl(pattern, name)) [18:02:48.893] next [18:02:48.893] invokeRestart(restart) [18:02:48.893] muffled <- TRUE [18:02:48.893] break [18:02:48.893] } [18:02:48.893] } [18:02:48.893] } [18:02:48.893] invisible(muffled) [18:02:48.893] } [18:02:48.893] muffleCondition(cond, pattern = "^muffle") [18:02:48.893] } [18:02:48.893] } [18:02:48.893] } [18:02:48.893] })) [18:02:48.893] }, error = function(ex) { [18:02:48.893] base::structure(base::list(value = NULL, visible = NULL, [18:02:48.893] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:48.893] ...future.rng), started = ...future.startTime, [18:02:48.893] finished = Sys.time(), session_uuid = NA_character_, [18:02:48.893] version = "1.8"), class = "FutureResult") [18:02:48.893] }, finally = { [18:02:48.893] if (!identical(...future.workdir, getwd())) [18:02:48.893] setwd(...future.workdir) [18:02:48.893] { [18:02:48.893] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:48.893] ...future.oldOptions$nwarnings <- NULL [18:02:48.893] } [18:02:48.893] base::options(...future.oldOptions) [18:02:48.893] if (.Platform$OS.type == "windows") { [18:02:48.893] old_names <- names(...future.oldEnvVars) [18:02:48.893] envs <- base::Sys.getenv() [18:02:48.893] names <- names(envs) [18:02:48.893] common <- intersect(names, old_names) [18:02:48.893] added <- setdiff(names, old_names) [18:02:48.893] removed <- setdiff(old_names, names) [18:02:48.893] changed <- common[...future.oldEnvVars[common] != [18:02:48.893] envs[common]] [18:02:48.893] NAMES <- toupper(changed) [18:02:48.893] args <- list() [18:02:48.893] for (kk in seq_along(NAMES)) { [18:02:48.893] name <- changed[[kk]] [18:02:48.893] NAME <- NAMES[[kk]] [18:02:48.893] if (name != NAME && is.element(NAME, old_names)) [18:02:48.893] next [18:02:48.893] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:48.893] } [18:02:48.893] NAMES <- toupper(added) [18:02:48.893] for (kk in seq_along(NAMES)) { [18:02:48.893] name <- added[[kk]] [18:02:48.893] NAME <- NAMES[[kk]] [18:02:48.893] if (name != NAME && is.element(NAME, old_names)) [18:02:48.893] next [18:02:48.893] args[[name]] <- "" [18:02:48.893] } [18:02:48.893] NAMES <- toupper(removed) [18:02:48.893] for (kk in seq_along(NAMES)) { [18:02:48.893] name <- removed[[kk]] [18:02:48.893] NAME <- NAMES[[kk]] [18:02:48.893] if (name != NAME && is.element(NAME, old_names)) [18:02:48.893] next [18:02:48.893] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:48.893] } [18:02:48.893] if (length(args) > 0) [18:02:48.893] base::do.call(base::Sys.setenv, args = args) [18:02:48.893] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:48.893] } [18:02:48.893] else { [18:02:48.893] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:48.893] } [18:02:48.893] { [18:02:48.893] if (base::length(...future.futureOptionsAdded) > [18:02:48.893] 0L) { [18:02:48.893] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:48.893] base::names(opts) <- ...future.futureOptionsAdded [18:02:48.893] base::options(opts) [18:02:48.893] } [18:02:48.893] { [18:02:48.893] { [18:02:48.893] base::options(mc.cores = ...future.mc.cores.old) [18:02:48.893] NULL [18:02:48.893] } [18:02:48.893] options(future.plan = NULL) [18:02:48.893] if (is.na(NA_character_)) [18:02:48.893] Sys.unsetenv("R_FUTURE_PLAN") [18:02:48.893] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:48.893] future::plan(list(function (..., workers = availableCores(), [18:02:48.893] lazy = FALSE, rscript_libs = .libPaths(), [18:02:48.893] envir = parent.frame()) [18:02:48.893] { [18:02:48.893] if (is.function(workers)) [18:02:48.893] workers <- workers() [18:02:48.893] workers <- structure(as.integer(workers), [18:02:48.893] class = class(workers)) [18:02:48.893] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:48.893] workers >= 1) [18:02:48.893] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:48.893] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:48.893] } [18:02:48.893] future <- MultisessionFuture(..., workers = workers, [18:02:48.893] lazy = lazy, rscript_libs = rscript_libs, [18:02:48.893] envir = envir) [18:02:48.893] if (!future$lazy) [18:02:48.893] future <- run(future) [18:02:48.893] invisible(future) [18:02:48.893] }), .cleanup = FALSE, .init = FALSE) [18:02:48.893] } [18:02:48.893] } [18:02:48.893] } [18:02:48.893] }) [18:02:48.893] if (TRUE) { [18:02:48.893] base::sink(type = "output", split = FALSE) [18:02:48.893] if (TRUE) { [18:02:48.893] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:48.893] } [18:02:48.893] else { [18:02:48.893] ...future.result["stdout"] <- base::list(NULL) [18:02:48.893] } [18:02:48.893] base::close(...future.stdout) [18:02:48.893] ...future.stdout <- NULL [18:02:48.893] } [18:02:48.893] ...future.result$conditions <- ...future.conditions [18:02:48.893] ...future.result$finished <- base::Sys.time() [18:02:48.893] ...future.result [18:02:48.893] } [18:02:48.898] MultisessionFuture started [18:02:48.899] - Launch lazy future ... done [18:02:48.899] run() for 'MultisessionFuture' ... done [18:02:49.428] receiveMessageFromWorker() for ClusterFuture ... [18:02:49.428] - Validating connection of MultisessionFuture [18:02:49.428] - received message: FutureResult [18:02:49.429] - Received FutureResult [18:02:49.429] - Erased future from FutureRegistry [18:02:49.429] result() for ClusterFuture ... [18:02:49.429] - result already collected: FutureResult [18:02:49.429] result() for ClusterFuture ... done [18:02:49.429] receiveMessageFromWorker() for ClusterFuture ... done [18:02:49.430] A MultisessionFuture was resolved (result was not collected) - w/ exception ... [18:02:49.430] getGlobalsAndPackages() ... [18:02:49.430] Searching for globals... [18:02:49.431] - globals found: [2] 'list', 'stop' [18:02:49.431] Searching for globals ... DONE [18:02:49.431] Resolving globals: FALSE [18:02:49.432] [18:02:49.432] [18:02:49.432] getGlobalsAndPackages() ... DONE [18:02:49.432] run() for 'Future' ... [18:02:49.432] - state: 'created' [18:02:49.433] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:49.446] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:49.446] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:49.447] - Field: 'node' [18:02:49.447] - Field: 'label' [18:02:49.447] - Field: 'local' [18:02:49.447] - Field: 'owner' [18:02:49.447] - Field: 'envir' [18:02:49.448] - Field: 'workers' [18:02:49.448] - Field: 'packages' [18:02:49.448] - Field: 'gc' [18:02:49.448] - Field: 'conditions' [18:02:49.448] - Field: 'persistent' [18:02:49.448] - Field: 'expr' [18:02:49.449] - Field: 'uuid' [18:02:49.449] - Field: 'seed' [18:02:49.449] - Field: 'version' [18:02:49.449] - Field: 'result' [18:02:49.449] - Field: 'asynchronous' [18:02:49.450] - Field: 'calls' [18:02:49.450] - Field: 'globals' [18:02:49.450] - Field: 'stdout' [18:02:49.450] - Field: 'earlySignal' [18:02:49.450] - Field: 'lazy' [18:02:49.450] - Field: 'state' [18:02:49.451] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:49.451] - Launch lazy future ... [18:02:49.451] Packages needed by the future expression (n = 0): [18:02:49.451] Packages needed by future strategies (n = 0): [18:02:49.452] { [18:02:49.452] { [18:02:49.452] { [18:02:49.452] ...future.startTime <- base::Sys.time() [18:02:49.452] { [18:02:49.452] { [18:02:49.452] { [18:02:49.452] { [18:02:49.452] base::local({ [18:02:49.452] has_future <- base::requireNamespace("future", [18:02:49.452] quietly = TRUE) [18:02:49.452] if (has_future) { [18:02:49.452] ns <- base::getNamespace("future") [18:02:49.452] version <- ns[[".package"]][["version"]] [18:02:49.452] if (is.null(version)) [18:02:49.452] version <- utils::packageVersion("future") [18:02:49.452] } [18:02:49.452] else { [18:02:49.452] version <- NULL [18:02:49.452] } [18:02:49.452] if (!has_future || version < "1.8.0") { [18:02:49.452] info <- base::c(r_version = base::gsub("R version ", [18:02:49.452] "", base::R.version$version.string), [18:02:49.452] platform = base::sprintf("%s (%s-bit)", [18:02:49.452] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:49.452] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:49.452] "release", "version")], collapse = " "), [18:02:49.452] hostname = base::Sys.info()[["nodename"]]) [18:02:49.452] info <- base::sprintf("%s: %s", base::names(info), [18:02:49.452] info) [18:02:49.452] info <- base::paste(info, collapse = "; ") [18:02:49.452] if (!has_future) { [18:02:49.452] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:49.452] info) [18:02:49.452] } [18:02:49.452] else { [18:02:49.452] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:49.452] info, version) [18:02:49.452] } [18:02:49.452] base::stop(msg) [18:02:49.452] } [18:02:49.452] }) [18:02:49.452] } [18:02:49.452] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:49.452] base::options(mc.cores = 1L) [18:02:49.452] } [18:02:49.452] options(future.plan = NULL) [18:02:49.452] Sys.unsetenv("R_FUTURE_PLAN") [18:02:49.452] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:49.452] } [18:02:49.452] ...future.workdir <- getwd() [18:02:49.452] } [18:02:49.452] ...future.oldOptions <- base::as.list(base::.Options) [18:02:49.452] ...future.oldEnvVars <- base::Sys.getenv() [18:02:49.452] } [18:02:49.452] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:49.452] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:49.452] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:49.452] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:49.452] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:49.452] future.stdout.windows.reencode = NULL, width = 80L) [18:02:49.452] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:49.452] base::names(...future.oldOptions)) [18:02:49.452] } [18:02:49.452] if (FALSE) { [18:02:49.452] } [18:02:49.452] else { [18:02:49.452] if (TRUE) { [18:02:49.452] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:49.452] open = "w") [18:02:49.452] } [18:02:49.452] else { [18:02:49.452] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:49.452] windows = "NUL", "/dev/null"), open = "w") [18:02:49.452] } [18:02:49.452] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:49.452] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:49.452] base::sink(type = "output", split = FALSE) [18:02:49.452] base::close(...future.stdout) [18:02:49.452] }, add = TRUE) [18:02:49.452] } [18:02:49.452] ...future.frame <- base::sys.nframe() [18:02:49.452] ...future.conditions <- base::list() [18:02:49.452] ...future.rng <- base::globalenv()$.Random.seed [18:02:49.452] if (FALSE) { [18:02:49.452] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:49.452] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:49.452] } [18:02:49.452] ...future.result <- base::tryCatch({ [18:02:49.452] base::withCallingHandlers({ [18:02:49.452] ...future.value <- base::withVisible(base::local({ [18:02:49.452] ...future.makeSendCondition <- local({ [18:02:49.452] sendCondition <- NULL [18:02:49.452] function(frame = 1L) { [18:02:49.452] if (is.function(sendCondition)) [18:02:49.452] return(sendCondition) [18:02:49.452] ns <- getNamespace("parallel") [18:02:49.452] if (exists("sendData", mode = "function", [18:02:49.452] envir = ns)) { [18:02:49.452] parallel_sendData <- get("sendData", mode = "function", [18:02:49.452] envir = ns) [18:02:49.452] envir <- sys.frame(frame) [18:02:49.452] master <- NULL [18:02:49.452] while (!identical(envir, .GlobalEnv) && [18:02:49.452] !identical(envir, emptyenv())) { [18:02:49.452] if (exists("master", mode = "list", envir = envir, [18:02:49.452] inherits = FALSE)) { [18:02:49.452] master <- get("master", mode = "list", [18:02:49.452] envir = envir, inherits = FALSE) [18:02:49.452] if (inherits(master, c("SOCKnode", [18:02:49.452] "SOCK0node"))) { [18:02:49.452] sendCondition <<- function(cond) { [18:02:49.452] data <- list(type = "VALUE", value = cond, [18:02:49.452] success = TRUE) [18:02:49.452] parallel_sendData(master, data) [18:02:49.452] } [18:02:49.452] return(sendCondition) [18:02:49.452] } [18:02:49.452] } [18:02:49.452] frame <- frame + 1L [18:02:49.452] envir <- sys.frame(frame) [18:02:49.452] } [18:02:49.452] } [18:02:49.452] sendCondition <<- function(cond) NULL [18:02:49.452] } [18:02:49.452] }) [18:02:49.452] withCallingHandlers({ [18:02:49.452] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:49.452] }, immediateCondition = function(cond) { [18:02:49.452] sendCondition <- ...future.makeSendCondition() [18:02:49.452] sendCondition(cond) [18:02:49.452] muffleCondition <- function (cond, pattern = "^muffle") [18:02:49.452] { [18:02:49.452] inherits <- base::inherits [18:02:49.452] invokeRestart <- base::invokeRestart [18:02:49.452] is.null <- base::is.null [18:02:49.452] muffled <- FALSE [18:02:49.452] if (inherits(cond, "message")) { [18:02:49.452] muffled <- grepl(pattern, "muffleMessage") [18:02:49.452] if (muffled) [18:02:49.452] invokeRestart("muffleMessage") [18:02:49.452] } [18:02:49.452] else if (inherits(cond, "warning")) { [18:02:49.452] muffled <- grepl(pattern, "muffleWarning") [18:02:49.452] if (muffled) [18:02:49.452] invokeRestart("muffleWarning") [18:02:49.452] } [18:02:49.452] else if (inherits(cond, "condition")) { [18:02:49.452] if (!is.null(pattern)) { [18:02:49.452] computeRestarts <- base::computeRestarts [18:02:49.452] grepl <- base::grepl [18:02:49.452] restarts <- computeRestarts(cond) [18:02:49.452] for (restart in restarts) { [18:02:49.452] name <- restart$name [18:02:49.452] if (is.null(name)) [18:02:49.452] next [18:02:49.452] if (!grepl(pattern, name)) [18:02:49.452] next [18:02:49.452] invokeRestart(restart) [18:02:49.452] muffled <- TRUE [18:02:49.452] break [18:02:49.452] } [18:02:49.452] } [18:02:49.452] } [18:02:49.452] invisible(muffled) [18:02:49.452] } [18:02:49.452] muffleCondition(cond) [18:02:49.452] }) [18:02:49.452] })) [18:02:49.452] future::FutureResult(value = ...future.value$value, [18:02:49.452] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:49.452] ...future.rng), globalenv = if (FALSE) [18:02:49.452] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:49.452] ...future.globalenv.names)) [18:02:49.452] else NULL, started = ...future.startTime, version = "1.8") [18:02:49.452] }, condition = base::local({ [18:02:49.452] c <- base::c [18:02:49.452] inherits <- base::inherits [18:02:49.452] invokeRestart <- base::invokeRestart [18:02:49.452] length <- base::length [18:02:49.452] list <- base::list [18:02:49.452] seq.int <- base::seq.int [18:02:49.452] signalCondition <- base::signalCondition [18:02:49.452] sys.calls <- base::sys.calls [18:02:49.452] `[[` <- base::`[[` [18:02:49.452] `+` <- base::`+` [18:02:49.452] `<<-` <- base::`<<-` [18:02:49.452] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:49.452] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:49.452] 3L)] [18:02:49.452] } [18:02:49.452] function(cond) { [18:02:49.452] is_error <- inherits(cond, "error") [18:02:49.452] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:49.452] NULL) [18:02:49.452] if (is_error) { [18:02:49.452] sessionInformation <- function() { [18:02:49.452] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:49.452] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:49.452] search = base::search(), system = base::Sys.info()) [18:02:49.452] } [18:02:49.452] ...future.conditions[[length(...future.conditions) + [18:02:49.452] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:49.452] cond$call), session = sessionInformation(), [18:02:49.452] timestamp = base::Sys.time(), signaled = 0L) [18:02:49.452] signalCondition(cond) [18:02:49.452] } [18:02:49.452] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:49.452] "immediateCondition"))) { [18:02:49.452] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:49.452] ...future.conditions[[length(...future.conditions) + [18:02:49.452] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:49.452] if (TRUE && !signal) { [18:02:49.452] muffleCondition <- function (cond, pattern = "^muffle") [18:02:49.452] { [18:02:49.452] inherits <- base::inherits [18:02:49.452] invokeRestart <- base::invokeRestart [18:02:49.452] is.null <- base::is.null [18:02:49.452] muffled <- FALSE [18:02:49.452] if (inherits(cond, "message")) { [18:02:49.452] muffled <- grepl(pattern, "muffleMessage") [18:02:49.452] if (muffled) [18:02:49.452] invokeRestart("muffleMessage") [18:02:49.452] } [18:02:49.452] else if (inherits(cond, "warning")) { [18:02:49.452] muffled <- grepl(pattern, "muffleWarning") [18:02:49.452] if (muffled) [18:02:49.452] invokeRestart("muffleWarning") [18:02:49.452] } [18:02:49.452] else if (inherits(cond, "condition")) { [18:02:49.452] if (!is.null(pattern)) { [18:02:49.452] computeRestarts <- base::computeRestarts [18:02:49.452] grepl <- base::grepl [18:02:49.452] restarts <- computeRestarts(cond) [18:02:49.452] for (restart in restarts) { [18:02:49.452] name <- restart$name [18:02:49.452] if (is.null(name)) [18:02:49.452] next [18:02:49.452] if (!grepl(pattern, name)) [18:02:49.452] next [18:02:49.452] invokeRestart(restart) [18:02:49.452] muffled <- TRUE [18:02:49.452] break [18:02:49.452] } [18:02:49.452] } [18:02:49.452] } [18:02:49.452] invisible(muffled) [18:02:49.452] } [18:02:49.452] muffleCondition(cond, pattern = "^muffle") [18:02:49.452] } [18:02:49.452] } [18:02:49.452] else { [18:02:49.452] if (TRUE) { [18:02:49.452] muffleCondition <- function (cond, pattern = "^muffle") [18:02:49.452] { [18:02:49.452] inherits <- base::inherits [18:02:49.452] invokeRestart <- base::invokeRestart [18:02:49.452] is.null <- base::is.null [18:02:49.452] muffled <- FALSE [18:02:49.452] if (inherits(cond, "message")) { [18:02:49.452] muffled <- grepl(pattern, "muffleMessage") [18:02:49.452] if (muffled) [18:02:49.452] invokeRestart("muffleMessage") [18:02:49.452] } [18:02:49.452] else if (inherits(cond, "warning")) { [18:02:49.452] muffled <- grepl(pattern, "muffleWarning") [18:02:49.452] if (muffled) [18:02:49.452] invokeRestart("muffleWarning") [18:02:49.452] } [18:02:49.452] else if (inherits(cond, "condition")) { [18:02:49.452] if (!is.null(pattern)) { [18:02:49.452] computeRestarts <- base::computeRestarts [18:02:49.452] grepl <- base::grepl [18:02:49.452] restarts <- computeRestarts(cond) [18:02:49.452] for (restart in restarts) { [18:02:49.452] name <- restart$name [18:02:49.452] if (is.null(name)) [18:02:49.452] next [18:02:49.452] if (!grepl(pattern, name)) [18:02:49.452] next [18:02:49.452] invokeRestart(restart) [18:02:49.452] muffled <- TRUE [18:02:49.452] break [18:02:49.452] } [18:02:49.452] } [18:02:49.452] } [18:02:49.452] invisible(muffled) [18:02:49.452] } [18:02:49.452] muffleCondition(cond, pattern = "^muffle") [18:02:49.452] } [18:02:49.452] } [18:02:49.452] } [18:02:49.452] })) [18:02:49.452] }, error = function(ex) { [18:02:49.452] base::structure(base::list(value = NULL, visible = NULL, [18:02:49.452] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:49.452] ...future.rng), started = ...future.startTime, [18:02:49.452] finished = Sys.time(), session_uuid = NA_character_, [18:02:49.452] version = "1.8"), class = "FutureResult") [18:02:49.452] }, finally = { [18:02:49.452] if (!identical(...future.workdir, getwd())) [18:02:49.452] setwd(...future.workdir) [18:02:49.452] { [18:02:49.452] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:49.452] ...future.oldOptions$nwarnings <- NULL [18:02:49.452] } [18:02:49.452] base::options(...future.oldOptions) [18:02:49.452] if (.Platform$OS.type == "windows") { [18:02:49.452] old_names <- names(...future.oldEnvVars) [18:02:49.452] envs <- base::Sys.getenv() [18:02:49.452] names <- names(envs) [18:02:49.452] common <- intersect(names, old_names) [18:02:49.452] added <- setdiff(names, old_names) [18:02:49.452] removed <- setdiff(old_names, names) [18:02:49.452] changed <- common[...future.oldEnvVars[common] != [18:02:49.452] envs[common]] [18:02:49.452] NAMES <- toupper(changed) [18:02:49.452] args <- list() [18:02:49.452] for (kk in seq_along(NAMES)) { [18:02:49.452] name <- changed[[kk]] [18:02:49.452] NAME <- NAMES[[kk]] [18:02:49.452] if (name != NAME && is.element(NAME, old_names)) [18:02:49.452] next [18:02:49.452] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:49.452] } [18:02:49.452] NAMES <- toupper(added) [18:02:49.452] for (kk in seq_along(NAMES)) { [18:02:49.452] name <- added[[kk]] [18:02:49.452] NAME <- NAMES[[kk]] [18:02:49.452] if (name != NAME && is.element(NAME, old_names)) [18:02:49.452] next [18:02:49.452] args[[name]] <- "" [18:02:49.452] } [18:02:49.452] NAMES <- toupper(removed) [18:02:49.452] for (kk in seq_along(NAMES)) { [18:02:49.452] name <- removed[[kk]] [18:02:49.452] NAME <- NAMES[[kk]] [18:02:49.452] if (name != NAME && is.element(NAME, old_names)) [18:02:49.452] next [18:02:49.452] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:49.452] } [18:02:49.452] if (length(args) > 0) [18:02:49.452] base::do.call(base::Sys.setenv, args = args) [18:02:49.452] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:49.452] } [18:02:49.452] else { [18:02:49.452] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:49.452] } [18:02:49.452] { [18:02:49.452] if (base::length(...future.futureOptionsAdded) > [18:02:49.452] 0L) { [18:02:49.452] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:49.452] base::names(opts) <- ...future.futureOptionsAdded [18:02:49.452] base::options(opts) [18:02:49.452] } [18:02:49.452] { [18:02:49.452] { [18:02:49.452] base::options(mc.cores = ...future.mc.cores.old) [18:02:49.452] NULL [18:02:49.452] } [18:02:49.452] options(future.plan = NULL) [18:02:49.452] if (is.na(NA_character_)) [18:02:49.452] Sys.unsetenv("R_FUTURE_PLAN") [18:02:49.452] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:49.452] future::plan(list(function (..., workers = availableCores(), [18:02:49.452] lazy = FALSE, rscript_libs = .libPaths(), [18:02:49.452] envir = parent.frame()) [18:02:49.452] { [18:02:49.452] if (is.function(workers)) [18:02:49.452] workers <- workers() [18:02:49.452] workers <- structure(as.integer(workers), [18:02:49.452] class = class(workers)) [18:02:49.452] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:49.452] workers >= 1) [18:02:49.452] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:49.452] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:49.452] } [18:02:49.452] future <- MultisessionFuture(..., workers = workers, [18:02:49.452] lazy = lazy, rscript_libs = rscript_libs, [18:02:49.452] envir = envir) [18:02:49.452] if (!future$lazy) [18:02:49.452] future <- run(future) [18:02:49.452] invisible(future) [18:02:49.452] }), .cleanup = FALSE, .init = FALSE) [18:02:49.452] } [18:02:49.452] } [18:02:49.452] } [18:02:49.452] }) [18:02:49.452] if (TRUE) { [18:02:49.452] base::sink(type = "output", split = FALSE) [18:02:49.452] if (TRUE) { [18:02:49.452] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:49.452] } [18:02:49.452] else { [18:02:49.452] ...future.result["stdout"] <- base::list(NULL) [18:02:49.452] } [18:02:49.452] base::close(...future.stdout) [18:02:49.452] ...future.stdout <- NULL [18:02:49.452] } [18:02:49.452] ...future.result$conditions <- ...future.conditions [18:02:49.452] ...future.result$finished <- base::Sys.time() [18:02:49.452] ...future.result [18:02:49.452] } [18:02:49.458] MultisessionFuture started [18:02:49.458] - Launch lazy future ... done [18:02:49.458] run() for 'MultisessionFuture' ... done [18:02:49.475] receiveMessageFromWorker() for ClusterFuture ... [18:02:49.476] - Validating connection of MultisessionFuture [18:02:49.476] - received message: FutureResult [18:02:49.476] - Received FutureResult [18:02:49.477] - Erased future from FutureRegistry [18:02:49.477] result() for ClusterFuture ... [18:02:49.477] - result already collected: FutureResult [18:02:49.477] result() for ClusterFuture ... done [18:02:49.477] signalConditions() ... [18:02:49.477] - include = 'immediateCondition' [18:02:49.477] - exclude = [18:02:49.478] - resignal = FALSE [18:02:49.478] - Number of conditions: 1 [18:02:49.478] signalConditions() ... done [18:02:49.478] receiveMessageFromWorker() for ClusterFuture ... done [18:02:49.478] A MultisessionFuture was resolved (result was not collected) [18:02:49.479] getGlobalsAndPackages() ... [18:02:49.479] Searching for globals... [18:02:49.479] - globals found: [2] 'list', 'stop' [18:02:49.480] Searching for globals ... DONE [18:02:49.480] Resolving globals: FALSE [18:02:49.480] [18:02:49.480] [18:02:49.481] getGlobalsAndPackages() ... DONE [18:02:49.481] run() for 'Future' ... [18:02:49.481] - state: 'created' [18:02:49.481] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:49.495] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:49.495] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:49.495] - Field: 'node' [18:02:49.496] - Field: 'label' [18:02:49.496] - Field: 'local' [18:02:49.496] - Field: 'owner' [18:02:49.496] - Field: 'envir' [18:02:49.496] - Field: 'workers' [18:02:49.497] - Field: 'packages' [18:02:49.497] - Field: 'gc' [18:02:49.497] - Field: 'conditions' [18:02:49.497] - Field: 'persistent' [18:02:49.497] - Field: 'expr' [18:02:49.497] - Field: 'uuid' [18:02:49.498] - Field: 'seed' [18:02:49.498] - Field: 'version' [18:02:49.498] - Field: 'result' [18:02:49.498] - Field: 'asynchronous' [18:02:49.498] - Field: 'calls' [18:02:49.499] - Field: 'globals' [18:02:49.499] - Field: 'stdout' [18:02:49.499] - Field: 'earlySignal' [18:02:49.499] - Field: 'lazy' [18:02:49.499] - Field: 'state' [18:02:49.499] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:49.500] - Launch lazy future ... [18:02:49.500] Packages needed by the future expression (n = 0): [18:02:49.500] Packages needed by future strategies (n = 0): [18:02:49.501] { [18:02:49.501] { [18:02:49.501] { [18:02:49.501] ...future.startTime <- base::Sys.time() [18:02:49.501] { [18:02:49.501] { [18:02:49.501] { [18:02:49.501] { [18:02:49.501] base::local({ [18:02:49.501] has_future <- base::requireNamespace("future", [18:02:49.501] quietly = TRUE) [18:02:49.501] if (has_future) { [18:02:49.501] ns <- base::getNamespace("future") [18:02:49.501] version <- ns[[".package"]][["version"]] [18:02:49.501] if (is.null(version)) [18:02:49.501] version <- utils::packageVersion("future") [18:02:49.501] } [18:02:49.501] else { [18:02:49.501] version <- NULL [18:02:49.501] } [18:02:49.501] if (!has_future || version < "1.8.0") { [18:02:49.501] info <- base::c(r_version = base::gsub("R version ", [18:02:49.501] "", base::R.version$version.string), [18:02:49.501] platform = base::sprintf("%s (%s-bit)", [18:02:49.501] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:49.501] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:49.501] "release", "version")], collapse = " "), [18:02:49.501] hostname = base::Sys.info()[["nodename"]]) [18:02:49.501] info <- base::sprintf("%s: %s", base::names(info), [18:02:49.501] info) [18:02:49.501] info <- base::paste(info, collapse = "; ") [18:02:49.501] if (!has_future) { [18:02:49.501] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:49.501] info) [18:02:49.501] } [18:02:49.501] else { [18:02:49.501] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:49.501] info, version) [18:02:49.501] } [18:02:49.501] base::stop(msg) [18:02:49.501] } [18:02:49.501] }) [18:02:49.501] } [18:02:49.501] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:49.501] base::options(mc.cores = 1L) [18:02:49.501] } [18:02:49.501] options(future.plan = NULL) [18:02:49.501] Sys.unsetenv("R_FUTURE_PLAN") [18:02:49.501] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:49.501] } [18:02:49.501] ...future.workdir <- getwd() [18:02:49.501] } [18:02:49.501] ...future.oldOptions <- base::as.list(base::.Options) [18:02:49.501] ...future.oldEnvVars <- base::Sys.getenv() [18:02:49.501] } [18:02:49.501] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:49.501] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:49.501] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:49.501] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:49.501] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:49.501] future.stdout.windows.reencode = NULL, width = 80L) [18:02:49.501] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:49.501] base::names(...future.oldOptions)) [18:02:49.501] } [18:02:49.501] if (FALSE) { [18:02:49.501] } [18:02:49.501] else { [18:02:49.501] if (TRUE) { [18:02:49.501] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:49.501] open = "w") [18:02:49.501] } [18:02:49.501] else { [18:02:49.501] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:49.501] windows = "NUL", "/dev/null"), open = "w") [18:02:49.501] } [18:02:49.501] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:49.501] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:49.501] base::sink(type = "output", split = FALSE) [18:02:49.501] base::close(...future.stdout) [18:02:49.501] }, add = TRUE) [18:02:49.501] } [18:02:49.501] ...future.frame <- base::sys.nframe() [18:02:49.501] ...future.conditions <- base::list() [18:02:49.501] ...future.rng <- base::globalenv()$.Random.seed [18:02:49.501] if (FALSE) { [18:02:49.501] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:49.501] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:49.501] } [18:02:49.501] ...future.result <- base::tryCatch({ [18:02:49.501] base::withCallingHandlers({ [18:02:49.501] ...future.value <- base::withVisible(base::local({ [18:02:49.501] ...future.makeSendCondition <- local({ [18:02:49.501] sendCondition <- NULL [18:02:49.501] function(frame = 1L) { [18:02:49.501] if (is.function(sendCondition)) [18:02:49.501] return(sendCondition) [18:02:49.501] ns <- getNamespace("parallel") [18:02:49.501] if (exists("sendData", mode = "function", [18:02:49.501] envir = ns)) { [18:02:49.501] parallel_sendData <- get("sendData", mode = "function", [18:02:49.501] envir = ns) [18:02:49.501] envir <- sys.frame(frame) [18:02:49.501] master <- NULL [18:02:49.501] while (!identical(envir, .GlobalEnv) && [18:02:49.501] !identical(envir, emptyenv())) { [18:02:49.501] if (exists("master", mode = "list", envir = envir, [18:02:49.501] inherits = FALSE)) { [18:02:49.501] master <- get("master", mode = "list", [18:02:49.501] envir = envir, inherits = FALSE) [18:02:49.501] if (inherits(master, c("SOCKnode", [18:02:49.501] "SOCK0node"))) { [18:02:49.501] sendCondition <<- function(cond) { [18:02:49.501] data <- list(type = "VALUE", value = cond, [18:02:49.501] success = TRUE) [18:02:49.501] parallel_sendData(master, data) [18:02:49.501] } [18:02:49.501] return(sendCondition) [18:02:49.501] } [18:02:49.501] } [18:02:49.501] frame <- frame + 1L [18:02:49.501] envir <- sys.frame(frame) [18:02:49.501] } [18:02:49.501] } [18:02:49.501] sendCondition <<- function(cond) NULL [18:02:49.501] } [18:02:49.501] }) [18:02:49.501] withCallingHandlers({ [18:02:49.501] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:49.501] }, immediateCondition = function(cond) { [18:02:49.501] sendCondition <- ...future.makeSendCondition() [18:02:49.501] sendCondition(cond) [18:02:49.501] muffleCondition <- function (cond, pattern = "^muffle") [18:02:49.501] { [18:02:49.501] inherits <- base::inherits [18:02:49.501] invokeRestart <- base::invokeRestart [18:02:49.501] is.null <- base::is.null [18:02:49.501] muffled <- FALSE [18:02:49.501] if (inherits(cond, "message")) { [18:02:49.501] muffled <- grepl(pattern, "muffleMessage") [18:02:49.501] if (muffled) [18:02:49.501] invokeRestart("muffleMessage") [18:02:49.501] } [18:02:49.501] else if (inherits(cond, "warning")) { [18:02:49.501] muffled <- grepl(pattern, "muffleWarning") [18:02:49.501] if (muffled) [18:02:49.501] invokeRestart("muffleWarning") [18:02:49.501] } [18:02:49.501] else if (inherits(cond, "condition")) { [18:02:49.501] if (!is.null(pattern)) { [18:02:49.501] computeRestarts <- base::computeRestarts [18:02:49.501] grepl <- base::grepl [18:02:49.501] restarts <- computeRestarts(cond) [18:02:49.501] for (restart in restarts) { [18:02:49.501] name <- restart$name [18:02:49.501] if (is.null(name)) [18:02:49.501] next [18:02:49.501] if (!grepl(pattern, name)) [18:02:49.501] next [18:02:49.501] invokeRestart(restart) [18:02:49.501] muffled <- TRUE [18:02:49.501] break [18:02:49.501] } [18:02:49.501] } [18:02:49.501] } [18:02:49.501] invisible(muffled) [18:02:49.501] } [18:02:49.501] muffleCondition(cond) [18:02:49.501] }) [18:02:49.501] })) [18:02:49.501] future::FutureResult(value = ...future.value$value, [18:02:49.501] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:49.501] ...future.rng), globalenv = if (FALSE) [18:02:49.501] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:49.501] ...future.globalenv.names)) [18:02:49.501] else NULL, started = ...future.startTime, version = "1.8") [18:02:49.501] }, condition = base::local({ [18:02:49.501] c <- base::c [18:02:49.501] inherits <- base::inherits [18:02:49.501] invokeRestart <- base::invokeRestart [18:02:49.501] length <- base::length [18:02:49.501] list <- base::list [18:02:49.501] seq.int <- base::seq.int [18:02:49.501] signalCondition <- base::signalCondition [18:02:49.501] sys.calls <- base::sys.calls [18:02:49.501] `[[` <- base::`[[` [18:02:49.501] `+` <- base::`+` [18:02:49.501] `<<-` <- base::`<<-` [18:02:49.501] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:49.501] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:49.501] 3L)] [18:02:49.501] } [18:02:49.501] function(cond) { [18:02:49.501] is_error <- inherits(cond, "error") [18:02:49.501] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:49.501] NULL) [18:02:49.501] if (is_error) { [18:02:49.501] sessionInformation <- function() { [18:02:49.501] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:49.501] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:49.501] search = base::search(), system = base::Sys.info()) [18:02:49.501] } [18:02:49.501] ...future.conditions[[length(...future.conditions) + [18:02:49.501] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:49.501] cond$call), session = sessionInformation(), [18:02:49.501] timestamp = base::Sys.time(), signaled = 0L) [18:02:49.501] signalCondition(cond) [18:02:49.501] } [18:02:49.501] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:49.501] "immediateCondition"))) { [18:02:49.501] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:49.501] ...future.conditions[[length(...future.conditions) + [18:02:49.501] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:49.501] if (TRUE && !signal) { [18:02:49.501] muffleCondition <- function (cond, pattern = "^muffle") [18:02:49.501] { [18:02:49.501] inherits <- base::inherits [18:02:49.501] invokeRestart <- base::invokeRestart [18:02:49.501] is.null <- base::is.null [18:02:49.501] muffled <- FALSE [18:02:49.501] if (inherits(cond, "message")) { [18:02:49.501] muffled <- grepl(pattern, "muffleMessage") [18:02:49.501] if (muffled) [18:02:49.501] invokeRestart("muffleMessage") [18:02:49.501] } [18:02:49.501] else if (inherits(cond, "warning")) { [18:02:49.501] muffled <- grepl(pattern, "muffleWarning") [18:02:49.501] if (muffled) [18:02:49.501] invokeRestart("muffleWarning") [18:02:49.501] } [18:02:49.501] else if (inherits(cond, "condition")) { [18:02:49.501] if (!is.null(pattern)) { [18:02:49.501] computeRestarts <- base::computeRestarts [18:02:49.501] grepl <- base::grepl [18:02:49.501] restarts <- computeRestarts(cond) [18:02:49.501] for (restart in restarts) { [18:02:49.501] name <- restart$name [18:02:49.501] if (is.null(name)) [18:02:49.501] next [18:02:49.501] if (!grepl(pattern, name)) [18:02:49.501] next [18:02:49.501] invokeRestart(restart) [18:02:49.501] muffled <- TRUE [18:02:49.501] break [18:02:49.501] } [18:02:49.501] } [18:02:49.501] } [18:02:49.501] invisible(muffled) [18:02:49.501] } [18:02:49.501] muffleCondition(cond, pattern = "^muffle") [18:02:49.501] } [18:02:49.501] } [18:02:49.501] else { [18:02:49.501] if (TRUE) { [18:02:49.501] muffleCondition <- function (cond, pattern = "^muffle") [18:02:49.501] { [18:02:49.501] inherits <- base::inherits [18:02:49.501] invokeRestart <- base::invokeRestart [18:02:49.501] is.null <- base::is.null [18:02:49.501] muffled <- FALSE [18:02:49.501] if (inherits(cond, "message")) { [18:02:49.501] muffled <- grepl(pattern, "muffleMessage") [18:02:49.501] if (muffled) [18:02:49.501] invokeRestart("muffleMessage") [18:02:49.501] } [18:02:49.501] else if (inherits(cond, "warning")) { [18:02:49.501] muffled <- grepl(pattern, "muffleWarning") [18:02:49.501] if (muffled) [18:02:49.501] invokeRestart("muffleWarning") [18:02:49.501] } [18:02:49.501] else if (inherits(cond, "condition")) { [18:02:49.501] if (!is.null(pattern)) { [18:02:49.501] computeRestarts <- base::computeRestarts [18:02:49.501] grepl <- base::grepl [18:02:49.501] restarts <- computeRestarts(cond) [18:02:49.501] for (restart in restarts) { [18:02:49.501] name <- restart$name [18:02:49.501] if (is.null(name)) [18:02:49.501] next [18:02:49.501] if (!grepl(pattern, name)) [18:02:49.501] next [18:02:49.501] invokeRestart(restart) [18:02:49.501] muffled <- TRUE [18:02:49.501] break [18:02:49.501] } [18:02:49.501] } [18:02:49.501] } [18:02:49.501] invisible(muffled) [18:02:49.501] } [18:02:49.501] muffleCondition(cond, pattern = "^muffle") [18:02:49.501] } [18:02:49.501] } [18:02:49.501] } [18:02:49.501] })) [18:02:49.501] }, error = function(ex) { [18:02:49.501] base::structure(base::list(value = NULL, visible = NULL, [18:02:49.501] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:49.501] ...future.rng), started = ...future.startTime, [18:02:49.501] finished = Sys.time(), session_uuid = NA_character_, [18:02:49.501] version = "1.8"), class = "FutureResult") [18:02:49.501] }, finally = { [18:02:49.501] if (!identical(...future.workdir, getwd())) [18:02:49.501] setwd(...future.workdir) [18:02:49.501] { [18:02:49.501] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:49.501] ...future.oldOptions$nwarnings <- NULL [18:02:49.501] } [18:02:49.501] base::options(...future.oldOptions) [18:02:49.501] if (.Platform$OS.type == "windows") { [18:02:49.501] old_names <- names(...future.oldEnvVars) [18:02:49.501] envs <- base::Sys.getenv() [18:02:49.501] names <- names(envs) [18:02:49.501] common <- intersect(names, old_names) [18:02:49.501] added <- setdiff(names, old_names) [18:02:49.501] removed <- setdiff(old_names, names) [18:02:49.501] changed <- common[...future.oldEnvVars[common] != [18:02:49.501] envs[common]] [18:02:49.501] NAMES <- toupper(changed) [18:02:49.501] args <- list() [18:02:49.501] for (kk in seq_along(NAMES)) { [18:02:49.501] name <- changed[[kk]] [18:02:49.501] NAME <- NAMES[[kk]] [18:02:49.501] if (name != NAME && is.element(NAME, old_names)) [18:02:49.501] next [18:02:49.501] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:49.501] } [18:02:49.501] NAMES <- toupper(added) [18:02:49.501] for (kk in seq_along(NAMES)) { [18:02:49.501] name <- added[[kk]] [18:02:49.501] NAME <- NAMES[[kk]] [18:02:49.501] if (name != NAME && is.element(NAME, old_names)) [18:02:49.501] next [18:02:49.501] args[[name]] <- "" [18:02:49.501] } [18:02:49.501] NAMES <- toupper(removed) [18:02:49.501] for (kk in seq_along(NAMES)) { [18:02:49.501] name <- removed[[kk]] [18:02:49.501] NAME <- NAMES[[kk]] [18:02:49.501] if (name != NAME && is.element(NAME, old_names)) [18:02:49.501] next [18:02:49.501] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:49.501] } [18:02:49.501] if (length(args) > 0) [18:02:49.501] base::do.call(base::Sys.setenv, args = args) [18:02:49.501] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:49.501] } [18:02:49.501] else { [18:02:49.501] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:49.501] } [18:02:49.501] { [18:02:49.501] if (base::length(...future.futureOptionsAdded) > [18:02:49.501] 0L) { [18:02:49.501] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:49.501] base::names(opts) <- ...future.futureOptionsAdded [18:02:49.501] base::options(opts) [18:02:49.501] } [18:02:49.501] { [18:02:49.501] { [18:02:49.501] base::options(mc.cores = ...future.mc.cores.old) [18:02:49.501] NULL [18:02:49.501] } [18:02:49.501] options(future.plan = NULL) [18:02:49.501] if (is.na(NA_character_)) [18:02:49.501] Sys.unsetenv("R_FUTURE_PLAN") [18:02:49.501] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:49.501] future::plan(list(function (..., workers = availableCores(), [18:02:49.501] lazy = FALSE, rscript_libs = .libPaths(), [18:02:49.501] envir = parent.frame()) [18:02:49.501] { [18:02:49.501] if (is.function(workers)) [18:02:49.501] workers <- workers() [18:02:49.501] workers <- structure(as.integer(workers), [18:02:49.501] class = class(workers)) [18:02:49.501] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:49.501] workers >= 1) [18:02:49.501] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:49.501] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:49.501] } [18:02:49.501] future <- MultisessionFuture(..., workers = workers, [18:02:49.501] lazy = lazy, rscript_libs = rscript_libs, [18:02:49.501] envir = envir) [18:02:49.501] if (!future$lazy) [18:02:49.501] future <- run(future) [18:02:49.501] invisible(future) [18:02:49.501] }), .cleanup = FALSE, .init = FALSE) [18:02:49.501] } [18:02:49.501] } [18:02:49.501] } [18:02:49.501] }) [18:02:49.501] if (TRUE) { [18:02:49.501] base::sink(type = "output", split = FALSE) [18:02:49.501] if (TRUE) { [18:02:49.501] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:49.501] } [18:02:49.501] else { [18:02:49.501] ...future.result["stdout"] <- base::list(NULL) [18:02:49.501] } [18:02:49.501] base::close(...future.stdout) [18:02:49.501] ...future.stdout <- NULL [18:02:49.501] } [18:02:49.501] ...future.result$conditions <- ...future.conditions [18:02:49.501] ...future.result$finished <- base::Sys.time() [18:02:49.501] ...future.result [18:02:49.501] } [18:02:49.507] MultisessionFuture started [18:02:49.507] - Launch lazy future ... done [18:02:49.507] run() for 'MultisessionFuture' ... done [18:02:49.523] receiveMessageFromWorker() for ClusterFuture ... [18:02:49.523] - Validating connection of MultisessionFuture [18:02:49.523] - received message: FutureResult [18:02:49.524] - Received FutureResult [18:02:49.524] - Erased future from FutureRegistry [18:02:49.524] result() for ClusterFuture ... [18:02:49.524] - result already collected: FutureResult [18:02:49.524] result() for ClusterFuture ... done [18:02:49.524] signalConditions() ... [18:02:49.525] - include = 'immediateCondition' [18:02:49.525] - exclude = [18:02:49.525] - resignal = FALSE [18:02:49.525] - Number of conditions: 1 [18:02:49.525] signalConditions() ... done [18:02:49.525] receiveMessageFromWorker() for ClusterFuture ... done [18:02:49.526] A MultisessionFuture was resolved (result was not collected) - result = FALSE, recursive = 0 ... DONE - result = FALSE, recursive = 1 ... [18:02:49.526] getGlobalsAndPackages() ... [18:02:49.526] Searching for globals... [18:02:49.528] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:49.528] Searching for globals ... DONE [18:02:49.528] Resolving globals: FALSE [18:02:49.528] [18:02:49.529] [18:02:49.529] getGlobalsAndPackages() ... DONE [18:02:49.529] run() for 'Future' ... [18:02:49.529] - state: 'created' [18:02:49.529] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:49.543] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:49.543] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:49.543] - Field: 'node' [18:02:49.544] - Field: 'label' [18:02:49.544] - Field: 'local' [18:02:49.544] - Field: 'owner' [18:02:49.544] - Field: 'envir' [18:02:49.544] - Field: 'workers' [18:02:49.545] - Field: 'packages' [18:02:49.545] - Field: 'gc' [18:02:49.545] - Field: 'conditions' [18:02:49.545] - Field: 'persistent' [18:02:49.545] - Field: 'expr' [18:02:49.545] - Field: 'uuid' [18:02:49.546] - Field: 'seed' [18:02:49.546] - Field: 'version' [18:02:49.546] - Field: 'result' [18:02:49.546] - Field: 'asynchronous' [18:02:49.546] - Field: 'calls' [18:02:49.547] - Field: 'globals' [18:02:49.547] - Field: 'stdout' [18:02:49.547] - Field: 'earlySignal' [18:02:49.547] - Field: 'lazy' [18:02:49.547] - Field: 'state' [18:02:49.547] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:49.548] - Launch lazy future ... [18:02:49.548] Packages needed by the future expression (n = 0): [18:02:49.548] Packages needed by future strategies (n = 0): [18:02:49.549] { [18:02:49.549] { [18:02:49.549] { [18:02:49.549] ...future.startTime <- base::Sys.time() [18:02:49.549] { [18:02:49.549] { [18:02:49.549] { [18:02:49.549] { [18:02:49.549] base::local({ [18:02:49.549] has_future <- base::requireNamespace("future", [18:02:49.549] quietly = TRUE) [18:02:49.549] if (has_future) { [18:02:49.549] ns <- base::getNamespace("future") [18:02:49.549] version <- ns[[".package"]][["version"]] [18:02:49.549] if (is.null(version)) [18:02:49.549] version <- utils::packageVersion("future") [18:02:49.549] } [18:02:49.549] else { [18:02:49.549] version <- NULL [18:02:49.549] } [18:02:49.549] if (!has_future || version < "1.8.0") { [18:02:49.549] info <- base::c(r_version = base::gsub("R version ", [18:02:49.549] "", base::R.version$version.string), [18:02:49.549] platform = base::sprintf("%s (%s-bit)", [18:02:49.549] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:49.549] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:49.549] "release", "version")], collapse = " "), [18:02:49.549] hostname = base::Sys.info()[["nodename"]]) [18:02:49.549] info <- base::sprintf("%s: %s", base::names(info), [18:02:49.549] info) [18:02:49.549] info <- base::paste(info, collapse = "; ") [18:02:49.549] if (!has_future) { [18:02:49.549] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:49.549] info) [18:02:49.549] } [18:02:49.549] else { [18:02:49.549] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:49.549] info, version) [18:02:49.549] } [18:02:49.549] base::stop(msg) [18:02:49.549] } [18:02:49.549] }) [18:02:49.549] } [18:02:49.549] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:49.549] base::options(mc.cores = 1L) [18:02:49.549] } [18:02:49.549] options(future.plan = NULL) [18:02:49.549] Sys.unsetenv("R_FUTURE_PLAN") [18:02:49.549] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:49.549] } [18:02:49.549] ...future.workdir <- getwd() [18:02:49.549] } [18:02:49.549] ...future.oldOptions <- base::as.list(base::.Options) [18:02:49.549] ...future.oldEnvVars <- base::Sys.getenv() [18:02:49.549] } [18:02:49.549] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:49.549] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:49.549] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:49.549] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:49.549] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:49.549] future.stdout.windows.reencode = NULL, width = 80L) [18:02:49.549] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:49.549] base::names(...future.oldOptions)) [18:02:49.549] } [18:02:49.549] if (FALSE) { [18:02:49.549] } [18:02:49.549] else { [18:02:49.549] if (TRUE) { [18:02:49.549] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:49.549] open = "w") [18:02:49.549] } [18:02:49.549] else { [18:02:49.549] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:49.549] windows = "NUL", "/dev/null"), open = "w") [18:02:49.549] } [18:02:49.549] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:49.549] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:49.549] base::sink(type = "output", split = FALSE) [18:02:49.549] base::close(...future.stdout) [18:02:49.549] }, add = TRUE) [18:02:49.549] } [18:02:49.549] ...future.frame <- base::sys.nframe() [18:02:49.549] ...future.conditions <- base::list() [18:02:49.549] ...future.rng <- base::globalenv()$.Random.seed [18:02:49.549] if (FALSE) { [18:02:49.549] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:49.549] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:49.549] } [18:02:49.549] ...future.result <- base::tryCatch({ [18:02:49.549] base::withCallingHandlers({ [18:02:49.549] ...future.value <- base::withVisible(base::local({ [18:02:49.549] ...future.makeSendCondition <- local({ [18:02:49.549] sendCondition <- NULL [18:02:49.549] function(frame = 1L) { [18:02:49.549] if (is.function(sendCondition)) [18:02:49.549] return(sendCondition) [18:02:49.549] ns <- getNamespace("parallel") [18:02:49.549] if (exists("sendData", mode = "function", [18:02:49.549] envir = ns)) { [18:02:49.549] parallel_sendData <- get("sendData", mode = "function", [18:02:49.549] envir = ns) [18:02:49.549] envir <- sys.frame(frame) [18:02:49.549] master <- NULL [18:02:49.549] while (!identical(envir, .GlobalEnv) && [18:02:49.549] !identical(envir, emptyenv())) { [18:02:49.549] if (exists("master", mode = "list", envir = envir, [18:02:49.549] inherits = FALSE)) { [18:02:49.549] master <- get("master", mode = "list", [18:02:49.549] envir = envir, inherits = FALSE) [18:02:49.549] if (inherits(master, c("SOCKnode", [18:02:49.549] "SOCK0node"))) { [18:02:49.549] sendCondition <<- function(cond) { [18:02:49.549] data <- list(type = "VALUE", value = cond, [18:02:49.549] success = TRUE) [18:02:49.549] parallel_sendData(master, data) [18:02:49.549] } [18:02:49.549] return(sendCondition) [18:02:49.549] } [18:02:49.549] } [18:02:49.549] frame <- frame + 1L [18:02:49.549] envir <- sys.frame(frame) [18:02:49.549] } [18:02:49.549] } [18:02:49.549] sendCondition <<- function(cond) NULL [18:02:49.549] } [18:02:49.549] }) [18:02:49.549] withCallingHandlers({ [18:02:49.549] { [18:02:49.549] Sys.sleep(0.5) [18:02:49.549] list(a = 1, b = 42L) [18:02:49.549] } [18:02:49.549] }, immediateCondition = function(cond) { [18:02:49.549] sendCondition <- ...future.makeSendCondition() [18:02:49.549] sendCondition(cond) [18:02:49.549] muffleCondition <- function (cond, pattern = "^muffle") [18:02:49.549] { [18:02:49.549] inherits <- base::inherits [18:02:49.549] invokeRestart <- base::invokeRestart [18:02:49.549] is.null <- base::is.null [18:02:49.549] muffled <- FALSE [18:02:49.549] if (inherits(cond, "message")) { [18:02:49.549] muffled <- grepl(pattern, "muffleMessage") [18:02:49.549] if (muffled) [18:02:49.549] invokeRestart("muffleMessage") [18:02:49.549] } [18:02:49.549] else if (inherits(cond, "warning")) { [18:02:49.549] muffled <- grepl(pattern, "muffleWarning") [18:02:49.549] if (muffled) [18:02:49.549] invokeRestart("muffleWarning") [18:02:49.549] } [18:02:49.549] else if (inherits(cond, "condition")) { [18:02:49.549] if (!is.null(pattern)) { [18:02:49.549] computeRestarts <- base::computeRestarts [18:02:49.549] grepl <- base::grepl [18:02:49.549] restarts <- computeRestarts(cond) [18:02:49.549] for (restart in restarts) { [18:02:49.549] name <- restart$name [18:02:49.549] if (is.null(name)) [18:02:49.549] next [18:02:49.549] if (!grepl(pattern, name)) [18:02:49.549] next [18:02:49.549] invokeRestart(restart) [18:02:49.549] muffled <- TRUE [18:02:49.549] break [18:02:49.549] } [18:02:49.549] } [18:02:49.549] } [18:02:49.549] invisible(muffled) [18:02:49.549] } [18:02:49.549] muffleCondition(cond) [18:02:49.549] }) [18:02:49.549] })) [18:02:49.549] future::FutureResult(value = ...future.value$value, [18:02:49.549] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:49.549] ...future.rng), globalenv = if (FALSE) [18:02:49.549] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:49.549] ...future.globalenv.names)) [18:02:49.549] else NULL, started = ...future.startTime, version = "1.8") [18:02:49.549] }, condition = base::local({ [18:02:49.549] c <- base::c [18:02:49.549] inherits <- base::inherits [18:02:49.549] invokeRestart <- base::invokeRestart [18:02:49.549] length <- base::length [18:02:49.549] list <- base::list [18:02:49.549] seq.int <- base::seq.int [18:02:49.549] signalCondition <- base::signalCondition [18:02:49.549] sys.calls <- base::sys.calls [18:02:49.549] `[[` <- base::`[[` [18:02:49.549] `+` <- base::`+` [18:02:49.549] `<<-` <- base::`<<-` [18:02:49.549] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:49.549] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:49.549] 3L)] [18:02:49.549] } [18:02:49.549] function(cond) { [18:02:49.549] is_error <- inherits(cond, "error") [18:02:49.549] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:49.549] NULL) [18:02:49.549] if (is_error) { [18:02:49.549] sessionInformation <- function() { [18:02:49.549] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:49.549] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:49.549] search = base::search(), system = base::Sys.info()) [18:02:49.549] } [18:02:49.549] ...future.conditions[[length(...future.conditions) + [18:02:49.549] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:49.549] cond$call), session = sessionInformation(), [18:02:49.549] timestamp = base::Sys.time(), signaled = 0L) [18:02:49.549] signalCondition(cond) [18:02:49.549] } [18:02:49.549] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:49.549] "immediateCondition"))) { [18:02:49.549] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:49.549] ...future.conditions[[length(...future.conditions) + [18:02:49.549] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:49.549] if (TRUE && !signal) { [18:02:49.549] muffleCondition <- function (cond, pattern = "^muffle") [18:02:49.549] { [18:02:49.549] inherits <- base::inherits [18:02:49.549] invokeRestart <- base::invokeRestart [18:02:49.549] is.null <- base::is.null [18:02:49.549] muffled <- FALSE [18:02:49.549] if (inherits(cond, "message")) { [18:02:49.549] muffled <- grepl(pattern, "muffleMessage") [18:02:49.549] if (muffled) [18:02:49.549] invokeRestart("muffleMessage") [18:02:49.549] } [18:02:49.549] else if (inherits(cond, "warning")) { [18:02:49.549] muffled <- grepl(pattern, "muffleWarning") [18:02:49.549] if (muffled) [18:02:49.549] invokeRestart("muffleWarning") [18:02:49.549] } [18:02:49.549] else if (inherits(cond, "condition")) { [18:02:49.549] if (!is.null(pattern)) { [18:02:49.549] computeRestarts <- base::computeRestarts [18:02:49.549] grepl <- base::grepl [18:02:49.549] restarts <- computeRestarts(cond) [18:02:49.549] for (restart in restarts) { [18:02:49.549] name <- restart$name [18:02:49.549] if (is.null(name)) [18:02:49.549] next [18:02:49.549] if (!grepl(pattern, name)) [18:02:49.549] next [18:02:49.549] invokeRestart(restart) [18:02:49.549] muffled <- TRUE [18:02:49.549] break [18:02:49.549] } [18:02:49.549] } [18:02:49.549] } [18:02:49.549] invisible(muffled) [18:02:49.549] } [18:02:49.549] muffleCondition(cond, pattern = "^muffle") [18:02:49.549] } [18:02:49.549] } [18:02:49.549] else { [18:02:49.549] if (TRUE) { [18:02:49.549] muffleCondition <- function (cond, pattern = "^muffle") [18:02:49.549] { [18:02:49.549] inherits <- base::inherits [18:02:49.549] invokeRestart <- base::invokeRestart [18:02:49.549] is.null <- base::is.null [18:02:49.549] muffled <- FALSE [18:02:49.549] if (inherits(cond, "message")) { [18:02:49.549] muffled <- grepl(pattern, "muffleMessage") [18:02:49.549] if (muffled) [18:02:49.549] invokeRestart("muffleMessage") [18:02:49.549] } [18:02:49.549] else if (inherits(cond, "warning")) { [18:02:49.549] muffled <- grepl(pattern, "muffleWarning") [18:02:49.549] if (muffled) [18:02:49.549] invokeRestart("muffleWarning") [18:02:49.549] } [18:02:49.549] else if (inherits(cond, "condition")) { [18:02:49.549] if (!is.null(pattern)) { [18:02:49.549] computeRestarts <- base::computeRestarts [18:02:49.549] grepl <- base::grepl [18:02:49.549] restarts <- computeRestarts(cond) [18:02:49.549] for (restart in restarts) { [18:02:49.549] name <- restart$name [18:02:49.549] if (is.null(name)) [18:02:49.549] next [18:02:49.549] if (!grepl(pattern, name)) [18:02:49.549] next [18:02:49.549] invokeRestart(restart) [18:02:49.549] muffled <- TRUE [18:02:49.549] break [18:02:49.549] } [18:02:49.549] } [18:02:49.549] } [18:02:49.549] invisible(muffled) [18:02:49.549] } [18:02:49.549] muffleCondition(cond, pattern = "^muffle") [18:02:49.549] } [18:02:49.549] } [18:02:49.549] } [18:02:49.549] })) [18:02:49.549] }, error = function(ex) { [18:02:49.549] base::structure(base::list(value = NULL, visible = NULL, [18:02:49.549] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:49.549] ...future.rng), started = ...future.startTime, [18:02:49.549] finished = Sys.time(), session_uuid = NA_character_, [18:02:49.549] version = "1.8"), class = "FutureResult") [18:02:49.549] }, finally = { [18:02:49.549] if (!identical(...future.workdir, getwd())) [18:02:49.549] setwd(...future.workdir) [18:02:49.549] { [18:02:49.549] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:49.549] ...future.oldOptions$nwarnings <- NULL [18:02:49.549] } [18:02:49.549] base::options(...future.oldOptions) [18:02:49.549] if (.Platform$OS.type == "windows") { [18:02:49.549] old_names <- names(...future.oldEnvVars) [18:02:49.549] envs <- base::Sys.getenv() [18:02:49.549] names <- names(envs) [18:02:49.549] common <- intersect(names, old_names) [18:02:49.549] added <- setdiff(names, old_names) [18:02:49.549] removed <- setdiff(old_names, names) [18:02:49.549] changed <- common[...future.oldEnvVars[common] != [18:02:49.549] envs[common]] [18:02:49.549] NAMES <- toupper(changed) [18:02:49.549] args <- list() [18:02:49.549] for (kk in seq_along(NAMES)) { [18:02:49.549] name <- changed[[kk]] [18:02:49.549] NAME <- NAMES[[kk]] [18:02:49.549] if (name != NAME && is.element(NAME, old_names)) [18:02:49.549] next [18:02:49.549] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:49.549] } [18:02:49.549] NAMES <- toupper(added) [18:02:49.549] for (kk in seq_along(NAMES)) { [18:02:49.549] name <- added[[kk]] [18:02:49.549] NAME <- NAMES[[kk]] [18:02:49.549] if (name != NAME && is.element(NAME, old_names)) [18:02:49.549] next [18:02:49.549] args[[name]] <- "" [18:02:49.549] } [18:02:49.549] NAMES <- toupper(removed) [18:02:49.549] for (kk in seq_along(NAMES)) { [18:02:49.549] name <- removed[[kk]] [18:02:49.549] NAME <- NAMES[[kk]] [18:02:49.549] if (name != NAME && is.element(NAME, old_names)) [18:02:49.549] next [18:02:49.549] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:49.549] } [18:02:49.549] if (length(args) > 0) [18:02:49.549] base::do.call(base::Sys.setenv, args = args) [18:02:49.549] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:49.549] } [18:02:49.549] else { [18:02:49.549] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:49.549] } [18:02:49.549] { [18:02:49.549] if (base::length(...future.futureOptionsAdded) > [18:02:49.549] 0L) { [18:02:49.549] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:49.549] base::names(opts) <- ...future.futureOptionsAdded [18:02:49.549] base::options(opts) [18:02:49.549] } [18:02:49.549] { [18:02:49.549] { [18:02:49.549] base::options(mc.cores = ...future.mc.cores.old) [18:02:49.549] NULL [18:02:49.549] } [18:02:49.549] options(future.plan = NULL) [18:02:49.549] if (is.na(NA_character_)) [18:02:49.549] Sys.unsetenv("R_FUTURE_PLAN") [18:02:49.549] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:49.549] future::plan(list(function (..., workers = availableCores(), [18:02:49.549] lazy = FALSE, rscript_libs = .libPaths(), [18:02:49.549] envir = parent.frame()) [18:02:49.549] { [18:02:49.549] if (is.function(workers)) [18:02:49.549] workers <- workers() [18:02:49.549] workers <- structure(as.integer(workers), [18:02:49.549] class = class(workers)) [18:02:49.549] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:49.549] workers >= 1) [18:02:49.549] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:49.549] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:49.549] } [18:02:49.549] future <- MultisessionFuture(..., workers = workers, [18:02:49.549] lazy = lazy, rscript_libs = rscript_libs, [18:02:49.549] envir = envir) [18:02:49.549] if (!future$lazy) [18:02:49.549] future <- run(future) [18:02:49.549] invisible(future) [18:02:49.549] }), .cleanup = FALSE, .init = FALSE) [18:02:49.549] } [18:02:49.549] } [18:02:49.549] } [18:02:49.549] }) [18:02:49.549] if (TRUE) { [18:02:49.549] base::sink(type = "output", split = FALSE) [18:02:49.549] if (TRUE) { [18:02:49.549] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:49.549] } [18:02:49.549] else { [18:02:49.549] ...future.result["stdout"] <- base::list(NULL) [18:02:49.549] } [18:02:49.549] base::close(...future.stdout) [18:02:49.549] ...future.stdout <- NULL [18:02:49.549] } [18:02:49.549] ...future.result$conditions <- ...future.conditions [18:02:49.549] ...future.result$finished <- base::Sys.time() [18:02:49.549] ...future.result [18:02:49.549] } [18:02:49.555] MultisessionFuture started [18:02:49.555] - Launch lazy future ... done [18:02:49.555] run() for 'MultisessionFuture' ... done [18:02:50.075] receiveMessageFromWorker() for ClusterFuture ... [18:02:50.076] - Validating connection of MultisessionFuture [18:02:50.076] - received message: FutureResult [18:02:50.076] - Received FutureResult [18:02:50.076] - Erased future from FutureRegistry [18:02:50.077] result() for ClusterFuture ... [18:02:50.077] - result already collected: FutureResult [18:02:50.077] result() for ClusterFuture ... done [18:02:50.077] receiveMessageFromWorker() for ClusterFuture ... done [18:02:50.077] A MultisessionFuture was resolved (result was not collected) [18:02:50.078] getGlobalsAndPackages() ... [18:02:50.078] Searching for globals... [18:02:50.079] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:50.079] Searching for globals ... DONE [18:02:50.079] Resolving globals: FALSE [18:02:50.080] [18:02:50.080] [18:02:50.080] getGlobalsAndPackages() ... DONE [18:02:50.081] run() for 'Future' ... [18:02:50.081] - state: 'created' [18:02:50.081] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:50.097] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:50.098] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:50.098] - Field: 'node' [18:02:50.098] - Field: 'label' [18:02:50.098] - Field: 'local' [18:02:50.098] - Field: 'owner' [18:02:50.099] - Field: 'envir' [18:02:50.099] - Field: 'workers' [18:02:50.099] - Field: 'packages' [18:02:50.099] - Field: 'gc' [18:02:50.099] - Field: 'conditions' [18:02:50.099] - Field: 'persistent' [18:02:50.100] - Field: 'expr' [18:02:50.100] - Field: 'uuid' [18:02:50.100] - Field: 'seed' [18:02:50.100] - Field: 'version' [18:02:50.100] - Field: 'result' [18:02:50.101] - Field: 'asynchronous' [18:02:50.101] - Field: 'calls' [18:02:50.101] - Field: 'globals' [18:02:50.101] - Field: 'stdout' [18:02:50.101] - Field: 'earlySignal' [18:02:50.101] - Field: 'lazy' [18:02:50.102] - Field: 'state' [18:02:50.102] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:50.102] - Launch lazy future ... [18:02:50.102] Packages needed by the future expression (n = 0): [18:02:50.102] Packages needed by future strategies (n = 0): [18:02:50.103] { [18:02:50.103] { [18:02:50.103] { [18:02:50.103] ...future.startTime <- base::Sys.time() [18:02:50.103] { [18:02:50.103] { [18:02:50.103] { [18:02:50.103] { [18:02:50.103] base::local({ [18:02:50.103] has_future <- base::requireNamespace("future", [18:02:50.103] quietly = TRUE) [18:02:50.103] if (has_future) { [18:02:50.103] ns <- base::getNamespace("future") [18:02:50.103] version <- ns[[".package"]][["version"]] [18:02:50.103] if (is.null(version)) [18:02:50.103] version <- utils::packageVersion("future") [18:02:50.103] } [18:02:50.103] else { [18:02:50.103] version <- NULL [18:02:50.103] } [18:02:50.103] if (!has_future || version < "1.8.0") { [18:02:50.103] info <- base::c(r_version = base::gsub("R version ", [18:02:50.103] "", base::R.version$version.string), [18:02:50.103] platform = base::sprintf("%s (%s-bit)", [18:02:50.103] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:50.103] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:50.103] "release", "version")], collapse = " "), [18:02:50.103] hostname = base::Sys.info()[["nodename"]]) [18:02:50.103] info <- base::sprintf("%s: %s", base::names(info), [18:02:50.103] info) [18:02:50.103] info <- base::paste(info, collapse = "; ") [18:02:50.103] if (!has_future) { [18:02:50.103] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:50.103] info) [18:02:50.103] } [18:02:50.103] else { [18:02:50.103] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:50.103] info, version) [18:02:50.103] } [18:02:50.103] base::stop(msg) [18:02:50.103] } [18:02:50.103] }) [18:02:50.103] } [18:02:50.103] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:50.103] base::options(mc.cores = 1L) [18:02:50.103] } [18:02:50.103] options(future.plan = NULL) [18:02:50.103] Sys.unsetenv("R_FUTURE_PLAN") [18:02:50.103] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:50.103] } [18:02:50.103] ...future.workdir <- getwd() [18:02:50.103] } [18:02:50.103] ...future.oldOptions <- base::as.list(base::.Options) [18:02:50.103] ...future.oldEnvVars <- base::Sys.getenv() [18:02:50.103] } [18:02:50.103] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:50.103] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:50.103] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:50.103] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:50.103] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:50.103] future.stdout.windows.reencode = NULL, width = 80L) [18:02:50.103] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:50.103] base::names(...future.oldOptions)) [18:02:50.103] } [18:02:50.103] if (FALSE) { [18:02:50.103] } [18:02:50.103] else { [18:02:50.103] if (TRUE) { [18:02:50.103] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:50.103] open = "w") [18:02:50.103] } [18:02:50.103] else { [18:02:50.103] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:50.103] windows = "NUL", "/dev/null"), open = "w") [18:02:50.103] } [18:02:50.103] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:50.103] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:50.103] base::sink(type = "output", split = FALSE) [18:02:50.103] base::close(...future.stdout) [18:02:50.103] }, add = TRUE) [18:02:50.103] } [18:02:50.103] ...future.frame <- base::sys.nframe() [18:02:50.103] ...future.conditions <- base::list() [18:02:50.103] ...future.rng <- base::globalenv()$.Random.seed [18:02:50.103] if (FALSE) { [18:02:50.103] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:50.103] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:50.103] } [18:02:50.103] ...future.result <- base::tryCatch({ [18:02:50.103] base::withCallingHandlers({ [18:02:50.103] ...future.value <- base::withVisible(base::local({ [18:02:50.103] ...future.makeSendCondition <- local({ [18:02:50.103] sendCondition <- NULL [18:02:50.103] function(frame = 1L) { [18:02:50.103] if (is.function(sendCondition)) [18:02:50.103] return(sendCondition) [18:02:50.103] ns <- getNamespace("parallel") [18:02:50.103] if (exists("sendData", mode = "function", [18:02:50.103] envir = ns)) { [18:02:50.103] parallel_sendData <- get("sendData", mode = "function", [18:02:50.103] envir = ns) [18:02:50.103] envir <- sys.frame(frame) [18:02:50.103] master <- NULL [18:02:50.103] while (!identical(envir, .GlobalEnv) && [18:02:50.103] !identical(envir, emptyenv())) { [18:02:50.103] if (exists("master", mode = "list", envir = envir, [18:02:50.103] inherits = FALSE)) { [18:02:50.103] master <- get("master", mode = "list", [18:02:50.103] envir = envir, inherits = FALSE) [18:02:50.103] if (inherits(master, c("SOCKnode", [18:02:50.103] "SOCK0node"))) { [18:02:50.103] sendCondition <<- function(cond) { [18:02:50.103] data <- list(type = "VALUE", value = cond, [18:02:50.103] success = TRUE) [18:02:50.103] parallel_sendData(master, data) [18:02:50.103] } [18:02:50.103] return(sendCondition) [18:02:50.103] } [18:02:50.103] } [18:02:50.103] frame <- frame + 1L [18:02:50.103] envir <- sys.frame(frame) [18:02:50.103] } [18:02:50.103] } [18:02:50.103] sendCondition <<- function(cond) NULL [18:02:50.103] } [18:02:50.103] }) [18:02:50.103] withCallingHandlers({ [18:02:50.103] { [18:02:50.103] Sys.sleep(0.5) [18:02:50.103] list(a = 1, b = 42L) [18:02:50.103] } [18:02:50.103] }, immediateCondition = function(cond) { [18:02:50.103] sendCondition <- ...future.makeSendCondition() [18:02:50.103] sendCondition(cond) [18:02:50.103] muffleCondition <- function (cond, pattern = "^muffle") [18:02:50.103] { [18:02:50.103] inherits <- base::inherits [18:02:50.103] invokeRestart <- base::invokeRestart [18:02:50.103] is.null <- base::is.null [18:02:50.103] muffled <- FALSE [18:02:50.103] if (inherits(cond, "message")) { [18:02:50.103] muffled <- grepl(pattern, "muffleMessage") [18:02:50.103] if (muffled) [18:02:50.103] invokeRestart("muffleMessage") [18:02:50.103] } [18:02:50.103] else if (inherits(cond, "warning")) { [18:02:50.103] muffled <- grepl(pattern, "muffleWarning") [18:02:50.103] if (muffled) [18:02:50.103] invokeRestart("muffleWarning") [18:02:50.103] } [18:02:50.103] else if (inherits(cond, "condition")) { [18:02:50.103] if (!is.null(pattern)) { [18:02:50.103] computeRestarts <- base::computeRestarts [18:02:50.103] grepl <- base::grepl [18:02:50.103] restarts <- computeRestarts(cond) [18:02:50.103] for (restart in restarts) { [18:02:50.103] name <- restart$name [18:02:50.103] if (is.null(name)) [18:02:50.103] next [18:02:50.103] if (!grepl(pattern, name)) [18:02:50.103] next [18:02:50.103] invokeRestart(restart) [18:02:50.103] muffled <- TRUE [18:02:50.103] break [18:02:50.103] } [18:02:50.103] } [18:02:50.103] } [18:02:50.103] invisible(muffled) [18:02:50.103] } [18:02:50.103] muffleCondition(cond) [18:02:50.103] }) [18:02:50.103] })) [18:02:50.103] future::FutureResult(value = ...future.value$value, [18:02:50.103] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:50.103] ...future.rng), globalenv = if (FALSE) [18:02:50.103] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:50.103] ...future.globalenv.names)) [18:02:50.103] else NULL, started = ...future.startTime, version = "1.8") [18:02:50.103] }, condition = base::local({ [18:02:50.103] c <- base::c [18:02:50.103] inherits <- base::inherits [18:02:50.103] invokeRestart <- base::invokeRestart [18:02:50.103] length <- base::length [18:02:50.103] list <- base::list [18:02:50.103] seq.int <- base::seq.int [18:02:50.103] signalCondition <- base::signalCondition [18:02:50.103] sys.calls <- base::sys.calls [18:02:50.103] `[[` <- base::`[[` [18:02:50.103] `+` <- base::`+` [18:02:50.103] `<<-` <- base::`<<-` [18:02:50.103] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:50.103] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:50.103] 3L)] [18:02:50.103] } [18:02:50.103] function(cond) { [18:02:50.103] is_error <- inherits(cond, "error") [18:02:50.103] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:50.103] NULL) [18:02:50.103] if (is_error) { [18:02:50.103] sessionInformation <- function() { [18:02:50.103] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:50.103] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:50.103] search = base::search(), system = base::Sys.info()) [18:02:50.103] } [18:02:50.103] ...future.conditions[[length(...future.conditions) + [18:02:50.103] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:50.103] cond$call), session = sessionInformation(), [18:02:50.103] timestamp = base::Sys.time(), signaled = 0L) [18:02:50.103] signalCondition(cond) [18:02:50.103] } [18:02:50.103] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:50.103] "immediateCondition"))) { [18:02:50.103] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:50.103] ...future.conditions[[length(...future.conditions) + [18:02:50.103] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:50.103] if (TRUE && !signal) { [18:02:50.103] muffleCondition <- function (cond, pattern = "^muffle") [18:02:50.103] { [18:02:50.103] inherits <- base::inherits [18:02:50.103] invokeRestart <- base::invokeRestart [18:02:50.103] is.null <- base::is.null [18:02:50.103] muffled <- FALSE [18:02:50.103] if (inherits(cond, "message")) { [18:02:50.103] muffled <- grepl(pattern, "muffleMessage") [18:02:50.103] if (muffled) [18:02:50.103] invokeRestart("muffleMessage") [18:02:50.103] } [18:02:50.103] else if (inherits(cond, "warning")) { [18:02:50.103] muffled <- grepl(pattern, "muffleWarning") [18:02:50.103] if (muffled) [18:02:50.103] invokeRestart("muffleWarning") [18:02:50.103] } [18:02:50.103] else if (inherits(cond, "condition")) { [18:02:50.103] if (!is.null(pattern)) { [18:02:50.103] computeRestarts <- base::computeRestarts [18:02:50.103] grepl <- base::grepl [18:02:50.103] restarts <- computeRestarts(cond) [18:02:50.103] for (restart in restarts) { [18:02:50.103] name <- restart$name [18:02:50.103] if (is.null(name)) [18:02:50.103] next [18:02:50.103] if (!grepl(pattern, name)) [18:02:50.103] next [18:02:50.103] invokeRestart(restart) [18:02:50.103] muffled <- TRUE [18:02:50.103] break [18:02:50.103] } [18:02:50.103] } [18:02:50.103] } [18:02:50.103] invisible(muffled) [18:02:50.103] } [18:02:50.103] muffleCondition(cond, pattern = "^muffle") [18:02:50.103] } [18:02:50.103] } [18:02:50.103] else { [18:02:50.103] if (TRUE) { [18:02:50.103] muffleCondition <- function (cond, pattern = "^muffle") [18:02:50.103] { [18:02:50.103] inherits <- base::inherits [18:02:50.103] invokeRestart <- base::invokeRestart [18:02:50.103] is.null <- base::is.null [18:02:50.103] muffled <- FALSE [18:02:50.103] if (inherits(cond, "message")) { [18:02:50.103] muffled <- grepl(pattern, "muffleMessage") [18:02:50.103] if (muffled) [18:02:50.103] invokeRestart("muffleMessage") [18:02:50.103] } [18:02:50.103] else if (inherits(cond, "warning")) { [18:02:50.103] muffled <- grepl(pattern, "muffleWarning") [18:02:50.103] if (muffled) [18:02:50.103] invokeRestart("muffleWarning") [18:02:50.103] } [18:02:50.103] else if (inherits(cond, "condition")) { [18:02:50.103] if (!is.null(pattern)) { [18:02:50.103] computeRestarts <- base::computeRestarts [18:02:50.103] grepl <- base::grepl [18:02:50.103] restarts <- computeRestarts(cond) [18:02:50.103] for (restart in restarts) { [18:02:50.103] name <- restart$name [18:02:50.103] if (is.null(name)) [18:02:50.103] next [18:02:50.103] if (!grepl(pattern, name)) [18:02:50.103] next [18:02:50.103] invokeRestart(restart) [18:02:50.103] muffled <- TRUE [18:02:50.103] break [18:02:50.103] } [18:02:50.103] } [18:02:50.103] } [18:02:50.103] invisible(muffled) [18:02:50.103] } [18:02:50.103] muffleCondition(cond, pattern = "^muffle") [18:02:50.103] } [18:02:50.103] } [18:02:50.103] } [18:02:50.103] })) [18:02:50.103] }, error = function(ex) { [18:02:50.103] base::structure(base::list(value = NULL, visible = NULL, [18:02:50.103] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:50.103] ...future.rng), started = ...future.startTime, [18:02:50.103] finished = Sys.time(), session_uuid = NA_character_, [18:02:50.103] version = "1.8"), class = "FutureResult") [18:02:50.103] }, finally = { [18:02:50.103] if (!identical(...future.workdir, getwd())) [18:02:50.103] setwd(...future.workdir) [18:02:50.103] { [18:02:50.103] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:50.103] ...future.oldOptions$nwarnings <- NULL [18:02:50.103] } [18:02:50.103] base::options(...future.oldOptions) [18:02:50.103] if (.Platform$OS.type == "windows") { [18:02:50.103] old_names <- names(...future.oldEnvVars) [18:02:50.103] envs <- base::Sys.getenv() [18:02:50.103] names <- names(envs) [18:02:50.103] common <- intersect(names, old_names) [18:02:50.103] added <- setdiff(names, old_names) [18:02:50.103] removed <- setdiff(old_names, names) [18:02:50.103] changed <- common[...future.oldEnvVars[common] != [18:02:50.103] envs[common]] [18:02:50.103] NAMES <- toupper(changed) [18:02:50.103] args <- list() [18:02:50.103] for (kk in seq_along(NAMES)) { [18:02:50.103] name <- changed[[kk]] [18:02:50.103] NAME <- NAMES[[kk]] [18:02:50.103] if (name != NAME && is.element(NAME, old_names)) [18:02:50.103] next [18:02:50.103] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:50.103] } [18:02:50.103] NAMES <- toupper(added) [18:02:50.103] for (kk in seq_along(NAMES)) { [18:02:50.103] name <- added[[kk]] [18:02:50.103] NAME <- NAMES[[kk]] [18:02:50.103] if (name != NAME && is.element(NAME, old_names)) [18:02:50.103] next [18:02:50.103] args[[name]] <- "" [18:02:50.103] } [18:02:50.103] NAMES <- toupper(removed) [18:02:50.103] for (kk in seq_along(NAMES)) { [18:02:50.103] name <- removed[[kk]] [18:02:50.103] NAME <- NAMES[[kk]] [18:02:50.103] if (name != NAME && is.element(NAME, old_names)) [18:02:50.103] next [18:02:50.103] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:50.103] } [18:02:50.103] if (length(args) > 0) [18:02:50.103] base::do.call(base::Sys.setenv, args = args) [18:02:50.103] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:50.103] } [18:02:50.103] else { [18:02:50.103] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:50.103] } [18:02:50.103] { [18:02:50.103] if (base::length(...future.futureOptionsAdded) > [18:02:50.103] 0L) { [18:02:50.103] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:50.103] base::names(opts) <- ...future.futureOptionsAdded [18:02:50.103] base::options(opts) [18:02:50.103] } [18:02:50.103] { [18:02:50.103] { [18:02:50.103] base::options(mc.cores = ...future.mc.cores.old) [18:02:50.103] NULL [18:02:50.103] } [18:02:50.103] options(future.plan = NULL) [18:02:50.103] if (is.na(NA_character_)) [18:02:50.103] Sys.unsetenv("R_FUTURE_PLAN") [18:02:50.103] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:50.103] future::plan(list(function (..., workers = availableCores(), [18:02:50.103] lazy = FALSE, rscript_libs = .libPaths(), [18:02:50.103] envir = parent.frame()) [18:02:50.103] { [18:02:50.103] if (is.function(workers)) [18:02:50.103] workers <- workers() [18:02:50.103] workers <- structure(as.integer(workers), [18:02:50.103] class = class(workers)) [18:02:50.103] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:50.103] workers >= 1) [18:02:50.103] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:50.103] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:50.103] } [18:02:50.103] future <- MultisessionFuture(..., workers = workers, [18:02:50.103] lazy = lazy, rscript_libs = rscript_libs, [18:02:50.103] envir = envir) [18:02:50.103] if (!future$lazy) [18:02:50.103] future <- run(future) [18:02:50.103] invisible(future) [18:02:50.103] }), .cleanup = FALSE, .init = FALSE) [18:02:50.103] } [18:02:50.103] } [18:02:50.103] } [18:02:50.103] }) [18:02:50.103] if (TRUE) { [18:02:50.103] base::sink(type = "output", split = FALSE) [18:02:50.103] if (TRUE) { [18:02:50.103] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:50.103] } [18:02:50.103] else { [18:02:50.103] ...future.result["stdout"] <- base::list(NULL) [18:02:50.103] } [18:02:50.103] base::close(...future.stdout) [18:02:50.103] ...future.stdout <- NULL [18:02:50.103] } [18:02:50.103] ...future.result$conditions <- ...future.conditions [18:02:50.103] ...future.result$finished <- base::Sys.time() [18:02:50.103] ...future.result [18:02:50.103] } [18:02:50.109] MultisessionFuture started [18:02:50.109] - Launch lazy future ... done [18:02:50.109] run() for 'MultisessionFuture' ... done [18:02:50.639] receiveMessageFromWorker() for ClusterFuture ... [18:02:50.640] - Validating connection of MultisessionFuture [18:02:50.640] - received message: FutureResult [18:02:50.640] - Received FutureResult [18:02:50.640] - Erased future from FutureRegistry [18:02:50.640] result() for ClusterFuture ... [18:02:50.641] - result already collected: FutureResult [18:02:50.641] result() for ClusterFuture ... done [18:02:50.641] receiveMessageFromWorker() for ClusterFuture ... done [18:02:50.641] A MultisessionFuture was resolved (result was not collected) - w/ exception ... [18:02:50.641] getGlobalsAndPackages() ... [18:02:50.642] Searching for globals... [18:02:50.642] - globals found: [2] 'list', 'stop' [18:02:50.643] Searching for globals ... DONE [18:02:50.643] Resolving globals: FALSE [18:02:50.643] [18:02:50.643] [18:02:50.644] getGlobalsAndPackages() ... DONE [18:02:50.644] run() for 'Future' ... [18:02:50.644] - state: 'created' [18:02:50.644] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:50.658] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:50.659] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:50.659] - Field: 'node' [18:02:50.659] - Field: 'label' [18:02:50.659] - Field: 'local' [18:02:50.659] - Field: 'owner' [18:02:50.659] - Field: 'envir' [18:02:50.660] - Field: 'workers' [18:02:50.660] - Field: 'packages' [18:02:50.660] - Field: 'gc' [18:02:50.660] - Field: 'conditions' [18:02:50.660] - Field: 'persistent' [18:02:50.661] - Field: 'expr' [18:02:50.661] - Field: 'uuid' [18:02:50.661] - Field: 'seed' [18:02:50.661] - Field: 'version' [18:02:50.661] - Field: 'result' [18:02:50.661] - Field: 'asynchronous' [18:02:50.662] - Field: 'calls' [18:02:50.662] - Field: 'globals' [18:02:50.662] - Field: 'stdout' [18:02:50.662] - Field: 'earlySignal' [18:02:50.662] - Field: 'lazy' [18:02:50.662] - Field: 'state' [18:02:50.663] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:50.663] - Launch lazy future ... [18:02:50.663] Packages needed by the future expression (n = 0): [18:02:50.663] Packages needed by future strategies (n = 0): [18:02:50.664] { [18:02:50.664] { [18:02:50.664] { [18:02:50.664] ...future.startTime <- base::Sys.time() [18:02:50.664] { [18:02:50.664] { [18:02:50.664] { [18:02:50.664] { [18:02:50.664] base::local({ [18:02:50.664] has_future <- base::requireNamespace("future", [18:02:50.664] quietly = TRUE) [18:02:50.664] if (has_future) { [18:02:50.664] ns <- base::getNamespace("future") [18:02:50.664] version <- ns[[".package"]][["version"]] [18:02:50.664] if (is.null(version)) [18:02:50.664] version <- utils::packageVersion("future") [18:02:50.664] } [18:02:50.664] else { [18:02:50.664] version <- NULL [18:02:50.664] } [18:02:50.664] if (!has_future || version < "1.8.0") { [18:02:50.664] info <- base::c(r_version = base::gsub("R version ", [18:02:50.664] "", base::R.version$version.string), [18:02:50.664] platform = base::sprintf("%s (%s-bit)", [18:02:50.664] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:50.664] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:50.664] "release", "version")], collapse = " "), [18:02:50.664] hostname = base::Sys.info()[["nodename"]]) [18:02:50.664] info <- base::sprintf("%s: %s", base::names(info), [18:02:50.664] info) [18:02:50.664] info <- base::paste(info, collapse = "; ") [18:02:50.664] if (!has_future) { [18:02:50.664] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:50.664] info) [18:02:50.664] } [18:02:50.664] else { [18:02:50.664] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:50.664] info, version) [18:02:50.664] } [18:02:50.664] base::stop(msg) [18:02:50.664] } [18:02:50.664] }) [18:02:50.664] } [18:02:50.664] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:50.664] base::options(mc.cores = 1L) [18:02:50.664] } [18:02:50.664] options(future.plan = NULL) [18:02:50.664] Sys.unsetenv("R_FUTURE_PLAN") [18:02:50.664] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:50.664] } [18:02:50.664] ...future.workdir <- getwd() [18:02:50.664] } [18:02:50.664] ...future.oldOptions <- base::as.list(base::.Options) [18:02:50.664] ...future.oldEnvVars <- base::Sys.getenv() [18:02:50.664] } [18:02:50.664] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:50.664] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:50.664] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:50.664] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:50.664] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:50.664] future.stdout.windows.reencode = NULL, width = 80L) [18:02:50.664] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:50.664] base::names(...future.oldOptions)) [18:02:50.664] } [18:02:50.664] if (FALSE) { [18:02:50.664] } [18:02:50.664] else { [18:02:50.664] if (TRUE) { [18:02:50.664] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:50.664] open = "w") [18:02:50.664] } [18:02:50.664] else { [18:02:50.664] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:50.664] windows = "NUL", "/dev/null"), open = "w") [18:02:50.664] } [18:02:50.664] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:50.664] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:50.664] base::sink(type = "output", split = FALSE) [18:02:50.664] base::close(...future.stdout) [18:02:50.664] }, add = TRUE) [18:02:50.664] } [18:02:50.664] ...future.frame <- base::sys.nframe() [18:02:50.664] ...future.conditions <- base::list() [18:02:50.664] ...future.rng <- base::globalenv()$.Random.seed [18:02:50.664] if (FALSE) { [18:02:50.664] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:50.664] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:50.664] } [18:02:50.664] ...future.result <- base::tryCatch({ [18:02:50.664] base::withCallingHandlers({ [18:02:50.664] ...future.value <- base::withVisible(base::local({ [18:02:50.664] ...future.makeSendCondition <- local({ [18:02:50.664] sendCondition <- NULL [18:02:50.664] function(frame = 1L) { [18:02:50.664] if (is.function(sendCondition)) [18:02:50.664] return(sendCondition) [18:02:50.664] ns <- getNamespace("parallel") [18:02:50.664] if (exists("sendData", mode = "function", [18:02:50.664] envir = ns)) { [18:02:50.664] parallel_sendData <- get("sendData", mode = "function", [18:02:50.664] envir = ns) [18:02:50.664] envir <- sys.frame(frame) [18:02:50.664] master <- NULL [18:02:50.664] while (!identical(envir, .GlobalEnv) && [18:02:50.664] !identical(envir, emptyenv())) { [18:02:50.664] if (exists("master", mode = "list", envir = envir, [18:02:50.664] inherits = FALSE)) { [18:02:50.664] master <- get("master", mode = "list", [18:02:50.664] envir = envir, inherits = FALSE) [18:02:50.664] if (inherits(master, c("SOCKnode", [18:02:50.664] "SOCK0node"))) { [18:02:50.664] sendCondition <<- function(cond) { [18:02:50.664] data <- list(type = "VALUE", value = cond, [18:02:50.664] success = TRUE) [18:02:50.664] parallel_sendData(master, data) [18:02:50.664] } [18:02:50.664] return(sendCondition) [18:02:50.664] } [18:02:50.664] } [18:02:50.664] frame <- frame + 1L [18:02:50.664] envir <- sys.frame(frame) [18:02:50.664] } [18:02:50.664] } [18:02:50.664] sendCondition <<- function(cond) NULL [18:02:50.664] } [18:02:50.664] }) [18:02:50.664] withCallingHandlers({ [18:02:50.664] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:50.664] }, immediateCondition = function(cond) { [18:02:50.664] sendCondition <- ...future.makeSendCondition() [18:02:50.664] sendCondition(cond) [18:02:50.664] muffleCondition <- function (cond, pattern = "^muffle") [18:02:50.664] { [18:02:50.664] inherits <- base::inherits [18:02:50.664] invokeRestart <- base::invokeRestart [18:02:50.664] is.null <- base::is.null [18:02:50.664] muffled <- FALSE [18:02:50.664] if (inherits(cond, "message")) { [18:02:50.664] muffled <- grepl(pattern, "muffleMessage") [18:02:50.664] if (muffled) [18:02:50.664] invokeRestart("muffleMessage") [18:02:50.664] } [18:02:50.664] else if (inherits(cond, "warning")) { [18:02:50.664] muffled <- grepl(pattern, "muffleWarning") [18:02:50.664] if (muffled) [18:02:50.664] invokeRestart("muffleWarning") [18:02:50.664] } [18:02:50.664] else if (inherits(cond, "condition")) { [18:02:50.664] if (!is.null(pattern)) { [18:02:50.664] computeRestarts <- base::computeRestarts [18:02:50.664] grepl <- base::grepl [18:02:50.664] restarts <- computeRestarts(cond) [18:02:50.664] for (restart in restarts) { [18:02:50.664] name <- restart$name [18:02:50.664] if (is.null(name)) [18:02:50.664] next [18:02:50.664] if (!grepl(pattern, name)) [18:02:50.664] next [18:02:50.664] invokeRestart(restart) [18:02:50.664] muffled <- TRUE [18:02:50.664] break [18:02:50.664] } [18:02:50.664] } [18:02:50.664] } [18:02:50.664] invisible(muffled) [18:02:50.664] } [18:02:50.664] muffleCondition(cond) [18:02:50.664] }) [18:02:50.664] })) [18:02:50.664] future::FutureResult(value = ...future.value$value, [18:02:50.664] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:50.664] ...future.rng), globalenv = if (FALSE) [18:02:50.664] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:50.664] ...future.globalenv.names)) [18:02:50.664] else NULL, started = ...future.startTime, version = "1.8") [18:02:50.664] }, condition = base::local({ [18:02:50.664] c <- base::c [18:02:50.664] inherits <- base::inherits [18:02:50.664] invokeRestart <- base::invokeRestart [18:02:50.664] length <- base::length [18:02:50.664] list <- base::list [18:02:50.664] seq.int <- base::seq.int [18:02:50.664] signalCondition <- base::signalCondition [18:02:50.664] sys.calls <- base::sys.calls [18:02:50.664] `[[` <- base::`[[` [18:02:50.664] `+` <- base::`+` [18:02:50.664] `<<-` <- base::`<<-` [18:02:50.664] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:50.664] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:50.664] 3L)] [18:02:50.664] } [18:02:50.664] function(cond) { [18:02:50.664] is_error <- inherits(cond, "error") [18:02:50.664] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:50.664] NULL) [18:02:50.664] if (is_error) { [18:02:50.664] sessionInformation <- function() { [18:02:50.664] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:50.664] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:50.664] search = base::search(), system = base::Sys.info()) [18:02:50.664] } [18:02:50.664] ...future.conditions[[length(...future.conditions) + [18:02:50.664] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:50.664] cond$call), session = sessionInformation(), [18:02:50.664] timestamp = base::Sys.time(), signaled = 0L) [18:02:50.664] signalCondition(cond) [18:02:50.664] } [18:02:50.664] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:50.664] "immediateCondition"))) { [18:02:50.664] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:50.664] ...future.conditions[[length(...future.conditions) + [18:02:50.664] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:50.664] if (TRUE && !signal) { [18:02:50.664] muffleCondition <- function (cond, pattern = "^muffle") [18:02:50.664] { [18:02:50.664] inherits <- base::inherits [18:02:50.664] invokeRestart <- base::invokeRestart [18:02:50.664] is.null <- base::is.null [18:02:50.664] muffled <- FALSE [18:02:50.664] if (inherits(cond, "message")) { [18:02:50.664] muffled <- grepl(pattern, "muffleMessage") [18:02:50.664] if (muffled) [18:02:50.664] invokeRestart("muffleMessage") [18:02:50.664] } [18:02:50.664] else if (inherits(cond, "warning")) { [18:02:50.664] muffled <- grepl(pattern, "muffleWarning") [18:02:50.664] if (muffled) [18:02:50.664] invokeRestart("muffleWarning") [18:02:50.664] } [18:02:50.664] else if (inherits(cond, "condition")) { [18:02:50.664] if (!is.null(pattern)) { [18:02:50.664] computeRestarts <- base::computeRestarts [18:02:50.664] grepl <- base::grepl [18:02:50.664] restarts <- computeRestarts(cond) [18:02:50.664] for (restart in restarts) { [18:02:50.664] name <- restart$name [18:02:50.664] if (is.null(name)) [18:02:50.664] next [18:02:50.664] if (!grepl(pattern, name)) [18:02:50.664] next [18:02:50.664] invokeRestart(restart) [18:02:50.664] muffled <- TRUE [18:02:50.664] break [18:02:50.664] } [18:02:50.664] } [18:02:50.664] } [18:02:50.664] invisible(muffled) [18:02:50.664] } [18:02:50.664] muffleCondition(cond, pattern = "^muffle") [18:02:50.664] } [18:02:50.664] } [18:02:50.664] else { [18:02:50.664] if (TRUE) { [18:02:50.664] muffleCondition <- function (cond, pattern = "^muffle") [18:02:50.664] { [18:02:50.664] inherits <- base::inherits [18:02:50.664] invokeRestart <- base::invokeRestart [18:02:50.664] is.null <- base::is.null [18:02:50.664] muffled <- FALSE [18:02:50.664] if (inherits(cond, "message")) { [18:02:50.664] muffled <- grepl(pattern, "muffleMessage") [18:02:50.664] if (muffled) [18:02:50.664] invokeRestart("muffleMessage") [18:02:50.664] } [18:02:50.664] else if (inherits(cond, "warning")) { [18:02:50.664] muffled <- grepl(pattern, "muffleWarning") [18:02:50.664] if (muffled) [18:02:50.664] invokeRestart("muffleWarning") [18:02:50.664] } [18:02:50.664] else if (inherits(cond, "condition")) { [18:02:50.664] if (!is.null(pattern)) { [18:02:50.664] computeRestarts <- base::computeRestarts [18:02:50.664] grepl <- base::grepl [18:02:50.664] restarts <- computeRestarts(cond) [18:02:50.664] for (restart in restarts) { [18:02:50.664] name <- restart$name [18:02:50.664] if (is.null(name)) [18:02:50.664] next [18:02:50.664] if (!grepl(pattern, name)) [18:02:50.664] next [18:02:50.664] invokeRestart(restart) [18:02:50.664] muffled <- TRUE [18:02:50.664] break [18:02:50.664] } [18:02:50.664] } [18:02:50.664] } [18:02:50.664] invisible(muffled) [18:02:50.664] } [18:02:50.664] muffleCondition(cond, pattern = "^muffle") [18:02:50.664] } [18:02:50.664] } [18:02:50.664] } [18:02:50.664] })) [18:02:50.664] }, error = function(ex) { [18:02:50.664] base::structure(base::list(value = NULL, visible = NULL, [18:02:50.664] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:50.664] ...future.rng), started = ...future.startTime, [18:02:50.664] finished = Sys.time(), session_uuid = NA_character_, [18:02:50.664] version = "1.8"), class = "FutureResult") [18:02:50.664] }, finally = { [18:02:50.664] if (!identical(...future.workdir, getwd())) [18:02:50.664] setwd(...future.workdir) [18:02:50.664] { [18:02:50.664] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:50.664] ...future.oldOptions$nwarnings <- NULL [18:02:50.664] } [18:02:50.664] base::options(...future.oldOptions) [18:02:50.664] if (.Platform$OS.type == "windows") { [18:02:50.664] old_names <- names(...future.oldEnvVars) [18:02:50.664] envs <- base::Sys.getenv() [18:02:50.664] names <- names(envs) [18:02:50.664] common <- intersect(names, old_names) [18:02:50.664] added <- setdiff(names, old_names) [18:02:50.664] removed <- setdiff(old_names, names) [18:02:50.664] changed <- common[...future.oldEnvVars[common] != [18:02:50.664] envs[common]] [18:02:50.664] NAMES <- toupper(changed) [18:02:50.664] args <- list() [18:02:50.664] for (kk in seq_along(NAMES)) { [18:02:50.664] name <- changed[[kk]] [18:02:50.664] NAME <- NAMES[[kk]] [18:02:50.664] if (name != NAME && is.element(NAME, old_names)) [18:02:50.664] next [18:02:50.664] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:50.664] } [18:02:50.664] NAMES <- toupper(added) [18:02:50.664] for (kk in seq_along(NAMES)) { [18:02:50.664] name <- added[[kk]] [18:02:50.664] NAME <- NAMES[[kk]] [18:02:50.664] if (name != NAME && is.element(NAME, old_names)) [18:02:50.664] next [18:02:50.664] args[[name]] <- "" [18:02:50.664] } [18:02:50.664] NAMES <- toupper(removed) [18:02:50.664] for (kk in seq_along(NAMES)) { [18:02:50.664] name <- removed[[kk]] [18:02:50.664] NAME <- NAMES[[kk]] [18:02:50.664] if (name != NAME && is.element(NAME, old_names)) [18:02:50.664] next [18:02:50.664] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:50.664] } [18:02:50.664] if (length(args) > 0) [18:02:50.664] base::do.call(base::Sys.setenv, args = args) [18:02:50.664] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:50.664] } [18:02:50.664] else { [18:02:50.664] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:50.664] } [18:02:50.664] { [18:02:50.664] if (base::length(...future.futureOptionsAdded) > [18:02:50.664] 0L) { [18:02:50.664] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:50.664] base::names(opts) <- ...future.futureOptionsAdded [18:02:50.664] base::options(opts) [18:02:50.664] } [18:02:50.664] { [18:02:50.664] { [18:02:50.664] base::options(mc.cores = ...future.mc.cores.old) [18:02:50.664] NULL [18:02:50.664] } [18:02:50.664] options(future.plan = NULL) [18:02:50.664] if (is.na(NA_character_)) [18:02:50.664] Sys.unsetenv("R_FUTURE_PLAN") [18:02:50.664] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:50.664] future::plan(list(function (..., workers = availableCores(), [18:02:50.664] lazy = FALSE, rscript_libs = .libPaths(), [18:02:50.664] envir = parent.frame()) [18:02:50.664] { [18:02:50.664] if (is.function(workers)) [18:02:50.664] workers <- workers() [18:02:50.664] workers <- structure(as.integer(workers), [18:02:50.664] class = class(workers)) [18:02:50.664] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:50.664] workers >= 1) [18:02:50.664] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:50.664] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:50.664] } [18:02:50.664] future <- MultisessionFuture(..., workers = workers, [18:02:50.664] lazy = lazy, rscript_libs = rscript_libs, [18:02:50.664] envir = envir) [18:02:50.664] if (!future$lazy) [18:02:50.664] future <- run(future) [18:02:50.664] invisible(future) [18:02:50.664] }), .cleanup = FALSE, .init = FALSE) [18:02:50.664] } [18:02:50.664] } [18:02:50.664] } [18:02:50.664] }) [18:02:50.664] if (TRUE) { [18:02:50.664] base::sink(type = "output", split = FALSE) [18:02:50.664] if (TRUE) { [18:02:50.664] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:50.664] } [18:02:50.664] else { [18:02:50.664] ...future.result["stdout"] <- base::list(NULL) [18:02:50.664] } [18:02:50.664] base::close(...future.stdout) [18:02:50.664] ...future.stdout <- NULL [18:02:50.664] } [18:02:50.664] ...future.result$conditions <- ...future.conditions [18:02:50.664] ...future.result$finished <- base::Sys.time() [18:02:50.664] ...future.result [18:02:50.664] } [18:02:50.670] MultisessionFuture started [18:02:50.670] - Launch lazy future ... done [18:02:50.670] run() for 'MultisessionFuture' ... done [18:02:50.687] receiveMessageFromWorker() for ClusterFuture ... [18:02:50.687] - Validating connection of MultisessionFuture [18:02:50.687] - received message: FutureResult [18:02:50.687] - Received FutureResult [18:02:50.688] - Erased future from FutureRegistry [18:02:50.688] result() for ClusterFuture ... [18:02:50.688] - result already collected: FutureResult [18:02:50.688] result() for ClusterFuture ... done [18:02:50.688] signalConditions() ... [18:02:50.688] - include = 'immediateCondition' [18:02:50.689] - exclude = [18:02:50.689] - resignal = FALSE [18:02:50.689] - Number of conditions: 1 [18:02:50.689] signalConditions() ... done [18:02:50.689] receiveMessageFromWorker() for ClusterFuture ... done [18:02:50.689] A MultisessionFuture was resolved (result was not collected) [18:02:50.690] getGlobalsAndPackages() ... [18:02:50.690] Searching for globals... [18:02:50.691] - globals found: [2] 'list', 'stop' [18:02:50.691] Searching for globals ... DONE [18:02:50.691] Resolving globals: FALSE [18:02:50.691] [18:02:50.692] [18:02:50.692] getGlobalsAndPackages() ... DONE [18:02:50.692] run() for 'Future' ... [18:02:50.692] - state: 'created' [18:02:50.692] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:50.707] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:50.707] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:50.707] - Field: 'node' [18:02:50.707] - Field: 'label' [18:02:50.707] - Field: 'local' [18:02:50.707] - Field: 'owner' [18:02:50.708] - Field: 'envir' [18:02:50.708] - Field: 'workers' [18:02:50.708] - Field: 'packages' [18:02:50.708] - Field: 'gc' [18:02:50.708] - Field: 'conditions' [18:02:50.709] - Field: 'persistent' [18:02:50.709] - Field: 'expr' [18:02:50.709] - Field: 'uuid' [18:02:50.709] - Field: 'seed' [18:02:50.709] - Field: 'version' [18:02:50.709] - Field: 'result' [18:02:50.710] - Field: 'asynchronous' [18:02:50.710] - Field: 'calls' [18:02:50.710] - Field: 'globals' [18:02:50.710] - Field: 'stdout' [18:02:50.710] - Field: 'earlySignal' [18:02:50.711] - Field: 'lazy' [18:02:50.711] - Field: 'state' [18:02:50.711] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:50.711] - Launch lazy future ... [18:02:50.711] Packages needed by the future expression (n = 0): [18:02:50.712] Packages needed by future strategies (n = 0): [18:02:50.712] { [18:02:50.712] { [18:02:50.712] { [18:02:50.712] ...future.startTime <- base::Sys.time() [18:02:50.712] { [18:02:50.712] { [18:02:50.712] { [18:02:50.712] { [18:02:50.712] base::local({ [18:02:50.712] has_future <- base::requireNamespace("future", [18:02:50.712] quietly = TRUE) [18:02:50.712] if (has_future) { [18:02:50.712] ns <- base::getNamespace("future") [18:02:50.712] version <- ns[[".package"]][["version"]] [18:02:50.712] if (is.null(version)) [18:02:50.712] version <- utils::packageVersion("future") [18:02:50.712] } [18:02:50.712] else { [18:02:50.712] version <- NULL [18:02:50.712] } [18:02:50.712] if (!has_future || version < "1.8.0") { [18:02:50.712] info <- base::c(r_version = base::gsub("R version ", [18:02:50.712] "", base::R.version$version.string), [18:02:50.712] platform = base::sprintf("%s (%s-bit)", [18:02:50.712] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:50.712] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:50.712] "release", "version")], collapse = " "), [18:02:50.712] hostname = base::Sys.info()[["nodename"]]) [18:02:50.712] info <- base::sprintf("%s: %s", base::names(info), [18:02:50.712] info) [18:02:50.712] info <- base::paste(info, collapse = "; ") [18:02:50.712] if (!has_future) { [18:02:50.712] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:50.712] info) [18:02:50.712] } [18:02:50.712] else { [18:02:50.712] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:50.712] info, version) [18:02:50.712] } [18:02:50.712] base::stop(msg) [18:02:50.712] } [18:02:50.712] }) [18:02:50.712] } [18:02:50.712] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:50.712] base::options(mc.cores = 1L) [18:02:50.712] } [18:02:50.712] options(future.plan = NULL) [18:02:50.712] Sys.unsetenv("R_FUTURE_PLAN") [18:02:50.712] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:50.712] } [18:02:50.712] ...future.workdir <- getwd() [18:02:50.712] } [18:02:50.712] ...future.oldOptions <- base::as.list(base::.Options) [18:02:50.712] ...future.oldEnvVars <- base::Sys.getenv() [18:02:50.712] } [18:02:50.712] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:50.712] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:50.712] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:50.712] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:50.712] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:50.712] future.stdout.windows.reencode = NULL, width = 80L) [18:02:50.712] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:50.712] base::names(...future.oldOptions)) [18:02:50.712] } [18:02:50.712] if (FALSE) { [18:02:50.712] } [18:02:50.712] else { [18:02:50.712] if (TRUE) { [18:02:50.712] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:50.712] open = "w") [18:02:50.712] } [18:02:50.712] else { [18:02:50.712] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:50.712] windows = "NUL", "/dev/null"), open = "w") [18:02:50.712] } [18:02:50.712] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:50.712] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:50.712] base::sink(type = "output", split = FALSE) [18:02:50.712] base::close(...future.stdout) [18:02:50.712] }, add = TRUE) [18:02:50.712] } [18:02:50.712] ...future.frame <- base::sys.nframe() [18:02:50.712] ...future.conditions <- base::list() [18:02:50.712] ...future.rng <- base::globalenv()$.Random.seed [18:02:50.712] if (FALSE) { [18:02:50.712] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:50.712] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:50.712] } [18:02:50.712] ...future.result <- base::tryCatch({ [18:02:50.712] base::withCallingHandlers({ [18:02:50.712] ...future.value <- base::withVisible(base::local({ [18:02:50.712] ...future.makeSendCondition <- local({ [18:02:50.712] sendCondition <- NULL [18:02:50.712] function(frame = 1L) { [18:02:50.712] if (is.function(sendCondition)) [18:02:50.712] return(sendCondition) [18:02:50.712] ns <- getNamespace("parallel") [18:02:50.712] if (exists("sendData", mode = "function", [18:02:50.712] envir = ns)) { [18:02:50.712] parallel_sendData <- get("sendData", mode = "function", [18:02:50.712] envir = ns) [18:02:50.712] envir <- sys.frame(frame) [18:02:50.712] master <- NULL [18:02:50.712] while (!identical(envir, .GlobalEnv) && [18:02:50.712] !identical(envir, emptyenv())) { [18:02:50.712] if (exists("master", mode = "list", envir = envir, [18:02:50.712] inherits = FALSE)) { [18:02:50.712] master <- get("master", mode = "list", [18:02:50.712] envir = envir, inherits = FALSE) [18:02:50.712] if (inherits(master, c("SOCKnode", [18:02:50.712] "SOCK0node"))) { [18:02:50.712] sendCondition <<- function(cond) { [18:02:50.712] data <- list(type = "VALUE", value = cond, [18:02:50.712] success = TRUE) [18:02:50.712] parallel_sendData(master, data) [18:02:50.712] } [18:02:50.712] return(sendCondition) [18:02:50.712] } [18:02:50.712] } [18:02:50.712] frame <- frame + 1L [18:02:50.712] envir <- sys.frame(frame) [18:02:50.712] } [18:02:50.712] } [18:02:50.712] sendCondition <<- function(cond) NULL [18:02:50.712] } [18:02:50.712] }) [18:02:50.712] withCallingHandlers({ [18:02:50.712] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:50.712] }, immediateCondition = function(cond) { [18:02:50.712] sendCondition <- ...future.makeSendCondition() [18:02:50.712] sendCondition(cond) [18:02:50.712] muffleCondition <- function (cond, pattern = "^muffle") [18:02:50.712] { [18:02:50.712] inherits <- base::inherits [18:02:50.712] invokeRestart <- base::invokeRestart [18:02:50.712] is.null <- base::is.null [18:02:50.712] muffled <- FALSE [18:02:50.712] if (inherits(cond, "message")) { [18:02:50.712] muffled <- grepl(pattern, "muffleMessage") [18:02:50.712] if (muffled) [18:02:50.712] invokeRestart("muffleMessage") [18:02:50.712] } [18:02:50.712] else if (inherits(cond, "warning")) { [18:02:50.712] muffled <- grepl(pattern, "muffleWarning") [18:02:50.712] if (muffled) [18:02:50.712] invokeRestart("muffleWarning") [18:02:50.712] } [18:02:50.712] else if (inherits(cond, "condition")) { [18:02:50.712] if (!is.null(pattern)) { [18:02:50.712] computeRestarts <- base::computeRestarts [18:02:50.712] grepl <- base::grepl [18:02:50.712] restarts <- computeRestarts(cond) [18:02:50.712] for (restart in restarts) { [18:02:50.712] name <- restart$name [18:02:50.712] if (is.null(name)) [18:02:50.712] next [18:02:50.712] if (!grepl(pattern, name)) [18:02:50.712] next [18:02:50.712] invokeRestart(restart) [18:02:50.712] muffled <- TRUE [18:02:50.712] break [18:02:50.712] } [18:02:50.712] } [18:02:50.712] } [18:02:50.712] invisible(muffled) [18:02:50.712] } [18:02:50.712] muffleCondition(cond) [18:02:50.712] }) [18:02:50.712] })) [18:02:50.712] future::FutureResult(value = ...future.value$value, [18:02:50.712] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:50.712] ...future.rng), globalenv = if (FALSE) [18:02:50.712] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:50.712] ...future.globalenv.names)) [18:02:50.712] else NULL, started = ...future.startTime, version = "1.8") [18:02:50.712] }, condition = base::local({ [18:02:50.712] c <- base::c [18:02:50.712] inherits <- base::inherits [18:02:50.712] invokeRestart <- base::invokeRestart [18:02:50.712] length <- base::length [18:02:50.712] list <- base::list [18:02:50.712] seq.int <- base::seq.int [18:02:50.712] signalCondition <- base::signalCondition [18:02:50.712] sys.calls <- base::sys.calls [18:02:50.712] `[[` <- base::`[[` [18:02:50.712] `+` <- base::`+` [18:02:50.712] `<<-` <- base::`<<-` [18:02:50.712] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:50.712] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:50.712] 3L)] [18:02:50.712] } [18:02:50.712] function(cond) { [18:02:50.712] is_error <- inherits(cond, "error") [18:02:50.712] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:50.712] NULL) [18:02:50.712] if (is_error) { [18:02:50.712] sessionInformation <- function() { [18:02:50.712] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:50.712] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:50.712] search = base::search(), system = base::Sys.info()) [18:02:50.712] } [18:02:50.712] ...future.conditions[[length(...future.conditions) + [18:02:50.712] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:50.712] cond$call), session = sessionInformation(), [18:02:50.712] timestamp = base::Sys.time(), signaled = 0L) [18:02:50.712] signalCondition(cond) [18:02:50.712] } [18:02:50.712] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:50.712] "immediateCondition"))) { [18:02:50.712] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:50.712] ...future.conditions[[length(...future.conditions) + [18:02:50.712] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:50.712] if (TRUE && !signal) { [18:02:50.712] muffleCondition <- function (cond, pattern = "^muffle") [18:02:50.712] { [18:02:50.712] inherits <- base::inherits [18:02:50.712] invokeRestart <- base::invokeRestart [18:02:50.712] is.null <- base::is.null [18:02:50.712] muffled <- FALSE [18:02:50.712] if (inherits(cond, "message")) { [18:02:50.712] muffled <- grepl(pattern, "muffleMessage") [18:02:50.712] if (muffled) [18:02:50.712] invokeRestart("muffleMessage") [18:02:50.712] } [18:02:50.712] else if (inherits(cond, "warning")) { [18:02:50.712] muffled <- grepl(pattern, "muffleWarning") [18:02:50.712] if (muffled) [18:02:50.712] invokeRestart("muffleWarning") [18:02:50.712] } [18:02:50.712] else if (inherits(cond, "condition")) { [18:02:50.712] if (!is.null(pattern)) { [18:02:50.712] computeRestarts <- base::computeRestarts [18:02:50.712] grepl <- base::grepl [18:02:50.712] restarts <- computeRestarts(cond) [18:02:50.712] for (restart in restarts) { [18:02:50.712] name <- restart$name [18:02:50.712] if (is.null(name)) [18:02:50.712] next [18:02:50.712] if (!grepl(pattern, name)) [18:02:50.712] next [18:02:50.712] invokeRestart(restart) [18:02:50.712] muffled <- TRUE [18:02:50.712] break [18:02:50.712] } [18:02:50.712] } [18:02:50.712] } [18:02:50.712] invisible(muffled) [18:02:50.712] } [18:02:50.712] muffleCondition(cond, pattern = "^muffle") [18:02:50.712] } [18:02:50.712] } [18:02:50.712] else { [18:02:50.712] if (TRUE) { [18:02:50.712] muffleCondition <- function (cond, pattern = "^muffle") [18:02:50.712] { [18:02:50.712] inherits <- base::inherits [18:02:50.712] invokeRestart <- base::invokeRestart [18:02:50.712] is.null <- base::is.null [18:02:50.712] muffled <- FALSE [18:02:50.712] if (inherits(cond, "message")) { [18:02:50.712] muffled <- grepl(pattern, "muffleMessage") [18:02:50.712] if (muffled) [18:02:50.712] invokeRestart("muffleMessage") [18:02:50.712] } [18:02:50.712] else if (inherits(cond, "warning")) { [18:02:50.712] muffled <- grepl(pattern, "muffleWarning") [18:02:50.712] if (muffled) [18:02:50.712] invokeRestart("muffleWarning") [18:02:50.712] } [18:02:50.712] else if (inherits(cond, "condition")) { [18:02:50.712] if (!is.null(pattern)) { [18:02:50.712] computeRestarts <- base::computeRestarts [18:02:50.712] grepl <- base::grepl [18:02:50.712] restarts <- computeRestarts(cond) [18:02:50.712] for (restart in restarts) { [18:02:50.712] name <- restart$name [18:02:50.712] if (is.null(name)) [18:02:50.712] next [18:02:50.712] if (!grepl(pattern, name)) [18:02:50.712] next [18:02:50.712] invokeRestart(restart) [18:02:50.712] muffled <- TRUE [18:02:50.712] break [18:02:50.712] } [18:02:50.712] } [18:02:50.712] } [18:02:50.712] invisible(muffled) [18:02:50.712] } [18:02:50.712] muffleCondition(cond, pattern = "^muffle") [18:02:50.712] } [18:02:50.712] } [18:02:50.712] } [18:02:50.712] })) [18:02:50.712] }, error = function(ex) { [18:02:50.712] base::structure(base::list(value = NULL, visible = NULL, [18:02:50.712] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:50.712] ...future.rng), started = ...future.startTime, [18:02:50.712] finished = Sys.time(), session_uuid = NA_character_, [18:02:50.712] version = "1.8"), class = "FutureResult") [18:02:50.712] }, finally = { [18:02:50.712] if (!identical(...future.workdir, getwd())) [18:02:50.712] setwd(...future.workdir) [18:02:50.712] { [18:02:50.712] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:50.712] ...future.oldOptions$nwarnings <- NULL [18:02:50.712] } [18:02:50.712] base::options(...future.oldOptions) [18:02:50.712] if (.Platform$OS.type == "windows") { [18:02:50.712] old_names <- names(...future.oldEnvVars) [18:02:50.712] envs <- base::Sys.getenv() [18:02:50.712] names <- names(envs) [18:02:50.712] common <- intersect(names, old_names) [18:02:50.712] added <- setdiff(names, old_names) [18:02:50.712] removed <- setdiff(old_names, names) [18:02:50.712] changed <- common[...future.oldEnvVars[common] != [18:02:50.712] envs[common]] [18:02:50.712] NAMES <- toupper(changed) [18:02:50.712] args <- list() [18:02:50.712] for (kk in seq_along(NAMES)) { [18:02:50.712] name <- changed[[kk]] [18:02:50.712] NAME <- NAMES[[kk]] [18:02:50.712] if (name != NAME && is.element(NAME, old_names)) [18:02:50.712] next [18:02:50.712] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:50.712] } [18:02:50.712] NAMES <- toupper(added) [18:02:50.712] for (kk in seq_along(NAMES)) { [18:02:50.712] name <- added[[kk]] [18:02:50.712] NAME <- NAMES[[kk]] [18:02:50.712] if (name != NAME && is.element(NAME, old_names)) [18:02:50.712] next [18:02:50.712] args[[name]] <- "" [18:02:50.712] } [18:02:50.712] NAMES <- toupper(removed) [18:02:50.712] for (kk in seq_along(NAMES)) { [18:02:50.712] name <- removed[[kk]] [18:02:50.712] NAME <- NAMES[[kk]] [18:02:50.712] if (name != NAME && is.element(NAME, old_names)) [18:02:50.712] next [18:02:50.712] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:50.712] } [18:02:50.712] if (length(args) > 0) [18:02:50.712] base::do.call(base::Sys.setenv, args = args) [18:02:50.712] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:50.712] } [18:02:50.712] else { [18:02:50.712] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:50.712] } [18:02:50.712] { [18:02:50.712] if (base::length(...future.futureOptionsAdded) > [18:02:50.712] 0L) { [18:02:50.712] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:50.712] base::names(opts) <- ...future.futureOptionsAdded [18:02:50.712] base::options(opts) [18:02:50.712] } [18:02:50.712] { [18:02:50.712] { [18:02:50.712] base::options(mc.cores = ...future.mc.cores.old) [18:02:50.712] NULL [18:02:50.712] } [18:02:50.712] options(future.plan = NULL) [18:02:50.712] if (is.na(NA_character_)) [18:02:50.712] Sys.unsetenv("R_FUTURE_PLAN") [18:02:50.712] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:50.712] future::plan(list(function (..., workers = availableCores(), [18:02:50.712] lazy = FALSE, rscript_libs = .libPaths(), [18:02:50.712] envir = parent.frame()) [18:02:50.712] { [18:02:50.712] if (is.function(workers)) [18:02:50.712] workers <- workers() [18:02:50.712] workers <- structure(as.integer(workers), [18:02:50.712] class = class(workers)) [18:02:50.712] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:50.712] workers >= 1) [18:02:50.712] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:50.712] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:50.712] } [18:02:50.712] future <- MultisessionFuture(..., workers = workers, [18:02:50.712] lazy = lazy, rscript_libs = rscript_libs, [18:02:50.712] envir = envir) [18:02:50.712] if (!future$lazy) [18:02:50.712] future <- run(future) [18:02:50.712] invisible(future) [18:02:50.712] }), .cleanup = FALSE, .init = FALSE) [18:02:50.712] } [18:02:50.712] } [18:02:50.712] } [18:02:50.712] }) [18:02:50.712] if (TRUE) { [18:02:50.712] base::sink(type = "output", split = FALSE) [18:02:50.712] if (TRUE) { [18:02:50.712] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:50.712] } [18:02:50.712] else { [18:02:50.712] ...future.result["stdout"] <- base::list(NULL) [18:02:50.712] } [18:02:50.712] base::close(...future.stdout) [18:02:50.712] ...future.stdout <- NULL [18:02:50.712] } [18:02:50.712] ...future.result$conditions <- ...future.conditions [18:02:50.712] ...future.result$finished <- base::Sys.time() [18:02:50.712] ...future.result [18:02:50.712] } [18:02:50.718] MultisessionFuture started [18:02:50.718] - Launch lazy future ... done [18:02:50.718] run() for 'MultisessionFuture' ... done [18:02:50.736] receiveMessageFromWorker() for ClusterFuture ... [18:02:50.736] - Validating connection of MultisessionFuture [18:02:50.736] - received message: FutureResult [18:02:50.737] - Received FutureResult [18:02:50.737] - Erased future from FutureRegistry [18:02:50.737] result() for ClusterFuture ... [18:02:50.737] - result already collected: FutureResult [18:02:50.737] result() for ClusterFuture ... done [18:02:50.738] signalConditions() ... [18:02:50.738] - include = 'immediateCondition' [18:02:50.738] - exclude = [18:02:50.738] - resignal = FALSE [18:02:50.738] - Number of conditions: 1 [18:02:50.738] signalConditions() ... done [18:02:50.739] receiveMessageFromWorker() for ClusterFuture ... done [18:02:50.739] A MultisessionFuture was resolved (result was not collected) - result = FALSE, recursive = 1 ... DONE - result = FALSE, recursive = 2 ... [18:02:50.739] getGlobalsAndPackages() ... [18:02:50.739] Searching for globals... [18:02:50.741] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:50.741] Searching for globals ... DONE [18:02:50.741] Resolving globals: FALSE [18:02:50.741] [18:02:50.742] [18:02:50.742] getGlobalsAndPackages() ... DONE [18:02:50.742] run() for 'Future' ... [18:02:50.742] - state: 'created' [18:02:50.742] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:50.756] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:50.756] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:50.756] - Field: 'node' [18:02:50.756] - Field: 'label' [18:02:50.757] - Field: 'local' [18:02:50.757] - Field: 'owner' [18:02:50.757] - Field: 'envir' [18:02:50.757] - Field: 'workers' [18:02:50.757] - Field: 'packages' [18:02:50.758] - Field: 'gc' [18:02:50.758] - Field: 'conditions' [18:02:50.758] - Field: 'persistent' [18:02:50.758] - Field: 'expr' [18:02:50.758] - Field: 'uuid' [18:02:50.758] - Field: 'seed' [18:02:50.759] - Field: 'version' [18:02:50.759] - Field: 'result' [18:02:50.759] - Field: 'asynchronous' [18:02:50.759] - Field: 'calls' [18:02:50.759] - Field: 'globals' [18:02:50.759] - Field: 'stdout' [18:02:50.760] - Field: 'earlySignal' [18:02:50.760] - Field: 'lazy' [18:02:50.760] - Field: 'state' [18:02:50.760] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:50.760] - Launch lazy future ... [18:02:50.761] Packages needed by the future expression (n = 0): [18:02:50.761] Packages needed by future strategies (n = 0): [18:02:50.761] { [18:02:50.761] { [18:02:50.761] { [18:02:50.761] ...future.startTime <- base::Sys.time() [18:02:50.761] { [18:02:50.761] { [18:02:50.761] { [18:02:50.761] { [18:02:50.761] base::local({ [18:02:50.761] has_future <- base::requireNamespace("future", [18:02:50.761] quietly = TRUE) [18:02:50.761] if (has_future) { [18:02:50.761] ns <- base::getNamespace("future") [18:02:50.761] version <- ns[[".package"]][["version"]] [18:02:50.761] if (is.null(version)) [18:02:50.761] version <- utils::packageVersion("future") [18:02:50.761] } [18:02:50.761] else { [18:02:50.761] version <- NULL [18:02:50.761] } [18:02:50.761] if (!has_future || version < "1.8.0") { [18:02:50.761] info <- base::c(r_version = base::gsub("R version ", [18:02:50.761] "", base::R.version$version.string), [18:02:50.761] platform = base::sprintf("%s (%s-bit)", [18:02:50.761] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:50.761] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:50.761] "release", "version")], collapse = " "), [18:02:50.761] hostname = base::Sys.info()[["nodename"]]) [18:02:50.761] info <- base::sprintf("%s: %s", base::names(info), [18:02:50.761] info) [18:02:50.761] info <- base::paste(info, collapse = "; ") [18:02:50.761] if (!has_future) { [18:02:50.761] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:50.761] info) [18:02:50.761] } [18:02:50.761] else { [18:02:50.761] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:50.761] info, version) [18:02:50.761] } [18:02:50.761] base::stop(msg) [18:02:50.761] } [18:02:50.761] }) [18:02:50.761] } [18:02:50.761] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:50.761] base::options(mc.cores = 1L) [18:02:50.761] } [18:02:50.761] options(future.plan = NULL) [18:02:50.761] Sys.unsetenv("R_FUTURE_PLAN") [18:02:50.761] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:50.761] } [18:02:50.761] ...future.workdir <- getwd() [18:02:50.761] } [18:02:50.761] ...future.oldOptions <- base::as.list(base::.Options) [18:02:50.761] ...future.oldEnvVars <- base::Sys.getenv() [18:02:50.761] } [18:02:50.761] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:50.761] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:50.761] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:50.761] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:50.761] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:50.761] future.stdout.windows.reencode = NULL, width = 80L) [18:02:50.761] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:50.761] base::names(...future.oldOptions)) [18:02:50.761] } [18:02:50.761] if (FALSE) { [18:02:50.761] } [18:02:50.761] else { [18:02:50.761] if (TRUE) { [18:02:50.761] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:50.761] open = "w") [18:02:50.761] } [18:02:50.761] else { [18:02:50.761] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:50.761] windows = "NUL", "/dev/null"), open = "w") [18:02:50.761] } [18:02:50.761] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:50.761] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:50.761] base::sink(type = "output", split = FALSE) [18:02:50.761] base::close(...future.stdout) [18:02:50.761] }, add = TRUE) [18:02:50.761] } [18:02:50.761] ...future.frame <- base::sys.nframe() [18:02:50.761] ...future.conditions <- base::list() [18:02:50.761] ...future.rng <- base::globalenv()$.Random.seed [18:02:50.761] if (FALSE) { [18:02:50.761] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:50.761] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:50.761] } [18:02:50.761] ...future.result <- base::tryCatch({ [18:02:50.761] base::withCallingHandlers({ [18:02:50.761] ...future.value <- base::withVisible(base::local({ [18:02:50.761] ...future.makeSendCondition <- local({ [18:02:50.761] sendCondition <- NULL [18:02:50.761] function(frame = 1L) { [18:02:50.761] if (is.function(sendCondition)) [18:02:50.761] return(sendCondition) [18:02:50.761] ns <- getNamespace("parallel") [18:02:50.761] if (exists("sendData", mode = "function", [18:02:50.761] envir = ns)) { [18:02:50.761] parallel_sendData <- get("sendData", mode = "function", [18:02:50.761] envir = ns) [18:02:50.761] envir <- sys.frame(frame) [18:02:50.761] master <- NULL [18:02:50.761] while (!identical(envir, .GlobalEnv) && [18:02:50.761] !identical(envir, emptyenv())) { [18:02:50.761] if (exists("master", mode = "list", envir = envir, [18:02:50.761] inherits = FALSE)) { [18:02:50.761] master <- get("master", mode = "list", [18:02:50.761] envir = envir, inherits = FALSE) [18:02:50.761] if (inherits(master, c("SOCKnode", [18:02:50.761] "SOCK0node"))) { [18:02:50.761] sendCondition <<- function(cond) { [18:02:50.761] data <- list(type = "VALUE", value = cond, [18:02:50.761] success = TRUE) [18:02:50.761] parallel_sendData(master, data) [18:02:50.761] } [18:02:50.761] return(sendCondition) [18:02:50.761] } [18:02:50.761] } [18:02:50.761] frame <- frame + 1L [18:02:50.761] envir <- sys.frame(frame) [18:02:50.761] } [18:02:50.761] } [18:02:50.761] sendCondition <<- function(cond) NULL [18:02:50.761] } [18:02:50.761] }) [18:02:50.761] withCallingHandlers({ [18:02:50.761] { [18:02:50.761] Sys.sleep(0.5) [18:02:50.761] list(a = 1, b = 42L) [18:02:50.761] } [18:02:50.761] }, immediateCondition = function(cond) { [18:02:50.761] sendCondition <- ...future.makeSendCondition() [18:02:50.761] sendCondition(cond) [18:02:50.761] muffleCondition <- function (cond, pattern = "^muffle") [18:02:50.761] { [18:02:50.761] inherits <- base::inherits [18:02:50.761] invokeRestart <- base::invokeRestart [18:02:50.761] is.null <- base::is.null [18:02:50.761] muffled <- FALSE [18:02:50.761] if (inherits(cond, "message")) { [18:02:50.761] muffled <- grepl(pattern, "muffleMessage") [18:02:50.761] if (muffled) [18:02:50.761] invokeRestart("muffleMessage") [18:02:50.761] } [18:02:50.761] else if (inherits(cond, "warning")) { [18:02:50.761] muffled <- grepl(pattern, "muffleWarning") [18:02:50.761] if (muffled) [18:02:50.761] invokeRestart("muffleWarning") [18:02:50.761] } [18:02:50.761] else if (inherits(cond, "condition")) { [18:02:50.761] if (!is.null(pattern)) { [18:02:50.761] computeRestarts <- base::computeRestarts [18:02:50.761] grepl <- base::grepl [18:02:50.761] restarts <- computeRestarts(cond) [18:02:50.761] for (restart in restarts) { [18:02:50.761] name <- restart$name [18:02:50.761] if (is.null(name)) [18:02:50.761] next [18:02:50.761] if (!grepl(pattern, name)) [18:02:50.761] next [18:02:50.761] invokeRestart(restart) [18:02:50.761] muffled <- TRUE [18:02:50.761] break [18:02:50.761] } [18:02:50.761] } [18:02:50.761] } [18:02:50.761] invisible(muffled) [18:02:50.761] } [18:02:50.761] muffleCondition(cond) [18:02:50.761] }) [18:02:50.761] })) [18:02:50.761] future::FutureResult(value = ...future.value$value, [18:02:50.761] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:50.761] ...future.rng), globalenv = if (FALSE) [18:02:50.761] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:50.761] ...future.globalenv.names)) [18:02:50.761] else NULL, started = ...future.startTime, version = "1.8") [18:02:50.761] }, condition = base::local({ [18:02:50.761] c <- base::c [18:02:50.761] inherits <- base::inherits [18:02:50.761] invokeRestart <- base::invokeRestart [18:02:50.761] length <- base::length [18:02:50.761] list <- base::list [18:02:50.761] seq.int <- base::seq.int [18:02:50.761] signalCondition <- base::signalCondition [18:02:50.761] sys.calls <- base::sys.calls [18:02:50.761] `[[` <- base::`[[` [18:02:50.761] `+` <- base::`+` [18:02:50.761] `<<-` <- base::`<<-` [18:02:50.761] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:50.761] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:50.761] 3L)] [18:02:50.761] } [18:02:50.761] function(cond) { [18:02:50.761] is_error <- inherits(cond, "error") [18:02:50.761] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:50.761] NULL) [18:02:50.761] if (is_error) { [18:02:50.761] sessionInformation <- function() { [18:02:50.761] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:50.761] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:50.761] search = base::search(), system = base::Sys.info()) [18:02:50.761] } [18:02:50.761] ...future.conditions[[length(...future.conditions) + [18:02:50.761] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:50.761] cond$call), session = sessionInformation(), [18:02:50.761] timestamp = base::Sys.time(), signaled = 0L) [18:02:50.761] signalCondition(cond) [18:02:50.761] } [18:02:50.761] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:50.761] "immediateCondition"))) { [18:02:50.761] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:50.761] ...future.conditions[[length(...future.conditions) + [18:02:50.761] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:50.761] if (TRUE && !signal) { [18:02:50.761] muffleCondition <- function (cond, pattern = "^muffle") [18:02:50.761] { [18:02:50.761] inherits <- base::inherits [18:02:50.761] invokeRestart <- base::invokeRestart [18:02:50.761] is.null <- base::is.null [18:02:50.761] muffled <- FALSE [18:02:50.761] if (inherits(cond, "message")) { [18:02:50.761] muffled <- grepl(pattern, "muffleMessage") [18:02:50.761] if (muffled) [18:02:50.761] invokeRestart("muffleMessage") [18:02:50.761] } [18:02:50.761] else if (inherits(cond, "warning")) { [18:02:50.761] muffled <- grepl(pattern, "muffleWarning") [18:02:50.761] if (muffled) [18:02:50.761] invokeRestart("muffleWarning") [18:02:50.761] } [18:02:50.761] else if (inherits(cond, "condition")) { [18:02:50.761] if (!is.null(pattern)) { [18:02:50.761] computeRestarts <- base::computeRestarts [18:02:50.761] grepl <- base::grepl [18:02:50.761] restarts <- computeRestarts(cond) [18:02:50.761] for (restart in restarts) { [18:02:50.761] name <- restart$name [18:02:50.761] if (is.null(name)) [18:02:50.761] next [18:02:50.761] if (!grepl(pattern, name)) [18:02:50.761] next [18:02:50.761] invokeRestart(restart) [18:02:50.761] muffled <- TRUE [18:02:50.761] break [18:02:50.761] } [18:02:50.761] } [18:02:50.761] } [18:02:50.761] invisible(muffled) [18:02:50.761] } [18:02:50.761] muffleCondition(cond, pattern = "^muffle") [18:02:50.761] } [18:02:50.761] } [18:02:50.761] else { [18:02:50.761] if (TRUE) { [18:02:50.761] muffleCondition <- function (cond, pattern = "^muffle") [18:02:50.761] { [18:02:50.761] inherits <- base::inherits [18:02:50.761] invokeRestart <- base::invokeRestart [18:02:50.761] is.null <- base::is.null [18:02:50.761] muffled <- FALSE [18:02:50.761] if (inherits(cond, "message")) { [18:02:50.761] muffled <- grepl(pattern, "muffleMessage") [18:02:50.761] if (muffled) [18:02:50.761] invokeRestart("muffleMessage") [18:02:50.761] } [18:02:50.761] else if (inherits(cond, "warning")) { [18:02:50.761] muffled <- grepl(pattern, "muffleWarning") [18:02:50.761] if (muffled) [18:02:50.761] invokeRestart("muffleWarning") [18:02:50.761] } [18:02:50.761] else if (inherits(cond, "condition")) { [18:02:50.761] if (!is.null(pattern)) { [18:02:50.761] computeRestarts <- base::computeRestarts [18:02:50.761] grepl <- base::grepl [18:02:50.761] restarts <- computeRestarts(cond) [18:02:50.761] for (restart in restarts) { [18:02:50.761] name <- restart$name [18:02:50.761] if (is.null(name)) [18:02:50.761] next [18:02:50.761] if (!grepl(pattern, name)) [18:02:50.761] next [18:02:50.761] invokeRestart(restart) [18:02:50.761] muffled <- TRUE [18:02:50.761] break [18:02:50.761] } [18:02:50.761] } [18:02:50.761] } [18:02:50.761] invisible(muffled) [18:02:50.761] } [18:02:50.761] muffleCondition(cond, pattern = "^muffle") [18:02:50.761] } [18:02:50.761] } [18:02:50.761] } [18:02:50.761] })) [18:02:50.761] }, error = function(ex) { [18:02:50.761] base::structure(base::list(value = NULL, visible = NULL, [18:02:50.761] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:50.761] ...future.rng), started = ...future.startTime, [18:02:50.761] finished = Sys.time(), session_uuid = NA_character_, [18:02:50.761] version = "1.8"), class = "FutureResult") [18:02:50.761] }, finally = { [18:02:50.761] if (!identical(...future.workdir, getwd())) [18:02:50.761] setwd(...future.workdir) [18:02:50.761] { [18:02:50.761] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:50.761] ...future.oldOptions$nwarnings <- NULL [18:02:50.761] } [18:02:50.761] base::options(...future.oldOptions) [18:02:50.761] if (.Platform$OS.type == "windows") { [18:02:50.761] old_names <- names(...future.oldEnvVars) [18:02:50.761] envs <- base::Sys.getenv() [18:02:50.761] names <- names(envs) [18:02:50.761] common <- intersect(names, old_names) [18:02:50.761] added <- setdiff(names, old_names) [18:02:50.761] removed <- setdiff(old_names, names) [18:02:50.761] changed <- common[...future.oldEnvVars[common] != [18:02:50.761] envs[common]] [18:02:50.761] NAMES <- toupper(changed) [18:02:50.761] args <- list() [18:02:50.761] for (kk in seq_along(NAMES)) { [18:02:50.761] name <- changed[[kk]] [18:02:50.761] NAME <- NAMES[[kk]] [18:02:50.761] if (name != NAME && is.element(NAME, old_names)) [18:02:50.761] next [18:02:50.761] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:50.761] } [18:02:50.761] NAMES <- toupper(added) [18:02:50.761] for (kk in seq_along(NAMES)) { [18:02:50.761] name <- added[[kk]] [18:02:50.761] NAME <- NAMES[[kk]] [18:02:50.761] if (name != NAME && is.element(NAME, old_names)) [18:02:50.761] next [18:02:50.761] args[[name]] <- "" [18:02:50.761] } [18:02:50.761] NAMES <- toupper(removed) [18:02:50.761] for (kk in seq_along(NAMES)) { [18:02:50.761] name <- removed[[kk]] [18:02:50.761] NAME <- NAMES[[kk]] [18:02:50.761] if (name != NAME && is.element(NAME, old_names)) [18:02:50.761] next [18:02:50.761] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:50.761] } [18:02:50.761] if (length(args) > 0) [18:02:50.761] base::do.call(base::Sys.setenv, args = args) [18:02:50.761] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:50.761] } [18:02:50.761] else { [18:02:50.761] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:50.761] } [18:02:50.761] { [18:02:50.761] if (base::length(...future.futureOptionsAdded) > [18:02:50.761] 0L) { [18:02:50.761] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:50.761] base::names(opts) <- ...future.futureOptionsAdded [18:02:50.761] base::options(opts) [18:02:50.761] } [18:02:50.761] { [18:02:50.761] { [18:02:50.761] base::options(mc.cores = ...future.mc.cores.old) [18:02:50.761] NULL [18:02:50.761] } [18:02:50.761] options(future.plan = NULL) [18:02:50.761] if (is.na(NA_character_)) [18:02:50.761] Sys.unsetenv("R_FUTURE_PLAN") [18:02:50.761] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:50.761] future::plan(list(function (..., workers = availableCores(), [18:02:50.761] lazy = FALSE, rscript_libs = .libPaths(), [18:02:50.761] envir = parent.frame()) [18:02:50.761] { [18:02:50.761] if (is.function(workers)) [18:02:50.761] workers <- workers() [18:02:50.761] workers <- structure(as.integer(workers), [18:02:50.761] class = class(workers)) [18:02:50.761] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:50.761] workers >= 1) [18:02:50.761] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:50.761] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:50.761] } [18:02:50.761] future <- MultisessionFuture(..., workers = workers, [18:02:50.761] lazy = lazy, rscript_libs = rscript_libs, [18:02:50.761] envir = envir) [18:02:50.761] if (!future$lazy) [18:02:50.761] future <- run(future) [18:02:50.761] invisible(future) [18:02:50.761] }), .cleanup = FALSE, .init = FALSE) [18:02:50.761] } [18:02:50.761] } [18:02:50.761] } [18:02:50.761] }) [18:02:50.761] if (TRUE) { [18:02:50.761] base::sink(type = "output", split = FALSE) [18:02:50.761] if (TRUE) { [18:02:50.761] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:50.761] } [18:02:50.761] else { [18:02:50.761] ...future.result["stdout"] <- base::list(NULL) [18:02:50.761] } [18:02:50.761] base::close(...future.stdout) [18:02:50.761] ...future.stdout <- NULL [18:02:50.761] } [18:02:50.761] ...future.result$conditions <- ...future.conditions [18:02:50.761] ...future.result$finished <- base::Sys.time() [18:02:50.761] ...future.result [18:02:50.761] } [18:02:50.767] MultisessionFuture started [18:02:50.767] - Launch lazy future ... done [18:02:50.768] run() for 'MultisessionFuture' ... done [18:02:51.297] receiveMessageFromWorker() for ClusterFuture ... [18:02:51.297] - Validating connection of MultisessionFuture [18:02:51.297] - received message: FutureResult [18:02:51.298] - Received FutureResult [18:02:51.298] - Erased future from FutureRegistry [18:02:51.298] result() for ClusterFuture ... [18:02:51.298] - result already collected: FutureResult [18:02:51.298] result() for ClusterFuture ... done [18:02:51.299] receiveMessageFromWorker() for ClusterFuture ... done [18:02:51.299] A MultisessionFuture was resolved (result was not collected) [18:02:51.299] getGlobalsAndPackages() ... [18:02:51.299] Searching for globals... [18:02:51.300] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:51.301] Searching for globals ... DONE [18:02:51.301] Resolving globals: FALSE [18:02:51.301] [18:02:51.301] [18:02:51.302] getGlobalsAndPackages() ... DONE [18:02:51.302] run() for 'Future' ... [18:02:51.302] - state: 'created' [18:02:51.302] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:51.316] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:51.316] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:51.317] - Field: 'node' [18:02:51.317] - Field: 'label' [18:02:51.317] - Field: 'local' [18:02:51.317] - Field: 'owner' [18:02:51.317] - Field: 'envir' [18:02:51.317] - Field: 'workers' [18:02:51.318] - Field: 'packages' [18:02:51.318] - Field: 'gc' [18:02:51.318] - Field: 'conditions' [18:02:51.318] - Field: 'persistent' [18:02:51.318] - Field: 'expr' [18:02:51.319] - Field: 'uuid' [18:02:51.319] - Field: 'seed' [18:02:51.319] - Field: 'version' [18:02:51.319] - Field: 'result' [18:02:51.319] - Field: 'asynchronous' [18:02:51.319] - Field: 'calls' [18:02:51.320] - Field: 'globals' [18:02:51.320] - Field: 'stdout' [18:02:51.320] - Field: 'earlySignal' [18:02:51.320] - Field: 'lazy' [18:02:51.320] - Field: 'state' [18:02:51.320] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:51.321] - Launch lazy future ... [18:02:51.321] Packages needed by the future expression (n = 0): [18:02:51.321] Packages needed by future strategies (n = 0): [18:02:51.322] { [18:02:51.322] { [18:02:51.322] { [18:02:51.322] ...future.startTime <- base::Sys.time() [18:02:51.322] { [18:02:51.322] { [18:02:51.322] { [18:02:51.322] { [18:02:51.322] base::local({ [18:02:51.322] has_future <- base::requireNamespace("future", [18:02:51.322] quietly = TRUE) [18:02:51.322] if (has_future) { [18:02:51.322] ns <- base::getNamespace("future") [18:02:51.322] version <- ns[[".package"]][["version"]] [18:02:51.322] if (is.null(version)) [18:02:51.322] version <- utils::packageVersion("future") [18:02:51.322] } [18:02:51.322] else { [18:02:51.322] version <- NULL [18:02:51.322] } [18:02:51.322] if (!has_future || version < "1.8.0") { [18:02:51.322] info <- base::c(r_version = base::gsub("R version ", [18:02:51.322] "", base::R.version$version.string), [18:02:51.322] platform = base::sprintf("%s (%s-bit)", [18:02:51.322] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:51.322] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:51.322] "release", "version")], collapse = " "), [18:02:51.322] hostname = base::Sys.info()[["nodename"]]) [18:02:51.322] info <- base::sprintf("%s: %s", base::names(info), [18:02:51.322] info) [18:02:51.322] info <- base::paste(info, collapse = "; ") [18:02:51.322] if (!has_future) { [18:02:51.322] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:51.322] info) [18:02:51.322] } [18:02:51.322] else { [18:02:51.322] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:51.322] info, version) [18:02:51.322] } [18:02:51.322] base::stop(msg) [18:02:51.322] } [18:02:51.322] }) [18:02:51.322] } [18:02:51.322] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:51.322] base::options(mc.cores = 1L) [18:02:51.322] } [18:02:51.322] options(future.plan = NULL) [18:02:51.322] Sys.unsetenv("R_FUTURE_PLAN") [18:02:51.322] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:51.322] } [18:02:51.322] ...future.workdir <- getwd() [18:02:51.322] } [18:02:51.322] ...future.oldOptions <- base::as.list(base::.Options) [18:02:51.322] ...future.oldEnvVars <- base::Sys.getenv() [18:02:51.322] } [18:02:51.322] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:51.322] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:51.322] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:51.322] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:51.322] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:51.322] future.stdout.windows.reencode = NULL, width = 80L) [18:02:51.322] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:51.322] base::names(...future.oldOptions)) [18:02:51.322] } [18:02:51.322] if (FALSE) { [18:02:51.322] } [18:02:51.322] else { [18:02:51.322] if (TRUE) { [18:02:51.322] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:51.322] open = "w") [18:02:51.322] } [18:02:51.322] else { [18:02:51.322] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:51.322] windows = "NUL", "/dev/null"), open = "w") [18:02:51.322] } [18:02:51.322] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:51.322] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:51.322] base::sink(type = "output", split = FALSE) [18:02:51.322] base::close(...future.stdout) [18:02:51.322] }, add = TRUE) [18:02:51.322] } [18:02:51.322] ...future.frame <- base::sys.nframe() [18:02:51.322] ...future.conditions <- base::list() [18:02:51.322] ...future.rng <- base::globalenv()$.Random.seed [18:02:51.322] if (FALSE) { [18:02:51.322] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:51.322] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:51.322] } [18:02:51.322] ...future.result <- base::tryCatch({ [18:02:51.322] base::withCallingHandlers({ [18:02:51.322] ...future.value <- base::withVisible(base::local({ [18:02:51.322] ...future.makeSendCondition <- local({ [18:02:51.322] sendCondition <- NULL [18:02:51.322] function(frame = 1L) { [18:02:51.322] if (is.function(sendCondition)) [18:02:51.322] return(sendCondition) [18:02:51.322] ns <- getNamespace("parallel") [18:02:51.322] if (exists("sendData", mode = "function", [18:02:51.322] envir = ns)) { [18:02:51.322] parallel_sendData <- get("sendData", mode = "function", [18:02:51.322] envir = ns) [18:02:51.322] envir <- sys.frame(frame) [18:02:51.322] master <- NULL [18:02:51.322] while (!identical(envir, .GlobalEnv) && [18:02:51.322] !identical(envir, emptyenv())) { [18:02:51.322] if (exists("master", mode = "list", envir = envir, [18:02:51.322] inherits = FALSE)) { [18:02:51.322] master <- get("master", mode = "list", [18:02:51.322] envir = envir, inherits = FALSE) [18:02:51.322] if (inherits(master, c("SOCKnode", [18:02:51.322] "SOCK0node"))) { [18:02:51.322] sendCondition <<- function(cond) { [18:02:51.322] data <- list(type = "VALUE", value = cond, [18:02:51.322] success = TRUE) [18:02:51.322] parallel_sendData(master, data) [18:02:51.322] } [18:02:51.322] return(sendCondition) [18:02:51.322] } [18:02:51.322] } [18:02:51.322] frame <- frame + 1L [18:02:51.322] envir <- sys.frame(frame) [18:02:51.322] } [18:02:51.322] } [18:02:51.322] sendCondition <<- function(cond) NULL [18:02:51.322] } [18:02:51.322] }) [18:02:51.322] withCallingHandlers({ [18:02:51.322] { [18:02:51.322] Sys.sleep(0.5) [18:02:51.322] list(a = 1, b = 42L) [18:02:51.322] } [18:02:51.322] }, immediateCondition = function(cond) { [18:02:51.322] sendCondition <- ...future.makeSendCondition() [18:02:51.322] sendCondition(cond) [18:02:51.322] muffleCondition <- function (cond, pattern = "^muffle") [18:02:51.322] { [18:02:51.322] inherits <- base::inherits [18:02:51.322] invokeRestart <- base::invokeRestart [18:02:51.322] is.null <- base::is.null [18:02:51.322] muffled <- FALSE [18:02:51.322] if (inherits(cond, "message")) { [18:02:51.322] muffled <- grepl(pattern, "muffleMessage") [18:02:51.322] if (muffled) [18:02:51.322] invokeRestart("muffleMessage") [18:02:51.322] } [18:02:51.322] else if (inherits(cond, "warning")) { [18:02:51.322] muffled <- grepl(pattern, "muffleWarning") [18:02:51.322] if (muffled) [18:02:51.322] invokeRestart("muffleWarning") [18:02:51.322] } [18:02:51.322] else if (inherits(cond, "condition")) { [18:02:51.322] if (!is.null(pattern)) { [18:02:51.322] computeRestarts <- base::computeRestarts [18:02:51.322] grepl <- base::grepl [18:02:51.322] restarts <- computeRestarts(cond) [18:02:51.322] for (restart in restarts) { [18:02:51.322] name <- restart$name [18:02:51.322] if (is.null(name)) [18:02:51.322] next [18:02:51.322] if (!grepl(pattern, name)) [18:02:51.322] next [18:02:51.322] invokeRestart(restart) [18:02:51.322] muffled <- TRUE [18:02:51.322] break [18:02:51.322] } [18:02:51.322] } [18:02:51.322] } [18:02:51.322] invisible(muffled) [18:02:51.322] } [18:02:51.322] muffleCondition(cond) [18:02:51.322] }) [18:02:51.322] })) [18:02:51.322] future::FutureResult(value = ...future.value$value, [18:02:51.322] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:51.322] ...future.rng), globalenv = if (FALSE) [18:02:51.322] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:51.322] ...future.globalenv.names)) [18:02:51.322] else NULL, started = ...future.startTime, version = "1.8") [18:02:51.322] }, condition = base::local({ [18:02:51.322] c <- base::c [18:02:51.322] inherits <- base::inherits [18:02:51.322] invokeRestart <- base::invokeRestart [18:02:51.322] length <- base::length [18:02:51.322] list <- base::list [18:02:51.322] seq.int <- base::seq.int [18:02:51.322] signalCondition <- base::signalCondition [18:02:51.322] sys.calls <- base::sys.calls [18:02:51.322] `[[` <- base::`[[` [18:02:51.322] `+` <- base::`+` [18:02:51.322] `<<-` <- base::`<<-` [18:02:51.322] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:51.322] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:51.322] 3L)] [18:02:51.322] } [18:02:51.322] function(cond) { [18:02:51.322] is_error <- inherits(cond, "error") [18:02:51.322] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:51.322] NULL) [18:02:51.322] if (is_error) { [18:02:51.322] sessionInformation <- function() { [18:02:51.322] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:51.322] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:51.322] search = base::search(), system = base::Sys.info()) [18:02:51.322] } [18:02:51.322] ...future.conditions[[length(...future.conditions) + [18:02:51.322] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:51.322] cond$call), session = sessionInformation(), [18:02:51.322] timestamp = base::Sys.time(), signaled = 0L) [18:02:51.322] signalCondition(cond) [18:02:51.322] } [18:02:51.322] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:51.322] "immediateCondition"))) { [18:02:51.322] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:51.322] ...future.conditions[[length(...future.conditions) + [18:02:51.322] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:51.322] if (TRUE && !signal) { [18:02:51.322] muffleCondition <- function (cond, pattern = "^muffle") [18:02:51.322] { [18:02:51.322] inherits <- base::inherits [18:02:51.322] invokeRestart <- base::invokeRestart [18:02:51.322] is.null <- base::is.null [18:02:51.322] muffled <- FALSE [18:02:51.322] if (inherits(cond, "message")) { [18:02:51.322] muffled <- grepl(pattern, "muffleMessage") [18:02:51.322] if (muffled) [18:02:51.322] invokeRestart("muffleMessage") [18:02:51.322] } [18:02:51.322] else if (inherits(cond, "warning")) { [18:02:51.322] muffled <- grepl(pattern, "muffleWarning") [18:02:51.322] if (muffled) [18:02:51.322] invokeRestart("muffleWarning") [18:02:51.322] } [18:02:51.322] else if (inherits(cond, "condition")) { [18:02:51.322] if (!is.null(pattern)) { [18:02:51.322] computeRestarts <- base::computeRestarts [18:02:51.322] grepl <- base::grepl [18:02:51.322] restarts <- computeRestarts(cond) [18:02:51.322] for (restart in restarts) { [18:02:51.322] name <- restart$name [18:02:51.322] if (is.null(name)) [18:02:51.322] next [18:02:51.322] if (!grepl(pattern, name)) [18:02:51.322] next [18:02:51.322] invokeRestart(restart) [18:02:51.322] muffled <- TRUE [18:02:51.322] break [18:02:51.322] } [18:02:51.322] } [18:02:51.322] } [18:02:51.322] invisible(muffled) [18:02:51.322] } [18:02:51.322] muffleCondition(cond, pattern = "^muffle") [18:02:51.322] } [18:02:51.322] } [18:02:51.322] else { [18:02:51.322] if (TRUE) { [18:02:51.322] muffleCondition <- function (cond, pattern = "^muffle") [18:02:51.322] { [18:02:51.322] inherits <- base::inherits [18:02:51.322] invokeRestart <- base::invokeRestart [18:02:51.322] is.null <- base::is.null [18:02:51.322] muffled <- FALSE [18:02:51.322] if (inherits(cond, "message")) { [18:02:51.322] muffled <- grepl(pattern, "muffleMessage") [18:02:51.322] if (muffled) [18:02:51.322] invokeRestart("muffleMessage") [18:02:51.322] } [18:02:51.322] else if (inherits(cond, "warning")) { [18:02:51.322] muffled <- grepl(pattern, "muffleWarning") [18:02:51.322] if (muffled) [18:02:51.322] invokeRestart("muffleWarning") [18:02:51.322] } [18:02:51.322] else if (inherits(cond, "condition")) { [18:02:51.322] if (!is.null(pattern)) { [18:02:51.322] computeRestarts <- base::computeRestarts [18:02:51.322] grepl <- base::grepl [18:02:51.322] restarts <- computeRestarts(cond) [18:02:51.322] for (restart in restarts) { [18:02:51.322] name <- restart$name [18:02:51.322] if (is.null(name)) [18:02:51.322] next [18:02:51.322] if (!grepl(pattern, name)) [18:02:51.322] next [18:02:51.322] invokeRestart(restart) [18:02:51.322] muffled <- TRUE [18:02:51.322] break [18:02:51.322] } [18:02:51.322] } [18:02:51.322] } [18:02:51.322] invisible(muffled) [18:02:51.322] } [18:02:51.322] muffleCondition(cond, pattern = "^muffle") [18:02:51.322] } [18:02:51.322] } [18:02:51.322] } [18:02:51.322] })) [18:02:51.322] }, error = function(ex) { [18:02:51.322] base::structure(base::list(value = NULL, visible = NULL, [18:02:51.322] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:51.322] ...future.rng), started = ...future.startTime, [18:02:51.322] finished = Sys.time(), session_uuid = NA_character_, [18:02:51.322] version = "1.8"), class = "FutureResult") [18:02:51.322] }, finally = { [18:02:51.322] if (!identical(...future.workdir, getwd())) [18:02:51.322] setwd(...future.workdir) [18:02:51.322] { [18:02:51.322] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:51.322] ...future.oldOptions$nwarnings <- NULL [18:02:51.322] } [18:02:51.322] base::options(...future.oldOptions) [18:02:51.322] if (.Platform$OS.type == "windows") { [18:02:51.322] old_names <- names(...future.oldEnvVars) [18:02:51.322] envs <- base::Sys.getenv() [18:02:51.322] names <- names(envs) [18:02:51.322] common <- intersect(names, old_names) [18:02:51.322] added <- setdiff(names, old_names) [18:02:51.322] removed <- setdiff(old_names, names) [18:02:51.322] changed <- common[...future.oldEnvVars[common] != [18:02:51.322] envs[common]] [18:02:51.322] NAMES <- toupper(changed) [18:02:51.322] args <- list() [18:02:51.322] for (kk in seq_along(NAMES)) { [18:02:51.322] name <- changed[[kk]] [18:02:51.322] NAME <- NAMES[[kk]] [18:02:51.322] if (name != NAME && is.element(NAME, old_names)) [18:02:51.322] next [18:02:51.322] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:51.322] } [18:02:51.322] NAMES <- toupper(added) [18:02:51.322] for (kk in seq_along(NAMES)) { [18:02:51.322] name <- added[[kk]] [18:02:51.322] NAME <- NAMES[[kk]] [18:02:51.322] if (name != NAME && is.element(NAME, old_names)) [18:02:51.322] next [18:02:51.322] args[[name]] <- "" [18:02:51.322] } [18:02:51.322] NAMES <- toupper(removed) [18:02:51.322] for (kk in seq_along(NAMES)) { [18:02:51.322] name <- removed[[kk]] [18:02:51.322] NAME <- NAMES[[kk]] [18:02:51.322] if (name != NAME && is.element(NAME, old_names)) [18:02:51.322] next [18:02:51.322] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:51.322] } [18:02:51.322] if (length(args) > 0) [18:02:51.322] base::do.call(base::Sys.setenv, args = args) [18:02:51.322] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:51.322] } [18:02:51.322] else { [18:02:51.322] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:51.322] } [18:02:51.322] { [18:02:51.322] if (base::length(...future.futureOptionsAdded) > [18:02:51.322] 0L) { [18:02:51.322] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:51.322] base::names(opts) <- ...future.futureOptionsAdded [18:02:51.322] base::options(opts) [18:02:51.322] } [18:02:51.322] { [18:02:51.322] { [18:02:51.322] base::options(mc.cores = ...future.mc.cores.old) [18:02:51.322] NULL [18:02:51.322] } [18:02:51.322] options(future.plan = NULL) [18:02:51.322] if (is.na(NA_character_)) [18:02:51.322] Sys.unsetenv("R_FUTURE_PLAN") [18:02:51.322] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:51.322] future::plan(list(function (..., workers = availableCores(), [18:02:51.322] lazy = FALSE, rscript_libs = .libPaths(), [18:02:51.322] envir = parent.frame()) [18:02:51.322] { [18:02:51.322] if (is.function(workers)) [18:02:51.322] workers <- workers() [18:02:51.322] workers <- structure(as.integer(workers), [18:02:51.322] class = class(workers)) [18:02:51.322] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:51.322] workers >= 1) [18:02:51.322] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:51.322] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:51.322] } [18:02:51.322] future <- MultisessionFuture(..., workers = workers, [18:02:51.322] lazy = lazy, rscript_libs = rscript_libs, [18:02:51.322] envir = envir) [18:02:51.322] if (!future$lazy) [18:02:51.322] future <- run(future) [18:02:51.322] invisible(future) [18:02:51.322] }), .cleanup = FALSE, .init = FALSE) [18:02:51.322] } [18:02:51.322] } [18:02:51.322] } [18:02:51.322] }) [18:02:51.322] if (TRUE) { [18:02:51.322] base::sink(type = "output", split = FALSE) [18:02:51.322] if (TRUE) { [18:02:51.322] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:51.322] } [18:02:51.322] else { [18:02:51.322] ...future.result["stdout"] <- base::list(NULL) [18:02:51.322] } [18:02:51.322] base::close(...future.stdout) [18:02:51.322] ...future.stdout <- NULL [18:02:51.322] } [18:02:51.322] ...future.result$conditions <- ...future.conditions [18:02:51.322] ...future.result$finished <- base::Sys.time() [18:02:51.322] ...future.result [18:02:51.322] } [18:02:51.328] MultisessionFuture started [18:02:51.328] - Launch lazy future ... done [18:02:51.328] run() for 'MultisessionFuture' ... done [18:02:51.848] receiveMessageFromWorker() for ClusterFuture ... [18:02:51.848] - Validating connection of MultisessionFuture [18:02:51.849] - received message: FutureResult [18:02:51.849] - Received FutureResult [18:02:51.849] - Erased future from FutureRegistry [18:02:51.849] result() for ClusterFuture ... [18:02:51.849] - result already collected: FutureResult [18:02:51.849] result() for ClusterFuture ... done [18:02:51.850] receiveMessageFromWorker() for ClusterFuture ... done [18:02:51.850] A MultisessionFuture was resolved (result was not collected) - w/ exception ... [18:02:51.850] getGlobalsAndPackages() ... [18:02:51.850] Searching for globals... [18:02:51.851] - globals found: [2] 'list', 'stop' [18:02:51.851] Searching for globals ... DONE [18:02:51.851] Resolving globals: FALSE [18:02:51.852] [18:02:51.852] [18:02:51.852] getGlobalsAndPackages() ... DONE [18:02:51.852] run() for 'Future' ... [18:02:51.853] - state: 'created' [18:02:51.853] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:51.867] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:51.867] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:51.867] - Field: 'node' [18:02:51.867] - Field: 'label' [18:02:51.867] - Field: 'local' [18:02:51.868] - Field: 'owner' [18:02:51.868] - Field: 'envir' [18:02:51.868] - Field: 'workers' [18:02:51.868] - Field: 'packages' [18:02:51.868] - Field: 'gc' [18:02:51.868] - Field: 'conditions' [18:02:51.869] - Field: 'persistent' [18:02:51.869] - Field: 'expr' [18:02:51.869] - Field: 'uuid' [18:02:51.869] - Field: 'seed' [18:02:51.869] - Field: 'version' [18:02:51.870] - Field: 'result' [18:02:51.870] - Field: 'asynchronous' [18:02:51.870] - Field: 'calls' [18:02:51.870] - Field: 'globals' [18:02:51.870] - Field: 'stdout' [18:02:51.870] - Field: 'earlySignal' [18:02:51.871] - Field: 'lazy' [18:02:51.871] - Field: 'state' [18:02:51.871] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:51.871] - Launch lazy future ... [18:02:51.872] Packages needed by the future expression (n = 0): [18:02:51.872] Packages needed by future strategies (n = 0): [18:02:51.872] { [18:02:51.872] { [18:02:51.872] { [18:02:51.872] ...future.startTime <- base::Sys.time() [18:02:51.872] { [18:02:51.872] { [18:02:51.872] { [18:02:51.872] { [18:02:51.872] base::local({ [18:02:51.872] has_future <- base::requireNamespace("future", [18:02:51.872] quietly = TRUE) [18:02:51.872] if (has_future) { [18:02:51.872] ns <- base::getNamespace("future") [18:02:51.872] version <- ns[[".package"]][["version"]] [18:02:51.872] if (is.null(version)) [18:02:51.872] version <- utils::packageVersion("future") [18:02:51.872] } [18:02:51.872] else { [18:02:51.872] version <- NULL [18:02:51.872] } [18:02:51.872] if (!has_future || version < "1.8.0") { [18:02:51.872] info <- base::c(r_version = base::gsub("R version ", [18:02:51.872] "", base::R.version$version.string), [18:02:51.872] platform = base::sprintf("%s (%s-bit)", [18:02:51.872] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:51.872] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:51.872] "release", "version")], collapse = " "), [18:02:51.872] hostname = base::Sys.info()[["nodename"]]) [18:02:51.872] info <- base::sprintf("%s: %s", base::names(info), [18:02:51.872] info) [18:02:51.872] info <- base::paste(info, collapse = "; ") [18:02:51.872] if (!has_future) { [18:02:51.872] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:51.872] info) [18:02:51.872] } [18:02:51.872] else { [18:02:51.872] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:51.872] info, version) [18:02:51.872] } [18:02:51.872] base::stop(msg) [18:02:51.872] } [18:02:51.872] }) [18:02:51.872] } [18:02:51.872] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:51.872] base::options(mc.cores = 1L) [18:02:51.872] } [18:02:51.872] options(future.plan = NULL) [18:02:51.872] Sys.unsetenv("R_FUTURE_PLAN") [18:02:51.872] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:51.872] } [18:02:51.872] ...future.workdir <- getwd() [18:02:51.872] } [18:02:51.872] ...future.oldOptions <- base::as.list(base::.Options) [18:02:51.872] ...future.oldEnvVars <- base::Sys.getenv() [18:02:51.872] } [18:02:51.872] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:51.872] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:51.872] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:51.872] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:51.872] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:51.872] future.stdout.windows.reencode = NULL, width = 80L) [18:02:51.872] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:51.872] base::names(...future.oldOptions)) [18:02:51.872] } [18:02:51.872] if (FALSE) { [18:02:51.872] } [18:02:51.872] else { [18:02:51.872] if (TRUE) { [18:02:51.872] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:51.872] open = "w") [18:02:51.872] } [18:02:51.872] else { [18:02:51.872] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:51.872] windows = "NUL", "/dev/null"), open = "w") [18:02:51.872] } [18:02:51.872] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:51.872] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:51.872] base::sink(type = "output", split = FALSE) [18:02:51.872] base::close(...future.stdout) [18:02:51.872] }, add = TRUE) [18:02:51.872] } [18:02:51.872] ...future.frame <- base::sys.nframe() [18:02:51.872] ...future.conditions <- base::list() [18:02:51.872] ...future.rng <- base::globalenv()$.Random.seed [18:02:51.872] if (FALSE) { [18:02:51.872] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:51.872] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:51.872] } [18:02:51.872] ...future.result <- base::tryCatch({ [18:02:51.872] base::withCallingHandlers({ [18:02:51.872] ...future.value <- base::withVisible(base::local({ [18:02:51.872] ...future.makeSendCondition <- local({ [18:02:51.872] sendCondition <- NULL [18:02:51.872] function(frame = 1L) { [18:02:51.872] if (is.function(sendCondition)) [18:02:51.872] return(sendCondition) [18:02:51.872] ns <- getNamespace("parallel") [18:02:51.872] if (exists("sendData", mode = "function", [18:02:51.872] envir = ns)) { [18:02:51.872] parallel_sendData <- get("sendData", mode = "function", [18:02:51.872] envir = ns) [18:02:51.872] envir <- sys.frame(frame) [18:02:51.872] master <- NULL [18:02:51.872] while (!identical(envir, .GlobalEnv) && [18:02:51.872] !identical(envir, emptyenv())) { [18:02:51.872] if (exists("master", mode = "list", envir = envir, [18:02:51.872] inherits = FALSE)) { [18:02:51.872] master <- get("master", mode = "list", [18:02:51.872] envir = envir, inherits = FALSE) [18:02:51.872] if (inherits(master, c("SOCKnode", [18:02:51.872] "SOCK0node"))) { [18:02:51.872] sendCondition <<- function(cond) { [18:02:51.872] data <- list(type = "VALUE", value = cond, [18:02:51.872] success = TRUE) [18:02:51.872] parallel_sendData(master, data) [18:02:51.872] } [18:02:51.872] return(sendCondition) [18:02:51.872] } [18:02:51.872] } [18:02:51.872] frame <- frame + 1L [18:02:51.872] envir <- sys.frame(frame) [18:02:51.872] } [18:02:51.872] } [18:02:51.872] sendCondition <<- function(cond) NULL [18:02:51.872] } [18:02:51.872] }) [18:02:51.872] withCallingHandlers({ [18:02:51.872] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:51.872] }, immediateCondition = function(cond) { [18:02:51.872] sendCondition <- ...future.makeSendCondition() [18:02:51.872] sendCondition(cond) [18:02:51.872] muffleCondition <- function (cond, pattern = "^muffle") [18:02:51.872] { [18:02:51.872] inherits <- base::inherits [18:02:51.872] invokeRestart <- base::invokeRestart [18:02:51.872] is.null <- base::is.null [18:02:51.872] muffled <- FALSE [18:02:51.872] if (inherits(cond, "message")) { [18:02:51.872] muffled <- grepl(pattern, "muffleMessage") [18:02:51.872] if (muffled) [18:02:51.872] invokeRestart("muffleMessage") [18:02:51.872] } [18:02:51.872] else if (inherits(cond, "warning")) { [18:02:51.872] muffled <- grepl(pattern, "muffleWarning") [18:02:51.872] if (muffled) [18:02:51.872] invokeRestart("muffleWarning") [18:02:51.872] } [18:02:51.872] else if (inherits(cond, "condition")) { [18:02:51.872] if (!is.null(pattern)) { [18:02:51.872] computeRestarts <- base::computeRestarts [18:02:51.872] grepl <- base::grepl [18:02:51.872] restarts <- computeRestarts(cond) [18:02:51.872] for (restart in restarts) { [18:02:51.872] name <- restart$name [18:02:51.872] if (is.null(name)) [18:02:51.872] next [18:02:51.872] if (!grepl(pattern, name)) [18:02:51.872] next [18:02:51.872] invokeRestart(restart) [18:02:51.872] muffled <- TRUE [18:02:51.872] break [18:02:51.872] } [18:02:51.872] } [18:02:51.872] } [18:02:51.872] invisible(muffled) [18:02:51.872] } [18:02:51.872] muffleCondition(cond) [18:02:51.872] }) [18:02:51.872] })) [18:02:51.872] future::FutureResult(value = ...future.value$value, [18:02:51.872] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:51.872] ...future.rng), globalenv = if (FALSE) [18:02:51.872] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:51.872] ...future.globalenv.names)) [18:02:51.872] else NULL, started = ...future.startTime, version = "1.8") [18:02:51.872] }, condition = base::local({ [18:02:51.872] c <- base::c [18:02:51.872] inherits <- base::inherits [18:02:51.872] invokeRestart <- base::invokeRestart [18:02:51.872] length <- base::length [18:02:51.872] list <- base::list [18:02:51.872] seq.int <- base::seq.int [18:02:51.872] signalCondition <- base::signalCondition [18:02:51.872] sys.calls <- base::sys.calls [18:02:51.872] `[[` <- base::`[[` [18:02:51.872] `+` <- base::`+` [18:02:51.872] `<<-` <- base::`<<-` [18:02:51.872] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:51.872] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:51.872] 3L)] [18:02:51.872] } [18:02:51.872] function(cond) { [18:02:51.872] is_error <- inherits(cond, "error") [18:02:51.872] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:51.872] NULL) [18:02:51.872] if (is_error) { [18:02:51.872] sessionInformation <- function() { [18:02:51.872] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:51.872] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:51.872] search = base::search(), system = base::Sys.info()) [18:02:51.872] } [18:02:51.872] ...future.conditions[[length(...future.conditions) + [18:02:51.872] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:51.872] cond$call), session = sessionInformation(), [18:02:51.872] timestamp = base::Sys.time(), signaled = 0L) [18:02:51.872] signalCondition(cond) [18:02:51.872] } [18:02:51.872] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:51.872] "immediateCondition"))) { [18:02:51.872] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:51.872] ...future.conditions[[length(...future.conditions) + [18:02:51.872] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:51.872] if (TRUE && !signal) { [18:02:51.872] muffleCondition <- function (cond, pattern = "^muffle") [18:02:51.872] { [18:02:51.872] inherits <- base::inherits [18:02:51.872] invokeRestart <- base::invokeRestart [18:02:51.872] is.null <- base::is.null [18:02:51.872] muffled <- FALSE [18:02:51.872] if (inherits(cond, "message")) { [18:02:51.872] muffled <- grepl(pattern, "muffleMessage") [18:02:51.872] if (muffled) [18:02:51.872] invokeRestart("muffleMessage") [18:02:51.872] } [18:02:51.872] else if (inherits(cond, "warning")) { [18:02:51.872] muffled <- grepl(pattern, "muffleWarning") [18:02:51.872] if (muffled) [18:02:51.872] invokeRestart("muffleWarning") [18:02:51.872] } [18:02:51.872] else if (inherits(cond, "condition")) { [18:02:51.872] if (!is.null(pattern)) { [18:02:51.872] computeRestarts <- base::computeRestarts [18:02:51.872] grepl <- base::grepl [18:02:51.872] restarts <- computeRestarts(cond) [18:02:51.872] for (restart in restarts) { [18:02:51.872] name <- restart$name [18:02:51.872] if (is.null(name)) [18:02:51.872] next [18:02:51.872] if (!grepl(pattern, name)) [18:02:51.872] next [18:02:51.872] invokeRestart(restart) [18:02:51.872] muffled <- TRUE [18:02:51.872] break [18:02:51.872] } [18:02:51.872] } [18:02:51.872] } [18:02:51.872] invisible(muffled) [18:02:51.872] } [18:02:51.872] muffleCondition(cond, pattern = "^muffle") [18:02:51.872] } [18:02:51.872] } [18:02:51.872] else { [18:02:51.872] if (TRUE) { [18:02:51.872] muffleCondition <- function (cond, pattern = "^muffle") [18:02:51.872] { [18:02:51.872] inherits <- base::inherits [18:02:51.872] invokeRestart <- base::invokeRestart [18:02:51.872] is.null <- base::is.null [18:02:51.872] muffled <- FALSE [18:02:51.872] if (inherits(cond, "message")) { [18:02:51.872] muffled <- grepl(pattern, "muffleMessage") [18:02:51.872] if (muffled) [18:02:51.872] invokeRestart("muffleMessage") [18:02:51.872] } [18:02:51.872] else if (inherits(cond, "warning")) { [18:02:51.872] muffled <- grepl(pattern, "muffleWarning") [18:02:51.872] if (muffled) [18:02:51.872] invokeRestart("muffleWarning") [18:02:51.872] } [18:02:51.872] else if (inherits(cond, "condition")) { [18:02:51.872] if (!is.null(pattern)) { [18:02:51.872] computeRestarts <- base::computeRestarts [18:02:51.872] grepl <- base::grepl [18:02:51.872] restarts <- computeRestarts(cond) [18:02:51.872] for (restart in restarts) { [18:02:51.872] name <- restart$name [18:02:51.872] if (is.null(name)) [18:02:51.872] next [18:02:51.872] if (!grepl(pattern, name)) [18:02:51.872] next [18:02:51.872] invokeRestart(restart) [18:02:51.872] muffled <- TRUE [18:02:51.872] break [18:02:51.872] } [18:02:51.872] } [18:02:51.872] } [18:02:51.872] invisible(muffled) [18:02:51.872] } [18:02:51.872] muffleCondition(cond, pattern = "^muffle") [18:02:51.872] } [18:02:51.872] } [18:02:51.872] } [18:02:51.872] })) [18:02:51.872] }, error = function(ex) { [18:02:51.872] base::structure(base::list(value = NULL, visible = NULL, [18:02:51.872] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:51.872] ...future.rng), started = ...future.startTime, [18:02:51.872] finished = Sys.time(), session_uuid = NA_character_, [18:02:51.872] version = "1.8"), class = "FutureResult") [18:02:51.872] }, finally = { [18:02:51.872] if (!identical(...future.workdir, getwd())) [18:02:51.872] setwd(...future.workdir) [18:02:51.872] { [18:02:51.872] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:51.872] ...future.oldOptions$nwarnings <- NULL [18:02:51.872] } [18:02:51.872] base::options(...future.oldOptions) [18:02:51.872] if (.Platform$OS.type == "windows") { [18:02:51.872] old_names <- names(...future.oldEnvVars) [18:02:51.872] envs <- base::Sys.getenv() [18:02:51.872] names <- names(envs) [18:02:51.872] common <- intersect(names, old_names) [18:02:51.872] added <- setdiff(names, old_names) [18:02:51.872] removed <- setdiff(old_names, names) [18:02:51.872] changed <- common[...future.oldEnvVars[common] != [18:02:51.872] envs[common]] [18:02:51.872] NAMES <- toupper(changed) [18:02:51.872] args <- list() [18:02:51.872] for (kk in seq_along(NAMES)) { [18:02:51.872] name <- changed[[kk]] [18:02:51.872] NAME <- NAMES[[kk]] [18:02:51.872] if (name != NAME && is.element(NAME, old_names)) [18:02:51.872] next [18:02:51.872] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:51.872] } [18:02:51.872] NAMES <- toupper(added) [18:02:51.872] for (kk in seq_along(NAMES)) { [18:02:51.872] name <- added[[kk]] [18:02:51.872] NAME <- NAMES[[kk]] [18:02:51.872] if (name != NAME && is.element(NAME, old_names)) [18:02:51.872] next [18:02:51.872] args[[name]] <- "" [18:02:51.872] } [18:02:51.872] NAMES <- toupper(removed) [18:02:51.872] for (kk in seq_along(NAMES)) { [18:02:51.872] name <- removed[[kk]] [18:02:51.872] NAME <- NAMES[[kk]] [18:02:51.872] if (name != NAME && is.element(NAME, old_names)) [18:02:51.872] next [18:02:51.872] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:51.872] } [18:02:51.872] if (length(args) > 0) [18:02:51.872] base::do.call(base::Sys.setenv, args = args) [18:02:51.872] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:51.872] } [18:02:51.872] else { [18:02:51.872] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:51.872] } [18:02:51.872] { [18:02:51.872] if (base::length(...future.futureOptionsAdded) > [18:02:51.872] 0L) { [18:02:51.872] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:51.872] base::names(opts) <- ...future.futureOptionsAdded [18:02:51.872] base::options(opts) [18:02:51.872] } [18:02:51.872] { [18:02:51.872] { [18:02:51.872] base::options(mc.cores = ...future.mc.cores.old) [18:02:51.872] NULL [18:02:51.872] } [18:02:51.872] options(future.plan = NULL) [18:02:51.872] if (is.na(NA_character_)) [18:02:51.872] Sys.unsetenv("R_FUTURE_PLAN") [18:02:51.872] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:51.872] future::plan(list(function (..., workers = availableCores(), [18:02:51.872] lazy = FALSE, rscript_libs = .libPaths(), [18:02:51.872] envir = parent.frame()) [18:02:51.872] { [18:02:51.872] if (is.function(workers)) [18:02:51.872] workers <- workers() [18:02:51.872] workers <- structure(as.integer(workers), [18:02:51.872] class = class(workers)) [18:02:51.872] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:51.872] workers >= 1) [18:02:51.872] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:51.872] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:51.872] } [18:02:51.872] future <- MultisessionFuture(..., workers = workers, [18:02:51.872] lazy = lazy, rscript_libs = rscript_libs, [18:02:51.872] envir = envir) [18:02:51.872] if (!future$lazy) [18:02:51.872] future <- run(future) [18:02:51.872] invisible(future) [18:02:51.872] }), .cleanup = FALSE, .init = FALSE) [18:02:51.872] } [18:02:51.872] } [18:02:51.872] } [18:02:51.872] }) [18:02:51.872] if (TRUE) { [18:02:51.872] base::sink(type = "output", split = FALSE) [18:02:51.872] if (TRUE) { [18:02:51.872] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:51.872] } [18:02:51.872] else { [18:02:51.872] ...future.result["stdout"] <- base::list(NULL) [18:02:51.872] } [18:02:51.872] base::close(...future.stdout) [18:02:51.872] ...future.stdout <- NULL [18:02:51.872] } [18:02:51.872] ...future.result$conditions <- ...future.conditions [18:02:51.872] ...future.result$finished <- base::Sys.time() [18:02:51.872] ...future.result [18:02:51.872] } [18:02:51.878] MultisessionFuture started [18:02:51.878] - Launch lazy future ... done [18:02:51.878] run() for 'MultisessionFuture' ... done [18:02:51.896] receiveMessageFromWorker() for ClusterFuture ... [18:02:51.896] - Validating connection of MultisessionFuture [18:02:51.896] - received message: FutureResult [18:02:51.897] - Received FutureResult [18:02:51.897] - Erased future from FutureRegistry [18:02:51.897] result() for ClusterFuture ... [18:02:51.897] - result already collected: FutureResult [18:02:51.897] result() for ClusterFuture ... done [18:02:51.897] signalConditions() ... [18:02:51.898] - include = 'immediateCondition' [18:02:51.898] - exclude = [18:02:51.898] - resignal = FALSE [18:02:51.898] - Number of conditions: 1 [18:02:51.898] signalConditions() ... done [18:02:51.898] receiveMessageFromWorker() for ClusterFuture ... done [18:02:51.899] A MultisessionFuture was resolved (result was not collected) [18:02:51.899] getGlobalsAndPackages() ... [18:02:51.899] Searching for globals... [18:02:51.900] - globals found: [2] 'list', 'stop' [18:02:51.900] Searching for globals ... DONE [18:02:51.900] Resolving globals: FALSE [18:02:51.900] [18:02:51.901] [18:02:51.901] getGlobalsAndPackages() ... DONE [18:02:51.901] run() for 'Future' ... [18:02:51.901] - state: 'created' [18:02:51.902] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:51.915] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:51.916] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:51.916] - Field: 'node' [18:02:51.916] - Field: 'label' [18:02:51.916] - Field: 'local' [18:02:51.916] - Field: 'owner' [18:02:51.917] - Field: 'envir' [18:02:51.917] - Field: 'workers' [18:02:51.919] - Field: 'packages' [18:02:51.920] - Field: 'gc' [18:02:51.920] - Field: 'conditions' [18:02:51.920] - Field: 'persistent' [18:02:51.920] - Field: 'expr' [18:02:51.920] - Field: 'uuid' [18:02:51.921] - Field: 'seed' [18:02:51.921] - Field: 'version' [18:02:51.921] - Field: 'result' [18:02:51.921] - Field: 'asynchronous' [18:02:51.921] - Field: 'calls' [18:02:51.921] - Field: 'globals' [18:02:51.922] - Field: 'stdout' [18:02:51.922] - Field: 'earlySignal' [18:02:51.922] - Field: 'lazy' [18:02:51.922] - Field: 'state' [18:02:51.922] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:51.922] - Launch lazy future ... [18:02:51.923] Packages needed by the future expression (n = 0): [18:02:51.923] Packages needed by future strategies (n = 0): [18:02:51.924] { [18:02:51.924] { [18:02:51.924] { [18:02:51.924] ...future.startTime <- base::Sys.time() [18:02:51.924] { [18:02:51.924] { [18:02:51.924] { [18:02:51.924] { [18:02:51.924] base::local({ [18:02:51.924] has_future <- base::requireNamespace("future", [18:02:51.924] quietly = TRUE) [18:02:51.924] if (has_future) { [18:02:51.924] ns <- base::getNamespace("future") [18:02:51.924] version <- ns[[".package"]][["version"]] [18:02:51.924] if (is.null(version)) [18:02:51.924] version <- utils::packageVersion("future") [18:02:51.924] } [18:02:51.924] else { [18:02:51.924] version <- NULL [18:02:51.924] } [18:02:51.924] if (!has_future || version < "1.8.0") { [18:02:51.924] info <- base::c(r_version = base::gsub("R version ", [18:02:51.924] "", base::R.version$version.string), [18:02:51.924] platform = base::sprintf("%s (%s-bit)", [18:02:51.924] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:51.924] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:51.924] "release", "version")], collapse = " "), [18:02:51.924] hostname = base::Sys.info()[["nodename"]]) [18:02:51.924] info <- base::sprintf("%s: %s", base::names(info), [18:02:51.924] info) [18:02:51.924] info <- base::paste(info, collapse = "; ") [18:02:51.924] if (!has_future) { [18:02:51.924] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:51.924] info) [18:02:51.924] } [18:02:51.924] else { [18:02:51.924] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:51.924] info, version) [18:02:51.924] } [18:02:51.924] base::stop(msg) [18:02:51.924] } [18:02:51.924] }) [18:02:51.924] } [18:02:51.924] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:51.924] base::options(mc.cores = 1L) [18:02:51.924] } [18:02:51.924] options(future.plan = NULL) [18:02:51.924] Sys.unsetenv("R_FUTURE_PLAN") [18:02:51.924] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:51.924] } [18:02:51.924] ...future.workdir <- getwd() [18:02:51.924] } [18:02:51.924] ...future.oldOptions <- base::as.list(base::.Options) [18:02:51.924] ...future.oldEnvVars <- base::Sys.getenv() [18:02:51.924] } [18:02:51.924] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:51.924] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:51.924] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:51.924] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:51.924] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:51.924] future.stdout.windows.reencode = NULL, width = 80L) [18:02:51.924] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:51.924] base::names(...future.oldOptions)) [18:02:51.924] } [18:02:51.924] if (FALSE) { [18:02:51.924] } [18:02:51.924] else { [18:02:51.924] if (TRUE) { [18:02:51.924] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:51.924] open = "w") [18:02:51.924] } [18:02:51.924] else { [18:02:51.924] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:51.924] windows = "NUL", "/dev/null"), open = "w") [18:02:51.924] } [18:02:51.924] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:51.924] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:51.924] base::sink(type = "output", split = FALSE) [18:02:51.924] base::close(...future.stdout) [18:02:51.924] }, add = TRUE) [18:02:51.924] } [18:02:51.924] ...future.frame <- base::sys.nframe() [18:02:51.924] ...future.conditions <- base::list() [18:02:51.924] ...future.rng <- base::globalenv()$.Random.seed [18:02:51.924] if (FALSE) { [18:02:51.924] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:51.924] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:51.924] } [18:02:51.924] ...future.result <- base::tryCatch({ [18:02:51.924] base::withCallingHandlers({ [18:02:51.924] ...future.value <- base::withVisible(base::local({ [18:02:51.924] ...future.makeSendCondition <- local({ [18:02:51.924] sendCondition <- NULL [18:02:51.924] function(frame = 1L) { [18:02:51.924] if (is.function(sendCondition)) [18:02:51.924] return(sendCondition) [18:02:51.924] ns <- getNamespace("parallel") [18:02:51.924] if (exists("sendData", mode = "function", [18:02:51.924] envir = ns)) { [18:02:51.924] parallel_sendData <- get("sendData", mode = "function", [18:02:51.924] envir = ns) [18:02:51.924] envir <- sys.frame(frame) [18:02:51.924] master <- NULL [18:02:51.924] while (!identical(envir, .GlobalEnv) && [18:02:51.924] !identical(envir, emptyenv())) { [18:02:51.924] if (exists("master", mode = "list", envir = envir, [18:02:51.924] inherits = FALSE)) { [18:02:51.924] master <- get("master", mode = "list", [18:02:51.924] envir = envir, inherits = FALSE) [18:02:51.924] if (inherits(master, c("SOCKnode", [18:02:51.924] "SOCK0node"))) { [18:02:51.924] sendCondition <<- function(cond) { [18:02:51.924] data <- list(type = "VALUE", value = cond, [18:02:51.924] success = TRUE) [18:02:51.924] parallel_sendData(master, data) [18:02:51.924] } [18:02:51.924] return(sendCondition) [18:02:51.924] } [18:02:51.924] } [18:02:51.924] frame <- frame + 1L [18:02:51.924] envir <- sys.frame(frame) [18:02:51.924] } [18:02:51.924] } [18:02:51.924] sendCondition <<- function(cond) NULL [18:02:51.924] } [18:02:51.924] }) [18:02:51.924] withCallingHandlers({ [18:02:51.924] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:51.924] }, immediateCondition = function(cond) { [18:02:51.924] sendCondition <- ...future.makeSendCondition() [18:02:51.924] sendCondition(cond) [18:02:51.924] muffleCondition <- function (cond, pattern = "^muffle") [18:02:51.924] { [18:02:51.924] inherits <- base::inherits [18:02:51.924] invokeRestart <- base::invokeRestart [18:02:51.924] is.null <- base::is.null [18:02:51.924] muffled <- FALSE [18:02:51.924] if (inherits(cond, "message")) { [18:02:51.924] muffled <- grepl(pattern, "muffleMessage") [18:02:51.924] if (muffled) [18:02:51.924] invokeRestart("muffleMessage") [18:02:51.924] } [18:02:51.924] else if (inherits(cond, "warning")) { [18:02:51.924] muffled <- grepl(pattern, "muffleWarning") [18:02:51.924] if (muffled) [18:02:51.924] invokeRestart("muffleWarning") [18:02:51.924] } [18:02:51.924] else if (inherits(cond, "condition")) { [18:02:51.924] if (!is.null(pattern)) { [18:02:51.924] computeRestarts <- base::computeRestarts [18:02:51.924] grepl <- base::grepl [18:02:51.924] restarts <- computeRestarts(cond) [18:02:51.924] for (restart in restarts) { [18:02:51.924] name <- restart$name [18:02:51.924] if (is.null(name)) [18:02:51.924] next [18:02:51.924] if (!grepl(pattern, name)) [18:02:51.924] next [18:02:51.924] invokeRestart(restart) [18:02:51.924] muffled <- TRUE [18:02:51.924] break [18:02:51.924] } [18:02:51.924] } [18:02:51.924] } [18:02:51.924] invisible(muffled) [18:02:51.924] } [18:02:51.924] muffleCondition(cond) [18:02:51.924] }) [18:02:51.924] })) [18:02:51.924] future::FutureResult(value = ...future.value$value, [18:02:51.924] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:51.924] ...future.rng), globalenv = if (FALSE) [18:02:51.924] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:51.924] ...future.globalenv.names)) [18:02:51.924] else NULL, started = ...future.startTime, version = "1.8") [18:02:51.924] }, condition = base::local({ [18:02:51.924] c <- base::c [18:02:51.924] inherits <- base::inherits [18:02:51.924] invokeRestart <- base::invokeRestart [18:02:51.924] length <- base::length [18:02:51.924] list <- base::list [18:02:51.924] seq.int <- base::seq.int [18:02:51.924] signalCondition <- base::signalCondition [18:02:51.924] sys.calls <- base::sys.calls [18:02:51.924] `[[` <- base::`[[` [18:02:51.924] `+` <- base::`+` [18:02:51.924] `<<-` <- base::`<<-` [18:02:51.924] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:51.924] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:51.924] 3L)] [18:02:51.924] } [18:02:51.924] function(cond) { [18:02:51.924] is_error <- inherits(cond, "error") [18:02:51.924] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:51.924] NULL) [18:02:51.924] if (is_error) { [18:02:51.924] sessionInformation <- function() { [18:02:51.924] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:51.924] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:51.924] search = base::search(), system = base::Sys.info()) [18:02:51.924] } [18:02:51.924] ...future.conditions[[length(...future.conditions) + [18:02:51.924] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:51.924] cond$call), session = sessionInformation(), [18:02:51.924] timestamp = base::Sys.time(), signaled = 0L) [18:02:51.924] signalCondition(cond) [18:02:51.924] } [18:02:51.924] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:51.924] "immediateCondition"))) { [18:02:51.924] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:51.924] ...future.conditions[[length(...future.conditions) + [18:02:51.924] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:51.924] if (TRUE && !signal) { [18:02:51.924] muffleCondition <- function (cond, pattern = "^muffle") [18:02:51.924] { [18:02:51.924] inherits <- base::inherits [18:02:51.924] invokeRestart <- base::invokeRestart [18:02:51.924] is.null <- base::is.null [18:02:51.924] muffled <- FALSE [18:02:51.924] if (inherits(cond, "message")) { [18:02:51.924] muffled <- grepl(pattern, "muffleMessage") [18:02:51.924] if (muffled) [18:02:51.924] invokeRestart("muffleMessage") [18:02:51.924] } [18:02:51.924] else if (inherits(cond, "warning")) { [18:02:51.924] muffled <- grepl(pattern, "muffleWarning") [18:02:51.924] if (muffled) [18:02:51.924] invokeRestart("muffleWarning") [18:02:51.924] } [18:02:51.924] else if (inherits(cond, "condition")) { [18:02:51.924] if (!is.null(pattern)) { [18:02:51.924] computeRestarts <- base::computeRestarts [18:02:51.924] grepl <- base::grepl [18:02:51.924] restarts <- computeRestarts(cond) [18:02:51.924] for (restart in restarts) { [18:02:51.924] name <- restart$name [18:02:51.924] if (is.null(name)) [18:02:51.924] next [18:02:51.924] if (!grepl(pattern, name)) [18:02:51.924] next [18:02:51.924] invokeRestart(restart) [18:02:51.924] muffled <- TRUE [18:02:51.924] break [18:02:51.924] } [18:02:51.924] } [18:02:51.924] } [18:02:51.924] invisible(muffled) [18:02:51.924] } [18:02:51.924] muffleCondition(cond, pattern = "^muffle") [18:02:51.924] } [18:02:51.924] } [18:02:51.924] else { [18:02:51.924] if (TRUE) { [18:02:51.924] muffleCondition <- function (cond, pattern = "^muffle") [18:02:51.924] { [18:02:51.924] inherits <- base::inherits [18:02:51.924] invokeRestart <- base::invokeRestart [18:02:51.924] is.null <- base::is.null [18:02:51.924] muffled <- FALSE [18:02:51.924] if (inherits(cond, "message")) { [18:02:51.924] muffled <- grepl(pattern, "muffleMessage") [18:02:51.924] if (muffled) [18:02:51.924] invokeRestart("muffleMessage") [18:02:51.924] } [18:02:51.924] else if (inherits(cond, "warning")) { [18:02:51.924] muffled <- grepl(pattern, "muffleWarning") [18:02:51.924] if (muffled) [18:02:51.924] invokeRestart("muffleWarning") [18:02:51.924] } [18:02:51.924] else if (inherits(cond, "condition")) { [18:02:51.924] if (!is.null(pattern)) { [18:02:51.924] computeRestarts <- base::computeRestarts [18:02:51.924] grepl <- base::grepl [18:02:51.924] restarts <- computeRestarts(cond) [18:02:51.924] for (restart in restarts) { [18:02:51.924] name <- restart$name [18:02:51.924] if (is.null(name)) [18:02:51.924] next [18:02:51.924] if (!grepl(pattern, name)) [18:02:51.924] next [18:02:51.924] invokeRestart(restart) [18:02:51.924] muffled <- TRUE [18:02:51.924] break [18:02:51.924] } [18:02:51.924] } [18:02:51.924] } [18:02:51.924] invisible(muffled) [18:02:51.924] } [18:02:51.924] muffleCondition(cond, pattern = "^muffle") [18:02:51.924] } [18:02:51.924] } [18:02:51.924] } [18:02:51.924] })) [18:02:51.924] }, error = function(ex) { [18:02:51.924] base::structure(base::list(value = NULL, visible = NULL, [18:02:51.924] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:51.924] ...future.rng), started = ...future.startTime, [18:02:51.924] finished = Sys.time(), session_uuid = NA_character_, [18:02:51.924] version = "1.8"), class = "FutureResult") [18:02:51.924] }, finally = { [18:02:51.924] if (!identical(...future.workdir, getwd())) [18:02:51.924] setwd(...future.workdir) [18:02:51.924] { [18:02:51.924] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:51.924] ...future.oldOptions$nwarnings <- NULL [18:02:51.924] } [18:02:51.924] base::options(...future.oldOptions) [18:02:51.924] if (.Platform$OS.type == "windows") { [18:02:51.924] old_names <- names(...future.oldEnvVars) [18:02:51.924] envs <- base::Sys.getenv() [18:02:51.924] names <- names(envs) [18:02:51.924] common <- intersect(names, old_names) [18:02:51.924] added <- setdiff(names, old_names) [18:02:51.924] removed <- setdiff(old_names, names) [18:02:51.924] changed <- common[...future.oldEnvVars[common] != [18:02:51.924] envs[common]] [18:02:51.924] NAMES <- toupper(changed) [18:02:51.924] args <- list() [18:02:51.924] for (kk in seq_along(NAMES)) { [18:02:51.924] name <- changed[[kk]] [18:02:51.924] NAME <- NAMES[[kk]] [18:02:51.924] if (name != NAME && is.element(NAME, old_names)) [18:02:51.924] next [18:02:51.924] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:51.924] } [18:02:51.924] NAMES <- toupper(added) [18:02:51.924] for (kk in seq_along(NAMES)) { [18:02:51.924] name <- added[[kk]] [18:02:51.924] NAME <- NAMES[[kk]] [18:02:51.924] if (name != NAME && is.element(NAME, old_names)) [18:02:51.924] next [18:02:51.924] args[[name]] <- "" [18:02:51.924] } [18:02:51.924] NAMES <- toupper(removed) [18:02:51.924] for (kk in seq_along(NAMES)) { [18:02:51.924] name <- removed[[kk]] [18:02:51.924] NAME <- NAMES[[kk]] [18:02:51.924] if (name != NAME && is.element(NAME, old_names)) [18:02:51.924] next [18:02:51.924] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:51.924] } [18:02:51.924] if (length(args) > 0) [18:02:51.924] base::do.call(base::Sys.setenv, args = args) [18:02:51.924] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:51.924] } [18:02:51.924] else { [18:02:51.924] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:51.924] } [18:02:51.924] { [18:02:51.924] if (base::length(...future.futureOptionsAdded) > [18:02:51.924] 0L) { [18:02:51.924] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:51.924] base::names(opts) <- ...future.futureOptionsAdded [18:02:51.924] base::options(opts) [18:02:51.924] } [18:02:51.924] { [18:02:51.924] { [18:02:51.924] base::options(mc.cores = ...future.mc.cores.old) [18:02:51.924] NULL [18:02:51.924] } [18:02:51.924] options(future.plan = NULL) [18:02:51.924] if (is.na(NA_character_)) [18:02:51.924] Sys.unsetenv("R_FUTURE_PLAN") [18:02:51.924] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:51.924] future::plan(list(function (..., workers = availableCores(), [18:02:51.924] lazy = FALSE, rscript_libs = .libPaths(), [18:02:51.924] envir = parent.frame()) [18:02:51.924] { [18:02:51.924] if (is.function(workers)) [18:02:51.924] workers <- workers() [18:02:51.924] workers <- structure(as.integer(workers), [18:02:51.924] class = class(workers)) [18:02:51.924] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:51.924] workers >= 1) [18:02:51.924] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:51.924] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:51.924] } [18:02:51.924] future <- MultisessionFuture(..., workers = workers, [18:02:51.924] lazy = lazy, rscript_libs = rscript_libs, [18:02:51.924] envir = envir) [18:02:51.924] if (!future$lazy) [18:02:51.924] future <- run(future) [18:02:51.924] invisible(future) [18:02:51.924] }), .cleanup = FALSE, .init = FALSE) [18:02:51.924] } [18:02:51.924] } [18:02:51.924] } [18:02:51.924] }) [18:02:51.924] if (TRUE) { [18:02:51.924] base::sink(type = "output", split = FALSE) [18:02:51.924] if (TRUE) { [18:02:51.924] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:51.924] } [18:02:51.924] else { [18:02:51.924] ...future.result["stdout"] <- base::list(NULL) [18:02:51.924] } [18:02:51.924] base::close(...future.stdout) [18:02:51.924] ...future.stdout <- NULL [18:02:51.924] } [18:02:51.924] ...future.result$conditions <- ...future.conditions [18:02:51.924] ...future.result$finished <- base::Sys.time() [18:02:51.924] ...future.result [18:02:51.924] } [18:02:51.929] MultisessionFuture started [18:02:51.930] - Launch lazy future ... done [18:02:51.930] run() for 'MultisessionFuture' ... done [18:02:51.946] receiveMessageFromWorker() for ClusterFuture ... [18:02:51.946] - Validating connection of MultisessionFuture [18:02:51.947] - received message: FutureResult [18:02:51.947] - Received FutureResult [18:02:51.947] - Erased future from FutureRegistry [18:02:51.947] result() for ClusterFuture ... [18:02:51.947] - result already collected: FutureResult [18:02:51.947] result() for ClusterFuture ... done [18:02:51.948] signalConditions() ... [18:02:51.948] - include = 'immediateCondition' [18:02:51.948] - exclude = [18:02:51.948] - resignal = FALSE [18:02:51.948] - Number of conditions: 1 [18:02:51.948] signalConditions() ... done [18:02:51.949] receiveMessageFromWorker() for ClusterFuture ... done [18:02:51.949] A MultisessionFuture was resolved (result was not collected) - result = FALSE, recursive = 2 ... DONE - result = FALSE, recursive = Inf ... [18:02:51.949] getGlobalsAndPackages() ... [18:02:51.949] Searching for globals... [18:02:51.951] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:51.951] Searching for globals ... DONE [18:02:51.951] Resolving globals: FALSE [18:02:51.951] [18:02:51.952] [18:02:51.952] getGlobalsAndPackages() ... DONE [18:02:51.952] run() for 'Future' ... [18:02:51.952] - state: 'created' [18:02:51.952] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:51.966] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:51.966] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:51.966] - Field: 'node' [18:02:51.967] - Field: 'label' [18:02:51.967] - Field: 'local' [18:02:51.967] - Field: 'owner' [18:02:51.967] - Field: 'envir' [18:02:51.967] - Field: 'workers' [18:02:51.967] - Field: 'packages' [18:02:51.968] - Field: 'gc' [18:02:51.968] - Field: 'conditions' [18:02:51.968] - Field: 'persistent' [18:02:51.968] - Field: 'expr' [18:02:51.968] - Field: 'uuid' [18:02:51.968] - Field: 'seed' [18:02:51.969] - Field: 'version' [18:02:51.969] - Field: 'result' [18:02:51.969] - Field: 'asynchronous' [18:02:51.969] - Field: 'calls' [18:02:51.969] - Field: 'globals' [18:02:51.970] - Field: 'stdout' [18:02:51.970] - Field: 'earlySignal' [18:02:51.970] - Field: 'lazy' [18:02:51.970] - Field: 'state' [18:02:51.970] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:51.970] - Launch lazy future ... [18:02:51.971] Packages needed by the future expression (n = 0): [18:02:51.971] Packages needed by future strategies (n = 0): [18:02:51.972] { [18:02:51.972] { [18:02:51.972] { [18:02:51.972] ...future.startTime <- base::Sys.time() [18:02:51.972] { [18:02:51.972] { [18:02:51.972] { [18:02:51.972] { [18:02:51.972] base::local({ [18:02:51.972] has_future <- base::requireNamespace("future", [18:02:51.972] quietly = TRUE) [18:02:51.972] if (has_future) { [18:02:51.972] ns <- base::getNamespace("future") [18:02:51.972] version <- ns[[".package"]][["version"]] [18:02:51.972] if (is.null(version)) [18:02:51.972] version <- utils::packageVersion("future") [18:02:51.972] } [18:02:51.972] else { [18:02:51.972] version <- NULL [18:02:51.972] } [18:02:51.972] if (!has_future || version < "1.8.0") { [18:02:51.972] info <- base::c(r_version = base::gsub("R version ", [18:02:51.972] "", base::R.version$version.string), [18:02:51.972] platform = base::sprintf("%s (%s-bit)", [18:02:51.972] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:51.972] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:51.972] "release", "version")], collapse = " "), [18:02:51.972] hostname = base::Sys.info()[["nodename"]]) [18:02:51.972] info <- base::sprintf("%s: %s", base::names(info), [18:02:51.972] info) [18:02:51.972] info <- base::paste(info, collapse = "; ") [18:02:51.972] if (!has_future) { [18:02:51.972] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:51.972] info) [18:02:51.972] } [18:02:51.972] else { [18:02:51.972] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:51.972] info, version) [18:02:51.972] } [18:02:51.972] base::stop(msg) [18:02:51.972] } [18:02:51.972] }) [18:02:51.972] } [18:02:51.972] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:51.972] base::options(mc.cores = 1L) [18:02:51.972] } [18:02:51.972] options(future.plan = NULL) [18:02:51.972] Sys.unsetenv("R_FUTURE_PLAN") [18:02:51.972] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:51.972] } [18:02:51.972] ...future.workdir <- getwd() [18:02:51.972] } [18:02:51.972] ...future.oldOptions <- base::as.list(base::.Options) [18:02:51.972] ...future.oldEnvVars <- base::Sys.getenv() [18:02:51.972] } [18:02:51.972] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:51.972] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:51.972] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:51.972] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:51.972] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:51.972] future.stdout.windows.reencode = NULL, width = 80L) [18:02:51.972] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:51.972] base::names(...future.oldOptions)) [18:02:51.972] } [18:02:51.972] if (FALSE) { [18:02:51.972] } [18:02:51.972] else { [18:02:51.972] if (TRUE) { [18:02:51.972] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:51.972] open = "w") [18:02:51.972] } [18:02:51.972] else { [18:02:51.972] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:51.972] windows = "NUL", "/dev/null"), open = "w") [18:02:51.972] } [18:02:51.972] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:51.972] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:51.972] base::sink(type = "output", split = FALSE) [18:02:51.972] base::close(...future.stdout) [18:02:51.972] }, add = TRUE) [18:02:51.972] } [18:02:51.972] ...future.frame <- base::sys.nframe() [18:02:51.972] ...future.conditions <- base::list() [18:02:51.972] ...future.rng <- base::globalenv()$.Random.seed [18:02:51.972] if (FALSE) { [18:02:51.972] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:51.972] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:51.972] } [18:02:51.972] ...future.result <- base::tryCatch({ [18:02:51.972] base::withCallingHandlers({ [18:02:51.972] ...future.value <- base::withVisible(base::local({ [18:02:51.972] ...future.makeSendCondition <- local({ [18:02:51.972] sendCondition <- NULL [18:02:51.972] function(frame = 1L) { [18:02:51.972] if (is.function(sendCondition)) [18:02:51.972] return(sendCondition) [18:02:51.972] ns <- getNamespace("parallel") [18:02:51.972] if (exists("sendData", mode = "function", [18:02:51.972] envir = ns)) { [18:02:51.972] parallel_sendData <- get("sendData", mode = "function", [18:02:51.972] envir = ns) [18:02:51.972] envir <- sys.frame(frame) [18:02:51.972] master <- NULL [18:02:51.972] while (!identical(envir, .GlobalEnv) && [18:02:51.972] !identical(envir, emptyenv())) { [18:02:51.972] if (exists("master", mode = "list", envir = envir, [18:02:51.972] inherits = FALSE)) { [18:02:51.972] master <- get("master", mode = "list", [18:02:51.972] envir = envir, inherits = FALSE) [18:02:51.972] if (inherits(master, c("SOCKnode", [18:02:51.972] "SOCK0node"))) { [18:02:51.972] sendCondition <<- function(cond) { [18:02:51.972] data <- list(type = "VALUE", value = cond, [18:02:51.972] success = TRUE) [18:02:51.972] parallel_sendData(master, data) [18:02:51.972] } [18:02:51.972] return(sendCondition) [18:02:51.972] } [18:02:51.972] } [18:02:51.972] frame <- frame + 1L [18:02:51.972] envir <- sys.frame(frame) [18:02:51.972] } [18:02:51.972] } [18:02:51.972] sendCondition <<- function(cond) NULL [18:02:51.972] } [18:02:51.972] }) [18:02:51.972] withCallingHandlers({ [18:02:51.972] { [18:02:51.972] Sys.sleep(0.5) [18:02:51.972] list(a = 1, b = 42L) [18:02:51.972] } [18:02:51.972] }, immediateCondition = function(cond) { [18:02:51.972] sendCondition <- ...future.makeSendCondition() [18:02:51.972] sendCondition(cond) [18:02:51.972] muffleCondition <- function (cond, pattern = "^muffle") [18:02:51.972] { [18:02:51.972] inherits <- base::inherits [18:02:51.972] invokeRestart <- base::invokeRestart [18:02:51.972] is.null <- base::is.null [18:02:51.972] muffled <- FALSE [18:02:51.972] if (inherits(cond, "message")) { [18:02:51.972] muffled <- grepl(pattern, "muffleMessage") [18:02:51.972] if (muffled) [18:02:51.972] invokeRestart("muffleMessage") [18:02:51.972] } [18:02:51.972] else if (inherits(cond, "warning")) { [18:02:51.972] muffled <- grepl(pattern, "muffleWarning") [18:02:51.972] if (muffled) [18:02:51.972] invokeRestart("muffleWarning") [18:02:51.972] } [18:02:51.972] else if (inherits(cond, "condition")) { [18:02:51.972] if (!is.null(pattern)) { [18:02:51.972] computeRestarts <- base::computeRestarts [18:02:51.972] grepl <- base::grepl [18:02:51.972] restarts <- computeRestarts(cond) [18:02:51.972] for (restart in restarts) { [18:02:51.972] name <- restart$name [18:02:51.972] if (is.null(name)) [18:02:51.972] next [18:02:51.972] if (!grepl(pattern, name)) [18:02:51.972] next [18:02:51.972] invokeRestart(restart) [18:02:51.972] muffled <- TRUE [18:02:51.972] break [18:02:51.972] } [18:02:51.972] } [18:02:51.972] } [18:02:51.972] invisible(muffled) [18:02:51.972] } [18:02:51.972] muffleCondition(cond) [18:02:51.972] }) [18:02:51.972] })) [18:02:51.972] future::FutureResult(value = ...future.value$value, [18:02:51.972] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:51.972] ...future.rng), globalenv = if (FALSE) [18:02:51.972] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:51.972] ...future.globalenv.names)) [18:02:51.972] else NULL, started = ...future.startTime, version = "1.8") [18:02:51.972] }, condition = base::local({ [18:02:51.972] c <- base::c [18:02:51.972] inherits <- base::inherits [18:02:51.972] invokeRestart <- base::invokeRestart [18:02:51.972] length <- base::length [18:02:51.972] list <- base::list [18:02:51.972] seq.int <- base::seq.int [18:02:51.972] signalCondition <- base::signalCondition [18:02:51.972] sys.calls <- base::sys.calls [18:02:51.972] `[[` <- base::`[[` [18:02:51.972] `+` <- base::`+` [18:02:51.972] `<<-` <- base::`<<-` [18:02:51.972] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:51.972] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:51.972] 3L)] [18:02:51.972] } [18:02:51.972] function(cond) { [18:02:51.972] is_error <- inherits(cond, "error") [18:02:51.972] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:51.972] NULL) [18:02:51.972] if (is_error) { [18:02:51.972] sessionInformation <- function() { [18:02:51.972] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:51.972] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:51.972] search = base::search(), system = base::Sys.info()) [18:02:51.972] } [18:02:51.972] ...future.conditions[[length(...future.conditions) + [18:02:51.972] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:51.972] cond$call), session = sessionInformation(), [18:02:51.972] timestamp = base::Sys.time(), signaled = 0L) [18:02:51.972] signalCondition(cond) [18:02:51.972] } [18:02:51.972] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:51.972] "immediateCondition"))) { [18:02:51.972] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:51.972] ...future.conditions[[length(...future.conditions) + [18:02:51.972] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:51.972] if (TRUE && !signal) { [18:02:51.972] muffleCondition <- function (cond, pattern = "^muffle") [18:02:51.972] { [18:02:51.972] inherits <- base::inherits [18:02:51.972] invokeRestart <- base::invokeRestart [18:02:51.972] is.null <- base::is.null [18:02:51.972] muffled <- FALSE [18:02:51.972] if (inherits(cond, "message")) { [18:02:51.972] muffled <- grepl(pattern, "muffleMessage") [18:02:51.972] if (muffled) [18:02:51.972] invokeRestart("muffleMessage") [18:02:51.972] } [18:02:51.972] else if (inherits(cond, "warning")) { [18:02:51.972] muffled <- grepl(pattern, "muffleWarning") [18:02:51.972] if (muffled) [18:02:51.972] invokeRestart("muffleWarning") [18:02:51.972] } [18:02:51.972] else if (inherits(cond, "condition")) { [18:02:51.972] if (!is.null(pattern)) { [18:02:51.972] computeRestarts <- base::computeRestarts [18:02:51.972] grepl <- base::grepl [18:02:51.972] restarts <- computeRestarts(cond) [18:02:51.972] for (restart in restarts) { [18:02:51.972] name <- restart$name [18:02:51.972] if (is.null(name)) [18:02:51.972] next [18:02:51.972] if (!grepl(pattern, name)) [18:02:51.972] next [18:02:51.972] invokeRestart(restart) [18:02:51.972] muffled <- TRUE [18:02:51.972] break [18:02:51.972] } [18:02:51.972] } [18:02:51.972] } [18:02:51.972] invisible(muffled) [18:02:51.972] } [18:02:51.972] muffleCondition(cond, pattern = "^muffle") [18:02:51.972] } [18:02:51.972] } [18:02:51.972] else { [18:02:51.972] if (TRUE) { [18:02:51.972] muffleCondition <- function (cond, pattern = "^muffle") [18:02:51.972] { [18:02:51.972] inherits <- base::inherits [18:02:51.972] invokeRestart <- base::invokeRestart [18:02:51.972] is.null <- base::is.null [18:02:51.972] muffled <- FALSE [18:02:51.972] if (inherits(cond, "message")) { [18:02:51.972] muffled <- grepl(pattern, "muffleMessage") [18:02:51.972] if (muffled) [18:02:51.972] invokeRestart("muffleMessage") [18:02:51.972] } [18:02:51.972] else if (inherits(cond, "warning")) { [18:02:51.972] muffled <- grepl(pattern, "muffleWarning") [18:02:51.972] if (muffled) [18:02:51.972] invokeRestart("muffleWarning") [18:02:51.972] } [18:02:51.972] else if (inherits(cond, "condition")) { [18:02:51.972] if (!is.null(pattern)) { [18:02:51.972] computeRestarts <- base::computeRestarts [18:02:51.972] grepl <- base::grepl [18:02:51.972] restarts <- computeRestarts(cond) [18:02:51.972] for (restart in restarts) { [18:02:51.972] name <- restart$name [18:02:51.972] if (is.null(name)) [18:02:51.972] next [18:02:51.972] if (!grepl(pattern, name)) [18:02:51.972] next [18:02:51.972] invokeRestart(restart) [18:02:51.972] muffled <- TRUE [18:02:51.972] break [18:02:51.972] } [18:02:51.972] } [18:02:51.972] } [18:02:51.972] invisible(muffled) [18:02:51.972] } [18:02:51.972] muffleCondition(cond, pattern = "^muffle") [18:02:51.972] } [18:02:51.972] } [18:02:51.972] } [18:02:51.972] })) [18:02:51.972] }, error = function(ex) { [18:02:51.972] base::structure(base::list(value = NULL, visible = NULL, [18:02:51.972] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:51.972] ...future.rng), started = ...future.startTime, [18:02:51.972] finished = Sys.time(), session_uuid = NA_character_, [18:02:51.972] version = "1.8"), class = "FutureResult") [18:02:51.972] }, finally = { [18:02:51.972] if (!identical(...future.workdir, getwd())) [18:02:51.972] setwd(...future.workdir) [18:02:51.972] { [18:02:51.972] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:51.972] ...future.oldOptions$nwarnings <- NULL [18:02:51.972] } [18:02:51.972] base::options(...future.oldOptions) [18:02:51.972] if (.Platform$OS.type == "windows") { [18:02:51.972] old_names <- names(...future.oldEnvVars) [18:02:51.972] envs <- base::Sys.getenv() [18:02:51.972] names <- names(envs) [18:02:51.972] common <- intersect(names, old_names) [18:02:51.972] added <- setdiff(names, old_names) [18:02:51.972] removed <- setdiff(old_names, names) [18:02:51.972] changed <- common[...future.oldEnvVars[common] != [18:02:51.972] envs[common]] [18:02:51.972] NAMES <- toupper(changed) [18:02:51.972] args <- list() [18:02:51.972] for (kk in seq_along(NAMES)) { [18:02:51.972] name <- changed[[kk]] [18:02:51.972] NAME <- NAMES[[kk]] [18:02:51.972] if (name != NAME && is.element(NAME, old_names)) [18:02:51.972] next [18:02:51.972] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:51.972] } [18:02:51.972] NAMES <- toupper(added) [18:02:51.972] for (kk in seq_along(NAMES)) { [18:02:51.972] name <- added[[kk]] [18:02:51.972] NAME <- NAMES[[kk]] [18:02:51.972] if (name != NAME && is.element(NAME, old_names)) [18:02:51.972] next [18:02:51.972] args[[name]] <- "" [18:02:51.972] } [18:02:51.972] NAMES <- toupper(removed) [18:02:51.972] for (kk in seq_along(NAMES)) { [18:02:51.972] name <- removed[[kk]] [18:02:51.972] NAME <- NAMES[[kk]] [18:02:51.972] if (name != NAME && is.element(NAME, old_names)) [18:02:51.972] next [18:02:51.972] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:51.972] } [18:02:51.972] if (length(args) > 0) [18:02:51.972] base::do.call(base::Sys.setenv, args = args) [18:02:51.972] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:51.972] } [18:02:51.972] else { [18:02:51.972] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:51.972] } [18:02:51.972] { [18:02:51.972] if (base::length(...future.futureOptionsAdded) > [18:02:51.972] 0L) { [18:02:51.972] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:51.972] base::names(opts) <- ...future.futureOptionsAdded [18:02:51.972] base::options(opts) [18:02:51.972] } [18:02:51.972] { [18:02:51.972] { [18:02:51.972] base::options(mc.cores = ...future.mc.cores.old) [18:02:51.972] NULL [18:02:51.972] } [18:02:51.972] options(future.plan = NULL) [18:02:51.972] if (is.na(NA_character_)) [18:02:51.972] Sys.unsetenv("R_FUTURE_PLAN") [18:02:51.972] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:51.972] future::plan(list(function (..., workers = availableCores(), [18:02:51.972] lazy = FALSE, rscript_libs = .libPaths(), [18:02:51.972] envir = parent.frame()) [18:02:51.972] { [18:02:51.972] if (is.function(workers)) [18:02:51.972] workers <- workers() [18:02:51.972] workers <- structure(as.integer(workers), [18:02:51.972] class = class(workers)) [18:02:51.972] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:51.972] workers >= 1) [18:02:51.972] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:51.972] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:51.972] } [18:02:51.972] future <- MultisessionFuture(..., workers = workers, [18:02:51.972] lazy = lazy, rscript_libs = rscript_libs, [18:02:51.972] envir = envir) [18:02:51.972] if (!future$lazy) [18:02:51.972] future <- run(future) [18:02:51.972] invisible(future) [18:02:51.972] }), .cleanup = FALSE, .init = FALSE) [18:02:51.972] } [18:02:51.972] } [18:02:51.972] } [18:02:51.972] }) [18:02:51.972] if (TRUE) { [18:02:51.972] base::sink(type = "output", split = FALSE) [18:02:51.972] if (TRUE) { [18:02:51.972] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:51.972] } [18:02:51.972] else { [18:02:51.972] ...future.result["stdout"] <- base::list(NULL) [18:02:51.972] } [18:02:51.972] base::close(...future.stdout) [18:02:51.972] ...future.stdout <- NULL [18:02:51.972] } [18:02:51.972] ...future.result$conditions <- ...future.conditions [18:02:51.972] ...future.result$finished <- base::Sys.time() [18:02:51.972] ...future.result [18:02:51.972] } [18:02:51.977] MultisessionFuture started [18:02:51.977] - Launch lazy future ... done [18:02:51.978] run() for 'MultisessionFuture' ... done [18:02:52.511] receiveMessageFromWorker() for ClusterFuture ... [18:02:52.511] - Validating connection of MultisessionFuture [18:02:52.511] - received message: FutureResult [18:02:52.512] - Received FutureResult [18:02:52.512] - Erased future from FutureRegistry [18:02:52.512] result() for ClusterFuture ... [18:02:52.512] - result already collected: FutureResult [18:02:52.512] result() for ClusterFuture ... done [18:02:52.513] receiveMessageFromWorker() for ClusterFuture ... done [18:02:52.513] A MultisessionFuture was resolved (result was not collected) [18:02:52.513] getGlobalsAndPackages() ... [18:02:52.513] Searching for globals... [18:02:52.515] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:52.515] Searching for globals ... DONE [18:02:52.515] Resolving globals: FALSE [18:02:52.516] [18:02:52.516] [18:02:52.516] getGlobalsAndPackages() ... DONE [18:02:52.516] run() for 'Future' ... [18:02:52.516] - state: 'created' [18:02:52.517] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:52.531] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:52.532] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:52.532] - Field: 'node' [18:02:52.532] - Field: 'label' [18:02:52.532] - Field: 'local' [18:02:52.532] - Field: 'owner' [18:02:52.533] - Field: 'envir' [18:02:52.533] - Field: 'workers' [18:02:52.533] - Field: 'packages' [18:02:52.533] - Field: 'gc' [18:02:52.533] - Field: 'conditions' [18:02:52.533] - Field: 'persistent' [18:02:52.534] - Field: 'expr' [18:02:52.534] - Field: 'uuid' [18:02:52.534] - Field: 'seed' [18:02:52.534] - Field: 'version' [18:02:52.534] - Field: 'result' [18:02:52.534] - Field: 'asynchronous' [18:02:52.535] - Field: 'calls' [18:02:52.535] - Field: 'globals' [18:02:52.535] - Field: 'stdout' [18:02:52.535] - Field: 'earlySignal' [18:02:52.535] - Field: 'lazy' [18:02:52.536] - Field: 'state' [18:02:52.536] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:52.536] - Launch lazy future ... [18:02:52.536] Packages needed by the future expression (n = 0): [18:02:52.536] Packages needed by future strategies (n = 0): [18:02:52.537] { [18:02:52.537] { [18:02:52.537] { [18:02:52.537] ...future.startTime <- base::Sys.time() [18:02:52.537] { [18:02:52.537] { [18:02:52.537] { [18:02:52.537] { [18:02:52.537] base::local({ [18:02:52.537] has_future <- base::requireNamespace("future", [18:02:52.537] quietly = TRUE) [18:02:52.537] if (has_future) { [18:02:52.537] ns <- base::getNamespace("future") [18:02:52.537] version <- ns[[".package"]][["version"]] [18:02:52.537] if (is.null(version)) [18:02:52.537] version <- utils::packageVersion("future") [18:02:52.537] } [18:02:52.537] else { [18:02:52.537] version <- NULL [18:02:52.537] } [18:02:52.537] if (!has_future || version < "1.8.0") { [18:02:52.537] info <- base::c(r_version = base::gsub("R version ", [18:02:52.537] "", base::R.version$version.string), [18:02:52.537] platform = base::sprintf("%s (%s-bit)", [18:02:52.537] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:52.537] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:52.537] "release", "version")], collapse = " "), [18:02:52.537] hostname = base::Sys.info()[["nodename"]]) [18:02:52.537] info <- base::sprintf("%s: %s", base::names(info), [18:02:52.537] info) [18:02:52.537] info <- base::paste(info, collapse = "; ") [18:02:52.537] if (!has_future) { [18:02:52.537] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:52.537] info) [18:02:52.537] } [18:02:52.537] else { [18:02:52.537] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:52.537] info, version) [18:02:52.537] } [18:02:52.537] base::stop(msg) [18:02:52.537] } [18:02:52.537] }) [18:02:52.537] } [18:02:52.537] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:52.537] base::options(mc.cores = 1L) [18:02:52.537] } [18:02:52.537] options(future.plan = NULL) [18:02:52.537] Sys.unsetenv("R_FUTURE_PLAN") [18:02:52.537] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:52.537] } [18:02:52.537] ...future.workdir <- getwd() [18:02:52.537] } [18:02:52.537] ...future.oldOptions <- base::as.list(base::.Options) [18:02:52.537] ...future.oldEnvVars <- base::Sys.getenv() [18:02:52.537] } [18:02:52.537] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:52.537] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:52.537] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:52.537] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:52.537] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:52.537] future.stdout.windows.reencode = NULL, width = 80L) [18:02:52.537] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:52.537] base::names(...future.oldOptions)) [18:02:52.537] } [18:02:52.537] if (FALSE) { [18:02:52.537] } [18:02:52.537] else { [18:02:52.537] if (TRUE) { [18:02:52.537] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:52.537] open = "w") [18:02:52.537] } [18:02:52.537] else { [18:02:52.537] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:52.537] windows = "NUL", "/dev/null"), open = "w") [18:02:52.537] } [18:02:52.537] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:52.537] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:52.537] base::sink(type = "output", split = FALSE) [18:02:52.537] base::close(...future.stdout) [18:02:52.537] }, add = TRUE) [18:02:52.537] } [18:02:52.537] ...future.frame <- base::sys.nframe() [18:02:52.537] ...future.conditions <- base::list() [18:02:52.537] ...future.rng <- base::globalenv()$.Random.seed [18:02:52.537] if (FALSE) { [18:02:52.537] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:52.537] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:52.537] } [18:02:52.537] ...future.result <- base::tryCatch({ [18:02:52.537] base::withCallingHandlers({ [18:02:52.537] ...future.value <- base::withVisible(base::local({ [18:02:52.537] ...future.makeSendCondition <- local({ [18:02:52.537] sendCondition <- NULL [18:02:52.537] function(frame = 1L) { [18:02:52.537] if (is.function(sendCondition)) [18:02:52.537] return(sendCondition) [18:02:52.537] ns <- getNamespace("parallel") [18:02:52.537] if (exists("sendData", mode = "function", [18:02:52.537] envir = ns)) { [18:02:52.537] parallel_sendData <- get("sendData", mode = "function", [18:02:52.537] envir = ns) [18:02:52.537] envir <- sys.frame(frame) [18:02:52.537] master <- NULL [18:02:52.537] while (!identical(envir, .GlobalEnv) && [18:02:52.537] !identical(envir, emptyenv())) { [18:02:52.537] if (exists("master", mode = "list", envir = envir, [18:02:52.537] inherits = FALSE)) { [18:02:52.537] master <- get("master", mode = "list", [18:02:52.537] envir = envir, inherits = FALSE) [18:02:52.537] if (inherits(master, c("SOCKnode", [18:02:52.537] "SOCK0node"))) { [18:02:52.537] sendCondition <<- function(cond) { [18:02:52.537] data <- list(type = "VALUE", value = cond, [18:02:52.537] success = TRUE) [18:02:52.537] parallel_sendData(master, data) [18:02:52.537] } [18:02:52.537] return(sendCondition) [18:02:52.537] } [18:02:52.537] } [18:02:52.537] frame <- frame + 1L [18:02:52.537] envir <- sys.frame(frame) [18:02:52.537] } [18:02:52.537] } [18:02:52.537] sendCondition <<- function(cond) NULL [18:02:52.537] } [18:02:52.537] }) [18:02:52.537] withCallingHandlers({ [18:02:52.537] { [18:02:52.537] Sys.sleep(0.5) [18:02:52.537] list(a = 1, b = 42L) [18:02:52.537] } [18:02:52.537] }, immediateCondition = function(cond) { [18:02:52.537] sendCondition <- ...future.makeSendCondition() [18:02:52.537] sendCondition(cond) [18:02:52.537] muffleCondition <- function (cond, pattern = "^muffle") [18:02:52.537] { [18:02:52.537] inherits <- base::inherits [18:02:52.537] invokeRestart <- base::invokeRestart [18:02:52.537] is.null <- base::is.null [18:02:52.537] muffled <- FALSE [18:02:52.537] if (inherits(cond, "message")) { [18:02:52.537] muffled <- grepl(pattern, "muffleMessage") [18:02:52.537] if (muffled) [18:02:52.537] invokeRestart("muffleMessage") [18:02:52.537] } [18:02:52.537] else if (inherits(cond, "warning")) { [18:02:52.537] muffled <- grepl(pattern, "muffleWarning") [18:02:52.537] if (muffled) [18:02:52.537] invokeRestart("muffleWarning") [18:02:52.537] } [18:02:52.537] else if (inherits(cond, "condition")) { [18:02:52.537] if (!is.null(pattern)) { [18:02:52.537] computeRestarts <- base::computeRestarts [18:02:52.537] grepl <- base::grepl [18:02:52.537] restarts <- computeRestarts(cond) [18:02:52.537] for (restart in restarts) { [18:02:52.537] name <- restart$name [18:02:52.537] if (is.null(name)) [18:02:52.537] next [18:02:52.537] if (!grepl(pattern, name)) [18:02:52.537] next [18:02:52.537] invokeRestart(restart) [18:02:52.537] muffled <- TRUE [18:02:52.537] break [18:02:52.537] } [18:02:52.537] } [18:02:52.537] } [18:02:52.537] invisible(muffled) [18:02:52.537] } [18:02:52.537] muffleCondition(cond) [18:02:52.537] }) [18:02:52.537] })) [18:02:52.537] future::FutureResult(value = ...future.value$value, [18:02:52.537] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:52.537] ...future.rng), globalenv = if (FALSE) [18:02:52.537] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:52.537] ...future.globalenv.names)) [18:02:52.537] else NULL, started = ...future.startTime, version = "1.8") [18:02:52.537] }, condition = base::local({ [18:02:52.537] c <- base::c [18:02:52.537] inherits <- base::inherits [18:02:52.537] invokeRestart <- base::invokeRestart [18:02:52.537] length <- base::length [18:02:52.537] list <- base::list [18:02:52.537] seq.int <- base::seq.int [18:02:52.537] signalCondition <- base::signalCondition [18:02:52.537] sys.calls <- base::sys.calls [18:02:52.537] `[[` <- base::`[[` [18:02:52.537] `+` <- base::`+` [18:02:52.537] `<<-` <- base::`<<-` [18:02:52.537] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:52.537] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:52.537] 3L)] [18:02:52.537] } [18:02:52.537] function(cond) { [18:02:52.537] is_error <- inherits(cond, "error") [18:02:52.537] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:52.537] NULL) [18:02:52.537] if (is_error) { [18:02:52.537] sessionInformation <- function() { [18:02:52.537] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:52.537] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:52.537] search = base::search(), system = base::Sys.info()) [18:02:52.537] } [18:02:52.537] ...future.conditions[[length(...future.conditions) + [18:02:52.537] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:52.537] cond$call), session = sessionInformation(), [18:02:52.537] timestamp = base::Sys.time(), signaled = 0L) [18:02:52.537] signalCondition(cond) [18:02:52.537] } [18:02:52.537] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:52.537] "immediateCondition"))) { [18:02:52.537] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:52.537] ...future.conditions[[length(...future.conditions) + [18:02:52.537] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:52.537] if (TRUE && !signal) { [18:02:52.537] muffleCondition <- function (cond, pattern = "^muffle") [18:02:52.537] { [18:02:52.537] inherits <- base::inherits [18:02:52.537] invokeRestart <- base::invokeRestart [18:02:52.537] is.null <- base::is.null [18:02:52.537] muffled <- FALSE [18:02:52.537] if (inherits(cond, "message")) { [18:02:52.537] muffled <- grepl(pattern, "muffleMessage") [18:02:52.537] if (muffled) [18:02:52.537] invokeRestart("muffleMessage") [18:02:52.537] } [18:02:52.537] else if (inherits(cond, "warning")) { [18:02:52.537] muffled <- grepl(pattern, "muffleWarning") [18:02:52.537] if (muffled) [18:02:52.537] invokeRestart("muffleWarning") [18:02:52.537] } [18:02:52.537] else if (inherits(cond, "condition")) { [18:02:52.537] if (!is.null(pattern)) { [18:02:52.537] computeRestarts <- base::computeRestarts [18:02:52.537] grepl <- base::grepl [18:02:52.537] restarts <- computeRestarts(cond) [18:02:52.537] for (restart in restarts) { [18:02:52.537] name <- restart$name [18:02:52.537] if (is.null(name)) [18:02:52.537] next [18:02:52.537] if (!grepl(pattern, name)) [18:02:52.537] next [18:02:52.537] invokeRestart(restart) [18:02:52.537] muffled <- TRUE [18:02:52.537] break [18:02:52.537] } [18:02:52.537] } [18:02:52.537] } [18:02:52.537] invisible(muffled) [18:02:52.537] } [18:02:52.537] muffleCondition(cond, pattern = "^muffle") [18:02:52.537] } [18:02:52.537] } [18:02:52.537] else { [18:02:52.537] if (TRUE) { [18:02:52.537] muffleCondition <- function (cond, pattern = "^muffle") [18:02:52.537] { [18:02:52.537] inherits <- base::inherits [18:02:52.537] invokeRestart <- base::invokeRestart [18:02:52.537] is.null <- base::is.null [18:02:52.537] muffled <- FALSE [18:02:52.537] if (inherits(cond, "message")) { [18:02:52.537] muffled <- grepl(pattern, "muffleMessage") [18:02:52.537] if (muffled) [18:02:52.537] invokeRestart("muffleMessage") [18:02:52.537] } [18:02:52.537] else if (inherits(cond, "warning")) { [18:02:52.537] muffled <- grepl(pattern, "muffleWarning") [18:02:52.537] if (muffled) [18:02:52.537] invokeRestart("muffleWarning") [18:02:52.537] } [18:02:52.537] else if (inherits(cond, "condition")) { [18:02:52.537] if (!is.null(pattern)) { [18:02:52.537] computeRestarts <- base::computeRestarts [18:02:52.537] grepl <- base::grepl [18:02:52.537] restarts <- computeRestarts(cond) [18:02:52.537] for (restart in restarts) { [18:02:52.537] name <- restart$name [18:02:52.537] if (is.null(name)) [18:02:52.537] next [18:02:52.537] if (!grepl(pattern, name)) [18:02:52.537] next [18:02:52.537] invokeRestart(restart) [18:02:52.537] muffled <- TRUE [18:02:52.537] break [18:02:52.537] } [18:02:52.537] } [18:02:52.537] } [18:02:52.537] invisible(muffled) [18:02:52.537] } [18:02:52.537] muffleCondition(cond, pattern = "^muffle") [18:02:52.537] } [18:02:52.537] } [18:02:52.537] } [18:02:52.537] })) [18:02:52.537] }, error = function(ex) { [18:02:52.537] base::structure(base::list(value = NULL, visible = NULL, [18:02:52.537] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:52.537] ...future.rng), started = ...future.startTime, [18:02:52.537] finished = Sys.time(), session_uuid = NA_character_, [18:02:52.537] version = "1.8"), class = "FutureResult") [18:02:52.537] }, finally = { [18:02:52.537] if (!identical(...future.workdir, getwd())) [18:02:52.537] setwd(...future.workdir) [18:02:52.537] { [18:02:52.537] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:52.537] ...future.oldOptions$nwarnings <- NULL [18:02:52.537] } [18:02:52.537] base::options(...future.oldOptions) [18:02:52.537] if (.Platform$OS.type == "windows") { [18:02:52.537] old_names <- names(...future.oldEnvVars) [18:02:52.537] envs <- base::Sys.getenv() [18:02:52.537] names <- names(envs) [18:02:52.537] common <- intersect(names, old_names) [18:02:52.537] added <- setdiff(names, old_names) [18:02:52.537] removed <- setdiff(old_names, names) [18:02:52.537] changed <- common[...future.oldEnvVars[common] != [18:02:52.537] envs[common]] [18:02:52.537] NAMES <- toupper(changed) [18:02:52.537] args <- list() [18:02:52.537] for (kk in seq_along(NAMES)) { [18:02:52.537] name <- changed[[kk]] [18:02:52.537] NAME <- NAMES[[kk]] [18:02:52.537] if (name != NAME && is.element(NAME, old_names)) [18:02:52.537] next [18:02:52.537] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:52.537] } [18:02:52.537] NAMES <- toupper(added) [18:02:52.537] for (kk in seq_along(NAMES)) { [18:02:52.537] name <- added[[kk]] [18:02:52.537] NAME <- NAMES[[kk]] [18:02:52.537] if (name != NAME && is.element(NAME, old_names)) [18:02:52.537] next [18:02:52.537] args[[name]] <- "" [18:02:52.537] } [18:02:52.537] NAMES <- toupper(removed) [18:02:52.537] for (kk in seq_along(NAMES)) { [18:02:52.537] name <- removed[[kk]] [18:02:52.537] NAME <- NAMES[[kk]] [18:02:52.537] if (name != NAME && is.element(NAME, old_names)) [18:02:52.537] next [18:02:52.537] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:52.537] } [18:02:52.537] if (length(args) > 0) [18:02:52.537] base::do.call(base::Sys.setenv, args = args) [18:02:52.537] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:52.537] } [18:02:52.537] else { [18:02:52.537] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:52.537] } [18:02:52.537] { [18:02:52.537] if (base::length(...future.futureOptionsAdded) > [18:02:52.537] 0L) { [18:02:52.537] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:52.537] base::names(opts) <- ...future.futureOptionsAdded [18:02:52.537] base::options(opts) [18:02:52.537] } [18:02:52.537] { [18:02:52.537] { [18:02:52.537] base::options(mc.cores = ...future.mc.cores.old) [18:02:52.537] NULL [18:02:52.537] } [18:02:52.537] options(future.plan = NULL) [18:02:52.537] if (is.na(NA_character_)) [18:02:52.537] Sys.unsetenv("R_FUTURE_PLAN") [18:02:52.537] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:52.537] future::plan(list(function (..., workers = availableCores(), [18:02:52.537] lazy = FALSE, rscript_libs = .libPaths(), [18:02:52.537] envir = parent.frame()) [18:02:52.537] { [18:02:52.537] if (is.function(workers)) [18:02:52.537] workers <- workers() [18:02:52.537] workers <- structure(as.integer(workers), [18:02:52.537] class = class(workers)) [18:02:52.537] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:52.537] workers >= 1) [18:02:52.537] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:52.537] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:52.537] } [18:02:52.537] future <- MultisessionFuture(..., workers = workers, [18:02:52.537] lazy = lazy, rscript_libs = rscript_libs, [18:02:52.537] envir = envir) [18:02:52.537] if (!future$lazy) [18:02:52.537] future <- run(future) [18:02:52.537] invisible(future) [18:02:52.537] }), .cleanup = FALSE, .init = FALSE) [18:02:52.537] } [18:02:52.537] } [18:02:52.537] } [18:02:52.537] }) [18:02:52.537] if (TRUE) { [18:02:52.537] base::sink(type = "output", split = FALSE) [18:02:52.537] if (TRUE) { [18:02:52.537] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:52.537] } [18:02:52.537] else { [18:02:52.537] ...future.result["stdout"] <- base::list(NULL) [18:02:52.537] } [18:02:52.537] base::close(...future.stdout) [18:02:52.537] ...future.stdout <- NULL [18:02:52.537] } [18:02:52.537] ...future.result$conditions <- ...future.conditions [18:02:52.537] ...future.result$finished <- base::Sys.time() [18:02:52.537] ...future.result [18:02:52.537] } [18:02:52.543] MultisessionFuture started [18:02:52.543] - Launch lazy future ... done [18:02:52.544] run() for 'MultisessionFuture' ... done [18:02:53.063] receiveMessageFromWorker() for ClusterFuture ... [18:02:53.063] - Validating connection of MultisessionFuture [18:02:53.063] - received message: FutureResult [18:02:53.064] - Received FutureResult [18:02:53.064] - Erased future from FutureRegistry [18:02:53.064] result() for ClusterFuture ... [18:02:53.064] - result already collected: FutureResult [18:02:53.064] result() for ClusterFuture ... done [18:02:53.064] receiveMessageFromWorker() for ClusterFuture ... done [18:02:53.065] A MultisessionFuture was resolved (result was not collected) - w/ exception ... [18:02:53.065] getGlobalsAndPackages() ... [18:02:53.065] Searching for globals... [18:02:53.066] - globals found: [2] 'list', 'stop' [18:02:53.066] Searching for globals ... DONE [18:02:53.066] Resolving globals: FALSE [18:02:53.067] [18:02:53.067] [18:02:53.067] getGlobalsAndPackages() ... DONE [18:02:53.067] run() for 'Future' ... [18:02:53.068] - state: 'created' [18:02:53.068] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:53.082] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:53.082] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:53.082] - Field: 'node' [18:02:53.083] - Field: 'label' [18:02:53.083] - Field: 'local' [18:02:53.083] - Field: 'owner' [18:02:53.083] - Field: 'envir' [18:02:53.083] - Field: 'workers' [18:02:53.083] - Field: 'packages' [18:02:53.084] - Field: 'gc' [18:02:53.084] - Field: 'conditions' [18:02:53.084] - Field: 'persistent' [18:02:53.084] - Field: 'expr' [18:02:53.084] - Field: 'uuid' [18:02:53.084] - Field: 'seed' [18:02:53.085] - Field: 'version' [18:02:53.085] - Field: 'result' [18:02:53.085] - Field: 'asynchronous' [18:02:53.085] - Field: 'calls' [18:02:53.085] - Field: 'globals' [18:02:53.086] - Field: 'stdout' [18:02:53.086] - Field: 'earlySignal' [18:02:53.086] - Field: 'lazy' [18:02:53.086] - Field: 'state' [18:02:53.086] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:53.086] - Launch lazy future ... [18:02:53.087] Packages needed by the future expression (n = 0): [18:02:53.087] Packages needed by future strategies (n = 0): [18:02:53.088] { [18:02:53.088] { [18:02:53.088] { [18:02:53.088] ...future.startTime <- base::Sys.time() [18:02:53.088] { [18:02:53.088] { [18:02:53.088] { [18:02:53.088] { [18:02:53.088] base::local({ [18:02:53.088] has_future <- base::requireNamespace("future", [18:02:53.088] quietly = TRUE) [18:02:53.088] if (has_future) { [18:02:53.088] ns <- base::getNamespace("future") [18:02:53.088] version <- ns[[".package"]][["version"]] [18:02:53.088] if (is.null(version)) [18:02:53.088] version <- utils::packageVersion("future") [18:02:53.088] } [18:02:53.088] else { [18:02:53.088] version <- NULL [18:02:53.088] } [18:02:53.088] if (!has_future || version < "1.8.0") { [18:02:53.088] info <- base::c(r_version = base::gsub("R version ", [18:02:53.088] "", base::R.version$version.string), [18:02:53.088] platform = base::sprintf("%s (%s-bit)", [18:02:53.088] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:53.088] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:53.088] "release", "version")], collapse = " "), [18:02:53.088] hostname = base::Sys.info()[["nodename"]]) [18:02:53.088] info <- base::sprintf("%s: %s", base::names(info), [18:02:53.088] info) [18:02:53.088] info <- base::paste(info, collapse = "; ") [18:02:53.088] if (!has_future) { [18:02:53.088] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:53.088] info) [18:02:53.088] } [18:02:53.088] else { [18:02:53.088] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:53.088] info, version) [18:02:53.088] } [18:02:53.088] base::stop(msg) [18:02:53.088] } [18:02:53.088] }) [18:02:53.088] } [18:02:53.088] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:53.088] base::options(mc.cores = 1L) [18:02:53.088] } [18:02:53.088] options(future.plan = NULL) [18:02:53.088] Sys.unsetenv("R_FUTURE_PLAN") [18:02:53.088] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:53.088] } [18:02:53.088] ...future.workdir <- getwd() [18:02:53.088] } [18:02:53.088] ...future.oldOptions <- base::as.list(base::.Options) [18:02:53.088] ...future.oldEnvVars <- base::Sys.getenv() [18:02:53.088] } [18:02:53.088] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:53.088] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:53.088] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:53.088] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:53.088] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:53.088] future.stdout.windows.reencode = NULL, width = 80L) [18:02:53.088] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:53.088] base::names(...future.oldOptions)) [18:02:53.088] } [18:02:53.088] if (FALSE) { [18:02:53.088] } [18:02:53.088] else { [18:02:53.088] if (TRUE) { [18:02:53.088] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:53.088] open = "w") [18:02:53.088] } [18:02:53.088] else { [18:02:53.088] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:53.088] windows = "NUL", "/dev/null"), open = "w") [18:02:53.088] } [18:02:53.088] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:53.088] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:53.088] base::sink(type = "output", split = FALSE) [18:02:53.088] base::close(...future.stdout) [18:02:53.088] }, add = TRUE) [18:02:53.088] } [18:02:53.088] ...future.frame <- base::sys.nframe() [18:02:53.088] ...future.conditions <- base::list() [18:02:53.088] ...future.rng <- base::globalenv()$.Random.seed [18:02:53.088] if (FALSE) { [18:02:53.088] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:53.088] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:53.088] } [18:02:53.088] ...future.result <- base::tryCatch({ [18:02:53.088] base::withCallingHandlers({ [18:02:53.088] ...future.value <- base::withVisible(base::local({ [18:02:53.088] ...future.makeSendCondition <- local({ [18:02:53.088] sendCondition <- NULL [18:02:53.088] function(frame = 1L) { [18:02:53.088] if (is.function(sendCondition)) [18:02:53.088] return(sendCondition) [18:02:53.088] ns <- getNamespace("parallel") [18:02:53.088] if (exists("sendData", mode = "function", [18:02:53.088] envir = ns)) { [18:02:53.088] parallel_sendData <- get("sendData", mode = "function", [18:02:53.088] envir = ns) [18:02:53.088] envir <- sys.frame(frame) [18:02:53.088] master <- NULL [18:02:53.088] while (!identical(envir, .GlobalEnv) && [18:02:53.088] !identical(envir, emptyenv())) { [18:02:53.088] if (exists("master", mode = "list", envir = envir, [18:02:53.088] inherits = FALSE)) { [18:02:53.088] master <- get("master", mode = "list", [18:02:53.088] envir = envir, inherits = FALSE) [18:02:53.088] if (inherits(master, c("SOCKnode", [18:02:53.088] "SOCK0node"))) { [18:02:53.088] sendCondition <<- function(cond) { [18:02:53.088] data <- list(type = "VALUE", value = cond, [18:02:53.088] success = TRUE) [18:02:53.088] parallel_sendData(master, data) [18:02:53.088] } [18:02:53.088] return(sendCondition) [18:02:53.088] } [18:02:53.088] } [18:02:53.088] frame <- frame + 1L [18:02:53.088] envir <- sys.frame(frame) [18:02:53.088] } [18:02:53.088] } [18:02:53.088] sendCondition <<- function(cond) NULL [18:02:53.088] } [18:02:53.088] }) [18:02:53.088] withCallingHandlers({ [18:02:53.088] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:53.088] }, immediateCondition = function(cond) { [18:02:53.088] sendCondition <- ...future.makeSendCondition() [18:02:53.088] sendCondition(cond) [18:02:53.088] muffleCondition <- function (cond, pattern = "^muffle") [18:02:53.088] { [18:02:53.088] inherits <- base::inherits [18:02:53.088] invokeRestart <- base::invokeRestart [18:02:53.088] is.null <- base::is.null [18:02:53.088] muffled <- FALSE [18:02:53.088] if (inherits(cond, "message")) { [18:02:53.088] muffled <- grepl(pattern, "muffleMessage") [18:02:53.088] if (muffled) [18:02:53.088] invokeRestart("muffleMessage") [18:02:53.088] } [18:02:53.088] else if (inherits(cond, "warning")) { [18:02:53.088] muffled <- grepl(pattern, "muffleWarning") [18:02:53.088] if (muffled) [18:02:53.088] invokeRestart("muffleWarning") [18:02:53.088] } [18:02:53.088] else if (inherits(cond, "condition")) { [18:02:53.088] if (!is.null(pattern)) { [18:02:53.088] computeRestarts <- base::computeRestarts [18:02:53.088] grepl <- base::grepl [18:02:53.088] restarts <- computeRestarts(cond) [18:02:53.088] for (restart in restarts) { [18:02:53.088] name <- restart$name [18:02:53.088] if (is.null(name)) [18:02:53.088] next [18:02:53.088] if (!grepl(pattern, name)) [18:02:53.088] next [18:02:53.088] invokeRestart(restart) [18:02:53.088] muffled <- TRUE [18:02:53.088] break [18:02:53.088] } [18:02:53.088] } [18:02:53.088] } [18:02:53.088] invisible(muffled) [18:02:53.088] } [18:02:53.088] muffleCondition(cond) [18:02:53.088] }) [18:02:53.088] })) [18:02:53.088] future::FutureResult(value = ...future.value$value, [18:02:53.088] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:53.088] ...future.rng), globalenv = if (FALSE) [18:02:53.088] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:53.088] ...future.globalenv.names)) [18:02:53.088] else NULL, started = ...future.startTime, version = "1.8") [18:02:53.088] }, condition = base::local({ [18:02:53.088] c <- base::c [18:02:53.088] inherits <- base::inherits [18:02:53.088] invokeRestart <- base::invokeRestart [18:02:53.088] length <- base::length [18:02:53.088] list <- base::list [18:02:53.088] seq.int <- base::seq.int [18:02:53.088] signalCondition <- base::signalCondition [18:02:53.088] sys.calls <- base::sys.calls [18:02:53.088] `[[` <- base::`[[` [18:02:53.088] `+` <- base::`+` [18:02:53.088] `<<-` <- base::`<<-` [18:02:53.088] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:53.088] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:53.088] 3L)] [18:02:53.088] } [18:02:53.088] function(cond) { [18:02:53.088] is_error <- inherits(cond, "error") [18:02:53.088] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:53.088] NULL) [18:02:53.088] if (is_error) { [18:02:53.088] sessionInformation <- function() { [18:02:53.088] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:53.088] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:53.088] search = base::search(), system = base::Sys.info()) [18:02:53.088] } [18:02:53.088] ...future.conditions[[length(...future.conditions) + [18:02:53.088] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:53.088] cond$call), session = sessionInformation(), [18:02:53.088] timestamp = base::Sys.time(), signaled = 0L) [18:02:53.088] signalCondition(cond) [18:02:53.088] } [18:02:53.088] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:53.088] "immediateCondition"))) { [18:02:53.088] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:53.088] ...future.conditions[[length(...future.conditions) + [18:02:53.088] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:53.088] if (TRUE && !signal) { [18:02:53.088] muffleCondition <- function (cond, pattern = "^muffle") [18:02:53.088] { [18:02:53.088] inherits <- base::inherits [18:02:53.088] invokeRestart <- base::invokeRestart [18:02:53.088] is.null <- base::is.null [18:02:53.088] muffled <- FALSE [18:02:53.088] if (inherits(cond, "message")) { [18:02:53.088] muffled <- grepl(pattern, "muffleMessage") [18:02:53.088] if (muffled) [18:02:53.088] invokeRestart("muffleMessage") [18:02:53.088] } [18:02:53.088] else if (inherits(cond, "warning")) { [18:02:53.088] muffled <- grepl(pattern, "muffleWarning") [18:02:53.088] if (muffled) [18:02:53.088] invokeRestart("muffleWarning") [18:02:53.088] } [18:02:53.088] else if (inherits(cond, "condition")) { [18:02:53.088] if (!is.null(pattern)) { [18:02:53.088] computeRestarts <- base::computeRestarts [18:02:53.088] grepl <- base::grepl [18:02:53.088] restarts <- computeRestarts(cond) [18:02:53.088] for (restart in restarts) { [18:02:53.088] name <- restart$name [18:02:53.088] if (is.null(name)) [18:02:53.088] next [18:02:53.088] if (!grepl(pattern, name)) [18:02:53.088] next [18:02:53.088] invokeRestart(restart) [18:02:53.088] muffled <- TRUE [18:02:53.088] break [18:02:53.088] } [18:02:53.088] } [18:02:53.088] } [18:02:53.088] invisible(muffled) [18:02:53.088] } [18:02:53.088] muffleCondition(cond, pattern = "^muffle") [18:02:53.088] } [18:02:53.088] } [18:02:53.088] else { [18:02:53.088] if (TRUE) { [18:02:53.088] muffleCondition <- function (cond, pattern = "^muffle") [18:02:53.088] { [18:02:53.088] inherits <- base::inherits [18:02:53.088] invokeRestart <- base::invokeRestart [18:02:53.088] is.null <- base::is.null [18:02:53.088] muffled <- FALSE [18:02:53.088] if (inherits(cond, "message")) { [18:02:53.088] muffled <- grepl(pattern, "muffleMessage") [18:02:53.088] if (muffled) [18:02:53.088] invokeRestart("muffleMessage") [18:02:53.088] } [18:02:53.088] else if (inherits(cond, "warning")) { [18:02:53.088] muffled <- grepl(pattern, "muffleWarning") [18:02:53.088] if (muffled) [18:02:53.088] invokeRestart("muffleWarning") [18:02:53.088] } [18:02:53.088] else if (inherits(cond, "condition")) { [18:02:53.088] if (!is.null(pattern)) { [18:02:53.088] computeRestarts <- base::computeRestarts [18:02:53.088] grepl <- base::grepl [18:02:53.088] restarts <- computeRestarts(cond) [18:02:53.088] for (restart in restarts) { [18:02:53.088] name <- restart$name [18:02:53.088] if (is.null(name)) [18:02:53.088] next [18:02:53.088] if (!grepl(pattern, name)) [18:02:53.088] next [18:02:53.088] invokeRestart(restart) [18:02:53.088] muffled <- TRUE [18:02:53.088] break [18:02:53.088] } [18:02:53.088] } [18:02:53.088] } [18:02:53.088] invisible(muffled) [18:02:53.088] } [18:02:53.088] muffleCondition(cond, pattern = "^muffle") [18:02:53.088] } [18:02:53.088] } [18:02:53.088] } [18:02:53.088] })) [18:02:53.088] }, error = function(ex) { [18:02:53.088] base::structure(base::list(value = NULL, visible = NULL, [18:02:53.088] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:53.088] ...future.rng), started = ...future.startTime, [18:02:53.088] finished = Sys.time(), session_uuid = NA_character_, [18:02:53.088] version = "1.8"), class = "FutureResult") [18:02:53.088] }, finally = { [18:02:53.088] if (!identical(...future.workdir, getwd())) [18:02:53.088] setwd(...future.workdir) [18:02:53.088] { [18:02:53.088] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:53.088] ...future.oldOptions$nwarnings <- NULL [18:02:53.088] } [18:02:53.088] base::options(...future.oldOptions) [18:02:53.088] if (.Platform$OS.type == "windows") { [18:02:53.088] old_names <- names(...future.oldEnvVars) [18:02:53.088] envs <- base::Sys.getenv() [18:02:53.088] names <- names(envs) [18:02:53.088] common <- intersect(names, old_names) [18:02:53.088] added <- setdiff(names, old_names) [18:02:53.088] removed <- setdiff(old_names, names) [18:02:53.088] changed <- common[...future.oldEnvVars[common] != [18:02:53.088] envs[common]] [18:02:53.088] NAMES <- toupper(changed) [18:02:53.088] args <- list() [18:02:53.088] for (kk in seq_along(NAMES)) { [18:02:53.088] name <- changed[[kk]] [18:02:53.088] NAME <- NAMES[[kk]] [18:02:53.088] if (name != NAME && is.element(NAME, old_names)) [18:02:53.088] next [18:02:53.088] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:53.088] } [18:02:53.088] NAMES <- toupper(added) [18:02:53.088] for (kk in seq_along(NAMES)) { [18:02:53.088] name <- added[[kk]] [18:02:53.088] NAME <- NAMES[[kk]] [18:02:53.088] if (name != NAME && is.element(NAME, old_names)) [18:02:53.088] next [18:02:53.088] args[[name]] <- "" [18:02:53.088] } [18:02:53.088] NAMES <- toupper(removed) [18:02:53.088] for (kk in seq_along(NAMES)) { [18:02:53.088] name <- removed[[kk]] [18:02:53.088] NAME <- NAMES[[kk]] [18:02:53.088] if (name != NAME && is.element(NAME, old_names)) [18:02:53.088] next [18:02:53.088] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:53.088] } [18:02:53.088] if (length(args) > 0) [18:02:53.088] base::do.call(base::Sys.setenv, args = args) [18:02:53.088] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:53.088] } [18:02:53.088] else { [18:02:53.088] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:53.088] } [18:02:53.088] { [18:02:53.088] if (base::length(...future.futureOptionsAdded) > [18:02:53.088] 0L) { [18:02:53.088] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:53.088] base::names(opts) <- ...future.futureOptionsAdded [18:02:53.088] base::options(opts) [18:02:53.088] } [18:02:53.088] { [18:02:53.088] { [18:02:53.088] base::options(mc.cores = ...future.mc.cores.old) [18:02:53.088] NULL [18:02:53.088] } [18:02:53.088] options(future.plan = NULL) [18:02:53.088] if (is.na(NA_character_)) [18:02:53.088] Sys.unsetenv("R_FUTURE_PLAN") [18:02:53.088] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:53.088] future::plan(list(function (..., workers = availableCores(), [18:02:53.088] lazy = FALSE, rscript_libs = .libPaths(), [18:02:53.088] envir = parent.frame()) [18:02:53.088] { [18:02:53.088] if (is.function(workers)) [18:02:53.088] workers <- workers() [18:02:53.088] workers <- structure(as.integer(workers), [18:02:53.088] class = class(workers)) [18:02:53.088] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:53.088] workers >= 1) [18:02:53.088] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:53.088] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:53.088] } [18:02:53.088] future <- MultisessionFuture(..., workers = workers, [18:02:53.088] lazy = lazy, rscript_libs = rscript_libs, [18:02:53.088] envir = envir) [18:02:53.088] if (!future$lazy) [18:02:53.088] future <- run(future) [18:02:53.088] invisible(future) [18:02:53.088] }), .cleanup = FALSE, .init = FALSE) [18:02:53.088] } [18:02:53.088] } [18:02:53.088] } [18:02:53.088] }) [18:02:53.088] if (TRUE) { [18:02:53.088] base::sink(type = "output", split = FALSE) [18:02:53.088] if (TRUE) { [18:02:53.088] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:53.088] } [18:02:53.088] else { [18:02:53.088] ...future.result["stdout"] <- base::list(NULL) [18:02:53.088] } [18:02:53.088] base::close(...future.stdout) [18:02:53.088] ...future.stdout <- NULL [18:02:53.088] } [18:02:53.088] ...future.result$conditions <- ...future.conditions [18:02:53.088] ...future.result$finished <- base::Sys.time() [18:02:53.088] ...future.result [18:02:53.088] } [18:02:53.094] MultisessionFuture started [18:02:53.094] - Launch lazy future ... done [18:02:53.094] run() for 'MultisessionFuture' ... done [18:02:53.111] receiveMessageFromWorker() for ClusterFuture ... [18:02:53.111] - Validating connection of MultisessionFuture [18:02:53.112] - received message: FutureResult [18:02:53.112] - Received FutureResult [18:02:53.112] - Erased future from FutureRegistry [18:02:53.112] result() for ClusterFuture ... [18:02:53.112] - result already collected: FutureResult [18:02:53.113] result() for ClusterFuture ... done [18:02:53.113] signalConditions() ... [18:02:53.113] - include = 'immediateCondition' [18:02:53.113] - exclude = [18:02:53.113] - resignal = FALSE [18:02:53.113] - Number of conditions: 1 [18:02:53.114] signalConditions() ... done [18:02:53.114] receiveMessageFromWorker() for ClusterFuture ... done [18:02:53.114] A MultisessionFuture was resolved (result was not collected) [18:02:53.114] getGlobalsAndPackages() ... [18:02:53.114] Searching for globals... [18:02:53.115] - globals found: [2] 'list', 'stop' [18:02:53.115] Searching for globals ... DONE [18:02:53.115] Resolving globals: FALSE [18:02:53.116] [18:02:53.116] [18:02:53.116] getGlobalsAndPackages() ... DONE [18:02:53.116] run() for 'Future' ... [18:02:53.117] - state: 'created' [18:02:53.117] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:53.131] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:53.131] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:53.131] - Field: 'node' [18:02:53.131] - Field: 'label' [18:02:53.131] - Field: 'local' [18:02:53.132] - Field: 'owner' [18:02:53.132] - Field: 'envir' [18:02:53.132] - Field: 'workers' [18:02:53.132] - Field: 'packages' [18:02:53.132] - Field: 'gc' [18:02:53.132] - Field: 'conditions' [18:02:53.133] - Field: 'persistent' [18:02:53.133] - Field: 'expr' [18:02:53.133] - Field: 'uuid' [18:02:53.133] - Field: 'seed' [18:02:53.133] - Field: 'version' [18:02:53.134] - Field: 'result' [18:02:53.134] - Field: 'asynchronous' [18:02:53.134] - Field: 'calls' [18:02:53.134] - Field: 'globals' [18:02:53.134] - Field: 'stdout' [18:02:53.134] - Field: 'earlySignal' [18:02:53.135] - Field: 'lazy' [18:02:53.135] - Field: 'state' [18:02:53.135] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:53.135] - Launch lazy future ... [18:02:53.135] Packages needed by the future expression (n = 0): [18:02:53.136] Packages needed by future strategies (n = 0): [18:02:53.136] { [18:02:53.136] { [18:02:53.136] { [18:02:53.136] ...future.startTime <- base::Sys.time() [18:02:53.136] { [18:02:53.136] { [18:02:53.136] { [18:02:53.136] { [18:02:53.136] base::local({ [18:02:53.136] has_future <- base::requireNamespace("future", [18:02:53.136] quietly = TRUE) [18:02:53.136] if (has_future) { [18:02:53.136] ns <- base::getNamespace("future") [18:02:53.136] version <- ns[[".package"]][["version"]] [18:02:53.136] if (is.null(version)) [18:02:53.136] version <- utils::packageVersion("future") [18:02:53.136] } [18:02:53.136] else { [18:02:53.136] version <- NULL [18:02:53.136] } [18:02:53.136] if (!has_future || version < "1.8.0") { [18:02:53.136] info <- base::c(r_version = base::gsub("R version ", [18:02:53.136] "", base::R.version$version.string), [18:02:53.136] platform = base::sprintf("%s (%s-bit)", [18:02:53.136] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:53.136] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:53.136] "release", "version")], collapse = " "), [18:02:53.136] hostname = base::Sys.info()[["nodename"]]) [18:02:53.136] info <- base::sprintf("%s: %s", base::names(info), [18:02:53.136] info) [18:02:53.136] info <- base::paste(info, collapse = "; ") [18:02:53.136] if (!has_future) { [18:02:53.136] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:53.136] info) [18:02:53.136] } [18:02:53.136] else { [18:02:53.136] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:53.136] info, version) [18:02:53.136] } [18:02:53.136] base::stop(msg) [18:02:53.136] } [18:02:53.136] }) [18:02:53.136] } [18:02:53.136] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:53.136] base::options(mc.cores = 1L) [18:02:53.136] } [18:02:53.136] options(future.plan = NULL) [18:02:53.136] Sys.unsetenv("R_FUTURE_PLAN") [18:02:53.136] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:53.136] } [18:02:53.136] ...future.workdir <- getwd() [18:02:53.136] } [18:02:53.136] ...future.oldOptions <- base::as.list(base::.Options) [18:02:53.136] ...future.oldEnvVars <- base::Sys.getenv() [18:02:53.136] } [18:02:53.136] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:53.136] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:53.136] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:53.136] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:53.136] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:53.136] future.stdout.windows.reencode = NULL, width = 80L) [18:02:53.136] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:53.136] base::names(...future.oldOptions)) [18:02:53.136] } [18:02:53.136] if (FALSE) { [18:02:53.136] } [18:02:53.136] else { [18:02:53.136] if (TRUE) { [18:02:53.136] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:53.136] open = "w") [18:02:53.136] } [18:02:53.136] else { [18:02:53.136] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:53.136] windows = "NUL", "/dev/null"), open = "w") [18:02:53.136] } [18:02:53.136] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:53.136] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:53.136] base::sink(type = "output", split = FALSE) [18:02:53.136] base::close(...future.stdout) [18:02:53.136] }, add = TRUE) [18:02:53.136] } [18:02:53.136] ...future.frame <- base::sys.nframe() [18:02:53.136] ...future.conditions <- base::list() [18:02:53.136] ...future.rng <- base::globalenv()$.Random.seed [18:02:53.136] if (FALSE) { [18:02:53.136] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:53.136] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:53.136] } [18:02:53.136] ...future.result <- base::tryCatch({ [18:02:53.136] base::withCallingHandlers({ [18:02:53.136] ...future.value <- base::withVisible(base::local({ [18:02:53.136] ...future.makeSendCondition <- local({ [18:02:53.136] sendCondition <- NULL [18:02:53.136] function(frame = 1L) { [18:02:53.136] if (is.function(sendCondition)) [18:02:53.136] return(sendCondition) [18:02:53.136] ns <- getNamespace("parallel") [18:02:53.136] if (exists("sendData", mode = "function", [18:02:53.136] envir = ns)) { [18:02:53.136] parallel_sendData <- get("sendData", mode = "function", [18:02:53.136] envir = ns) [18:02:53.136] envir <- sys.frame(frame) [18:02:53.136] master <- NULL [18:02:53.136] while (!identical(envir, .GlobalEnv) && [18:02:53.136] !identical(envir, emptyenv())) { [18:02:53.136] if (exists("master", mode = "list", envir = envir, [18:02:53.136] inherits = FALSE)) { [18:02:53.136] master <- get("master", mode = "list", [18:02:53.136] envir = envir, inherits = FALSE) [18:02:53.136] if (inherits(master, c("SOCKnode", [18:02:53.136] "SOCK0node"))) { [18:02:53.136] sendCondition <<- function(cond) { [18:02:53.136] data <- list(type = "VALUE", value = cond, [18:02:53.136] success = TRUE) [18:02:53.136] parallel_sendData(master, data) [18:02:53.136] } [18:02:53.136] return(sendCondition) [18:02:53.136] } [18:02:53.136] } [18:02:53.136] frame <- frame + 1L [18:02:53.136] envir <- sys.frame(frame) [18:02:53.136] } [18:02:53.136] } [18:02:53.136] sendCondition <<- function(cond) NULL [18:02:53.136] } [18:02:53.136] }) [18:02:53.136] withCallingHandlers({ [18:02:53.136] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:53.136] }, immediateCondition = function(cond) { [18:02:53.136] sendCondition <- ...future.makeSendCondition() [18:02:53.136] sendCondition(cond) [18:02:53.136] muffleCondition <- function (cond, pattern = "^muffle") [18:02:53.136] { [18:02:53.136] inherits <- base::inherits [18:02:53.136] invokeRestart <- base::invokeRestart [18:02:53.136] is.null <- base::is.null [18:02:53.136] muffled <- FALSE [18:02:53.136] if (inherits(cond, "message")) { [18:02:53.136] muffled <- grepl(pattern, "muffleMessage") [18:02:53.136] if (muffled) [18:02:53.136] invokeRestart("muffleMessage") [18:02:53.136] } [18:02:53.136] else if (inherits(cond, "warning")) { [18:02:53.136] muffled <- grepl(pattern, "muffleWarning") [18:02:53.136] if (muffled) [18:02:53.136] invokeRestart("muffleWarning") [18:02:53.136] } [18:02:53.136] else if (inherits(cond, "condition")) { [18:02:53.136] if (!is.null(pattern)) { [18:02:53.136] computeRestarts <- base::computeRestarts [18:02:53.136] grepl <- base::grepl [18:02:53.136] restarts <- computeRestarts(cond) [18:02:53.136] for (restart in restarts) { [18:02:53.136] name <- restart$name [18:02:53.136] if (is.null(name)) [18:02:53.136] next [18:02:53.136] if (!grepl(pattern, name)) [18:02:53.136] next [18:02:53.136] invokeRestart(restart) [18:02:53.136] muffled <- TRUE [18:02:53.136] break [18:02:53.136] } [18:02:53.136] } [18:02:53.136] } [18:02:53.136] invisible(muffled) [18:02:53.136] } [18:02:53.136] muffleCondition(cond) [18:02:53.136] }) [18:02:53.136] })) [18:02:53.136] future::FutureResult(value = ...future.value$value, [18:02:53.136] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:53.136] ...future.rng), globalenv = if (FALSE) [18:02:53.136] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:53.136] ...future.globalenv.names)) [18:02:53.136] else NULL, started = ...future.startTime, version = "1.8") [18:02:53.136] }, condition = base::local({ [18:02:53.136] c <- base::c [18:02:53.136] inherits <- base::inherits [18:02:53.136] invokeRestart <- base::invokeRestart [18:02:53.136] length <- base::length [18:02:53.136] list <- base::list [18:02:53.136] seq.int <- base::seq.int [18:02:53.136] signalCondition <- base::signalCondition [18:02:53.136] sys.calls <- base::sys.calls [18:02:53.136] `[[` <- base::`[[` [18:02:53.136] `+` <- base::`+` [18:02:53.136] `<<-` <- base::`<<-` [18:02:53.136] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:53.136] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:53.136] 3L)] [18:02:53.136] } [18:02:53.136] function(cond) { [18:02:53.136] is_error <- inherits(cond, "error") [18:02:53.136] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:53.136] NULL) [18:02:53.136] if (is_error) { [18:02:53.136] sessionInformation <- function() { [18:02:53.136] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:53.136] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:53.136] search = base::search(), system = base::Sys.info()) [18:02:53.136] } [18:02:53.136] ...future.conditions[[length(...future.conditions) + [18:02:53.136] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:53.136] cond$call), session = sessionInformation(), [18:02:53.136] timestamp = base::Sys.time(), signaled = 0L) [18:02:53.136] signalCondition(cond) [18:02:53.136] } [18:02:53.136] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:53.136] "immediateCondition"))) { [18:02:53.136] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:53.136] ...future.conditions[[length(...future.conditions) + [18:02:53.136] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:53.136] if (TRUE && !signal) { [18:02:53.136] muffleCondition <- function (cond, pattern = "^muffle") [18:02:53.136] { [18:02:53.136] inherits <- base::inherits [18:02:53.136] invokeRestart <- base::invokeRestart [18:02:53.136] is.null <- base::is.null [18:02:53.136] muffled <- FALSE [18:02:53.136] if (inherits(cond, "message")) { [18:02:53.136] muffled <- grepl(pattern, "muffleMessage") [18:02:53.136] if (muffled) [18:02:53.136] invokeRestart("muffleMessage") [18:02:53.136] } [18:02:53.136] else if (inherits(cond, "warning")) { [18:02:53.136] muffled <- grepl(pattern, "muffleWarning") [18:02:53.136] if (muffled) [18:02:53.136] invokeRestart("muffleWarning") [18:02:53.136] } [18:02:53.136] else if (inherits(cond, "condition")) { [18:02:53.136] if (!is.null(pattern)) { [18:02:53.136] computeRestarts <- base::computeRestarts [18:02:53.136] grepl <- base::grepl [18:02:53.136] restarts <- computeRestarts(cond) [18:02:53.136] for (restart in restarts) { [18:02:53.136] name <- restart$name [18:02:53.136] if (is.null(name)) [18:02:53.136] next [18:02:53.136] if (!grepl(pattern, name)) [18:02:53.136] next [18:02:53.136] invokeRestart(restart) [18:02:53.136] muffled <- TRUE [18:02:53.136] break [18:02:53.136] } [18:02:53.136] } [18:02:53.136] } [18:02:53.136] invisible(muffled) [18:02:53.136] } [18:02:53.136] muffleCondition(cond, pattern = "^muffle") [18:02:53.136] } [18:02:53.136] } [18:02:53.136] else { [18:02:53.136] if (TRUE) { [18:02:53.136] muffleCondition <- function (cond, pattern = "^muffle") [18:02:53.136] { [18:02:53.136] inherits <- base::inherits [18:02:53.136] invokeRestart <- base::invokeRestart [18:02:53.136] is.null <- base::is.null [18:02:53.136] muffled <- FALSE [18:02:53.136] if (inherits(cond, "message")) { [18:02:53.136] muffled <- grepl(pattern, "muffleMessage") [18:02:53.136] if (muffled) [18:02:53.136] invokeRestart("muffleMessage") [18:02:53.136] } [18:02:53.136] else if (inherits(cond, "warning")) { [18:02:53.136] muffled <- grepl(pattern, "muffleWarning") [18:02:53.136] if (muffled) [18:02:53.136] invokeRestart("muffleWarning") [18:02:53.136] } [18:02:53.136] else if (inherits(cond, "condition")) { [18:02:53.136] if (!is.null(pattern)) { [18:02:53.136] computeRestarts <- base::computeRestarts [18:02:53.136] grepl <- base::grepl [18:02:53.136] restarts <- computeRestarts(cond) [18:02:53.136] for (restart in restarts) { [18:02:53.136] name <- restart$name [18:02:53.136] if (is.null(name)) [18:02:53.136] next [18:02:53.136] if (!grepl(pattern, name)) [18:02:53.136] next [18:02:53.136] invokeRestart(restart) [18:02:53.136] muffled <- TRUE [18:02:53.136] break [18:02:53.136] } [18:02:53.136] } [18:02:53.136] } [18:02:53.136] invisible(muffled) [18:02:53.136] } [18:02:53.136] muffleCondition(cond, pattern = "^muffle") [18:02:53.136] } [18:02:53.136] } [18:02:53.136] } [18:02:53.136] })) [18:02:53.136] }, error = function(ex) { [18:02:53.136] base::structure(base::list(value = NULL, visible = NULL, [18:02:53.136] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:53.136] ...future.rng), started = ...future.startTime, [18:02:53.136] finished = Sys.time(), session_uuid = NA_character_, [18:02:53.136] version = "1.8"), class = "FutureResult") [18:02:53.136] }, finally = { [18:02:53.136] if (!identical(...future.workdir, getwd())) [18:02:53.136] setwd(...future.workdir) [18:02:53.136] { [18:02:53.136] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:53.136] ...future.oldOptions$nwarnings <- NULL [18:02:53.136] } [18:02:53.136] base::options(...future.oldOptions) [18:02:53.136] if (.Platform$OS.type == "windows") { [18:02:53.136] old_names <- names(...future.oldEnvVars) [18:02:53.136] envs <- base::Sys.getenv() [18:02:53.136] names <- names(envs) [18:02:53.136] common <- intersect(names, old_names) [18:02:53.136] added <- setdiff(names, old_names) [18:02:53.136] removed <- setdiff(old_names, names) [18:02:53.136] changed <- common[...future.oldEnvVars[common] != [18:02:53.136] envs[common]] [18:02:53.136] NAMES <- toupper(changed) [18:02:53.136] args <- list() [18:02:53.136] for (kk in seq_along(NAMES)) { [18:02:53.136] name <- changed[[kk]] [18:02:53.136] NAME <- NAMES[[kk]] [18:02:53.136] if (name != NAME && is.element(NAME, old_names)) [18:02:53.136] next [18:02:53.136] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:53.136] } [18:02:53.136] NAMES <- toupper(added) [18:02:53.136] for (kk in seq_along(NAMES)) { [18:02:53.136] name <- added[[kk]] [18:02:53.136] NAME <- NAMES[[kk]] [18:02:53.136] if (name != NAME && is.element(NAME, old_names)) [18:02:53.136] next [18:02:53.136] args[[name]] <- "" [18:02:53.136] } [18:02:53.136] NAMES <- toupper(removed) [18:02:53.136] for (kk in seq_along(NAMES)) { [18:02:53.136] name <- removed[[kk]] [18:02:53.136] NAME <- NAMES[[kk]] [18:02:53.136] if (name != NAME && is.element(NAME, old_names)) [18:02:53.136] next [18:02:53.136] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:53.136] } [18:02:53.136] if (length(args) > 0) [18:02:53.136] base::do.call(base::Sys.setenv, args = args) [18:02:53.136] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:53.136] } [18:02:53.136] else { [18:02:53.136] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:53.136] } [18:02:53.136] { [18:02:53.136] if (base::length(...future.futureOptionsAdded) > [18:02:53.136] 0L) { [18:02:53.136] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:53.136] base::names(opts) <- ...future.futureOptionsAdded [18:02:53.136] base::options(opts) [18:02:53.136] } [18:02:53.136] { [18:02:53.136] { [18:02:53.136] base::options(mc.cores = ...future.mc.cores.old) [18:02:53.136] NULL [18:02:53.136] } [18:02:53.136] options(future.plan = NULL) [18:02:53.136] if (is.na(NA_character_)) [18:02:53.136] Sys.unsetenv("R_FUTURE_PLAN") [18:02:53.136] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:53.136] future::plan(list(function (..., workers = availableCores(), [18:02:53.136] lazy = FALSE, rscript_libs = .libPaths(), [18:02:53.136] envir = parent.frame()) [18:02:53.136] { [18:02:53.136] if (is.function(workers)) [18:02:53.136] workers <- workers() [18:02:53.136] workers <- structure(as.integer(workers), [18:02:53.136] class = class(workers)) [18:02:53.136] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:53.136] workers >= 1) [18:02:53.136] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:53.136] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:53.136] } [18:02:53.136] future <- MultisessionFuture(..., workers = workers, [18:02:53.136] lazy = lazy, rscript_libs = rscript_libs, [18:02:53.136] envir = envir) [18:02:53.136] if (!future$lazy) [18:02:53.136] future <- run(future) [18:02:53.136] invisible(future) [18:02:53.136] }), .cleanup = FALSE, .init = FALSE) [18:02:53.136] } [18:02:53.136] } [18:02:53.136] } [18:02:53.136] }) [18:02:53.136] if (TRUE) { [18:02:53.136] base::sink(type = "output", split = FALSE) [18:02:53.136] if (TRUE) { [18:02:53.136] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:53.136] } [18:02:53.136] else { [18:02:53.136] ...future.result["stdout"] <- base::list(NULL) [18:02:53.136] } [18:02:53.136] base::close(...future.stdout) [18:02:53.136] ...future.stdout <- NULL [18:02:53.136] } [18:02:53.136] ...future.result$conditions <- ...future.conditions [18:02:53.136] ...future.result$finished <- base::Sys.time() [18:02:53.136] ...future.result [18:02:53.136] } [18:02:53.142] MultisessionFuture started [18:02:53.142] - Launch lazy future ... done [18:02:53.142] run() for 'MultisessionFuture' ... done [18:02:53.160] receiveMessageFromWorker() for ClusterFuture ... [18:02:53.160] - Validating connection of MultisessionFuture [18:02:53.160] - received message: FutureResult [18:02:53.161] - Received FutureResult [18:02:53.161] - Erased future from FutureRegistry [18:02:53.161] result() for ClusterFuture ... [18:02:53.161] - result already collected: FutureResult [18:02:53.161] result() for ClusterFuture ... done [18:02:53.161] signalConditions() ... [18:02:53.162] - include = 'immediateCondition' [18:02:53.162] - exclude = [18:02:53.162] - resignal = FALSE [18:02:53.162] - Number of conditions: 1 [18:02:53.162] signalConditions() ... done [18:02:53.162] receiveMessageFromWorker() for ClusterFuture ... done [18:02:53.163] A MultisessionFuture was resolved (result was not collected) - result = FALSE, recursive = Inf ... DONE - result = TRUE, recursive = FALSE ... [18:02:53.163] getGlobalsAndPackages() ... [18:02:53.163] Searching for globals... [18:02:53.164] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:53.165] Searching for globals ... DONE [18:02:53.165] Resolving globals: FALSE [18:02:53.165] [18:02:53.165] [18:02:53.166] getGlobalsAndPackages() ... DONE [18:02:53.166] run() for 'Future' ... [18:02:53.166] - state: 'created' [18:02:53.166] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:53.180] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:53.180] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:53.181] - Field: 'node' [18:02:53.181] - Field: 'label' [18:02:53.181] - Field: 'local' [18:02:53.181] - Field: 'owner' [18:02:53.181] - Field: 'envir' [18:02:53.181] - Field: 'workers' [18:02:53.182] - Field: 'packages' [18:02:53.182] - Field: 'gc' [18:02:53.182] - Field: 'conditions' [18:02:53.182] - Field: 'persistent' [18:02:53.182] - Field: 'expr' [18:02:53.183] - Field: 'uuid' [18:02:53.183] - Field: 'seed' [18:02:53.183] - Field: 'version' [18:02:53.183] - Field: 'result' [18:02:53.183] - Field: 'asynchronous' [18:02:53.183] - Field: 'calls' [18:02:53.184] - Field: 'globals' [18:02:53.184] - Field: 'stdout' [18:02:53.184] - Field: 'earlySignal' [18:02:53.184] - Field: 'lazy' [18:02:53.184] - Field: 'state' [18:02:53.184] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:53.185] - Launch lazy future ... [18:02:53.185] Packages needed by the future expression (n = 0): [18:02:53.185] Packages needed by future strategies (n = 0): [18:02:53.186] { [18:02:53.186] { [18:02:53.186] { [18:02:53.186] ...future.startTime <- base::Sys.time() [18:02:53.186] { [18:02:53.186] { [18:02:53.186] { [18:02:53.186] { [18:02:53.186] base::local({ [18:02:53.186] has_future <- base::requireNamespace("future", [18:02:53.186] quietly = TRUE) [18:02:53.186] if (has_future) { [18:02:53.186] ns <- base::getNamespace("future") [18:02:53.186] version <- ns[[".package"]][["version"]] [18:02:53.186] if (is.null(version)) [18:02:53.186] version <- utils::packageVersion("future") [18:02:53.186] } [18:02:53.186] else { [18:02:53.186] version <- NULL [18:02:53.186] } [18:02:53.186] if (!has_future || version < "1.8.0") { [18:02:53.186] info <- base::c(r_version = base::gsub("R version ", [18:02:53.186] "", base::R.version$version.string), [18:02:53.186] platform = base::sprintf("%s (%s-bit)", [18:02:53.186] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:53.186] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:53.186] "release", "version")], collapse = " "), [18:02:53.186] hostname = base::Sys.info()[["nodename"]]) [18:02:53.186] info <- base::sprintf("%s: %s", base::names(info), [18:02:53.186] info) [18:02:53.186] info <- base::paste(info, collapse = "; ") [18:02:53.186] if (!has_future) { [18:02:53.186] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:53.186] info) [18:02:53.186] } [18:02:53.186] else { [18:02:53.186] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:53.186] info, version) [18:02:53.186] } [18:02:53.186] base::stop(msg) [18:02:53.186] } [18:02:53.186] }) [18:02:53.186] } [18:02:53.186] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:53.186] base::options(mc.cores = 1L) [18:02:53.186] } [18:02:53.186] options(future.plan = NULL) [18:02:53.186] Sys.unsetenv("R_FUTURE_PLAN") [18:02:53.186] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:53.186] } [18:02:53.186] ...future.workdir <- getwd() [18:02:53.186] } [18:02:53.186] ...future.oldOptions <- base::as.list(base::.Options) [18:02:53.186] ...future.oldEnvVars <- base::Sys.getenv() [18:02:53.186] } [18:02:53.186] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:53.186] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:53.186] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:53.186] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:53.186] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:53.186] future.stdout.windows.reencode = NULL, width = 80L) [18:02:53.186] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:53.186] base::names(...future.oldOptions)) [18:02:53.186] } [18:02:53.186] if (FALSE) { [18:02:53.186] } [18:02:53.186] else { [18:02:53.186] if (TRUE) { [18:02:53.186] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:53.186] open = "w") [18:02:53.186] } [18:02:53.186] else { [18:02:53.186] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:53.186] windows = "NUL", "/dev/null"), open = "w") [18:02:53.186] } [18:02:53.186] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:53.186] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:53.186] base::sink(type = "output", split = FALSE) [18:02:53.186] base::close(...future.stdout) [18:02:53.186] }, add = TRUE) [18:02:53.186] } [18:02:53.186] ...future.frame <- base::sys.nframe() [18:02:53.186] ...future.conditions <- base::list() [18:02:53.186] ...future.rng <- base::globalenv()$.Random.seed [18:02:53.186] if (FALSE) { [18:02:53.186] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:53.186] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:53.186] } [18:02:53.186] ...future.result <- base::tryCatch({ [18:02:53.186] base::withCallingHandlers({ [18:02:53.186] ...future.value <- base::withVisible(base::local({ [18:02:53.186] ...future.makeSendCondition <- local({ [18:02:53.186] sendCondition <- NULL [18:02:53.186] function(frame = 1L) { [18:02:53.186] if (is.function(sendCondition)) [18:02:53.186] return(sendCondition) [18:02:53.186] ns <- getNamespace("parallel") [18:02:53.186] if (exists("sendData", mode = "function", [18:02:53.186] envir = ns)) { [18:02:53.186] parallel_sendData <- get("sendData", mode = "function", [18:02:53.186] envir = ns) [18:02:53.186] envir <- sys.frame(frame) [18:02:53.186] master <- NULL [18:02:53.186] while (!identical(envir, .GlobalEnv) && [18:02:53.186] !identical(envir, emptyenv())) { [18:02:53.186] if (exists("master", mode = "list", envir = envir, [18:02:53.186] inherits = FALSE)) { [18:02:53.186] master <- get("master", mode = "list", [18:02:53.186] envir = envir, inherits = FALSE) [18:02:53.186] if (inherits(master, c("SOCKnode", [18:02:53.186] "SOCK0node"))) { [18:02:53.186] sendCondition <<- function(cond) { [18:02:53.186] data <- list(type = "VALUE", value = cond, [18:02:53.186] success = TRUE) [18:02:53.186] parallel_sendData(master, data) [18:02:53.186] } [18:02:53.186] return(sendCondition) [18:02:53.186] } [18:02:53.186] } [18:02:53.186] frame <- frame + 1L [18:02:53.186] envir <- sys.frame(frame) [18:02:53.186] } [18:02:53.186] } [18:02:53.186] sendCondition <<- function(cond) NULL [18:02:53.186] } [18:02:53.186] }) [18:02:53.186] withCallingHandlers({ [18:02:53.186] { [18:02:53.186] Sys.sleep(0.5) [18:02:53.186] list(a = 1, b = 42L) [18:02:53.186] } [18:02:53.186] }, immediateCondition = function(cond) { [18:02:53.186] sendCondition <- ...future.makeSendCondition() [18:02:53.186] sendCondition(cond) [18:02:53.186] muffleCondition <- function (cond, pattern = "^muffle") [18:02:53.186] { [18:02:53.186] inherits <- base::inherits [18:02:53.186] invokeRestart <- base::invokeRestart [18:02:53.186] is.null <- base::is.null [18:02:53.186] muffled <- FALSE [18:02:53.186] if (inherits(cond, "message")) { [18:02:53.186] muffled <- grepl(pattern, "muffleMessage") [18:02:53.186] if (muffled) [18:02:53.186] invokeRestart("muffleMessage") [18:02:53.186] } [18:02:53.186] else if (inherits(cond, "warning")) { [18:02:53.186] muffled <- grepl(pattern, "muffleWarning") [18:02:53.186] if (muffled) [18:02:53.186] invokeRestart("muffleWarning") [18:02:53.186] } [18:02:53.186] else if (inherits(cond, "condition")) { [18:02:53.186] if (!is.null(pattern)) { [18:02:53.186] computeRestarts <- base::computeRestarts [18:02:53.186] grepl <- base::grepl [18:02:53.186] restarts <- computeRestarts(cond) [18:02:53.186] for (restart in restarts) { [18:02:53.186] name <- restart$name [18:02:53.186] if (is.null(name)) [18:02:53.186] next [18:02:53.186] if (!grepl(pattern, name)) [18:02:53.186] next [18:02:53.186] invokeRestart(restart) [18:02:53.186] muffled <- TRUE [18:02:53.186] break [18:02:53.186] } [18:02:53.186] } [18:02:53.186] } [18:02:53.186] invisible(muffled) [18:02:53.186] } [18:02:53.186] muffleCondition(cond) [18:02:53.186] }) [18:02:53.186] })) [18:02:53.186] future::FutureResult(value = ...future.value$value, [18:02:53.186] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:53.186] ...future.rng), globalenv = if (FALSE) [18:02:53.186] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:53.186] ...future.globalenv.names)) [18:02:53.186] else NULL, started = ...future.startTime, version = "1.8") [18:02:53.186] }, condition = base::local({ [18:02:53.186] c <- base::c [18:02:53.186] inherits <- base::inherits [18:02:53.186] invokeRestart <- base::invokeRestart [18:02:53.186] length <- base::length [18:02:53.186] list <- base::list [18:02:53.186] seq.int <- base::seq.int [18:02:53.186] signalCondition <- base::signalCondition [18:02:53.186] sys.calls <- base::sys.calls [18:02:53.186] `[[` <- base::`[[` [18:02:53.186] `+` <- base::`+` [18:02:53.186] `<<-` <- base::`<<-` [18:02:53.186] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:53.186] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:53.186] 3L)] [18:02:53.186] } [18:02:53.186] function(cond) { [18:02:53.186] is_error <- inherits(cond, "error") [18:02:53.186] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:53.186] NULL) [18:02:53.186] if (is_error) { [18:02:53.186] sessionInformation <- function() { [18:02:53.186] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:53.186] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:53.186] search = base::search(), system = base::Sys.info()) [18:02:53.186] } [18:02:53.186] ...future.conditions[[length(...future.conditions) + [18:02:53.186] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:53.186] cond$call), session = sessionInformation(), [18:02:53.186] timestamp = base::Sys.time(), signaled = 0L) [18:02:53.186] signalCondition(cond) [18:02:53.186] } [18:02:53.186] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:53.186] "immediateCondition"))) { [18:02:53.186] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:53.186] ...future.conditions[[length(...future.conditions) + [18:02:53.186] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:53.186] if (TRUE && !signal) { [18:02:53.186] muffleCondition <- function (cond, pattern = "^muffle") [18:02:53.186] { [18:02:53.186] inherits <- base::inherits [18:02:53.186] invokeRestart <- base::invokeRestart [18:02:53.186] is.null <- base::is.null [18:02:53.186] muffled <- FALSE [18:02:53.186] if (inherits(cond, "message")) { [18:02:53.186] muffled <- grepl(pattern, "muffleMessage") [18:02:53.186] if (muffled) [18:02:53.186] invokeRestart("muffleMessage") [18:02:53.186] } [18:02:53.186] else if (inherits(cond, "warning")) { [18:02:53.186] muffled <- grepl(pattern, "muffleWarning") [18:02:53.186] if (muffled) [18:02:53.186] invokeRestart("muffleWarning") [18:02:53.186] } [18:02:53.186] else if (inherits(cond, "condition")) { [18:02:53.186] if (!is.null(pattern)) { [18:02:53.186] computeRestarts <- base::computeRestarts [18:02:53.186] grepl <- base::grepl [18:02:53.186] restarts <- computeRestarts(cond) [18:02:53.186] for (restart in restarts) { [18:02:53.186] name <- restart$name [18:02:53.186] if (is.null(name)) [18:02:53.186] next [18:02:53.186] if (!grepl(pattern, name)) [18:02:53.186] next [18:02:53.186] invokeRestart(restart) [18:02:53.186] muffled <- TRUE [18:02:53.186] break [18:02:53.186] } [18:02:53.186] } [18:02:53.186] } [18:02:53.186] invisible(muffled) [18:02:53.186] } [18:02:53.186] muffleCondition(cond, pattern = "^muffle") [18:02:53.186] } [18:02:53.186] } [18:02:53.186] else { [18:02:53.186] if (TRUE) { [18:02:53.186] muffleCondition <- function (cond, pattern = "^muffle") [18:02:53.186] { [18:02:53.186] inherits <- base::inherits [18:02:53.186] invokeRestart <- base::invokeRestart [18:02:53.186] is.null <- base::is.null [18:02:53.186] muffled <- FALSE [18:02:53.186] if (inherits(cond, "message")) { [18:02:53.186] muffled <- grepl(pattern, "muffleMessage") [18:02:53.186] if (muffled) [18:02:53.186] invokeRestart("muffleMessage") [18:02:53.186] } [18:02:53.186] else if (inherits(cond, "warning")) { [18:02:53.186] muffled <- grepl(pattern, "muffleWarning") [18:02:53.186] if (muffled) [18:02:53.186] invokeRestart("muffleWarning") [18:02:53.186] } [18:02:53.186] else if (inherits(cond, "condition")) { [18:02:53.186] if (!is.null(pattern)) { [18:02:53.186] computeRestarts <- base::computeRestarts [18:02:53.186] grepl <- base::grepl [18:02:53.186] restarts <- computeRestarts(cond) [18:02:53.186] for (restart in restarts) { [18:02:53.186] name <- restart$name [18:02:53.186] if (is.null(name)) [18:02:53.186] next [18:02:53.186] if (!grepl(pattern, name)) [18:02:53.186] next [18:02:53.186] invokeRestart(restart) [18:02:53.186] muffled <- TRUE [18:02:53.186] break [18:02:53.186] } [18:02:53.186] } [18:02:53.186] } [18:02:53.186] invisible(muffled) [18:02:53.186] } [18:02:53.186] muffleCondition(cond, pattern = "^muffle") [18:02:53.186] } [18:02:53.186] } [18:02:53.186] } [18:02:53.186] })) [18:02:53.186] }, error = function(ex) { [18:02:53.186] base::structure(base::list(value = NULL, visible = NULL, [18:02:53.186] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:53.186] ...future.rng), started = ...future.startTime, [18:02:53.186] finished = Sys.time(), session_uuid = NA_character_, [18:02:53.186] version = "1.8"), class = "FutureResult") [18:02:53.186] }, finally = { [18:02:53.186] if (!identical(...future.workdir, getwd())) [18:02:53.186] setwd(...future.workdir) [18:02:53.186] { [18:02:53.186] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:53.186] ...future.oldOptions$nwarnings <- NULL [18:02:53.186] } [18:02:53.186] base::options(...future.oldOptions) [18:02:53.186] if (.Platform$OS.type == "windows") { [18:02:53.186] old_names <- names(...future.oldEnvVars) [18:02:53.186] envs <- base::Sys.getenv() [18:02:53.186] names <- names(envs) [18:02:53.186] common <- intersect(names, old_names) [18:02:53.186] added <- setdiff(names, old_names) [18:02:53.186] removed <- setdiff(old_names, names) [18:02:53.186] changed <- common[...future.oldEnvVars[common] != [18:02:53.186] envs[common]] [18:02:53.186] NAMES <- toupper(changed) [18:02:53.186] args <- list() [18:02:53.186] for (kk in seq_along(NAMES)) { [18:02:53.186] name <- changed[[kk]] [18:02:53.186] NAME <- NAMES[[kk]] [18:02:53.186] if (name != NAME && is.element(NAME, old_names)) [18:02:53.186] next [18:02:53.186] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:53.186] } [18:02:53.186] NAMES <- toupper(added) [18:02:53.186] for (kk in seq_along(NAMES)) { [18:02:53.186] name <- added[[kk]] [18:02:53.186] NAME <- NAMES[[kk]] [18:02:53.186] if (name != NAME && is.element(NAME, old_names)) [18:02:53.186] next [18:02:53.186] args[[name]] <- "" [18:02:53.186] } [18:02:53.186] NAMES <- toupper(removed) [18:02:53.186] for (kk in seq_along(NAMES)) { [18:02:53.186] name <- removed[[kk]] [18:02:53.186] NAME <- NAMES[[kk]] [18:02:53.186] if (name != NAME && is.element(NAME, old_names)) [18:02:53.186] next [18:02:53.186] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:53.186] } [18:02:53.186] if (length(args) > 0) [18:02:53.186] base::do.call(base::Sys.setenv, args = args) [18:02:53.186] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:53.186] } [18:02:53.186] else { [18:02:53.186] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:53.186] } [18:02:53.186] { [18:02:53.186] if (base::length(...future.futureOptionsAdded) > [18:02:53.186] 0L) { [18:02:53.186] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:53.186] base::names(opts) <- ...future.futureOptionsAdded [18:02:53.186] base::options(opts) [18:02:53.186] } [18:02:53.186] { [18:02:53.186] { [18:02:53.186] base::options(mc.cores = ...future.mc.cores.old) [18:02:53.186] NULL [18:02:53.186] } [18:02:53.186] options(future.plan = NULL) [18:02:53.186] if (is.na(NA_character_)) [18:02:53.186] Sys.unsetenv("R_FUTURE_PLAN") [18:02:53.186] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:53.186] future::plan(list(function (..., workers = availableCores(), [18:02:53.186] lazy = FALSE, rscript_libs = .libPaths(), [18:02:53.186] envir = parent.frame()) [18:02:53.186] { [18:02:53.186] if (is.function(workers)) [18:02:53.186] workers <- workers() [18:02:53.186] workers <- structure(as.integer(workers), [18:02:53.186] class = class(workers)) [18:02:53.186] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:53.186] workers >= 1) [18:02:53.186] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:53.186] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:53.186] } [18:02:53.186] future <- MultisessionFuture(..., workers = workers, [18:02:53.186] lazy = lazy, rscript_libs = rscript_libs, [18:02:53.186] envir = envir) [18:02:53.186] if (!future$lazy) [18:02:53.186] future <- run(future) [18:02:53.186] invisible(future) [18:02:53.186] }), .cleanup = FALSE, .init = FALSE) [18:02:53.186] } [18:02:53.186] } [18:02:53.186] } [18:02:53.186] }) [18:02:53.186] if (TRUE) { [18:02:53.186] base::sink(type = "output", split = FALSE) [18:02:53.186] if (TRUE) { [18:02:53.186] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:53.186] } [18:02:53.186] else { [18:02:53.186] ...future.result["stdout"] <- base::list(NULL) [18:02:53.186] } [18:02:53.186] base::close(...future.stdout) [18:02:53.186] ...future.stdout <- NULL [18:02:53.186] } [18:02:53.186] ...future.result$conditions <- ...future.conditions [18:02:53.186] ...future.result$finished <- base::Sys.time() [18:02:53.186] ...future.result [18:02:53.186] } [18:02:53.192] MultisessionFuture started [18:02:53.192] - Launch lazy future ... done [18:02:53.192] run() for 'MultisessionFuture' ... done [18:02:53.719] receiveMessageFromWorker() for ClusterFuture ... [18:02:53.720] - Validating connection of MultisessionFuture [18:02:53.720] - received message: FutureResult [18:02:53.720] - Received FutureResult [18:02:53.720] - Erased future from FutureRegistry [18:02:53.720] result() for ClusterFuture ... [18:02:53.721] - result already collected: FutureResult [18:02:53.721] result() for ClusterFuture ... done [18:02:53.721] receiveMessageFromWorker() for ClusterFuture ... done [18:02:53.721] A MultisessionFuture was resolved [18:02:53.721] getGlobalsAndPackages() ... [18:02:53.721] Searching for globals... [18:02:53.723] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:53.723] Searching for globals ... DONE [18:02:53.723] Resolving globals: FALSE [18:02:53.724] [18:02:53.724] [18:02:53.724] getGlobalsAndPackages() ... DONE [18:02:53.724] run() for 'Future' ... [18:02:53.725] - state: 'created' [18:02:53.725] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:53.739] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:53.739] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:53.739] - Field: 'node' [18:02:53.739] - Field: 'label' [18:02:53.739] - Field: 'local' [18:02:53.740] - Field: 'owner' [18:02:53.740] - Field: 'envir' [18:02:53.740] - Field: 'workers' [18:02:53.740] - Field: 'packages' [18:02:53.740] - Field: 'gc' [18:02:53.740] - Field: 'conditions' [18:02:53.741] - Field: 'persistent' [18:02:53.741] - Field: 'expr' [18:02:53.741] - Field: 'uuid' [18:02:53.741] - Field: 'seed' [18:02:53.741] - Field: 'version' [18:02:53.744] - Field: 'result' [18:02:53.744] - Field: 'asynchronous' [18:02:53.745] - Field: 'calls' [18:02:53.745] - Field: 'globals' [18:02:53.745] - Field: 'stdout' [18:02:53.745] - Field: 'earlySignal' [18:02:53.745] - Field: 'lazy' [18:02:53.746] - Field: 'state' [18:02:53.746] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:53.746] - Launch lazy future ... [18:02:53.746] Packages needed by the future expression (n = 0): [18:02:53.746] Packages needed by future strategies (n = 0): [18:02:53.747] { [18:02:53.747] { [18:02:53.747] { [18:02:53.747] ...future.startTime <- base::Sys.time() [18:02:53.747] { [18:02:53.747] { [18:02:53.747] { [18:02:53.747] { [18:02:53.747] base::local({ [18:02:53.747] has_future <- base::requireNamespace("future", [18:02:53.747] quietly = TRUE) [18:02:53.747] if (has_future) { [18:02:53.747] ns <- base::getNamespace("future") [18:02:53.747] version <- ns[[".package"]][["version"]] [18:02:53.747] if (is.null(version)) [18:02:53.747] version <- utils::packageVersion("future") [18:02:53.747] } [18:02:53.747] else { [18:02:53.747] version <- NULL [18:02:53.747] } [18:02:53.747] if (!has_future || version < "1.8.0") { [18:02:53.747] info <- base::c(r_version = base::gsub("R version ", [18:02:53.747] "", base::R.version$version.string), [18:02:53.747] platform = base::sprintf("%s (%s-bit)", [18:02:53.747] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:53.747] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:53.747] "release", "version")], collapse = " "), [18:02:53.747] hostname = base::Sys.info()[["nodename"]]) [18:02:53.747] info <- base::sprintf("%s: %s", base::names(info), [18:02:53.747] info) [18:02:53.747] info <- base::paste(info, collapse = "; ") [18:02:53.747] if (!has_future) { [18:02:53.747] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:53.747] info) [18:02:53.747] } [18:02:53.747] else { [18:02:53.747] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:53.747] info, version) [18:02:53.747] } [18:02:53.747] base::stop(msg) [18:02:53.747] } [18:02:53.747] }) [18:02:53.747] } [18:02:53.747] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:53.747] base::options(mc.cores = 1L) [18:02:53.747] } [18:02:53.747] options(future.plan = NULL) [18:02:53.747] Sys.unsetenv("R_FUTURE_PLAN") [18:02:53.747] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:53.747] } [18:02:53.747] ...future.workdir <- getwd() [18:02:53.747] } [18:02:53.747] ...future.oldOptions <- base::as.list(base::.Options) [18:02:53.747] ...future.oldEnvVars <- base::Sys.getenv() [18:02:53.747] } [18:02:53.747] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:53.747] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:53.747] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:53.747] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:53.747] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:53.747] future.stdout.windows.reencode = NULL, width = 80L) [18:02:53.747] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:53.747] base::names(...future.oldOptions)) [18:02:53.747] } [18:02:53.747] if (FALSE) { [18:02:53.747] } [18:02:53.747] else { [18:02:53.747] if (TRUE) { [18:02:53.747] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:53.747] open = "w") [18:02:53.747] } [18:02:53.747] else { [18:02:53.747] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:53.747] windows = "NUL", "/dev/null"), open = "w") [18:02:53.747] } [18:02:53.747] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:53.747] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:53.747] base::sink(type = "output", split = FALSE) [18:02:53.747] base::close(...future.stdout) [18:02:53.747] }, add = TRUE) [18:02:53.747] } [18:02:53.747] ...future.frame <- base::sys.nframe() [18:02:53.747] ...future.conditions <- base::list() [18:02:53.747] ...future.rng <- base::globalenv()$.Random.seed [18:02:53.747] if (FALSE) { [18:02:53.747] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:53.747] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:53.747] } [18:02:53.747] ...future.result <- base::tryCatch({ [18:02:53.747] base::withCallingHandlers({ [18:02:53.747] ...future.value <- base::withVisible(base::local({ [18:02:53.747] ...future.makeSendCondition <- local({ [18:02:53.747] sendCondition <- NULL [18:02:53.747] function(frame = 1L) { [18:02:53.747] if (is.function(sendCondition)) [18:02:53.747] return(sendCondition) [18:02:53.747] ns <- getNamespace("parallel") [18:02:53.747] if (exists("sendData", mode = "function", [18:02:53.747] envir = ns)) { [18:02:53.747] parallel_sendData <- get("sendData", mode = "function", [18:02:53.747] envir = ns) [18:02:53.747] envir <- sys.frame(frame) [18:02:53.747] master <- NULL [18:02:53.747] while (!identical(envir, .GlobalEnv) && [18:02:53.747] !identical(envir, emptyenv())) { [18:02:53.747] if (exists("master", mode = "list", envir = envir, [18:02:53.747] inherits = FALSE)) { [18:02:53.747] master <- get("master", mode = "list", [18:02:53.747] envir = envir, inherits = FALSE) [18:02:53.747] if (inherits(master, c("SOCKnode", [18:02:53.747] "SOCK0node"))) { [18:02:53.747] sendCondition <<- function(cond) { [18:02:53.747] data <- list(type = "VALUE", value = cond, [18:02:53.747] success = TRUE) [18:02:53.747] parallel_sendData(master, data) [18:02:53.747] } [18:02:53.747] return(sendCondition) [18:02:53.747] } [18:02:53.747] } [18:02:53.747] frame <- frame + 1L [18:02:53.747] envir <- sys.frame(frame) [18:02:53.747] } [18:02:53.747] } [18:02:53.747] sendCondition <<- function(cond) NULL [18:02:53.747] } [18:02:53.747] }) [18:02:53.747] withCallingHandlers({ [18:02:53.747] { [18:02:53.747] Sys.sleep(0.5) [18:02:53.747] list(a = 1, b = 42L) [18:02:53.747] } [18:02:53.747] }, immediateCondition = function(cond) { [18:02:53.747] sendCondition <- ...future.makeSendCondition() [18:02:53.747] sendCondition(cond) [18:02:53.747] muffleCondition <- function (cond, pattern = "^muffle") [18:02:53.747] { [18:02:53.747] inherits <- base::inherits [18:02:53.747] invokeRestart <- base::invokeRestart [18:02:53.747] is.null <- base::is.null [18:02:53.747] muffled <- FALSE [18:02:53.747] if (inherits(cond, "message")) { [18:02:53.747] muffled <- grepl(pattern, "muffleMessage") [18:02:53.747] if (muffled) [18:02:53.747] invokeRestart("muffleMessage") [18:02:53.747] } [18:02:53.747] else if (inherits(cond, "warning")) { [18:02:53.747] muffled <- grepl(pattern, "muffleWarning") [18:02:53.747] if (muffled) [18:02:53.747] invokeRestart("muffleWarning") [18:02:53.747] } [18:02:53.747] else if (inherits(cond, "condition")) { [18:02:53.747] if (!is.null(pattern)) { [18:02:53.747] computeRestarts <- base::computeRestarts [18:02:53.747] grepl <- base::grepl [18:02:53.747] restarts <- computeRestarts(cond) [18:02:53.747] for (restart in restarts) { [18:02:53.747] name <- restart$name [18:02:53.747] if (is.null(name)) [18:02:53.747] next [18:02:53.747] if (!grepl(pattern, name)) [18:02:53.747] next [18:02:53.747] invokeRestart(restart) [18:02:53.747] muffled <- TRUE [18:02:53.747] break [18:02:53.747] } [18:02:53.747] } [18:02:53.747] } [18:02:53.747] invisible(muffled) [18:02:53.747] } [18:02:53.747] muffleCondition(cond) [18:02:53.747] }) [18:02:53.747] })) [18:02:53.747] future::FutureResult(value = ...future.value$value, [18:02:53.747] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:53.747] ...future.rng), globalenv = if (FALSE) [18:02:53.747] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:53.747] ...future.globalenv.names)) [18:02:53.747] else NULL, started = ...future.startTime, version = "1.8") [18:02:53.747] }, condition = base::local({ [18:02:53.747] c <- base::c [18:02:53.747] inherits <- base::inherits [18:02:53.747] invokeRestart <- base::invokeRestart [18:02:53.747] length <- base::length [18:02:53.747] list <- base::list [18:02:53.747] seq.int <- base::seq.int [18:02:53.747] signalCondition <- base::signalCondition [18:02:53.747] sys.calls <- base::sys.calls [18:02:53.747] `[[` <- base::`[[` [18:02:53.747] `+` <- base::`+` [18:02:53.747] `<<-` <- base::`<<-` [18:02:53.747] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:53.747] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:53.747] 3L)] [18:02:53.747] } [18:02:53.747] function(cond) { [18:02:53.747] is_error <- inherits(cond, "error") [18:02:53.747] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:53.747] NULL) [18:02:53.747] if (is_error) { [18:02:53.747] sessionInformation <- function() { [18:02:53.747] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:53.747] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:53.747] search = base::search(), system = base::Sys.info()) [18:02:53.747] } [18:02:53.747] ...future.conditions[[length(...future.conditions) + [18:02:53.747] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:53.747] cond$call), session = sessionInformation(), [18:02:53.747] timestamp = base::Sys.time(), signaled = 0L) [18:02:53.747] signalCondition(cond) [18:02:53.747] } [18:02:53.747] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:53.747] "immediateCondition"))) { [18:02:53.747] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:53.747] ...future.conditions[[length(...future.conditions) + [18:02:53.747] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:53.747] if (TRUE && !signal) { [18:02:53.747] muffleCondition <- function (cond, pattern = "^muffle") [18:02:53.747] { [18:02:53.747] inherits <- base::inherits [18:02:53.747] invokeRestart <- base::invokeRestart [18:02:53.747] is.null <- base::is.null [18:02:53.747] muffled <- FALSE [18:02:53.747] if (inherits(cond, "message")) { [18:02:53.747] muffled <- grepl(pattern, "muffleMessage") [18:02:53.747] if (muffled) [18:02:53.747] invokeRestart("muffleMessage") [18:02:53.747] } [18:02:53.747] else if (inherits(cond, "warning")) { [18:02:53.747] muffled <- grepl(pattern, "muffleWarning") [18:02:53.747] if (muffled) [18:02:53.747] invokeRestart("muffleWarning") [18:02:53.747] } [18:02:53.747] else if (inherits(cond, "condition")) { [18:02:53.747] if (!is.null(pattern)) { [18:02:53.747] computeRestarts <- base::computeRestarts [18:02:53.747] grepl <- base::grepl [18:02:53.747] restarts <- computeRestarts(cond) [18:02:53.747] for (restart in restarts) { [18:02:53.747] name <- restart$name [18:02:53.747] if (is.null(name)) [18:02:53.747] next [18:02:53.747] if (!grepl(pattern, name)) [18:02:53.747] next [18:02:53.747] invokeRestart(restart) [18:02:53.747] muffled <- TRUE [18:02:53.747] break [18:02:53.747] } [18:02:53.747] } [18:02:53.747] } [18:02:53.747] invisible(muffled) [18:02:53.747] } [18:02:53.747] muffleCondition(cond, pattern = "^muffle") [18:02:53.747] } [18:02:53.747] } [18:02:53.747] else { [18:02:53.747] if (TRUE) { [18:02:53.747] muffleCondition <- function (cond, pattern = "^muffle") [18:02:53.747] { [18:02:53.747] inherits <- base::inherits [18:02:53.747] invokeRestart <- base::invokeRestart [18:02:53.747] is.null <- base::is.null [18:02:53.747] muffled <- FALSE [18:02:53.747] if (inherits(cond, "message")) { [18:02:53.747] muffled <- grepl(pattern, "muffleMessage") [18:02:53.747] if (muffled) [18:02:53.747] invokeRestart("muffleMessage") [18:02:53.747] } [18:02:53.747] else if (inherits(cond, "warning")) { [18:02:53.747] muffled <- grepl(pattern, "muffleWarning") [18:02:53.747] if (muffled) [18:02:53.747] invokeRestart("muffleWarning") [18:02:53.747] } [18:02:53.747] else if (inherits(cond, "condition")) { [18:02:53.747] if (!is.null(pattern)) { [18:02:53.747] computeRestarts <- base::computeRestarts [18:02:53.747] grepl <- base::grepl [18:02:53.747] restarts <- computeRestarts(cond) [18:02:53.747] for (restart in restarts) { [18:02:53.747] name <- restart$name [18:02:53.747] if (is.null(name)) [18:02:53.747] next [18:02:53.747] if (!grepl(pattern, name)) [18:02:53.747] next [18:02:53.747] invokeRestart(restart) [18:02:53.747] muffled <- TRUE [18:02:53.747] break [18:02:53.747] } [18:02:53.747] } [18:02:53.747] } [18:02:53.747] invisible(muffled) [18:02:53.747] } [18:02:53.747] muffleCondition(cond, pattern = "^muffle") [18:02:53.747] } [18:02:53.747] } [18:02:53.747] } [18:02:53.747] })) [18:02:53.747] }, error = function(ex) { [18:02:53.747] base::structure(base::list(value = NULL, visible = NULL, [18:02:53.747] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:53.747] ...future.rng), started = ...future.startTime, [18:02:53.747] finished = Sys.time(), session_uuid = NA_character_, [18:02:53.747] version = "1.8"), class = "FutureResult") [18:02:53.747] }, finally = { [18:02:53.747] if (!identical(...future.workdir, getwd())) [18:02:53.747] setwd(...future.workdir) [18:02:53.747] { [18:02:53.747] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:53.747] ...future.oldOptions$nwarnings <- NULL [18:02:53.747] } [18:02:53.747] base::options(...future.oldOptions) [18:02:53.747] if (.Platform$OS.type == "windows") { [18:02:53.747] old_names <- names(...future.oldEnvVars) [18:02:53.747] envs <- base::Sys.getenv() [18:02:53.747] names <- names(envs) [18:02:53.747] common <- intersect(names, old_names) [18:02:53.747] added <- setdiff(names, old_names) [18:02:53.747] removed <- setdiff(old_names, names) [18:02:53.747] changed <- common[...future.oldEnvVars[common] != [18:02:53.747] envs[common]] [18:02:53.747] NAMES <- toupper(changed) [18:02:53.747] args <- list() [18:02:53.747] for (kk in seq_along(NAMES)) { [18:02:53.747] name <- changed[[kk]] [18:02:53.747] NAME <- NAMES[[kk]] [18:02:53.747] if (name != NAME && is.element(NAME, old_names)) [18:02:53.747] next [18:02:53.747] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:53.747] } [18:02:53.747] NAMES <- toupper(added) [18:02:53.747] for (kk in seq_along(NAMES)) { [18:02:53.747] name <- added[[kk]] [18:02:53.747] NAME <- NAMES[[kk]] [18:02:53.747] if (name != NAME && is.element(NAME, old_names)) [18:02:53.747] next [18:02:53.747] args[[name]] <- "" [18:02:53.747] } [18:02:53.747] NAMES <- toupper(removed) [18:02:53.747] for (kk in seq_along(NAMES)) { [18:02:53.747] name <- removed[[kk]] [18:02:53.747] NAME <- NAMES[[kk]] [18:02:53.747] if (name != NAME && is.element(NAME, old_names)) [18:02:53.747] next [18:02:53.747] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:53.747] } [18:02:53.747] if (length(args) > 0) [18:02:53.747] base::do.call(base::Sys.setenv, args = args) [18:02:53.747] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:53.747] } [18:02:53.747] else { [18:02:53.747] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:53.747] } [18:02:53.747] { [18:02:53.747] if (base::length(...future.futureOptionsAdded) > [18:02:53.747] 0L) { [18:02:53.747] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:53.747] base::names(opts) <- ...future.futureOptionsAdded [18:02:53.747] base::options(opts) [18:02:53.747] } [18:02:53.747] { [18:02:53.747] { [18:02:53.747] base::options(mc.cores = ...future.mc.cores.old) [18:02:53.747] NULL [18:02:53.747] } [18:02:53.747] options(future.plan = NULL) [18:02:53.747] if (is.na(NA_character_)) [18:02:53.747] Sys.unsetenv("R_FUTURE_PLAN") [18:02:53.747] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:53.747] future::plan(list(function (..., workers = availableCores(), [18:02:53.747] lazy = FALSE, rscript_libs = .libPaths(), [18:02:53.747] envir = parent.frame()) [18:02:53.747] { [18:02:53.747] if (is.function(workers)) [18:02:53.747] workers <- workers() [18:02:53.747] workers <- structure(as.integer(workers), [18:02:53.747] class = class(workers)) [18:02:53.747] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:53.747] workers >= 1) [18:02:53.747] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:53.747] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:53.747] } [18:02:53.747] future <- MultisessionFuture(..., workers = workers, [18:02:53.747] lazy = lazy, rscript_libs = rscript_libs, [18:02:53.747] envir = envir) [18:02:53.747] if (!future$lazy) [18:02:53.747] future <- run(future) [18:02:53.747] invisible(future) [18:02:53.747] }), .cleanup = FALSE, .init = FALSE) [18:02:53.747] } [18:02:53.747] } [18:02:53.747] } [18:02:53.747] }) [18:02:53.747] if (TRUE) { [18:02:53.747] base::sink(type = "output", split = FALSE) [18:02:53.747] if (TRUE) { [18:02:53.747] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:53.747] } [18:02:53.747] else { [18:02:53.747] ...future.result["stdout"] <- base::list(NULL) [18:02:53.747] } [18:02:53.747] base::close(...future.stdout) [18:02:53.747] ...future.stdout <- NULL [18:02:53.747] } [18:02:53.747] ...future.result$conditions <- ...future.conditions [18:02:53.747] ...future.result$finished <- base::Sys.time() [18:02:53.747] ...future.result [18:02:53.747] } [18:02:53.753] MultisessionFuture started [18:02:53.753] - Launch lazy future ... done [18:02:53.753] run() for 'MultisessionFuture' ... done [18:02:54.283] receiveMessageFromWorker() for ClusterFuture ... [18:02:54.283] - Validating connection of MultisessionFuture [18:02:54.284] - received message: FutureResult [18:02:54.284] - Received FutureResult [18:02:54.284] - Erased future from FutureRegistry [18:02:54.284] result() for ClusterFuture ... [18:02:54.284] - result already collected: FutureResult [18:02:54.285] result() for ClusterFuture ... done [18:02:54.285] receiveMessageFromWorker() for ClusterFuture ... done [18:02:54.285] A MultisessionFuture was resolved - w/ exception ... [18:02:54.285] getGlobalsAndPackages() ... [18:02:54.285] Searching for globals... [18:02:54.286] - globals found: [2] 'list', 'stop' [18:02:54.286] Searching for globals ... DONE [18:02:54.287] Resolving globals: FALSE [18:02:54.287] [18:02:54.287] [18:02:54.287] getGlobalsAndPackages() ... DONE [18:02:54.288] run() for 'Future' ... [18:02:54.288] - state: 'created' [18:02:54.288] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:54.302] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:54.302] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:54.302] - Field: 'node' [18:02:54.302] - Field: 'label' [18:02:54.302] - Field: 'local' [18:02:54.303] - Field: 'owner' [18:02:54.303] - Field: 'envir' [18:02:54.303] - Field: 'workers' [18:02:54.303] - Field: 'packages' [18:02:54.303] - Field: 'gc' [18:02:54.304] - Field: 'conditions' [18:02:54.304] - Field: 'persistent' [18:02:54.304] - Field: 'expr' [18:02:54.304] - Field: 'uuid' [18:02:54.304] - Field: 'seed' [18:02:54.304] - Field: 'version' [18:02:54.305] - Field: 'result' [18:02:54.305] - Field: 'asynchronous' [18:02:54.305] - Field: 'calls' [18:02:54.305] - Field: 'globals' [18:02:54.305] - Field: 'stdout' [18:02:54.305] - Field: 'earlySignal' [18:02:54.306] - Field: 'lazy' [18:02:54.306] - Field: 'state' [18:02:54.306] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:54.306] - Launch lazy future ... [18:02:54.307] Packages needed by the future expression (n = 0): [18:02:54.307] Packages needed by future strategies (n = 0): [18:02:54.307] { [18:02:54.307] { [18:02:54.307] { [18:02:54.307] ...future.startTime <- base::Sys.time() [18:02:54.307] { [18:02:54.307] { [18:02:54.307] { [18:02:54.307] { [18:02:54.307] base::local({ [18:02:54.307] has_future <- base::requireNamespace("future", [18:02:54.307] quietly = TRUE) [18:02:54.307] if (has_future) { [18:02:54.307] ns <- base::getNamespace("future") [18:02:54.307] version <- ns[[".package"]][["version"]] [18:02:54.307] if (is.null(version)) [18:02:54.307] version <- utils::packageVersion("future") [18:02:54.307] } [18:02:54.307] else { [18:02:54.307] version <- NULL [18:02:54.307] } [18:02:54.307] if (!has_future || version < "1.8.0") { [18:02:54.307] info <- base::c(r_version = base::gsub("R version ", [18:02:54.307] "", base::R.version$version.string), [18:02:54.307] platform = base::sprintf("%s (%s-bit)", [18:02:54.307] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:54.307] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:54.307] "release", "version")], collapse = " "), [18:02:54.307] hostname = base::Sys.info()[["nodename"]]) [18:02:54.307] info <- base::sprintf("%s: %s", base::names(info), [18:02:54.307] info) [18:02:54.307] info <- base::paste(info, collapse = "; ") [18:02:54.307] if (!has_future) { [18:02:54.307] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:54.307] info) [18:02:54.307] } [18:02:54.307] else { [18:02:54.307] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:54.307] info, version) [18:02:54.307] } [18:02:54.307] base::stop(msg) [18:02:54.307] } [18:02:54.307] }) [18:02:54.307] } [18:02:54.307] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:54.307] base::options(mc.cores = 1L) [18:02:54.307] } [18:02:54.307] options(future.plan = NULL) [18:02:54.307] Sys.unsetenv("R_FUTURE_PLAN") [18:02:54.307] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:54.307] } [18:02:54.307] ...future.workdir <- getwd() [18:02:54.307] } [18:02:54.307] ...future.oldOptions <- base::as.list(base::.Options) [18:02:54.307] ...future.oldEnvVars <- base::Sys.getenv() [18:02:54.307] } [18:02:54.307] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:54.307] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:54.307] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:54.307] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:54.307] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:54.307] future.stdout.windows.reencode = NULL, width = 80L) [18:02:54.307] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:54.307] base::names(...future.oldOptions)) [18:02:54.307] } [18:02:54.307] if (FALSE) { [18:02:54.307] } [18:02:54.307] else { [18:02:54.307] if (TRUE) { [18:02:54.307] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:54.307] open = "w") [18:02:54.307] } [18:02:54.307] else { [18:02:54.307] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:54.307] windows = "NUL", "/dev/null"), open = "w") [18:02:54.307] } [18:02:54.307] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:54.307] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:54.307] base::sink(type = "output", split = FALSE) [18:02:54.307] base::close(...future.stdout) [18:02:54.307] }, add = TRUE) [18:02:54.307] } [18:02:54.307] ...future.frame <- base::sys.nframe() [18:02:54.307] ...future.conditions <- base::list() [18:02:54.307] ...future.rng <- base::globalenv()$.Random.seed [18:02:54.307] if (FALSE) { [18:02:54.307] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:54.307] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:54.307] } [18:02:54.307] ...future.result <- base::tryCatch({ [18:02:54.307] base::withCallingHandlers({ [18:02:54.307] ...future.value <- base::withVisible(base::local({ [18:02:54.307] ...future.makeSendCondition <- local({ [18:02:54.307] sendCondition <- NULL [18:02:54.307] function(frame = 1L) { [18:02:54.307] if (is.function(sendCondition)) [18:02:54.307] return(sendCondition) [18:02:54.307] ns <- getNamespace("parallel") [18:02:54.307] if (exists("sendData", mode = "function", [18:02:54.307] envir = ns)) { [18:02:54.307] parallel_sendData <- get("sendData", mode = "function", [18:02:54.307] envir = ns) [18:02:54.307] envir <- sys.frame(frame) [18:02:54.307] master <- NULL [18:02:54.307] while (!identical(envir, .GlobalEnv) && [18:02:54.307] !identical(envir, emptyenv())) { [18:02:54.307] if (exists("master", mode = "list", envir = envir, [18:02:54.307] inherits = FALSE)) { [18:02:54.307] master <- get("master", mode = "list", [18:02:54.307] envir = envir, inherits = FALSE) [18:02:54.307] if (inherits(master, c("SOCKnode", [18:02:54.307] "SOCK0node"))) { [18:02:54.307] sendCondition <<- function(cond) { [18:02:54.307] data <- list(type = "VALUE", value = cond, [18:02:54.307] success = TRUE) [18:02:54.307] parallel_sendData(master, data) [18:02:54.307] } [18:02:54.307] return(sendCondition) [18:02:54.307] } [18:02:54.307] } [18:02:54.307] frame <- frame + 1L [18:02:54.307] envir <- sys.frame(frame) [18:02:54.307] } [18:02:54.307] } [18:02:54.307] sendCondition <<- function(cond) NULL [18:02:54.307] } [18:02:54.307] }) [18:02:54.307] withCallingHandlers({ [18:02:54.307] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:54.307] }, immediateCondition = function(cond) { [18:02:54.307] sendCondition <- ...future.makeSendCondition() [18:02:54.307] sendCondition(cond) [18:02:54.307] muffleCondition <- function (cond, pattern = "^muffle") [18:02:54.307] { [18:02:54.307] inherits <- base::inherits [18:02:54.307] invokeRestart <- base::invokeRestart [18:02:54.307] is.null <- base::is.null [18:02:54.307] muffled <- FALSE [18:02:54.307] if (inherits(cond, "message")) { [18:02:54.307] muffled <- grepl(pattern, "muffleMessage") [18:02:54.307] if (muffled) [18:02:54.307] invokeRestart("muffleMessage") [18:02:54.307] } [18:02:54.307] else if (inherits(cond, "warning")) { [18:02:54.307] muffled <- grepl(pattern, "muffleWarning") [18:02:54.307] if (muffled) [18:02:54.307] invokeRestart("muffleWarning") [18:02:54.307] } [18:02:54.307] else if (inherits(cond, "condition")) { [18:02:54.307] if (!is.null(pattern)) { [18:02:54.307] computeRestarts <- base::computeRestarts [18:02:54.307] grepl <- base::grepl [18:02:54.307] restarts <- computeRestarts(cond) [18:02:54.307] for (restart in restarts) { [18:02:54.307] name <- restart$name [18:02:54.307] if (is.null(name)) [18:02:54.307] next [18:02:54.307] if (!grepl(pattern, name)) [18:02:54.307] next [18:02:54.307] invokeRestart(restart) [18:02:54.307] muffled <- TRUE [18:02:54.307] break [18:02:54.307] } [18:02:54.307] } [18:02:54.307] } [18:02:54.307] invisible(muffled) [18:02:54.307] } [18:02:54.307] muffleCondition(cond) [18:02:54.307] }) [18:02:54.307] })) [18:02:54.307] future::FutureResult(value = ...future.value$value, [18:02:54.307] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:54.307] ...future.rng), globalenv = if (FALSE) [18:02:54.307] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:54.307] ...future.globalenv.names)) [18:02:54.307] else NULL, started = ...future.startTime, version = "1.8") [18:02:54.307] }, condition = base::local({ [18:02:54.307] c <- base::c [18:02:54.307] inherits <- base::inherits [18:02:54.307] invokeRestart <- base::invokeRestart [18:02:54.307] length <- base::length [18:02:54.307] list <- base::list [18:02:54.307] seq.int <- base::seq.int [18:02:54.307] signalCondition <- base::signalCondition [18:02:54.307] sys.calls <- base::sys.calls [18:02:54.307] `[[` <- base::`[[` [18:02:54.307] `+` <- base::`+` [18:02:54.307] `<<-` <- base::`<<-` [18:02:54.307] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:54.307] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:54.307] 3L)] [18:02:54.307] } [18:02:54.307] function(cond) { [18:02:54.307] is_error <- inherits(cond, "error") [18:02:54.307] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:54.307] NULL) [18:02:54.307] if (is_error) { [18:02:54.307] sessionInformation <- function() { [18:02:54.307] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:54.307] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:54.307] search = base::search(), system = base::Sys.info()) [18:02:54.307] } [18:02:54.307] ...future.conditions[[length(...future.conditions) + [18:02:54.307] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:54.307] cond$call), session = sessionInformation(), [18:02:54.307] timestamp = base::Sys.time(), signaled = 0L) [18:02:54.307] signalCondition(cond) [18:02:54.307] } [18:02:54.307] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:54.307] "immediateCondition"))) { [18:02:54.307] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:54.307] ...future.conditions[[length(...future.conditions) + [18:02:54.307] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:54.307] if (TRUE && !signal) { [18:02:54.307] muffleCondition <- function (cond, pattern = "^muffle") [18:02:54.307] { [18:02:54.307] inherits <- base::inherits [18:02:54.307] invokeRestart <- base::invokeRestart [18:02:54.307] is.null <- base::is.null [18:02:54.307] muffled <- FALSE [18:02:54.307] if (inherits(cond, "message")) { [18:02:54.307] muffled <- grepl(pattern, "muffleMessage") [18:02:54.307] if (muffled) [18:02:54.307] invokeRestart("muffleMessage") [18:02:54.307] } [18:02:54.307] else if (inherits(cond, "warning")) { [18:02:54.307] muffled <- grepl(pattern, "muffleWarning") [18:02:54.307] if (muffled) [18:02:54.307] invokeRestart("muffleWarning") [18:02:54.307] } [18:02:54.307] else if (inherits(cond, "condition")) { [18:02:54.307] if (!is.null(pattern)) { [18:02:54.307] computeRestarts <- base::computeRestarts [18:02:54.307] grepl <- base::grepl [18:02:54.307] restarts <- computeRestarts(cond) [18:02:54.307] for (restart in restarts) { [18:02:54.307] name <- restart$name [18:02:54.307] if (is.null(name)) [18:02:54.307] next [18:02:54.307] if (!grepl(pattern, name)) [18:02:54.307] next [18:02:54.307] invokeRestart(restart) [18:02:54.307] muffled <- TRUE [18:02:54.307] break [18:02:54.307] } [18:02:54.307] } [18:02:54.307] } [18:02:54.307] invisible(muffled) [18:02:54.307] } [18:02:54.307] muffleCondition(cond, pattern = "^muffle") [18:02:54.307] } [18:02:54.307] } [18:02:54.307] else { [18:02:54.307] if (TRUE) { [18:02:54.307] muffleCondition <- function (cond, pattern = "^muffle") [18:02:54.307] { [18:02:54.307] inherits <- base::inherits [18:02:54.307] invokeRestart <- base::invokeRestart [18:02:54.307] is.null <- base::is.null [18:02:54.307] muffled <- FALSE [18:02:54.307] if (inherits(cond, "message")) { [18:02:54.307] muffled <- grepl(pattern, "muffleMessage") [18:02:54.307] if (muffled) [18:02:54.307] invokeRestart("muffleMessage") [18:02:54.307] } [18:02:54.307] else if (inherits(cond, "warning")) { [18:02:54.307] muffled <- grepl(pattern, "muffleWarning") [18:02:54.307] if (muffled) [18:02:54.307] invokeRestart("muffleWarning") [18:02:54.307] } [18:02:54.307] else if (inherits(cond, "condition")) { [18:02:54.307] if (!is.null(pattern)) { [18:02:54.307] computeRestarts <- base::computeRestarts [18:02:54.307] grepl <- base::grepl [18:02:54.307] restarts <- computeRestarts(cond) [18:02:54.307] for (restart in restarts) { [18:02:54.307] name <- restart$name [18:02:54.307] if (is.null(name)) [18:02:54.307] next [18:02:54.307] if (!grepl(pattern, name)) [18:02:54.307] next [18:02:54.307] invokeRestart(restart) [18:02:54.307] muffled <- TRUE [18:02:54.307] break [18:02:54.307] } [18:02:54.307] } [18:02:54.307] } [18:02:54.307] invisible(muffled) [18:02:54.307] } [18:02:54.307] muffleCondition(cond, pattern = "^muffle") [18:02:54.307] } [18:02:54.307] } [18:02:54.307] } [18:02:54.307] })) [18:02:54.307] }, error = function(ex) { [18:02:54.307] base::structure(base::list(value = NULL, visible = NULL, [18:02:54.307] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:54.307] ...future.rng), started = ...future.startTime, [18:02:54.307] finished = Sys.time(), session_uuid = NA_character_, [18:02:54.307] version = "1.8"), class = "FutureResult") [18:02:54.307] }, finally = { [18:02:54.307] if (!identical(...future.workdir, getwd())) [18:02:54.307] setwd(...future.workdir) [18:02:54.307] { [18:02:54.307] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:54.307] ...future.oldOptions$nwarnings <- NULL [18:02:54.307] } [18:02:54.307] base::options(...future.oldOptions) [18:02:54.307] if (.Platform$OS.type == "windows") { [18:02:54.307] old_names <- names(...future.oldEnvVars) [18:02:54.307] envs <- base::Sys.getenv() [18:02:54.307] names <- names(envs) [18:02:54.307] common <- intersect(names, old_names) [18:02:54.307] added <- setdiff(names, old_names) [18:02:54.307] removed <- setdiff(old_names, names) [18:02:54.307] changed <- common[...future.oldEnvVars[common] != [18:02:54.307] envs[common]] [18:02:54.307] NAMES <- toupper(changed) [18:02:54.307] args <- list() [18:02:54.307] for (kk in seq_along(NAMES)) { [18:02:54.307] name <- changed[[kk]] [18:02:54.307] NAME <- NAMES[[kk]] [18:02:54.307] if (name != NAME && is.element(NAME, old_names)) [18:02:54.307] next [18:02:54.307] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:54.307] } [18:02:54.307] NAMES <- toupper(added) [18:02:54.307] for (kk in seq_along(NAMES)) { [18:02:54.307] name <- added[[kk]] [18:02:54.307] NAME <- NAMES[[kk]] [18:02:54.307] if (name != NAME && is.element(NAME, old_names)) [18:02:54.307] next [18:02:54.307] args[[name]] <- "" [18:02:54.307] } [18:02:54.307] NAMES <- toupper(removed) [18:02:54.307] for (kk in seq_along(NAMES)) { [18:02:54.307] name <- removed[[kk]] [18:02:54.307] NAME <- NAMES[[kk]] [18:02:54.307] if (name != NAME && is.element(NAME, old_names)) [18:02:54.307] next [18:02:54.307] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:54.307] } [18:02:54.307] if (length(args) > 0) [18:02:54.307] base::do.call(base::Sys.setenv, args = args) [18:02:54.307] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:54.307] } [18:02:54.307] else { [18:02:54.307] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:54.307] } [18:02:54.307] { [18:02:54.307] if (base::length(...future.futureOptionsAdded) > [18:02:54.307] 0L) { [18:02:54.307] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:54.307] base::names(opts) <- ...future.futureOptionsAdded [18:02:54.307] base::options(opts) [18:02:54.307] } [18:02:54.307] { [18:02:54.307] { [18:02:54.307] base::options(mc.cores = ...future.mc.cores.old) [18:02:54.307] NULL [18:02:54.307] } [18:02:54.307] options(future.plan = NULL) [18:02:54.307] if (is.na(NA_character_)) [18:02:54.307] Sys.unsetenv("R_FUTURE_PLAN") [18:02:54.307] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:54.307] future::plan(list(function (..., workers = availableCores(), [18:02:54.307] lazy = FALSE, rscript_libs = .libPaths(), [18:02:54.307] envir = parent.frame()) [18:02:54.307] { [18:02:54.307] if (is.function(workers)) [18:02:54.307] workers <- workers() [18:02:54.307] workers <- structure(as.integer(workers), [18:02:54.307] class = class(workers)) [18:02:54.307] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:54.307] workers >= 1) [18:02:54.307] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:54.307] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:54.307] } [18:02:54.307] future <- MultisessionFuture(..., workers = workers, [18:02:54.307] lazy = lazy, rscript_libs = rscript_libs, [18:02:54.307] envir = envir) [18:02:54.307] if (!future$lazy) [18:02:54.307] future <- run(future) [18:02:54.307] invisible(future) [18:02:54.307] }), .cleanup = FALSE, .init = FALSE) [18:02:54.307] } [18:02:54.307] } [18:02:54.307] } [18:02:54.307] }) [18:02:54.307] if (TRUE) { [18:02:54.307] base::sink(type = "output", split = FALSE) [18:02:54.307] if (TRUE) { [18:02:54.307] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:54.307] } [18:02:54.307] else { [18:02:54.307] ...future.result["stdout"] <- base::list(NULL) [18:02:54.307] } [18:02:54.307] base::close(...future.stdout) [18:02:54.307] ...future.stdout <- NULL [18:02:54.307] } [18:02:54.307] ...future.result$conditions <- ...future.conditions [18:02:54.307] ...future.result$finished <- base::Sys.time() [18:02:54.307] ...future.result [18:02:54.307] } [18:02:54.313] MultisessionFuture started [18:02:54.313] - Launch lazy future ... done [18:02:54.313] run() for 'MultisessionFuture' ... done [18:02:54.331] receiveMessageFromWorker() for ClusterFuture ... [18:02:54.331] - Validating connection of MultisessionFuture [18:02:54.331] - received message: FutureResult [18:02:54.332] - Received FutureResult [18:02:54.332] - Erased future from FutureRegistry [18:02:54.332] result() for ClusterFuture ... [18:02:54.332] - result already collected: FutureResult [18:02:54.332] result() for ClusterFuture ... done [18:02:54.332] signalConditions() ... [18:02:54.333] - include = 'immediateCondition' [18:02:54.333] - exclude = [18:02:54.333] - resignal = FALSE [18:02:54.333] - Number of conditions: 1 [18:02:54.333] signalConditions() ... done [18:02:54.333] receiveMessageFromWorker() for ClusterFuture ... done [18:02:54.334] A MultisessionFuture was resolved [18:02:54.334] getGlobalsAndPackages() ... [18:02:54.334] Searching for globals... [18:02:54.335] - globals found: [2] 'list', 'stop' [18:02:54.335] Searching for globals ... DONE [18:02:54.335] Resolving globals: FALSE [18:02:54.336] [18:02:54.336] [18:02:54.336] getGlobalsAndPackages() ... DONE [18:02:54.336] run() for 'Future' ... [18:02:54.337] - state: 'created' [18:02:54.337] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:54.351] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:54.351] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:54.351] - Field: 'node' [18:02:54.352] - Field: 'label' [18:02:54.352] - Field: 'local' [18:02:54.352] - Field: 'owner' [18:02:54.352] - Field: 'envir' [18:02:54.352] - Field: 'workers' [18:02:54.353] - Field: 'packages' [18:02:54.353] - Field: 'gc' [18:02:54.353] - Field: 'conditions' [18:02:54.353] - Field: 'persistent' [18:02:54.353] - Field: 'expr' [18:02:54.354] - Field: 'uuid' [18:02:54.354] - Field: 'seed' [18:02:54.354] - Field: 'version' [18:02:54.354] - Field: 'result' [18:02:54.354] - Field: 'asynchronous' [18:02:54.354] - Field: 'calls' [18:02:54.355] - Field: 'globals' [18:02:54.355] - Field: 'stdout' [18:02:54.355] - Field: 'earlySignal' [18:02:54.355] - Field: 'lazy' [18:02:54.355] - Field: 'state' [18:02:54.356] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:54.356] - Launch lazy future ... [18:02:54.356] Packages needed by the future expression (n = 0): [18:02:54.356] Packages needed by future strategies (n = 0): [18:02:54.357] { [18:02:54.357] { [18:02:54.357] { [18:02:54.357] ...future.startTime <- base::Sys.time() [18:02:54.357] { [18:02:54.357] { [18:02:54.357] { [18:02:54.357] { [18:02:54.357] base::local({ [18:02:54.357] has_future <- base::requireNamespace("future", [18:02:54.357] quietly = TRUE) [18:02:54.357] if (has_future) { [18:02:54.357] ns <- base::getNamespace("future") [18:02:54.357] version <- ns[[".package"]][["version"]] [18:02:54.357] if (is.null(version)) [18:02:54.357] version <- utils::packageVersion("future") [18:02:54.357] } [18:02:54.357] else { [18:02:54.357] version <- NULL [18:02:54.357] } [18:02:54.357] if (!has_future || version < "1.8.0") { [18:02:54.357] info <- base::c(r_version = base::gsub("R version ", [18:02:54.357] "", base::R.version$version.string), [18:02:54.357] platform = base::sprintf("%s (%s-bit)", [18:02:54.357] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:54.357] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:54.357] "release", "version")], collapse = " "), [18:02:54.357] hostname = base::Sys.info()[["nodename"]]) [18:02:54.357] info <- base::sprintf("%s: %s", base::names(info), [18:02:54.357] info) [18:02:54.357] info <- base::paste(info, collapse = "; ") [18:02:54.357] if (!has_future) { [18:02:54.357] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:54.357] info) [18:02:54.357] } [18:02:54.357] else { [18:02:54.357] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:54.357] info, version) [18:02:54.357] } [18:02:54.357] base::stop(msg) [18:02:54.357] } [18:02:54.357] }) [18:02:54.357] } [18:02:54.357] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:54.357] base::options(mc.cores = 1L) [18:02:54.357] } [18:02:54.357] options(future.plan = NULL) [18:02:54.357] Sys.unsetenv("R_FUTURE_PLAN") [18:02:54.357] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:54.357] } [18:02:54.357] ...future.workdir <- getwd() [18:02:54.357] } [18:02:54.357] ...future.oldOptions <- base::as.list(base::.Options) [18:02:54.357] ...future.oldEnvVars <- base::Sys.getenv() [18:02:54.357] } [18:02:54.357] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:54.357] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:54.357] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:54.357] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:54.357] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:54.357] future.stdout.windows.reencode = NULL, width = 80L) [18:02:54.357] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:54.357] base::names(...future.oldOptions)) [18:02:54.357] } [18:02:54.357] if (FALSE) { [18:02:54.357] } [18:02:54.357] else { [18:02:54.357] if (TRUE) { [18:02:54.357] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:54.357] open = "w") [18:02:54.357] } [18:02:54.357] else { [18:02:54.357] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:54.357] windows = "NUL", "/dev/null"), open = "w") [18:02:54.357] } [18:02:54.357] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:54.357] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:54.357] base::sink(type = "output", split = FALSE) [18:02:54.357] base::close(...future.stdout) [18:02:54.357] }, add = TRUE) [18:02:54.357] } [18:02:54.357] ...future.frame <- base::sys.nframe() [18:02:54.357] ...future.conditions <- base::list() [18:02:54.357] ...future.rng <- base::globalenv()$.Random.seed [18:02:54.357] if (FALSE) { [18:02:54.357] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:54.357] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:54.357] } [18:02:54.357] ...future.result <- base::tryCatch({ [18:02:54.357] base::withCallingHandlers({ [18:02:54.357] ...future.value <- base::withVisible(base::local({ [18:02:54.357] ...future.makeSendCondition <- local({ [18:02:54.357] sendCondition <- NULL [18:02:54.357] function(frame = 1L) { [18:02:54.357] if (is.function(sendCondition)) [18:02:54.357] return(sendCondition) [18:02:54.357] ns <- getNamespace("parallel") [18:02:54.357] if (exists("sendData", mode = "function", [18:02:54.357] envir = ns)) { [18:02:54.357] parallel_sendData <- get("sendData", mode = "function", [18:02:54.357] envir = ns) [18:02:54.357] envir <- sys.frame(frame) [18:02:54.357] master <- NULL [18:02:54.357] while (!identical(envir, .GlobalEnv) && [18:02:54.357] !identical(envir, emptyenv())) { [18:02:54.357] if (exists("master", mode = "list", envir = envir, [18:02:54.357] inherits = FALSE)) { [18:02:54.357] master <- get("master", mode = "list", [18:02:54.357] envir = envir, inherits = FALSE) [18:02:54.357] if (inherits(master, c("SOCKnode", [18:02:54.357] "SOCK0node"))) { [18:02:54.357] sendCondition <<- function(cond) { [18:02:54.357] data <- list(type = "VALUE", value = cond, [18:02:54.357] success = TRUE) [18:02:54.357] parallel_sendData(master, data) [18:02:54.357] } [18:02:54.357] return(sendCondition) [18:02:54.357] } [18:02:54.357] } [18:02:54.357] frame <- frame + 1L [18:02:54.357] envir <- sys.frame(frame) [18:02:54.357] } [18:02:54.357] } [18:02:54.357] sendCondition <<- function(cond) NULL [18:02:54.357] } [18:02:54.357] }) [18:02:54.357] withCallingHandlers({ [18:02:54.357] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:54.357] }, immediateCondition = function(cond) { [18:02:54.357] sendCondition <- ...future.makeSendCondition() [18:02:54.357] sendCondition(cond) [18:02:54.357] muffleCondition <- function (cond, pattern = "^muffle") [18:02:54.357] { [18:02:54.357] inherits <- base::inherits [18:02:54.357] invokeRestart <- base::invokeRestart [18:02:54.357] is.null <- base::is.null [18:02:54.357] muffled <- FALSE [18:02:54.357] if (inherits(cond, "message")) { [18:02:54.357] muffled <- grepl(pattern, "muffleMessage") [18:02:54.357] if (muffled) [18:02:54.357] invokeRestart("muffleMessage") [18:02:54.357] } [18:02:54.357] else if (inherits(cond, "warning")) { [18:02:54.357] muffled <- grepl(pattern, "muffleWarning") [18:02:54.357] if (muffled) [18:02:54.357] invokeRestart("muffleWarning") [18:02:54.357] } [18:02:54.357] else if (inherits(cond, "condition")) { [18:02:54.357] if (!is.null(pattern)) { [18:02:54.357] computeRestarts <- base::computeRestarts [18:02:54.357] grepl <- base::grepl [18:02:54.357] restarts <- computeRestarts(cond) [18:02:54.357] for (restart in restarts) { [18:02:54.357] name <- restart$name [18:02:54.357] if (is.null(name)) [18:02:54.357] next [18:02:54.357] if (!grepl(pattern, name)) [18:02:54.357] next [18:02:54.357] invokeRestart(restart) [18:02:54.357] muffled <- TRUE [18:02:54.357] break [18:02:54.357] } [18:02:54.357] } [18:02:54.357] } [18:02:54.357] invisible(muffled) [18:02:54.357] } [18:02:54.357] muffleCondition(cond) [18:02:54.357] }) [18:02:54.357] })) [18:02:54.357] future::FutureResult(value = ...future.value$value, [18:02:54.357] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:54.357] ...future.rng), globalenv = if (FALSE) [18:02:54.357] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:54.357] ...future.globalenv.names)) [18:02:54.357] else NULL, started = ...future.startTime, version = "1.8") [18:02:54.357] }, condition = base::local({ [18:02:54.357] c <- base::c [18:02:54.357] inherits <- base::inherits [18:02:54.357] invokeRestart <- base::invokeRestart [18:02:54.357] length <- base::length [18:02:54.357] list <- base::list [18:02:54.357] seq.int <- base::seq.int [18:02:54.357] signalCondition <- base::signalCondition [18:02:54.357] sys.calls <- base::sys.calls [18:02:54.357] `[[` <- base::`[[` [18:02:54.357] `+` <- base::`+` [18:02:54.357] `<<-` <- base::`<<-` [18:02:54.357] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:54.357] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:54.357] 3L)] [18:02:54.357] } [18:02:54.357] function(cond) { [18:02:54.357] is_error <- inherits(cond, "error") [18:02:54.357] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:54.357] NULL) [18:02:54.357] if (is_error) { [18:02:54.357] sessionInformation <- function() { [18:02:54.357] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:54.357] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:54.357] search = base::search(), system = base::Sys.info()) [18:02:54.357] } [18:02:54.357] ...future.conditions[[length(...future.conditions) + [18:02:54.357] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:54.357] cond$call), session = sessionInformation(), [18:02:54.357] timestamp = base::Sys.time(), signaled = 0L) [18:02:54.357] signalCondition(cond) [18:02:54.357] } [18:02:54.357] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:54.357] "immediateCondition"))) { [18:02:54.357] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:54.357] ...future.conditions[[length(...future.conditions) + [18:02:54.357] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:54.357] if (TRUE && !signal) { [18:02:54.357] muffleCondition <- function (cond, pattern = "^muffle") [18:02:54.357] { [18:02:54.357] inherits <- base::inherits [18:02:54.357] invokeRestart <- base::invokeRestart [18:02:54.357] is.null <- base::is.null [18:02:54.357] muffled <- FALSE [18:02:54.357] if (inherits(cond, "message")) { [18:02:54.357] muffled <- grepl(pattern, "muffleMessage") [18:02:54.357] if (muffled) [18:02:54.357] invokeRestart("muffleMessage") [18:02:54.357] } [18:02:54.357] else if (inherits(cond, "warning")) { [18:02:54.357] muffled <- grepl(pattern, "muffleWarning") [18:02:54.357] if (muffled) [18:02:54.357] invokeRestart("muffleWarning") [18:02:54.357] } [18:02:54.357] else if (inherits(cond, "condition")) { [18:02:54.357] if (!is.null(pattern)) { [18:02:54.357] computeRestarts <- base::computeRestarts [18:02:54.357] grepl <- base::grepl [18:02:54.357] restarts <- computeRestarts(cond) [18:02:54.357] for (restart in restarts) { [18:02:54.357] name <- restart$name [18:02:54.357] if (is.null(name)) [18:02:54.357] next [18:02:54.357] if (!grepl(pattern, name)) [18:02:54.357] next [18:02:54.357] invokeRestart(restart) [18:02:54.357] muffled <- TRUE [18:02:54.357] break [18:02:54.357] } [18:02:54.357] } [18:02:54.357] } [18:02:54.357] invisible(muffled) [18:02:54.357] } [18:02:54.357] muffleCondition(cond, pattern = "^muffle") [18:02:54.357] } [18:02:54.357] } [18:02:54.357] else { [18:02:54.357] if (TRUE) { [18:02:54.357] muffleCondition <- function (cond, pattern = "^muffle") [18:02:54.357] { [18:02:54.357] inherits <- base::inherits [18:02:54.357] invokeRestart <- base::invokeRestart [18:02:54.357] is.null <- base::is.null [18:02:54.357] muffled <- FALSE [18:02:54.357] if (inherits(cond, "message")) { [18:02:54.357] muffled <- grepl(pattern, "muffleMessage") [18:02:54.357] if (muffled) [18:02:54.357] invokeRestart("muffleMessage") [18:02:54.357] } [18:02:54.357] else if (inherits(cond, "warning")) { [18:02:54.357] muffled <- grepl(pattern, "muffleWarning") [18:02:54.357] if (muffled) [18:02:54.357] invokeRestart("muffleWarning") [18:02:54.357] } [18:02:54.357] else if (inherits(cond, "condition")) { [18:02:54.357] if (!is.null(pattern)) { [18:02:54.357] computeRestarts <- base::computeRestarts [18:02:54.357] grepl <- base::grepl [18:02:54.357] restarts <- computeRestarts(cond) [18:02:54.357] for (restart in restarts) { [18:02:54.357] name <- restart$name [18:02:54.357] if (is.null(name)) [18:02:54.357] next [18:02:54.357] if (!grepl(pattern, name)) [18:02:54.357] next [18:02:54.357] invokeRestart(restart) [18:02:54.357] muffled <- TRUE [18:02:54.357] break [18:02:54.357] } [18:02:54.357] } [18:02:54.357] } [18:02:54.357] invisible(muffled) [18:02:54.357] } [18:02:54.357] muffleCondition(cond, pattern = "^muffle") [18:02:54.357] } [18:02:54.357] } [18:02:54.357] } [18:02:54.357] })) [18:02:54.357] }, error = function(ex) { [18:02:54.357] base::structure(base::list(value = NULL, visible = NULL, [18:02:54.357] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:54.357] ...future.rng), started = ...future.startTime, [18:02:54.357] finished = Sys.time(), session_uuid = NA_character_, [18:02:54.357] version = "1.8"), class = "FutureResult") [18:02:54.357] }, finally = { [18:02:54.357] if (!identical(...future.workdir, getwd())) [18:02:54.357] setwd(...future.workdir) [18:02:54.357] { [18:02:54.357] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:54.357] ...future.oldOptions$nwarnings <- NULL [18:02:54.357] } [18:02:54.357] base::options(...future.oldOptions) [18:02:54.357] if (.Platform$OS.type == "windows") { [18:02:54.357] old_names <- names(...future.oldEnvVars) [18:02:54.357] envs <- base::Sys.getenv() [18:02:54.357] names <- names(envs) [18:02:54.357] common <- intersect(names, old_names) [18:02:54.357] added <- setdiff(names, old_names) [18:02:54.357] removed <- setdiff(old_names, names) [18:02:54.357] changed <- common[...future.oldEnvVars[common] != [18:02:54.357] envs[common]] [18:02:54.357] NAMES <- toupper(changed) [18:02:54.357] args <- list() [18:02:54.357] for (kk in seq_along(NAMES)) { [18:02:54.357] name <- changed[[kk]] [18:02:54.357] NAME <- NAMES[[kk]] [18:02:54.357] if (name != NAME && is.element(NAME, old_names)) [18:02:54.357] next [18:02:54.357] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:54.357] } [18:02:54.357] NAMES <- toupper(added) [18:02:54.357] for (kk in seq_along(NAMES)) { [18:02:54.357] name <- added[[kk]] [18:02:54.357] NAME <- NAMES[[kk]] [18:02:54.357] if (name != NAME && is.element(NAME, old_names)) [18:02:54.357] next [18:02:54.357] args[[name]] <- "" [18:02:54.357] } [18:02:54.357] NAMES <- toupper(removed) [18:02:54.357] for (kk in seq_along(NAMES)) { [18:02:54.357] name <- removed[[kk]] [18:02:54.357] NAME <- NAMES[[kk]] [18:02:54.357] if (name != NAME && is.element(NAME, old_names)) [18:02:54.357] next [18:02:54.357] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:54.357] } [18:02:54.357] if (length(args) > 0) [18:02:54.357] base::do.call(base::Sys.setenv, args = args) [18:02:54.357] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:54.357] } [18:02:54.357] else { [18:02:54.357] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:54.357] } [18:02:54.357] { [18:02:54.357] if (base::length(...future.futureOptionsAdded) > [18:02:54.357] 0L) { [18:02:54.357] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:54.357] base::names(opts) <- ...future.futureOptionsAdded [18:02:54.357] base::options(opts) [18:02:54.357] } [18:02:54.357] { [18:02:54.357] { [18:02:54.357] base::options(mc.cores = ...future.mc.cores.old) [18:02:54.357] NULL [18:02:54.357] } [18:02:54.357] options(future.plan = NULL) [18:02:54.357] if (is.na(NA_character_)) [18:02:54.357] Sys.unsetenv("R_FUTURE_PLAN") [18:02:54.357] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:54.357] future::plan(list(function (..., workers = availableCores(), [18:02:54.357] lazy = FALSE, rscript_libs = .libPaths(), [18:02:54.357] envir = parent.frame()) [18:02:54.357] { [18:02:54.357] if (is.function(workers)) [18:02:54.357] workers <- workers() [18:02:54.357] workers <- structure(as.integer(workers), [18:02:54.357] class = class(workers)) [18:02:54.357] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:54.357] workers >= 1) [18:02:54.357] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:54.357] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:54.357] } [18:02:54.357] future <- MultisessionFuture(..., workers = workers, [18:02:54.357] lazy = lazy, rscript_libs = rscript_libs, [18:02:54.357] envir = envir) [18:02:54.357] if (!future$lazy) [18:02:54.357] future <- run(future) [18:02:54.357] invisible(future) [18:02:54.357] }), .cleanup = FALSE, .init = FALSE) [18:02:54.357] } [18:02:54.357] } [18:02:54.357] } [18:02:54.357] }) [18:02:54.357] if (TRUE) { [18:02:54.357] base::sink(type = "output", split = FALSE) [18:02:54.357] if (TRUE) { [18:02:54.357] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:54.357] } [18:02:54.357] else { [18:02:54.357] ...future.result["stdout"] <- base::list(NULL) [18:02:54.357] } [18:02:54.357] base::close(...future.stdout) [18:02:54.357] ...future.stdout <- NULL [18:02:54.357] } [18:02:54.357] ...future.result$conditions <- ...future.conditions [18:02:54.357] ...future.result$finished <- base::Sys.time() [18:02:54.357] ...future.result [18:02:54.357] } [18:02:54.363] MultisessionFuture started [18:02:54.363] - Launch lazy future ... done [18:02:54.363] run() for 'MultisessionFuture' ... done [18:02:54.379] receiveMessageFromWorker() for ClusterFuture ... [18:02:54.379] - Validating connection of MultisessionFuture [18:02:54.380] - received message: FutureResult [18:02:54.380] - Received FutureResult [18:02:54.380] - Erased future from FutureRegistry [18:02:54.380] result() for ClusterFuture ... [18:02:54.381] - result already collected: FutureResult [18:02:54.381] result() for ClusterFuture ... done [18:02:54.381] signalConditions() ... [18:02:54.381] - include = 'immediateCondition' [18:02:54.381] - exclude = [18:02:54.381] - resignal = FALSE [18:02:54.382] - Number of conditions: 1 [18:02:54.382] signalConditions() ... done [18:02:54.382] receiveMessageFromWorker() for ClusterFuture ... done [18:02:54.382] A MultisessionFuture was resolved - result = TRUE, recursive = FALSE ... DONE - result = TRUE, recursive = TRUE ... [18:02:54.383] getGlobalsAndPackages() ... [18:02:54.383] Searching for globals... [18:02:54.384] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:54.384] Searching for globals ... DONE [18:02:54.384] Resolving globals: FALSE [18:02:54.385] [18:02:54.385] [18:02:54.385] getGlobalsAndPackages() ... DONE [18:02:54.386] run() for 'Future' ... [18:02:54.386] - state: 'created' [18:02:54.386] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:54.400] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:54.400] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:54.400] - Field: 'node' [18:02:54.400] - Field: 'label' [18:02:54.400] - Field: 'local' [18:02:54.401] - Field: 'owner' [18:02:54.401] - Field: 'envir' [18:02:54.401] - Field: 'workers' [18:02:54.401] - Field: 'packages' [18:02:54.401] - Field: 'gc' [18:02:54.401] - Field: 'conditions' [18:02:54.402] - Field: 'persistent' [18:02:54.402] - Field: 'expr' [18:02:54.402] - Field: 'uuid' [18:02:54.402] - Field: 'seed' [18:02:54.402] - Field: 'version' [18:02:54.403] - Field: 'result' [18:02:54.403] - Field: 'asynchronous' [18:02:54.403] - Field: 'calls' [18:02:54.403] - Field: 'globals' [18:02:54.403] - Field: 'stdout' [18:02:54.403] - Field: 'earlySignal' [18:02:54.404] - Field: 'lazy' [18:02:54.404] - Field: 'state' [18:02:54.404] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:54.404] - Launch lazy future ... [18:02:54.405] Packages needed by the future expression (n = 0): [18:02:54.405] Packages needed by future strategies (n = 0): [18:02:54.405] { [18:02:54.405] { [18:02:54.405] { [18:02:54.405] ...future.startTime <- base::Sys.time() [18:02:54.405] { [18:02:54.405] { [18:02:54.405] { [18:02:54.405] { [18:02:54.405] base::local({ [18:02:54.405] has_future <- base::requireNamespace("future", [18:02:54.405] quietly = TRUE) [18:02:54.405] if (has_future) { [18:02:54.405] ns <- base::getNamespace("future") [18:02:54.405] version <- ns[[".package"]][["version"]] [18:02:54.405] if (is.null(version)) [18:02:54.405] version <- utils::packageVersion("future") [18:02:54.405] } [18:02:54.405] else { [18:02:54.405] version <- NULL [18:02:54.405] } [18:02:54.405] if (!has_future || version < "1.8.0") { [18:02:54.405] info <- base::c(r_version = base::gsub("R version ", [18:02:54.405] "", base::R.version$version.string), [18:02:54.405] platform = base::sprintf("%s (%s-bit)", [18:02:54.405] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:54.405] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:54.405] "release", "version")], collapse = " "), [18:02:54.405] hostname = base::Sys.info()[["nodename"]]) [18:02:54.405] info <- base::sprintf("%s: %s", base::names(info), [18:02:54.405] info) [18:02:54.405] info <- base::paste(info, collapse = "; ") [18:02:54.405] if (!has_future) { [18:02:54.405] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:54.405] info) [18:02:54.405] } [18:02:54.405] else { [18:02:54.405] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:54.405] info, version) [18:02:54.405] } [18:02:54.405] base::stop(msg) [18:02:54.405] } [18:02:54.405] }) [18:02:54.405] } [18:02:54.405] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:54.405] base::options(mc.cores = 1L) [18:02:54.405] } [18:02:54.405] options(future.plan = NULL) [18:02:54.405] Sys.unsetenv("R_FUTURE_PLAN") [18:02:54.405] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:54.405] } [18:02:54.405] ...future.workdir <- getwd() [18:02:54.405] } [18:02:54.405] ...future.oldOptions <- base::as.list(base::.Options) [18:02:54.405] ...future.oldEnvVars <- base::Sys.getenv() [18:02:54.405] } [18:02:54.405] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:54.405] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:54.405] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:54.405] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:54.405] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:54.405] future.stdout.windows.reencode = NULL, width = 80L) [18:02:54.405] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:54.405] base::names(...future.oldOptions)) [18:02:54.405] } [18:02:54.405] if (FALSE) { [18:02:54.405] } [18:02:54.405] else { [18:02:54.405] if (TRUE) { [18:02:54.405] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:54.405] open = "w") [18:02:54.405] } [18:02:54.405] else { [18:02:54.405] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:54.405] windows = "NUL", "/dev/null"), open = "w") [18:02:54.405] } [18:02:54.405] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:54.405] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:54.405] base::sink(type = "output", split = FALSE) [18:02:54.405] base::close(...future.stdout) [18:02:54.405] }, add = TRUE) [18:02:54.405] } [18:02:54.405] ...future.frame <- base::sys.nframe() [18:02:54.405] ...future.conditions <- base::list() [18:02:54.405] ...future.rng <- base::globalenv()$.Random.seed [18:02:54.405] if (FALSE) { [18:02:54.405] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:54.405] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:54.405] } [18:02:54.405] ...future.result <- base::tryCatch({ [18:02:54.405] base::withCallingHandlers({ [18:02:54.405] ...future.value <- base::withVisible(base::local({ [18:02:54.405] ...future.makeSendCondition <- local({ [18:02:54.405] sendCondition <- NULL [18:02:54.405] function(frame = 1L) { [18:02:54.405] if (is.function(sendCondition)) [18:02:54.405] return(sendCondition) [18:02:54.405] ns <- getNamespace("parallel") [18:02:54.405] if (exists("sendData", mode = "function", [18:02:54.405] envir = ns)) { [18:02:54.405] parallel_sendData <- get("sendData", mode = "function", [18:02:54.405] envir = ns) [18:02:54.405] envir <- sys.frame(frame) [18:02:54.405] master <- NULL [18:02:54.405] while (!identical(envir, .GlobalEnv) && [18:02:54.405] !identical(envir, emptyenv())) { [18:02:54.405] if (exists("master", mode = "list", envir = envir, [18:02:54.405] inherits = FALSE)) { [18:02:54.405] master <- get("master", mode = "list", [18:02:54.405] envir = envir, inherits = FALSE) [18:02:54.405] if (inherits(master, c("SOCKnode", [18:02:54.405] "SOCK0node"))) { [18:02:54.405] sendCondition <<- function(cond) { [18:02:54.405] data <- list(type = "VALUE", value = cond, [18:02:54.405] success = TRUE) [18:02:54.405] parallel_sendData(master, data) [18:02:54.405] } [18:02:54.405] return(sendCondition) [18:02:54.405] } [18:02:54.405] } [18:02:54.405] frame <- frame + 1L [18:02:54.405] envir <- sys.frame(frame) [18:02:54.405] } [18:02:54.405] } [18:02:54.405] sendCondition <<- function(cond) NULL [18:02:54.405] } [18:02:54.405] }) [18:02:54.405] withCallingHandlers({ [18:02:54.405] { [18:02:54.405] Sys.sleep(0.5) [18:02:54.405] list(a = 1, b = 42L) [18:02:54.405] } [18:02:54.405] }, immediateCondition = function(cond) { [18:02:54.405] sendCondition <- ...future.makeSendCondition() [18:02:54.405] sendCondition(cond) [18:02:54.405] muffleCondition <- function (cond, pattern = "^muffle") [18:02:54.405] { [18:02:54.405] inherits <- base::inherits [18:02:54.405] invokeRestart <- base::invokeRestart [18:02:54.405] is.null <- base::is.null [18:02:54.405] muffled <- FALSE [18:02:54.405] if (inherits(cond, "message")) { [18:02:54.405] muffled <- grepl(pattern, "muffleMessage") [18:02:54.405] if (muffled) [18:02:54.405] invokeRestart("muffleMessage") [18:02:54.405] } [18:02:54.405] else if (inherits(cond, "warning")) { [18:02:54.405] muffled <- grepl(pattern, "muffleWarning") [18:02:54.405] if (muffled) [18:02:54.405] invokeRestart("muffleWarning") [18:02:54.405] } [18:02:54.405] else if (inherits(cond, "condition")) { [18:02:54.405] if (!is.null(pattern)) { [18:02:54.405] computeRestarts <- base::computeRestarts [18:02:54.405] grepl <- base::grepl [18:02:54.405] restarts <- computeRestarts(cond) [18:02:54.405] for (restart in restarts) { [18:02:54.405] name <- restart$name [18:02:54.405] if (is.null(name)) [18:02:54.405] next [18:02:54.405] if (!grepl(pattern, name)) [18:02:54.405] next [18:02:54.405] invokeRestart(restart) [18:02:54.405] muffled <- TRUE [18:02:54.405] break [18:02:54.405] } [18:02:54.405] } [18:02:54.405] } [18:02:54.405] invisible(muffled) [18:02:54.405] } [18:02:54.405] muffleCondition(cond) [18:02:54.405] }) [18:02:54.405] })) [18:02:54.405] future::FutureResult(value = ...future.value$value, [18:02:54.405] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:54.405] ...future.rng), globalenv = if (FALSE) [18:02:54.405] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:54.405] ...future.globalenv.names)) [18:02:54.405] else NULL, started = ...future.startTime, version = "1.8") [18:02:54.405] }, condition = base::local({ [18:02:54.405] c <- base::c [18:02:54.405] inherits <- base::inherits [18:02:54.405] invokeRestart <- base::invokeRestart [18:02:54.405] length <- base::length [18:02:54.405] list <- base::list [18:02:54.405] seq.int <- base::seq.int [18:02:54.405] signalCondition <- base::signalCondition [18:02:54.405] sys.calls <- base::sys.calls [18:02:54.405] `[[` <- base::`[[` [18:02:54.405] `+` <- base::`+` [18:02:54.405] `<<-` <- base::`<<-` [18:02:54.405] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:54.405] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:54.405] 3L)] [18:02:54.405] } [18:02:54.405] function(cond) { [18:02:54.405] is_error <- inherits(cond, "error") [18:02:54.405] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:54.405] NULL) [18:02:54.405] if (is_error) { [18:02:54.405] sessionInformation <- function() { [18:02:54.405] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:54.405] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:54.405] search = base::search(), system = base::Sys.info()) [18:02:54.405] } [18:02:54.405] ...future.conditions[[length(...future.conditions) + [18:02:54.405] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:54.405] cond$call), session = sessionInformation(), [18:02:54.405] timestamp = base::Sys.time(), signaled = 0L) [18:02:54.405] signalCondition(cond) [18:02:54.405] } [18:02:54.405] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:54.405] "immediateCondition"))) { [18:02:54.405] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:54.405] ...future.conditions[[length(...future.conditions) + [18:02:54.405] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:54.405] if (TRUE && !signal) { [18:02:54.405] muffleCondition <- function (cond, pattern = "^muffle") [18:02:54.405] { [18:02:54.405] inherits <- base::inherits [18:02:54.405] invokeRestart <- base::invokeRestart [18:02:54.405] is.null <- base::is.null [18:02:54.405] muffled <- FALSE [18:02:54.405] if (inherits(cond, "message")) { [18:02:54.405] muffled <- grepl(pattern, "muffleMessage") [18:02:54.405] if (muffled) [18:02:54.405] invokeRestart("muffleMessage") [18:02:54.405] } [18:02:54.405] else if (inherits(cond, "warning")) { [18:02:54.405] muffled <- grepl(pattern, "muffleWarning") [18:02:54.405] if (muffled) [18:02:54.405] invokeRestart("muffleWarning") [18:02:54.405] } [18:02:54.405] else if (inherits(cond, "condition")) { [18:02:54.405] if (!is.null(pattern)) { [18:02:54.405] computeRestarts <- base::computeRestarts [18:02:54.405] grepl <- base::grepl [18:02:54.405] restarts <- computeRestarts(cond) [18:02:54.405] for (restart in restarts) { [18:02:54.405] name <- restart$name [18:02:54.405] if (is.null(name)) [18:02:54.405] next [18:02:54.405] if (!grepl(pattern, name)) [18:02:54.405] next [18:02:54.405] invokeRestart(restart) [18:02:54.405] muffled <- TRUE [18:02:54.405] break [18:02:54.405] } [18:02:54.405] } [18:02:54.405] } [18:02:54.405] invisible(muffled) [18:02:54.405] } [18:02:54.405] muffleCondition(cond, pattern = "^muffle") [18:02:54.405] } [18:02:54.405] } [18:02:54.405] else { [18:02:54.405] if (TRUE) { [18:02:54.405] muffleCondition <- function (cond, pattern = "^muffle") [18:02:54.405] { [18:02:54.405] inherits <- base::inherits [18:02:54.405] invokeRestart <- base::invokeRestart [18:02:54.405] is.null <- base::is.null [18:02:54.405] muffled <- FALSE [18:02:54.405] if (inherits(cond, "message")) { [18:02:54.405] muffled <- grepl(pattern, "muffleMessage") [18:02:54.405] if (muffled) [18:02:54.405] invokeRestart("muffleMessage") [18:02:54.405] } [18:02:54.405] else if (inherits(cond, "warning")) { [18:02:54.405] muffled <- grepl(pattern, "muffleWarning") [18:02:54.405] if (muffled) [18:02:54.405] invokeRestart("muffleWarning") [18:02:54.405] } [18:02:54.405] else if (inherits(cond, "condition")) { [18:02:54.405] if (!is.null(pattern)) { [18:02:54.405] computeRestarts <- base::computeRestarts [18:02:54.405] grepl <- base::grepl [18:02:54.405] restarts <- computeRestarts(cond) [18:02:54.405] for (restart in restarts) { [18:02:54.405] name <- restart$name [18:02:54.405] if (is.null(name)) [18:02:54.405] next [18:02:54.405] if (!grepl(pattern, name)) [18:02:54.405] next [18:02:54.405] invokeRestart(restart) [18:02:54.405] muffled <- TRUE [18:02:54.405] break [18:02:54.405] } [18:02:54.405] } [18:02:54.405] } [18:02:54.405] invisible(muffled) [18:02:54.405] } [18:02:54.405] muffleCondition(cond, pattern = "^muffle") [18:02:54.405] } [18:02:54.405] } [18:02:54.405] } [18:02:54.405] })) [18:02:54.405] }, error = function(ex) { [18:02:54.405] base::structure(base::list(value = NULL, visible = NULL, [18:02:54.405] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:54.405] ...future.rng), started = ...future.startTime, [18:02:54.405] finished = Sys.time(), session_uuid = NA_character_, [18:02:54.405] version = "1.8"), class = "FutureResult") [18:02:54.405] }, finally = { [18:02:54.405] if (!identical(...future.workdir, getwd())) [18:02:54.405] setwd(...future.workdir) [18:02:54.405] { [18:02:54.405] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:54.405] ...future.oldOptions$nwarnings <- NULL [18:02:54.405] } [18:02:54.405] base::options(...future.oldOptions) [18:02:54.405] if (.Platform$OS.type == "windows") { [18:02:54.405] old_names <- names(...future.oldEnvVars) [18:02:54.405] envs <- base::Sys.getenv() [18:02:54.405] names <- names(envs) [18:02:54.405] common <- intersect(names, old_names) [18:02:54.405] added <- setdiff(names, old_names) [18:02:54.405] removed <- setdiff(old_names, names) [18:02:54.405] changed <- common[...future.oldEnvVars[common] != [18:02:54.405] envs[common]] [18:02:54.405] NAMES <- toupper(changed) [18:02:54.405] args <- list() [18:02:54.405] for (kk in seq_along(NAMES)) { [18:02:54.405] name <- changed[[kk]] [18:02:54.405] NAME <- NAMES[[kk]] [18:02:54.405] if (name != NAME && is.element(NAME, old_names)) [18:02:54.405] next [18:02:54.405] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:54.405] } [18:02:54.405] NAMES <- toupper(added) [18:02:54.405] for (kk in seq_along(NAMES)) { [18:02:54.405] name <- added[[kk]] [18:02:54.405] NAME <- NAMES[[kk]] [18:02:54.405] if (name != NAME && is.element(NAME, old_names)) [18:02:54.405] next [18:02:54.405] args[[name]] <- "" [18:02:54.405] } [18:02:54.405] NAMES <- toupper(removed) [18:02:54.405] for (kk in seq_along(NAMES)) { [18:02:54.405] name <- removed[[kk]] [18:02:54.405] NAME <- NAMES[[kk]] [18:02:54.405] if (name != NAME && is.element(NAME, old_names)) [18:02:54.405] next [18:02:54.405] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:54.405] } [18:02:54.405] if (length(args) > 0) [18:02:54.405] base::do.call(base::Sys.setenv, args = args) [18:02:54.405] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:54.405] } [18:02:54.405] else { [18:02:54.405] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:54.405] } [18:02:54.405] { [18:02:54.405] if (base::length(...future.futureOptionsAdded) > [18:02:54.405] 0L) { [18:02:54.405] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:54.405] base::names(opts) <- ...future.futureOptionsAdded [18:02:54.405] base::options(opts) [18:02:54.405] } [18:02:54.405] { [18:02:54.405] { [18:02:54.405] base::options(mc.cores = ...future.mc.cores.old) [18:02:54.405] NULL [18:02:54.405] } [18:02:54.405] options(future.plan = NULL) [18:02:54.405] if (is.na(NA_character_)) [18:02:54.405] Sys.unsetenv("R_FUTURE_PLAN") [18:02:54.405] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:54.405] future::plan(list(function (..., workers = availableCores(), [18:02:54.405] lazy = FALSE, rscript_libs = .libPaths(), [18:02:54.405] envir = parent.frame()) [18:02:54.405] { [18:02:54.405] if (is.function(workers)) [18:02:54.405] workers <- workers() [18:02:54.405] workers <- structure(as.integer(workers), [18:02:54.405] class = class(workers)) [18:02:54.405] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:54.405] workers >= 1) [18:02:54.405] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:54.405] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:54.405] } [18:02:54.405] future <- MultisessionFuture(..., workers = workers, [18:02:54.405] lazy = lazy, rscript_libs = rscript_libs, [18:02:54.405] envir = envir) [18:02:54.405] if (!future$lazy) [18:02:54.405] future <- run(future) [18:02:54.405] invisible(future) [18:02:54.405] }), .cleanup = FALSE, .init = FALSE) [18:02:54.405] } [18:02:54.405] } [18:02:54.405] } [18:02:54.405] }) [18:02:54.405] if (TRUE) { [18:02:54.405] base::sink(type = "output", split = FALSE) [18:02:54.405] if (TRUE) { [18:02:54.405] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:54.405] } [18:02:54.405] else { [18:02:54.405] ...future.result["stdout"] <- base::list(NULL) [18:02:54.405] } [18:02:54.405] base::close(...future.stdout) [18:02:54.405] ...future.stdout <- NULL [18:02:54.405] } [18:02:54.405] ...future.result$conditions <- ...future.conditions [18:02:54.405] ...future.result$finished <- base::Sys.time() [18:02:54.405] ...future.result [18:02:54.405] } [18:02:54.411] MultisessionFuture started [18:02:54.411] - Launch lazy future ... done [18:02:54.412] run() for 'MultisessionFuture' ... done [18:02:54.939] receiveMessageFromWorker() for ClusterFuture ... [18:02:54.939] - Validating connection of MultisessionFuture [18:02:54.940] - received message: FutureResult [18:02:54.940] - Received FutureResult [18:02:54.940] - Erased future from FutureRegistry [18:02:54.940] result() for ClusterFuture ... [18:02:54.940] - result already collected: FutureResult [18:02:54.941] result() for ClusterFuture ... done [18:02:54.941] receiveMessageFromWorker() for ClusterFuture ... done [18:02:54.941] resolve() on list ... [18:02:54.941] recursive: 98 [18:02:54.941] length: 2 [18:02:54.941] elements: 'a', 'b' [18:02:54.942] length: 1 (resolved future 1) [18:02:54.942] length: 0 (resolved future 2) [18:02:54.942] resolve() on list ... DONE [18:02:54.942] A MultisessionFuture was resolved (and resolved itself) [18:02:54.942] getGlobalsAndPackages() ... [18:02:54.943] Searching for globals... [18:02:54.944] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:54.944] Searching for globals ... DONE [18:02:54.944] Resolving globals: FALSE [18:02:54.945] [18:02:54.945] [18:02:54.945] getGlobalsAndPackages() ... DONE [18:02:54.945] run() for 'Future' ... [18:02:54.946] - state: 'created' [18:02:54.946] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:54.960] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:54.960] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:54.960] - Field: 'node' [18:02:54.961] - Field: 'label' [18:02:54.961] - Field: 'local' [18:02:54.961] - Field: 'owner' [18:02:54.961] - Field: 'envir' [18:02:54.961] - Field: 'workers' [18:02:54.961] - Field: 'packages' [18:02:54.962] - Field: 'gc' [18:02:54.962] - Field: 'conditions' [18:02:54.962] - Field: 'persistent' [18:02:54.962] - Field: 'expr' [18:02:54.962] - Field: 'uuid' [18:02:54.963] - Field: 'seed' [18:02:54.963] - Field: 'version' [18:02:54.963] - Field: 'result' [18:02:54.963] - Field: 'asynchronous' [18:02:54.963] - Field: 'calls' [18:02:54.963] - Field: 'globals' [18:02:54.964] - Field: 'stdout' [18:02:54.964] - Field: 'earlySignal' [18:02:54.964] - Field: 'lazy' [18:02:54.964] - Field: 'state' [18:02:54.964] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:54.964] - Launch lazy future ... [18:02:54.965] Packages needed by the future expression (n = 0): [18:02:54.965] Packages needed by future strategies (n = 0): [18:02:54.966] { [18:02:54.966] { [18:02:54.966] { [18:02:54.966] ...future.startTime <- base::Sys.time() [18:02:54.966] { [18:02:54.966] { [18:02:54.966] { [18:02:54.966] { [18:02:54.966] base::local({ [18:02:54.966] has_future <- base::requireNamespace("future", [18:02:54.966] quietly = TRUE) [18:02:54.966] if (has_future) { [18:02:54.966] ns <- base::getNamespace("future") [18:02:54.966] version <- ns[[".package"]][["version"]] [18:02:54.966] if (is.null(version)) [18:02:54.966] version <- utils::packageVersion("future") [18:02:54.966] } [18:02:54.966] else { [18:02:54.966] version <- NULL [18:02:54.966] } [18:02:54.966] if (!has_future || version < "1.8.0") { [18:02:54.966] info <- base::c(r_version = base::gsub("R version ", [18:02:54.966] "", base::R.version$version.string), [18:02:54.966] platform = base::sprintf("%s (%s-bit)", [18:02:54.966] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:54.966] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:54.966] "release", "version")], collapse = " "), [18:02:54.966] hostname = base::Sys.info()[["nodename"]]) [18:02:54.966] info <- base::sprintf("%s: %s", base::names(info), [18:02:54.966] info) [18:02:54.966] info <- base::paste(info, collapse = "; ") [18:02:54.966] if (!has_future) { [18:02:54.966] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:54.966] info) [18:02:54.966] } [18:02:54.966] else { [18:02:54.966] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:54.966] info, version) [18:02:54.966] } [18:02:54.966] base::stop(msg) [18:02:54.966] } [18:02:54.966] }) [18:02:54.966] } [18:02:54.966] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:54.966] base::options(mc.cores = 1L) [18:02:54.966] } [18:02:54.966] options(future.plan = NULL) [18:02:54.966] Sys.unsetenv("R_FUTURE_PLAN") [18:02:54.966] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:54.966] } [18:02:54.966] ...future.workdir <- getwd() [18:02:54.966] } [18:02:54.966] ...future.oldOptions <- base::as.list(base::.Options) [18:02:54.966] ...future.oldEnvVars <- base::Sys.getenv() [18:02:54.966] } [18:02:54.966] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:54.966] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:54.966] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:54.966] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:54.966] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:54.966] future.stdout.windows.reencode = NULL, width = 80L) [18:02:54.966] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:54.966] base::names(...future.oldOptions)) [18:02:54.966] } [18:02:54.966] if (FALSE) { [18:02:54.966] } [18:02:54.966] else { [18:02:54.966] if (TRUE) { [18:02:54.966] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:54.966] open = "w") [18:02:54.966] } [18:02:54.966] else { [18:02:54.966] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:54.966] windows = "NUL", "/dev/null"), open = "w") [18:02:54.966] } [18:02:54.966] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:54.966] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:54.966] base::sink(type = "output", split = FALSE) [18:02:54.966] base::close(...future.stdout) [18:02:54.966] }, add = TRUE) [18:02:54.966] } [18:02:54.966] ...future.frame <- base::sys.nframe() [18:02:54.966] ...future.conditions <- base::list() [18:02:54.966] ...future.rng <- base::globalenv()$.Random.seed [18:02:54.966] if (FALSE) { [18:02:54.966] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:54.966] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:54.966] } [18:02:54.966] ...future.result <- base::tryCatch({ [18:02:54.966] base::withCallingHandlers({ [18:02:54.966] ...future.value <- base::withVisible(base::local({ [18:02:54.966] ...future.makeSendCondition <- local({ [18:02:54.966] sendCondition <- NULL [18:02:54.966] function(frame = 1L) { [18:02:54.966] if (is.function(sendCondition)) [18:02:54.966] return(sendCondition) [18:02:54.966] ns <- getNamespace("parallel") [18:02:54.966] if (exists("sendData", mode = "function", [18:02:54.966] envir = ns)) { [18:02:54.966] parallel_sendData <- get("sendData", mode = "function", [18:02:54.966] envir = ns) [18:02:54.966] envir <- sys.frame(frame) [18:02:54.966] master <- NULL [18:02:54.966] while (!identical(envir, .GlobalEnv) && [18:02:54.966] !identical(envir, emptyenv())) { [18:02:54.966] if (exists("master", mode = "list", envir = envir, [18:02:54.966] inherits = FALSE)) { [18:02:54.966] master <- get("master", mode = "list", [18:02:54.966] envir = envir, inherits = FALSE) [18:02:54.966] if (inherits(master, c("SOCKnode", [18:02:54.966] "SOCK0node"))) { [18:02:54.966] sendCondition <<- function(cond) { [18:02:54.966] data <- list(type = "VALUE", value = cond, [18:02:54.966] success = TRUE) [18:02:54.966] parallel_sendData(master, data) [18:02:54.966] } [18:02:54.966] return(sendCondition) [18:02:54.966] } [18:02:54.966] } [18:02:54.966] frame <- frame + 1L [18:02:54.966] envir <- sys.frame(frame) [18:02:54.966] } [18:02:54.966] } [18:02:54.966] sendCondition <<- function(cond) NULL [18:02:54.966] } [18:02:54.966] }) [18:02:54.966] withCallingHandlers({ [18:02:54.966] { [18:02:54.966] Sys.sleep(0.5) [18:02:54.966] list(a = 1, b = 42L) [18:02:54.966] } [18:02:54.966] }, immediateCondition = function(cond) { [18:02:54.966] sendCondition <- ...future.makeSendCondition() [18:02:54.966] sendCondition(cond) [18:02:54.966] muffleCondition <- function (cond, pattern = "^muffle") [18:02:54.966] { [18:02:54.966] inherits <- base::inherits [18:02:54.966] invokeRestart <- base::invokeRestart [18:02:54.966] is.null <- base::is.null [18:02:54.966] muffled <- FALSE [18:02:54.966] if (inherits(cond, "message")) { [18:02:54.966] muffled <- grepl(pattern, "muffleMessage") [18:02:54.966] if (muffled) [18:02:54.966] invokeRestart("muffleMessage") [18:02:54.966] } [18:02:54.966] else if (inherits(cond, "warning")) { [18:02:54.966] muffled <- grepl(pattern, "muffleWarning") [18:02:54.966] if (muffled) [18:02:54.966] invokeRestart("muffleWarning") [18:02:54.966] } [18:02:54.966] else if (inherits(cond, "condition")) { [18:02:54.966] if (!is.null(pattern)) { [18:02:54.966] computeRestarts <- base::computeRestarts [18:02:54.966] grepl <- base::grepl [18:02:54.966] restarts <- computeRestarts(cond) [18:02:54.966] for (restart in restarts) { [18:02:54.966] name <- restart$name [18:02:54.966] if (is.null(name)) [18:02:54.966] next [18:02:54.966] if (!grepl(pattern, name)) [18:02:54.966] next [18:02:54.966] invokeRestart(restart) [18:02:54.966] muffled <- TRUE [18:02:54.966] break [18:02:54.966] } [18:02:54.966] } [18:02:54.966] } [18:02:54.966] invisible(muffled) [18:02:54.966] } [18:02:54.966] muffleCondition(cond) [18:02:54.966] }) [18:02:54.966] })) [18:02:54.966] future::FutureResult(value = ...future.value$value, [18:02:54.966] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:54.966] ...future.rng), globalenv = if (FALSE) [18:02:54.966] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:54.966] ...future.globalenv.names)) [18:02:54.966] else NULL, started = ...future.startTime, version = "1.8") [18:02:54.966] }, condition = base::local({ [18:02:54.966] c <- base::c [18:02:54.966] inherits <- base::inherits [18:02:54.966] invokeRestart <- base::invokeRestart [18:02:54.966] length <- base::length [18:02:54.966] list <- base::list [18:02:54.966] seq.int <- base::seq.int [18:02:54.966] signalCondition <- base::signalCondition [18:02:54.966] sys.calls <- base::sys.calls [18:02:54.966] `[[` <- base::`[[` [18:02:54.966] `+` <- base::`+` [18:02:54.966] `<<-` <- base::`<<-` [18:02:54.966] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:54.966] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:54.966] 3L)] [18:02:54.966] } [18:02:54.966] function(cond) { [18:02:54.966] is_error <- inherits(cond, "error") [18:02:54.966] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:54.966] NULL) [18:02:54.966] if (is_error) { [18:02:54.966] sessionInformation <- function() { [18:02:54.966] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:54.966] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:54.966] search = base::search(), system = base::Sys.info()) [18:02:54.966] } [18:02:54.966] ...future.conditions[[length(...future.conditions) + [18:02:54.966] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:54.966] cond$call), session = sessionInformation(), [18:02:54.966] timestamp = base::Sys.time(), signaled = 0L) [18:02:54.966] signalCondition(cond) [18:02:54.966] } [18:02:54.966] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:54.966] "immediateCondition"))) { [18:02:54.966] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:54.966] ...future.conditions[[length(...future.conditions) + [18:02:54.966] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:54.966] if (TRUE && !signal) { [18:02:54.966] muffleCondition <- function (cond, pattern = "^muffle") [18:02:54.966] { [18:02:54.966] inherits <- base::inherits [18:02:54.966] invokeRestart <- base::invokeRestart [18:02:54.966] is.null <- base::is.null [18:02:54.966] muffled <- FALSE [18:02:54.966] if (inherits(cond, "message")) { [18:02:54.966] muffled <- grepl(pattern, "muffleMessage") [18:02:54.966] if (muffled) [18:02:54.966] invokeRestart("muffleMessage") [18:02:54.966] } [18:02:54.966] else if (inherits(cond, "warning")) { [18:02:54.966] muffled <- grepl(pattern, "muffleWarning") [18:02:54.966] if (muffled) [18:02:54.966] invokeRestart("muffleWarning") [18:02:54.966] } [18:02:54.966] else if (inherits(cond, "condition")) { [18:02:54.966] if (!is.null(pattern)) { [18:02:54.966] computeRestarts <- base::computeRestarts [18:02:54.966] grepl <- base::grepl [18:02:54.966] restarts <- computeRestarts(cond) [18:02:54.966] for (restart in restarts) { [18:02:54.966] name <- restart$name [18:02:54.966] if (is.null(name)) [18:02:54.966] next [18:02:54.966] if (!grepl(pattern, name)) [18:02:54.966] next [18:02:54.966] invokeRestart(restart) [18:02:54.966] muffled <- TRUE [18:02:54.966] break [18:02:54.966] } [18:02:54.966] } [18:02:54.966] } [18:02:54.966] invisible(muffled) [18:02:54.966] } [18:02:54.966] muffleCondition(cond, pattern = "^muffle") [18:02:54.966] } [18:02:54.966] } [18:02:54.966] else { [18:02:54.966] if (TRUE) { [18:02:54.966] muffleCondition <- function (cond, pattern = "^muffle") [18:02:54.966] { [18:02:54.966] inherits <- base::inherits [18:02:54.966] invokeRestart <- base::invokeRestart [18:02:54.966] is.null <- base::is.null [18:02:54.966] muffled <- FALSE [18:02:54.966] if (inherits(cond, "message")) { [18:02:54.966] muffled <- grepl(pattern, "muffleMessage") [18:02:54.966] if (muffled) [18:02:54.966] invokeRestart("muffleMessage") [18:02:54.966] } [18:02:54.966] else if (inherits(cond, "warning")) { [18:02:54.966] muffled <- grepl(pattern, "muffleWarning") [18:02:54.966] if (muffled) [18:02:54.966] invokeRestart("muffleWarning") [18:02:54.966] } [18:02:54.966] else if (inherits(cond, "condition")) { [18:02:54.966] if (!is.null(pattern)) { [18:02:54.966] computeRestarts <- base::computeRestarts [18:02:54.966] grepl <- base::grepl [18:02:54.966] restarts <- computeRestarts(cond) [18:02:54.966] for (restart in restarts) { [18:02:54.966] name <- restart$name [18:02:54.966] if (is.null(name)) [18:02:54.966] next [18:02:54.966] if (!grepl(pattern, name)) [18:02:54.966] next [18:02:54.966] invokeRestart(restart) [18:02:54.966] muffled <- TRUE [18:02:54.966] break [18:02:54.966] } [18:02:54.966] } [18:02:54.966] } [18:02:54.966] invisible(muffled) [18:02:54.966] } [18:02:54.966] muffleCondition(cond, pattern = "^muffle") [18:02:54.966] } [18:02:54.966] } [18:02:54.966] } [18:02:54.966] })) [18:02:54.966] }, error = function(ex) { [18:02:54.966] base::structure(base::list(value = NULL, visible = NULL, [18:02:54.966] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:54.966] ...future.rng), started = ...future.startTime, [18:02:54.966] finished = Sys.time(), session_uuid = NA_character_, [18:02:54.966] version = "1.8"), class = "FutureResult") [18:02:54.966] }, finally = { [18:02:54.966] if (!identical(...future.workdir, getwd())) [18:02:54.966] setwd(...future.workdir) [18:02:54.966] { [18:02:54.966] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:54.966] ...future.oldOptions$nwarnings <- NULL [18:02:54.966] } [18:02:54.966] base::options(...future.oldOptions) [18:02:54.966] if (.Platform$OS.type == "windows") { [18:02:54.966] old_names <- names(...future.oldEnvVars) [18:02:54.966] envs <- base::Sys.getenv() [18:02:54.966] names <- names(envs) [18:02:54.966] common <- intersect(names, old_names) [18:02:54.966] added <- setdiff(names, old_names) [18:02:54.966] removed <- setdiff(old_names, names) [18:02:54.966] changed <- common[...future.oldEnvVars[common] != [18:02:54.966] envs[common]] [18:02:54.966] NAMES <- toupper(changed) [18:02:54.966] args <- list() [18:02:54.966] for (kk in seq_along(NAMES)) { [18:02:54.966] name <- changed[[kk]] [18:02:54.966] NAME <- NAMES[[kk]] [18:02:54.966] if (name != NAME && is.element(NAME, old_names)) [18:02:54.966] next [18:02:54.966] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:54.966] } [18:02:54.966] NAMES <- toupper(added) [18:02:54.966] for (kk in seq_along(NAMES)) { [18:02:54.966] name <- added[[kk]] [18:02:54.966] NAME <- NAMES[[kk]] [18:02:54.966] if (name != NAME && is.element(NAME, old_names)) [18:02:54.966] next [18:02:54.966] args[[name]] <- "" [18:02:54.966] } [18:02:54.966] NAMES <- toupper(removed) [18:02:54.966] for (kk in seq_along(NAMES)) { [18:02:54.966] name <- removed[[kk]] [18:02:54.966] NAME <- NAMES[[kk]] [18:02:54.966] if (name != NAME && is.element(NAME, old_names)) [18:02:54.966] next [18:02:54.966] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:54.966] } [18:02:54.966] if (length(args) > 0) [18:02:54.966] base::do.call(base::Sys.setenv, args = args) [18:02:54.966] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:54.966] } [18:02:54.966] else { [18:02:54.966] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:54.966] } [18:02:54.966] { [18:02:54.966] if (base::length(...future.futureOptionsAdded) > [18:02:54.966] 0L) { [18:02:54.966] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:54.966] base::names(opts) <- ...future.futureOptionsAdded [18:02:54.966] base::options(opts) [18:02:54.966] } [18:02:54.966] { [18:02:54.966] { [18:02:54.966] base::options(mc.cores = ...future.mc.cores.old) [18:02:54.966] NULL [18:02:54.966] } [18:02:54.966] options(future.plan = NULL) [18:02:54.966] if (is.na(NA_character_)) [18:02:54.966] Sys.unsetenv("R_FUTURE_PLAN") [18:02:54.966] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:54.966] future::plan(list(function (..., workers = availableCores(), [18:02:54.966] lazy = FALSE, rscript_libs = .libPaths(), [18:02:54.966] envir = parent.frame()) [18:02:54.966] { [18:02:54.966] if (is.function(workers)) [18:02:54.966] workers <- workers() [18:02:54.966] workers <- structure(as.integer(workers), [18:02:54.966] class = class(workers)) [18:02:54.966] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:54.966] workers >= 1) [18:02:54.966] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:54.966] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:54.966] } [18:02:54.966] future <- MultisessionFuture(..., workers = workers, [18:02:54.966] lazy = lazy, rscript_libs = rscript_libs, [18:02:54.966] envir = envir) [18:02:54.966] if (!future$lazy) [18:02:54.966] future <- run(future) [18:02:54.966] invisible(future) [18:02:54.966] }), .cleanup = FALSE, .init = FALSE) [18:02:54.966] } [18:02:54.966] } [18:02:54.966] } [18:02:54.966] }) [18:02:54.966] if (TRUE) { [18:02:54.966] base::sink(type = "output", split = FALSE) [18:02:54.966] if (TRUE) { [18:02:54.966] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:54.966] } [18:02:54.966] else { [18:02:54.966] ...future.result["stdout"] <- base::list(NULL) [18:02:54.966] } [18:02:54.966] base::close(...future.stdout) [18:02:54.966] ...future.stdout <- NULL [18:02:54.966] } [18:02:54.966] ...future.result$conditions <- ...future.conditions [18:02:54.966] ...future.result$finished <- base::Sys.time() [18:02:54.966] ...future.result [18:02:54.966] } [18:02:54.971] MultisessionFuture started [18:02:54.972] - Launch lazy future ... done [18:02:54.972] run() for 'MultisessionFuture' ... done [18:02:55.502] receiveMessageFromWorker() for ClusterFuture ... [18:02:55.502] - Validating connection of MultisessionFuture [18:02:55.503] - received message: FutureResult [18:02:55.503] - Received FutureResult [18:02:55.503] - Erased future from FutureRegistry [18:02:55.504] result() for ClusterFuture ... [18:02:55.504] - result already collected: FutureResult [18:02:55.504] result() for ClusterFuture ... done [18:02:55.504] receiveMessageFromWorker() for ClusterFuture ... done [18:02:55.505] resolve() on list ... [18:02:55.505] recursive: 98 [18:02:55.505] length: 2 [18:02:55.505] elements: 'a', 'b' [18:02:55.505] length: 1 (resolved future 1) [18:02:55.506] length: 0 (resolved future 2) [18:02:55.506] resolve() on list ... DONE [18:02:55.506] A MultisessionFuture was resolved (and resolved itself) - w/ exception ... [18:02:55.506] getGlobalsAndPackages() ... [18:02:55.506] Searching for globals... [18:02:55.507] - globals found: [2] 'list', 'stop' [18:02:55.507] Searching for globals ... DONE [18:02:55.508] Resolving globals: FALSE [18:02:55.508] [18:02:55.508] [18:02:55.508] getGlobalsAndPackages() ... DONE [18:02:55.509] run() for 'Future' ... [18:02:55.509] - state: 'created' [18:02:55.509] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:55.523] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:55.524] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:55.524] - Field: 'node' [18:02:55.524] - Field: 'label' [18:02:55.524] - Field: 'local' [18:02:55.524] - Field: 'owner' [18:02:55.525] - Field: 'envir' [18:02:55.525] - Field: 'workers' [18:02:55.525] - Field: 'packages' [18:02:55.525] - Field: 'gc' [18:02:55.525] - Field: 'conditions' [18:02:55.525] - Field: 'persistent' [18:02:55.526] - Field: 'expr' [18:02:55.526] - Field: 'uuid' [18:02:55.526] - Field: 'seed' [18:02:55.526] - Field: 'version' [18:02:55.526] - Field: 'result' [18:02:55.526] - Field: 'asynchronous' [18:02:55.527] - Field: 'calls' [18:02:55.527] - Field: 'globals' [18:02:55.527] - Field: 'stdout' [18:02:55.527] - Field: 'earlySignal' [18:02:55.527] - Field: 'lazy' [18:02:55.527] - Field: 'state' [18:02:55.528] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:55.528] - Launch lazy future ... [18:02:55.528] Packages needed by the future expression (n = 0): [18:02:55.528] Packages needed by future strategies (n = 0): [18:02:55.529] { [18:02:55.529] { [18:02:55.529] { [18:02:55.529] ...future.startTime <- base::Sys.time() [18:02:55.529] { [18:02:55.529] { [18:02:55.529] { [18:02:55.529] { [18:02:55.529] base::local({ [18:02:55.529] has_future <- base::requireNamespace("future", [18:02:55.529] quietly = TRUE) [18:02:55.529] if (has_future) { [18:02:55.529] ns <- base::getNamespace("future") [18:02:55.529] version <- ns[[".package"]][["version"]] [18:02:55.529] if (is.null(version)) [18:02:55.529] version <- utils::packageVersion("future") [18:02:55.529] } [18:02:55.529] else { [18:02:55.529] version <- NULL [18:02:55.529] } [18:02:55.529] if (!has_future || version < "1.8.0") { [18:02:55.529] info <- base::c(r_version = base::gsub("R version ", [18:02:55.529] "", base::R.version$version.string), [18:02:55.529] platform = base::sprintf("%s (%s-bit)", [18:02:55.529] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:55.529] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:55.529] "release", "version")], collapse = " "), [18:02:55.529] hostname = base::Sys.info()[["nodename"]]) [18:02:55.529] info <- base::sprintf("%s: %s", base::names(info), [18:02:55.529] info) [18:02:55.529] info <- base::paste(info, collapse = "; ") [18:02:55.529] if (!has_future) { [18:02:55.529] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:55.529] info) [18:02:55.529] } [18:02:55.529] else { [18:02:55.529] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:55.529] info, version) [18:02:55.529] } [18:02:55.529] base::stop(msg) [18:02:55.529] } [18:02:55.529] }) [18:02:55.529] } [18:02:55.529] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:55.529] base::options(mc.cores = 1L) [18:02:55.529] } [18:02:55.529] options(future.plan = NULL) [18:02:55.529] Sys.unsetenv("R_FUTURE_PLAN") [18:02:55.529] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:55.529] } [18:02:55.529] ...future.workdir <- getwd() [18:02:55.529] } [18:02:55.529] ...future.oldOptions <- base::as.list(base::.Options) [18:02:55.529] ...future.oldEnvVars <- base::Sys.getenv() [18:02:55.529] } [18:02:55.529] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:55.529] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:55.529] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:55.529] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:55.529] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:55.529] future.stdout.windows.reencode = NULL, width = 80L) [18:02:55.529] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:55.529] base::names(...future.oldOptions)) [18:02:55.529] } [18:02:55.529] if (FALSE) { [18:02:55.529] } [18:02:55.529] else { [18:02:55.529] if (TRUE) { [18:02:55.529] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:55.529] open = "w") [18:02:55.529] } [18:02:55.529] else { [18:02:55.529] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:55.529] windows = "NUL", "/dev/null"), open = "w") [18:02:55.529] } [18:02:55.529] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:55.529] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:55.529] base::sink(type = "output", split = FALSE) [18:02:55.529] base::close(...future.stdout) [18:02:55.529] }, add = TRUE) [18:02:55.529] } [18:02:55.529] ...future.frame <- base::sys.nframe() [18:02:55.529] ...future.conditions <- base::list() [18:02:55.529] ...future.rng <- base::globalenv()$.Random.seed [18:02:55.529] if (FALSE) { [18:02:55.529] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:55.529] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:55.529] } [18:02:55.529] ...future.result <- base::tryCatch({ [18:02:55.529] base::withCallingHandlers({ [18:02:55.529] ...future.value <- base::withVisible(base::local({ [18:02:55.529] ...future.makeSendCondition <- local({ [18:02:55.529] sendCondition <- NULL [18:02:55.529] function(frame = 1L) { [18:02:55.529] if (is.function(sendCondition)) [18:02:55.529] return(sendCondition) [18:02:55.529] ns <- getNamespace("parallel") [18:02:55.529] if (exists("sendData", mode = "function", [18:02:55.529] envir = ns)) { [18:02:55.529] parallel_sendData <- get("sendData", mode = "function", [18:02:55.529] envir = ns) [18:02:55.529] envir <- sys.frame(frame) [18:02:55.529] master <- NULL [18:02:55.529] while (!identical(envir, .GlobalEnv) && [18:02:55.529] !identical(envir, emptyenv())) { [18:02:55.529] if (exists("master", mode = "list", envir = envir, [18:02:55.529] inherits = FALSE)) { [18:02:55.529] master <- get("master", mode = "list", [18:02:55.529] envir = envir, inherits = FALSE) [18:02:55.529] if (inherits(master, c("SOCKnode", [18:02:55.529] "SOCK0node"))) { [18:02:55.529] sendCondition <<- function(cond) { [18:02:55.529] data <- list(type = "VALUE", value = cond, [18:02:55.529] success = TRUE) [18:02:55.529] parallel_sendData(master, data) [18:02:55.529] } [18:02:55.529] return(sendCondition) [18:02:55.529] } [18:02:55.529] } [18:02:55.529] frame <- frame + 1L [18:02:55.529] envir <- sys.frame(frame) [18:02:55.529] } [18:02:55.529] } [18:02:55.529] sendCondition <<- function(cond) NULL [18:02:55.529] } [18:02:55.529] }) [18:02:55.529] withCallingHandlers({ [18:02:55.529] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:55.529] }, immediateCondition = function(cond) { [18:02:55.529] sendCondition <- ...future.makeSendCondition() [18:02:55.529] sendCondition(cond) [18:02:55.529] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.529] { [18:02:55.529] inherits <- base::inherits [18:02:55.529] invokeRestart <- base::invokeRestart [18:02:55.529] is.null <- base::is.null [18:02:55.529] muffled <- FALSE [18:02:55.529] if (inherits(cond, "message")) { [18:02:55.529] muffled <- grepl(pattern, "muffleMessage") [18:02:55.529] if (muffled) [18:02:55.529] invokeRestart("muffleMessage") [18:02:55.529] } [18:02:55.529] else if (inherits(cond, "warning")) { [18:02:55.529] muffled <- grepl(pattern, "muffleWarning") [18:02:55.529] if (muffled) [18:02:55.529] invokeRestart("muffleWarning") [18:02:55.529] } [18:02:55.529] else if (inherits(cond, "condition")) { [18:02:55.529] if (!is.null(pattern)) { [18:02:55.529] computeRestarts <- base::computeRestarts [18:02:55.529] grepl <- base::grepl [18:02:55.529] restarts <- computeRestarts(cond) [18:02:55.529] for (restart in restarts) { [18:02:55.529] name <- restart$name [18:02:55.529] if (is.null(name)) [18:02:55.529] next [18:02:55.529] if (!grepl(pattern, name)) [18:02:55.529] next [18:02:55.529] invokeRestart(restart) [18:02:55.529] muffled <- TRUE [18:02:55.529] break [18:02:55.529] } [18:02:55.529] } [18:02:55.529] } [18:02:55.529] invisible(muffled) [18:02:55.529] } [18:02:55.529] muffleCondition(cond) [18:02:55.529] }) [18:02:55.529] })) [18:02:55.529] future::FutureResult(value = ...future.value$value, [18:02:55.529] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:55.529] ...future.rng), globalenv = if (FALSE) [18:02:55.529] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:55.529] ...future.globalenv.names)) [18:02:55.529] else NULL, started = ...future.startTime, version = "1.8") [18:02:55.529] }, condition = base::local({ [18:02:55.529] c <- base::c [18:02:55.529] inherits <- base::inherits [18:02:55.529] invokeRestart <- base::invokeRestart [18:02:55.529] length <- base::length [18:02:55.529] list <- base::list [18:02:55.529] seq.int <- base::seq.int [18:02:55.529] signalCondition <- base::signalCondition [18:02:55.529] sys.calls <- base::sys.calls [18:02:55.529] `[[` <- base::`[[` [18:02:55.529] `+` <- base::`+` [18:02:55.529] `<<-` <- base::`<<-` [18:02:55.529] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:55.529] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:55.529] 3L)] [18:02:55.529] } [18:02:55.529] function(cond) { [18:02:55.529] is_error <- inherits(cond, "error") [18:02:55.529] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:55.529] NULL) [18:02:55.529] if (is_error) { [18:02:55.529] sessionInformation <- function() { [18:02:55.529] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:55.529] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:55.529] search = base::search(), system = base::Sys.info()) [18:02:55.529] } [18:02:55.529] ...future.conditions[[length(...future.conditions) + [18:02:55.529] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:55.529] cond$call), session = sessionInformation(), [18:02:55.529] timestamp = base::Sys.time(), signaled = 0L) [18:02:55.529] signalCondition(cond) [18:02:55.529] } [18:02:55.529] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:55.529] "immediateCondition"))) { [18:02:55.529] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:55.529] ...future.conditions[[length(...future.conditions) + [18:02:55.529] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:55.529] if (TRUE && !signal) { [18:02:55.529] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.529] { [18:02:55.529] inherits <- base::inherits [18:02:55.529] invokeRestart <- base::invokeRestart [18:02:55.529] is.null <- base::is.null [18:02:55.529] muffled <- FALSE [18:02:55.529] if (inherits(cond, "message")) { [18:02:55.529] muffled <- grepl(pattern, "muffleMessage") [18:02:55.529] if (muffled) [18:02:55.529] invokeRestart("muffleMessage") [18:02:55.529] } [18:02:55.529] else if (inherits(cond, "warning")) { [18:02:55.529] muffled <- grepl(pattern, "muffleWarning") [18:02:55.529] if (muffled) [18:02:55.529] invokeRestart("muffleWarning") [18:02:55.529] } [18:02:55.529] else if (inherits(cond, "condition")) { [18:02:55.529] if (!is.null(pattern)) { [18:02:55.529] computeRestarts <- base::computeRestarts [18:02:55.529] grepl <- base::grepl [18:02:55.529] restarts <- computeRestarts(cond) [18:02:55.529] for (restart in restarts) { [18:02:55.529] name <- restart$name [18:02:55.529] if (is.null(name)) [18:02:55.529] next [18:02:55.529] if (!grepl(pattern, name)) [18:02:55.529] next [18:02:55.529] invokeRestart(restart) [18:02:55.529] muffled <- TRUE [18:02:55.529] break [18:02:55.529] } [18:02:55.529] } [18:02:55.529] } [18:02:55.529] invisible(muffled) [18:02:55.529] } [18:02:55.529] muffleCondition(cond, pattern = "^muffle") [18:02:55.529] } [18:02:55.529] } [18:02:55.529] else { [18:02:55.529] if (TRUE) { [18:02:55.529] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.529] { [18:02:55.529] inherits <- base::inherits [18:02:55.529] invokeRestart <- base::invokeRestart [18:02:55.529] is.null <- base::is.null [18:02:55.529] muffled <- FALSE [18:02:55.529] if (inherits(cond, "message")) { [18:02:55.529] muffled <- grepl(pattern, "muffleMessage") [18:02:55.529] if (muffled) [18:02:55.529] invokeRestart("muffleMessage") [18:02:55.529] } [18:02:55.529] else if (inherits(cond, "warning")) { [18:02:55.529] muffled <- grepl(pattern, "muffleWarning") [18:02:55.529] if (muffled) [18:02:55.529] invokeRestart("muffleWarning") [18:02:55.529] } [18:02:55.529] else if (inherits(cond, "condition")) { [18:02:55.529] if (!is.null(pattern)) { [18:02:55.529] computeRestarts <- base::computeRestarts [18:02:55.529] grepl <- base::grepl [18:02:55.529] restarts <- computeRestarts(cond) [18:02:55.529] for (restart in restarts) { [18:02:55.529] name <- restart$name [18:02:55.529] if (is.null(name)) [18:02:55.529] next [18:02:55.529] if (!grepl(pattern, name)) [18:02:55.529] next [18:02:55.529] invokeRestart(restart) [18:02:55.529] muffled <- TRUE [18:02:55.529] break [18:02:55.529] } [18:02:55.529] } [18:02:55.529] } [18:02:55.529] invisible(muffled) [18:02:55.529] } [18:02:55.529] muffleCondition(cond, pattern = "^muffle") [18:02:55.529] } [18:02:55.529] } [18:02:55.529] } [18:02:55.529] })) [18:02:55.529] }, error = function(ex) { [18:02:55.529] base::structure(base::list(value = NULL, visible = NULL, [18:02:55.529] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:55.529] ...future.rng), started = ...future.startTime, [18:02:55.529] finished = Sys.time(), session_uuid = NA_character_, [18:02:55.529] version = "1.8"), class = "FutureResult") [18:02:55.529] }, finally = { [18:02:55.529] if (!identical(...future.workdir, getwd())) [18:02:55.529] setwd(...future.workdir) [18:02:55.529] { [18:02:55.529] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:55.529] ...future.oldOptions$nwarnings <- NULL [18:02:55.529] } [18:02:55.529] base::options(...future.oldOptions) [18:02:55.529] if (.Platform$OS.type == "windows") { [18:02:55.529] old_names <- names(...future.oldEnvVars) [18:02:55.529] envs <- base::Sys.getenv() [18:02:55.529] names <- names(envs) [18:02:55.529] common <- intersect(names, old_names) [18:02:55.529] added <- setdiff(names, old_names) [18:02:55.529] removed <- setdiff(old_names, names) [18:02:55.529] changed <- common[...future.oldEnvVars[common] != [18:02:55.529] envs[common]] [18:02:55.529] NAMES <- toupper(changed) [18:02:55.529] args <- list() [18:02:55.529] for (kk in seq_along(NAMES)) { [18:02:55.529] name <- changed[[kk]] [18:02:55.529] NAME <- NAMES[[kk]] [18:02:55.529] if (name != NAME && is.element(NAME, old_names)) [18:02:55.529] next [18:02:55.529] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:55.529] } [18:02:55.529] NAMES <- toupper(added) [18:02:55.529] for (kk in seq_along(NAMES)) { [18:02:55.529] name <- added[[kk]] [18:02:55.529] NAME <- NAMES[[kk]] [18:02:55.529] if (name != NAME && is.element(NAME, old_names)) [18:02:55.529] next [18:02:55.529] args[[name]] <- "" [18:02:55.529] } [18:02:55.529] NAMES <- toupper(removed) [18:02:55.529] for (kk in seq_along(NAMES)) { [18:02:55.529] name <- removed[[kk]] [18:02:55.529] NAME <- NAMES[[kk]] [18:02:55.529] if (name != NAME && is.element(NAME, old_names)) [18:02:55.529] next [18:02:55.529] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:55.529] } [18:02:55.529] if (length(args) > 0) [18:02:55.529] base::do.call(base::Sys.setenv, args = args) [18:02:55.529] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:55.529] } [18:02:55.529] else { [18:02:55.529] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:55.529] } [18:02:55.529] { [18:02:55.529] if (base::length(...future.futureOptionsAdded) > [18:02:55.529] 0L) { [18:02:55.529] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:55.529] base::names(opts) <- ...future.futureOptionsAdded [18:02:55.529] base::options(opts) [18:02:55.529] } [18:02:55.529] { [18:02:55.529] { [18:02:55.529] base::options(mc.cores = ...future.mc.cores.old) [18:02:55.529] NULL [18:02:55.529] } [18:02:55.529] options(future.plan = NULL) [18:02:55.529] if (is.na(NA_character_)) [18:02:55.529] Sys.unsetenv("R_FUTURE_PLAN") [18:02:55.529] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:55.529] future::plan(list(function (..., workers = availableCores(), [18:02:55.529] lazy = FALSE, rscript_libs = .libPaths(), [18:02:55.529] envir = parent.frame()) [18:02:55.529] { [18:02:55.529] if (is.function(workers)) [18:02:55.529] workers <- workers() [18:02:55.529] workers <- structure(as.integer(workers), [18:02:55.529] class = class(workers)) [18:02:55.529] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:55.529] workers >= 1) [18:02:55.529] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:55.529] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:55.529] } [18:02:55.529] future <- MultisessionFuture(..., workers = workers, [18:02:55.529] lazy = lazy, rscript_libs = rscript_libs, [18:02:55.529] envir = envir) [18:02:55.529] if (!future$lazy) [18:02:55.529] future <- run(future) [18:02:55.529] invisible(future) [18:02:55.529] }), .cleanup = FALSE, .init = FALSE) [18:02:55.529] } [18:02:55.529] } [18:02:55.529] } [18:02:55.529] }) [18:02:55.529] if (TRUE) { [18:02:55.529] base::sink(type = "output", split = FALSE) [18:02:55.529] if (TRUE) { [18:02:55.529] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:55.529] } [18:02:55.529] else { [18:02:55.529] ...future.result["stdout"] <- base::list(NULL) [18:02:55.529] } [18:02:55.529] base::close(...future.stdout) [18:02:55.529] ...future.stdout <- NULL [18:02:55.529] } [18:02:55.529] ...future.result$conditions <- ...future.conditions [18:02:55.529] ...future.result$finished <- base::Sys.time() [18:02:55.529] ...future.result [18:02:55.529] } [18:02:55.535] MultisessionFuture started [18:02:55.535] - Launch lazy future ... done [18:02:55.535] run() for 'MultisessionFuture' ... done [18:02:55.552] receiveMessageFromWorker() for ClusterFuture ... [18:02:55.552] - Validating connection of MultisessionFuture [18:02:55.553] - received message: FutureResult [18:02:55.553] - Received FutureResult [18:02:55.553] - Erased future from FutureRegistry [18:02:55.553] result() for ClusterFuture ... [18:02:55.553] - result already collected: FutureResult [18:02:55.553] result() for ClusterFuture ... done [18:02:55.554] signalConditions() ... [18:02:55.554] - include = 'immediateCondition' [18:02:55.554] - exclude = [18:02:55.554] - resignal = FALSE [18:02:55.554] - Number of conditions: 1 [18:02:55.554] signalConditions() ... done [18:02:55.555] receiveMessageFromWorker() for ClusterFuture ... done [18:02:55.555] A MultisessionFuture was resolved [18:02:55.555] getGlobalsAndPackages() ... [18:02:55.555] Searching for globals... [18:02:55.556] - globals found: [2] 'list', 'stop' [18:02:55.556] Searching for globals ... DONE [18:02:55.556] Resolving globals: FALSE [18:02:55.557] [18:02:55.557] [18:02:55.557] getGlobalsAndPackages() ... DONE [18:02:55.557] run() for 'Future' ... [18:02:55.557] - state: 'created' [18:02:55.558] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:55.571] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:55.572] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:55.572] - Field: 'node' [18:02:55.572] - Field: 'label' [18:02:55.572] - Field: 'local' [18:02:55.572] - Field: 'owner' [18:02:55.573] - Field: 'envir' [18:02:55.573] - Field: 'workers' [18:02:55.573] - Field: 'packages' [18:02:55.573] - Field: 'gc' [18:02:55.573] - Field: 'conditions' [18:02:55.574] - Field: 'persistent' [18:02:55.574] - Field: 'expr' [18:02:55.574] - Field: 'uuid' [18:02:55.574] - Field: 'seed' [18:02:55.574] - Field: 'version' [18:02:55.574] - Field: 'result' [18:02:55.575] - Field: 'asynchronous' [18:02:55.577] - Field: 'calls' [18:02:55.578] - Field: 'globals' [18:02:55.578] - Field: 'stdout' [18:02:55.578] - Field: 'earlySignal' [18:02:55.578] - Field: 'lazy' [18:02:55.578] - Field: 'state' [18:02:55.578] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:55.579] - Launch lazy future ... [18:02:55.579] Packages needed by the future expression (n = 0): [18:02:55.579] Packages needed by future strategies (n = 0): [18:02:55.580] { [18:02:55.580] { [18:02:55.580] { [18:02:55.580] ...future.startTime <- base::Sys.time() [18:02:55.580] { [18:02:55.580] { [18:02:55.580] { [18:02:55.580] { [18:02:55.580] base::local({ [18:02:55.580] has_future <- base::requireNamespace("future", [18:02:55.580] quietly = TRUE) [18:02:55.580] if (has_future) { [18:02:55.580] ns <- base::getNamespace("future") [18:02:55.580] version <- ns[[".package"]][["version"]] [18:02:55.580] if (is.null(version)) [18:02:55.580] version <- utils::packageVersion("future") [18:02:55.580] } [18:02:55.580] else { [18:02:55.580] version <- NULL [18:02:55.580] } [18:02:55.580] if (!has_future || version < "1.8.0") { [18:02:55.580] info <- base::c(r_version = base::gsub("R version ", [18:02:55.580] "", base::R.version$version.string), [18:02:55.580] platform = base::sprintf("%s (%s-bit)", [18:02:55.580] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:55.580] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:55.580] "release", "version")], collapse = " "), [18:02:55.580] hostname = base::Sys.info()[["nodename"]]) [18:02:55.580] info <- base::sprintf("%s: %s", base::names(info), [18:02:55.580] info) [18:02:55.580] info <- base::paste(info, collapse = "; ") [18:02:55.580] if (!has_future) { [18:02:55.580] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:55.580] info) [18:02:55.580] } [18:02:55.580] else { [18:02:55.580] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:55.580] info, version) [18:02:55.580] } [18:02:55.580] base::stop(msg) [18:02:55.580] } [18:02:55.580] }) [18:02:55.580] } [18:02:55.580] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:55.580] base::options(mc.cores = 1L) [18:02:55.580] } [18:02:55.580] options(future.plan = NULL) [18:02:55.580] Sys.unsetenv("R_FUTURE_PLAN") [18:02:55.580] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:55.580] } [18:02:55.580] ...future.workdir <- getwd() [18:02:55.580] } [18:02:55.580] ...future.oldOptions <- base::as.list(base::.Options) [18:02:55.580] ...future.oldEnvVars <- base::Sys.getenv() [18:02:55.580] } [18:02:55.580] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:55.580] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:55.580] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:55.580] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:55.580] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:55.580] future.stdout.windows.reencode = NULL, width = 80L) [18:02:55.580] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:55.580] base::names(...future.oldOptions)) [18:02:55.580] } [18:02:55.580] if (FALSE) { [18:02:55.580] } [18:02:55.580] else { [18:02:55.580] if (TRUE) { [18:02:55.580] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:55.580] open = "w") [18:02:55.580] } [18:02:55.580] else { [18:02:55.580] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:55.580] windows = "NUL", "/dev/null"), open = "w") [18:02:55.580] } [18:02:55.580] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:55.580] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:55.580] base::sink(type = "output", split = FALSE) [18:02:55.580] base::close(...future.stdout) [18:02:55.580] }, add = TRUE) [18:02:55.580] } [18:02:55.580] ...future.frame <- base::sys.nframe() [18:02:55.580] ...future.conditions <- base::list() [18:02:55.580] ...future.rng <- base::globalenv()$.Random.seed [18:02:55.580] if (FALSE) { [18:02:55.580] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:55.580] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:55.580] } [18:02:55.580] ...future.result <- base::tryCatch({ [18:02:55.580] base::withCallingHandlers({ [18:02:55.580] ...future.value <- base::withVisible(base::local({ [18:02:55.580] ...future.makeSendCondition <- local({ [18:02:55.580] sendCondition <- NULL [18:02:55.580] function(frame = 1L) { [18:02:55.580] if (is.function(sendCondition)) [18:02:55.580] return(sendCondition) [18:02:55.580] ns <- getNamespace("parallel") [18:02:55.580] if (exists("sendData", mode = "function", [18:02:55.580] envir = ns)) { [18:02:55.580] parallel_sendData <- get("sendData", mode = "function", [18:02:55.580] envir = ns) [18:02:55.580] envir <- sys.frame(frame) [18:02:55.580] master <- NULL [18:02:55.580] while (!identical(envir, .GlobalEnv) && [18:02:55.580] !identical(envir, emptyenv())) { [18:02:55.580] if (exists("master", mode = "list", envir = envir, [18:02:55.580] inherits = FALSE)) { [18:02:55.580] master <- get("master", mode = "list", [18:02:55.580] envir = envir, inherits = FALSE) [18:02:55.580] if (inherits(master, c("SOCKnode", [18:02:55.580] "SOCK0node"))) { [18:02:55.580] sendCondition <<- function(cond) { [18:02:55.580] data <- list(type = "VALUE", value = cond, [18:02:55.580] success = TRUE) [18:02:55.580] parallel_sendData(master, data) [18:02:55.580] } [18:02:55.580] return(sendCondition) [18:02:55.580] } [18:02:55.580] } [18:02:55.580] frame <- frame + 1L [18:02:55.580] envir <- sys.frame(frame) [18:02:55.580] } [18:02:55.580] } [18:02:55.580] sendCondition <<- function(cond) NULL [18:02:55.580] } [18:02:55.580] }) [18:02:55.580] withCallingHandlers({ [18:02:55.580] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:55.580] }, immediateCondition = function(cond) { [18:02:55.580] sendCondition <- ...future.makeSendCondition() [18:02:55.580] sendCondition(cond) [18:02:55.580] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.580] { [18:02:55.580] inherits <- base::inherits [18:02:55.580] invokeRestart <- base::invokeRestart [18:02:55.580] is.null <- base::is.null [18:02:55.580] muffled <- FALSE [18:02:55.580] if (inherits(cond, "message")) { [18:02:55.580] muffled <- grepl(pattern, "muffleMessage") [18:02:55.580] if (muffled) [18:02:55.580] invokeRestart("muffleMessage") [18:02:55.580] } [18:02:55.580] else if (inherits(cond, "warning")) { [18:02:55.580] muffled <- grepl(pattern, "muffleWarning") [18:02:55.580] if (muffled) [18:02:55.580] invokeRestart("muffleWarning") [18:02:55.580] } [18:02:55.580] else if (inherits(cond, "condition")) { [18:02:55.580] if (!is.null(pattern)) { [18:02:55.580] computeRestarts <- base::computeRestarts [18:02:55.580] grepl <- base::grepl [18:02:55.580] restarts <- computeRestarts(cond) [18:02:55.580] for (restart in restarts) { [18:02:55.580] name <- restart$name [18:02:55.580] if (is.null(name)) [18:02:55.580] next [18:02:55.580] if (!grepl(pattern, name)) [18:02:55.580] next [18:02:55.580] invokeRestart(restart) [18:02:55.580] muffled <- TRUE [18:02:55.580] break [18:02:55.580] } [18:02:55.580] } [18:02:55.580] } [18:02:55.580] invisible(muffled) [18:02:55.580] } [18:02:55.580] muffleCondition(cond) [18:02:55.580] }) [18:02:55.580] })) [18:02:55.580] future::FutureResult(value = ...future.value$value, [18:02:55.580] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:55.580] ...future.rng), globalenv = if (FALSE) [18:02:55.580] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:55.580] ...future.globalenv.names)) [18:02:55.580] else NULL, started = ...future.startTime, version = "1.8") [18:02:55.580] }, condition = base::local({ [18:02:55.580] c <- base::c [18:02:55.580] inherits <- base::inherits [18:02:55.580] invokeRestart <- base::invokeRestart [18:02:55.580] length <- base::length [18:02:55.580] list <- base::list [18:02:55.580] seq.int <- base::seq.int [18:02:55.580] signalCondition <- base::signalCondition [18:02:55.580] sys.calls <- base::sys.calls [18:02:55.580] `[[` <- base::`[[` [18:02:55.580] `+` <- base::`+` [18:02:55.580] `<<-` <- base::`<<-` [18:02:55.580] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:55.580] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:55.580] 3L)] [18:02:55.580] } [18:02:55.580] function(cond) { [18:02:55.580] is_error <- inherits(cond, "error") [18:02:55.580] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:55.580] NULL) [18:02:55.580] if (is_error) { [18:02:55.580] sessionInformation <- function() { [18:02:55.580] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:55.580] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:55.580] search = base::search(), system = base::Sys.info()) [18:02:55.580] } [18:02:55.580] ...future.conditions[[length(...future.conditions) + [18:02:55.580] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:55.580] cond$call), session = sessionInformation(), [18:02:55.580] timestamp = base::Sys.time(), signaled = 0L) [18:02:55.580] signalCondition(cond) [18:02:55.580] } [18:02:55.580] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:55.580] "immediateCondition"))) { [18:02:55.580] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:55.580] ...future.conditions[[length(...future.conditions) + [18:02:55.580] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:55.580] if (TRUE && !signal) { [18:02:55.580] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.580] { [18:02:55.580] inherits <- base::inherits [18:02:55.580] invokeRestart <- base::invokeRestart [18:02:55.580] is.null <- base::is.null [18:02:55.580] muffled <- FALSE [18:02:55.580] if (inherits(cond, "message")) { [18:02:55.580] muffled <- grepl(pattern, "muffleMessage") [18:02:55.580] if (muffled) [18:02:55.580] invokeRestart("muffleMessage") [18:02:55.580] } [18:02:55.580] else if (inherits(cond, "warning")) { [18:02:55.580] muffled <- grepl(pattern, "muffleWarning") [18:02:55.580] if (muffled) [18:02:55.580] invokeRestart("muffleWarning") [18:02:55.580] } [18:02:55.580] else if (inherits(cond, "condition")) { [18:02:55.580] if (!is.null(pattern)) { [18:02:55.580] computeRestarts <- base::computeRestarts [18:02:55.580] grepl <- base::grepl [18:02:55.580] restarts <- computeRestarts(cond) [18:02:55.580] for (restart in restarts) { [18:02:55.580] name <- restart$name [18:02:55.580] if (is.null(name)) [18:02:55.580] next [18:02:55.580] if (!grepl(pattern, name)) [18:02:55.580] next [18:02:55.580] invokeRestart(restart) [18:02:55.580] muffled <- TRUE [18:02:55.580] break [18:02:55.580] } [18:02:55.580] } [18:02:55.580] } [18:02:55.580] invisible(muffled) [18:02:55.580] } [18:02:55.580] muffleCondition(cond, pattern = "^muffle") [18:02:55.580] } [18:02:55.580] } [18:02:55.580] else { [18:02:55.580] if (TRUE) { [18:02:55.580] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.580] { [18:02:55.580] inherits <- base::inherits [18:02:55.580] invokeRestart <- base::invokeRestart [18:02:55.580] is.null <- base::is.null [18:02:55.580] muffled <- FALSE [18:02:55.580] if (inherits(cond, "message")) { [18:02:55.580] muffled <- grepl(pattern, "muffleMessage") [18:02:55.580] if (muffled) [18:02:55.580] invokeRestart("muffleMessage") [18:02:55.580] } [18:02:55.580] else if (inherits(cond, "warning")) { [18:02:55.580] muffled <- grepl(pattern, "muffleWarning") [18:02:55.580] if (muffled) [18:02:55.580] invokeRestart("muffleWarning") [18:02:55.580] } [18:02:55.580] else if (inherits(cond, "condition")) { [18:02:55.580] if (!is.null(pattern)) { [18:02:55.580] computeRestarts <- base::computeRestarts [18:02:55.580] grepl <- base::grepl [18:02:55.580] restarts <- computeRestarts(cond) [18:02:55.580] for (restart in restarts) { [18:02:55.580] name <- restart$name [18:02:55.580] if (is.null(name)) [18:02:55.580] next [18:02:55.580] if (!grepl(pattern, name)) [18:02:55.580] next [18:02:55.580] invokeRestart(restart) [18:02:55.580] muffled <- TRUE [18:02:55.580] break [18:02:55.580] } [18:02:55.580] } [18:02:55.580] } [18:02:55.580] invisible(muffled) [18:02:55.580] } [18:02:55.580] muffleCondition(cond, pattern = "^muffle") [18:02:55.580] } [18:02:55.580] } [18:02:55.580] } [18:02:55.580] })) [18:02:55.580] }, error = function(ex) { [18:02:55.580] base::structure(base::list(value = NULL, visible = NULL, [18:02:55.580] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:55.580] ...future.rng), started = ...future.startTime, [18:02:55.580] finished = Sys.time(), session_uuid = NA_character_, [18:02:55.580] version = "1.8"), class = "FutureResult") [18:02:55.580] }, finally = { [18:02:55.580] if (!identical(...future.workdir, getwd())) [18:02:55.580] setwd(...future.workdir) [18:02:55.580] { [18:02:55.580] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:55.580] ...future.oldOptions$nwarnings <- NULL [18:02:55.580] } [18:02:55.580] base::options(...future.oldOptions) [18:02:55.580] if (.Platform$OS.type == "windows") { [18:02:55.580] old_names <- names(...future.oldEnvVars) [18:02:55.580] envs <- base::Sys.getenv() [18:02:55.580] names <- names(envs) [18:02:55.580] common <- intersect(names, old_names) [18:02:55.580] added <- setdiff(names, old_names) [18:02:55.580] removed <- setdiff(old_names, names) [18:02:55.580] changed <- common[...future.oldEnvVars[common] != [18:02:55.580] envs[common]] [18:02:55.580] NAMES <- toupper(changed) [18:02:55.580] args <- list() [18:02:55.580] for (kk in seq_along(NAMES)) { [18:02:55.580] name <- changed[[kk]] [18:02:55.580] NAME <- NAMES[[kk]] [18:02:55.580] if (name != NAME && is.element(NAME, old_names)) [18:02:55.580] next [18:02:55.580] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:55.580] } [18:02:55.580] NAMES <- toupper(added) [18:02:55.580] for (kk in seq_along(NAMES)) { [18:02:55.580] name <- added[[kk]] [18:02:55.580] NAME <- NAMES[[kk]] [18:02:55.580] if (name != NAME && is.element(NAME, old_names)) [18:02:55.580] next [18:02:55.580] args[[name]] <- "" [18:02:55.580] } [18:02:55.580] NAMES <- toupper(removed) [18:02:55.580] for (kk in seq_along(NAMES)) { [18:02:55.580] name <- removed[[kk]] [18:02:55.580] NAME <- NAMES[[kk]] [18:02:55.580] if (name != NAME && is.element(NAME, old_names)) [18:02:55.580] next [18:02:55.580] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:55.580] } [18:02:55.580] if (length(args) > 0) [18:02:55.580] base::do.call(base::Sys.setenv, args = args) [18:02:55.580] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:55.580] } [18:02:55.580] else { [18:02:55.580] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:55.580] } [18:02:55.580] { [18:02:55.580] if (base::length(...future.futureOptionsAdded) > [18:02:55.580] 0L) { [18:02:55.580] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:55.580] base::names(opts) <- ...future.futureOptionsAdded [18:02:55.580] base::options(opts) [18:02:55.580] } [18:02:55.580] { [18:02:55.580] { [18:02:55.580] base::options(mc.cores = ...future.mc.cores.old) [18:02:55.580] NULL [18:02:55.580] } [18:02:55.580] options(future.plan = NULL) [18:02:55.580] if (is.na(NA_character_)) [18:02:55.580] Sys.unsetenv("R_FUTURE_PLAN") [18:02:55.580] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:55.580] future::plan(list(function (..., workers = availableCores(), [18:02:55.580] lazy = FALSE, rscript_libs = .libPaths(), [18:02:55.580] envir = parent.frame()) [18:02:55.580] { [18:02:55.580] if (is.function(workers)) [18:02:55.580] workers <- workers() [18:02:55.580] workers <- structure(as.integer(workers), [18:02:55.580] class = class(workers)) [18:02:55.580] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:55.580] workers >= 1) [18:02:55.580] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:55.580] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:55.580] } [18:02:55.580] future <- MultisessionFuture(..., workers = workers, [18:02:55.580] lazy = lazy, rscript_libs = rscript_libs, [18:02:55.580] envir = envir) [18:02:55.580] if (!future$lazy) [18:02:55.580] future <- run(future) [18:02:55.580] invisible(future) [18:02:55.580] }), .cleanup = FALSE, .init = FALSE) [18:02:55.580] } [18:02:55.580] } [18:02:55.580] } [18:02:55.580] }) [18:02:55.580] if (TRUE) { [18:02:55.580] base::sink(type = "output", split = FALSE) [18:02:55.580] if (TRUE) { [18:02:55.580] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:55.580] } [18:02:55.580] else { [18:02:55.580] ...future.result["stdout"] <- base::list(NULL) [18:02:55.580] } [18:02:55.580] base::close(...future.stdout) [18:02:55.580] ...future.stdout <- NULL [18:02:55.580] } [18:02:55.580] ...future.result$conditions <- ...future.conditions [18:02:55.580] ...future.result$finished <- base::Sys.time() [18:02:55.580] ...future.result [18:02:55.580] } [18:02:55.586] MultisessionFuture started [18:02:55.586] - Launch lazy future ... done [18:02:55.586] run() for 'MultisessionFuture' ... done [18:02:55.602] receiveMessageFromWorker() for ClusterFuture ... [18:02:55.602] - Validating connection of MultisessionFuture [18:02:55.602] - received message: FutureResult [18:02:55.603] - Received FutureResult [18:02:55.603] - Erased future from FutureRegistry [18:02:55.603] result() for ClusterFuture ... [18:02:55.603] - result already collected: FutureResult [18:02:55.603] result() for ClusterFuture ... done [18:02:55.603] signalConditions() ... [18:02:55.604] - include = 'immediateCondition' [18:02:55.604] - exclude = [18:02:55.604] - resignal = FALSE [18:02:55.604] - Number of conditions: 1 [18:02:55.604] signalConditions() ... done [18:02:55.604] receiveMessageFromWorker() for ClusterFuture ... done [18:02:55.605] A MultisessionFuture was resolved - result = TRUE, recursive = TRUE ... DONE - result = TRUE, recursive = -1 ... [18:02:55.605] getGlobalsAndPackages() ... [18:02:55.605] Searching for globals... [18:02:55.606] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:55.607] Searching for globals ... DONE [18:02:55.607] Resolving globals: FALSE [18:02:55.607] [18:02:55.607] [18:02:55.608] getGlobalsAndPackages() ... DONE [18:02:55.608] run() for 'Future' ... [18:02:55.608] - state: 'created' [18:02:55.608] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:55.622] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:55.623] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:55.623] - Field: 'node' [18:02:55.623] - Field: 'label' [18:02:55.623] - Field: 'local' [18:02:55.623] - Field: 'owner' [18:02:55.624] - Field: 'envir' [18:02:55.624] - Field: 'workers' [18:02:55.624] - Field: 'packages' [18:02:55.624] - Field: 'gc' [18:02:55.624] - Field: 'conditions' [18:02:55.624] - Field: 'persistent' [18:02:55.625] - Field: 'expr' [18:02:55.625] - Field: 'uuid' [18:02:55.625] - Field: 'seed' [18:02:55.625] - Field: 'version' [18:02:55.625] - Field: 'result' [18:02:55.625] - Field: 'asynchronous' [18:02:55.626] - Field: 'calls' [18:02:55.626] - Field: 'globals' [18:02:55.626] - Field: 'stdout' [18:02:55.626] - Field: 'earlySignal' [18:02:55.626] - Field: 'lazy' [18:02:55.627] - Field: 'state' [18:02:55.627] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:55.627] - Launch lazy future ... [18:02:55.627] Packages needed by the future expression (n = 0): [18:02:55.627] Packages needed by future strategies (n = 0): [18:02:55.628] { [18:02:55.628] { [18:02:55.628] { [18:02:55.628] ...future.startTime <- base::Sys.time() [18:02:55.628] { [18:02:55.628] { [18:02:55.628] { [18:02:55.628] { [18:02:55.628] base::local({ [18:02:55.628] has_future <- base::requireNamespace("future", [18:02:55.628] quietly = TRUE) [18:02:55.628] if (has_future) { [18:02:55.628] ns <- base::getNamespace("future") [18:02:55.628] version <- ns[[".package"]][["version"]] [18:02:55.628] if (is.null(version)) [18:02:55.628] version <- utils::packageVersion("future") [18:02:55.628] } [18:02:55.628] else { [18:02:55.628] version <- NULL [18:02:55.628] } [18:02:55.628] if (!has_future || version < "1.8.0") { [18:02:55.628] info <- base::c(r_version = base::gsub("R version ", [18:02:55.628] "", base::R.version$version.string), [18:02:55.628] platform = base::sprintf("%s (%s-bit)", [18:02:55.628] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:55.628] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:55.628] "release", "version")], collapse = " "), [18:02:55.628] hostname = base::Sys.info()[["nodename"]]) [18:02:55.628] info <- base::sprintf("%s: %s", base::names(info), [18:02:55.628] info) [18:02:55.628] info <- base::paste(info, collapse = "; ") [18:02:55.628] if (!has_future) { [18:02:55.628] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:55.628] info) [18:02:55.628] } [18:02:55.628] else { [18:02:55.628] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:55.628] info, version) [18:02:55.628] } [18:02:55.628] base::stop(msg) [18:02:55.628] } [18:02:55.628] }) [18:02:55.628] } [18:02:55.628] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:55.628] base::options(mc.cores = 1L) [18:02:55.628] } [18:02:55.628] options(future.plan = NULL) [18:02:55.628] Sys.unsetenv("R_FUTURE_PLAN") [18:02:55.628] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:55.628] } [18:02:55.628] ...future.workdir <- getwd() [18:02:55.628] } [18:02:55.628] ...future.oldOptions <- base::as.list(base::.Options) [18:02:55.628] ...future.oldEnvVars <- base::Sys.getenv() [18:02:55.628] } [18:02:55.628] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:55.628] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:55.628] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:55.628] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:55.628] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:55.628] future.stdout.windows.reencode = NULL, width = 80L) [18:02:55.628] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:55.628] base::names(...future.oldOptions)) [18:02:55.628] } [18:02:55.628] if (FALSE) { [18:02:55.628] } [18:02:55.628] else { [18:02:55.628] if (TRUE) { [18:02:55.628] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:55.628] open = "w") [18:02:55.628] } [18:02:55.628] else { [18:02:55.628] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:55.628] windows = "NUL", "/dev/null"), open = "w") [18:02:55.628] } [18:02:55.628] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:55.628] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:55.628] base::sink(type = "output", split = FALSE) [18:02:55.628] base::close(...future.stdout) [18:02:55.628] }, add = TRUE) [18:02:55.628] } [18:02:55.628] ...future.frame <- base::sys.nframe() [18:02:55.628] ...future.conditions <- base::list() [18:02:55.628] ...future.rng <- base::globalenv()$.Random.seed [18:02:55.628] if (FALSE) { [18:02:55.628] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:55.628] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:55.628] } [18:02:55.628] ...future.result <- base::tryCatch({ [18:02:55.628] base::withCallingHandlers({ [18:02:55.628] ...future.value <- base::withVisible(base::local({ [18:02:55.628] ...future.makeSendCondition <- local({ [18:02:55.628] sendCondition <- NULL [18:02:55.628] function(frame = 1L) { [18:02:55.628] if (is.function(sendCondition)) [18:02:55.628] return(sendCondition) [18:02:55.628] ns <- getNamespace("parallel") [18:02:55.628] if (exists("sendData", mode = "function", [18:02:55.628] envir = ns)) { [18:02:55.628] parallel_sendData <- get("sendData", mode = "function", [18:02:55.628] envir = ns) [18:02:55.628] envir <- sys.frame(frame) [18:02:55.628] master <- NULL [18:02:55.628] while (!identical(envir, .GlobalEnv) && [18:02:55.628] !identical(envir, emptyenv())) { [18:02:55.628] if (exists("master", mode = "list", envir = envir, [18:02:55.628] inherits = FALSE)) { [18:02:55.628] master <- get("master", mode = "list", [18:02:55.628] envir = envir, inherits = FALSE) [18:02:55.628] if (inherits(master, c("SOCKnode", [18:02:55.628] "SOCK0node"))) { [18:02:55.628] sendCondition <<- function(cond) { [18:02:55.628] data <- list(type = "VALUE", value = cond, [18:02:55.628] success = TRUE) [18:02:55.628] parallel_sendData(master, data) [18:02:55.628] } [18:02:55.628] return(sendCondition) [18:02:55.628] } [18:02:55.628] } [18:02:55.628] frame <- frame + 1L [18:02:55.628] envir <- sys.frame(frame) [18:02:55.628] } [18:02:55.628] } [18:02:55.628] sendCondition <<- function(cond) NULL [18:02:55.628] } [18:02:55.628] }) [18:02:55.628] withCallingHandlers({ [18:02:55.628] { [18:02:55.628] Sys.sleep(0.5) [18:02:55.628] list(a = 1, b = 42L) [18:02:55.628] } [18:02:55.628] }, immediateCondition = function(cond) { [18:02:55.628] sendCondition <- ...future.makeSendCondition() [18:02:55.628] sendCondition(cond) [18:02:55.628] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.628] { [18:02:55.628] inherits <- base::inherits [18:02:55.628] invokeRestart <- base::invokeRestart [18:02:55.628] is.null <- base::is.null [18:02:55.628] muffled <- FALSE [18:02:55.628] if (inherits(cond, "message")) { [18:02:55.628] muffled <- grepl(pattern, "muffleMessage") [18:02:55.628] if (muffled) [18:02:55.628] invokeRestart("muffleMessage") [18:02:55.628] } [18:02:55.628] else if (inherits(cond, "warning")) { [18:02:55.628] muffled <- grepl(pattern, "muffleWarning") [18:02:55.628] if (muffled) [18:02:55.628] invokeRestart("muffleWarning") [18:02:55.628] } [18:02:55.628] else if (inherits(cond, "condition")) { [18:02:55.628] if (!is.null(pattern)) { [18:02:55.628] computeRestarts <- base::computeRestarts [18:02:55.628] grepl <- base::grepl [18:02:55.628] restarts <- computeRestarts(cond) [18:02:55.628] for (restart in restarts) { [18:02:55.628] name <- restart$name [18:02:55.628] if (is.null(name)) [18:02:55.628] next [18:02:55.628] if (!grepl(pattern, name)) [18:02:55.628] next [18:02:55.628] invokeRestart(restart) [18:02:55.628] muffled <- TRUE [18:02:55.628] break [18:02:55.628] } [18:02:55.628] } [18:02:55.628] } [18:02:55.628] invisible(muffled) [18:02:55.628] } [18:02:55.628] muffleCondition(cond) [18:02:55.628] }) [18:02:55.628] })) [18:02:55.628] future::FutureResult(value = ...future.value$value, [18:02:55.628] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:55.628] ...future.rng), globalenv = if (FALSE) [18:02:55.628] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:55.628] ...future.globalenv.names)) [18:02:55.628] else NULL, started = ...future.startTime, version = "1.8") [18:02:55.628] }, condition = base::local({ [18:02:55.628] c <- base::c [18:02:55.628] inherits <- base::inherits [18:02:55.628] invokeRestart <- base::invokeRestart [18:02:55.628] length <- base::length [18:02:55.628] list <- base::list [18:02:55.628] seq.int <- base::seq.int [18:02:55.628] signalCondition <- base::signalCondition [18:02:55.628] sys.calls <- base::sys.calls [18:02:55.628] `[[` <- base::`[[` [18:02:55.628] `+` <- base::`+` [18:02:55.628] `<<-` <- base::`<<-` [18:02:55.628] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:55.628] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:55.628] 3L)] [18:02:55.628] } [18:02:55.628] function(cond) { [18:02:55.628] is_error <- inherits(cond, "error") [18:02:55.628] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:55.628] NULL) [18:02:55.628] if (is_error) { [18:02:55.628] sessionInformation <- function() { [18:02:55.628] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:55.628] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:55.628] search = base::search(), system = base::Sys.info()) [18:02:55.628] } [18:02:55.628] ...future.conditions[[length(...future.conditions) + [18:02:55.628] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:55.628] cond$call), session = sessionInformation(), [18:02:55.628] timestamp = base::Sys.time(), signaled = 0L) [18:02:55.628] signalCondition(cond) [18:02:55.628] } [18:02:55.628] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:55.628] "immediateCondition"))) { [18:02:55.628] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:55.628] ...future.conditions[[length(...future.conditions) + [18:02:55.628] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:55.628] if (TRUE && !signal) { [18:02:55.628] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.628] { [18:02:55.628] inherits <- base::inherits [18:02:55.628] invokeRestart <- base::invokeRestart [18:02:55.628] is.null <- base::is.null [18:02:55.628] muffled <- FALSE [18:02:55.628] if (inherits(cond, "message")) { [18:02:55.628] muffled <- grepl(pattern, "muffleMessage") [18:02:55.628] if (muffled) [18:02:55.628] invokeRestart("muffleMessage") [18:02:55.628] } [18:02:55.628] else if (inherits(cond, "warning")) { [18:02:55.628] muffled <- grepl(pattern, "muffleWarning") [18:02:55.628] if (muffled) [18:02:55.628] invokeRestart("muffleWarning") [18:02:55.628] } [18:02:55.628] else if (inherits(cond, "condition")) { [18:02:55.628] if (!is.null(pattern)) { [18:02:55.628] computeRestarts <- base::computeRestarts [18:02:55.628] grepl <- base::grepl [18:02:55.628] restarts <- computeRestarts(cond) [18:02:55.628] for (restart in restarts) { [18:02:55.628] name <- restart$name [18:02:55.628] if (is.null(name)) [18:02:55.628] next [18:02:55.628] if (!grepl(pattern, name)) [18:02:55.628] next [18:02:55.628] invokeRestart(restart) [18:02:55.628] muffled <- TRUE [18:02:55.628] break [18:02:55.628] } [18:02:55.628] } [18:02:55.628] } [18:02:55.628] invisible(muffled) [18:02:55.628] } [18:02:55.628] muffleCondition(cond, pattern = "^muffle") [18:02:55.628] } [18:02:55.628] } [18:02:55.628] else { [18:02:55.628] if (TRUE) { [18:02:55.628] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.628] { [18:02:55.628] inherits <- base::inherits [18:02:55.628] invokeRestart <- base::invokeRestart [18:02:55.628] is.null <- base::is.null [18:02:55.628] muffled <- FALSE [18:02:55.628] if (inherits(cond, "message")) { [18:02:55.628] muffled <- grepl(pattern, "muffleMessage") [18:02:55.628] if (muffled) [18:02:55.628] invokeRestart("muffleMessage") [18:02:55.628] } [18:02:55.628] else if (inherits(cond, "warning")) { [18:02:55.628] muffled <- grepl(pattern, "muffleWarning") [18:02:55.628] if (muffled) [18:02:55.628] invokeRestart("muffleWarning") [18:02:55.628] } [18:02:55.628] else if (inherits(cond, "condition")) { [18:02:55.628] if (!is.null(pattern)) { [18:02:55.628] computeRestarts <- base::computeRestarts [18:02:55.628] grepl <- base::grepl [18:02:55.628] restarts <- computeRestarts(cond) [18:02:55.628] for (restart in restarts) { [18:02:55.628] name <- restart$name [18:02:55.628] if (is.null(name)) [18:02:55.628] next [18:02:55.628] if (!grepl(pattern, name)) [18:02:55.628] next [18:02:55.628] invokeRestart(restart) [18:02:55.628] muffled <- TRUE [18:02:55.628] break [18:02:55.628] } [18:02:55.628] } [18:02:55.628] } [18:02:55.628] invisible(muffled) [18:02:55.628] } [18:02:55.628] muffleCondition(cond, pattern = "^muffle") [18:02:55.628] } [18:02:55.628] } [18:02:55.628] } [18:02:55.628] })) [18:02:55.628] }, error = function(ex) { [18:02:55.628] base::structure(base::list(value = NULL, visible = NULL, [18:02:55.628] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:55.628] ...future.rng), started = ...future.startTime, [18:02:55.628] finished = Sys.time(), session_uuid = NA_character_, [18:02:55.628] version = "1.8"), class = "FutureResult") [18:02:55.628] }, finally = { [18:02:55.628] if (!identical(...future.workdir, getwd())) [18:02:55.628] setwd(...future.workdir) [18:02:55.628] { [18:02:55.628] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:55.628] ...future.oldOptions$nwarnings <- NULL [18:02:55.628] } [18:02:55.628] base::options(...future.oldOptions) [18:02:55.628] if (.Platform$OS.type == "windows") { [18:02:55.628] old_names <- names(...future.oldEnvVars) [18:02:55.628] envs <- base::Sys.getenv() [18:02:55.628] names <- names(envs) [18:02:55.628] common <- intersect(names, old_names) [18:02:55.628] added <- setdiff(names, old_names) [18:02:55.628] removed <- setdiff(old_names, names) [18:02:55.628] changed <- common[...future.oldEnvVars[common] != [18:02:55.628] envs[common]] [18:02:55.628] NAMES <- toupper(changed) [18:02:55.628] args <- list() [18:02:55.628] for (kk in seq_along(NAMES)) { [18:02:55.628] name <- changed[[kk]] [18:02:55.628] NAME <- NAMES[[kk]] [18:02:55.628] if (name != NAME && is.element(NAME, old_names)) [18:02:55.628] next [18:02:55.628] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:55.628] } [18:02:55.628] NAMES <- toupper(added) [18:02:55.628] for (kk in seq_along(NAMES)) { [18:02:55.628] name <- added[[kk]] [18:02:55.628] NAME <- NAMES[[kk]] [18:02:55.628] if (name != NAME && is.element(NAME, old_names)) [18:02:55.628] next [18:02:55.628] args[[name]] <- "" [18:02:55.628] } [18:02:55.628] NAMES <- toupper(removed) [18:02:55.628] for (kk in seq_along(NAMES)) { [18:02:55.628] name <- removed[[kk]] [18:02:55.628] NAME <- NAMES[[kk]] [18:02:55.628] if (name != NAME && is.element(NAME, old_names)) [18:02:55.628] next [18:02:55.628] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:55.628] } [18:02:55.628] if (length(args) > 0) [18:02:55.628] base::do.call(base::Sys.setenv, args = args) [18:02:55.628] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:55.628] } [18:02:55.628] else { [18:02:55.628] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:55.628] } [18:02:55.628] { [18:02:55.628] if (base::length(...future.futureOptionsAdded) > [18:02:55.628] 0L) { [18:02:55.628] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:55.628] base::names(opts) <- ...future.futureOptionsAdded [18:02:55.628] base::options(opts) [18:02:55.628] } [18:02:55.628] { [18:02:55.628] { [18:02:55.628] base::options(mc.cores = ...future.mc.cores.old) [18:02:55.628] NULL [18:02:55.628] } [18:02:55.628] options(future.plan = NULL) [18:02:55.628] if (is.na(NA_character_)) [18:02:55.628] Sys.unsetenv("R_FUTURE_PLAN") [18:02:55.628] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:55.628] future::plan(list(function (..., workers = availableCores(), [18:02:55.628] lazy = FALSE, rscript_libs = .libPaths(), [18:02:55.628] envir = parent.frame()) [18:02:55.628] { [18:02:55.628] if (is.function(workers)) [18:02:55.628] workers <- workers() [18:02:55.628] workers <- structure(as.integer(workers), [18:02:55.628] class = class(workers)) [18:02:55.628] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:55.628] workers >= 1) [18:02:55.628] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:55.628] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:55.628] } [18:02:55.628] future <- MultisessionFuture(..., workers = workers, [18:02:55.628] lazy = lazy, rscript_libs = rscript_libs, [18:02:55.628] envir = envir) [18:02:55.628] if (!future$lazy) [18:02:55.628] future <- run(future) [18:02:55.628] invisible(future) [18:02:55.628] }), .cleanup = FALSE, .init = FALSE) [18:02:55.628] } [18:02:55.628] } [18:02:55.628] } [18:02:55.628] }) [18:02:55.628] if (TRUE) { [18:02:55.628] base::sink(type = "output", split = FALSE) [18:02:55.628] if (TRUE) { [18:02:55.628] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:55.628] } [18:02:55.628] else { [18:02:55.628] ...future.result["stdout"] <- base::list(NULL) [18:02:55.628] } [18:02:55.628] base::close(...future.stdout) [18:02:55.628] ...future.stdout <- NULL [18:02:55.628] } [18:02:55.628] ...future.result$conditions <- ...future.conditions [18:02:55.628] ...future.result$finished <- base::Sys.time() [18:02:55.628] ...future.result [18:02:55.628] } [18:02:55.634] MultisessionFuture started [18:02:55.634] - Launch lazy future ... done [18:02:55.634] run() for 'MultisessionFuture' ... done [18:02:55.634] getGlobalsAndPackages() ... [18:02:55.635] Searching for globals... [18:02:55.636] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:55.636] Searching for globals ... DONE [18:02:55.636] Resolving globals: FALSE [18:02:55.637] [18:02:55.637] [18:02:55.637] getGlobalsAndPackages() ... DONE - w/ exception ... [18:02:55.637] getGlobalsAndPackages() ... [18:02:55.638] Searching for globals... [18:02:55.638] - globals found: [2] 'list', 'stop' [18:02:55.639] Searching for globals ... DONE [18:02:55.639] Resolving globals: FALSE [18:02:55.639] [18:02:55.639] [18:02:55.639] getGlobalsAndPackages() ... DONE [18:02:55.640] run() for 'Future' ... [18:02:55.640] - state: 'created' [18:02:55.640] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:55.655] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:55.655] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:55.656] - Field: 'node' [18:02:55.656] - Field: 'label' [18:02:55.656] - Field: 'local' [18:02:55.656] - Field: 'owner' [18:02:55.656] - Field: 'envir' [18:02:55.657] - Field: 'workers' [18:02:55.657] - Field: 'packages' [18:02:55.657] - Field: 'gc' [18:02:55.657] - Field: 'conditions' [18:02:55.657] - Field: 'persistent' [18:02:55.658] - Field: 'expr' [18:02:55.658] - Field: 'uuid' [18:02:55.658] - Field: 'seed' [18:02:55.658] - Field: 'version' [18:02:55.658] - Field: 'result' [18:02:55.659] - Field: 'asynchronous' [18:02:55.659] - Field: 'calls' [18:02:55.659] - Field: 'globals' [18:02:55.659] - Field: 'stdout' [18:02:55.659] - Field: 'earlySignal' [18:02:55.659] - Field: 'lazy' [18:02:55.660] - Field: 'state' [18:02:55.660] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:55.660] - Launch lazy future ... [18:02:55.660] Packages needed by the future expression (n = 0): [18:02:55.661] Packages needed by future strategies (n = 0): [18:02:55.661] { [18:02:55.661] { [18:02:55.661] { [18:02:55.661] ...future.startTime <- base::Sys.time() [18:02:55.661] { [18:02:55.661] { [18:02:55.661] { [18:02:55.661] { [18:02:55.661] base::local({ [18:02:55.661] has_future <- base::requireNamespace("future", [18:02:55.661] quietly = TRUE) [18:02:55.661] if (has_future) { [18:02:55.661] ns <- base::getNamespace("future") [18:02:55.661] version <- ns[[".package"]][["version"]] [18:02:55.661] if (is.null(version)) [18:02:55.661] version <- utils::packageVersion("future") [18:02:55.661] } [18:02:55.661] else { [18:02:55.661] version <- NULL [18:02:55.661] } [18:02:55.661] if (!has_future || version < "1.8.0") { [18:02:55.661] info <- base::c(r_version = base::gsub("R version ", [18:02:55.661] "", base::R.version$version.string), [18:02:55.661] platform = base::sprintf("%s (%s-bit)", [18:02:55.661] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:55.661] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:55.661] "release", "version")], collapse = " "), [18:02:55.661] hostname = base::Sys.info()[["nodename"]]) [18:02:55.661] info <- base::sprintf("%s: %s", base::names(info), [18:02:55.661] info) [18:02:55.661] info <- base::paste(info, collapse = "; ") [18:02:55.661] if (!has_future) { [18:02:55.661] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:55.661] info) [18:02:55.661] } [18:02:55.661] else { [18:02:55.661] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:55.661] info, version) [18:02:55.661] } [18:02:55.661] base::stop(msg) [18:02:55.661] } [18:02:55.661] }) [18:02:55.661] } [18:02:55.661] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:55.661] base::options(mc.cores = 1L) [18:02:55.661] } [18:02:55.661] options(future.plan = NULL) [18:02:55.661] Sys.unsetenv("R_FUTURE_PLAN") [18:02:55.661] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:55.661] } [18:02:55.661] ...future.workdir <- getwd() [18:02:55.661] } [18:02:55.661] ...future.oldOptions <- base::as.list(base::.Options) [18:02:55.661] ...future.oldEnvVars <- base::Sys.getenv() [18:02:55.661] } [18:02:55.661] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:55.661] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:55.661] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:55.661] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:55.661] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:55.661] future.stdout.windows.reencode = NULL, width = 80L) [18:02:55.661] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:55.661] base::names(...future.oldOptions)) [18:02:55.661] } [18:02:55.661] if (FALSE) { [18:02:55.661] } [18:02:55.661] else { [18:02:55.661] if (TRUE) { [18:02:55.661] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:55.661] open = "w") [18:02:55.661] } [18:02:55.661] else { [18:02:55.661] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:55.661] windows = "NUL", "/dev/null"), open = "w") [18:02:55.661] } [18:02:55.661] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:55.661] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:55.661] base::sink(type = "output", split = FALSE) [18:02:55.661] base::close(...future.stdout) [18:02:55.661] }, add = TRUE) [18:02:55.661] } [18:02:55.661] ...future.frame <- base::sys.nframe() [18:02:55.661] ...future.conditions <- base::list() [18:02:55.661] ...future.rng <- base::globalenv()$.Random.seed [18:02:55.661] if (FALSE) { [18:02:55.661] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:55.661] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:55.661] } [18:02:55.661] ...future.result <- base::tryCatch({ [18:02:55.661] base::withCallingHandlers({ [18:02:55.661] ...future.value <- base::withVisible(base::local({ [18:02:55.661] ...future.makeSendCondition <- local({ [18:02:55.661] sendCondition <- NULL [18:02:55.661] function(frame = 1L) { [18:02:55.661] if (is.function(sendCondition)) [18:02:55.661] return(sendCondition) [18:02:55.661] ns <- getNamespace("parallel") [18:02:55.661] if (exists("sendData", mode = "function", [18:02:55.661] envir = ns)) { [18:02:55.661] parallel_sendData <- get("sendData", mode = "function", [18:02:55.661] envir = ns) [18:02:55.661] envir <- sys.frame(frame) [18:02:55.661] master <- NULL [18:02:55.661] while (!identical(envir, .GlobalEnv) && [18:02:55.661] !identical(envir, emptyenv())) { [18:02:55.661] if (exists("master", mode = "list", envir = envir, [18:02:55.661] inherits = FALSE)) { [18:02:55.661] master <- get("master", mode = "list", [18:02:55.661] envir = envir, inherits = FALSE) [18:02:55.661] if (inherits(master, c("SOCKnode", [18:02:55.661] "SOCK0node"))) { [18:02:55.661] sendCondition <<- function(cond) { [18:02:55.661] data <- list(type = "VALUE", value = cond, [18:02:55.661] success = TRUE) [18:02:55.661] parallel_sendData(master, data) [18:02:55.661] } [18:02:55.661] return(sendCondition) [18:02:55.661] } [18:02:55.661] } [18:02:55.661] frame <- frame + 1L [18:02:55.661] envir <- sys.frame(frame) [18:02:55.661] } [18:02:55.661] } [18:02:55.661] sendCondition <<- function(cond) NULL [18:02:55.661] } [18:02:55.661] }) [18:02:55.661] withCallingHandlers({ [18:02:55.661] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:55.661] }, immediateCondition = function(cond) { [18:02:55.661] sendCondition <- ...future.makeSendCondition() [18:02:55.661] sendCondition(cond) [18:02:55.661] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.661] { [18:02:55.661] inherits <- base::inherits [18:02:55.661] invokeRestart <- base::invokeRestart [18:02:55.661] is.null <- base::is.null [18:02:55.661] muffled <- FALSE [18:02:55.661] if (inherits(cond, "message")) { [18:02:55.661] muffled <- grepl(pattern, "muffleMessage") [18:02:55.661] if (muffled) [18:02:55.661] invokeRestart("muffleMessage") [18:02:55.661] } [18:02:55.661] else if (inherits(cond, "warning")) { [18:02:55.661] muffled <- grepl(pattern, "muffleWarning") [18:02:55.661] if (muffled) [18:02:55.661] invokeRestart("muffleWarning") [18:02:55.661] } [18:02:55.661] else if (inherits(cond, "condition")) { [18:02:55.661] if (!is.null(pattern)) { [18:02:55.661] computeRestarts <- base::computeRestarts [18:02:55.661] grepl <- base::grepl [18:02:55.661] restarts <- computeRestarts(cond) [18:02:55.661] for (restart in restarts) { [18:02:55.661] name <- restart$name [18:02:55.661] if (is.null(name)) [18:02:55.661] next [18:02:55.661] if (!grepl(pattern, name)) [18:02:55.661] next [18:02:55.661] invokeRestart(restart) [18:02:55.661] muffled <- TRUE [18:02:55.661] break [18:02:55.661] } [18:02:55.661] } [18:02:55.661] } [18:02:55.661] invisible(muffled) [18:02:55.661] } [18:02:55.661] muffleCondition(cond) [18:02:55.661] }) [18:02:55.661] })) [18:02:55.661] future::FutureResult(value = ...future.value$value, [18:02:55.661] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:55.661] ...future.rng), globalenv = if (FALSE) [18:02:55.661] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:55.661] ...future.globalenv.names)) [18:02:55.661] else NULL, started = ...future.startTime, version = "1.8") [18:02:55.661] }, condition = base::local({ [18:02:55.661] c <- base::c [18:02:55.661] inherits <- base::inherits [18:02:55.661] invokeRestart <- base::invokeRestart [18:02:55.661] length <- base::length [18:02:55.661] list <- base::list [18:02:55.661] seq.int <- base::seq.int [18:02:55.661] signalCondition <- base::signalCondition [18:02:55.661] sys.calls <- base::sys.calls [18:02:55.661] `[[` <- base::`[[` [18:02:55.661] `+` <- base::`+` [18:02:55.661] `<<-` <- base::`<<-` [18:02:55.661] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:55.661] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:55.661] 3L)] [18:02:55.661] } [18:02:55.661] function(cond) { [18:02:55.661] is_error <- inherits(cond, "error") [18:02:55.661] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:55.661] NULL) [18:02:55.661] if (is_error) { [18:02:55.661] sessionInformation <- function() { [18:02:55.661] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:55.661] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:55.661] search = base::search(), system = base::Sys.info()) [18:02:55.661] } [18:02:55.661] ...future.conditions[[length(...future.conditions) + [18:02:55.661] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:55.661] cond$call), session = sessionInformation(), [18:02:55.661] timestamp = base::Sys.time(), signaled = 0L) [18:02:55.661] signalCondition(cond) [18:02:55.661] } [18:02:55.661] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:55.661] "immediateCondition"))) { [18:02:55.661] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:55.661] ...future.conditions[[length(...future.conditions) + [18:02:55.661] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:55.661] if (TRUE && !signal) { [18:02:55.661] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.661] { [18:02:55.661] inherits <- base::inherits [18:02:55.661] invokeRestart <- base::invokeRestart [18:02:55.661] is.null <- base::is.null [18:02:55.661] muffled <- FALSE [18:02:55.661] if (inherits(cond, "message")) { [18:02:55.661] muffled <- grepl(pattern, "muffleMessage") [18:02:55.661] if (muffled) [18:02:55.661] invokeRestart("muffleMessage") [18:02:55.661] } [18:02:55.661] else if (inherits(cond, "warning")) { [18:02:55.661] muffled <- grepl(pattern, "muffleWarning") [18:02:55.661] if (muffled) [18:02:55.661] invokeRestart("muffleWarning") [18:02:55.661] } [18:02:55.661] else if (inherits(cond, "condition")) { [18:02:55.661] if (!is.null(pattern)) { [18:02:55.661] computeRestarts <- base::computeRestarts [18:02:55.661] grepl <- base::grepl [18:02:55.661] restarts <- computeRestarts(cond) [18:02:55.661] for (restart in restarts) { [18:02:55.661] name <- restart$name [18:02:55.661] if (is.null(name)) [18:02:55.661] next [18:02:55.661] if (!grepl(pattern, name)) [18:02:55.661] next [18:02:55.661] invokeRestart(restart) [18:02:55.661] muffled <- TRUE [18:02:55.661] break [18:02:55.661] } [18:02:55.661] } [18:02:55.661] } [18:02:55.661] invisible(muffled) [18:02:55.661] } [18:02:55.661] muffleCondition(cond, pattern = "^muffle") [18:02:55.661] } [18:02:55.661] } [18:02:55.661] else { [18:02:55.661] if (TRUE) { [18:02:55.661] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.661] { [18:02:55.661] inherits <- base::inherits [18:02:55.661] invokeRestart <- base::invokeRestart [18:02:55.661] is.null <- base::is.null [18:02:55.661] muffled <- FALSE [18:02:55.661] if (inherits(cond, "message")) { [18:02:55.661] muffled <- grepl(pattern, "muffleMessage") [18:02:55.661] if (muffled) [18:02:55.661] invokeRestart("muffleMessage") [18:02:55.661] } [18:02:55.661] else if (inherits(cond, "warning")) { [18:02:55.661] muffled <- grepl(pattern, "muffleWarning") [18:02:55.661] if (muffled) [18:02:55.661] invokeRestart("muffleWarning") [18:02:55.661] } [18:02:55.661] else if (inherits(cond, "condition")) { [18:02:55.661] if (!is.null(pattern)) { [18:02:55.661] computeRestarts <- base::computeRestarts [18:02:55.661] grepl <- base::grepl [18:02:55.661] restarts <- computeRestarts(cond) [18:02:55.661] for (restart in restarts) { [18:02:55.661] name <- restart$name [18:02:55.661] if (is.null(name)) [18:02:55.661] next [18:02:55.661] if (!grepl(pattern, name)) [18:02:55.661] next [18:02:55.661] invokeRestart(restart) [18:02:55.661] muffled <- TRUE [18:02:55.661] break [18:02:55.661] } [18:02:55.661] } [18:02:55.661] } [18:02:55.661] invisible(muffled) [18:02:55.661] } [18:02:55.661] muffleCondition(cond, pattern = "^muffle") [18:02:55.661] } [18:02:55.661] } [18:02:55.661] } [18:02:55.661] })) [18:02:55.661] }, error = function(ex) { [18:02:55.661] base::structure(base::list(value = NULL, visible = NULL, [18:02:55.661] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:55.661] ...future.rng), started = ...future.startTime, [18:02:55.661] finished = Sys.time(), session_uuid = NA_character_, [18:02:55.661] version = "1.8"), class = "FutureResult") [18:02:55.661] }, finally = { [18:02:55.661] if (!identical(...future.workdir, getwd())) [18:02:55.661] setwd(...future.workdir) [18:02:55.661] { [18:02:55.661] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:55.661] ...future.oldOptions$nwarnings <- NULL [18:02:55.661] } [18:02:55.661] base::options(...future.oldOptions) [18:02:55.661] if (.Platform$OS.type == "windows") { [18:02:55.661] old_names <- names(...future.oldEnvVars) [18:02:55.661] envs <- base::Sys.getenv() [18:02:55.661] names <- names(envs) [18:02:55.661] common <- intersect(names, old_names) [18:02:55.661] added <- setdiff(names, old_names) [18:02:55.661] removed <- setdiff(old_names, names) [18:02:55.661] changed <- common[...future.oldEnvVars[common] != [18:02:55.661] envs[common]] [18:02:55.661] NAMES <- toupper(changed) [18:02:55.661] args <- list() [18:02:55.661] for (kk in seq_along(NAMES)) { [18:02:55.661] name <- changed[[kk]] [18:02:55.661] NAME <- NAMES[[kk]] [18:02:55.661] if (name != NAME && is.element(NAME, old_names)) [18:02:55.661] next [18:02:55.661] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:55.661] } [18:02:55.661] NAMES <- toupper(added) [18:02:55.661] for (kk in seq_along(NAMES)) { [18:02:55.661] name <- added[[kk]] [18:02:55.661] NAME <- NAMES[[kk]] [18:02:55.661] if (name != NAME && is.element(NAME, old_names)) [18:02:55.661] next [18:02:55.661] args[[name]] <- "" [18:02:55.661] } [18:02:55.661] NAMES <- toupper(removed) [18:02:55.661] for (kk in seq_along(NAMES)) { [18:02:55.661] name <- removed[[kk]] [18:02:55.661] NAME <- NAMES[[kk]] [18:02:55.661] if (name != NAME && is.element(NAME, old_names)) [18:02:55.661] next [18:02:55.661] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:55.661] } [18:02:55.661] if (length(args) > 0) [18:02:55.661] base::do.call(base::Sys.setenv, args = args) [18:02:55.661] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:55.661] } [18:02:55.661] else { [18:02:55.661] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:55.661] } [18:02:55.661] { [18:02:55.661] if (base::length(...future.futureOptionsAdded) > [18:02:55.661] 0L) { [18:02:55.661] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:55.661] base::names(opts) <- ...future.futureOptionsAdded [18:02:55.661] base::options(opts) [18:02:55.661] } [18:02:55.661] { [18:02:55.661] { [18:02:55.661] base::options(mc.cores = ...future.mc.cores.old) [18:02:55.661] NULL [18:02:55.661] } [18:02:55.661] options(future.plan = NULL) [18:02:55.661] if (is.na(NA_character_)) [18:02:55.661] Sys.unsetenv("R_FUTURE_PLAN") [18:02:55.661] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:55.661] future::plan(list(function (..., workers = availableCores(), [18:02:55.661] lazy = FALSE, rscript_libs = .libPaths(), [18:02:55.661] envir = parent.frame()) [18:02:55.661] { [18:02:55.661] if (is.function(workers)) [18:02:55.661] workers <- workers() [18:02:55.661] workers <- structure(as.integer(workers), [18:02:55.661] class = class(workers)) [18:02:55.661] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:55.661] workers >= 1) [18:02:55.661] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:55.661] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:55.661] } [18:02:55.661] future <- MultisessionFuture(..., workers = workers, [18:02:55.661] lazy = lazy, rscript_libs = rscript_libs, [18:02:55.661] envir = envir) [18:02:55.661] if (!future$lazy) [18:02:55.661] future <- run(future) [18:02:55.661] invisible(future) [18:02:55.661] }), .cleanup = FALSE, .init = FALSE) [18:02:55.661] } [18:02:55.661] } [18:02:55.661] } [18:02:55.661] }) [18:02:55.661] if (TRUE) { [18:02:55.661] base::sink(type = "output", split = FALSE) [18:02:55.661] if (TRUE) { [18:02:55.661] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:55.661] } [18:02:55.661] else { [18:02:55.661] ...future.result["stdout"] <- base::list(NULL) [18:02:55.661] } [18:02:55.661] base::close(...future.stdout) [18:02:55.661] ...future.stdout <- NULL [18:02:55.661] } [18:02:55.661] ...future.result$conditions <- ...future.conditions [18:02:55.661] ...future.result$finished <- base::Sys.time() [18:02:55.661] ...future.result [18:02:55.661] } [18:02:55.666] Poll #1 (0): usedNodes() = 2, workers = 2 [18:02:55.698] receiveMessageFromWorker() for ClusterFuture ... [18:02:55.698] - Validating connection of MultisessionFuture [18:02:55.699] - received message: FutureResult [18:02:55.699] - Received FutureResult [18:02:55.699] - Erased future from FutureRegistry [18:02:55.699] result() for ClusterFuture ... [18:02:55.699] - result already collected: FutureResult [18:02:55.699] result() for ClusterFuture ... done [18:02:55.700] receiveMessageFromWorker() for ClusterFuture ... done [18:02:55.700] result() for ClusterFuture ... [18:02:55.700] - result already collected: FutureResult [18:02:55.700] result() for ClusterFuture ... done [18:02:55.700] result() for ClusterFuture ... [18:02:55.700] - result already collected: FutureResult [18:02:55.701] result() for ClusterFuture ... done [18:02:55.702] MultisessionFuture started [18:02:55.702] - Launch lazy future ... done [18:02:55.702] run() for 'MultisessionFuture' ... done [18:02:55.703] getGlobalsAndPackages() ... [18:02:55.703] Searching for globals... [18:02:55.704] - globals found: [2] 'list', 'stop' [18:02:55.704] Searching for globals ... DONE [18:02:55.704] Resolving globals: FALSE [18:02:55.705] [18:02:55.705] [18:02:55.705] getGlobalsAndPackages() ... DONE - result = TRUE, recursive = -1 ... DONE - result = TRUE, recursive = 0 ... [18:02:55.705] getGlobalsAndPackages() ... [18:02:55.706] Searching for globals... [18:02:55.707] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:55.707] Searching for globals ... DONE [18:02:55.707] Resolving globals: FALSE [18:02:55.708] [18:02:55.708] [18:02:55.708] getGlobalsAndPackages() ... DONE [18:02:55.708] run() for 'Future' ... [18:02:55.709] - state: 'created' [18:02:55.709] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:55.722] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:55.723] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:55.723] - Field: 'node' [18:02:55.723] - Field: 'label' [18:02:55.723] - Field: 'local' [18:02:55.723] - Field: 'owner' [18:02:55.723] - Field: 'envir' [18:02:55.724] - Field: 'workers' [18:02:55.724] - Field: 'packages' [18:02:55.724] - Field: 'gc' [18:02:55.724] - Field: 'conditions' [18:02:55.724] - Field: 'persistent' [18:02:55.725] - Field: 'expr' [18:02:55.725] - Field: 'uuid' [18:02:55.725] - Field: 'seed' [18:02:55.725] - Field: 'version' [18:02:55.725] - Field: 'result' [18:02:55.725] - Field: 'asynchronous' [18:02:55.726] - Field: 'calls' [18:02:55.726] - Field: 'globals' [18:02:55.726] - Field: 'stdout' [18:02:55.726] - Field: 'earlySignal' [18:02:55.726] - Field: 'lazy' [18:02:55.727] - Field: 'state' [18:02:55.727] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:55.727] - Launch lazy future ... [18:02:55.727] Packages needed by the future expression (n = 0): [18:02:55.727] Packages needed by future strategies (n = 0): [18:02:55.728] { [18:02:55.728] { [18:02:55.728] { [18:02:55.728] ...future.startTime <- base::Sys.time() [18:02:55.728] { [18:02:55.728] { [18:02:55.728] { [18:02:55.728] { [18:02:55.728] base::local({ [18:02:55.728] has_future <- base::requireNamespace("future", [18:02:55.728] quietly = TRUE) [18:02:55.728] if (has_future) { [18:02:55.728] ns <- base::getNamespace("future") [18:02:55.728] version <- ns[[".package"]][["version"]] [18:02:55.728] if (is.null(version)) [18:02:55.728] version <- utils::packageVersion("future") [18:02:55.728] } [18:02:55.728] else { [18:02:55.728] version <- NULL [18:02:55.728] } [18:02:55.728] if (!has_future || version < "1.8.0") { [18:02:55.728] info <- base::c(r_version = base::gsub("R version ", [18:02:55.728] "", base::R.version$version.string), [18:02:55.728] platform = base::sprintf("%s (%s-bit)", [18:02:55.728] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:55.728] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:55.728] "release", "version")], collapse = " "), [18:02:55.728] hostname = base::Sys.info()[["nodename"]]) [18:02:55.728] info <- base::sprintf("%s: %s", base::names(info), [18:02:55.728] info) [18:02:55.728] info <- base::paste(info, collapse = "; ") [18:02:55.728] if (!has_future) { [18:02:55.728] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:55.728] info) [18:02:55.728] } [18:02:55.728] else { [18:02:55.728] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:55.728] info, version) [18:02:55.728] } [18:02:55.728] base::stop(msg) [18:02:55.728] } [18:02:55.728] }) [18:02:55.728] } [18:02:55.728] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:55.728] base::options(mc.cores = 1L) [18:02:55.728] } [18:02:55.728] options(future.plan = NULL) [18:02:55.728] Sys.unsetenv("R_FUTURE_PLAN") [18:02:55.728] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:55.728] } [18:02:55.728] ...future.workdir <- getwd() [18:02:55.728] } [18:02:55.728] ...future.oldOptions <- base::as.list(base::.Options) [18:02:55.728] ...future.oldEnvVars <- base::Sys.getenv() [18:02:55.728] } [18:02:55.728] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:55.728] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:55.728] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:55.728] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:55.728] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:55.728] future.stdout.windows.reencode = NULL, width = 80L) [18:02:55.728] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:55.728] base::names(...future.oldOptions)) [18:02:55.728] } [18:02:55.728] if (FALSE) { [18:02:55.728] } [18:02:55.728] else { [18:02:55.728] if (TRUE) { [18:02:55.728] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:55.728] open = "w") [18:02:55.728] } [18:02:55.728] else { [18:02:55.728] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:55.728] windows = "NUL", "/dev/null"), open = "w") [18:02:55.728] } [18:02:55.728] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:55.728] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:55.728] base::sink(type = "output", split = FALSE) [18:02:55.728] base::close(...future.stdout) [18:02:55.728] }, add = TRUE) [18:02:55.728] } [18:02:55.728] ...future.frame <- base::sys.nframe() [18:02:55.728] ...future.conditions <- base::list() [18:02:55.728] ...future.rng <- base::globalenv()$.Random.seed [18:02:55.728] if (FALSE) { [18:02:55.728] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:55.728] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:55.728] } [18:02:55.728] ...future.result <- base::tryCatch({ [18:02:55.728] base::withCallingHandlers({ [18:02:55.728] ...future.value <- base::withVisible(base::local({ [18:02:55.728] ...future.makeSendCondition <- local({ [18:02:55.728] sendCondition <- NULL [18:02:55.728] function(frame = 1L) { [18:02:55.728] if (is.function(sendCondition)) [18:02:55.728] return(sendCondition) [18:02:55.728] ns <- getNamespace("parallel") [18:02:55.728] if (exists("sendData", mode = "function", [18:02:55.728] envir = ns)) { [18:02:55.728] parallel_sendData <- get("sendData", mode = "function", [18:02:55.728] envir = ns) [18:02:55.728] envir <- sys.frame(frame) [18:02:55.728] master <- NULL [18:02:55.728] while (!identical(envir, .GlobalEnv) && [18:02:55.728] !identical(envir, emptyenv())) { [18:02:55.728] if (exists("master", mode = "list", envir = envir, [18:02:55.728] inherits = FALSE)) { [18:02:55.728] master <- get("master", mode = "list", [18:02:55.728] envir = envir, inherits = FALSE) [18:02:55.728] if (inherits(master, c("SOCKnode", [18:02:55.728] "SOCK0node"))) { [18:02:55.728] sendCondition <<- function(cond) { [18:02:55.728] data <- list(type = "VALUE", value = cond, [18:02:55.728] success = TRUE) [18:02:55.728] parallel_sendData(master, data) [18:02:55.728] } [18:02:55.728] return(sendCondition) [18:02:55.728] } [18:02:55.728] } [18:02:55.728] frame <- frame + 1L [18:02:55.728] envir <- sys.frame(frame) [18:02:55.728] } [18:02:55.728] } [18:02:55.728] sendCondition <<- function(cond) NULL [18:02:55.728] } [18:02:55.728] }) [18:02:55.728] withCallingHandlers({ [18:02:55.728] { [18:02:55.728] Sys.sleep(0.5) [18:02:55.728] list(a = 1, b = 42L) [18:02:55.728] } [18:02:55.728] }, immediateCondition = function(cond) { [18:02:55.728] sendCondition <- ...future.makeSendCondition() [18:02:55.728] sendCondition(cond) [18:02:55.728] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.728] { [18:02:55.728] inherits <- base::inherits [18:02:55.728] invokeRestart <- base::invokeRestart [18:02:55.728] is.null <- base::is.null [18:02:55.728] muffled <- FALSE [18:02:55.728] if (inherits(cond, "message")) { [18:02:55.728] muffled <- grepl(pattern, "muffleMessage") [18:02:55.728] if (muffled) [18:02:55.728] invokeRestart("muffleMessage") [18:02:55.728] } [18:02:55.728] else if (inherits(cond, "warning")) { [18:02:55.728] muffled <- grepl(pattern, "muffleWarning") [18:02:55.728] if (muffled) [18:02:55.728] invokeRestart("muffleWarning") [18:02:55.728] } [18:02:55.728] else if (inherits(cond, "condition")) { [18:02:55.728] if (!is.null(pattern)) { [18:02:55.728] computeRestarts <- base::computeRestarts [18:02:55.728] grepl <- base::grepl [18:02:55.728] restarts <- computeRestarts(cond) [18:02:55.728] for (restart in restarts) { [18:02:55.728] name <- restart$name [18:02:55.728] if (is.null(name)) [18:02:55.728] next [18:02:55.728] if (!grepl(pattern, name)) [18:02:55.728] next [18:02:55.728] invokeRestart(restart) [18:02:55.728] muffled <- TRUE [18:02:55.728] break [18:02:55.728] } [18:02:55.728] } [18:02:55.728] } [18:02:55.728] invisible(muffled) [18:02:55.728] } [18:02:55.728] muffleCondition(cond) [18:02:55.728] }) [18:02:55.728] })) [18:02:55.728] future::FutureResult(value = ...future.value$value, [18:02:55.728] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:55.728] ...future.rng), globalenv = if (FALSE) [18:02:55.728] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:55.728] ...future.globalenv.names)) [18:02:55.728] else NULL, started = ...future.startTime, version = "1.8") [18:02:55.728] }, condition = base::local({ [18:02:55.728] c <- base::c [18:02:55.728] inherits <- base::inherits [18:02:55.728] invokeRestart <- base::invokeRestart [18:02:55.728] length <- base::length [18:02:55.728] list <- base::list [18:02:55.728] seq.int <- base::seq.int [18:02:55.728] signalCondition <- base::signalCondition [18:02:55.728] sys.calls <- base::sys.calls [18:02:55.728] `[[` <- base::`[[` [18:02:55.728] `+` <- base::`+` [18:02:55.728] `<<-` <- base::`<<-` [18:02:55.728] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:55.728] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:55.728] 3L)] [18:02:55.728] } [18:02:55.728] function(cond) { [18:02:55.728] is_error <- inherits(cond, "error") [18:02:55.728] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:55.728] NULL) [18:02:55.728] if (is_error) { [18:02:55.728] sessionInformation <- function() { [18:02:55.728] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:55.728] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:55.728] search = base::search(), system = base::Sys.info()) [18:02:55.728] } [18:02:55.728] ...future.conditions[[length(...future.conditions) + [18:02:55.728] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:55.728] cond$call), session = sessionInformation(), [18:02:55.728] timestamp = base::Sys.time(), signaled = 0L) [18:02:55.728] signalCondition(cond) [18:02:55.728] } [18:02:55.728] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:55.728] "immediateCondition"))) { [18:02:55.728] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:55.728] ...future.conditions[[length(...future.conditions) + [18:02:55.728] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:55.728] if (TRUE && !signal) { [18:02:55.728] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.728] { [18:02:55.728] inherits <- base::inherits [18:02:55.728] invokeRestart <- base::invokeRestart [18:02:55.728] is.null <- base::is.null [18:02:55.728] muffled <- FALSE [18:02:55.728] if (inherits(cond, "message")) { [18:02:55.728] muffled <- grepl(pattern, "muffleMessage") [18:02:55.728] if (muffled) [18:02:55.728] invokeRestart("muffleMessage") [18:02:55.728] } [18:02:55.728] else if (inherits(cond, "warning")) { [18:02:55.728] muffled <- grepl(pattern, "muffleWarning") [18:02:55.728] if (muffled) [18:02:55.728] invokeRestart("muffleWarning") [18:02:55.728] } [18:02:55.728] else if (inherits(cond, "condition")) { [18:02:55.728] if (!is.null(pattern)) { [18:02:55.728] computeRestarts <- base::computeRestarts [18:02:55.728] grepl <- base::grepl [18:02:55.728] restarts <- computeRestarts(cond) [18:02:55.728] for (restart in restarts) { [18:02:55.728] name <- restart$name [18:02:55.728] if (is.null(name)) [18:02:55.728] next [18:02:55.728] if (!grepl(pattern, name)) [18:02:55.728] next [18:02:55.728] invokeRestart(restart) [18:02:55.728] muffled <- TRUE [18:02:55.728] break [18:02:55.728] } [18:02:55.728] } [18:02:55.728] } [18:02:55.728] invisible(muffled) [18:02:55.728] } [18:02:55.728] muffleCondition(cond, pattern = "^muffle") [18:02:55.728] } [18:02:55.728] } [18:02:55.728] else { [18:02:55.728] if (TRUE) { [18:02:55.728] muffleCondition <- function (cond, pattern = "^muffle") [18:02:55.728] { [18:02:55.728] inherits <- base::inherits [18:02:55.728] invokeRestart <- base::invokeRestart [18:02:55.728] is.null <- base::is.null [18:02:55.728] muffled <- FALSE [18:02:55.728] if (inherits(cond, "message")) { [18:02:55.728] muffled <- grepl(pattern, "muffleMessage") [18:02:55.728] if (muffled) [18:02:55.728] invokeRestart("muffleMessage") [18:02:55.728] } [18:02:55.728] else if (inherits(cond, "warning")) { [18:02:55.728] muffled <- grepl(pattern, "muffleWarning") [18:02:55.728] if (muffled) [18:02:55.728] invokeRestart("muffleWarning") [18:02:55.728] } [18:02:55.728] else if (inherits(cond, "condition")) { [18:02:55.728] if (!is.null(pattern)) { [18:02:55.728] computeRestarts <- base::computeRestarts [18:02:55.728] grepl <- base::grepl [18:02:55.728] restarts <- computeRestarts(cond) [18:02:55.728] for (restart in restarts) { [18:02:55.728] name <- restart$name [18:02:55.728] if (is.null(name)) [18:02:55.728] next [18:02:55.728] if (!grepl(pattern, name)) [18:02:55.728] next [18:02:55.728] invokeRestart(restart) [18:02:55.728] muffled <- TRUE [18:02:55.728] break [18:02:55.728] } [18:02:55.728] } [18:02:55.728] } [18:02:55.728] invisible(muffled) [18:02:55.728] } [18:02:55.728] muffleCondition(cond, pattern = "^muffle") [18:02:55.728] } [18:02:55.728] } [18:02:55.728] } [18:02:55.728] })) [18:02:55.728] }, error = function(ex) { [18:02:55.728] base::structure(base::list(value = NULL, visible = NULL, [18:02:55.728] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:55.728] ...future.rng), started = ...future.startTime, [18:02:55.728] finished = Sys.time(), session_uuid = NA_character_, [18:02:55.728] version = "1.8"), class = "FutureResult") [18:02:55.728] }, finally = { [18:02:55.728] if (!identical(...future.workdir, getwd())) [18:02:55.728] setwd(...future.workdir) [18:02:55.728] { [18:02:55.728] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:55.728] ...future.oldOptions$nwarnings <- NULL [18:02:55.728] } [18:02:55.728] base::options(...future.oldOptions) [18:02:55.728] if (.Platform$OS.type == "windows") { [18:02:55.728] old_names <- names(...future.oldEnvVars) [18:02:55.728] envs <- base::Sys.getenv() [18:02:55.728] names <- names(envs) [18:02:55.728] common <- intersect(names, old_names) [18:02:55.728] added <- setdiff(names, old_names) [18:02:55.728] removed <- setdiff(old_names, names) [18:02:55.728] changed <- common[...future.oldEnvVars[common] != [18:02:55.728] envs[common]] [18:02:55.728] NAMES <- toupper(changed) [18:02:55.728] args <- list() [18:02:55.728] for (kk in seq_along(NAMES)) { [18:02:55.728] name <- changed[[kk]] [18:02:55.728] NAME <- NAMES[[kk]] [18:02:55.728] if (name != NAME && is.element(NAME, old_names)) [18:02:55.728] next [18:02:55.728] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:55.728] } [18:02:55.728] NAMES <- toupper(added) [18:02:55.728] for (kk in seq_along(NAMES)) { [18:02:55.728] name <- added[[kk]] [18:02:55.728] NAME <- NAMES[[kk]] [18:02:55.728] if (name != NAME && is.element(NAME, old_names)) [18:02:55.728] next [18:02:55.728] args[[name]] <- "" [18:02:55.728] } [18:02:55.728] NAMES <- toupper(removed) [18:02:55.728] for (kk in seq_along(NAMES)) { [18:02:55.728] name <- removed[[kk]] [18:02:55.728] NAME <- NAMES[[kk]] [18:02:55.728] if (name != NAME && is.element(NAME, old_names)) [18:02:55.728] next [18:02:55.728] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:55.728] } [18:02:55.728] if (length(args) > 0) [18:02:55.728] base::do.call(base::Sys.setenv, args = args) [18:02:55.728] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:55.728] } [18:02:55.728] else { [18:02:55.728] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:55.728] } [18:02:55.728] { [18:02:55.728] if (base::length(...future.futureOptionsAdded) > [18:02:55.728] 0L) { [18:02:55.728] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:55.728] base::names(opts) <- ...future.futureOptionsAdded [18:02:55.728] base::options(opts) [18:02:55.728] } [18:02:55.728] { [18:02:55.728] { [18:02:55.728] base::options(mc.cores = ...future.mc.cores.old) [18:02:55.728] NULL [18:02:55.728] } [18:02:55.728] options(future.plan = NULL) [18:02:55.728] if (is.na(NA_character_)) [18:02:55.728] Sys.unsetenv("R_FUTURE_PLAN") [18:02:55.728] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:55.728] future::plan(list(function (..., workers = availableCores(), [18:02:55.728] lazy = FALSE, rscript_libs = .libPaths(), [18:02:55.728] envir = parent.frame()) [18:02:55.728] { [18:02:55.728] if (is.function(workers)) [18:02:55.728] workers <- workers() [18:02:55.728] workers <- structure(as.integer(workers), [18:02:55.728] class = class(workers)) [18:02:55.728] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:55.728] workers >= 1) [18:02:55.728] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:55.728] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:55.728] } [18:02:55.728] future <- MultisessionFuture(..., workers = workers, [18:02:55.728] lazy = lazy, rscript_libs = rscript_libs, [18:02:55.728] envir = envir) [18:02:55.728] if (!future$lazy) [18:02:55.728] future <- run(future) [18:02:55.728] invisible(future) [18:02:55.728] }), .cleanup = FALSE, .init = FALSE) [18:02:55.728] } [18:02:55.728] } [18:02:55.728] } [18:02:55.728] }) [18:02:55.728] if (TRUE) { [18:02:55.728] base::sink(type = "output", split = FALSE) [18:02:55.728] if (TRUE) { [18:02:55.728] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:55.728] } [18:02:55.728] else { [18:02:55.728] ...future.result["stdout"] <- base::list(NULL) [18:02:55.728] } [18:02:55.728] base::close(...future.stdout) [18:02:55.728] ...future.stdout <- NULL [18:02:55.728] } [18:02:55.728] ...future.result$conditions <- ...future.conditions [18:02:55.728] ...future.result$finished <- base::Sys.time() [18:02:55.728] ...future.result [18:02:55.728] } [18:02:55.733] Poll #1 (0): usedNodes() = 2, workers = 2 [18:02:55.954] receiveMessageFromWorker() for ClusterFuture ... [18:02:55.955] - Validating connection of MultisessionFuture [18:02:55.955] - received message: FutureResult [18:02:55.955] - Received FutureResult [18:02:55.956] - Erased future from FutureRegistry [18:02:55.956] result() for ClusterFuture ... [18:02:55.956] - result already collected: FutureResult [18:02:55.956] result() for ClusterFuture ... done [18:02:55.956] signalConditions() ... [18:02:55.956] - include = 'immediateCondition' [18:02:55.957] - exclude = [18:02:55.957] - resignal = FALSE [18:02:55.957] - Number of conditions: 1 [18:02:55.957] signalConditions() ... done [18:02:55.957] receiveMessageFromWorker() for ClusterFuture ... done [18:02:55.957] result() for ClusterFuture ... [18:02:55.958] - result already collected: FutureResult [18:02:55.958] result() for ClusterFuture ... done [18:02:55.958] result() for ClusterFuture ... [18:02:55.958] - result already collected: FutureResult [18:02:55.958] result() for ClusterFuture ... done [18:02:55.958] signalConditions() ... [18:02:55.958] - include = 'immediateCondition' [18:02:55.959] - exclude = [18:02:55.959] - resignal = FALSE [18:02:55.959] - Number of conditions: 1 [18:02:55.959] signalConditions() ... done [18:02:55.960] MultisessionFuture started [18:02:55.961] - Launch lazy future ... done [18:02:55.961] run() for 'MultisessionFuture' ... done [18:02:56.488] receiveMessageFromWorker() for ClusterFuture ... [18:02:56.488] - Validating connection of MultisessionFuture [18:02:56.488] - received message: FutureResult [18:02:56.489] - Received FutureResult [18:02:56.489] - Erased future from FutureRegistry [18:02:56.489] result() for ClusterFuture ... [18:02:56.489] - result already collected: FutureResult [18:02:56.489] result() for ClusterFuture ... done [18:02:56.489] receiveMessageFromWorker() for ClusterFuture ... done [18:02:56.490] A MultisessionFuture was resolved [18:02:56.490] getGlobalsAndPackages() ... [18:02:56.490] Searching for globals... [18:02:56.491] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:56.491] Searching for globals ... DONE [18:02:56.492] Resolving globals: FALSE [18:02:56.492] [18:02:56.492] [18:02:56.492] getGlobalsAndPackages() ... DONE [18:02:56.493] run() for 'Future' ... [18:02:56.493] - state: 'created' [18:02:56.493] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:56.507] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:56.507] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:56.508] - Field: 'node' [18:02:56.508] - Field: 'label' [18:02:56.508] - Field: 'local' [18:02:56.508] - Field: 'owner' [18:02:56.508] - Field: 'envir' [18:02:56.508] - Field: 'workers' [18:02:56.509] - Field: 'packages' [18:02:56.509] - Field: 'gc' [18:02:56.509] - Field: 'conditions' [18:02:56.509] - Field: 'persistent' [18:02:56.509] - Field: 'expr' [18:02:56.509] - Field: 'uuid' [18:02:56.510] - Field: 'seed' [18:02:56.510] - Field: 'version' [18:02:56.510] - Field: 'result' [18:02:56.510] - Field: 'asynchronous' [18:02:56.510] - Field: 'calls' [18:02:56.511] - Field: 'globals' [18:02:56.511] - Field: 'stdout' [18:02:56.511] - Field: 'earlySignal' [18:02:56.511] - Field: 'lazy' [18:02:56.511] - Field: 'state' [18:02:56.511] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:56.512] - Launch lazy future ... [18:02:56.512] Packages needed by the future expression (n = 0): [18:02:56.512] Packages needed by future strategies (n = 0): [18:02:56.513] { [18:02:56.513] { [18:02:56.513] { [18:02:56.513] ...future.startTime <- base::Sys.time() [18:02:56.513] { [18:02:56.513] { [18:02:56.513] { [18:02:56.513] { [18:02:56.513] base::local({ [18:02:56.513] has_future <- base::requireNamespace("future", [18:02:56.513] quietly = TRUE) [18:02:56.513] if (has_future) { [18:02:56.513] ns <- base::getNamespace("future") [18:02:56.513] version <- ns[[".package"]][["version"]] [18:02:56.513] if (is.null(version)) [18:02:56.513] version <- utils::packageVersion("future") [18:02:56.513] } [18:02:56.513] else { [18:02:56.513] version <- NULL [18:02:56.513] } [18:02:56.513] if (!has_future || version < "1.8.0") { [18:02:56.513] info <- base::c(r_version = base::gsub("R version ", [18:02:56.513] "", base::R.version$version.string), [18:02:56.513] platform = base::sprintf("%s (%s-bit)", [18:02:56.513] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:56.513] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:56.513] "release", "version")], collapse = " "), [18:02:56.513] hostname = base::Sys.info()[["nodename"]]) [18:02:56.513] info <- base::sprintf("%s: %s", base::names(info), [18:02:56.513] info) [18:02:56.513] info <- base::paste(info, collapse = "; ") [18:02:56.513] if (!has_future) { [18:02:56.513] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:56.513] info) [18:02:56.513] } [18:02:56.513] else { [18:02:56.513] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:56.513] info, version) [18:02:56.513] } [18:02:56.513] base::stop(msg) [18:02:56.513] } [18:02:56.513] }) [18:02:56.513] } [18:02:56.513] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:56.513] base::options(mc.cores = 1L) [18:02:56.513] } [18:02:56.513] options(future.plan = NULL) [18:02:56.513] Sys.unsetenv("R_FUTURE_PLAN") [18:02:56.513] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:56.513] } [18:02:56.513] ...future.workdir <- getwd() [18:02:56.513] } [18:02:56.513] ...future.oldOptions <- base::as.list(base::.Options) [18:02:56.513] ...future.oldEnvVars <- base::Sys.getenv() [18:02:56.513] } [18:02:56.513] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:56.513] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:56.513] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:56.513] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:56.513] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:56.513] future.stdout.windows.reencode = NULL, width = 80L) [18:02:56.513] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:56.513] base::names(...future.oldOptions)) [18:02:56.513] } [18:02:56.513] if (FALSE) { [18:02:56.513] } [18:02:56.513] else { [18:02:56.513] if (TRUE) { [18:02:56.513] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:56.513] open = "w") [18:02:56.513] } [18:02:56.513] else { [18:02:56.513] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:56.513] windows = "NUL", "/dev/null"), open = "w") [18:02:56.513] } [18:02:56.513] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:56.513] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:56.513] base::sink(type = "output", split = FALSE) [18:02:56.513] base::close(...future.stdout) [18:02:56.513] }, add = TRUE) [18:02:56.513] } [18:02:56.513] ...future.frame <- base::sys.nframe() [18:02:56.513] ...future.conditions <- base::list() [18:02:56.513] ...future.rng <- base::globalenv()$.Random.seed [18:02:56.513] if (FALSE) { [18:02:56.513] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:56.513] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:56.513] } [18:02:56.513] ...future.result <- base::tryCatch({ [18:02:56.513] base::withCallingHandlers({ [18:02:56.513] ...future.value <- base::withVisible(base::local({ [18:02:56.513] ...future.makeSendCondition <- local({ [18:02:56.513] sendCondition <- NULL [18:02:56.513] function(frame = 1L) { [18:02:56.513] if (is.function(sendCondition)) [18:02:56.513] return(sendCondition) [18:02:56.513] ns <- getNamespace("parallel") [18:02:56.513] if (exists("sendData", mode = "function", [18:02:56.513] envir = ns)) { [18:02:56.513] parallel_sendData <- get("sendData", mode = "function", [18:02:56.513] envir = ns) [18:02:56.513] envir <- sys.frame(frame) [18:02:56.513] master <- NULL [18:02:56.513] while (!identical(envir, .GlobalEnv) && [18:02:56.513] !identical(envir, emptyenv())) { [18:02:56.513] if (exists("master", mode = "list", envir = envir, [18:02:56.513] inherits = FALSE)) { [18:02:56.513] master <- get("master", mode = "list", [18:02:56.513] envir = envir, inherits = FALSE) [18:02:56.513] if (inherits(master, c("SOCKnode", [18:02:56.513] "SOCK0node"))) { [18:02:56.513] sendCondition <<- function(cond) { [18:02:56.513] data <- list(type = "VALUE", value = cond, [18:02:56.513] success = TRUE) [18:02:56.513] parallel_sendData(master, data) [18:02:56.513] } [18:02:56.513] return(sendCondition) [18:02:56.513] } [18:02:56.513] } [18:02:56.513] frame <- frame + 1L [18:02:56.513] envir <- sys.frame(frame) [18:02:56.513] } [18:02:56.513] } [18:02:56.513] sendCondition <<- function(cond) NULL [18:02:56.513] } [18:02:56.513] }) [18:02:56.513] withCallingHandlers({ [18:02:56.513] { [18:02:56.513] Sys.sleep(0.5) [18:02:56.513] list(a = 1, b = 42L) [18:02:56.513] } [18:02:56.513] }, immediateCondition = function(cond) { [18:02:56.513] sendCondition <- ...future.makeSendCondition() [18:02:56.513] sendCondition(cond) [18:02:56.513] muffleCondition <- function (cond, pattern = "^muffle") [18:02:56.513] { [18:02:56.513] inherits <- base::inherits [18:02:56.513] invokeRestart <- base::invokeRestart [18:02:56.513] is.null <- base::is.null [18:02:56.513] muffled <- FALSE [18:02:56.513] if (inherits(cond, "message")) { [18:02:56.513] muffled <- grepl(pattern, "muffleMessage") [18:02:56.513] if (muffled) [18:02:56.513] invokeRestart("muffleMessage") [18:02:56.513] } [18:02:56.513] else if (inherits(cond, "warning")) { [18:02:56.513] muffled <- grepl(pattern, "muffleWarning") [18:02:56.513] if (muffled) [18:02:56.513] invokeRestart("muffleWarning") [18:02:56.513] } [18:02:56.513] else if (inherits(cond, "condition")) { [18:02:56.513] if (!is.null(pattern)) { [18:02:56.513] computeRestarts <- base::computeRestarts [18:02:56.513] grepl <- base::grepl [18:02:56.513] restarts <- computeRestarts(cond) [18:02:56.513] for (restart in restarts) { [18:02:56.513] name <- restart$name [18:02:56.513] if (is.null(name)) [18:02:56.513] next [18:02:56.513] if (!grepl(pattern, name)) [18:02:56.513] next [18:02:56.513] invokeRestart(restart) [18:02:56.513] muffled <- TRUE [18:02:56.513] break [18:02:56.513] } [18:02:56.513] } [18:02:56.513] } [18:02:56.513] invisible(muffled) [18:02:56.513] } [18:02:56.513] muffleCondition(cond) [18:02:56.513] }) [18:02:56.513] })) [18:02:56.513] future::FutureResult(value = ...future.value$value, [18:02:56.513] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:56.513] ...future.rng), globalenv = if (FALSE) [18:02:56.513] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:56.513] ...future.globalenv.names)) [18:02:56.513] else NULL, started = ...future.startTime, version = "1.8") [18:02:56.513] }, condition = base::local({ [18:02:56.513] c <- base::c [18:02:56.513] inherits <- base::inherits [18:02:56.513] invokeRestart <- base::invokeRestart [18:02:56.513] length <- base::length [18:02:56.513] list <- base::list [18:02:56.513] seq.int <- base::seq.int [18:02:56.513] signalCondition <- base::signalCondition [18:02:56.513] sys.calls <- base::sys.calls [18:02:56.513] `[[` <- base::`[[` [18:02:56.513] `+` <- base::`+` [18:02:56.513] `<<-` <- base::`<<-` [18:02:56.513] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:56.513] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:56.513] 3L)] [18:02:56.513] } [18:02:56.513] function(cond) { [18:02:56.513] is_error <- inherits(cond, "error") [18:02:56.513] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:56.513] NULL) [18:02:56.513] if (is_error) { [18:02:56.513] sessionInformation <- function() { [18:02:56.513] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:56.513] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:56.513] search = base::search(), system = base::Sys.info()) [18:02:56.513] } [18:02:56.513] ...future.conditions[[length(...future.conditions) + [18:02:56.513] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:56.513] cond$call), session = sessionInformation(), [18:02:56.513] timestamp = base::Sys.time(), signaled = 0L) [18:02:56.513] signalCondition(cond) [18:02:56.513] } [18:02:56.513] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:56.513] "immediateCondition"))) { [18:02:56.513] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:56.513] ...future.conditions[[length(...future.conditions) + [18:02:56.513] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:56.513] if (TRUE && !signal) { [18:02:56.513] muffleCondition <- function (cond, pattern = "^muffle") [18:02:56.513] { [18:02:56.513] inherits <- base::inherits [18:02:56.513] invokeRestart <- base::invokeRestart [18:02:56.513] is.null <- base::is.null [18:02:56.513] muffled <- FALSE [18:02:56.513] if (inherits(cond, "message")) { [18:02:56.513] muffled <- grepl(pattern, "muffleMessage") [18:02:56.513] if (muffled) [18:02:56.513] invokeRestart("muffleMessage") [18:02:56.513] } [18:02:56.513] else if (inherits(cond, "warning")) { [18:02:56.513] muffled <- grepl(pattern, "muffleWarning") [18:02:56.513] if (muffled) [18:02:56.513] invokeRestart("muffleWarning") [18:02:56.513] } [18:02:56.513] else if (inherits(cond, "condition")) { [18:02:56.513] if (!is.null(pattern)) { [18:02:56.513] computeRestarts <- base::computeRestarts [18:02:56.513] grepl <- base::grepl [18:02:56.513] restarts <- computeRestarts(cond) [18:02:56.513] for (restart in restarts) { [18:02:56.513] name <- restart$name [18:02:56.513] if (is.null(name)) [18:02:56.513] next [18:02:56.513] if (!grepl(pattern, name)) [18:02:56.513] next [18:02:56.513] invokeRestart(restart) [18:02:56.513] muffled <- TRUE [18:02:56.513] break [18:02:56.513] } [18:02:56.513] } [18:02:56.513] } [18:02:56.513] invisible(muffled) [18:02:56.513] } [18:02:56.513] muffleCondition(cond, pattern = "^muffle") [18:02:56.513] } [18:02:56.513] } [18:02:56.513] else { [18:02:56.513] if (TRUE) { [18:02:56.513] muffleCondition <- function (cond, pattern = "^muffle") [18:02:56.513] { [18:02:56.513] inherits <- base::inherits [18:02:56.513] invokeRestart <- base::invokeRestart [18:02:56.513] is.null <- base::is.null [18:02:56.513] muffled <- FALSE [18:02:56.513] if (inherits(cond, "message")) { [18:02:56.513] muffled <- grepl(pattern, "muffleMessage") [18:02:56.513] if (muffled) [18:02:56.513] invokeRestart("muffleMessage") [18:02:56.513] } [18:02:56.513] else if (inherits(cond, "warning")) { [18:02:56.513] muffled <- grepl(pattern, "muffleWarning") [18:02:56.513] if (muffled) [18:02:56.513] invokeRestart("muffleWarning") [18:02:56.513] } [18:02:56.513] else if (inherits(cond, "condition")) { [18:02:56.513] if (!is.null(pattern)) { [18:02:56.513] computeRestarts <- base::computeRestarts [18:02:56.513] grepl <- base::grepl [18:02:56.513] restarts <- computeRestarts(cond) [18:02:56.513] for (restart in restarts) { [18:02:56.513] name <- restart$name [18:02:56.513] if (is.null(name)) [18:02:56.513] next [18:02:56.513] if (!grepl(pattern, name)) [18:02:56.513] next [18:02:56.513] invokeRestart(restart) [18:02:56.513] muffled <- TRUE [18:02:56.513] break [18:02:56.513] } [18:02:56.513] } [18:02:56.513] } [18:02:56.513] invisible(muffled) [18:02:56.513] } [18:02:56.513] muffleCondition(cond, pattern = "^muffle") [18:02:56.513] } [18:02:56.513] } [18:02:56.513] } [18:02:56.513] })) [18:02:56.513] }, error = function(ex) { [18:02:56.513] base::structure(base::list(value = NULL, visible = NULL, [18:02:56.513] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:56.513] ...future.rng), started = ...future.startTime, [18:02:56.513] finished = Sys.time(), session_uuid = NA_character_, [18:02:56.513] version = "1.8"), class = "FutureResult") [18:02:56.513] }, finally = { [18:02:56.513] if (!identical(...future.workdir, getwd())) [18:02:56.513] setwd(...future.workdir) [18:02:56.513] { [18:02:56.513] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:56.513] ...future.oldOptions$nwarnings <- NULL [18:02:56.513] } [18:02:56.513] base::options(...future.oldOptions) [18:02:56.513] if (.Platform$OS.type == "windows") { [18:02:56.513] old_names <- names(...future.oldEnvVars) [18:02:56.513] envs <- base::Sys.getenv() [18:02:56.513] names <- names(envs) [18:02:56.513] common <- intersect(names, old_names) [18:02:56.513] added <- setdiff(names, old_names) [18:02:56.513] removed <- setdiff(old_names, names) [18:02:56.513] changed <- common[...future.oldEnvVars[common] != [18:02:56.513] envs[common]] [18:02:56.513] NAMES <- toupper(changed) [18:02:56.513] args <- list() [18:02:56.513] for (kk in seq_along(NAMES)) { [18:02:56.513] name <- changed[[kk]] [18:02:56.513] NAME <- NAMES[[kk]] [18:02:56.513] if (name != NAME && is.element(NAME, old_names)) [18:02:56.513] next [18:02:56.513] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:56.513] } [18:02:56.513] NAMES <- toupper(added) [18:02:56.513] for (kk in seq_along(NAMES)) { [18:02:56.513] name <- added[[kk]] [18:02:56.513] NAME <- NAMES[[kk]] [18:02:56.513] if (name != NAME && is.element(NAME, old_names)) [18:02:56.513] next [18:02:56.513] args[[name]] <- "" [18:02:56.513] } [18:02:56.513] NAMES <- toupper(removed) [18:02:56.513] for (kk in seq_along(NAMES)) { [18:02:56.513] name <- removed[[kk]] [18:02:56.513] NAME <- NAMES[[kk]] [18:02:56.513] if (name != NAME && is.element(NAME, old_names)) [18:02:56.513] next [18:02:56.513] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:56.513] } [18:02:56.513] if (length(args) > 0) [18:02:56.513] base::do.call(base::Sys.setenv, args = args) [18:02:56.513] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:56.513] } [18:02:56.513] else { [18:02:56.513] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:56.513] } [18:02:56.513] { [18:02:56.513] if (base::length(...future.futureOptionsAdded) > [18:02:56.513] 0L) { [18:02:56.513] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:56.513] base::names(opts) <- ...future.futureOptionsAdded [18:02:56.513] base::options(opts) [18:02:56.513] } [18:02:56.513] { [18:02:56.513] { [18:02:56.513] base::options(mc.cores = ...future.mc.cores.old) [18:02:56.513] NULL [18:02:56.513] } [18:02:56.513] options(future.plan = NULL) [18:02:56.513] if (is.na(NA_character_)) [18:02:56.513] Sys.unsetenv("R_FUTURE_PLAN") [18:02:56.513] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:56.513] future::plan(list(function (..., workers = availableCores(), [18:02:56.513] lazy = FALSE, rscript_libs = .libPaths(), [18:02:56.513] envir = parent.frame()) [18:02:56.513] { [18:02:56.513] if (is.function(workers)) [18:02:56.513] workers <- workers() [18:02:56.513] workers <- structure(as.integer(workers), [18:02:56.513] class = class(workers)) [18:02:56.513] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:56.513] workers >= 1) [18:02:56.513] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:56.513] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:56.513] } [18:02:56.513] future <- MultisessionFuture(..., workers = workers, [18:02:56.513] lazy = lazy, rscript_libs = rscript_libs, [18:02:56.513] envir = envir) [18:02:56.513] if (!future$lazy) [18:02:56.513] future <- run(future) [18:02:56.513] invisible(future) [18:02:56.513] }), .cleanup = FALSE, .init = FALSE) [18:02:56.513] } [18:02:56.513] } [18:02:56.513] } [18:02:56.513] }) [18:02:56.513] if (TRUE) { [18:02:56.513] base::sink(type = "output", split = FALSE) [18:02:56.513] if (TRUE) { [18:02:56.513] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:56.513] } [18:02:56.513] else { [18:02:56.513] ...future.result["stdout"] <- base::list(NULL) [18:02:56.513] } [18:02:56.513] base::close(...future.stdout) [18:02:56.513] ...future.stdout <- NULL [18:02:56.513] } [18:02:56.513] ...future.result$conditions <- ...future.conditions [18:02:56.513] ...future.result$finished <- base::Sys.time() [18:02:56.513] ...future.result [18:02:56.513] } [18:02:56.519] MultisessionFuture started [18:02:56.519] - Launch lazy future ... done [18:02:56.520] run() for 'MultisessionFuture' ... done [18:02:57.042] receiveMessageFromWorker() for ClusterFuture ... [18:02:57.042] - Validating connection of MultisessionFuture [18:02:57.042] - received message: FutureResult [18:02:57.043] - Received FutureResult [18:02:57.043] - Erased future from FutureRegistry [18:02:57.043] result() for ClusterFuture ... [18:02:57.043] - result already collected: FutureResult [18:02:57.043] result() for ClusterFuture ... done [18:02:57.044] receiveMessageFromWorker() for ClusterFuture ... done [18:02:57.044] A MultisessionFuture was resolved - w/ exception ... [18:02:57.044] getGlobalsAndPackages() ... [18:02:57.044] Searching for globals... [18:02:57.045] - globals found: [2] 'list', 'stop' [18:02:57.045] Searching for globals ... DONE [18:02:57.045] Resolving globals: FALSE [18:02:57.048] [18:02:57.048] [18:02:57.049] getGlobalsAndPackages() ... DONE [18:02:57.049] run() for 'Future' ... [18:02:57.049] - state: 'created' [18:02:57.049] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:57.063] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:57.063] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:57.064] - Field: 'node' [18:02:57.064] - Field: 'label' [18:02:57.064] - Field: 'local' [18:02:57.064] - Field: 'owner' [18:02:57.064] - Field: 'envir' [18:02:57.065] - Field: 'workers' [18:02:57.065] - Field: 'packages' [18:02:57.065] - Field: 'gc' [18:02:57.065] - Field: 'conditions' [18:02:57.065] - Field: 'persistent' [18:02:57.065] - Field: 'expr' [18:02:57.066] - Field: 'uuid' [18:02:57.066] - Field: 'seed' [18:02:57.066] - Field: 'version' [18:02:57.066] - Field: 'result' [18:02:57.066] - Field: 'asynchronous' [18:02:57.066] - Field: 'calls' [18:02:57.067] - Field: 'globals' [18:02:57.067] - Field: 'stdout' [18:02:57.067] - Field: 'earlySignal' [18:02:57.067] - Field: 'lazy' [18:02:57.067] - Field: 'state' [18:02:57.067] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:57.068] - Launch lazy future ... [18:02:57.068] Packages needed by the future expression (n = 0): [18:02:57.068] Packages needed by future strategies (n = 0): [18:02:57.069] { [18:02:57.069] { [18:02:57.069] { [18:02:57.069] ...future.startTime <- base::Sys.time() [18:02:57.069] { [18:02:57.069] { [18:02:57.069] { [18:02:57.069] { [18:02:57.069] base::local({ [18:02:57.069] has_future <- base::requireNamespace("future", [18:02:57.069] quietly = TRUE) [18:02:57.069] if (has_future) { [18:02:57.069] ns <- base::getNamespace("future") [18:02:57.069] version <- ns[[".package"]][["version"]] [18:02:57.069] if (is.null(version)) [18:02:57.069] version <- utils::packageVersion("future") [18:02:57.069] } [18:02:57.069] else { [18:02:57.069] version <- NULL [18:02:57.069] } [18:02:57.069] if (!has_future || version < "1.8.0") { [18:02:57.069] info <- base::c(r_version = base::gsub("R version ", [18:02:57.069] "", base::R.version$version.string), [18:02:57.069] platform = base::sprintf("%s (%s-bit)", [18:02:57.069] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:57.069] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:57.069] "release", "version")], collapse = " "), [18:02:57.069] hostname = base::Sys.info()[["nodename"]]) [18:02:57.069] info <- base::sprintf("%s: %s", base::names(info), [18:02:57.069] info) [18:02:57.069] info <- base::paste(info, collapse = "; ") [18:02:57.069] if (!has_future) { [18:02:57.069] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:57.069] info) [18:02:57.069] } [18:02:57.069] else { [18:02:57.069] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:57.069] info, version) [18:02:57.069] } [18:02:57.069] base::stop(msg) [18:02:57.069] } [18:02:57.069] }) [18:02:57.069] } [18:02:57.069] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:57.069] base::options(mc.cores = 1L) [18:02:57.069] } [18:02:57.069] options(future.plan = NULL) [18:02:57.069] Sys.unsetenv("R_FUTURE_PLAN") [18:02:57.069] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:57.069] } [18:02:57.069] ...future.workdir <- getwd() [18:02:57.069] } [18:02:57.069] ...future.oldOptions <- base::as.list(base::.Options) [18:02:57.069] ...future.oldEnvVars <- base::Sys.getenv() [18:02:57.069] } [18:02:57.069] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:57.069] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:57.069] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:57.069] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:57.069] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:57.069] future.stdout.windows.reencode = NULL, width = 80L) [18:02:57.069] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:57.069] base::names(...future.oldOptions)) [18:02:57.069] } [18:02:57.069] if (FALSE) { [18:02:57.069] } [18:02:57.069] else { [18:02:57.069] if (TRUE) { [18:02:57.069] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:57.069] open = "w") [18:02:57.069] } [18:02:57.069] else { [18:02:57.069] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:57.069] windows = "NUL", "/dev/null"), open = "w") [18:02:57.069] } [18:02:57.069] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:57.069] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:57.069] base::sink(type = "output", split = FALSE) [18:02:57.069] base::close(...future.stdout) [18:02:57.069] }, add = TRUE) [18:02:57.069] } [18:02:57.069] ...future.frame <- base::sys.nframe() [18:02:57.069] ...future.conditions <- base::list() [18:02:57.069] ...future.rng <- base::globalenv()$.Random.seed [18:02:57.069] if (FALSE) { [18:02:57.069] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:57.069] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:57.069] } [18:02:57.069] ...future.result <- base::tryCatch({ [18:02:57.069] base::withCallingHandlers({ [18:02:57.069] ...future.value <- base::withVisible(base::local({ [18:02:57.069] ...future.makeSendCondition <- local({ [18:02:57.069] sendCondition <- NULL [18:02:57.069] function(frame = 1L) { [18:02:57.069] if (is.function(sendCondition)) [18:02:57.069] return(sendCondition) [18:02:57.069] ns <- getNamespace("parallel") [18:02:57.069] if (exists("sendData", mode = "function", [18:02:57.069] envir = ns)) { [18:02:57.069] parallel_sendData <- get("sendData", mode = "function", [18:02:57.069] envir = ns) [18:02:57.069] envir <- sys.frame(frame) [18:02:57.069] master <- NULL [18:02:57.069] while (!identical(envir, .GlobalEnv) && [18:02:57.069] !identical(envir, emptyenv())) { [18:02:57.069] if (exists("master", mode = "list", envir = envir, [18:02:57.069] inherits = FALSE)) { [18:02:57.069] master <- get("master", mode = "list", [18:02:57.069] envir = envir, inherits = FALSE) [18:02:57.069] if (inherits(master, c("SOCKnode", [18:02:57.069] "SOCK0node"))) { [18:02:57.069] sendCondition <<- function(cond) { [18:02:57.069] data <- list(type = "VALUE", value = cond, [18:02:57.069] success = TRUE) [18:02:57.069] parallel_sendData(master, data) [18:02:57.069] } [18:02:57.069] return(sendCondition) [18:02:57.069] } [18:02:57.069] } [18:02:57.069] frame <- frame + 1L [18:02:57.069] envir <- sys.frame(frame) [18:02:57.069] } [18:02:57.069] } [18:02:57.069] sendCondition <<- function(cond) NULL [18:02:57.069] } [18:02:57.069] }) [18:02:57.069] withCallingHandlers({ [18:02:57.069] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:57.069] }, immediateCondition = function(cond) { [18:02:57.069] sendCondition <- ...future.makeSendCondition() [18:02:57.069] sendCondition(cond) [18:02:57.069] muffleCondition <- function (cond, pattern = "^muffle") [18:02:57.069] { [18:02:57.069] inherits <- base::inherits [18:02:57.069] invokeRestart <- base::invokeRestart [18:02:57.069] is.null <- base::is.null [18:02:57.069] muffled <- FALSE [18:02:57.069] if (inherits(cond, "message")) { [18:02:57.069] muffled <- grepl(pattern, "muffleMessage") [18:02:57.069] if (muffled) [18:02:57.069] invokeRestart("muffleMessage") [18:02:57.069] } [18:02:57.069] else if (inherits(cond, "warning")) { [18:02:57.069] muffled <- grepl(pattern, "muffleWarning") [18:02:57.069] if (muffled) [18:02:57.069] invokeRestart("muffleWarning") [18:02:57.069] } [18:02:57.069] else if (inherits(cond, "condition")) { [18:02:57.069] if (!is.null(pattern)) { [18:02:57.069] computeRestarts <- base::computeRestarts [18:02:57.069] grepl <- base::grepl [18:02:57.069] restarts <- computeRestarts(cond) [18:02:57.069] for (restart in restarts) { [18:02:57.069] name <- restart$name [18:02:57.069] if (is.null(name)) [18:02:57.069] next [18:02:57.069] if (!grepl(pattern, name)) [18:02:57.069] next [18:02:57.069] invokeRestart(restart) [18:02:57.069] muffled <- TRUE [18:02:57.069] break [18:02:57.069] } [18:02:57.069] } [18:02:57.069] } [18:02:57.069] invisible(muffled) [18:02:57.069] } [18:02:57.069] muffleCondition(cond) [18:02:57.069] }) [18:02:57.069] })) [18:02:57.069] future::FutureResult(value = ...future.value$value, [18:02:57.069] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:57.069] ...future.rng), globalenv = if (FALSE) [18:02:57.069] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:57.069] ...future.globalenv.names)) [18:02:57.069] else NULL, started = ...future.startTime, version = "1.8") [18:02:57.069] }, condition = base::local({ [18:02:57.069] c <- base::c [18:02:57.069] inherits <- base::inherits [18:02:57.069] invokeRestart <- base::invokeRestart [18:02:57.069] length <- base::length [18:02:57.069] list <- base::list [18:02:57.069] seq.int <- base::seq.int [18:02:57.069] signalCondition <- base::signalCondition [18:02:57.069] sys.calls <- base::sys.calls [18:02:57.069] `[[` <- base::`[[` [18:02:57.069] `+` <- base::`+` [18:02:57.069] `<<-` <- base::`<<-` [18:02:57.069] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:57.069] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:57.069] 3L)] [18:02:57.069] } [18:02:57.069] function(cond) { [18:02:57.069] is_error <- inherits(cond, "error") [18:02:57.069] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:57.069] NULL) [18:02:57.069] if (is_error) { [18:02:57.069] sessionInformation <- function() { [18:02:57.069] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:57.069] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:57.069] search = base::search(), system = base::Sys.info()) [18:02:57.069] } [18:02:57.069] ...future.conditions[[length(...future.conditions) + [18:02:57.069] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:57.069] cond$call), session = sessionInformation(), [18:02:57.069] timestamp = base::Sys.time(), signaled = 0L) [18:02:57.069] signalCondition(cond) [18:02:57.069] } [18:02:57.069] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:57.069] "immediateCondition"))) { [18:02:57.069] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:57.069] ...future.conditions[[length(...future.conditions) + [18:02:57.069] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:57.069] if (TRUE && !signal) { [18:02:57.069] muffleCondition <- function (cond, pattern = "^muffle") [18:02:57.069] { [18:02:57.069] inherits <- base::inherits [18:02:57.069] invokeRestart <- base::invokeRestart [18:02:57.069] is.null <- base::is.null [18:02:57.069] muffled <- FALSE [18:02:57.069] if (inherits(cond, "message")) { [18:02:57.069] muffled <- grepl(pattern, "muffleMessage") [18:02:57.069] if (muffled) [18:02:57.069] invokeRestart("muffleMessage") [18:02:57.069] } [18:02:57.069] else if (inherits(cond, "warning")) { [18:02:57.069] muffled <- grepl(pattern, "muffleWarning") [18:02:57.069] if (muffled) [18:02:57.069] invokeRestart("muffleWarning") [18:02:57.069] } [18:02:57.069] else if (inherits(cond, "condition")) { [18:02:57.069] if (!is.null(pattern)) { [18:02:57.069] computeRestarts <- base::computeRestarts [18:02:57.069] grepl <- base::grepl [18:02:57.069] restarts <- computeRestarts(cond) [18:02:57.069] for (restart in restarts) { [18:02:57.069] name <- restart$name [18:02:57.069] if (is.null(name)) [18:02:57.069] next [18:02:57.069] if (!grepl(pattern, name)) [18:02:57.069] next [18:02:57.069] invokeRestart(restart) [18:02:57.069] muffled <- TRUE [18:02:57.069] break [18:02:57.069] } [18:02:57.069] } [18:02:57.069] } [18:02:57.069] invisible(muffled) [18:02:57.069] } [18:02:57.069] muffleCondition(cond, pattern = "^muffle") [18:02:57.069] } [18:02:57.069] } [18:02:57.069] else { [18:02:57.069] if (TRUE) { [18:02:57.069] muffleCondition <- function (cond, pattern = "^muffle") [18:02:57.069] { [18:02:57.069] inherits <- base::inherits [18:02:57.069] invokeRestart <- base::invokeRestart [18:02:57.069] is.null <- base::is.null [18:02:57.069] muffled <- FALSE [18:02:57.069] if (inherits(cond, "message")) { [18:02:57.069] muffled <- grepl(pattern, "muffleMessage") [18:02:57.069] if (muffled) [18:02:57.069] invokeRestart("muffleMessage") [18:02:57.069] } [18:02:57.069] else if (inherits(cond, "warning")) { [18:02:57.069] muffled <- grepl(pattern, "muffleWarning") [18:02:57.069] if (muffled) [18:02:57.069] invokeRestart("muffleWarning") [18:02:57.069] } [18:02:57.069] else if (inherits(cond, "condition")) { [18:02:57.069] if (!is.null(pattern)) { [18:02:57.069] computeRestarts <- base::computeRestarts [18:02:57.069] grepl <- base::grepl [18:02:57.069] restarts <- computeRestarts(cond) [18:02:57.069] for (restart in restarts) { [18:02:57.069] name <- restart$name [18:02:57.069] if (is.null(name)) [18:02:57.069] next [18:02:57.069] if (!grepl(pattern, name)) [18:02:57.069] next [18:02:57.069] invokeRestart(restart) [18:02:57.069] muffled <- TRUE [18:02:57.069] break [18:02:57.069] } [18:02:57.069] } [18:02:57.069] } [18:02:57.069] invisible(muffled) [18:02:57.069] } [18:02:57.069] muffleCondition(cond, pattern = "^muffle") [18:02:57.069] } [18:02:57.069] } [18:02:57.069] } [18:02:57.069] })) [18:02:57.069] }, error = function(ex) { [18:02:57.069] base::structure(base::list(value = NULL, visible = NULL, [18:02:57.069] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:57.069] ...future.rng), started = ...future.startTime, [18:02:57.069] finished = Sys.time(), session_uuid = NA_character_, [18:02:57.069] version = "1.8"), class = "FutureResult") [18:02:57.069] }, finally = { [18:02:57.069] if (!identical(...future.workdir, getwd())) [18:02:57.069] setwd(...future.workdir) [18:02:57.069] { [18:02:57.069] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:57.069] ...future.oldOptions$nwarnings <- NULL [18:02:57.069] } [18:02:57.069] base::options(...future.oldOptions) [18:02:57.069] if (.Platform$OS.type == "windows") { [18:02:57.069] old_names <- names(...future.oldEnvVars) [18:02:57.069] envs <- base::Sys.getenv() [18:02:57.069] names <- names(envs) [18:02:57.069] common <- intersect(names, old_names) [18:02:57.069] added <- setdiff(names, old_names) [18:02:57.069] removed <- setdiff(old_names, names) [18:02:57.069] changed <- common[...future.oldEnvVars[common] != [18:02:57.069] envs[common]] [18:02:57.069] NAMES <- toupper(changed) [18:02:57.069] args <- list() [18:02:57.069] for (kk in seq_along(NAMES)) { [18:02:57.069] name <- changed[[kk]] [18:02:57.069] NAME <- NAMES[[kk]] [18:02:57.069] if (name != NAME && is.element(NAME, old_names)) [18:02:57.069] next [18:02:57.069] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:57.069] } [18:02:57.069] NAMES <- toupper(added) [18:02:57.069] for (kk in seq_along(NAMES)) { [18:02:57.069] name <- added[[kk]] [18:02:57.069] NAME <- NAMES[[kk]] [18:02:57.069] if (name != NAME && is.element(NAME, old_names)) [18:02:57.069] next [18:02:57.069] args[[name]] <- "" [18:02:57.069] } [18:02:57.069] NAMES <- toupper(removed) [18:02:57.069] for (kk in seq_along(NAMES)) { [18:02:57.069] name <- removed[[kk]] [18:02:57.069] NAME <- NAMES[[kk]] [18:02:57.069] if (name != NAME && is.element(NAME, old_names)) [18:02:57.069] next [18:02:57.069] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:57.069] } [18:02:57.069] if (length(args) > 0) [18:02:57.069] base::do.call(base::Sys.setenv, args = args) [18:02:57.069] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:57.069] } [18:02:57.069] else { [18:02:57.069] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:57.069] } [18:02:57.069] { [18:02:57.069] if (base::length(...future.futureOptionsAdded) > [18:02:57.069] 0L) { [18:02:57.069] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:57.069] base::names(opts) <- ...future.futureOptionsAdded [18:02:57.069] base::options(opts) [18:02:57.069] } [18:02:57.069] { [18:02:57.069] { [18:02:57.069] base::options(mc.cores = ...future.mc.cores.old) [18:02:57.069] NULL [18:02:57.069] } [18:02:57.069] options(future.plan = NULL) [18:02:57.069] if (is.na(NA_character_)) [18:02:57.069] Sys.unsetenv("R_FUTURE_PLAN") [18:02:57.069] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:57.069] future::plan(list(function (..., workers = availableCores(), [18:02:57.069] lazy = FALSE, rscript_libs = .libPaths(), [18:02:57.069] envir = parent.frame()) [18:02:57.069] { [18:02:57.069] if (is.function(workers)) [18:02:57.069] workers <- workers() [18:02:57.069] workers <- structure(as.integer(workers), [18:02:57.069] class = class(workers)) [18:02:57.069] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:57.069] workers >= 1) [18:02:57.069] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:57.069] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:57.069] } [18:02:57.069] future <- MultisessionFuture(..., workers = workers, [18:02:57.069] lazy = lazy, rscript_libs = rscript_libs, [18:02:57.069] envir = envir) [18:02:57.069] if (!future$lazy) [18:02:57.069] future <- run(future) [18:02:57.069] invisible(future) [18:02:57.069] }), .cleanup = FALSE, .init = FALSE) [18:02:57.069] } [18:02:57.069] } [18:02:57.069] } [18:02:57.069] }) [18:02:57.069] if (TRUE) { [18:02:57.069] base::sink(type = "output", split = FALSE) [18:02:57.069] if (TRUE) { [18:02:57.069] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:57.069] } [18:02:57.069] else { [18:02:57.069] ...future.result["stdout"] <- base::list(NULL) [18:02:57.069] } [18:02:57.069] base::close(...future.stdout) [18:02:57.069] ...future.stdout <- NULL [18:02:57.069] } [18:02:57.069] ...future.result$conditions <- ...future.conditions [18:02:57.069] ...future.result$finished <- base::Sys.time() [18:02:57.069] ...future.result [18:02:57.069] } [18:02:57.075] MultisessionFuture started [18:02:57.075] - Launch lazy future ... done [18:02:57.075] run() for 'MultisessionFuture' ... done [18:02:57.092] receiveMessageFromWorker() for ClusterFuture ... [18:02:57.092] - Validating connection of MultisessionFuture [18:02:57.093] - received message: FutureResult [18:02:57.093] - Received FutureResult [18:02:57.093] - Erased future from FutureRegistry [18:02:57.093] result() for ClusterFuture ... [18:02:57.093] - result already collected: FutureResult [18:02:57.094] result() for ClusterFuture ... done [18:02:57.094] signalConditions() ... [18:02:57.094] - include = 'immediateCondition' [18:02:57.094] - exclude = [18:02:57.094] - resignal = FALSE [18:02:57.094] - Number of conditions: 1 [18:02:57.095] signalConditions() ... done [18:02:57.095] receiveMessageFromWorker() for ClusterFuture ... done [18:02:57.095] A MultisessionFuture was resolved [18:02:57.095] getGlobalsAndPackages() ... [18:02:57.095] Searching for globals... [18:02:57.096] - globals found: [2] 'list', 'stop' [18:02:57.096] Searching for globals ... DONE [18:02:57.096] Resolving globals: FALSE [18:02:57.097] [18:02:57.097] [18:02:57.097] getGlobalsAndPackages() ... DONE [18:02:57.097] run() for 'Future' ... [18:02:57.098] - state: 'created' [18:02:57.098] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:57.111] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:57.111] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:57.112] - Field: 'node' [18:02:57.112] - Field: 'label' [18:02:57.112] - Field: 'local' [18:02:57.112] - Field: 'owner' [18:02:57.112] - Field: 'envir' [18:02:57.113] - Field: 'workers' [18:02:57.113] - Field: 'packages' [18:02:57.113] - Field: 'gc' [18:02:57.113] - Field: 'conditions' [18:02:57.113] - Field: 'persistent' [18:02:57.113] - Field: 'expr' [18:02:57.114] - Field: 'uuid' [18:02:57.114] - Field: 'seed' [18:02:57.114] - Field: 'version' [18:02:57.114] - Field: 'result' [18:02:57.114] - Field: 'asynchronous' [18:02:57.114] - Field: 'calls' [18:02:57.115] - Field: 'globals' [18:02:57.115] - Field: 'stdout' [18:02:57.115] - Field: 'earlySignal' [18:02:57.115] - Field: 'lazy' [18:02:57.115] - Field: 'state' [18:02:57.116] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:57.116] - Launch lazy future ... [18:02:57.116] Packages needed by the future expression (n = 0): [18:02:57.116] Packages needed by future strategies (n = 0): [18:02:57.117] { [18:02:57.117] { [18:02:57.117] { [18:02:57.117] ...future.startTime <- base::Sys.time() [18:02:57.117] { [18:02:57.117] { [18:02:57.117] { [18:02:57.117] { [18:02:57.117] base::local({ [18:02:57.117] has_future <- base::requireNamespace("future", [18:02:57.117] quietly = TRUE) [18:02:57.117] if (has_future) { [18:02:57.117] ns <- base::getNamespace("future") [18:02:57.117] version <- ns[[".package"]][["version"]] [18:02:57.117] if (is.null(version)) [18:02:57.117] version <- utils::packageVersion("future") [18:02:57.117] } [18:02:57.117] else { [18:02:57.117] version <- NULL [18:02:57.117] } [18:02:57.117] if (!has_future || version < "1.8.0") { [18:02:57.117] info <- base::c(r_version = base::gsub("R version ", [18:02:57.117] "", base::R.version$version.string), [18:02:57.117] platform = base::sprintf("%s (%s-bit)", [18:02:57.117] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:57.117] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:57.117] "release", "version")], collapse = " "), [18:02:57.117] hostname = base::Sys.info()[["nodename"]]) [18:02:57.117] info <- base::sprintf("%s: %s", base::names(info), [18:02:57.117] info) [18:02:57.117] info <- base::paste(info, collapse = "; ") [18:02:57.117] if (!has_future) { [18:02:57.117] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:57.117] info) [18:02:57.117] } [18:02:57.117] else { [18:02:57.117] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:57.117] info, version) [18:02:57.117] } [18:02:57.117] base::stop(msg) [18:02:57.117] } [18:02:57.117] }) [18:02:57.117] } [18:02:57.117] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:57.117] base::options(mc.cores = 1L) [18:02:57.117] } [18:02:57.117] options(future.plan = NULL) [18:02:57.117] Sys.unsetenv("R_FUTURE_PLAN") [18:02:57.117] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:57.117] } [18:02:57.117] ...future.workdir <- getwd() [18:02:57.117] } [18:02:57.117] ...future.oldOptions <- base::as.list(base::.Options) [18:02:57.117] ...future.oldEnvVars <- base::Sys.getenv() [18:02:57.117] } [18:02:57.117] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:57.117] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:57.117] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:57.117] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:57.117] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:57.117] future.stdout.windows.reencode = NULL, width = 80L) [18:02:57.117] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:57.117] base::names(...future.oldOptions)) [18:02:57.117] } [18:02:57.117] if (FALSE) { [18:02:57.117] } [18:02:57.117] else { [18:02:57.117] if (TRUE) { [18:02:57.117] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:57.117] open = "w") [18:02:57.117] } [18:02:57.117] else { [18:02:57.117] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:57.117] windows = "NUL", "/dev/null"), open = "w") [18:02:57.117] } [18:02:57.117] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:57.117] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:57.117] base::sink(type = "output", split = FALSE) [18:02:57.117] base::close(...future.stdout) [18:02:57.117] }, add = TRUE) [18:02:57.117] } [18:02:57.117] ...future.frame <- base::sys.nframe() [18:02:57.117] ...future.conditions <- base::list() [18:02:57.117] ...future.rng <- base::globalenv()$.Random.seed [18:02:57.117] if (FALSE) { [18:02:57.117] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:57.117] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:57.117] } [18:02:57.117] ...future.result <- base::tryCatch({ [18:02:57.117] base::withCallingHandlers({ [18:02:57.117] ...future.value <- base::withVisible(base::local({ [18:02:57.117] ...future.makeSendCondition <- local({ [18:02:57.117] sendCondition <- NULL [18:02:57.117] function(frame = 1L) { [18:02:57.117] if (is.function(sendCondition)) [18:02:57.117] return(sendCondition) [18:02:57.117] ns <- getNamespace("parallel") [18:02:57.117] if (exists("sendData", mode = "function", [18:02:57.117] envir = ns)) { [18:02:57.117] parallel_sendData <- get("sendData", mode = "function", [18:02:57.117] envir = ns) [18:02:57.117] envir <- sys.frame(frame) [18:02:57.117] master <- NULL [18:02:57.117] while (!identical(envir, .GlobalEnv) && [18:02:57.117] !identical(envir, emptyenv())) { [18:02:57.117] if (exists("master", mode = "list", envir = envir, [18:02:57.117] inherits = FALSE)) { [18:02:57.117] master <- get("master", mode = "list", [18:02:57.117] envir = envir, inherits = FALSE) [18:02:57.117] if (inherits(master, c("SOCKnode", [18:02:57.117] "SOCK0node"))) { [18:02:57.117] sendCondition <<- function(cond) { [18:02:57.117] data <- list(type = "VALUE", value = cond, [18:02:57.117] success = TRUE) [18:02:57.117] parallel_sendData(master, data) [18:02:57.117] } [18:02:57.117] return(sendCondition) [18:02:57.117] } [18:02:57.117] } [18:02:57.117] frame <- frame + 1L [18:02:57.117] envir <- sys.frame(frame) [18:02:57.117] } [18:02:57.117] } [18:02:57.117] sendCondition <<- function(cond) NULL [18:02:57.117] } [18:02:57.117] }) [18:02:57.117] withCallingHandlers({ [18:02:57.117] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:57.117] }, immediateCondition = function(cond) { [18:02:57.117] sendCondition <- ...future.makeSendCondition() [18:02:57.117] sendCondition(cond) [18:02:57.117] muffleCondition <- function (cond, pattern = "^muffle") [18:02:57.117] { [18:02:57.117] inherits <- base::inherits [18:02:57.117] invokeRestart <- base::invokeRestart [18:02:57.117] is.null <- base::is.null [18:02:57.117] muffled <- FALSE [18:02:57.117] if (inherits(cond, "message")) { [18:02:57.117] muffled <- grepl(pattern, "muffleMessage") [18:02:57.117] if (muffled) [18:02:57.117] invokeRestart("muffleMessage") [18:02:57.117] } [18:02:57.117] else if (inherits(cond, "warning")) { [18:02:57.117] muffled <- grepl(pattern, "muffleWarning") [18:02:57.117] if (muffled) [18:02:57.117] invokeRestart("muffleWarning") [18:02:57.117] } [18:02:57.117] else if (inherits(cond, "condition")) { [18:02:57.117] if (!is.null(pattern)) { [18:02:57.117] computeRestarts <- base::computeRestarts [18:02:57.117] grepl <- base::grepl [18:02:57.117] restarts <- computeRestarts(cond) [18:02:57.117] for (restart in restarts) { [18:02:57.117] name <- restart$name [18:02:57.117] if (is.null(name)) [18:02:57.117] next [18:02:57.117] if (!grepl(pattern, name)) [18:02:57.117] next [18:02:57.117] invokeRestart(restart) [18:02:57.117] muffled <- TRUE [18:02:57.117] break [18:02:57.117] } [18:02:57.117] } [18:02:57.117] } [18:02:57.117] invisible(muffled) [18:02:57.117] } [18:02:57.117] muffleCondition(cond) [18:02:57.117] }) [18:02:57.117] })) [18:02:57.117] future::FutureResult(value = ...future.value$value, [18:02:57.117] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:57.117] ...future.rng), globalenv = if (FALSE) [18:02:57.117] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:57.117] ...future.globalenv.names)) [18:02:57.117] else NULL, started = ...future.startTime, version = "1.8") [18:02:57.117] }, condition = base::local({ [18:02:57.117] c <- base::c [18:02:57.117] inherits <- base::inherits [18:02:57.117] invokeRestart <- base::invokeRestart [18:02:57.117] length <- base::length [18:02:57.117] list <- base::list [18:02:57.117] seq.int <- base::seq.int [18:02:57.117] signalCondition <- base::signalCondition [18:02:57.117] sys.calls <- base::sys.calls [18:02:57.117] `[[` <- base::`[[` [18:02:57.117] `+` <- base::`+` [18:02:57.117] `<<-` <- base::`<<-` [18:02:57.117] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:57.117] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:57.117] 3L)] [18:02:57.117] } [18:02:57.117] function(cond) { [18:02:57.117] is_error <- inherits(cond, "error") [18:02:57.117] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:57.117] NULL) [18:02:57.117] if (is_error) { [18:02:57.117] sessionInformation <- function() { [18:02:57.117] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:57.117] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:57.117] search = base::search(), system = base::Sys.info()) [18:02:57.117] } [18:02:57.117] ...future.conditions[[length(...future.conditions) + [18:02:57.117] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:57.117] cond$call), session = sessionInformation(), [18:02:57.117] timestamp = base::Sys.time(), signaled = 0L) [18:02:57.117] signalCondition(cond) [18:02:57.117] } [18:02:57.117] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:57.117] "immediateCondition"))) { [18:02:57.117] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:57.117] ...future.conditions[[length(...future.conditions) + [18:02:57.117] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:57.117] if (TRUE && !signal) { [18:02:57.117] muffleCondition <- function (cond, pattern = "^muffle") [18:02:57.117] { [18:02:57.117] inherits <- base::inherits [18:02:57.117] invokeRestart <- base::invokeRestart [18:02:57.117] is.null <- base::is.null [18:02:57.117] muffled <- FALSE [18:02:57.117] if (inherits(cond, "message")) { [18:02:57.117] muffled <- grepl(pattern, "muffleMessage") [18:02:57.117] if (muffled) [18:02:57.117] invokeRestart("muffleMessage") [18:02:57.117] } [18:02:57.117] else if (inherits(cond, "warning")) { [18:02:57.117] muffled <- grepl(pattern, "muffleWarning") [18:02:57.117] if (muffled) [18:02:57.117] invokeRestart("muffleWarning") [18:02:57.117] } [18:02:57.117] else if (inherits(cond, "condition")) { [18:02:57.117] if (!is.null(pattern)) { [18:02:57.117] computeRestarts <- base::computeRestarts [18:02:57.117] grepl <- base::grepl [18:02:57.117] restarts <- computeRestarts(cond) [18:02:57.117] for (restart in restarts) { [18:02:57.117] name <- restart$name [18:02:57.117] if (is.null(name)) [18:02:57.117] next [18:02:57.117] if (!grepl(pattern, name)) [18:02:57.117] next [18:02:57.117] invokeRestart(restart) [18:02:57.117] muffled <- TRUE [18:02:57.117] break [18:02:57.117] } [18:02:57.117] } [18:02:57.117] } [18:02:57.117] invisible(muffled) [18:02:57.117] } [18:02:57.117] muffleCondition(cond, pattern = "^muffle") [18:02:57.117] } [18:02:57.117] } [18:02:57.117] else { [18:02:57.117] if (TRUE) { [18:02:57.117] muffleCondition <- function (cond, pattern = "^muffle") [18:02:57.117] { [18:02:57.117] inherits <- base::inherits [18:02:57.117] invokeRestart <- base::invokeRestart [18:02:57.117] is.null <- base::is.null [18:02:57.117] muffled <- FALSE [18:02:57.117] if (inherits(cond, "message")) { [18:02:57.117] muffled <- grepl(pattern, "muffleMessage") [18:02:57.117] if (muffled) [18:02:57.117] invokeRestart("muffleMessage") [18:02:57.117] } [18:02:57.117] else if (inherits(cond, "warning")) { [18:02:57.117] muffled <- grepl(pattern, "muffleWarning") [18:02:57.117] if (muffled) [18:02:57.117] invokeRestart("muffleWarning") [18:02:57.117] } [18:02:57.117] else if (inherits(cond, "condition")) { [18:02:57.117] if (!is.null(pattern)) { [18:02:57.117] computeRestarts <- base::computeRestarts [18:02:57.117] grepl <- base::grepl [18:02:57.117] restarts <- computeRestarts(cond) [18:02:57.117] for (restart in restarts) { [18:02:57.117] name <- restart$name [18:02:57.117] if (is.null(name)) [18:02:57.117] next [18:02:57.117] if (!grepl(pattern, name)) [18:02:57.117] next [18:02:57.117] invokeRestart(restart) [18:02:57.117] muffled <- TRUE [18:02:57.117] break [18:02:57.117] } [18:02:57.117] } [18:02:57.117] } [18:02:57.117] invisible(muffled) [18:02:57.117] } [18:02:57.117] muffleCondition(cond, pattern = "^muffle") [18:02:57.117] } [18:02:57.117] } [18:02:57.117] } [18:02:57.117] })) [18:02:57.117] }, error = function(ex) { [18:02:57.117] base::structure(base::list(value = NULL, visible = NULL, [18:02:57.117] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:57.117] ...future.rng), started = ...future.startTime, [18:02:57.117] finished = Sys.time(), session_uuid = NA_character_, [18:02:57.117] version = "1.8"), class = "FutureResult") [18:02:57.117] }, finally = { [18:02:57.117] if (!identical(...future.workdir, getwd())) [18:02:57.117] setwd(...future.workdir) [18:02:57.117] { [18:02:57.117] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:57.117] ...future.oldOptions$nwarnings <- NULL [18:02:57.117] } [18:02:57.117] base::options(...future.oldOptions) [18:02:57.117] if (.Platform$OS.type == "windows") { [18:02:57.117] old_names <- names(...future.oldEnvVars) [18:02:57.117] envs <- base::Sys.getenv() [18:02:57.117] names <- names(envs) [18:02:57.117] common <- intersect(names, old_names) [18:02:57.117] added <- setdiff(names, old_names) [18:02:57.117] removed <- setdiff(old_names, names) [18:02:57.117] changed <- common[...future.oldEnvVars[common] != [18:02:57.117] envs[common]] [18:02:57.117] NAMES <- toupper(changed) [18:02:57.117] args <- list() [18:02:57.117] for (kk in seq_along(NAMES)) { [18:02:57.117] name <- changed[[kk]] [18:02:57.117] NAME <- NAMES[[kk]] [18:02:57.117] if (name != NAME && is.element(NAME, old_names)) [18:02:57.117] next [18:02:57.117] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:57.117] } [18:02:57.117] NAMES <- toupper(added) [18:02:57.117] for (kk in seq_along(NAMES)) { [18:02:57.117] name <- added[[kk]] [18:02:57.117] NAME <- NAMES[[kk]] [18:02:57.117] if (name != NAME && is.element(NAME, old_names)) [18:02:57.117] next [18:02:57.117] args[[name]] <- "" [18:02:57.117] } [18:02:57.117] NAMES <- toupper(removed) [18:02:57.117] for (kk in seq_along(NAMES)) { [18:02:57.117] name <- removed[[kk]] [18:02:57.117] NAME <- NAMES[[kk]] [18:02:57.117] if (name != NAME && is.element(NAME, old_names)) [18:02:57.117] next [18:02:57.117] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:57.117] } [18:02:57.117] if (length(args) > 0) [18:02:57.117] base::do.call(base::Sys.setenv, args = args) [18:02:57.117] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:57.117] } [18:02:57.117] else { [18:02:57.117] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:57.117] } [18:02:57.117] { [18:02:57.117] if (base::length(...future.futureOptionsAdded) > [18:02:57.117] 0L) { [18:02:57.117] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:57.117] base::names(opts) <- ...future.futureOptionsAdded [18:02:57.117] base::options(opts) [18:02:57.117] } [18:02:57.117] { [18:02:57.117] { [18:02:57.117] base::options(mc.cores = ...future.mc.cores.old) [18:02:57.117] NULL [18:02:57.117] } [18:02:57.117] options(future.plan = NULL) [18:02:57.117] if (is.na(NA_character_)) [18:02:57.117] Sys.unsetenv("R_FUTURE_PLAN") [18:02:57.117] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:57.117] future::plan(list(function (..., workers = availableCores(), [18:02:57.117] lazy = FALSE, rscript_libs = .libPaths(), [18:02:57.117] envir = parent.frame()) [18:02:57.117] { [18:02:57.117] if (is.function(workers)) [18:02:57.117] workers <- workers() [18:02:57.117] workers <- structure(as.integer(workers), [18:02:57.117] class = class(workers)) [18:02:57.117] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:57.117] workers >= 1) [18:02:57.117] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:57.117] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:57.117] } [18:02:57.117] future <- MultisessionFuture(..., workers = workers, [18:02:57.117] lazy = lazy, rscript_libs = rscript_libs, [18:02:57.117] envir = envir) [18:02:57.117] if (!future$lazy) [18:02:57.117] future <- run(future) [18:02:57.117] invisible(future) [18:02:57.117] }), .cleanup = FALSE, .init = FALSE) [18:02:57.117] } [18:02:57.117] } [18:02:57.117] } [18:02:57.117] }) [18:02:57.117] if (TRUE) { [18:02:57.117] base::sink(type = "output", split = FALSE) [18:02:57.117] if (TRUE) { [18:02:57.117] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:57.117] } [18:02:57.117] else { [18:02:57.117] ...future.result["stdout"] <- base::list(NULL) [18:02:57.117] } [18:02:57.117] base::close(...future.stdout) [18:02:57.117] ...future.stdout <- NULL [18:02:57.117] } [18:02:57.117] ...future.result$conditions <- ...future.conditions [18:02:57.117] ...future.result$finished <- base::Sys.time() [18:02:57.117] ...future.result [18:02:57.117] } [18:02:57.123] MultisessionFuture started [18:02:57.123] - Launch lazy future ... done [18:02:57.123] run() for 'MultisessionFuture' ... done [18:02:57.138] receiveMessageFromWorker() for ClusterFuture ... [18:02:57.138] - Validating connection of MultisessionFuture [18:02:57.139] - received message: FutureResult [18:02:57.139] - Received FutureResult [18:02:57.139] - Erased future from FutureRegistry [18:02:57.140] result() for ClusterFuture ... [18:02:57.140] - result already collected: FutureResult [18:02:57.140] result() for ClusterFuture ... done [18:02:57.140] signalConditions() ... [18:02:57.140] - include = 'immediateCondition' [18:02:57.140] - exclude = [18:02:57.140] - resignal = FALSE [18:02:57.141] - Number of conditions: 1 [18:02:57.141] signalConditions() ... done [18:02:57.141] receiveMessageFromWorker() for ClusterFuture ... done [18:02:57.141] A MultisessionFuture was resolved - result = TRUE, recursive = 0 ... DONE - result = TRUE, recursive = 1 ... [18:02:57.142] getGlobalsAndPackages() ... [18:02:57.142] Searching for globals... [18:02:57.143] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:57.143] Searching for globals ... DONE [18:02:57.143] Resolving globals: FALSE [18:02:57.144] [18:02:57.144] [18:02:57.144] getGlobalsAndPackages() ... DONE [18:02:57.144] run() for 'Future' ... [18:02:57.145] - state: 'created' [18:02:57.145] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:57.159] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:57.159] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:57.159] - Field: 'node' [18:02:57.159] - Field: 'label' [18:02:57.159] - Field: 'local' [18:02:57.160] - Field: 'owner' [18:02:57.160] - Field: 'envir' [18:02:57.160] - Field: 'workers' [18:02:57.160] - Field: 'packages' [18:02:57.160] - Field: 'gc' [18:02:57.160] - Field: 'conditions' [18:02:57.161] - Field: 'persistent' [18:02:57.161] - Field: 'expr' [18:02:57.161] - Field: 'uuid' [18:02:57.161] - Field: 'seed' [18:02:57.161] - Field: 'version' [18:02:57.161] - Field: 'result' [18:02:57.162] - Field: 'asynchronous' [18:02:57.162] - Field: 'calls' [18:02:57.162] - Field: 'globals' [18:02:57.162] - Field: 'stdout' [18:02:57.162] - Field: 'earlySignal' [18:02:57.163] - Field: 'lazy' [18:02:57.163] - Field: 'state' [18:02:57.163] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:57.163] - Launch lazy future ... [18:02:57.163] Packages needed by the future expression (n = 0): [18:02:57.164] Packages needed by future strategies (n = 0): [18:02:57.164] { [18:02:57.164] { [18:02:57.164] { [18:02:57.164] ...future.startTime <- base::Sys.time() [18:02:57.164] { [18:02:57.164] { [18:02:57.164] { [18:02:57.164] { [18:02:57.164] base::local({ [18:02:57.164] has_future <- base::requireNamespace("future", [18:02:57.164] quietly = TRUE) [18:02:57.164] if (has_future) { [18:02:57.164] ns <- base::getNamespace("future") [18:02:57.164] version <- ns[[".package"]][["version"]] [18:02:57.164] if (is.null(version)) [18:02:57.164] version <- utils::packageVersion("future") [18:02:57.164] } [18:02:57.164] else { [18:02:57.164] version <- NULL [18:02:57.164] } [18:02:57.164] if (!has_future || version < "1.8.0") { [18:02:57.164] info <- base::c(r_version = base::gsub("R version ", [18:02:57.164] "", base::R.version$version.string), [18:02:57.164] platform = base::sprintf("%s (%s-bit)", [18:02:57.164] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:57.164] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:57.164] "release", "version")], collapse = " "), [18:02:57.164] hostname = base::Sys.info()[["nodename"]]) [18:02:57.164] info <- base::sprintf("%s: %s", base::names(info), [18:02:57.164] info) [18:02:57.164] info <- base::paste(info, collapse = "; ") [18:02:57.164] if (!has_future) { [18:02:57.164] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:57.164] info) [18:02:57.164] } [18:02:57.164] else { [18:02:57.164] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:57.164] info, version) [18:02:57.164] } [18:02:57.164] base::stop(msg) [18:02:57.164] } [18:02:57.164] }) [18:02:57.164] } [18:02:57.164] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:57.164] base::options(mc.cores = 1L) [18:02:57.164] } [18:02:57.164] options(future.plan = NULL) [18:02:57.164] Sys.unsetenv("R_FUTURE_PLAN") [18:02:57.164] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:57.164] } [18:02:57.164] ...future.workdir <- getwd() [18:02:57.164] } [18:02:57.164] ...future.oldOptions <- base::as.list(base::.Options) [18:02:57.164] ...future.oldEnvVars <- base::Sys.getenv() [18:02:57.164] } [18:02:57.164] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:57.164] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:57.164] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:57.164] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:57.164] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:57.164] future.stdout.windows.reencode = NULL, width = 80L) [18:02:57.164] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:57.164] base::names(...future.oldOptions)) [18:02:57.164] } [18:02:57.164] if (FALSE) { [18:02:57.164] } [18:02:57.164] else { [18:02:57.164] if (TRUE) { [18:02:57.164] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:57.164] open = "w") [18:02:57.164] } [18:02:57.164] else { [18:02:57.164] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:57.164] windows = "NUL", "/dev/null"), open = "w") [18:02:57.164] } [18:02:57.164] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:57.164] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:57.164] base::sink(type = "output", split = FALSE) [18:02:57.164] base::close(...future.stdout) [18:02:57.164] }, add = TRUE) [18:02:57.164] } [18:02:57.164] ...future.frame <- base::sys.nframe() [18:02:57.164] ...future.conditions <- base::list() [18:02:57.164] ...future.rng <- base::globalenv()$.Random.seed [18:02:57.164] if (FALSE) { [18:02:57.164] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:57.164] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:57.164] } [18:02:57.164] ...future.result <- base::tryCatch({ [18:02:57.164] base::withCallingHandlers({ [18:02:57.164] ...future.value <- base::withVisible(base::local({ [18:02:57.164] ...future.makeSendCondition <- local({ [18:02:57.164] sendCondition <- NULL [18:02:57.164] function(frame = 1L) { [18:02:57.164] if (is.function(sendCondition)) [18:02:57.164] return(sendCondition) [18:02:57.164] ns <- getNamespace("parallel") [18:02:57.164] if (exists("sendData", mode = "function", [18:02:57.164] envir = ns)) { [18:02:57.164] parallel_sendData <- get("sendData", mode = "function", [18:02:57.164] envir = ns) [18:02:57.164] envir <- sys.frame(frame) [18:02:57.164] master <- NULL [18:02:57.164] while (!identical(envir, .GlobalEnv) && [18:02:57.164] !identical(envir, emptyenv())) { [18:02:57.164] if (exists("master", mode = "list", envir = envir, [18:02:57.164] inherits = FALSE)) { [18:02:57.164] master <- get("master", mode = "list", [18:02:57.164] envir = envir, inherits = FALSE) [18:02:57.164] if (inherits(master, c("SOCKnode", [18:02:57.164] "SOCK0node"))) { [18:02:57.164] sendCondition <<- function(cond) { [18:02:57.164] data <- list(type = "VALUE", value = cond, [18:02:57.164] success = TRUE) [18:02:57.164] parallel_sendData(master, data) [18:02:57.164] } [18:02:57.164] return(sendCondition) [18:02:57.164] } [18:02:57.164] } [18:02:57.164] frame <- frame + 1L [18:02:57.164] envir <- sys.frame(frame) [18:02:57.164] } [18:02:57.164] } [18:02:57.164] sendCondition <<- function(cond) NULL [18:02:57.164] } [18:02:57.164] }) [18:02:57.164] withCallingHandlers({ [18:02:57.164] { [18:02:57.164] Sys.sleep(0.5) [18:02:57.164] list(a = 1, b = 42L) [18:02:57.164] } [18:02:57.164] }, immediateCondition = function(cond) { [18:02:57.164] sendCondition <- ...future.makeSendCondition() [18:02:57.164] sendCondition(cond) [18:02:57.164] muffleCondition <- function (cond, pattern = "^muffle") [18:02:57.164] { [18:02:57.164] inherits <- base::inherits [18:02:57.164] invokeRestart <- base::invokeRestart [18:02:57.164] is.null <- base::is.null [18:02:57.164] muffled <- FALSE [18:02:57.164] if (inherits(cond, "message")) { [18:02:57.164] muffled <- grepl(pattern, "muffleMessage") [18:02:57.164] if (muffled) [18:02:57.164] invokeRestart("muffleMessage") [18:02:57.164] } [18:02:57.164] else if (inherits(cond, "warning")) { [18:02:57.164] muffled <- grepl(pattern, "muffleWarning") [18:02:57.164] if (muffled) [18:02:57.164] invokeRestart("muffleWarning") [18:02:57.164] } [18:02:57.164] else if (inherits(cond, "condition")) { [18:02:57.164] if (!is.null(pattern)) { [18:02:57.164] computeRestarts <- base::computeRestarts [18:02:57.164] grepl <- base::grepl [18:02:57.164] restarts <- computeRestarts(cond) [18:02:57.164] for (restart in restarts) { [18:02:57.164] name <- restart$name [18:02:57.164] if (is.null(name)) [18:02:57.164] next [18:02:57.164] if (!grepl(pattern, name)) [18:02:57.164] next [18:02:57.164] invokeRestart(restart) [18:02:57.164] muffled <- TRUE [18:02:57.164] break [18:02:57.164] } [18:02:57.164] } [18:02:57.164] } [18:02:57.164] invisible(muffled) [18:02:57.164] } [18:02:57.164] muffleCondition(cond) [18:02:57.164] }) [18:02:57.164] })) [18:02:57.164] future::FutureResult(value = ...future.value$value, [18:02:57.164] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:57.164] ...future.rng), globalenv = if (FALSE) [18:02:57.164] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:57.164] ...future.globalenv.names)) [18:02:57.164] else NULL, started = ...future.startTime, version = "1.8") [18:02:57.164] }, condition = base::local({ [18:02:57.164] c <- base::c [18:02:57.164] inherits <- base::inherits [18:02:57.164] invokeRestart <- base::invokeRestart [18:02:57.164] length <- base::length [18:02:57.164] list <- base::list [18:02:57.164] seq.int <- base::seq.int [18:02:57.164] signalCondition <- base::signalCondition [18:02:57.164] sys.calls <- base::sys.calls [18:02:57.164] `[[` <- base::`[[` [18:02:57.164] `+` <- base::`+` [18:02:57.164] `<<-` <- base::`<<-` [18:02:57.164] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:57.164] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:57.164] 3L)] [18:02:57.164] } [18:02:57.164] function(cond) { [18:02:57.164] is_error <- inherits(cond, "error") [18:02:57.164] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:57.164] NULL) [18:02:57.164] if (is_error) { [18:02:57.164] sessionInformation <- function() { [18:02:57.164] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:57.164] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:57.164] search = base::search(), system = base::Sys.info()) [18:02:57.164] } [18:02:57.164] ...future.conditions[[length(...future.conditions) + [18:02:57.164] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:57.164] cond$call), session = sessionInformation(), [18:02:57.164] timestamp = base::Sys.time(), signaled = 0L) [18:02:57.164] signalCondition(cond) [18:02:57.164] } [18:02:57.164] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:57.164] "immediateCondition"))) { [18:02:57.164] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:57.164] ...future.conditions[[length(...future.conditions) + [18:02:57.164] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:57.164] if (TRUE && !signal) { [18:02:57.164] muffleCondition <- function (cond, pattern = "^muffle") [18:02:57.164] { [18:02:57.164] inherits <- base::inherits [18:02:57.164] invokeRestart <- base::invokeRestart [18:02:57.164] is.null <- base::is.null [18:02:57.164] muffled <- FALSE [18:02:57.164] if (inherits(cond, "message")) { [18:02:57.164] muffled <- grepl(pattern, "muffleMessage") [18:02:57.164] if (muffled) [18:02:57.164] invokeRestart("muffleMessage") [18:02:57.164] } [18:02:57.164] else if (inherits(cond, "warning")) { [18:02:57.164] muffled <- grepl(pattern, "muffleWarning") [18:02:57.164] if (muffled) [18:02:57.164] invokeRestart("muffleWarning") [18:02:57.164] } [18:02:57.164] else if (inherits(cond, "condition")) { [18:02:57.164] if (!is.null(pattern)) { [18:02:57.164] computeRestarts <- base::computeRestarts [18:02:57.164] grepl <- base::grepl [18:02:57.164] restarts <- computeRestarts(cond) [18:02:57.164] for (restart in restarts) { [18:02:57.164] name <- restart$name [18:02:57.164] if (is.null(name)) [18:02:57.164] next [18:02:57.164] if (!grepl(pattern, name)) [18:02:57.164] next [18:02:57.164] invokeRestart(restart) [18:02:57.164] muffled <- TRUE [18:02:57.164] break [18:02:57.164] } [18:02:57.164] } [18:02:57.164] } [18:02:57.164] invisible(muffled) [18:02:57.164] } [18:02:57.164] muffleCondition(cond, pattern = "^muffle") [18:02:57.164] } [18:02:57.164] } [18:02:57.164] else { [18:02:57.164] if (TRUE) { [18:02:57.164] muffleCondition <- function (cond, pattern = "^muffle") [18:02:57.164] { [18:02:57.164] inherits <- base::inherits [18:02:57.164] invokeRestart <- base::invokeRestart [18:02:57.164] is.null <- base::is.null [18:02:57.164] muffled <- FALSE [18:02:57.164] if (inherits(cond, "message")) { [18:02:57.164] muffled <- grepl(pattern, "muffleMessage") [18:02:57.164] if (muffled) [18:02:57.164] invokeRestart("muffleMessage") [18:02:57.164] } [18:02:57.164] else if (inherits(cond, "warning")) { [18:02:57.164] muffled <- grepl(pattern, "muffleWarning") [18:02:57.164] if (muffled) [18:02:57.164] invokeRestart("muffleWarning") [18:02:57.164] } [18:02:57.164] else if (inherits(cond, "condition")) { [18:02:57.164] if (!is.null(pattern)) { [18:02:57.164] computeRestarts <- base::computeRestarts [18:02:57.164] grepl <- base::grepl [18:02:57.164] restarts <- computeRestarts(cond) [18:02:57.164] for (restart in restarts) { [18:02:57.164] name <- restart$name [18:02:57.164] if (is.null(name)) [18:02:57.164] next [18:02:57.164] if (!grepl(pattern, name)) [18:02:57.164] next [18:02:57.164] invokeRestart(restart) [18:02:57.164] muffled <- TRUE [18:02:57.164] break [18:02:57.164] } [18:02:57.164] } [18:02:57.164] } [18:02:57.164] invisible(muffled) [18:02:57.164] } [18:02:57.164] muffleCondition(cond, pattern = "^muffle") [18:02:57.164] } [18:02:57.164] } [18:02:57.164] } [18:02:57.164] })) [18:02:57.164] }, error = function(ex) { [18:02:57.164] base::structure(base::list(value = NULL, visible = NULL, [18:02:57.164] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:57.164] ...future.rng), started = ...future.startTime, [18:02:57.164] finished = Sys.time(), session_uuid = NA_character_, [18:02:57.164] version = "1.8"), class = "FutureResult") [18:02:57.164] }, finally = { [18:02:57.164] if (!identical(...future.workdir, getwd())) [18:02:57.164] setwd(...future.workdir) [18:02:57.164] { [18:02:57.164] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:57.164] ...future.oldOptions$nwarnings <- NULL [18:02:57.164] } [18:02:57.164] base::options(...future.oldOptions) [18:02:57.164] if (.Platform$OS.type == "windows") { [18:02:57.164] old_names <- names(...future.oldEnvVars) [18:02:57.164] envs <- base::Sys.getenv() [18:02:57.164] names <- names(envs) [18:02:57.164] common <- intersect(names, old_names) [18:02:57.164] added <- setdiff(names, old_names) [18:02:57.164] removed <- setdiff(old_names, names) [18:02:57.164] changed <- common[...future.oldEnvVars[common] != [18:02:57.164] envs[common]] [18:02:57.164] NAMES <- toupper(changed) [18:02:57.164] args <- list() [18:02:57.164] for (kk in seq_along(NAMES)) { [18:02:57.164] name <- changed[[kk]] [18:02:57.164] NAME <- NAMES[[kk]] [18:02:57.164] if (name != NAME && is.element(NAME, old_names)) [18:02:57.164] next [18:02:57.164] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:57.164] } [18:02:57.164] NAMES <- toupper(added) [18:02:57.164] for (kk in seq_along(NAMES)) { [18:02:57.164] name <- added[[kk]] [18:02:57.164] NAME <- NAMES[[kk]] [18:02:57.164] if (name != NAME && is.element(NAME, old_names)) [18:02:57.164] next [18:02:57.164] args[[name]] <- "" [18:02:57.164] } [18:02:57.164] NAMES <- toupper(removed) [18:02:57.164] for (kk in seq_along(NAMES)) { [18:02:57.164] name <- removed[[kk]] [18:02:57.164] NAME <- NAMES[[kk]] [18:02:57.164] if (name != NAME && is.element(NAME, old_names)) [18:02:57.164] next [18:02:57.164] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:57.164] } [18:02:57.164] if (length(args) > 0) [18:02:57.164] base::do.call(base::Sys.setenv, args = args) [18:02:57.164] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:57.164] } [18:02:57.164] else { [18:02:57.164] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:57.164] } [18:02:57.164] { [18:02:57.164] if (base::length(...future.futureOptionsAdded) > [18:02:57.164] 0L) { [18:02:57.164] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:57.164] base::names(opts) <- ...future.futureOptionsAdded [18:02:57.164] base::options(opts) [18:02:57.164] } [18:02:57.164] { [18:02:57.164] { [18:02:57.164] base::options(mc.cores = ...future.mc.cores.old) [18:02:57.164] NULL [18:02:57.164] } [18:02:57.164] options(future.plan = NULL) [18:02:57.164] if (is.na(NA_character_)) [18:02:57.164] Sys.unsetenv("R_FUTURE_PLAN") [18:02:57.164] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:57.164] future::plan(list(function (..., workers = availableCores(), [18:02:57.164] lazy = FALSE, rscript_libs = .libPaths(), [18:02:57.164] envir = parent.frame()) [18:02:57.164] { [18:02:57.164] if (is.function(workers)) [18:02:57.164] workers <- workers() [18:02:57.164] workers <- structure(as.integer(workers), [18:02:57.164] class = class(workers)) [18:02:57.164] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:57.164] workers >= 1) [18:02:57.164] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:57.164] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:57.164] } [18:02:57.164] future <- MultisessionFuture(..., workers = workers, [18:02:57.164] lazy = lazy, rscript_libs = rscript_libs, [18:02:57.164] envir = envir) [18:02:57.164] if (!future$lazy) [18:02:57.164] future <- run(future) [18:02:57.164] invisible(future) [18:02:57.164] }), .cleanup = FALSE, .init = FALSE) [18:02:57.164] } [18:02:57.164] } [18:02:57.164] } [18:02:57.164] }) [18:02:57.164] if (TRUE) { [18:02:57.164] base::sink(type = "output", split = FALSE) [18:02:57.164] if (TRUE) { [18:02:57.164] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:57.164] } [18:02:57.164] else { [18:02:57.164] ...future.result["stdout"] <- base::list(NULL) [18:02:57.164] } [18:02:57.164] base::close(...future.stdout) [18:02:57.164] ...future.stdout <- NULL [18:02:57.164] } [18:02:57.164] ...future.result$conditions <- ...future.conditions [18:02:57.164] ...future.result$finished <- base::Sys.time() [18:02:57.164] ...future.result [18:02:57.164] } [18:02:57.170] MultisessionFuture started [18:02:57.170] - Launch lazy future ... done [18:02:57.170] run() for 'MultisessionFuture' ... done [18:02:57.699] receiveMessageFromWorker() for ClusterFuture ... [18:02:57.699] - Validating connection of MultisessionFuture [18:02:57.700] - received message: FutureResult [18:02:57.700] - Received FutureResult [18:02:57.700] - Erased future from FutureRegistry [18:02:57.700] result() for ClusterFuture ... [18:02:57.700] - result already collected: FutureResult [18:02:57.701] result() for ClusterFuture ... done [18:02:57.701] receiveMessageFromWorker() for ClusterFuture ... done [18:02:57.701] resolve() on list ... [18:02:57.701] recursive: 0 [18:02:57.701] length: 2 [18:02:57.701] elements: 'a', 'b' [18:02:57.702] length: 1 (resolved future 1) [18:02:57.702] length: 0 (resolved future 2) [18:02:57.702] resolve() on list ... DONE [18:02:57.702] A MultisessionFuture was resolved (and resolved itself) [18:02:57.702] getGlobalsAndPackages() ... [18:02:57.702] Searching for globals... [18:02:57.704] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:57.704] Searching for globals ... DONE [18:02:57.704] Resolving globals: FALSE [18:02:57.705] [18:02:57.705] [18:02:57.705] getGlobalsAndPackages() ... DONE [18:02:57.705] run() for 'Future' ... [18:02:57.705] - state: 'created' [18:02:57.706] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:57.719] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:57.719] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:57.720] - Field: 'node' [18:02:57.720] - Field: 'label' [18:02:57.720] - Field: 'local' [18:02:57.720] - Field: 'owner' [18:02:57.720] - Field: 'envir' [18:02:57.721] - Field: 'workers' [18:02:57.721] - Field: 'packages' [18:02:57.721] - Field: 'gc' [18:02:57.721] - Field: 'conditions' [18:02:57.721] - Field: 'persistent' [18:02:57.721] - Field: 'expr' [18:02:57.722] - Field: 'uuid' [18:02:57.722] - Field: 'seed' [18:02:57.722] - Field: 'version' [18:02:57.722] - Field: 'result' [18:02:57.722] - Field: 'asynchronous' [18:02:57.722] - Field: 'calls' [18:02:57.723] - Field: 'globals' [18:02:57.723] - Field: 'stdout' [18:02:57.723] - Field: 'earlySignal' [18:02:57.723] - Field: 'lazy' [18:02:57.723] - Field: 'state' [18:02:57.724] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:57.724] - Launch lazy future ... [18:02:57.724] Packages needed by the future expression (n = 0): [18:02:57.724] Packages needed by future strategies (n = 0): [18:02:57.725] { [18:02:57.725] { [18:02:57.725] { [18:02:57.725] ...future.startTime <- base::Sys.time() [18:02:57.725] { [18:02:57.725] { [18:02:57.725] { [18:02:57.725] { [18:02:57.725] base::local({ [18:02:57.725] has_future <- base::requireNamespace("future", [18:02:57.725] quietly = TRUE) [18:02:57.725] if (has_future) { [18:02:57.725] ns <- base::getNamespace("future") [18:02:57.725] version <- ns[[".package"]][["version"]] [18:02:57.725] if (is.null(version)) [18:02:57.725] version <- utils::packageVersion("future") [18:02:57.725] } [18:02:57.725] else { [18:02:57.725] version <- NULL [18:02:57.725] } [18:02:57.725] if (!has_future || version < "1.8.0") { [18:02:57.725] info <- base::c(r_version = base::gsub("R version ", [18:02:57.725] "", base::R.version$version.string), [18:02:57.725] platform = base::sprintf("%s (%s-bit)", [18:02:57.725] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:57.725] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:57.725] "release", "version")], collapse = " "), [18:02:57.725] hostname = base::Sys.info()[["nodename"]]) [18:02:57.725] info <- base::sprintf("%s: %s", base::names(info), [18:02:57.725] info) [18:02:57.725] info <- base::paste(info, collapse = "; ") [18:02:57.725] if (!has_future) { [18:02:57.725] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:57.725] info) [18:02:57.725] } [18:02:57.725] else { [18:02:57.725] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:57.725] info, version) [18:02:57.725] } [18:02:57.725] base::stop(msg) [18:02:57.725] } [18:02:57.725] }) [18:02:57.725] } [18:02:57.725] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:57.725] base::options(mc.cores = 1L) [18:02:57.725] } [18:02:57.725] options(future.plan = NULL) [18:02:57.725] Sys.unsetenv("R_FUTURE_PLAN") [18:02:57.725] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:57.725] } [18:02:57.725] ...future.workdir <- getwd() [18:02:57.725] } [18:02:57.725] ...future.oldOptions <- base::as.list(base::.Options) [18:02:57.725] ...future.oldEnvVars <- base::Sys.getenv() [18:02:57.725] } [18:02:57.725] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:57.725] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:57.725] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:57.725] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:57.725] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:57.725] future.stdout.windows.reencode = NULL, width = 80L) [18:02:57.725] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:57.725] base::names(...future.oldOptions)) [18:02:57.725] } [18:02:57.725] if (FALSE) { [18:02:57.725] } [18:02:57.725] else { [18:02:57.725] if (TRUE) { [18:02:57.725] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:57.725] open = "w") [18:02:57.725] } [18:02:57.725] else { [18:02:57.725] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:57.725] windows = "NUL", "/dev/null"), open = "w") [18:02:57.725] } [18:02:57.725] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:57.725] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:57.725] base::sink(type = "output", split = FALSE) [18:02:57.725] base::close(...future.stdout) [18:02:57.725] }, add = TRUE) [18:02:57.725] } [18:02:57.725] ...future.frame <- base::sys.nframe() [18:02:57.725] ...future.conditions <- base::list() [18:02:57.725] ...future.rng <- base::globalenv()$.Random.seed [18:02:57.725] if (FALSE) { [18:02:57.725] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:57.725] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:57.725] } [18:02:57.725] ...future.result <- base::tryCatch({ [18:02:57.725] base::withCallingHandlers({ [18:02:57.725] ...future.value <- base::withVisible(base::local({ [18:02:57.725] ...future.makeSendCondition <- local({ [18:02:57.725] sendCondition <- NULL [18:02:57.725] function(frame = 1L) { [18:02:57.725] if (is.function(sendCondition)) [18:02:57.725] return(sendCondition) [18:02:57.725] ns <- getNamespace("parallel") [18:02:57.725] if (exists("sendData", mode = "function", [18:02:57.725] envir = ns)) { [18:02:57.725] parallel_sendData <- get("sendData", mode = "function", [18:02:57.725] envir = ns) [18:02:57.725] envir <- sys.frame(frame) [18:02:57.725] master <- NULL [18:02:57.725] while (!identical(envir, .GlobalEnv) && [18:02:57.725] !identical(envir, emptyenv())) { [18:02:57.725] if (exists("master", mode = "list", envir = envir, [18:02:57.725] inherits = FALSE)) { [18:02:57.725] master <- get("master", mode = "list", [18:02:57.725] envir = envir, inherits = FALSE) [18:02:57.725] if (inherits(master, c("SOCKnode", [18:02:57.725] "SOCK0node"))) { [18:02:57.725] sendCondition <<- function(cond) { [18:02:57.725] data <- list(type = "VALUE", value = cond, [18:02:57.725] success = TRUE) [18:02:57.725] parallel_sendData(master, data) [18:02:57.725] } [18:02:57.725] return(sendCondition) [18:02:57.725] } [18:02:57.725] } [18:02:57.725] frame <- frame + 1L [18:02:57.725] envir <- sys.frame(frame) [18:02:57.725] } [18:02:57.725] } [18:02:57.725] sendCondition <<- function(cond) NULL [18:02:57.725] } [18:02:57.725] }) [18:02:57.725] withCallingHandlers({ [18:02:57.725] { [18:02:57.725] Sys.sleep(0.5) [18:02:57.725] list(a = 1, b = 42L) [18:02:57.725] } [18:02:57.725] }, immediateCondition = function(cond) { [18:02:57.725] sendCondition <- ...future.makeSendCondition() [18:02:57.725] sendCondition(cond) [18:02:57.725] muffleCondition <- function (cond, pattern = "^muffle") [18:02:57.725] { [18:02:57.725] inherits <- base::inherits [18:02:57.725] invokeRestart <- base::invokeRestart [18:02:57.725] is.null <- base::is.null [18:02:57.725] muffled <- FALSE [18:02:57.725] if (inherits(cond, "message")) { [18:02:57.725] muffled <- grepl(pattern, "muffleMessage") [18:02:57.725] if (muffled) [18:02:57.725] invokeRestart("muffleMessage") [18:02:57.725] } [18:02:57.725] else if (inherits(cond, "warning")) { [18:02:57.725] muffled <- grepl(pattern, "muffleWarning") [18:02:57.725] if (muffled) [18:02:57.725] invokeRestart("muffleWarning") [18:02:57.725] } [18:02:57.725] else if (inherits(cond, "condition")) { [18:02:57.725] if (!is.null(pattern)) { [18:02:57.725] computeRestarts <- base::computeRestarts [18:02:57.725] grepl <- base::grepl [18:02:57.725] restarts <- computeRestarts(cond) [18:02:57.725] for (restart in restarts) { [18:02:57.725] name <- restart$name [18:02:57.725] if (is.null(name)) [18:02:57.725] next [18:02:57.725] if (!grepl(pattern, name)) [18:02:57.725] next [18:02:57.725] invokeRestart(restart) [18:02:57.725] muffled <- TRUE [18:02:57.725] break [18:02:57.725] } [18:02:57.725] } [18:02:57.725] } [18:02:57.725] invisible(muffled) [18:02:57.725] } [18:02:57.725] muffleCondition(cond) [18:02:57.725] }) [18:02:57.725] })) [18:02:57.725] future::FutureResult(value = ...future.value$value, [18:02:57.725] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:57.725] ...future.rng), globalenv = if (FALSE) [18:02:57.725] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:57.725] ...future.globalenv.names)) [18:02:57.725] else NULL, started = ...future.startTime, version = "1.8") [18:02:57.725] }, condition = base::local({ [18:02:57.725] c <- base::c [18:02:57.725] inherits <- base::inherits [18:02:57.725] invokeRestart <- base::invokeRestart [18:02:57.725] length <- base::length [18:02:57.725] list <- base::list [18:02:57.725] seq.int <- base::seq.int [18:02:57.725] signalCondition <- base::signalCondition [18:02:57.725] sys.calls <- base::sys.calls [18:02:57.725] `[[` <- base::`[[` [18:02:57.725] `+` <- base::`+` [18:02:57.725] `<<-` <- base::`<<-` [18:02:57.725] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:57.725] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:57.725] 3L)] [18:02:57.725] } [18:02:57.725] function(cond) { [18:02:57.725] is_error <- inherits(cond, "error") [18:02:57.725] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:57.725] NULL) [18:02:57.725] if (is_error) { [18:02:57.725] sessionInformation <- function() { [18:02:57.725] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:57.725] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:57.725] search = base::search(), system = base::Sys.info()) [18:02:57.725] } [18:02:57.725] ...future.conditions[[length(...future.conditions) + [18:02:57.725] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:57.725] cond$call), session = sessionInformation(), [18:02:57.725] timestamp = base::Sys.time(), signaled = 0L) [18:02:57.725] signalCondition(cond) [18:02:57.725] } [18:02:57.725] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:57.725] "immediateCondition"))) { [18:02:57.725] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:57.725] ...future.conditions[[length(...future.conditions) + [18:02:57.725] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:57.725] if (TRUE && !signal) { [18:02:57.725] muffleCondition <- function (cond, pattern = "^muffle") [18:02:57.725] { [18:02:57.725] inherits <- base::inherits [18:02:57.725] invokeRestart <- base::invokeRestart [18:02:57.725] is.null <- base::is.null [18:02:57.725] muffled <- FALSE [18:02:57.725] if (inherits(cond, "message")) { [18:02:57.725] muffled <- grepl(pattern, "muffleMessage") [18:02:57.725] if (muffled) [18:02:57.725] invokeRestart("muffleMessage") [18:02:57.725] } [18:02:57.725] else if (inherits(cond, "warning")) { [18:02:57.725] muffled <- grepl(pattern, "muffleWarning") [18:02:57.725] if (muffled) [18:02:57.725] invokeRestart("muffleWarning") [18:02:57.725] } [18:02:57.725] else if (inherits(cond, "condition")) { [18:02:57.725] if (!is.null(pattern)) { [18:02:57.725] computeRestarts <- base::computeRestarts [18:02:57.725] grepl <- base::grepl [18:02:57.725] restarts <- computeRestarts(cond) [18:02:57.725] for (restart in restarts) { [18:02:57.725] name <- restart$name [18:02:57.725] if (is.null(name)) [18:02:57.725] next [18:02:57.725] if (!grepl(pattern, name)) [18:02:57.725] next [18:02:57.725] invokeRestart(restart) [18:02:57.725] muffled <- TRUE [18:02:57.725] break [18:02:57.725] } [18:02:57.725] } [18:02:57.725] } [18:02:57.725] invisible(muffled) [18:02:57.725] } [18:02:57.725] muffleCondition(cond, pattern = "^muffle") [18:02:57.725] } [18:02:57.725] } [18:02:57.725] else { [18:02:57.725] if (TRUE) { [18:02:57.725] muffleCondition <- function (cond, pattern = "^muffle") [18:02:57.725] { [18:02:57.725] inherits <- base::inherits [18:02:57.725] invokeRestart <- base::invokeRestart [18:02:57.725] is.null <- base::is.null [18:02:57.725] muffled <- FALSE [18:02:57.725] if (inherits(cond, "message")) { [18:02:57.725] muffled <- grepl(pattern, "muffleMessage") [18:02:57.725] if (muffled) [18:02:57.725] invokeRestart("muffleMessage") [18:02:57.725] } [18:02:57.725] else if (inherits(cond, "warning")) { [18:02:57.725] muffled <- grepl(pattern, "muffleWarning") [18:02:57.725] if (muffled) [18:02:57.725] invokeRestart("muffleWarning") [18:02:57.725] } [18:02:57.725] else if (inherits(cond, "condition")) { [18:02:57.725] if (!is.null(pattern)) { [18:02:57.725] computeRestarts <- base::computeRestarts [18:02:57.725] grepl <- base::grepl [18:02:57.725] restarts <- computeRestarts(cond) [18:02:57.725] for (restart in restarts) { [18:02:57.725] name <- restart$name [18:02:57.725] if (is.null(name)) [18:02:57.725] next [18:02:57.725] if (!grepl(pattern, name)) [18:02:57.725] next [18:02:57.725] invokeRestart(restart) [18:02:57.725] muffled <- TRUE [18:02:57.725] break [18:02:57.725] } [18:02:57.725] } [18:02:57.725] } [18:02:57.725] invisible(muffled) [18:02:57.725] } [18:02:57.725] muffleCondition(cond, pattern = "^muffle") [18:02:57.725] } [18:02:57.725] } [18:02:57.725] } [18:02:57.725] })) [18:02:57.725] }, error = function(ex) { [18:02:57.725] base::structure(base::list(value = NULL, visible = NULL, [18:02:57.725] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:57.725] ...future.rng), started = ...future.startTime, [18:02:57.725] finished = Sys.time(), session_uuid = NA_character_, [18:02:57.725] version = "1.8"), class = "FutureResult") [18:02:57.725] }, finally = { [18:02:57.725] if (!identical(...future.workdir, getwd())) [18:02:57.725] setwd(...future.workdir) [18:02:57.725] { [18:02:57.725] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:57.725] ...future.oldOptions$nwarnings <- NULL [18:02:57.725] } [18:02:57.725] base::options(...future.oldOptions) [18:02:57.725] if (.Platform$OS.type == "windows") { [18:02:57.725] old_names <- names(...future.oldEnvVars) [18:02:57.725] envs <- base::Sys.getenv() [18:02:57.725] names <- names(envs) [18:02:57.725] common <- intersect(names, old_names) [18:02:57.725] added <- setdiff(names, old_names) [18:02:57.725] removed <- setdiff(old_names, names) [18:02:57.725] changed <- common[...future.oldEnvVars[common] != [18:02:57.725] envs[common]] [18:02:57.725] NAMES <- toupper(changed) [18:02:57.725] args <- list() [18:02:57.725] for (kk in seq_along(NAMES)) { [18:02:57.725] name <- changed[[kk]] [18:02:57.725] NAME <- NAMES[[kk]] [18:02:57.725] if (name != NAME && is.element(NAME, old_names)) [18:02:57.725] next [18:02:57.725] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:57.725] } [18:02:57.725] NAMES <- toupper(added) [18:02:57.725] for (kk in seq_along(NAMES)) { [18:02:57.725] name <- added[[kk]] [18:02:57.725] NAME <- NAMES[[kk]] [18:02:57.725] if (name != NAME && is.element(NAME, old_names)) [18:02:57.725] next [18:02:57.725] args[[name]] <- "" [18:02:57.725] } [18:02:57.725] NAMES <- toupper(removed) [18:02:57.725] for (kk in seq_along(NAMES)) { [18:02:57.725] name <- removed[[kk]] [18:02:57.725] NAME <- NAMES[[kk]] [18:02:57.725] if (name != NAME && is.element(NAME, old_names)) [18:02:57.725] next [18:02:57.725] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:57.725] } [18:02:57.725] if (length(args) > 0) [18:02:57.725] base::do.call(base::Sys.setenv, args = args) [18:02:57.725] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:57.725] } [18:02:57.725] else { [18:02:57.725] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:57.725] } [18:02:57.725] { [18:02:57.725] if (base::length(...future.futureOptionsAdded) > [18:02:57.725] 0L) { [18:02:57.725] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:57.725] base::names(opts) <- ...future.futureOptionsAdded [18:02:57.725] base::options(opts) [18:02:57.725] } [18:02:57.725] { [18:02:57.725] { [18:02:57.725] base::options(mc.cores = ...future.mc.cores.old) [18:02:57.725] NULL [18:02:57.725] } [18:02:57.725] options(future.plan = NULL) [18:02:57.725] if (is.na(NA_character_)) [18:02:57.725] Sys.unsetenv("R_FUTURE_PLAN") [18:02:57.725] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:57.725] future::plan(list(function (..., workers = availableCores(), [18:02:57.725] lazy = FALSE, rscript_libs = .libPaths(), [18:02:57.725] envir = parent.frame()) [18:02:57.725] { [18:02:57.725] if (is.function(workers)) [18:02:57.725] workers <- workers() [18:02:57.725] workers <- structure(as.integer(workers), [18:02:57.725] class = class(workers)) [18:02:57.725] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:57.725] workers >= 1) [18:02:57.725] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:57.725] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:57.725] } [18:02:57.725] future <- MultisessionFuture(..., workers = workers, [18:02:57.725] lazy = lazy, rscript_libs = rscript_libs, [18:02:57.725] envir = envir) [18:02:57.725] if (!future$lazy) [18:02:57.725] future <- run(future) [18:02:57.725] invisible(future) [18:02:57.725] }), .cleanup = FALSE, .init = FALSE) [18:02:57.725] } [18:02:57.725] } [18:02:57.725] } [18:02:57.725] }) [18:02:57.725] if (TRUE) { [18:02:57.725] base::sink(type = "output", split = FALSE) [18:02:57.725] if (TRUE) { [18:02:57.725] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:57.725] } [18:02:57.725] else { [18:02:57.725] ...future.result["stdout"] <- base::list(NULL) [18:02:57.725] } [18:02:57.725] base::close(...future.stdout) [18:02:57.725] ...future.stdout <- NULL [18:02:57.725] } [18:02:57.725] ...future.result$conditions <- ...future.conditions [18:02:57.725] ...future.result$finished <- base::Sys.time() [18:02:57.725] ...future.result [18:02:57.725] } [18:02:57.731] MultisessionFuture started [18:02:57.731] - Launch lazy future ... done [18:02:57.731] run() for 'MultisessionFuture' ... done [18:02:58.261] receiveMessageFromWorker() for ClusterFuture ... [18:02:58.262] - Validating connection of MultisessionFuture [18:02:58.262] - received message: FutureResult [18:02:58.262] - Received FutureResult [18:02:58.262] - Erased future from FutureRegistry [18:02:58.262] result() for ClusterFuture ... [18:02:58.263] - result already collected: FutureResult [18:02:58.263] result() for ClusterFuture ... done [18:02:58.263] receiveMessageFromWorker() for ClusterFuture ... done [18:02:58.263] resolve() on list ... [18:02:58.263] recursive: 0 [18:02:58.263] length: 2 [18:02:58.264] elements: 'a', 'b' [18:02:58.264] length: 1 (resolved future 1) [18:02:58.264] length: 0 (resolved future 2) [18:02:58.264] resolve() on list ... DONE [18:02:58.264] A MultisessionFuture was resolved (and resolved itself) - w/ exception ... [18:02:58.265] getGlobalsAndPackages() ... [18:02:58.265] Searching for globals... [18:02:58.266] - globals found: [2] 'list', 'stop' [18:02:58.266] Searching for globals ... DONE [18:02:58.266] Resolving globals: FALSE [18:02:58.266] [18:02:58.266] [18:02:58.267] getGlobalsAndPackages() ... DONE [18:02:58.267] run() for 'Future' ... [18:02:58.267] - state: 'created' [18:02:58.267] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:58.281] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:58.281] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:58.282] - Field: 'node' [18:02:58.282] - Field: 'label' [18:02:58.282] - Field: 'local' [18:02:58.282] - Field: 'owner' [18:02:58.282] - Field: 'envir' [18:02:58.283] - Field: 'workers' [18:02:58.283] - Field: 'packages' [18:02:58.283] - Field: 'gc' [18:02:58.283] - Field: 'conditions' [18:02:58.283] - Field: 'persistent' [18:02:58.283] - Field: 'expr' [18:02:58.284] - Field: 'uuid' [18:02:58.284] - Field: 'seed' [18:02:58.284] - Field: 'version' [18:02:58.284] - Field: 'result' [18:02:58.284] - Field: 'asynchronous' [18:02:58.285] - Field: 'calls' [18:02:58.285] - Field: 'globals' [18:02:58.285] - Field: 'stdout' [18:02:58.285] - Field: 'earlySignal' [18:02:58.285] - Field: 'lazy' [18:02:58.285] - Field: 'state' [18:02:58.286] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:58.286] - Launch lazy future ... [18:02:58.286] Packages needed by the future expression (n = 0): [18:02:58.286] Packages needed by future strategies (n = 0): [18:02:58.287] { [18:02:58.287] { [18:02:58.287] { [18:02:58.287] ...future.startTime <- base::Sys.time() [18:02:58.287] { [18:02:58.287] { [18:02:58.287] { [18:02:58.287] { [18:02:58.287] base::local({ [18:02:58.287] has_future <- base::requireNamespace("future", [18:02:58.287] quietly = TRUE) [18:02:58.287] if (has_future) { [18:02:58.287] ns <- base::getNamespace("future") [18:02:58.287] version <- ns[[".package"]][["version"]] [18:02:58.287] if (is.null(version)) [18:02:58.287] version <- utils::packageVersion("future") [18:02:58.287] } [18:02:58.287] else { [18:02:58.287] version <- NULL [18:02:58.287] } [18:02:58.287] if (!has_future || version < "1.8.0") { [18:02:58.287] info <- base::c(r_version = base::gsub("R version ", [18:02:58.287] "", base::R.version$version.string), [18:02:58.287] platform = base::sprintf("%s (%s-bit)", [18:02:58.287] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:58.287] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:58.287] "release", "version")], collapse = " "), [18:02:58.287] hostname = base::Sys.info()[["nodename"]]) [18:02:58.287] info <- base::sprintf("%s: %s", base::names(info), [18:02:58.287] info) [18:02:58.287] info <- base::paste(info, collapse = "; ") [18:02:58.287] if (!has_future) { [18:02:58.287] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:58.287] info) [18:02:58.287] } [18:02:58.287] else { [18:02:58.287] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:58.287] info, version) [18:02:58.287] } [18:02:58.287] base::stop(msg) [18:02:58.287] } [18:02:58.287] }) [18:02:58.287] } [18:02:58.287] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:58.287] base::options(mc.cores = 1L) [18:02:58.287] } [18:02:58.287] options(future.plan = NULL) [18:02:58.287] Sys.unsetenv("R_FUTURE_PLAN") [18:02:58.287] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:58.287] } [18:02:58.287] ...future.workdir <- getwd() [18:02:58.287] } [18:02:58.287] ...future.oldOptions <- base::as.list(base::.Options) [18:02:58.287] ...future.oldEnvVars <- base::Sys.getenv() [18:02:58.287] } [18:02:58.287] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:58.287] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:58.287] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:58.287] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:58.287] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:58.287] future.stdout.windows.reencode = NULL, width = 80L) [18:02:58.287] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:58.287] base::names(...future.oldOptions)) [18:02:58.287] } [18:02:58.287] if (FALSE) { [18:02:58.287] } [18:02:58.287] else { [18:02:58.287] if (TRUE) { [18:02:58.287] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:58.287] open = "w") [18:02:58.287] } [18:02:58.287] else { [18:02:58.287] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:58.287] windows = "NUL", "/dev/null"), open = "w") [18:02:58.287] } [18:02:58.287] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:58.287] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:58.287] base::sink(type = "output", split = FALSE) [18:02:58.287] base::close(...future.stdout) [18:02:58.287] }, add = TRUE) [18:02:58.287] } [18:02:58.287] ...future.frame <- base::sys.nframe() [18:02:58.287] ...future.conditions <- base::list() [18:02:58.287] ...future.rng <- base::globalenv()$.Random.seed [18:02:58.287] if (FALSE) { [18:02:58.287] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:58.287] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:58.287] } [18:02:58.287] ...future.result <- base::tryCatch({ [18:02:58.287] base::withCallingHandlers({ [18:02:58.287] ...future.value <- base::withVisible(base::local({ [18:02:58.287] ...future.makeSendCondition <- local({ [18:02:58.287] sendCondition <- NULL [18:02:58.287] function(frame = 1L) { [18:02:58.287] if (is.function(sendCondition)) [18:02:58.287] return(sendCondition) [18:02:58.287] ns <- getNamespace("parallel") [18:02:58.287] if (exists("sendData", mode = "function", [18:02:58.287] envir = ns)) { [18:02:58.287] parallel_sendData <- get("sendData", mode = "function", [18:02:58.287] envir = ns) [18:02:58.287] envir <- sys.frame(frame) [18:02:58.287] master <- NULL [18:02:58.287] while (!identical(envir, .GlobalEnv) && [18:02:58.287] !identical(envir, emptyenv())) { [18:02:58.287] if (exists("master", mode = "list", envir = envir, [18:02:58.287] inherits = FALSE)) { [18:02:58.287] master <- get("master", mode = "list", [18:02:58.287] envir = envir, inherits = FALSE) [18:02:58.287] if (inherits(master, c("SOCKnode", [18:02:58.287] "SOCK0node"))) { [18:02:58.287] sendCondition <<- function(cond) { [18:02:58.287] data <- list(type = "VALUE", value = cond, [18:02:58.287] success = TRUE) [18:02:58.287] parallel_sendData(master, data) [18:02:58.287] } [18:02:58.287] return(sendCondition) [18:02:58.287] } [18:02:58.287] } [18:02:58.287] frame <- frame + 1L [18:02:58.287] envir <- sys.frame(frame) [18:02:58.287] } [18:02:58.287] } [18:02:58.287] sendCondition <<- function(cond) NULL [18:02:58.287] } [18:02:58.287] }) [18:02:58.287] withCallingHandlers({ [18:02:58.287] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:58.287] }, immediateCondition = function(cond) { [18:02:58.287] sendCondition <- ...future.makeSendCondition() [18:02:58.287] sendCondition(cond) [18:02:58.287] muffleCondition <- function (cond, pattern = "^muffle") [18:02:58.287] { [18:02:58.287] inherits <- base::inherits [18:02:58.287] invokeRestart <- base::invokeRestart [18:02:58.287] is.null <- base::is.null [18:02:58.287] muffled <- FALSE [18:02:58.287] if (inherits(cond, "message")) { [18:02:58.287] muffled <- grepl(pattern, "muffleMessage") [18:02:58.287] if (muffled) [18:02:58.287] invokeRestart("muffleMessage") [18:02:58.287] } [18:02:58.287] else if (inherits(cond, "warning")) { [18:02:58.287] muffled <- grepl(pattern, "muffleWarning") [18:02:58.287] if (muffled) [18:02:58.287] invokeRestart("muffleWarning") [18:02:58.287] } [18:02:58.287] else if (inherits(cond, "condition")) { [18:02:58.287] if (!is.null(pattern)) { [18:02:58.287] computeRestarts <- base::computeRestarts [18:02:58.287] grepl <- base::grepl [18:02:58.287] restarts <- computeRestarts(cond) [18:02:58.287] for (restart in restarts) { [18:02:58.287] name <- restart$name [18:02:58.287] if (is.null(name)) [18:02:58.287] next [18:02:58.287] if (!grepl(pattern, name)) [18:02:58.287] next [18:02:58.287] invokeRestart(restart) [18:02:58.287] muffled <- TRUE [18:02:58.287] break [18:02:58.287] } [18:02:58.287] } [18:02:58.287] } [18:02:58.287] invisible(muffled) [18:02:58.287] } [18:02:58.287] muffleCondition(cond) [18:02:58.287] }) [18:02:58.287] })) [18:02:58.287] future::FutureResult(value = ...future.value$value, [18:02:58.287] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:58.287] ...future.rng), globalenv = if (FALSE) [18:02:58.287] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:58.287] ...future.globalenv.names)) [18:02:58.287] else NULL, started = ...future.startTime, version = "1.8") [18:02:58.287] }, condition = base::local({ [18:02:58.287] c <- base::c [18:02:58.287] inherits <- base::inherits [18:02:58.287] invokeRestart <- base::invokeRestart [18:02:58.287] length <- base::length [18:02:58.287] list <- base::list [18:02:58.287] seq.int <- base::seq.int [18:02:58.287] signalCondition <- base::signalCondition [18:02:58.287] sys.calls <- base::sys.calls [18:02:58.287] `[[` <- base::`[[` [18:02:58.287] `+` <- base::`+` [18:02:58.287] `<<-` <- base::`<<-` [18:02:58.287] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:58.287] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:58.287] 3L)] [18:02:58.287] } [18:02:58.287] function(cond) { [18:02:58.287] is_error <- inherits(cond, "error") [18:02:58.287] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:58.287] NULL) [18:02:58.287] if (is_error) { [18:02:58.287] sessionInformation <- function() { [18:02:58.287] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:58.287] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:58.287] search = base::search(), system = base::Sys.info()) [18:02:58.287] } [18:02:58.287] ...future.conditions[[length(...future.conditions) + [18:02:58.287] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:58.287] cond$call), session = sessionInformation(), [18:02:58.287] timestamp = base::Sys.time(), signaled = 0L) [18:02:58.287] signalCondition(cond) [18:02:58.287] } [18:02:58.287] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:58.287] "immediateCondition"))) { [18:02:58.287] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:58.287] ...future.conditions[[length(...future.conditions) + [18:02:58.287] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:58.287] if (TRUE && !signal) { [18:02:58.287] muffleCondition <- function (cond, pattern = "^muffle") [18:02:58.287] { [18:02:58.287] inherits <- base::inherits [18:02:58.287] invokeRestart <- base::invokeRestart [18:02:58.287] is.null <- base::is.null [18:02:58.287] muffled <- FALSE [18:02:58.287] if (inherits(cond, "message")) { [18:02:58.287] muffled <- grepl(pattern, "muffleMessage") [18:02:58.287] if (muffled) [18:02:58.287] invokeRestart("muffleMessage") [18:02:58.287] } [18:02:58.287] else if (inherits(cond, "warning")) { [18:02:58.287] muffled <- grepl(pattern, "muffleWarning") [18:02:58.287] if (muffled) [18:02:58.287] invokeRestart("muffleWarning") [18:02:58.287] } [18:02:58.287] else if (inherits(cond, "condition")) { [18:02:58.287] if (!is.null(pattern)) { [18:02:58.287] computeRestarts <- base::computeRestarts [18:02:58.287] grepl <- base::grepl [18:02:58.287] restarts <- computeRestarts(cond) [18:02:58.287] for (restart in restarts) { [18:02:58.287] name <- restart$name [18:02:58.287] if (is.null(name)) [18:02:58.287] next [18:02:58.287] if (!grepl(pattern, name)) [18:02:58.287] next [18:02:58.287] invokeRestart(restart) [18:02:58.287] muffled <- TRUE [18:02:58.287] break [18:02:58.287] } [18:02:58.287] } [18:02:58.287] } [18:02:58.287] invisible(muffled) [18:02:58.287] } [18:02:58.287] muffleCondition(cond, pattern = "^muffle") [18:02:58.287] } [18:02:58.287] } [18:02:58.287] else { [18:02:58.287] if (TRUE) { [18:02:58.287] muffleCondition <- function (cond, pattern = "^muffle") [18:02:58.287] { [18:02:58.287] inherits <- base::inherits [18:02:58.287] invokeRestart <- base::invokeRestart [18:02:58.287] is.null <- base::is.null [18:02:58.287] muffled <- FALSE [18:02:58.287] if (inherits(cond, "message")) { [18:02:58.287] muffled <- grepl(pattern, "muffleMessage") [18:02:58.287] if (muffled) [18:02:58.287] invokeRestart("muffleMessage") [18:02:58.287] } [18:02:58.287] else if (inherits(cond, "warning")) { [18:02:58.287] muffled <- grepl(pattern, "muffleWarning") [18:02:58.287] if (muffled) [18:02:58.287] invokeRestart("muffleWarning") [18:02:58.287] } [18:02:58.287] else if (inherits(cond, "condition")) { [18:02:58.287] if (!is.null(pattern)) { [18:02:58.287] computeRestarts <- base::computeRestarts [18:02:58.287] grepl <- base::grepl [18:02:58.287] restarts <- computeRestarts(cond) [18:02:58.287] for (restart in restarts) { [18:02:58.287] name <- restart$name [18:02:58.287] if (is.null(name)) [18:02:58.287] next [18:02:58.287] if (!grepl(pattern, name)) [18:02:58.287] next [18:02:58.287] invokeRestart(restart) [18:02:58.287] muffled <- TRUE [18:02:58.287] break [18:02:58.287] } [18:02:58.287] } [18:02:58.287] } [18:02:58.287] invisible(muffled) [18:02:58.287] } [18:02:58.287] muffleCondition(cond, pattern = "^muffle") [18:02:58.287] } [18:02:58.287] } [18:02:58.287] } [18:02:58.287] })) [18:02:58.287] }, error = function(ex) { [18:02:58.287] base::structure(base::list(value = NULL, visible = NULL, [18:02:58.287] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:58.287] ...future.rng), started = ...future.startTime, [18:02:58.287] finished = Sys.time(), session_uuid = NA_character_, [18:02:58.287] version = "1.8"), class = "FutureResult") [18:02:58.287] }, finally = { [18:02:58.287] if (!identical(...future.workdir, getwd())) [18:02:58.287] setwd(...future.workdir) [18:02:58.287] { [18:02:58.287] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:58.287] ...future.oldOptions$nwarnings <- NULL [18:02:58.287] } [18:02:58.287] base::options(...future.oldOptions) [18:02:58.287] if (.Platform$OS.type == "windows") { [18:02:58.287] old_names <- names(...future.oldEnvVars) [18:02:58.287] envs <- base::Sys.getenv() [18:02:58.287] names <- names(envs) [18:02:58.287] common <- intersect(names, old_names) [18:02:58.287] added <- setdiff(names, old_names) [18:02:58.287] removed <- setdiff(old_names, names) [18:02:58.287] changed <- common[...future.oldEnvVars[common] != [18:02:58.287] envs[common]] [18:02:58.287] NAMES <- toupper(changed) [18:02:58.287] args <- list() [18:02:58.287] for (kk in seq_along(NAMES)) { [18:02:58.287] name <- changed[[kk]] [18:02:58.287] NAME <- NAMES[[kk]] [18:02:58.287] if (name != NAME && is.element(NAME, old_names)) [18:02:58.287] next [18:02:58.287] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:58.287] } [18:02:58.287] NAMES <- toupper(added) [18:02:58.287] for (kk in seq_along(NAMES)) { [18:02:58.287] name <- added[[kk]] [18:02:58.287] NAME <- NAMES[[kk]] [18:02:58.287] if (name != NAME && is.element(NAME, old_names)) [18:02:58.287] next [18:02:58.287] args[[name]] <- "" [18:02:58.287] } [18:02:58.287] NAMES <- toupper(removed) [18:02:58.287] for (kk in seq_along(NAMES)) { [18:02:58.287] name <- removed[[kk]] [18:02:58.287] NAME <- NAMES[[kk]] [18:02:58.287] if (name != NAME && is.element(NAME, old_names)) [18:02:58.287] next [18:02:58.287] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:58.287] } [18:02:58.287] if (length(args) > 0) [18:02:58.287] base::do.call(base::Sys.setenv, args = args) [18:02:58.287] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:58.287] } [18:02:58.287] else { [18:02:58.287] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:58.287] } [18:02:58.287] { [18:02:58.287] if (base::length(...future.futureOptionsAdded) > [18:02:58.287] 0L) { [18:02:58.287] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:58.287] base::names(opts) <- ...future.futureOptionsAdded [18:02:58.287] base::options(opts) [18:02:58.287] } [18:02:58.287] { [18:02:58.287] { [18:02:58.287] base::options(mc.cores = ...future.mc.cores.old) [18:02:58.287] NULL [18:02:58.287] } [18:02:58.287] options(future.plan = NULL) [18:02:58.287] if (is.na(NA_character_)) [18:02:58.287] Sys.unsetenv("R_FUTURE_PLAN") [18:02:58.287] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:58.287] future::plan(list(function (..., workers = availableCores(), [18:02:58.287] lazy = FALSE, rscript_libs = .libPaths(), [18:02:58.287] envir = parent.frame()) [18:02:58.287] { [18:02:58.287] if (is.function(workers)) [18:02:58.287] workers <- workers() [18:02:58.287] workers <- structure(as.integer(workers), [18:02:58.287] class = class(workers)) [18:02:58.287] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:58.287] workers >= 1) [18:02:58.287] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:58.287] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:58.287] } [18:02:58.287] future <- MultisessionFuture(..., workers = workers, [18:02:58.287] lazy = lazy, rscript_libs = rscript_libs, [18:02:58.287] envir = envir) [18:02:58.287] if (!future$lazy) [18:02:58.287] future <- run(future) [18:02:58.287] invisible(future) [18:02:58.287] }), .cleanup = FALSE, .init = FALSE) [18:02:58.287] } [18:02:58.287] } [18:02:58.287] } [18:02:58.287] }) [18:02:58.287] if (TRUE) { [18:02:58.287] base::sink(type = "output", split = FALSE) [18:02:58.287] if (TRUE) { [18:02:58.287] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:58.287] } [18:02:58.287] else { [18:02:58.287] ...future.result["stdout"] <- base::list(NULL) [18:02:58.287] } [18:02:58.287] base::close(...future.stdout) [18:02:58.287] ...future.stdout <- NULL [18:02:58.287] } [18:02:58.287] ...future.result$conditions <- ...future.conditions [18:02:58.287] ...future.result$finished <- base::Sys.time() [18:02:58.287] ...future.result [18:02:58.287] } [18:02:58.293] MultisessionFuture started [18:02:58.293] - Launch lazy future ... done [18:02:58.293] run() for 'MultisessionFuture' ... done [18:02:58.309] receiveMessageFromWorker() for ClusterFuture ... [18:02:58.309] - Validating connection of MultisessionFuture [18:02:58.310] - received message: FutureResult [18:02:58.310] - Received FutureResult [18:02:58.310] - Erased future from FutureRegistry [18:02:58.310] result() for ClusterFuture ... [18:02:58.310] - result already collected: FutureResult [18:02:58.310] result() for ClusterFuture ... done [18:02:58.311] signalConditions() ... [18:02:58.311] - include = 'immediateCondition' [18:02:58.311] - exclude = [18:02:58.311] - resignal = FALSE [18:02:58.311] - Number of conditions: 1 [18:02:58.311] signalConditions() ... done [18:02:58.312] receiveMessageFromWorker() for ClusterFuture ... done [18:02:58.312] A MultisessionFuture was resolved [18:02:58.312] getGlobalsAndPackages() ... [18:02:58.312] Searching for globals... [18:02:58.313] - globals found: [2] 'list', 'stop' [18:02:58.313] Searching for globals ... DONE [18:02:58.313] Resolving globals: FALSE [18:02:58.314] [18:02:58.314] [18:02:58.314] getGlobalsAndPackages() ... DONE [18:02:58.314] run() for 'Future' ... [18:02:58.314] - state: 'created' [18:02:58.315] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:58.328] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:58.329] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:58.329] - Field: 'node' [18:02:58.329] - Field: 'label' [18:02:58.329] - Field: 'local' [18:02:58.329] - Field: 'owner' [18:02:58.330] - Field: 'envir' [18:02:58.330] - Field: 'workers' [18:02:58.330] - Field: 'packages' [18:02:58.330] - Field: 'gc' [18:02:58.330] - Field: 'conditions' [18:02:58.331] - Field: 'persistent' [18:02:58.331] - Field: 'expr' [18:02:58.331] - Field: 'uuid' [18:02:58.331] - Field: 'seed' [18:02:58.331] - Field: 'version' [18:02:58.331] - Field: 'result' [18:02:58.332] - Field: 'asynchronous' [18:02:58.332] - Field: 'calls' [18:02:58.332] - Field: 'globals' [18:02:58.332] - Field: 'stdout' [18:02:58.332] - Field: 'earlySignal' [18:02:58.332] - Field: 'lazy' [18:02:58.333] - Field: 'state' [18:02:58.333] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:58.333] - Launch lazy future ... [18:02:58.333] Packages needed by the future expression (n = 0): [18:02:58.334] Packages needed by future strategies (n = 0): [18:02:58.334] { [18:02:58.334] { [18:02:58.334] { [18:02:58.334] ...future.startTime <- base::Sys.time() [18:02:58.334] { [18:02:58.334] { [18:02:58.334] { [18:02:58.334] { [18:02:58.334] base::local({ [18:02:58.334] has_future <- base::requireNamespace("future", [18:02:58.334] quietly = TRUE) [18:02:58.334] if (has_future) { [18:02:58.334] ns <- base::getNamespace("future") [18:02:58.334] version <- ns[[".package"]][["version"]] [18:02:58.334] if (is.null(version)) [18:02:58.334] version <- utils::packageVersion("future") [18:02:58.334] } [18:02:58.334] else { [18:02:58.334] version <- NULL [18:02:58.334] } [18:02:58.334] if (!has_future || version < "1.8.0") { [18:02:58.334] info <- base::c(r_version = base::gsub("R version ", [18:02:58.334] "", base::R.version$version.string), [18:02:58.334] platform = base::sprintf("%s (%s-bit)", [18:02:58.334] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:58.334] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:58.334] "release", "version")], collapse = " "), [18:02:58.334] hostname = base::Sys.info()[["nodename"]]) [18:02:58.334] info <- base::sprintf("%s: %s", base::names(info), [18:02:58.334] info) [18:02:58.334] info <- base::paste(info, collapse = "; ") [18:02:58.334] if (!has_future) { [18:02:58.334] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:58.334] info) [18:02:58.334] } [18:02:58.334] else { [18:02:58.334] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:58.334] info, version) [18:02:58.334] } [18:02:58.334] base::stop(msg) [18:02:58.334] } [18:02:58.334] }) [18:02:58.334] } [18:02:58.334] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:58.334] base::options(mc.cores = 1L) [18:02:58.334] } [18:02:58.334] options(future.plan = NULL) [18:02:58.334] Sys.unsetenv("R_FUTURE_PLAN") [18:02:58.334] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:58.334] } [18:02:58.334] ...future.workdir <- getwd() [18:02:58.334] } [18:02:58.334] ...future.oldOptions <- base::as.list(base::.Options) [18:02:58.334] ...future.oldEnvVars <- base::Sys.getenv() [18:02:58.334] } [18:02:58.334] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:58.334] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:58.334] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:58.334] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:58.334] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:58.334] future.stdout.windows.reencode = NULL, width = 80L) [18:02:58.334] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:58.334] base::names(...future.oldOptions)) [18:02:58.334] } [18:02:58.334] if (FALSE) { [18:02:58.334] } [18:02:58.334] else { [18:02:58.334] if (TRUE) { [18:02:58.334] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:58.334] open = "w") [18:02:58.334] } [18:02:58.334] else { [18:02:58.334] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:58.334] windows = "NUL", "/dev/null"), open = "w") [18:02:58.334] } [18:02:58.334] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:58.334] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:58.334] base::sink(type = "output", split = FALSE) [18:02:58.334] base::close(...future.stdout) [18:02:58.334] }, add = TRUE) [18:02:58.334] } [18:02:58.334] ...future.frame <- base::sys.nframe() [18:02:58.334] ...future.conditions <- base::list() [18:02:58.334] ...future.rng <- base::globalenv()$.Random.seed [18:02:58.334] if (FALSE) { [18:02:58.334] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:58.334] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:58.334] } [18:02:58.334] ...future.result <- base::tryCatch({ [18:02:58.334] base::withCallingHandlers({ [18:02:58.334] ...future.value <- base::withVisible(base::local({ [18:02:58.334] ...future.makeSendCondition <- local({ [18:02:58.334] sendCondition <- NULL [18:02:58.334] function(frame = 1L) { [18:02:58.334] if (is.function(sendCondition)) [18:02:58.334] return(sendCondition) [18:02:58.334] ns <- getNamespace("parallel") [18:02:58.334] if (exists("sendData", mode = "function", [18:02:58.334] envir = ns)) { [18:02:58.334] parallel_sendData <- get("sendData", mode = "function", [18:02:58.334] envir = ns) [18:02:58.334] envir <- sys.frame(frame) [18:02:58.334] master <- NULL [18:02:58.334] while (!identical(envir, .GlobalEnv) && [18:02:58.334] !identical(envir, emptyenv())) { [18:02:58.334] if (exists("master", mode = "list", envir = envir, [18:02:58.334] inherits = FALSE)) { [18:02:58.334] master <- get("master", mode = "list", [18:02:58.334] envir = envir, inherits = FALSE) [18:02:58.334] if (inherits(master, c("SOCKnode", [18:02:58.334] "SOCK0node"))) { [18:02:58.334] sendCondition <<- function(cond) { [18:02:58.334] data <- list(type = "VALUE", value = cond, [18:02:58.334] success = TRUE) [18:02:58.334] parallel_sendData(master, data) [18:02:58.334] } [18:02:58.334] return(sendCondition) [18:02:58.334] } [18:02:58.334] } [18:02:58.334] frame <- frame + 1L [18:02:58.334] envir <- sys.frame(frame) [18:02:58.334] } [18:02:58.334] } [18:02:58.334] sendCondition <<- function(cond) NULL [18:02:58.334] } [18:02:58.334] }) [18:02:58.334] withCallingHandlers({ [18:02:58.334] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:58.334] }, immediateCondition = function(cond) { [18:02:58.334] sendCondition <- ...future.makeSendCondition() [18:02:58.334] sendCondition(cond) [18:02:58.334] muffleCondition <- function (cond, pattern = "^muffle") [18:02:58.334] { [18:02:58.334] inherits <- base::inherits [18:02:58.334] invokeRestart <- base::invokeRestart [18:02:58.334] is.null <- base::is.null [18:02:58.334] muffled <- FALSE [18:02:58.334] if (inherits(cond, "message")) { [18:02:58.334] muffled <- grepl(pattern, "muffleMessage") [18:02:58.334] if (muffled) [18:02:58.334] invokeRestart("muffleMessage") [18:02:58.334] } [18:02:58.334] else if (inherits(cond, "warning")) { [18:02:58.334] muffled <- grepl(pattern, "muffleWarning") [18:02:58.334] if (muffled) [18:02:58.334] invokeRestart("muffleWarning") [18:02:58.334] } [18:02:58.334] else if (inherits(cond, "condition")) { [18:02:58.334] if (!is.null(pattern)) { [18:02:58.334] computeRestarts <- base::computeRestarts [18:02:58.334] grepl <- base::grepl [18:02:58.334] restarts <- computeRestarts(cond) [18:02:58.334] for (restart in restarts) { [18:02:58.334] name <- restart$name [18:02:58.334] if (is.null(name)) [18:02:58.334] next [18:02:58.334] if (!grepl(pattern, name)) [18:02:58.334] next [18:02:58.334] invokeRestart(restart) [18:02:58.334] muffled <- TRUE [18:02:58.334] break [18:02:58.334] } [18:02:58.334] } [18:02:58.334] } [18:02:58.334] invisible(muffled) [18:02:58.334] } [18:02:58.334] muffleCondition(cond) [18:02:58.334] }) [18:02:58.334] })) [18:02:58.334] future::FutureResult(value = ...future.value$value, [18:02:58.334] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:58.334] ...future.rng), globalenv = if (FALSE) [18:02:58.334] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:58.334] ...future.globalenv.names)) [18:02:58.334] else NULL, started = ...future.startTime, version = "1.8") [18:02:58.334] }, condition = base::local({ [18:02:58.334] c <- base::c [18:02:58.334] inherits <- base::inherits [18:02:58.334] invokeRestart <- base::invokeRestart [18:02:58.334] length <- base::length [18:02:58.334] list <- base::list [18:02:58.334] seq.int <- base::seq.int [18:02:58.334] signalCondition <- base::signalCondition [18:02:58.334] sys.calls <- base::sys.calls [18:02:58.334] `[[` <- base::`[[` [18:02:58.334] `+` <- base::`+` [18:02:58.334] `<<-` <- base::`<<-` [18:02:58.334] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:58.334] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:58.334] 3L)] [18:02:58.334] } [18:02:58.334] function(cond) { [18:02:58.334] is_error <- inherits(cond, "error") [18:02:58.334] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:58.334] NULL) [18:02:58.334] if (is_error) { [18:02:58.334] sessionInformation <- function() { [18:02:58.334] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:58.334] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:58.334] search = base::search(), system = base::Sys.info()) [18:02:58.334] } [18:02:58.334] ...future.conditions[[length(...future.conditions) + [18:02:58.334] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:58.334] cond$call), session = sessionInformation(), [18:02:58.334] timestamp = base::Sys.time(), signaled = 0L) [18:02:58.334] signalCondition(cond) [18:02:58.334] } [18:02:58.334] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:58.334] "immediateCondition"))) { [18:02:58.334] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:58.334] ...future.conditions[[length(...future.conditions) + [18:02:58.334] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:58.334] if (TRUE && !signal) { [18:02:58.334] muffleCondition <- function (cond, pattern = "^muffle") [18:02:58.334] { [18:02:58.334] inherits <- base::inherits [18:02:58.334] invokeRestart <- base::invokeRestart [18:02:58.334] is.null <- base::is.null [18:02:58.334] muffled <- FALSE [18:02:58.334] if (inherits(cond, "message")) { [18:02:58.334] muffled <- grepl(pattern, "muffleMessage") [18:02:58.334] if (muffled) [18:02:58.334] invokeRestart("muffleMessage") [18:02:58.334] } [18:02:58.334] else if (inherits(cond, "warning")) { [18:02:58.334] muffled <- grepl(pattern, "muffleWarning") [18:02:58.334] if (muffled) [18:02:58.334] invokeRestart("muffleWarning") [18:02:58.334] } [18:02:58.334] else if (inherits(cond, "condition")) { [18:02:58.334] if (!is.null(pattern)) { [18:02:58.334] computeRestarts <- base::computeRestarts [18:02:58.334] grepl <- base::grepl [18:02:58.334] restarts <- computeRestarts(cond) [18:02:58.334] for (restart in restarts) { [18:02:58.334] name <- restart$name [18:02:58.334] if (is.null(name)) [18:02:58.334] next [18:02:58.334] if (!grepl(pattern, name)) [18:02:58.334] next [18:02:58.334] invokeRestart(restart) [18:02:58.334] muffled <- TRUE [18:02:58.334] break [18:02:58.334] } [18:02:58.334] } [18:02:58.334] } [18:02:58.334] invisible(muffled) [18:02:58.334] } [18:02:58.334] muffleCondition(cond, pattern = "^muffle") [18:02:58.334] } [18:02:58.334] } [18:02:58.334] else { [18:02:58.334] if (TRUE) { [18:02:58.334] muffleCondition <- function (cond, pattern = "^muffle") [18:02:58.334] { [18:02:58.334] inherits <- base::inherits [18:02:58.334] invokeRestart <- base::invokeRestart [18:02:58.334] is.null <- base::is.null [18:02:58.334] muffled <- FALSE [18:02:58.334] if (inherits(cond, "message")) { [18:02:58.334] muffled <- grepl(pattern, "muffleMessage") [18:02:58.334] if (muffled) [18:02:58.334] invokeRestart("muffleMessage") [18:02:58.334] } [18:02:58.334] else if (inherits(cond, "warning")) { [18:02:58.334] muffled <- grepl(pattern, "muffleWarning") [18:02:58.334] if (muffled) [18:02:58.334] invokeRestart("muffleWarning") [18:02:58.334] } [18:02:58.334] else if (inherits(cond, "condition")) { [18:02:58.334] if (!is.null(pattern)) { [18:02:58.334] computeRestarts <- base::computeRestarts [18:02:58.334] grepl <- base::grepl [18:02:58.334] restarts <- computeRestarts(cond) [18:02:58.334] for (restart in restarts) { [18:02:58.334] name <- restart$name [18:02:58.334] if (is.null(name)) [18:02:58.334] next [18:02:58.334] if (!grepl(pattern, name)) [18:02:58.334] next [18:02:58.334] invokeRestart(restart) [18:02:58.334] muffled <- TRUE [18:02:58.334] break [18:02:58.334] } [18:02:58.334] } [18:02:58.334] } [18:02:58.334] invisible(muffled) [18:02:58.334] } [18:02:58.334] muffleCondition(cond, pattern = "^muffle") [18:02:58.334] } [18:02:58.334] } [18:02:58.334] } [18:02:58.334] })) [18:02:58.334] }, error = function(ex) { [18:02:58.334] base::structure(base::list(value = NULL, visible = NULL, [18:02:58.334] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:58.334] ...future.rng), started = ...future.startTime, [18:02:58.334] finished = Sys.time(), session_uuid = NA_character_, [18:02:58.334] version = "1.8"), class = "FutureResult") [18:02:58.334] }, finally = { [18:02:58.334] if (!identical(...future.workdir, getwd())) [18:02:58.334] setwd(...future.workdir) [18:02:58.334] { [18:02:58.334] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:58.334] ...future.oldOptions$nwarnings <- NULL [18:02:58.334] } [18:02:58.334] base::options(...future.oldOptions) [18:02:58.334] if (.Platform$OS.type == "windows") { [18:02:58.334] old_names <- names(...future.oldEnvVars) [18:02:58.334] envs <- base::Sys.getenv() [18:02:58.334] names <- names(envs) [18:02:58.334] common <- intersect(names, old_names) [18:02:58.334] added <- setdiff(names, old_names) [18:02:58.334] removed <- setdiff(old_names, names) [18:02:58.334] changed <- common[...future.oldEnvVars[common] != [18:02:58.334] envs[common]] [18:02:58.334] NAMES <- toupper(changed) [18:02:58.334] args <- list() [18:02:58.334] for (kk in seq_along(NAMES)) { [18:02:58.334] name <- changed[[kk]] [18:02:58.334] NAME <- NAMES[[kk]] [18:02:58.334] if (name != NAME && is.element(NAME, old_names)) [18:02:58.334] next [18:02:58.334] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:58.334] } [18:02:58.334] NAMES <- toupper(added) [18:02:58.334] for (kk in seq_along(NAMES)) { [18:02:58.334] name <- added[[kk]] [18:02:58.334] NAME <- NAMES[[kk]] [18:02:58.334] if (name != NAME && is.element(NAME, old_names)) [18:02:58.334] next [18:02:58.334] args[[name]] <- "" [18:02:58.334] } [18:02:58.334] NAMES <- toupper(removed) [18:02:58.334] for (kk in seq_along(NAMES)) { [18:02:58.334] name <- removed[[kk]] [18:02:58.334] NAME <- NAMES[[kk]] [18:02:58.334] if (name != NAME && is.element(NAME, old_names)) [18:02:58.334] next [18:02:58.334] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:58.334] } [18:02:58.334] if (length(args) > 0) [18:02:58.334] base::do.call(base::Sys.setenv, args = args) [18:02:58.334] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:58.334] } [18:02:58.334] else { [18:02:58.334] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:58.334] } [18:02:58.334] { [18:02:58.334] if (base::length(...future.futureOptionsAdded) > [18:02:58.334] 0L) { [18:02:58.334] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:58.334] base::names(opts) <- ...future.futureOptionsAdded [18:02:58.334] base::options(opts) [18:02:58.334] } [18:02:58.334] { [18:02:58.334] { [18:02:58.334] base::options(mc.cores = ...future.mc.cores.old) [18:02:58.334] NULL [18:02:58.334] } [18:02:58.334] options(future.plan = NULL) [18:02:58.334] if (is.na(NA_character_)) [18:02:58.334] Sys.unsetenv("R_FUTURE_PLAN") [18:02:58.334] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:58.334] future::plan(list(function (..., workers = availableCores(), [18:02:58.334] lazy = FALSE, rscript_libs = .libPaths(), [18:02:58.334] envir = parent.frame()) [18:02:58.334] { [18:02:58.334] if (is.function(workers)) [18:02:58.334] workers <- workers() [18:02:58.334] workers <- structure(as.integer(workers), [18:02:58.334] class = class(workers)) [18:02:58.334] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:58.334] workers >= 1) [18:02:58.334] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:58.334] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:58.334] } [18:02:58.334] future <- MultisessionFuture(..., workers = workers, [18:02:58.334] lazy = lazy, rscript_libs = rscript_libs, [18:02:58.334] envir = envir) [18:02:58.334] if (!future$lazy) [18:02:58.334] future <- run(future) [18:02:58.334] invisible(future) [18:02:58.334] }), .cleanup = FALSE, .init = FALSE) [18:02:58.334] } [18:02:58.334] } [18:02:58.334] } [18:02:58.334] }) [18:02:58.334] if (TRUE) { [18:02:58.334] base::sink(type = "output", split = FALSE) [18:02:58.334] if (TRUE) { [18:02:58.334] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:58.334] } [18:02:58.334] else { [18:02:58.334] ...future.result["stdout"] <- base::list(NULL) [18:02:58.334] } [18:02:58.334] base::close(...future.stdout) [18:02:58.334] ...future.stdout <- NULL [18:02:58.334] } [18:02:58.334] ...future.result$conditions <- ...future.conditions [18:02:58.334] ...future.result$finished <- base::Sys.time() [18:02:58.334] ...future.result [18:02:58.334] } [18:02:58.340] MultisessionFuture started [18:02:58.340] - Launch lazy future ... done [18:02:58.340] run() for 'MultisessionFuture' ... done [18:02:58.357] receiveMessageFromWorker() for ClusterFuture ... [18:02:58.357] - Validating connection of MultisessionFuture [18:02:58.357] - received message: FutureResult [18:02:58.358] - Received FutureResult [18:02:58.358] - Erased future from FutureRegistry [18:02:58.358] result() for ClusterFuture ... [18:02:58.358] - result already collected: FutureResult [18:02:58.358] result() for ClusterFuture ... done [18:02:58.358] signalConditions() ... [18:02:58.359] - include = 'immediateCondition' [18:02:58.359] - exclude = [18:02:58.359] - resignal = FALSE [18:02:58.359] - Number of conditions: 1 [18:02:58.359] signalConditions() ... done [18:02:58.359] receiveMessageFromWorker() for ClusterFuture ... done [18:02:58.360] A MultisessionFuture was resolved - result = TRUE, recursive = 1 ... DONE - result = TRUE, recursive = 2 ... [18:02:58.363] getGlobalsAndPackages() ... [18:02:58.363] Searching for globals... [18:02:58.364] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:58.364] Searching for globals ... DONE [18:02:58.365] Resolving globals: FALSE [18:02:58.365] [18:02:58.365] [18:02:58.365] getGlobalsAndPackages() ... DONE [18:02:58.366] run() for 'Future' ... [18:02:58.366] - state: 'created' [18:02:58.366] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:58.380] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:58.380] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:58.380] - Field: 'node' [18:02:58.381] - Field: 'label' [18:02:58.381] - Field: 'local' [18:02:58.381] - Field: 'owner' [18:02:58.381] - Field: 'envir' [18:02:58.381] - Field: 'workers' [18:02:58.382] - Field: 'packages' [18:02:58.382] - Field: 'gc' [18:02:58.382] - Field: 'conditions' [18:02:58.382] - Field: 'persistent' [18:02:58.382] - Field: 'expr' [18:02:58.382] - Field: 'uuid' [18:02:58.383] - Field: 'seed' [18:02:58.383] - Field: 'version' [18:02:58.383] - Field: 'result' [18:02:58.383] - Field: 'asynchronous' [18:02:58.383] - Field: 'calls' [18:02:58.383] - Field: 'globals' [18:02:58.384] - Field: 'stdout' [18:02:58.384] - Field: 'earlySignal' [18:02:58.384] - Field: 'lazy' [18:02:58.384] - Field: 'state' [18:02:58.384] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:58.385] - Launch lazy future ... [18:02:58.385] Packages needed by the future expression (n = 0): [18:02:58.385] Packages needed by future strategies (n = 0): [18:02:58.386] { [18:02:58.386] { [18:02:58.386] { [18:02:58.386] ...future.startTime <- base::Sys.time() [18:02:58.386] { [18:02:58.386] { [18:02:58.386] { [18:02:58.386] { [18:02:58.386] base::local({ [18:02:58.386] has_future <- base::requireNamespace("future", [18:02:58.386] quietly = TRUE) [18:02:58.386] if (has_future) { [18:02:58.386] ns <- base::getNamespace("future") [18:02:58.386] version <- ns[[".package"]][["version"]] [18:02:58.386] if (is.null(version)) [18:02:58.386] version <- utils::packageVersion("future") [18:02:58.386] } [18:02:58.386] else { [18:02:58.386] version <- NULL [18:02:58.386] } [18:02:58.386] if (!has_future || version < "1.8.0") { [18:02:58.386] info <- base::c(r_version = base::gsub("R version ", [18:02:58.386] "", base::R.version$version.string), [18:02:58.386] platform = base::sprintf("%s (%s-bit)", [18:02:58.386] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:58.386] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:58.386] "release", "version")], collapse = " "), [18:02:58.386] hostname = base::Sys.info()[["nodename"]]) [18:02:58.386] info <- base::sprintf("%s: %s", base::names(info), [18:02:58.386] info) [18:02:58.386] info <- base::paste(info, collapse = "; ") [18:02:58.386] if (!has_future) { [18:02:58.386] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:58.386] info) [18:02:58.386] } [18:02:58.386] else { [18:02:58.386] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:58.386] info, version) [18:02:58.386] } [18:02:58.386] base::stop(msg) [18:02:58.386] } [18:02:58.386] }) [18:02:58.386] } [18:02:58.386] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:58.386] base::options(mc.cores = 1L) [18:02:58.386] } [18:02:58.386] options(future.plan = NULL) [18:02:58.386] Sys.unsetenv("R_FUTURE_PLAN") [18:02:58.386] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:58.386] } [18:02:58.386] ...future.workdir <- getwd() [18:02:58.386] } [18:02:58.386] ...future.oldOptions <- base::as.list(base::.Options) [18:02:58.386] ...future.oldEnvVars <- base::Sys.getenv() [18:02:58.386] } [18:02:58.386] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:58.386] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:58.386] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:58.386] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:58.386] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:58.386] future.stdout.windows.reencode = NULL, width = 80L) [18:02:58.386] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:58.386] base::names(...future.oldOptions)) [18:02:58.386] } [18:02:58.386] if (FALSE) { [18:02:58.386] } [18:02:58.386] else { [18:02:58.386] if (TRUE) { [18:02:58.386] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:58.386] open = "w") [18:02:58.386] } [18:02:58.386] else { [18:02:58.386] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:58.386] windows = "NUL", "/dev/null"), open = "w") [18:02:58.386] } [18:02:58.386] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:58.386] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:58.386] base::sink(type = "output", split = FALSE) [18:02:58.386] base::close(...future.stdout) [18:02:58.386] }, add = TRUE) [18:02:58.386] } [18:02:58.386] ...future.frame <- base::sys.nframe() [18:02:58.386] ...future.conditions <- base::list() [18:02:58.386] ...future.rng <- base::globalenv()$.Random.seed [18:02:58.386] if (FALSE) { [18:02:58.386] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:58.386] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:58.386] } [18:02:58.386] ...future.result <- base::tryCatch({ [18:02:58.386] base::withCallingHandlers({ [18:02:58.386] ...future.value <- base::withVisible(base::local({ [18:02:58.386] ...future.makeSendCondition <- local({ [18:02:58.386] sendCondition <- NULL [18:02:58.386] function(frame = 1L) { [18:02:58.386] if (is.function(sendCondition)) [18:02:58.386] return(sendCondition) [18:02:58.386] ns <- getNamespace("parallel") [18:02:58.386] if (exists("sendData", mode = "function", [18:02:58.386] envir = ns)) { [18:02:58.386] parallel_sendData <- get("sendData", mode = "function", [18:02:58.386] envir = ns) [18:02:58.386] envir <- sys.frame(frame) [18:02:58.386] master <- NULL [18:02:58.386] while (!identical(envir, .GlobalEnv) && [18:02:58.386] !identical(envir, emptyenv())) { [18:02:58.386] if (exists("master", mode = "list", envir = envir, [18:02:58.386] inherits = FALSE)) { [18:02:58.386] master <- get("master", mode = "list", [18:02:58.386] envir = envir, inherits = FALSE) [18:02:58.386] if (inherits(master, c("SOCKnode", [18:02:58.386] "SOCK0node"))) { [18:02:58.386] sendCondition <<- function(cond) { [18:02:58.386] data <- list(type = "VALUE", value = cond, [18:02:58.386] success = TRUE) [18:02:58.386] parallel_sendData(master, data) [18:02:58.386] } [18:02:58.386] return(sendCondition) [18:02:58.386] } [18:02:58.386] } [18:02:58.386] frame <- frame + 1L [18:02:58.386] envir <- sys.frame(frame) [18:02:58.386] } [18:02:58.386] } [18:02:58.386] sendCondition <<- function(cond) NULL [18:02:58.386] } [18:02:58.386] }) [18:02:58.386] withCallingHandlers({ [18:02:58.386] { [18:02:58.386] Sys.sleep(0.5) [18:02:58.386] list(a = 1, b = 42L) [18:02:58.386] } [18:02:58.386] }, immediateCondition = function(cond) { [18:02:58.386] sendCondition <- ...future.makeSendCondition() [18:02:58.386] sendCondition(cond) [18:02:58.386] muffleCondition <- function (cond, pattern = "^muffle") [18:02:58.386] { [18:02:58.386] inherits <- base::inherits [18:02:58.386] invokeRestart <- base::invokeRestart [18:02:58.386] is.null <- base::is.null [18:02:58.386] muffled <- FALSE [18:02:58.386] if (inherits(cond, "message")) { [18:02:58.386] muffled <- grepl(pattern, "muffleMessage") [18:02:58.386] if (muffled) [18:02:58.386] invokeRestart("muffleMessage") [18:02:58.386] } [18:02:58.386] else if (inherits(cond, "warning")) { [18:02:58.386] muffled <- grepl(pattern, "muffleWarning") [18:02:58.386] if (muffled) [18:02:58.386] invokeRestart("muffleWarning") [18:02:58.386] } [18:02:58.386] else if (inherits(cond, "condition")) { [18:02:58.386] if (!is.null(pattern)) { [18:02:58.386] computeRestarts <- base::computeRestarts [18:02:58.386] grepl <- base::grepl [18:02:58.386] restarts <- computeRestarts(cond) [18:02:58.386] for (restart in restarts) { [18:02:58.386] name <- restart$name [18:02:58.386] if (is.null(name)) [18:02:58.386] next [18:02:58.386] if (!grepl(pattern, name)) [18:02:58.386] next [18:02:58.386] invokeRestart(restart) [18:02:58.386] muffled <- TRUE [18:02:58.386] break [18:02:58.386] } [18:02:58.386] } [18:02:58.386] } [18:02:58.386] invisible(muffled) [18:02:58.386] } [18:02:58.386] muffleCondition(cond) [18:02:58.386] }) [18:02:58.386] })) [18:02:58.386] future::FutureResult(value = ...future.value$value, [18:02:58.386] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:58.386] ...future.rng), globalenv = if (FALSE) [18:02:58.386] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:58.386] ...future.globalenv.names)) [18:02:58.386] else NULL, started = ...future.startTime, version = "1.8") [18:02:58.386] }, condition = base::local({ [18:02:58.386] c <- base::c [18:02:58.386] inherits <- base::inherits [18:02:58.386] invokeRestart <- base::invokeRestart [18:02:58.386] length <- base::length [18:02:58.386] list <- base::list [18:02:58.386] seq.int <- base::seq.int [18:02:58.386] signalCondition <- base::signalCondition [18:02:58.386] sys.calls <- base::sys.calls [18:02:58.386] `[[` <- base::`[[` [18:02:58.386] `+` <- base::`+` [18:02:58.386] `<<-` <- base::`<<-` [18:02:58.386] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:58.386] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:58.386] 3L)] [18:02:58.386] } [18:02:58.386] function(cond) { [18:02:58.386] is_error <- inherits(cond, "error") [18:02:58.386] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:58.386] NULL) [18:02:58.386] if (is_error) { [18:02:58.386] sessionInformation <- function() { [18:02:58.386] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:58.386] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:58.386] search = base::search(), system = base::Sys.info()) [18:02:58.386] } [18:02:58.386] ...future.conditions[[length(...future.conditions) + [18:02:58.386] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:58.386] cond$call), session = sessionInformation(), [18:02:58.386] timestamp = base::Sys.time(), signaled = 0L) [18:02:58.386] signalCondition(cond) [18:02:58.386] } [18:02:58.386] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:58.386] "immediateCondition"))) { [18:02:58.386] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:58.386] ...future.conditions[[length(...future.conditions) + [18:02:58.386] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:58.386] if (TRUE && !signal) { [18:02:58.386] muffleCondition <- function (cond, pattern = "^muffle") [18:02:58.386] { [18:02:58.386] inherits <- base::inherits [18:02:58.386] invokeRestart <- base::invokeRestart [18:02:58.386] is.null <- base::is.null [18:02:58.386] muffled <- FALSE [18:02:58.386] if (inherits(cond, "message")) { [18:02:58.386] muffled <- grepl(pattern, "muffleMessage") [18:02:58.386] if (muffled) [18:02:58.386] invokeRestart("muffleMessage") [18:02:58.386] } [18:02:58.386] else if (inherits(cond, "warning")) { [18:02:58.386] muffled <- grepl(pattern, "muffleWarning") [18:02:58.386] if (muffled) [18:02:58.386] invokeRestart("muffleWarning") [18:02:58.386] } [18:02:58.386] else if (inherits(cond, "condition")) { [18:02:58.386] if (!is.null(pattern)) { [18:02:58.386] computeRestarts <- base::computeRestarts [18:02:58.386] grepl <- base::grepl [18:02:58.386] restarts <- computeRestarts(cond) [18:02:58.386] for (restart in restarts) { [18:02:58.386] name <- restart$name [18:02:58.386] if (is.null(name)) [18:02:58.386] next [18:02:58.386] if (!grepl(pattern, name)) [18:02:58.386] next [18:02:58.386] invokeRestart(restart) [18:02:58.386] muffled <- TRUE [18:02:58.386] break [18:02:58.386] } [18:02:58.386] } [18:02:58.386] } [18:02:58.386] invisible(muffled) [18:02:58.386] } [18:02:58.386] muffleCondition(cond, pattern = "^muffle") [18:02:58.386] } [18:02:58.386] } [18:02:58.386] else { [18:02:58.386] if (TRUE) { [18:02:58.386] muffleCondition <- function (cond, pattern = "^muffle") [18:02:58.386] { [18:02:58.386] inherits <- base::inherits [18:02:58.386] invokeRestart <- base::invokeRestart [18:02:58.386] is.null <- base::is.null [18:02:58.386] muffled <- FALSE [18:02:58.386] if (inherits(cond, "message")) { [18:02:58.386] muffled <- grepl(pattern, "muffleMessage") [18:02:58.386] if (muffled) [18:02:58.386] invokeRestart("muffleMessage") [18:02:58.386] } [18:02:58.386] else if (inherits(cond, "warning")) { [18:02:58.386] muffled <- grepl(pattern, "muffleWarning") [18:02:58.386] if (muffled) [18:02:58.386] invokeRestart("muffleWarning") [18:02:58.386] } [18:02:58.386] else if (inherits(cond, "condition")) { [18:02:58.386] if (!is.null(pattern)) { [18:02:58.386] computeRestarts <- base::computeRestarts [18:02:58.386] grepl <- base::grepl [18:02:58.386] restarts <- computeRestarts(cond) [18:02:58.386] for (restart in restarts) { [18:02:58.386] name <- restart$name [18:02:58.386] if (is.null(name)) [18:02:58.386] next [18:02:58.386] if (!grepl(pattern, name)) [18:02:58.386] next [18:02:58.386] invokeRestart(restart) [18:02:58.386] muffled <- TRUE [18:02:58.386] break [18:02:58.386] } [18:02:58.386] } [18:02:58.386] } [18:02:58.386] invisible(muffled) [18:02:58.386] } [18:02:58.386] muffleCondition(cond, pattern = "^muffle") [18:02:58.386] } [18:02:58.386] } [18:02:58.386] } [18:02:58.386] })) [18:02:58.386] }, error = function(ex) { [18:02:58.386] base::structure(base::list(value = NULL, visible = NULL, [18:02:58.386] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:58.386] ...future.rng), started = ...future.startTime, [18:02:58.386] finished = Sys.time(), session_uuid = NA_character_, [18:02:58.386] version = "1.8"), class = "FutureResult") [18:02:58.386] }, finally = { [18:02:58.386] if (!identical(...future.workdir, getwd())) [18:02:58.386] setwd(...future.workdir) [18:02:58.386] { [18:02:58.386] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:58.386] ...future.oldOptions$nwarnings <- NULL [18:02:58.386] } [18:02:58.386] base::options(...future.oldOptions) [18:02:58.386] if (.Platform$OS.type == "windows") { [18:02:58.386] old_names <- names(...future.oldEnvVars) [18:02:58.386] envs <- base::Sys.getenv() [18:02:58.386] names <- names(envs) [18:02:58.386] common <- intersect(names, old_names) [18:02:58.386] added <- setdiff(names, old_names) [18:02:58.386] removed <- setdiff(old_names, names) [18:02:58.386] changed <- common[...future.oldEnvVars[common] != [18:02:58.386] envs[common]] [18:02:58.386] NAMES <- toupper(changed) [18:02:58.386] args <- list() [18:02:58.386] for (kk in seq_along(NAMES)) { [18:02:58.386] name <- changed[[kk]] [18:02:58.386] NAME <- NAMES[[kk]] [18:02:58.386] if (name != NAME && is.element(NAME, old_names)) [18:02:58.386] next [18:02:58.386] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:58.386] } [18:02:58.386] NAMES <- toupper(added) [18:02:58.386] for (kk in seq_along(NAMES)) { [18:02:58.386] name <- added[[kk]] [18:02:58.386] NAME <- NAMES[[kk]] [18:02:58.386] if (name != NAME && is.element(NAME, old_names)) [18:02:58.386] next [18:02:58.386] args[[name]] <- "" [18:02:58.386] } [18:02:58.386] NAMES <- toupper(removed) [18:02:58.386] for (kk in seq_along(NAMES)) { [18:02:58.386] name <- removed[[kk]] [18:02:58.386] NAME <- NAMES[[kk]] [18:02:58.386] if (name != NAME && is.element(NAME, old_names)) [18:02:58.386] next [18:02:58.386] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:58.386] } [18:02:58.386] if (length(args) > 0) [18:02:58.386] base::do.call(base::Sys.setenv, args = args) [18:02:58.386] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:58.386] } [18:02:58.386] else { [18:02:58.386] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:58.386] } [18:02:58.386] { [18:02:58.386] if (base::length(...future.futureOptionsAdded) > [18:02:58.386] 0L) { [18:02:58.386] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:58.386] base::names(opts) <- ...future.futureOptionsAdded [18:02:58.386] base::options(opts) [18:02:58.386] } [18:02:58.386] { [18:02:58.386] { [18:02:58.386] base::options(mc.cores = ...future.mc.cores.old) [18:02:58.386] NULL [18:02:58.386] } [18:02:58.386] options(future.plan = NULL) [18:02:58.386] if (is.na(NA_character_)) [18:02:58.386] Sys.unsetenv("R_FUTURE_PLAN") [18:02:58.386] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:58.386] future::plan(list(function (..., workers = availableCores(), [18:02:58.386] lazy = FALSE, rscript_libs = .libPaths(), [18:02:58.386] envir = parent.frame()) [18:02:58.386] { [18:02:58.386] if (is.function(workers)) [18:02:58.386] workers <- workers() [18:02:58.386] workers <- structure(as.integer(workers), [18:02:58.386] class = class(workers)) [18:02:58.386] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:58.386] workers >= 1) [18:02:58.386] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:58.386] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:58.386] } [18:02:58.386] future <- MultisessionFuture(..., workers = workers, [18:02:58.386] lazy = lazy, rscript_libs = rscript_libs, [18:02:58.386] envir = envir) [18:02:58.386] if (!future$lazy) [18:02:58.386] future <- run(future) [18:02:58.386] invisible(future) [18:02:58.386] }), .cleanup = FALSE, .init = FALSE) [18:02:58.386] } [18:02:58.386] } [18:02:58.386] } [18:02:58.386] }) [18:02:58.386] if (TRUE) { [18:02:58.386] base::sink(type = "output", split = FALSE) [18:02:58.386] if (TRUE) { [18:02:58.386] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:58.386] } [18:02:58.386] else { [18:02:58.386] ...future.result["stdout"] <- base::list(NULL) [18:02:58.386] } [18:02:58.386] base::close(...future.stdout) [18:02:58.386] ...future.stdout <- NULL [18:02:58.386] } [18:02:58.386] ...future.result$conditions <- ...future.conditions [18:02:58.386] ...future.result$finished <- base::Sys.time() [18:02:58.386] ...future.result [18:02:58.386] } [18:02:58.391] MultisessionFuture started [18:02:58.392] - Launch lazy future ... done [18:02:58.392] run() for 'MultisessionFuture' ... done [18:02:58.918] receiveMessageFromWorker() for ClusterFuture ... [18:02:58.919] - Validating connection of MultisessionFuture [18:02:58.919] - received message: FutureResult [18:02:58.919] - Received FutureResult [18:02:58.919] - Erased future from FutureRegistry [18:02:58.919] result() for ClusterFuture ... [18:02:58.920] - result already collected: FutureResult [18:02:58.920] result() for ClusterFuture ... done [18:02:58.920] receiveMessageFromWorker() for ClusterFuture ... done [18:02:58.920] resolve() on list ... [18:02:58.920] recursive: 1 [18:02:58.920] length: 2 [18:02:58.921] elements: 'a', 'b' [18:02:58.921] length: 1 (resolved future 1) [18:02:58.921] length: 0 (resolved future 2) [18:02:58.921] resolve() on list ... DONE [18:02:58.921] A MultisessionFuture was resolved (and resolved itself) [18:02:58.921] getGlobalsAndPackages() ... [18:02:58.922] Searching for globals... [18:02:58.923] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:58.923] Searching for globals ... DONE [18:02:58.923] Resolving globals: FALSE [18:02:58.924] [18:02:58.924] [18:02:58.924] getGlobalsAndPackages() ... DONE [18:02:58.924] run() for 'Future' ... [18:02:58.925] - state: 'created' [18:02:58.925] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:58.939] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:58.939] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:58.939] - Field: 'node' [18:02:58.939] - Field: 'label' [18:02:58.940] - Field: 'local' [18:02:58.940] - Field: 'owner' [18:02:58.940] - Field: 'envir' [18:02:58.940] - Field: 'workers' [18:02:58.940] - Field: 'packages' [18:02:58.940] - Field: 'gc' [18:02:58.941] - Field: 'conditions' [18:02:58.941] - Field: 'persistent' [18:02:58.941] - Field: 'expr' [18:02:58.941] - Field: 'uuid' [18:02:58.941] - Field: 'seed' [18:02:58.942] - Field: 'version' [18:02:58.942] - Field: 'result' [18:02:58.942] - Field: 'asynchronous' [18:02:58.942] - Field: 'calls' [18:02:58.942] - Field: 'globals' [18:02:58.942] - Field: 'stdout' [18:02:58.943] - Field: 'earlySignal' [18:02:58.943] - Field: 'lazy' [18:02:58.943] - Field: 'state' [18:02:58.943] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:58.943] - Launch lazy future ... [18:02:58.944] Packages needed by the future expression (n = 0): [18:02:58.944] Packages needed by future strategies (n = 0): [18:02:58.944] { [18:02:58.944] { [18:02:58.944] { [18:02:58.944] ...future.startTime <- base::Sys.time() [18:02:58.944] { [18:02:58.944] { [18:02:58.944] { [18:02:58.944] { [18:02:58.944] base::local({ [18:02:58.944] has_future <- base::requireNamespace("future", [18:02:58.944] quietly = TRUE) [18:02:58.944] if (has_future) { [18:02:58.944] ns <- base::getNamespace("future") [18:02:58.944] version <- ns[[".package"]][["version"]] [18:02:58.944] if (is.null(version)) [18:02:58.944] version <- utils::packageVersion("future") [18:02:58.944] } [18:02:58.944] else { [18:02:58.944] version <- NULL [18:02:58.944] } [18:02:58.944] if (!has_future || version < "1.8.0") { [18:02:58.944] info <- base::c(r_version = base::gsub("R version ", [18:02:58.944] "", base::R.version$version.string), [18:02:58.944] platform = base::sprintf("%s (%s-bit)", [18:02:58.944] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:58.944] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:58.944] "release", "version")], collapse = " "), [18:02:58.944] hostname = base::Sys.info()[["nodename"]]) [18:02:58.944] info <- base::sprintf("%s: %s", base::names(info), [18:02:58.944] info) [18:02:58.944] info <- base::paste(info, collapse = "; ") [18:02:58.944] if (!has_future) { [18:02:58.944] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:58.944] info) [18:02:58.944] } [18:02:58.944] else { [18:02:58.944] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:58.944] info, version) [18:02:58.944] } [18:02:58.944] base::stop(msg) [18:02:58.944] } [18:02:58.944] }) [18:02:58.944] } [18:02:58.944] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:58.944] base::options(mc.cores = 1L) [18:02:58.944] } [18:02:58.944] options(future.plan = NULL) [18:02:58.944] Sys.unsetenv("R_FUTURE_PLAN") [18:02:58.944] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:58.944] } [18:02:58.944] ...future.workdir <- getwd() [18:02:58.944] } [18:02:58.944] ...future.oldOptions <- base::as.list(base::.Options) [18:02:58.944] ...future.oldEnvVars <- base::Sys.getenv() [18:02:58.944] } [18:02:58.944] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:58.944] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:58.944] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:58.944] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:58.944] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:58.944] future.stdout.windows.reencode = NULL, width = 80L) [18:02:58.944] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:58.944] base::names(...future.oldOptions)) [18:02:58.944] } [18:02:58.944] if (FALSE) { [18:02:58.944] } [18:02:58.944] else { [18:02:58.944] if (TRUE) { [18:02:58.944] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:58.944] open = "w") [18:02:58.944] } [18:02:58.944] else { [18:02:58.944] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:58.944] windows = "NUL", "/dev/null"), open = "w") [18:02:58.944] } [18:02:58.944] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:58.944] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:58.944] base::sink(type = "output", split = FALSE) [18:02:58.944] base::close(...future.stdout) [18:02:58.944] }, add = TRUE) [18:02:58.944] } [18:02:58.944] ...future.frame <- base::sys.nframe() [18:02:58.944] ...future.conditions <- base::list() [18:02:58.944] ...future.rng <- base::globalenv()$.Random.seed [18:02:58.944] if (FALSE) { [18:02:58.944] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:58.944] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:58.944] } [18:02:58.944] ...future.result <- base::tryCatch({ [18:02:58.944] base::withCallingHandlers({ [18:02:58.944] ...future.value <- base::withVisible(base::local({ [18:02:58.944] ...future.makeSendCondition <- local({ [18:02:58.944] sendCondition <- NULL [18:02:58.944] function(frame = 1L) { [18:02:58.944] if (is.function(sendCondition)) [18:02:58.944] return(sendCondition) [18:02:58.944] ns <- getNamespace("parallel") [18:02:58.944] if (exists("sendData", mode = "function", [18:02:58.944] envir = ns)) { [18:02:58.944] parallel_sendData <- get("sendData", mode = "function", [18:02:58.944] envir = ns) [18:02:58.944] envir <- sys.frame(frame) [18:02:58.944] master <- NULL [18:02:58.944] while (!identical(envir, .GlobalEnv) && [18:02:58.944] !identical(envir, emptyenv())) { [18:02:58.944] if (exists("master", mode = "list", envir = envir, [18:02:58.944] inherits = FALSE)) { [18:02:58.944] master <- get("master", mode = "list", [18:02:58.944] envir = envir, inherits = FALSE) [18:02:58.944] if (inherits(master, c("SOCKnode", [18:02:58.944] "SOCK0node"))) { [18:02:58.944] sendCondition <<- function(cond) { [18:02:58.944] data <- list(type = "VALUE", value = cond, [18:02:58.944] success = TRUE) [18:02:58.944] parallel_sendData(master, data) [18:02:58.944] } [18:02:58.944] return(sendCondition) [18:02:58.944] } [18:02:58.944] } [18:02:58.944] frame <- frame + 1L [18:02:58.944] envir <- sys.frame(frame) [18:02:58.944] } [18:02:58.944] } [18:02:58.944] sendCondition <<- function(cond) NULL [18:02:58.944] } [18:02:58.944] }) [18:02:58.944] withCallingHandlers({ [18:02:58.944] { [18:02:58.944] Sys.sleep(0.5) [18:02:58.944] list(a = 1, b = 42L) [18:02:58.944] } [18:02:58.944] }, immediateCondition = function(cond) { [18:02:58.944] sendCondition <- ...future.makeSendCondition() [18:02:58.944] sendCondition(cond) [18:02:58.944] muffleCondition <- function (cond, pattern = "^muffle") [18:02:58.944] { [18:02:58.944] inherits <- base::inherits [18:02:58.944] invokeRestart <- base::invokeRestart [18:02:58.944] is.null <- base::is.null [18:02:58.944] muffled <- FALSE [18:02:58.944] if (inherits(cond, "message")) { [18:02:58.944] muffled <- grepl(pattern, "muffleMessage") [18:02:58.944] if (muffled) [18:02:58.944] invokeRestart("muffleMessage") [18:02:58.944] } [18:02:58.944] else if (inherits(cond, "warning")) { [18:02:58.944] muffled <- grepl(pattern, "muffleWarning") [18:02:58.944] if (muffled) [18:02:58.944] invokeRestart("muffleWarning") [18:02:58.944] } [18:02:58.944] else if (inherits(cond, "condition")) { [18:02:58.944] if (!is.null(pattern)) { [18:02:58.944] computeRestarts <- base::computeRestarts [18:02:58.944] grepl <- base::grepl [18:02:58.944] restarts <- computeRestarts(cond) [18:02:58.944] for (restart in restarts) { [18:02:58.944] name <- restart$name [18:02:58.944] if (is.null(name)) [18:02:58.944] next [18:02:58.944] if (!grepl(pattern, name)) [18:02:58.944] next [18:02:58.944] invokeRestart(restart) [18:02:58.944] muffled <- TRUE [18:02:58.944] break [18:02:58.944] } [18:02:58.944] } [18:02:58.944] } [18:02:58.944] invisible(muffled) [18:02:58.944] } [18:02:58.944] muffleCondition(cond) [18:02:58.944] }) [18:02:58.944] })) [18:02:58.944] future::FutureResult(value = ...future.value$value, [18:02:58.944] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:58.944] ...future.rng), globalenv = if (FALSE) [18:02:58.944] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:58.944] ...future.globalenv.names)) [18:02:58.944] else NULL, started = ...future.startTime, version = "1.8") [18:02:58.944] }, condition = base::local({ [18:02:58.944] c <- base::c [18:02:58.944] inherits <- base::inherits [18:02:58.944] invokeRestart <- base::invokeRestart [18:02:58.944] length <- base::length [18:02:58.944] list <- base::list [18:02:58.944] seq.int <- base::seq.int [18:02:58.944] signalCondition <- base::signalCondition [18:02:58.944] sys.calls <- base::sys.calls [18:02:58.944] `[[` <- base::`[[` [18:02:58.944] `+` <- base::`+` [18:02:58.944] `<<-` <- base::`<<-` [18:02:58.944] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:58.944] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:58.944] 3L)] [18:02:58.944] } [18:02:58.944] function(cond) { [18:02:58.944] is_error <- inherits(cond, "error") [18:02:58.944] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:58.944] NULL) [18:02:58.944] if (is_error) { [18:02:58.944] sessionInformation <- function() { [18:02:58.944] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:58.944] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:58.944] search = base::search(), system = base::Sys.info()) [18:02:58.944] } [18:02:58.944] ...future.conditions[[length(...future.conditions) + [18:02:58.944] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:58.944] cond$call), session = sessionInformation(), [18:02:58.944] timestamp = base::Sys.time(), signaled = 0L) [18:02:58.944] signalCondition(cond) [18:02:58.944] } [18:02:58.944] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:58.944] "immediateCondition"))) { [18:02:58.944] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:58.944] ...future.conditions[[length(...future.conditions) + [18:02:58.944] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:58.944] if (TRUE && !signal) { [18:02:58.944] muffleCondition <- function (cond, pattern = "^muffle") [18:02:58.944] { [18:02:58.944] inherits <- base::inherits [18:02:58.944] invokeRestart <- base::invokeRestart [18:02:58.944] is.null <- base::is.null [18:02:58.944] muffled <- FALSE [18:02:58.944] if (inherits(cond, "message")) { [18:02:58.944] muffled <- grepl(pattern, "muffleMessage") [18:02:58.944] if (muffled) [18:02:58.944] invokeRestart("muffleMessage") [18:02:58.944] } [18:02:58.944] else if (inherits(cond, "warning")) { [18:02:58.944] muffled <- grepl(pattern, "muffleWarning") [18:02:58.944] if (muffled) [18:02:58.944] invokeRestart("muffleWarning") [18:02:58.944] } [18:02:58.944] else if (inherits(cond, "condition")) { [18:02:58.944] if (!is.null(pattern)) { [18:02:58.944] computeRestarts <- base::computeRestarts [18:02:58.944] grepl <- base::grepl [18:02:58.944] restarts <- computeRestarts(cond) [18:02:58.944] for (restart in restarts) { [18:02:58.944] name <- restart$name [18:02:58.944] if (is.null(name)) [18:02:58.944] next [18:02:58.944] if (!grepl(pattern, name)) [18:02:58.944] next [18:02:58.944] invokeRestart(restart) [18:02:58.944] muffled <- TRUE [18:02:58.944] break [18:02:58.944] } [18:02:58.944] } [18:02:58.944] } [18:02:58.944] invisible(muffled) [18:02:58.944] } [18:02:58.944] muffleCondition(cond, pattern = "^muffle") [18:02:58.944] } [18:02:58.944] } [18:02:58.944] else { [18:02:58.944] if (TRUE) { [18:02:58.944] muffleCondition <- function (cond, pattern = "^muffle") [18:02:58.944] { [18:02:58.944] inherits <- base::inherits [18:02:58.944] invokeRestart <- base::invokeRestart [18:02:58.944] is.null <- base::is.null [18:02:58.944] muffled <- FALSE [18:02:58.944] if (inherits(cond, "message")) { [18:02:58.944] muffled <- grepl(pattern, "muffleMessage") [18:02:58.944] if (muffled) [18:02:58.944] invokeRestart("muffleMessage") [18:02:58.944] } [18:02:58.944] else if (inherits(cond, "warning")) { [18:02:58.944] muffled <- grepl(pattern, "muffleWarning") [18:02:58.944] if (muffled) [18:02:58.944] invokeRestart("muffleWarning") [18:02:58.944] } [18:02:58.944] else if (inherits(cond, "condition")) { [18:02:58.944] if (!is.null(pattern)) { [18:02:58.944] computeRestarts <- base::computeRestarts [18:02:58.944] grepl <- base::grepl [18:02:58.944] restarts <- computeRestarts(cond) [18:02:58.944] for (restart in restarts) { [18:02:58.944] name <- restart$name [18:02:58.944] if (is.null(name)) [18:02:58.944] next [18:02:58.944] if (!grepl(pattern, name)) [18:02:58.944] next [18:02:58.944] invokeRestart(restart) [18:02:58.944] muffled <- TRUE [18:02:58.944] break [18:02:58.944] } [18:02:58.944] } [18:02:58.944] } [18:02:58.944] invisible(muffled) [18:02:58.944] } [18:02:58.944] muffleCondition(cond, pattern = "^muffle") [18:02:58.944] } [18:02:58.944] } [18:02:58.944] } [18:02:58.944] })) [18:02:58.944] }, error = function(ex) { [18:02:58.944] base::structure(base::list(value = NULL, visible = NULL, [18:02:58.944] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:58.944] ...future.rng), started = ...future.startTime, [18:02:58.944] finished = Sys.time(), session_uuid = NA_character_, [18:02:58.944] version = "1.8"), class = "FutureResult") [18:02:58.944] }, finally = { [18:02:58.944] if (!identical(...future.workdir, getwd())) [18:02:58.944] setwd(...future.workdir) [18:02:58.944] { [18:02:58.944] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:58.944] ...future.oldOptions$nwarnings <- NULL [18:02:58.944] } [18:02:58.944] base::options(...future.oldOptions) [18:02:58.944] if (.Platform$OS.type == "windows") { [18:02:58.944] old_names <- names(...future.oldEnvVars) [18:02:58.944] envs <- base::Sys.getenv() [18:02:58.944] names <- names(envs) [18:02:58.944] common <- intersect(names, old_names) [18:02:58.944] added <- setdiff(names, old_names) [18:02:58.944] removed <- setdiff(old_names, names) [18:02:58.944] changed <- common[...future.oldEnvVars[common] != [18:02:58.944] envs[common]] [18:02:58.944] NAMES <- toupper(changed) [18:02:58.944] args <- list() [18:02:58.944] for (kk in seq_along(NAMES)) { [18:02:58.944] name <- changed[[kk]] [18:02:58.944] NAME <- NAMES[[kk]] [18:02:58.944] if (name != NAME && is.element(NAME, old_names)) [18:02:58.944] next [18:02:58.944] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:58.944] } [18:02:58.944] NAMES <- toupper(added) [18:02:58.944] for (kk in seq_along(NAMES)) { [18:02:58.944] name <- added[[kk]] [18:02:58.944] NAME <- NAMES[[kk]] [18:02:58.944] if (name != NAME && is.element(NAME, old_names)) [18:02:58.944] next [18:02:58.944] args[[name]] <- "" [18:02:58.944] } [18:02:58.944] NAMES <- toupper(removed) [18:02:58.944] for (kk in seq_along(NAMES)) { [18:02:58.944] name <- removed[[kk]] [18:02:58.944] NAME <- NAMES[[kk]] [18:02:58.944] if (name != NAME && is.element(NAME, old_names)) [18:02:58.944] next [18:02:58.944] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:58.944] } [18:02:58.944] if (length(args) > 0) [18:02:58.944] base::do.call(base::Sys.setenv, args = args) [18:02:58.944] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:58.944] } [18:02:58.944] else { [18:02:58.944] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:58.944] } [18:02:58.944] { [18:02:58.944] if (base::length(...future.futureOptionsAdded) > [18:02:58.944] 0L) { [18:02:58.944] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:58.944] base::names(opts) <- ...future.futureOptionsAdded [18:02:58.944] base::options(opts) [18:02:58.944] } [18:02:58.944] { [18:02:58.944] { [18:02:58.944] base::options(mc.cores = ...future.mc.cores.old) [18:02:58.944] NULL [18:02:58.944] } [18:02:58.944] options(future.plan = NULL) [18:02:58.944] if (is.na(NA_character_)) [18:02:58.944] Sys.unsetenv("R_FUTURE_PLAN") [18:02:58.944] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:58.944] future::plan(list(function (..., workers = availableCores(), [18:02:58.944] lazy = FALSE, rscript_libs = .libPaths(), [18:02:58.944] envir = parent.frame()) [18:02:58.944] { [18:02:58.944] if (is.function(workers)) [18:02:58.944] workers <- workers() [18:02:58.944] workers <- structure(as.integer(workers), [18:02:58.944] class = class(workers)) [18:02:58.944] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:58.944] workers >= 1) [18:02:58.944] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:58.944] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:58.944] } [18:02:58.944] future <- MultisessionFuture(..., workers = workers, [18:02:58.944] lazy = lazy, rscript_libs = rscript_libs, [18:02:58.944] envir = envir) [18:02:58.944] if (!future$lazy) [18:02:58.944] future <- run(future) [18:02:58.944] invisible(future) [18:02:58.944] }), .cleanup = FALSE, .init = FALSE) [18:02:58.944] } [18:02:58.944] } [18:02:58.944] } [18:02:58.944] }) [18:02:58.944] if (TRUE) { [18:02:58.944] base::sink(type = "output", split = FALSE) [18:02:58.944] if (TRUE) { [18:02:58.944] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:58.944] } [18:02:58.944] else { [18:02:58.944] ...future.result["stdout"] <- base::list(NULL) [18:02:58.944] } [18:02:58.944] base::close(...future.stdout) [18:02:58.944] ...future.stdout <- NULL [18:02:58.944] } [18:02:58.944] ...future.result$conditions <- ...future.conditions [18:02:58.944] ...future.result$finished <- base::Sys.time() [18:02:58.944] ...future.result [18:02:58.944] } [18:02:58.951] MultisessionFuture started [18:02:58.951] - Launch lazy future ... done [18:02:58.951] run() for 'MultisessionFuture' ... done [18:02:59.481] receiveMessageFromWorker() for ClusterFuture ... [18:02:59.481] - Validating connection of MultisessionFuture [18:02:59.481] - received message: FutureResult [18:02:59.481] - Received FutureResult [18:02:59.482] - Erased future from FutureRegistry [18:02:59.482] result() for ClusterFuture ... [18:02:59.482] - result already collected: FutureResult [18:02:59.482] result() for ClusterFuture ... done [18:02:59.482] receiveMessageFromWorker() for ClusterFuture ... done [18:02:59.482] resolve() on list ... [18:02:59.483] recursive: 1 [18:02:59.483] length: 2 [18:02:59.483] elements: 'a', 'b' [18:02:59.483] length: 1 (resolved future 1) [18:02:59.483] length: 0 (resolved future 2) [18:02:59.483] resolve() on list ... DONE [18:02:59.484] A MultisessionFuture was resolved (and resolved itself) - w/ exception ... [18:02:59.484] getGlobalsAndPackages() ... [18:02:59.484] Searching for globals... [18:02:59.485] - globals found: [2] 'list', 'stop' [18:02:59.485] Searching for globals ... DONE [18:02:59.485] Resolving globals: FALSE [18:02:59.486] [18:02:59.486] [18:02:59.486] getGlobalsAndPackages() ... DONE [18:02:59.486] run() for 'Future' ... [18:02:59.486] - state: 'created' [18:02:59.487] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:59.500] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:59.501] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:59.501] - Field: 'node' [18:02:59.501] - Field: 'label' [18:02:59.501] - Field: 'local' [18:02:59.501] - Field: 'owner' [18:02:59.501] - Field: 'envir' [18:02:59.502] - Field: 'workers' [18:02:59.502] - Field: 'packages' [18:02:59.502] - Field: 'gc' [18:02:59.502] - Field: 'conditions' [18:02:59.502] - Field: 'persistent' [18:02:59.503] - Field: 'expr' [18:02:59.503] - Field: 'uuid' [18:02:59.503] - Field: 'seed' [18:02:59.503] - Field: 'version' [18:02:59.503] - Field: 'result' [18:02:59.503] - Field: 'asynchronous' [18:02:59.504] - Field: 'calls' [18:02:59.504] - Field: 'globals' [18:02:59.504] - Field: 'stdout' [18:02:59.504] - Field: 'earlySignal' [18:02:59.504] - Field: 'lazy' [18:02:59.504] - Field: 'state' [18:02:59.505] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:59.505] - Launch lazy future ... [18:02:59.505] Packages needed by the future expression (n = 0): [18:02:59.505] Packages needed by future strategies (n = 0): [18:02:59.506] { [18:02:59.506] { [18:02:59.506] { [18:02:59.506] ...future.startTime <- base::Sys.time() [18:02:59.506] { [18:02:59.506] { [18:02:59.506] { [18:02:59.506] { [18:02:59.506] base::local({ [18:02:59.506] has_future <- base::requireNamespace("future", [18:02:59.506] quietly = TRUE) [18:02:59.506] if (has_future) { [18:02:59.506] ns <- base::getNamespace("future") [18:02:59.506] version <- ns[[".package"]][["version"]] [18:02:59.506] if (is.null(version)) [18:02:59.506] version <- utils::packageVersion("future") [18:02:59.506] } [18:02:59.506] else { [18:02:59.506] version <- NULL [18:02:59.506] } [18:02:59.506] if (!has_future || version < "1.8.0") { [18:02:59.506] info <- base::c(r_version = base::gsub("R version ", [18:02:59.506] "", base::R.version$version.string), [18:02:59.506] platform = base::sprintf("%s (%s-bit)", [18:02:59.506] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:59.506] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:59.506] "release", "version")], collapse = " "), [18:02:59.506] hostname = base::Sys.info()[["nodename"]]) [18:02:59.506] info <- base::sprintf("%s: %s", base::names(info), [18:02:59.506] info) [18:02:59.506] info <- base::paste(info, collapse = "; ") [18:02:59.506] if (!has_future) { [18:02:59.506] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:59.506] info) [18:02:59.506] } [18:02:59.506] else { [18:02:59.506] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:59.506] info, version) [18:02:59.506] } [18:02:59.506] base::stop(msg) [18:02:59.506] } [18:02:59.506] }) [18:02:59.506] } [18:02:59.506] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:59.506] base::options(mc.cores = 1L) [18:02:59.506] } [18:02:59.506] options(future.plan = NULL) [18:02:59.506] Sys.unsetenv("R_FUTURE_PLAN") [18:02:59.506] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:59.506] } [18:02:59.506] ...future.workdir <- getwd() [18:02:59.506] } [18:02:59.506] ...future.oldOptions <- base::as.list(base::.Options) [18:02:59.506] ...future.oldEnvVars <- base::Sys.getenv() [18:02:59.506] } [18:02:59.506] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:59.506] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:59.506] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:59.506] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:59.506] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:59.506] future.stdout.windows.reencode = NULL, width = 80L) [18:02:59.506] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:59.506] base::names(...future.oldOptions)) [18:02:59.506] } [18:02:59.506] if (FALSE) { [18:02:59.506] } [18:02:59.506] else { [18:02:59.506] if (TRUE) { [18:02:59.506] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:59.506] open = "w") [18:02:59.506] } [18:02:59.506] else { [18:02:59.506] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:59.506] windows = "NUL", "/dev/null"), open = "w") [18:02:59.506] } [18:02:59.506] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:59.506] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:59.506] base::sink(type = "output", split = FALSE) [18:02:59.506] base::close(...future.stdout) [18:02:59.506] }, add = TRUE) [18:02:59.506] } [18:02:59.506] ...future.frame <- base::sys.nframe() [18:02:59.506] ...future.conditions <- base::list() [18:02:59.506] ...future.rng <- base::globalenv()$.Random.seed [18:02:59.506] if (FALSE) { [18:02:59.506] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:59.506] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:59.506] } [18:02:59.506] ...future.result <- base::tryCatch({ [18:02:59.506] base::withCallingHandlers({ [18:02:59.506] ...future.value <- base::withVisible(base::local({ [18:02:59.506] ...future.makeSendCondition <- local({ [18:02:59.506] sendCondition <- NULL [18:02:59.506] function(frame = 1L) { [18:02:59.506] if (is.function(sendCondition)) [18:02:59.506] return(sendCondition) [18:02:59.506] ns <- getNamespace("parallel") [18:02:59.506] if (exists("sendData", mode = "function", [18:02:59.506] envir = ns)) { [18:02:59.506] parallel_sendData <- get("sendData", mode = "function", [18:02:59.506] envir = ns) [18:02:59.506] envir <- sys.frame(frame) [18:02:59.506] master <- NULL [18:02:59.506] while (!identical(envir, .GlobalEnv) && [18:02:59.506] !identical(envir, emptyenv())) { [18:02:59.506] if (exists("master", mode = "list", envir = envir, [18:02:59.506] inherits = FALSE)) { [18:02:59.506] master <- get("master", mode = "list", [18:02:59.506] envir = envir, inherits = FALSE) [18:02:59.506] if (inherits(master, c("SOCKnode", [18:02:59.506] "SOCK0node"))) { [18:02:59.506] sendCondition <<- function(cond) { [18:02:59.506] data <- list(type = "VALUE", value = cond, [18:02:59.506] success = TRUE) [18:02:59.506] parallel_sendData(master, data) [18:02:59.506] } [18:02:59.506] return(sendCondition) [18:02:59.506] } [18:02:59.506] } [18:02:59.506] frame <- frame + 1L [18:02:59.506] envir <- sys.frame(frame) [18:02:59.506] } [18:02:59.506] } [18:02:59.506] sendCondition <<- function(cond) NULL [18:02:59.506] } [18:02:59.506] }) [18:02:59.506] withCallingHandlers({ [18:02:59.506] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:59.506] }, immediateCondition = function(cond) { [18:02:59.506] sendCondition <- ...future.makeSendCondition() [18:02:59.506] sendCondition(cond) [18:02:59.506] muffleCondition <- function (cond, pattern = "^muffle") [18:02:59.506] { [18:02:59.506] inherits <- base::inherits [18:02:59.506] invokeRestart <- base::invokeRestart [18:02:59.506] is.null <- base::is.null [18:02:59.506] muffled <- FALSE [18:02:59.506] if (inherits(cond, "message")) { [18:02:59.506] muffled <- grepl(pattern, "muffleMessage") [18:02:59.506] if (muffled) [18:02:59.506] invokeRestart("muffleMessage") [18:02:59.506] } [18:02:59.506] else if (inherits(cond, "warning")) { [18:02:59.506] muffled <- grepl(pattern, "muffleWarning") [18:02:59.506] if (muffled) [18:02:59.506] invokeRestart("muffleWarning") [18:02:59.506] } [18:02:59.506] else if (inherits(cond, "condition")) { [18:02:59.506] if (!is.null(pattern)) { [18:02:59.506] computeRestarts <- base::computeRestarts [18:02:59.506] grepl <- base::grepl [18:02:59.506] restarts <- computeRestarts(cond) [18:02:59.506] for (restart in restarts) { [18:02:59.506] name <- restart$name [18:02:59.506] if (is.null(name)) [18:02:59.506] next [18:02:59.506] if (!grepl(pattern, name)) [18:02:59.506] next [18:02:59.506] invokeRestart(restart) [18:02:59.506] muffled <- TRUE [18:02:59.506] break [18:02:59.506] } [18:02:59.506] } [18:02:59.506] } [18:02:59.506] invisible(muffled) [18:02:59.506] } [18:02:59.506] muffleCondition(cond) [18:02:59.506] }) [18:02:59.506] })) [18:02:59.506] future::FutureResult(value = ...future.value$value, [18:02:59.506] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:59.506] ...future.rng), globalenv = if (FALSE) [18:02:59.506] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:59.506] ...future.globalenv.names)) [18:02:59.506] else NULL, started = ...future.startTime, version = "1.8") [18:02:59.506] }, condition = base::local({ [18:02:59.506] c <- base::c [18:02:59.506] inherits <- base::inherits [18:02:59.506] invokeRestart <- base::invokeRestart [18:02:59.506] length <- base::length [18:02:59.506] list <- base::list [18:02:59.506] seq.int <- base::seq.int [18:02:59.506] signalCondition <- base::signalCondition [18:02:59.506] sys.calls <- base::sys.calls [18:02:59.506] `[[` <- base::`[[` [18:02:59.506] `+` <- base::`+` [18:02:59.506] `<<-` <- base::`<<-` [18:02:59.506] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:59.506] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:59.506] 3L)] [18:02:59.506] } [18:02:59.506] function(cond) { [18:02:59.506] is_error <- inherits(cond, "error") [18:02:59.506] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:59.506] NULL) [18:02:59.506] if (is_error) { [18:02:59.506] sessionInformation <- function() { [18:02:59.506] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:59.506] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:59.506] search = base::search(), system = base::Sys.info()) [18:02:59.506] } [18:02:59.506] ...future.conditions[[length(...future.conditions) + [18:02:59.506] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:59.506] cond$call), session = sessionInformation(), [18:02:59.506] timestamp = base::Sys.time(), signaled = 0L) [18:02:59.506] signalCondition(cond) [18:02:59.506] } [18:02:59.506] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:59.506] "immediateCondition"))) { [18:02:59.506] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:59.506] ...future.conditions[[length(...future.conditions) + [18:02:59.506] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:59.506] if (TRUE && !signal) { [18:02:59.506] muffleCondition <- function (cond, pattern = "^muffle") [18:02:59.506] { [18:02:59.506] inherits <- base::inherits [18:02:59.506] invokeRestart <- base::invokeRestart [18:02:59.506] is.null <- base::is.null [18:02:59.506] muffled <- FALSE [18:02:59.506] if (inherits(cond, "message")) { [18:02:59.506] muffled <- grepl(pattern, "muffleMessage") [18:02:59.506] if (muffled) [18:02:59.506] invokeRestart("muffleMessage") [18:02:59.506] } [18:02:59.506] else if (inherits(cond, "warning")) { [18:02:59.506] muffled <- grepl(pattern, "muffleWarning") [18:02:59.506] if (muffled) [18:02:59.506] invokeRestart("muffleWarning") [18:02:59.506] } [18:02:59.506] else if (inherits(cond, "condition")) { [18:02:59.506] if (!is.null(pattern)) { [18:02:59.506] computeRestarts <- base::computeRestarts [18:02:59.506] grepl <- base::grepl [18:02:59.506] restarts <- computeRestarts(cond) [18:02:59.506] for (restart in restarts) { [18:02:59.506] name <- restart$name [18:02:59.506] if (is.null(name)) [18:02:59.506] next [18:02:59.506] if (!grepl(pattern, name)) [18:02:59.506] next [18:02:59.506] invokeRestart(restart) [18:02:59.506] muffled <- TRUE [18:02:59.506] break [18:02:59.506] } [18:02:59.506] } [18:02:59.506] } [18:02:59.506] invisible(muffled) [18:02:59.506] } [18:02:59.506] muffleCondition(cond, pattern = "^muffle") [18:02:59.506] } [18:02:59.506] } [18:02:59.506] else { [18:02:59.506] if (TRUE) { [18:02:59.506] muffleCondition <- function (cond, pattern = "^muffle") [18:02:59.506] { [18:02:59.506] inherits <- base::inherits [18:02:59.506] invokeRestart <- base::invokeRestart [18:02:59.506] is.null <- base::is.null [18:02:59.506] muffled <- FALSE [18:02:59.506] if (inherits(cond, "message")) { [18:02:59.506] muffled <- grepl(pattern, "muffleMessage") [18:02:59.506] if (muffled) [18:02:59.506] invokeRestart("muffleMessage") [18:02:59.506] } [18:02:59.506] else if (inherits(cond, "warning")) { [18:02:59.506] muffled <- grepl(pattern, "muffleWarning") [18:02:59.506] if (muffled) [18:02:59.506] invokeRestart("muffleWarning") [18:02:59.506] } [18:02:59.506] else if (inherits(cond, "condition")) { [18:02:59.506] if (!is.null(pattern)) { [18:02:59.506] computeRestarts <- base::computeRestarts [18:02:59.506] grepl <- base::grepl [18:02:59.506] restarts <- computeRestarts(cond) [18:02:59.506] for (restart in restarts) { [18:02:59.506] name <- restart$name [18:02:59.506] if (is.null(name)) [18:02:59.506] next [18:02:59.506] if (!grepl(pattern, name)) [18:02:59.506] next [18:02:59.506] invokeRestart(restart) [18:02:59.506] muffled <- TRUE [18:02:59.506] break [18:02:59.506] } [18:02:59.506] } [18:02:59.506] } [18:02:59.506] invisible(muffled) [18:02:59.506] } [18:02:59.506] muffleCondition(cond, pattern = "^muffle") [18:02:59.506] } [18:02:59.506] } [18:02:59.506] } [18:02:59.506] })) [18:02:59.506] }, error = function(ex) { [18:02:59.506] base::structure(base::list(value = NULL, visible = NULL, [18:02:59.506] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:59.506] ...future.rng), started = ...future.startTime, [18:02:59.506] finished = Sys.time(), session_uuid = NA_character_, [18:02:59.506] version = "1.8"), class = "FutureResult") [18:02:59.506] }, finally = { [18:02:59.506] if (!identical(...future.workdir, getwd())) [18:02:59.506] setwd(...future.workdir) [18:02:59.506] { [18:02:59.506] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:59.506] ...future.oldOptions$nwarnings <- NULL [18:02:59.506] } [18:02:59.506] base::options(...future.oldOptions) [18:02:59.506] if (.Platform$OS.type == "windows") { [18:02:59.506] old_names <- names(...future.oldEnvVars) [18:02:59.506] envs <- base::Sys.getenv() [18:02:59.506] names <- names(envs) [18:02:59.506] common <- intersect(names, old_names) [18:02:59.506] added <- setdiff(names, old_names) [18:02:59.506] removed <- setdiff(old_names, names) [18:02:59.506] changed <- common[...future.oldEnvVars[common] != [18:02:59.506] envs[common]] [18:02:59.506] NAMES <- toupper(changed) [18:02:59.506] args <- list() [18:02:59.506] for (kk in seq_along(NAMES)) { [18:02:59.506] name <- changed[[kk]] [18:02:59.506] NAME <- NAMES[[kk]] [18:02:59.506] if (name != NAME && is.element(NAME, old_names)) [18:02:59.506] next [18:02:59.506] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:59.506] } [18:02:59.506] NAMES <- toupper(added) [18:02:59.506] for (kk in seq_along(NAMES)) { [18:02:59.506] name <- added[[kk]] [18:02:59.506] NAME <- NAMES[[kk]] [18:02:59.506] if (name != NAME && is.element(NAME, old_names)) [18:02:59.506] next [18:02:59.506] args[[name]] <- "" [18:02:59.506] } [18:02:59.506] NAMES <- toupper(removed) [18:02:59.506] for (kk in seq_along(NAMES)) { [18:02:59.506] name <- removed[[kk]] [18:02:59.506] NAME <- NAMES[[kk]] [18:02:59.506] if (name != NAME && is.element(NAME, old_names)) [18:02:59.506] next [18:02:59.506] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:59.506] } [18:02:59.506] if (length(args) > 0) [18:02:59.506] base::do.call(base::Sys.setenv, args = args) [18:02:59.506] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:59.506] } [18:02:59.506] else { [18:02:59.506] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:59.506] } [18:02:59.506] { [18:02:59.506] if (base::length(...future.futureOptionsAdded) > [18:02:59.506] 0L) { [18:02:59.506] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:59.506] base::names(opts) <- ...future.futureOptionsAdded [18:02:59.506] base::options(opts) [18:02:59.506] } [18:02:59.506] { [18:02:59.506] { [18:02:59.506] base::options(mc.cores = ...future.mc.cores.old) [18:02:59.506] NULL [18:02:59.506] } [18:02:59.506] options(future.plan = NULL) [18:02:59.506] if (is.na(NA_character_)) [18:02:59.506] Sys.unsetenv("R_FUTURE_PLAN") [18:02:59.506] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:59.506] future::plan(list(function (..., workers = availableCores(), [18:02:59.506] lazy = FALSE, rscript_libs = .libPaths(), [18:02:59.506] envir = parent.frame()) [18:02:59.506] { [18:02:59.506] if (is.function(workers)) [18:02:59.506] workers <- workers() [18:02:59.506] workers <- structure(as.integer(workers), [18:02:59.506] class = class(workers)) [18:02:59.506] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:59.506] workers >= 1) [18:02:59.506] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:59.506] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:59.506] } [18:02:59.506] future <- MultisessionFuture(..., workers = workers, [18:02:59.506] lazy = lazy, rscript_libs = rscript_libs, [18:02:59.506] envir = envir) [18:02:59.506] if (!future$lazy) [18:02:59.506] future <- run(future) [18:02:59.506] invisible(future) [18:02:59.506] }), .cleanup = FALSE, .init = FALSE) [18:02:59.506] } [18:02:59.506] } [18:02:59.506] } [18:02:59.506] }) [18:02:59.506] if (TRUE) { [18:02:59.506] base::sink(type = "output", split = FALSE) [18:02:59.506] if (TRUE) { [18:02:59.506] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:59.506] } [18:02:59.506] else { [18:02:59.506] ...future.result["stdout"] <- base::list(NULL) [18:02:59.506] } [18:02:59.506] base::close(...future.stdout) [18:02:59.506] ...future.stdout <- NULL [18:02:59.506] } [18:02:59.506] ...future.result$conditions <- ...future.conditions [18:02:59.506] ...future.result$finished <- base::Sys.time() [18:02:59.506] ...future.result [18:02:59.506] } [18:02:59.512] MultisessionFuture started [18:02:59.512] - Launch lazy future ... done [18:02:59.512] run() for 'MultisessionFuture' ... done [18:02:59.529] receiveMessageFromWorker() for ClusterFuture ... [18:02:59.529] - Validating connection of MultisessionFuture [18:02:59.529] - received message: FutureResult [18:02:59.530] - Received FutureResult [18:02:59.530] - Erased future from FutureRegistry [18:02:59.530] result() for ClusterFuture ... [18:02:59.530] - result already collected: FutureResult [18:02:59.530] result() for ClusterFuture ... done [18:02:59.530] signalConditions() ... [18:02:59.531] - include = 'immediateCondition' [18:02:59.531] - exclude = [18:02:59.531] - resignal = FALSE [18:02:59.531] - Number of conditions: 1 [18:02:59.531] signalConditions() ... done [18:02:59.531] receiveMessageFromWorker() for ClusterFuture ... done [18:02:59.532] A MultisessionFuture was resolved [18:02:59.532] getGlobalsAndPackages() ... [18:02:59.532] Searching for globals... [18:02:59.533] - globals found: [2] 'list', 'stop' [18:02:59.533] Searching for globals ... DONE [18:02:59.533] Resolving globals: FALSE [18:02:59.533] [18:02:59.534] [18:02:59.534] getGlobalsAndPackages() ... DONE [18:02:59.534] run() for 'Future' ... [18:02:59.534] - state: 'created' [18:02:59.534] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:59.548] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:59.548] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:59.549] - Field: 'node' [18:02:59.549] - Field: 'label' [18:02:59.549] - Field: 'local' [18:02:59.549] - Field: 'owner' [18:02:59.549] - Field: 'envir' [18:02:59.549] - Field: 'workers' [18:02:59.550] - Field: 'packages' [18:02:59.550] - Field: 'gc' [18:02:59.550] - Field: 'conditions' [18:02:59.550] - Field: 'persistent' [18:02:59.550] - Field: 'expr' [18:02:59.551] - Field: 'uuid' [18:02:59.551] - Field: 'seed' [18:02:59.551] - Field: 'version' [18:02:59.551] - Field: 'result' [18:02:59.551] - Field: 'asynchronous' [18:02:59.551] - Field: 'calls' [18:02:59.552] - Field: 'globals' [18:02:59.552] - Field: 'stdout' [18:02:59.552] - Field: 'earlySignal' [18:02:59.552] - Field: 'lazy' [18:02:59.552] - Field: 'state' [18:02:59.552] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:59.553] - Launch lazy future ... [18:02:59.553] Packages needed by the future expression (n = 0): [18:02:59.553] Packages needed by future strategies (n = 0): [18:02:59.554] { [18:02:59.554] { [18:02:59.554] { [18:02:59.554] ...future.startTime <- base::Sys.time() [18:02:59.554] { [18:02:59.554] { [18:02:59.554] { [18:02:59.554] { [18:02:59.554] base::local({ [18:02:59.554] has_future <- base::requireNamespace("future", [18:02:59.554] quietly = TRUE) [18:02:59.554] if (has_future) { [18:02:59.554] ns <- base::getNamespace("future") [18:02:59.554] version <- ns[[".package"]][["version"]] [18:02:59.554] if (is.null(version)) [18:02:59.554] version <- utils::packageVersion("future") [18:02:59.554] } [18:02:59.554] else { [18:02:59.554] version <- NULL [18:02:59.554] } [18:02:59.554] if (!has_future || version < "1.8.0") { [18:02:59.554] info <- base::c(r_version = base::gsub("R version ", [18:02:59.554] "", base::R.version$version.string), [18:02:59.554] platform = base::sprintf("%s (%s-bit)", [18:02:59.554] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:59.554] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:59.554] "release", "version")], collapse = " "), [18:02:59.554] hostname = base::Sys.info()[["nodename"]]) [18:02:59.554] info <- base::sprintf("%s: %s", base::names(info), [18:02:59.554] info) [18:02:59.554] info <- base::paste(info, collapse = "; ") [18:02:59.554] if (!has_future) { [18:02:59.554] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:59.554] info) [18:02:59.554] } [18:02:59.554] else { [18:02:59.554] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:59.554] info, version) [18:02:59.554] } [18:02:59.554] base::stop(msg) [18:02:59.554] } [18:02:59.554] }) [18:02:59.554] } [18:02:59.554] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:59.554] base::options(mc.cores = 1L) [18:02:59.554] } [18:02:59.554] options(future.plan = NULL) [18:02:59.554] Sys.unsetenv("R_FUTURE_PLAN") [18:02:59.554] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:59.554] } [18:02:59.554] ...future.workdir <- getwd() [18:02:59.554] } [18:02:59.554] ...future.oldOptions <- base::as.list(base::.Options) [18:02:59.554] ...future.oldEnvVars <- base::Sys.getenv() [18:02:59.554] } [18:02:59.554] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:59.554] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:59.554] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:59.554] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:59.554] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:59.554] future.stdout.windows.reencode = NULL, width = 80L) [18:02:59.554] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:59.554] base::names(...future.oldOptions)) [18:02:59.554] } [18:02:59.554] if (FALSE) { [18:02:59.554] } [18:02:59.554] else { [18:02:59.554] if (TRUE) { [18:02:59.554] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:59.554] open = "w") [18:02:59.554] } [18:02:59.554] else { [18:02:59.554] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:59.554] windows = "NUL", "/dev/null"), open = "w") [18:02:59.554] } [18:02:59.554] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:59.554] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:59.554] base::sink(type = "output", split = FALSE) [18:02:59.554] base::close(...future.stdout) [18:02:59.554] }, add = TRUE) [18:02:59.554] } [18:02:59.554] ...future.frame <- base::sys.nframe() [18:02:59.554] ...future.conditions <- base::list() [18:02:59.554] ...future.rng <- base::globalenv()$.Random.seed [18:02:59.554] if (FALSE) { [18:02:59.554] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:59.554] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:59.554] } [18:02:59.554] ...future.result <- base::tryCatch({ [18:02:59.554] base::withCallingHandlers({ [18:02:59.554] ...future.value <- base::withVisible(base::local({ [18:02:59.554] ...future.makeSendCondition <- local({ [18:02:59.554] sendCondition <- NULL [18:02:59.554] function(frame = 1L) { [18:02:59.554] if (is.function(sendCondition)) [18:02:59.554] return(sendCondition) [18:02:59.554] ns <- getNamespace("parallel") [18:02:59.554] if (exists("sendData", mode = "function", [18:02:59.554] envir = ns)) { [18:02:59.554] parallel_sendData <- get("sendData", mode = "function", [18:02:59.554] envir = ns) [18:02:59.554] envir <- sys.frame(frame) [18:02:59.554] master <- NULL [18:02:59.554] while (!identical(envir, .GlobalEnv) && [18:02:59.554] !identical(envir, emptyenv())) { [18:02:59.554] if (exists("master", mode = "list", envir = envir, [18:02:59.554] inherits = FALSE)) { [18:02:59.554] master <- get("master", mode = "list", [18:02:59.554] envir = envir, inherits = FALSE) [18:02:59.554] if (inherits(master, c("SOCKnode", [18:02:59.554] "SOCK0node"))) { [18:02:59.554] sendCondition <<- function(cond) { [18:02:59.554] data <- list(type = "VALUE", value = cond, [18:02:59.554] success = TRUE) [18:02:59.554] parallel_sendData(master, data) [18:02:59.554] } [18:02:59.554] return(sendCondition) [18:02:59.554] } [18:02:59.554] } [18:02:59.554] frame <- frame + 1L [18:02:59.554] envir <- sys.frame(frame) [18:02:59.554] } [18:02:59.554] } [18:02:59.554] sendCondition <<- function(cond) NULL [18:02:59.554] } [18:02:59.554] }) [18:02:59.554] withCallingHandlers({ [18:02:59.554] list(a = 1, b = 42L, c = stop("Nah!")) [18:02:59.554] }, immediateCondition = function(cond) { [18:02:59.554] sendCondition <- ...future.makeSendCondition() [18:02:59.554] sendCondition(cond) [18:02:59.554] muffleCondition <- function (cond, pattern = "^muffle") [18:02:59.554] { [18:02:59.554] inherits <- base::inherits [18:02:59.554] invokeRestart <- base::invokeRestart [18:02:59.554] is.null <- base::is.null [18:02:59.554] muffled <- FALSE [18:02:59.554] if (inherits(cond, "message")) { [18:02:59.554] muffled <- grepl(pattern, "muffleMessage") [18:02:59.554] if (muffled) [18:02:59.554] invokeRestart("muffleMessage") [18:02:59.554] } [18:02:59.554] else if (inherits(cond, "warning")) { [18:02:59.554] muffled <- grepl(pattern, "muffleWarning") [18:02:59.554] if (muffled) [18:02:59.554] invokeRestart("muffleWarning") [18:02:59.554] } [18:02:59.554] else if (inherits(cond, "condition")) { [18:02:59.554] if (!is.null(pattern)) { [18:02:59.554] computeRestarts <- base::computeRestarts [18:02:59.554] grepl <- base::grepl [18:02:59.554] restarts <- computeRestarts(cond) [18:02:59.554] for (restart in restarts) { [18:02:59.554] name <- restart$name [18:02:59.554] if (is.null(name)) [18:02:59.554] next [18:02:59.554] if (!grepl(pattern, name)) [18:02:59.554] next [18:02:59.554] invokeRestart(restart) [18:02:59.554] muffled <- TRUE [18:02:59.554] break [18:02:59.554] } [18:02:59.554] } [18:02:59.554] } [18:02:59.554] invisible(muffled) [18:02:59.554] } [18:02:59.554] muffleCondition(cond) [18:02:59.554] }) [18:02:59.554] })) [18:02:59.554] future::FutureResult(value = ...future.value$value, [18:02:59.554] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:59.554] ...future.rng), globalenv = if (FALSE) [18:02:59.554] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:59.554] ...future.globalenv.names)) [18:02:59.554] else NULL, started = ...future.startTime, version = "1.8") [18:02:59.554] }, condition = base::local({ [18:02:59.554] c <- base::c [18:02:59.554] inherits <- base::inherits [18:02:59.554] invokeRestart <- base::invokeRestart [18:02:59.554] length <- base::length [18:02:59.554] list <- base::list [18:02:59.554] seq.int <- base::seq.int [18:02:59.554] signalCondition <- base::signalCondition [18:02:59.554] sys.calls <- base::sys.calls [18:02:59.554] `[[` <- base::`[[` [18:02:59.554] `+` <- base::`+` [18:02:59.554] `<<-` <- base::`<<-` [18:02:59.554] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:59.554] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:59.554] 3L)] [18:02:59.554] } [18:02:59.554] function(cond) { [18:02:59.554] is_error <- inherits(cond, "error") [18:02:59.554] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:59.554] NULL) [18:02:59.554] if (is_error) { [18:02:59.554] sessionInformation <- function() { [18:02:59.554] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:59.554] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:59.554] search = base::search(), system = base::Sys.info()) [18:02:59.554] } [18:02:59.554] ...future.conditions[[length(...future.conditions) + [18:02:59.554] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:59.554] cond$call), session = sessionInformation(), [18:02:59.554] timestamp = base::Sys.time(), signaled = 0L) [18:02:59.554] signalCondition(cond) [18:02:59.554] } [18:02:59.554] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:59.554] "immediateCondition"))) { [18:02:59.554] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:59.554] ...future.conditions[[length(...future.conditions) + [18:02:59.554] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:59.554] if (TRUE && !signal) { [18:02:59.554] muffleCondition <- function (cond, pattern = "^muffle") [18:02:59.554] { [18:02:59.554] inherits <- base::inherits [18:02:59.554] invokeRestart <- base::invokeRestart [18:02:59.554] is.null <- base::is.null [18:02:59.554] muffled <- FALSE [18:02:59.554] if (inherits(cond, "message")) { [18:02:59.554] muffled <- grepl(pattern, "muffleMessage") [18:02:59.554] if (muffled) [18:02:59.554] invokeRestart("muffleMessage") [18:02:59.554] } [18:02:59.554] else if (inherits(cond, "warning")) { [18:02:59.554] muffled <- grepl(pattern, "muffleWarning") [18:02:59.554] if (muffled) [18:02:59.554] invokeRestart("muffleWarning") [18:02:59.554] } [18:02:59.554] else if (inherits(cond, "condition")) { [18:02:59.554] if (!is.null(pattern)) { [18:02:59.554] computeRestarts <- base::computeRestarts [18:02:59.554] grepl <- base::grepl [18:02:59.554] restarts <- computeRestarts(cond) [18:02:59.554] for (restart in restarts) { [18:02:59.554] name <- restart$name [18:02:59.554] if (is.null(name)) [18:02:59.554] next [18:02:59.554] if (!grepl(pattern, name)) [18:02:59.554] next [18:02:59.554] invokeRestart(restart) [18:02:59.554] muffled <- TRUE [18:02:59.554] break [18:02:59.554] } [18:02:59.554] } [18:02:59.554] } [18:02:59.554] invisible(muffled) [18:02:59.554] } [18:02:59.554] muffleCondition(cond, pattern = "^muffle") [18:02:59.554] } [18:02:59.554] } [18:02:59.554] else { [18:02:59.554] if (TRUE) { [18:02:59.554] muffleCondition <- function (cond, pattern = "^muffle") [18:02:59.554] { [18:02:59.554] inherits <- base::inherits [18:02:59.554] invokeRestart <- base::invokeRestart [18:02:59.554] is.null <- base::is.null [18:02:59.554] muffled <- FALSE [18:02:59.554] if (inherits(cond, "message")) { [18:02:59.554] muffled <- grepl(pattern, "muffleMessage") [18:02:59.554] if (muffled) [18:02:59.554] invokeRestart("muffleMessage") [18:02:59.554] } [18:02:59.554] else if (inherits(cond, "warning")) { [18:02:59.554] muffled <- grepl(pattern, "muffleWarning") [18:02:59.554] if (muffled) [18:02:59.554] invokeRestart("muffleWarning") [18:02:59.554] } [18:02:59.554] else if (inherits(cond, "condition")) { [18:02:59.554] if (!is.null(pattern)) { [18:02:59.554] computeRestarts <- base::computeRestarts [18:02:59.554] grepl <- base::grepl [18:02:59.554] restarts <- computeRestarts(cond) [18:02:59.554] for (restart in restarts) { [18:02:59.554] name <- restart$name [18:02:59.554] if (is.null(name)) [18:02:59.554] next [18:02:59.554] if (!grepl(pattern, name)) [18:02:59.554] next [18:02:59.554] invokeRestart(restart) [18:02:59.554] muffled <- TRUE [18:02:59.554] break [18:02:59.554] } [18:02:59.554] } [18:02:59.554] } [18:02:59.554] invisible(muffled) [18:02:59.554] } [18:02:59.554] muffleCondition(cond, pattern = "^muffle") [18:02:59.554] } [18:02:59.554] } [18:02:59.554] } [18:02:59.554] })) [18:02:59.554] }, error = function(ex) { [18:02:59.554] base::structure(base::list(value = NULL, visible = NULL, [18:02:59.554] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:59.554] ...future.rng), started = ...future.startTime, [18:02:59.554] finished = Sys.time(), session_uuid = NA_character_, [18:02:59.554] version = "1.8"), class = "FutureResult") [18:02:59.554] }, finally = { [18:02:59.554] if (!identical(...future.workdir, getwd())) [18:02:59.554] setwd(...future.workdir) [18:02:59.554] { [18:02:59.554] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:59.554] ...future.oldOptions$nwarnings <- NULL [18:02:59.554] } [18:02:59.554] base::options(...future.oldOptions) [18:02:59.554] if (.Platform$OS.type == "windows") { [18:02:59.554] old_names <- names(...future.oldEnvVars) [18:02:59.554] envs <- base::Sys.getenv() [18:02:59.554] names <- names(envs) [18:02:59.554] common <- intersect(names, old_names) [18:02:59.554] added <- setdiff(names, old_names) [18:02:59.554] removed <- setdiff(old_names, names) [18:02:59.554] changed <- common[...future.oldEnvVars[common] != [18:02:59.554] envs[common]] [18:02:59.554] NAMES <- toupper(changed) [18:02:59.554] args <- list() [18:02:59.554] for (kk in seq_along(NAMES)) { [18:02:59.554] name <- changed[[kk]] [18:02:59.554] NAME <- NAMES[[kk]] [18:02:59.554] if (name != NAME && is.element(NAME, old_names)) [18:02:59.554] next [18:02:59.554] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:59.554] } [18:02:59.554] NAMES <- toupper(added) [18:02:59.554] for (kk in seq_along(NAMES)) { [18:02:59.554] name <- added[[kk]] [18:02:59.554] NAME <- NAMES[[kk]] [18:02:59.554] if (name != NAME && is.element(NAME, old_names)) [18:02:59.554] next [18:02:59.554] args[[name]] <- "" [18:02:59.554] } [18:02:59.554] NAMES <- toupper(removed) [18:02:59.554] for (kk in seq_along(NAMES)) { [18:02:59.554] name <- removed[[kk]] [18:02:59.554] NAME <- NAMES[[kk]] [18:02:59.554] if (name != NAME && is.element(NAME, old_names)) [18:02:59.554] next [18:02:59.554] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:59.554] } [18:02:59.554] if (length(args) > 0) [18:02:59.554] base::do.call(base::Sys.setenv, args = args) [18:02:59.554] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:59.554] } [18:02:59.554] else { [18:02:59.554] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:59.554] } [18:02:59.554] { [18:02:59.554] if (base::length(...future.futureOptionsAdded) > [18:02:59.554] 0L) { [18:02:59.554] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:59.554] base::names(opts) <- ...future.futureOptionsAdded [18:02:59.554] base::options(opts) [18:02:59.554] } [18:02:59.554] { [18:02:59.554] { [18:02:59.554] base::options(mc.cores = ...future.mc.cores.old) [18:02:59.554] NULL [18:02:59.554] } [18:02:59.554] options(future.plan = NULL) [18:02:59.554] if (is.na(NA_character_)) [18:02:59.554] Sys.unsetenv("R_FUTURE_PLAN") [18:02:59.554] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:59.554] future::plan(list(function (..., workers = availableCores(), [18:02:59.554] lazy = FALSE, rscript_libs = .libPaths(), [18:02:59.554] envir = parent.frame()) [18:02:59.554] { [18:02:59.554] if (is.function(workers)) [18:02:59.554] workers <- workers() [18:02:59.554] workers <- structure(as.integer(workers), [18:02:59.554] class = class(workers)) [18:02:59.554] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:59.554] workers >= 1) [18:02:59.554] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:59.554] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:59.554] } [18:02:59.554] future <- MultisessionFuture(..., workers = workers, [18:02:59.554] lazy = lazy, rscript_libs = rscript_libs, [18:02:59.554] envir = envir) [18:02:59.554] if (!future$lazy) [18:02:59.554] future <- run(future) [18:02:59.554] invisible(future) [18:02:59.554] }), .cleanup = FALSE, .init = FALSE) [18:02:59.554] } [18:02:59.554] } [18:02:59.554] } [18:02:59.554] }) [18:02:59.554] if (TRUE) { [18:02:59.554] base::sink(type = "output", split = FALSE) [18:02:59.554] if (TRUE) { [18:02:59.554] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:59.554] } [18:02:59.554] else { [18:02:59.554] ...future.result["stdout"] <- base::list(NULL) [18:02:59.554] } [18:02:59.554] base::close(...future.stdout) [18:02:59.554] ...future.stdout <- NULL [18:02:59.554] } [18:02:59.554] ...future.result$conditions <- ...future.conditions [18:02:59.554] ...future.result$finished <- base::Sys.time() [18:02:59.554] ...future.result [18:02:59.554] } [18:02:59.560] MultisessionFuture started [18:02:59.560] - Launch lazy future ... done [18:02:59.560] run() for 'MultisessionFuture' ... done [18:02:59.578] receiveMessageFromWorker() for ClusterFuture ... [18:02:59.578] - Validating connection of MultisessionFuture [18:02:59.578] - received message: FutureResult [18:02:59.579] - Received FutureResult [18:02:59.579] - Erased future from FutureRegistry [18:02:59.579] result() for ClusterFuture ... [18:02:59.579] - result already collected: FutureResult [18:02:59.580] result() for ClusterFuture ... done [18:02:59.580] signalConditions() ... [18:02:59.580] - include = 'immediateCondition' [18:02:59.580] - exclude = [18:02:59.580] - resignal = FALSE [18:02:59.580] - Number of conditions: 1 [18:02:59.581] signalConditions() ... done [18:02:59.581] receiveMessageFromWorker() for ClusterFuture ... done [18:02:59.581] A MultisessionFuture was resolved - result = TRUE, recursive = 2 ... DONE - result = TRUE, recursive = Inf ... [18:02:59.581] getGlobalsAndPackages() ... [18:02:59.582] Searching for globals... [18:02:59.583] - globals found: [3] '{', 'Sys.sleep', 'list' [18:02:59.583] Searching for globals ... DONE [18:02:59.583] Resolving globals: FALSE [18:02:59.584] [18:02:59.584] [18:02:59.584] getGlobalsAndPackages() ... DONE [18:02:59.584] run() for 'Future' ... [18:02:59.585] - state: 'created' [18:02:59.585] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:02:59.598] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:02:59.599] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:02:59.599] - Field: 'node' [18:02:59.599] - Field: 'label' [18:02:59.599] - Field: 'local' [18:02:59.599] - Field: 'owner' [18:02:59.600] - Field: 'envir' [18:02:59.600] - Field: 'workers' [18:02:59.600] - Field: 'packages' [18:02:59.600] - Field: 'gc' [18:02:59.600] - Field: 'conditions' [18:02:59.601] - Field: 'persistent' [18:02:59.601] - Field: 'expr' [18:02:59.601] - Field: 'uuid' [18:02:59.601] - Field: 'seed' [18:02:59.601] - Field: 'version' [18:02:59.601] - Field: 'result' [18:02:59.602] - Field: 'asynchronous' [18:02:59.602] - Field: 'calls' [18:02:59.602] - Field: 'globals' [18:02:59.602] - Field: 'stdout' [18:02:59.602] - Field: 'earlySignal' [18:02:59.602] - Field: 'lazy' [18:02:59.603] - Field: 'state' [18:02:59.603] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:02:59.603] - Launch lazy future ... [18:02:59.603] Packages needed by the future expression (n = 0): [18:02:59.604] Packages needed by future strategies (n = 0): [18:02:59.604] { [18:02:59.604] { [18:02:59.604] { [18:02:59.604] ...future.startTime <- base::Sys.time() [18:02:59.604] { [18:02:59.604] { [18:02:59.604] { [18:02:59.604] { [18:02:59.604] base::local({ [18:02:59.604] has_future <- base::requireNamespace("future", [18:02:59.604] quietly = TRUE) [18:02:59.604] if (has_future) { [18:02:59.604] ns <- base::getNamespace("future") [18:02:59.604] version <- ns[[".package"]][["version"]] [18:02:59.604] if (is.null(version)) [18:02:59.604] version <- utils::packageVersion("future") [18:02:59.604] } [18:02:59.604] else { [18:02:59.604] version <- NULL [18:02:59.604] } [18:02:59.604] if (!has_future || version < "1.8.0") { [18:02:59.604] info <- base::c(r_version = base::gsub("R version ", [18:02:59.604] "", base::R.version$version.string), [18:02:59.604] platform = base::sprintf("%s (%s-bit)", [18:02:59.604] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:02:59.604] os = base::paste(base::Sys.info()[base::c("sysname", [18:02:59.604] "release", "version")], collapse = " "), [18:02:59.604] hostname = base::Sys.info()[["nodename"]]) [18:02:59.604] info <- base::sprintf("%s: %s", base::names(info), [18:02:59.604] info) [18:02:59.604] info <- base::paste(info, collapse = "; ") [18:02:59.604] if (!has_future) { [18:02:59.604] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:02:59.604] info) [18:02:59.604] } [18:02:59.604] else { [18:02:59.604] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:02:59.604] info, version) [18:02:59.604] } [18:02:59.604] base::stop(msg) [18:02:59.604] } [18:02:59.604] }) [18:02:59.604] } [18:02:59.604] ...future.mc.cores.old <- base::getOption("mc.cores") [18:02:59.604] base::options(mc.cores = 1L) [18:02:59.604] } [18:02:59.604] options(future.plan = NULL) [18:02:59.604] Sys.unsetenv("R_FUTURE_PLAN") [18:02:59.604] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:02:59.604] } [18:02:59.604] ...future.workdir <- getwd() [18:02:59.604] } [18:02:59.604] ...future.oldOptions <- base::as.list(base::.Options) [18:02:59.604] ...future.oldEnvVars <- base::Sys.getenv() [18:02:59.604] } [18:02:59.604] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:02:59.604] future.globals.maxSize = NULL, future.globals.method = NULL, [18:02:59.604] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:02:59.604] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:02:59.604] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:02:59.604] future.stdout.windows.reencode = NULL, width = 80L) [18:02:59.604] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:02:59.604] base::names(...future.oldOptions)) [18:02:59.604] } [18:02:59.604] if (FALSE) { [18:02:59.604] } [18:02:59.604] else { [18:02:59.604] if (TRUE) { [18:02:59.604] ...future.stdout <- base::rawConnection(base::raw(0L), [18:02:59.604] open = "w") [18:02:59.604] } [18:02:59.604] else { [18:02:59.604] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:02:59.604] windows = "NUL", "/dev/null"), open = "w") [18:02:59.604] } [18:02:59.604] base::sink(...future.stdout, type = "output", split = FALSE) [18:02:59.604] base::on.exit(if (!base::is.null(...future.stdout)) { [18:02:59.604] base::sink(type = "output", split = FALSE) [18:02:59.604] base::close(...future.stdout) [18:02:59.604] }, add = TRUE) [18:02:59.604] } [18:02:59.604] ...future.frame <- base::sys.nframe() [18:02:59.604] ...future.conditions <- base::list() [18:02:59.604] ...future.rng <- base::globalenv()$.Random.seed [18:02:59.604] if (FALSE) { [18:02:59.604] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:02:59.604] "...future.value", "...future.globalenv.names", ".Random.seed") [18:02:59.604] } [18:02:59.604] ...future.result <- base::tryCatch({ [18:02:59.604] base::withCallingHandlers({ [18:02:59.604] ...future.value <- base::withVisible(base::local({ [18:02:59.604] ...future.makeSendCondition <- local({ [18:02:59.604] sendCondition <- NULL [18:02:59.604] function(frame = 1L) { [18:02:59.604] if (is.function(sendCondition)) [18:02:59.604] return(sendCondition) [18:02:59.604] ns <- getNamespace("parallel") [18:02:59.604] if (exists("sendData", mode = "function", [18:02:59.604] envir = ns)) { [18:02:59.604] parallel_sendData <- get("sendData", mode = "function", [18:02:59.604] envir = ns) [18:02:59.604] envir <- sys.frame(frame) [18:02:59.604] master <- NULL [18:02:59.604] while (!identical(envir, .GlobalEnv) && [18:02:59.604] !identical(envir, emptyenv())) { [18:02:59.604] if (exists("master", mode = "list", envir = envir, [18:02:59.604] inherits = FALSE)) { [18:02:59.604] master <- get("master", mode = "list", [18:02:59.604] envir = envir, inherits = FALSE) [18:02:59.604] if (inherits(master, c("SOCKnode", [18:02:59.604] "SOCK0node"))) { [18:02:59.604] sendCondition <<- function(cond) { [18:02:59.604] data <- list(type = "VALUE", value = cond, [18:02:59.604] success = TRUE) [18:02:59.604] parallel_sendData(master, data) [18:02:59.604] } [18:02:59.604] return(sendCondition) [18:02:59.604] } [18:02:59.604] } [18:02:59.604] frame <- frame + 1L [18:02:59.604] envir <- sys.frame(frame) [18:02:59.604] } [18:02:59.604] } [18:02:59.604] sendCondition <<- function(cond) NULL [18:02:59.604] } [18:02:59.604] }) [18:02:59.604] withCallingHandlers({ [18:02:59.604] { [18:02:59.604] Sys.sleep(0.5) [18:02:59.604] list(a = 1, b = 42L) [18:02:59.604] } [18:02:59.604] }, immediateCondition = function(cond) { [18:02:59.604] sendCondition <- ...future.makeSendCondition() [18:02:59.604] sendCondition(cond) [18:02:59.604] muffleCondition <- function (cond, pattern = "^muffle") [18:02:59.604] { [18:02:59.604] inherits <- base::inherits [18:02:59.604] invokeRestart <- base::invokeRestart [18:02:59.604] is.null <- base::is.null [18:02:59.604] muffled <- FALSE [18:02:59.604] if (inherits(cond, "message")) { [18:02:59.604] muffled <- grepl(pattern, "muffleMessage") [18:02:59.604] if (muffled) [18:02:59.604] invokeRestart("muffleMessage") [18:02:59.604] } [18:02:59.604] else if (inherits(cond, "warning")) { [18:02:59.604] muffled <- grepl(pattern, "muffleWarning") [18:02:59.604] if (muffled) [18:02:59.604] invokeRestart("muffleWarning") [18:02:59.604] } [18:02:59.604] else if (inherits(cond, "condition")) { [18:02:59.604] if (!is.null(pattern)) { [18:02:59.604] computeRestarts <- base::computeRestarts [18:02:59.604] grepl <- base::grepl [18:02:59.604] restarts <- computeRestarts(cond) [18:02:59.604] for (restart in restarts) { [18:02:59.604] name <- restart$name [18:02:59.604] if (is.null(name)) [18:02:59.604] next [18:02:59.604] if (!grepl(pattern, name)) [18:02:59.604] next [18:02:59.604] invokeRestart(restart) [18:02:59.604] muffled <- TRUE [18:02:59.604] break [18:02:59.604] } [18:02:59.604] } [18:02:59.604] } [18:02:59.604] invisible(muffled) [18:02:59.604] } [18:02:59.604] muffleCondition(cond) [18:02:59.604] }) [18:02:59.604] })) [18:02:59.604] future::FutureResult(value = ...future.value$value, [18:02:59.604] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:02:59.604] ...future.rng), globalenv = if (FALSE) [18:02:59.604] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:02:59.604] ...future.globalenv.names)) [18:02:59.604] else NULL, started = ...future.startTime, version = "1.8") [18:02:59.604] }, condition = base::local({ [18:02:59.604] c <- base::c [18:02:59.604] inherits <- base::inherits [18:02:59.604] invokeRestart <- base::invokeRestart [18:02:59.604] length <- base::length [18:02:59.604] list <- base::list [18:02:59.604] seq.int <- base::seq.int [18:02:59.604] signalCondition <- base::signalCondition [18:02:59.604] sys.calls <- base::sys.calls [18:02:59.604] `[[` <- base::`[[` [18:02:59.604] `+` <- base::`+` [18:02:59.604] `<<-` <- base::`<<-` [18:02:59.604] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:02:59.604] calls[seq.int(from = from + 12L, to = length(calls) - [18:02:59.604] 3L)] [18:02:59.604] } [18:02:59.604] function(cond) { [18:02:59.604] is_error <- inherits(cond, "error") [18:02:59.604] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:02:59.604] NULL) [18:02:59.604] if (is_error) { [18:02:59.604] sessionInformation <- function() { [18:02:59.604] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:02:59.604] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:02:59.604] search = base::search(), system = base::Sys.info()) [18:02:59.604] } [18:02:59.604] ...future.conditions[[length(...future.conditions) + [18:02:59.604] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:02:59.604] cond$call), session = sessionInformation(), [18:02:59.604] timestamp = base::Sys.time(), signaled = 0L) [18:02:59.604] signalCondition(cond) [18:02:59.604] } [18:02:59.604] else if (!ignore && TRUE && inherits(cond, c("condition", [18:02:59.604] "immediateCondition"))) { [18:02:59.604] signal <- TRUE && inherits(cond, "immediateCondition") [18:02:59.604] ...future.conditions[[length(...future.conditions) + [18:02:59.604] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:02:59.604] if (TRUE && !signal) { [18:02:59.604] muffleCondition <- function (cond, pattern = "^muffle") [18:02:59.604] { [18:02:59.604] inherits <- base::inherits [18:02:59.604] invokeRestart <- base::invokeRestart [18:02:59.604] is.null <- base::is.null [18:02:59.604] muffled <- FALSE [18:02:59.604] if (inherits(cond, "message")) { [18:02:59.604] muffled <- grepl(pattern, "muffleMessage") [18:02:59.604] if (muffled) [18:02:59.604] invokeRestart("muffleMessage") [18:02:59.604] } [18:02:59.604] else if (inherits(cond, "warning")) { [18:02:59.604] muffled <- grepl(pattern, "muffleWarning") [18:02:59.604] if (muffled) [18:02:59.604] invokeRestart("muffleWarning") [18:02:59.604] } [18:02:59.604] else if (inherits(cond, "condition")) { [18:02:59.604] if (!is.null(pattern)) { [18:02:59.604] computeRestarts <- base::computeRestarts [18:02:59.604] grepl <- base::grepl [18:02:59.604] restarts <- computeRestarts(cond) [18:02:59.604] for (restart in restarts) { [18:02:59.604] name <- restart$name [18:02:59.604] if (is.null(name)) [18:02:59.604] next [18:02:59.604] if (!grepl(pattern, name)) [18:02:59.604] next [18:02:59.604] invokeRestart(restart) [18:02:59.604] muffled <- TRUE [18:02:59.604] break [18:02:59.604] } [18:02:59.604] } [18:02:59.604] } [18:02:59.604] invisible(muffled) [18:02:59.604] } [18:02:59.604] muffleCondition(cond, pattern = "^muffle") [18:02:59.604] } [18:02:59.604] } [18:02:59.604] else { [18:02:59.604] if (TRUE) { [18:02:59.604] muffleCondition <- function (cond, pattern = "^muffle") [18:02:59.604] { [18:02:59.604] inherits <- base::inherits [18:02:59.604] invokeRestart <- base::invokeRestart [18:02:59.604] is.null <- base::is.null [18:02:59.604] muffled <- FALSE [18:02:59.604] if (inherits(cond, "message")) { [18:02:59.604] muffled <- grepl(pattern, "muffleMessage") [18:02:59.604] if (muffled) [18:02:59.604] invokeRestart("muffleMessage") [18:02:59.604] } [18:02:59.604] else if (inherits(cond, "warning")) { [18:02:59.604] muffled <- grepl(pattern, "muffleWarning") [18:02:59.604] if (muffled) [18:02:59.604] invokeRestart("muffleWarning") [18:02:59.604] } [18:02:59.604] else if (inherits(cond, "condition")) { [18:02:59.604] if (!is.null(pattern)) { [18:02:59.604] computeRestarts <- base::computeRestarts [18:02:59.604] grepl <- base::grepl [18:02:59.604] restarts <- computeRestarts(cond) [18:02:59.604] for (restart in restarts) { [18:02:59.604] name <- restart$name [18:02:59.604] if (is.null(name)) [18:02:59.604] next [18:02:59.604] if (!grepl(pattern, name)) [18:02:59.604] next [18:02:59.604] invokeRestart(restart) [18:02:59.604] muffled <- TRUE [18:02:59.604] break [18:02:59.604] } [18:02:59.604] } [18:02:59.604] } [18:02:59.604] invisible(muffled) [18:02:59.604] } [18:02:59.604] muffleCondition(cond, pattern = "^muffle") [18:02:59.604] } [18:02:59.604] } [18:02:59.604] } [18:02:59.604] })) [18:02:59.604] }, error = function(ex) { [18:02:59.604] base::structure(base::list(value = NULL, visible = NULL, [18:02:59.604] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:02:59.604] ...future.rng), started = ...future.startTime, [18:02:59.604] finished = Sys.time(), session_uuid = NA_character_, [18:02:59.604] version = "1.8"), class = "FutureResult") [18:02:59.604] }, finally = { [18:02:59.604] if (!identical(...future.workdir, getwd())) [18:02:59.604] setwd(...future.workdir) [18:02:59.604] { [18:02:59.604] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:02:59.604] ...future.oldOptions$nwarnings <- NULL [18:02:59.604] } [18:02:59.604] base::options(...future.oldOptions) [18:02:59.604] if (.Platform$OS.type == "windows") { [18:02:59.604] old_names <- names(...future.oldEnvVars) [18:02:59.604] envs <- base::Sys.getenv() [18:02:59.604] names <- names(envs) [18:02:59.604] common <- intersect(names, old_names) [18:02:59.604] added <- setdiff(names, old_names) [18:02:59.604] removed <- setdiff(old_names, names) [18:02:59.604] changed <- common[...future.oldEnvVars[common] != [18:02:59.604] envs[common]] [18:02:59.604] NAMES <- toupper(changed) [18:02:59.604] args <- list() [18:02:59.604] for (kk in seq_along(NAMES)) { [18:02:59.604] name <- changed[[kk]] [18:02:59.604] NAME <- NAMES[[kk]] [18:02:59.604] if (name != NAME && is.element(NAME, old_names)) [18:02:59.604] next [18:02:59.604] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:59.604] } [18:02:59.604] NAMES <- toupper(added) [18:02:59.604] for (kk in seq_along(NAMES)) { [18:02:59.604] name <- added[[kk]] [18:02:59.604] NAME <- NAMES[[kk]] [18:02:59.604] if (name != NAME && is.element(NAME, old_names)) [18:02:59.604] next [18:02:59.604] args[[name]] <- "" [18:02:59.604] } [18:02:59.604] NAMES <- toupper(removed) [18:02:59.604] for (kk in seq_along(NAMES)) { [18:02:59.604] name <- removed[[kk]] [18:02:59.604] NAME <- NAMES[[kk]] [18:02:59.604] if (name != NAME && is.element(NAME, old_names)) [18:02:59.604] next [18:02:59.604] args[[name]] <- ...future.oldEnvVars[[name]] [18:02:59.604] } [18:02:59.604] if (length(args) > 0) [18:02:59.604] base::do.call(base::Sys.setenv, args = args) [18:02:59.604] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:02:59.604] } [18:02:59.604] else { [18:02:59.604] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:02:59.604] } [18:02:59.604] { [18:02:59.604] if (base::length(...future.futureOptionsAdded) > [18:02:59.604] 0L) { [18:02:59.604] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:02:59.604] base::names(opts) <- ...future.futureOptionsAdded [18:02:59.604] base::options(opts) [18:02:59.604] } [18:02:59.604] { [18:02:59.604] { [18:02:59.604] base::options(mc.cores = ...future.mc.cores.old) [18:02:59.604] NULL [18:02:59.604] } [18:02:59.604] options(future.plan = NULL) [18:02:59.604] if (is.na(NA_character_)) [18:02:59.604] Sys.unsetenv("R_FUTURE_PLAN") [18:02:59.604] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:02:59.604] future::plan(list(function (..., workers = availableCores(), [18:02:59.604] lazy = FALSE, rscript_libs = .libPaths(), [18:02:59.604] envir = parent.frame()) [18:02:59.604] { [18:02:59.604] if (is.function(workers)) [18:02:59.604] workers <- workers() [18:02:59.604] workers <- structure(as.integer(workers), [18:02:59.604] class = class(workers)) [18:02:59.604] stop_if_not(length(workers) == 1, is.finite(workers), [18:02:59.604] workers >= 1) [18:02:59.604] if (workers == 1L && !inherits(workers, "AsIs")) { [18:02:59.604] return(sequential(..., lazy = TRUE, envir = envir)) [18:02:59.604] } [18:02:59.604] future <- MultisessionFuture(..., workers = workers, [18:02:59.604] lazy = lazy, rscript_libs = rscript_libs, [18:02:59.604] envir = envir) [18:02:59.604] if (!future$lazy) [18:02:59.604] future <- run(future) [18:02:59.604] invisible(future) [18:02:59.604] }), .cleanup = FALSE, .init = FALSE) [18:02:59.604] } [18:02:59.604] } [18:02:59.604] } [18:02:59.604] }) [18:02:59.604] if (TRUE) { [18:02:59.604] base::sink(type = "output", split = FALSE) [18:02:59.604] if (TRUE) { [18:02:59.604] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:02:59.604] } [18:02:59.604] else { [18:02:59.604] ...future.result["stdout"] <- base::list(NULL) [18:02:59.604] } [18:02:59.604] base::close(...future.stdout) [18:02:59.604] ...future.stdout <- NULL [18:02:59.604] } [18:02:59.604] ...future.result$conditions <- ...future.conditions [18:02:59.604] ...future.result$finished <- base::Sys.time() [18:02:59.604] ...future.result [18:02:59.604] } [18:02:59.610] MultisessionFuture started [18:02:59.610] - Launch lazy future ... done [18:02:59.610] run() for 'MultisessionFuture' ... done [18:03:00.137] receiveMessageFromWorker() for ClusterFuture ... [18:03:00.138] - Validating connection of MultisessionFuture [18:03:00.138] - received message: FutureResult [18:03:00.138] - Received FutureResult [18:03:00.138] - Erased future from FutureRegistry [18:03:00.139] result() for ClusterFuture ... [18:03:00.139] - result already collected: FutureResult [18:03:00.139] result() for ClusterFuture ... done [18:03:00.139] receiveMessageFromWorker() for ClusterFuture ... done [18:03:00.139] resolve() on list ... [18:03:00.139] recursive: Inf [18:03:00.140] length: 2 [18:03:00.140] elements: 'a', 'b' [18:03:00.140] length: 1 (resolved future 1) [18:03:00.140] length: 0 (resolved future 2) [18:03:00.140] resolve() on list ... DONE [18:03:00.140] A MultisessionFuture was resolved (and resolved itself) [18:03:00.141] getGlobalsAndPackages() ... [18:03:00.141] Searching for globals... [18:03:00.142] - globals found: [3] '{', 'Sys.sleep', 'list' [18:03:00.142] Searching for globals ... DONE [18:03:00.143] Resolving globals: FALSE [18:03:00.143] [18:03:00.143] [18:03:00.143] getGlobalsAndPackages() ... DONE [18:03:00.144] run() for 'Future' ... [18:03:00.144] - state: 'created' [18:03:00.144] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:00.158] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:00.158] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:00.158] - Field: 'node' [18:03:00.159] - Field: 'label' [18:03:00.159] - Field: 'local' [18:03:00.159] - Field: 'owner' [18:03:00.159] - Field: 'envir' [18:03:00.159] - Field: 'workers' [18:03:00.159] - Field: 'packages' [18:03:00.160] - Field: 'gc' [18:03:00.160] - Field: 'conditions' [18:03:00.160] - Field: 'persistent' [18:03:00.160] - Field: 'expr' [18:03:00.160] - Field: 'uuid' [18:03:00.160] - Field: 'seed' [18:03:00.161] - Field: 'version' [18:03:00.161] - Field: 'result' [18:03:00.161] - Field: 'asynchronous' [18:03:00.161] - Field: 'calls' [18:03:00.161] - Field: 'globals' [18:03:00.162] - Field: 'stdout' [18:03:00.162] - Field: 'earlySignal' [18:03:00.162] - Field: 'lazy' [18:03:00.162] - Field: 'state' [18:03:00.165] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:00.165] - Launch lazy future ... [18:03:00.166] Packages needed by the future expression (n = 0): [18:03:00.166] Packages needed by future strategies (n = 0): [18:03:00.166] { [18:03:00.166] { [18:03:00.166] { [18:03:00.166] ...future.startTime <- base::Sys.time() [18:03:00.166] { [18:03:00.166] { [18:03:00.166] { [18:03:00.166] { [18:03:00.166] base::local({ [18:03:00.166] has_future <- base::requireNamespace("future", [18:03:00.166] quietly = TRUE) [18:03:00.166] if (has_future) { [18:03:00.166] ns <- base::getNamespace("future") [18:03:00.166] version <- ns[[".package"]][["version"]] [18:03:00.166] if (is.null(version)) [18:03:00.166] version <- utils::packageVersion("future") [18:03:00.166] } [18:03:00.166] else { [18:03:00.166] version <- NULL [18:03:00.166] } [18:03:00.166] if (!has_future || version < "1.8.0") { [18:03:00.166] info <- base::c(r_version = base::gsub("R version ", [18:03:00.166] "", base::R.version$version.string), [18:03:00.166] platform = base::sprintf("%s (%s-bit)", [18:03:00.166] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:00.166] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:00.166] "release", "version")], collapse = " "), [18:03:00.166] hostname = base::Sys.info()[["nodename"]]) [18:03:00.166] info <- base::sprintf("%s: %s", base::names(info), [18:03:00.166] info) [18:03:00.166] info <- base::paste(info, collapse = "; ") [18:03:00.166] if (!has_future) { [18:03:00.166] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:00.166] info) [18:03:00.166] } [18:03:00.166] else { [18:03:00.166] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:00.166] info, version) [18:03:00.166] } [18:03:00.166] base::stop(msg) [18:03:00.166] } [18:03:00.166] }) [18:03:00.166] } [18:03:00.166] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:00.166] base::options(mc.cores = 1L) [18:03:00.166] } [18:03:00.166] options(future.plan = NULL) [18:03:00.166] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.166] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:00.166] } [18:03:00.166] ...future.workdir <- getwd() [18:03:00.166] } [18:03:00.166] ...future.oldOptions <- base::as.list(base::.Options) [18:03:00.166] ...future.oldEnvVars <- base::Sys.getenv() [18:03:00.166] } [18:03:00.166] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:00.166] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:00.166] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:00.166] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:00.166] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:00.166] future.stdout.windows.reencode = NULL, width = 80L) [18:03:00.166] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:00.166] base::names(...future.oldOptions)) [18:03:00.166] } [18:03:00.166] if (FALSE) { [18:03:00.166] } [18:03:00.166] else { [18:03:00.166] if (TRUE) { [18:03:00.166] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:00.166] open = "w") [18:03:00.166] } [18:03:00.166] else { [18:03:00.166] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:00.166] windows = "NUL", "/dev/null"), open = "w") [18:03:00.166] } [18:03:00.166] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:00.166] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:00.166] base::sink(type = "output", split = FALSE) [18:03:00.166] base::close(...future.stdout) [18:03:00.166] }, add = TRUE) [18:03:00.166] } [18:03:00.166] ...future.frame <- base::sys.nframe() [18:03:00.166] ...future.conditions <- base::list() [18:03:00.166] ...future.rng <- base::globalenv()$.Random.seed [18:03:00.166] if (FALSE) { [18:03:00.166] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:00.166] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:00.166] } [18:03:00.166] ...future.result <- base::tryCatch({ [18:03:00.166] base::withCallingHandlers({ [18:03:00.166] ...future.value <- base::withVisible(base::local({ [18:03:00.166] ...future.makeSendCondition <- local({ [18:03:00.166] sendCondition <- NULL [18:03:00.166] function(frame = 1L) { [18:03:00.166] if (is.function(sendCondition)) [18:03:00.166] return(sendCondition) [18:03:00.166] ns <- getNamespace("parallel") [18:03:00.166] if (exists("sendData", mode = "function", [18:03:00.166] envir = ns)) { [18:03:00.166] parallel_sendData <- get("sendData", mode = "function", [18:03:00.166] envir = ns) [18:03:00.166] envir <- sys.frame(frame) [18:03:00.166] master <- NULL [18:03:00.166] while (!identical(envir, .GlobalEnv) && [18:03:00.166] !identical(envir, emptyenv())) { [18:03:00.166] if (exists("master", mode = "list", envir = envir, [18:03:00.166] inherits = FALSE)) { [18:03:00.166] master <- get("master", mode = "list", [18:03:00.166] envir = envir, inherits = FALSE) [18:03:00.166] if (inherits(master, c("SOCKnode", [18:03:00.166] "SOCK0node"))) { [18:03:00.166] sendCondition <<- function(cond) { [18:03:00.166] data <- list(type = "VALUE", value = cond, [18:03:00.166] success = TRUE) [18:03:00.166] parallel_sendData(master, data) [18:03:00.166] } [18:03:00.166] return(sendCondition) [18:03:00.166] } [18:03:00.166] } [18:03:00.166] frame <- frame + 1L [18:03:00.166] envir <- sys.frame(frame) [18:03:00.166] } [18:03:00.166] } [18:03:00.166] sendCondition <<- function(cond) NULL [18:03:00.166] } [18:03:00.166] }) [18:03:00.166] withCallingHandlers({ [18:03:00.166] { [18:03:00.166] Sys.sleep(0.5) [18:03:00.166] list(a = 1, b = 42L) [18:03:00.166] } [18:03:00.166] }, immediateCondition = function(cond) { [18:03:00.166] sendCondition <- ...future.makeSendCondition() [18:03:00.166] sendCondition(cond) [18:03:00.166] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.166] { [18:03:00.166] inherits <- base::inherits [18:03:00.166] invokeRestart <- base::invokeRestart [18:03:00.166] is.null <- base::is.null [18:03:00.166] muffled <- FALSE [18:03:00.166] if (inherits(cond, "message")) { [18:03:00.166] muffled <- grepl(pattern, "muffleMessage") [18:03:00.166] if (muffled) [18:03:00.166] invokeRestart("muffleMessage") [18:03:00.166] } [18:03:00.166] else if (inherits(cond, "warning")) { [18:03:00.166] muffled <- grepl(pattern, "muffleWarning") [18:03:00.166] if (muffled) [18:03:00.166] invokeRestart("muffleWarning") [18:03:00.166] } [18:03:00.166] else if (inherits(cond, "condition")) { [18:03:00.166] if (!is.null(pattern)) { [18:03:00.166] computeRestarts <- base::computeRestarts [18:03:00.166] grepl <- base::grepl [18:03:00.166] restarts <- computeRestarts(cond) [18:03:00.166] for (restart in restarts) { [18:03:00.166] name <- restart$name [18:03:00.166] if (is.null(name)) [18:03:00.166] next [18:03:00.166] if (!grepl(pattern, name)) [18:03:00.166] next [18:03:00.166] invokeRestart(restart) [18:03:00.166] muffled <- TRUE [18:03:00.166] break [18:03:00.166] } [18:03:00.166] } [18:03:00.166] } [18:03:00.166] invisible(muffled) [18:03:00.166] } [18:03:00.166] muffleCondition(cond) [18:03:00.166] }) [18:03:00.166] })) [18:03:00.166] future::FutureResult(value = ...future.value$value, [18:03:00.166] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.166] ...future.rng), globalenv = if (FALSE) [18:03:00.166] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:00.166] ...future.globalenv.names)) [18:03:00.166] else NULL, started = ...future.startTime, version = "1.8") [18:03:00.166] }, condition = base::local({ [18:03:00.166] c <- base::c [18:03:00.166] inherits <- base::inherits [18:03:00.166] invokeRestart <- base::invokeRestart [18:03:00.166] length <- base::length [18:03:00.166] list <- base::list [18:03:00.166] seq.int <- base::seq.int [18:03:00.166] signalCondition <- base::signalCondition [18:03:00.166] sys.calls <- base::sys.calls [18:03:00.166] `[[` <- base::`[[` [18:03:00.166] `+` <- base::`+` [18:03:00.166] `<<-` <- base::`<<-` [18:03:00.166] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:00.166] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:00.166] 3L)] [18:03:00.166] } [18:03:00.166] function(cond) { [18:03:00.166] is_error <- inherits(cond, "error") [18:03:00.166] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:00.166] NULL) [18:03:00.166] if (is_error) { [18:03:00.166] sessionInformation <- function() { [18:03:00.166] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:00.166] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:00.166] search = base::search(), system = base::Sys.info()) [18:03:00.166] } [18:03:00.166] ...future.conditions[[length(...future.conditions) + [18:03:00.166] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:00.166] cond$call), session = sessionInformation(), [18:03:00.166] timestamp = base::Sys.time(), signaled = 0L) [18:03:00.166] signalCondition(cond) [18:03:00.166] } [18:03:00.166] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:00.166] "immediateCondition"))) { [18:03:00.166] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:00.166] ...future.conditions[[length(...future.conditions) + [18:03:00.166] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:00.166] if (TRUE && !signal) { [18:03:00.166] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.166] { [18:03:00.166] inherits <- base::inherits [18:03:00.166] invokeRestart <- base::invokeRestart [18:03:00.166] is.null <- base::is.null [18:03:00.166] muffled <- FALSE [18:03:00.166] if (inherits(cond, "message")) { [18:03:00.166] muffled <- grepl(pattern, "muffleMessage") [18:03:00.166] if (muffled) [18:03:00.166] invokeRestart("muffleMessage") [18:03:00.166] } [18:03:00.166] else if (inherits(cond, "warning")) { [18:03:00.166] muffled <- grepl(pattern, "muffleWarning") [18:03:00.166] if (muffled) [18:03:00.166] invokeRestart("muffleWarning") [18:03:00.166] } [18:03:00.166] else if (inherits(cond, "condition")) { [18:03:00.166] if (!is.null(pattern)) { [18:03:00.166] computeRestarts <- base::computeRestarts [18:03:00.166] grepl <- base::grepl [18:03:00.166] restarts <- computeRestarts(cond) [18:03:00.166] for (restart in restarts) { [18:03:00.166] name <- restart$name [18:03:00.166] if (is.null(name)) [18:03:00.166] next [18:03:00.166] if (!grepl(pattern, name)) [18:03:00.166] next [18:03:00.166] invokeRestart(restart) [18:03:00.166] muffled <- TRUE [18:03:00.166] break [18:03:00.166] } [18:03:00.166] } [18:03:00.166] } [18:03:00.166] invisible(muffled) [18:03:00.166] } [18:03:00.166] muffleCondition(cond, pattern = "^muffle") [18:03:00.166] } [18:03:00.166] } [18:03:00.166] else { [18:03:00.166] if (TRUE) { [18:03:00.166] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.166] { [18:03:00.166] inherits <- base::inherits [18:03:00.166] invokeRestart <- base::invokeRestart [18:03:00.166] is.null <- base::is.null [18:03:00.166] muffled <- FALSE [18:03:00.166] if (inherits(cond, "message")) { [18:03:00.166] muffled <- grepl(pattern, "muffleMessage") [18:03:00.166] if (muffled) [18:03:00.166] invokeRestart("muffleMessage") [18:03:00.166] } [18:03:00.166] else if (inherits(cond, "warning")) { [18:03:00.166] muffled <- grepl(pattern, "muffleWarning") [18:03:00.166] if (muffled) [18:03:00.166] invokeRestart("muffleWarning") [18:03:00.166] } [18:03:00.166] else if (inherits(cond, "condition")) { [18:03:00.166] if (!is.null(pattern)) { [18:03:00.166] computeRestarts <- base::computeRestarts [18:03:00.166] grepl <- base::grepl [18:03:00.166] restarts <- computeRestarts(cond) [18:03:00.166] for (restart in restarts) { [18:03:00.166] name <- restart$name [18:03:00.166] if (is.null(name)) [18:03:00.166] next [18:03:00.166] if (!grepl(pattern, name)) [18:03:00.166] next [18:03:00.166] invokeRestart(restart) [18:03:00.166] muffled <- TRUE [18:03:00.166] break [18:03:00.166] } [18:03:00.166] } [18:03:00.166] } [18:03:00.166] invisible(muffled) [18:03:00.166] } [18:03:00.166] muffleCondition(cond, pattern = "^muffle") [18:03:00.166] } [18:03:00.166] } [18:03:00.166] } [18:03:00.166] })) [18:03:00.166] }, error = function(ex) { [18:03:00.166] base::structure(base::list(value = NULL, visible = NULL, [18:03:00.166] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.166] ...future.rng), started = ...future.startTime, [18:03:00.166] finished = Sys.time(), session_uuid = NA_character_, [18:03:00.166] version = "1.8"), class = "FutureResult") [18:03:00.166] }, finally = { [18:03:00.166] if (!identical(...future.workdir, getwd())) [18:03:00.166] setwd(...future.workdir) [18:03:00.166] { [18:03:00.166] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:00.166] ...future.oldOptions$nwarnings <- NULL [18:03:00.166] } [18:03:00.166] base::options(...future.oldOptions) [18:03:00.166] if (.Platform$OS.type == "windows") { [18:03:00.166] old_names <- names(...future.oldEnvVars) [18:03:00.166] envs <- base::Sys.getenv() [18:03:00.166] names <- names(envs) [18:03:00.166] common <- intersect(names, old_names) [18:03:00.166] added <- setdiff(names, old_names) [18:03:00.166] removed <- setdiff(old_names, names) [18:03:00.166] changed <- common[...future.oldEnvVars[common] != [18:03:00.166] envs[common]] [18:03:00.166] NAMES <- toupper(changed) [18:03:00.166] args <- list() [18:03:00.166] for (kk in seq_along(NAMES)) { [18:03:00.166] name <- changed[[kk]] [18:03:00.166] NAME <- NAMES[[kk]] [18:03:00.166] if (name != NAME && is.element(NAME, old_names)) [18:03:00.166] next [18:03:00.166] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.166] } [18:03:00.166] NAMES <- toupper(added) [18:03:00.166] for (kk in seq_along(NAMES)) { [18:03:00.166] name <- added[[kk]] [18:03:00.166] NAME <- NAMES[[kk]] [18:03:00.166] if (name != NAME && is.element(NAME, old_names)) [18:03:00.166] next [18:03:00.166] args[[name]] <- "" [18:03:00.166] } [18:03:00.166] NAMES <- toupper(removed) [18:03:00.166] for (kk in seq_along(NAMES)) { [18:03:00.166] name <- removed[[kk]] [18:03:00.166] NAME <- NAMES[[kk]] [18:03:00.166] if (name != NAME && is.element(NAME, old_names)) [18:03:00.166] next [18:03:00.166] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.166] } [18:03:00.166] if (length(args) > 0) [18:03:00.166] base::do.call(base::Sys.setenv, args = args) [18:03:00.166] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:00.166] } [18:03:00.166] else { [18:03:00.166] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:00.166] } [18:03:00.166] { [18:03:00.166] if (base::length(...future.futureOptionsAdded) > [18:03:00.166] 0L) { [18:03:00.166] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:00.166] base::names(opts) <- ...future.futureOptionsAdded [18:03:00.166] base::options(opts) [18:03:00.166] } [18:03:00.166] { [18:03:00.166] { [18:03:00.166] base::options(mc.cores = ...future.mc.cores.old) [18:03:00.166] NULL [18:03:00.166] } [18:03:00.166] options(future.plan = NULL) [18:03:00.166] if (is.na(NA_character_)) [18:03:00.166] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.166] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:00.166] future::plan(list(function (..., workers = availableCores(), [18:03:00.166] lazy = FALSE, rscript_libs = .libPaths(), [18:03:00.166] envir = parent.frame()) [18:03:00.166] { [18:03:00.166] if (is.function(workers)) [18:03:00.166] workers <- workers() [18:03:00.166] workers <- structure(as.integer(workers), [18:03:00.166] class = class(workers)) [18:03:00.166] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:00.166] workers >= 1) [18:03:00.166] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:00.166] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:00.166] } [18:03:00.166] future <- MultisessionFuture(..., workers = workers, [18:03:00.166] lazy = lazy, rscript_libs = rscript_libs, [18:03:00.166] envir = envir) [18:03:00.166] if (!future$lazy) [18:03:00.166] future <- run(future) [18:03:00.166] invisible(future) [18:03:00.166] }), .cleanup = FALSE, .init = FALSE) [18:03:00.166] } [18:03:00.166] } [18:03:00.166] } [18:03:00.166] }) [18:03:00.166] if (TRUE) { [18:03:00.166] base::sink(type = "output", split = FALSE) [18:03:00.166] if (TRUE) { [18:03:00.166] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:00.166] } [18:03:00.166] else { [18:03:00.166] ...future.result["stdout"] <- base::list(NULL) [18:03:00.166] } [18:03:00.166] base::close(...future.stdout) [18:03:00.166] ...future.stdout <- NULL [18:03:00.166] } [18:03:00.166] ...future.result$conditions <- ...future.conditions [18:03:00.166] ...future.result$finished <- base::Sys.time() [18:03:00.166] ...future.result [18:03:00.166] } [18:03:00.172] MultisessionFuture started [18:03:00.173] - Launch lazy future ... done [18:03:00.173] run() for 'MultisessionFuture' ... done [18:03:00.699] receiveMessageFromWorker() for ClusterFuture ... [18:03:00.699] - Validating connection of MultisessionFuture [18:03:00.700] - received message: FutureResult [18:03:00.700] - Received FutureResult [18:03:00.700] - Erased future from FutureRegistry [18:03:00.700] result() for ClusterFuture ... [18:03:00.700] - result already collected: FutureResult [18:03:00.701] result() for ClusterFuture ... done [18:03:00.701] receiveMessageFromWorker() for ClusterFuture ... done [18:03:00.701] resolve() on list ... [18:03:00.701] recursive: Inf [18:03:00.701] length: 2 [18:03:00.701] elements: 'a', 'b' [18:03:00.702] length: 1 (resolved future 1) [18:03:00.702] length: 0 (resolved future 2) [18:03:00.702] resolve() on list ... DONE [18:03:00.702] A MultisessionFuture was resolved (and resolved itself) - w/ exception ... [18:03:00.702] getGlobalsAndPackages() ... [18:03:00.703] Searching for globals... [18:03:00.703] - globals found: [2] 'list', 'stop' [18:03:00.704] Searching for globals ... DONE [18:03:00.704] Resolving globals: FALSE [18:03:00.704] [18:03:00.704] [18:03:00.704] getGlobalsAndPackages() ... DONE [18:03:00.705] run() for 'Future' ... [18:03:00.705] - state: 'created' [18:03:00.705] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:00.719] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:00.719] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:00.719] - Field: 'node' [18:03:00.719] - Field: 'label' [18:03:00.720] - Field: 'local' [18:03:00.720] - Field: 'owner' [18:03:00.720] - Field: 'envir' [18:03:00.720] - Field: 'workers' [18:03:00.720] - Field: 'packages' [18:03:00.720] - Field: 'gc' [18:03:00.721] - Field: 'conditions' [18:03:00.721] - Field: 'persistent' [18:03:00.721] - Field: 'expr' [18:03:00.721] - Field: 'uuid' [18:03:00.721] - Field: 'seed' [18:03:00.721] - Field: 'version' [18:03:00.722] - Field: 'result' [18:03:00.722] - Field: 'asynchronous' [18:03:00.722] - Field: 'calls' [18:03:00.722] - Field: 'globals' [18:03:00.722] - Field: 'stdout' [18:03:00.723] - Field: 'earlySignal' [18:03:00.723] - Field: 'lazy' [18:03:00.723] - Field: 'state' [18:03:00.723] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:00.723] - Launch lazy future ... [18:03:00.724] Packages needed by the future expression (n = 0): [18:03:00.724] Packages needed by future strategies (n = 0): [18:03:00.724] { [18:03:00.724] { [18:03:00.724] { [18:03:00.724] ...future.startTime <- base::Sys.time() [18:03:00.724] { [18:03:00.724] { [18:03:00.724] { [18:03:00.724] { [18:03:00.724] base::local({ [18:03:00.724] has_future <- base::requireNamespace("future", [18:03:00.724] quietly = TRUE) [18:03:00.724] if (has_future) { [18:03:00.724] ns <- base::getNamespace("future") [18:03:00.724] version <- ns[[".package"]][["version"]] [18:03:00.724] if (is.null(version)) [18:03:00.724] version <- utils::packageVersion("future") [18:03:00.724] } [18:03:00.724] else { [18:03:00.724] version <- NULL [18:03:00.724] } [18:03:00.724] if (!has_future || version < "1.8.0") { [18:03:00.724] info <- base::c(r_version = base::gsub("R version ", [18:03:00.724] "", base::R.version$version.string), [18:03:00.724] platform = base::sprintf("%s (%s-bit)", [18:03:00.724] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:00.724] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:00.724] "release", "version")], collapse = " "), [18:03:00.724] hostname = base::Sys.info()[["nodename"]]) [18:03:00.724] info <- base::sprintf("%s: %s", base::names(info), [18:03:00.724] info) [18:03:00.724] info <- base::paste(info, collapse = "; ") [18:03:00.724] if (!has_future) { [18:03:00.724] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:00.724] info) [18:03:00.724] } [18:03:00.724] else { [18:03:00.724] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:00.724] info, version) [18:03:00.724] } [18:03:00.724] base::stop(msg) [18:03:00.724] } [18:03:00.724] }) [18:03:00.724] } [18:03:00.724] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:00.724] base::options(mc.cores = 1L) [18:03:00.724] } [18:03:00.724] options(future.plan = NULL) [18:03:00.724] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.724] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:00.724] } [18:03:00.724] ...future.workdir <- getwd() [18:03:00.724] } [18:03:00.724] ...future.oldOptions <- base::as.list(base::.Options) [18:03:00.724] ...future.oldEnvVars <- base::Sys.getenv() [18:03:00.724] } [18:03:00.724] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:00.724] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:00.724] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:00.724] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:00.724] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:00.724] future.stdout.windows.reencode = NULL, width = 80L) [18:03:00.724] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:00.724] base::names(...future.oldOptions)) [18:03:00.724] } [18:03:00.724] if (FALSE) { [18:03:00.724] } [18:03:00.724] else { [18:03:00.724] if (TRUE) { [18:03:00.724] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:00.724] open = "w") [18:03:00.724] } [18:03:00.724] else { [18:03:00.724] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:00.724] windows = "NUL", "/dev/null"), open = "w") [18:03:00.724] } [18:03:00.724] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:00.724] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:00.724] base::sink(type = "output", split = FALSE) [18:03:00.724] base::close(...future.stdout) [18:03:00.724] }, add = TRUE) [18:03:00.724] } [18:03:00.724] ...future.frame <- base::sys.nframe() [18:03:00.724] ...future.conditions <- base::list() [18:03:00.724] ...future.rng <- base::globalenv()$.Random.seed [18:03:00.724] if (FALSE) { [18:03:00.724] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:00.724] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:00.724] } [18:03:00.724] ...future.result <- base::tryCatch({ [18:03:00.724] base::withCallingHandlers({ [18:03:00.724] ...future.value <- base::withVisible(base::local({ [18:03:00.724] ...future.makeSendCondition <- local({ [18:03:00.724] sendCondition <- NULL [18:03:00.724] function(frame = 1L) { [18:03:00.724] if (is.function(sendCondition)) [18:03:00.724] return(sendCondition) [18:03:00.724] ns <- getNamespace("parallel") [18:03:00.724] if (exists("sendData", mode = "function", [18:03:00.724] envir = ns)) { [18:03:00.724] parallel_sendData <- get("sendData", mode = "function", [18:03:00.724] envir = ns) [18:03:00.724] envir <- sys.frame(frame) [18:03:00.724] master <- NULL [18:03:00.724] while (!identical(envir, .GlobalEnv) && [18:03:00.724] !identical(envir, emptyenv())) { [18:03:00.724] if (exists("master", mode = "list", envir = envir, [18:03:00.724] inherits = FALSE)) { [18:03:00.724] master <- get("master", mode = "list", [18:03:00.724] envir = envir, inherits = FALSE) [18:03:00.724] if (inherits(master, c("SOCKnode", [18:03:00.724] "SOCK0node"))) { [18:03:00.724] sendCondition <<- function(cond) { [18:03:00.724] data <- list(type = "VALUE", value = cond, [18:03:00.724] success = TRUE) [18:03:00.724] parallel_sendData(master, data) [18:03:00.724] } [18:03:00.724] return(sendCondition) [18:03:00.724] } [18:03:00.724] } [18:03:00.724] frame <- frame + 1L [18:03:00.724] envir <- sys.frame(frame) [18:03:00.724] } [18:03:00.724] } [18:03:00.724] sendCondition <<- function(cond) NULL [18:03:00.724] } [18:03:00.724] }) [18:03:00.724] withCallingHandlers({ [18:03:00.724] list(a = 1, b = 42L, c = stop("Nah!")) [18:03:00.724] }, immediateCondition = function(cond) { [18:03:00.724] sendCondition <- ...future.makeSendCondition() [18:03:00.724] sendCondition(cond) [18:03:00.724] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.724] { [18:03:00.724] inherits <- base::inherits [18:03:00.724] invokeRestart <- base::invokeRestart [18:03:00.724] is.null <- base::is.null [18:03:00.724] muffled <- FALSE [18:03:00.724] if (inherits(cond, "message")) { [18:03:00.724] muffled <- grepl(pattern, "muffleMessage") [18:03:00.724] if (muffled) [18:03:00.724] invokeRestart("muffleMessage") [18:03:00.724] } [18:03:00.724] else if (inherits(cond, "warning")) { [18:03:00.724] muffled <- grepl(pattern, "muffleWarning") [18:03:00.724] if (muffled) [18:03:00.724] invokeRestart("muffleWarning") [18:03:00.724] } [18:03:00.724] else if (inherits(cond, "condition")) { [18:03:00.724] if (!is.null(pattern)) { [18:03:00.724] computeRestarts <- base::computeRestarts [18:03:00.724] grepl <- base::grepl [18:03:00.724] restarts <- computeRestarts(cond) [18:03:00.724] for (restart in restarts) { [18:03:00.724] name <- restart$name [18:03:00.724] if (is.null(name)) [18:03:00.724] next [18:03:00.724] if (!grepl(pattern, name)) [18:03:00.724] next [18:03:00.724] invokeRestart(restart) [18:03:00.724] muffled <- TRUE [18:03:00.724] break [18:03:00.724] } [18:03:00.724] } [18:03:00.724] } [18:03:00.724] invisible(muffled) [18:03:00.724] } [18:03:00.724] muffleCondition(cond) [18:03:00.724] }) [18:03:00.724] })) [18:03:00.724] future::FutureResult(value = ...future.value$value, [18:03:00.724] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.724] ...future.rng), globalenv = if (FALSE) [18:03:00.724] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:00.724] ...future.globalenv.names)) [18:03:00.724] else NULL, started = ...future.startTime, version = "1.8") [18:03:00.724] }, condition = base::local({ [18:03:00.724] c <- base::c [18:03:00.724] inherits <- base::inherits [18:03:00.724] invokeRestart <- base::invokeRestart [18:03:00.724] length <- base::length [18:03:00.724] list <- base::list [18:03:00.724] seq.int <- base::seq.int [18:03:00.724] signalCondition <- base::signalCondition [18:03:00.724] sys.calls <- base::sys.calls [18:03:00.724] `[[` <- base::`[[` [18:03:00.724] `+` <- base::`+` [18:03:00.724] `<<-` <- base::`<<-` [18:03:00.724] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:00.724] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:00.724] 3L)] [18:03:00.724] } [18:03:00.724] function(cond) { [18:03:00.724] is_error <- inherits(cond, "error") [18:03:00.724] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:00.724] NULL) [18:03:00.724] if (is_error) { [18:03:00.724] sessionInformation <- function() { [18:03:00.724] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:00.724] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:00.724] search = base::search(), system = base::Sys.info()) [18:03:00.724] } [18:03:00.724] ...future.conditions[[length(...future.conditions) + [18:03:00.724] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:00.724] cond$call), session = sessionInformation(), [18:03:00.724] timestamp = base::Sys.time(), signaled = 0L) [18:03:00.724] signalCondition(cond) [18:03:00.724] } [18:03:00.724] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:00.724] "immediateCondition"))) { [18:03:00.724] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:00.724] ...future.conditions[[length(...future.conditions) + [18:03:00.724] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:00.724] if (TRUE && !signal) { [18:03:00.724] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.724] { [18:03:00.724] inherits <- base::inherits [18:03:00.724] invokeRestart <- base::invokeRestart [18:03:00.724] is.null <- base::is.null [18:03:00.724] muffled <- FALSE [18:03:00.724] if (inherits(cond, "message")) { [18:03:00.724] muffled <- grepl(pattern, "muffleMessage") [18:03:00.724] if (muffled) [18:03:00.724] invokeRestart("muffleMessage") [18:03:00.724] } [18:03:00.724] else if (inherits(cond, "warning")) { [18:03:00.724] muffled <- grepl(pattern, "muffleWarning") [18:03:00.724] if (muffled) [18:03:00.724] invokeRestart("muffleWarning") [18:03:00.724] } [18:03:00.724] else if (inherits(cond, "condition")) { [18:03:00.724] if (!is.null(pattern)) { [18:03:00.724] computeRestarts <- base::computeRestarts [18:03:00.724] grepl <- base::grepl [18:03:00.724] restarts <- computeRestarts(cond) [18:03:00.724] for (restart in restarts) { [18:03:00.724] name <- restart$name [18:03:00.724] if (is.null(name)) [18:03:00.724] next [18:03:00.724] if (!grepl(pattern, name)) [18:03:00.724] next [18:03:00.724] invokeRestart(restart) [18:03:00.724] muffled <- TRUE [18:03:00.724] break [18:03:00.724] } [18:03:00.724] } [18:03:00.724] } [18:03:00.724] invisible(muffled) [18:03:00.724] } [18:03:00.724] muffleCondition(cond, pattern = "^muffle") [18:03:00.724] } [18:03:00.724] } [18:03:00.724] else { [18:03:00.724] if (TRUE) { [18:03:00.724] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.724] { [18:03:00.724] inherits <- base::inherits [18:03:00.724] invokeRestart <- base::invokeRestart [18:03:00.724] is.null <- base::is.null [18:03:00.724] muffled <- FALSE [18:03:00.724] if (inherits(cond, "message")) { [18:03:00.724] muffled <- grepl(pattern, "muffleMessage") [18:03:00.724] if (muffled) [18:03:00.724] invokeRestart("muffleMessage") [18:03:00.724] } [18:03:00.724] else if (inherits(cond, "warning")) { [18:03:00.724] muffled <- grepl(pattern, "muffleWarning") [18:03:00.724] if (muffled) [18:03:00.724] invokeRestart("muffleWarning") [18:03:00.724] } [18:03:00.724] else if (inherits(cond, "condition")) { [18:03:00.724] if (!is.null(pattern)) { [18:03:00.724] computeRestarts <- base::computeRestarts [18:03:00.724] grepl <- base::grepl [18:03:00.724] restarts <- computeRestarts(cond) [18:03:00.724] for (restart in restarts) { [18:03:00.724] name <- restart$name [18:03:00.724] if (is.null(name)) [18:03:00.724] next [18:03:00.724] if (!grepl(pattern, name)) [18:03:00.724] next [18:03:00.724] invokeRestart(restart) [18:03:00.724] muffled <- TRUE [18:03:00.724] break [18:03:00.724] } [18:03:00.724] } [18:03:00.724] } [18:03:00.724] invisible(muffled) [18:03:00.724] } [18:03:00.724] muffleCondition(cond, pattern = "^muffle") [18:03:00.724] } [18:03:00.724] } [18:03:00.724] } [18:03:00.724] })) [18:03:00.724] }, error = function(ex) { [18:03:00.724] base::structure(base::list(value = NULL, visible = NULL, [18:03:00.724] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.724] ...future.rng), started = ...future.startTime, [18:03:00.724] finished = Sys.time(), session_uuid = NA_character_, [18:03:00.724] version = "1.8"), class = "FutureResult") [18:03:00.724] }, finally = { [18:03:00.724] if (!identical(...future.workdir, getwd())) [18:03:00.724] setwd(...future.workdir) [18:03:00.724] { [18:03:00.724] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:00.724] ...future.oldOptions$nwarnings <- NULL [18:03:00.724] } [18:03:00.724] base::options(...future.oldOptions) [18:03:00.724] if (.Platform$OS.type == "windows") { [18:03:00.724] old_names <- names(...future.oldEnvVars) [18:03:00.724] envs <- base::Sys.getenv() [18:03:00.724] names <- names(envs) [18:03:00.724] common <- intersect(names, old_names) [18:03:00.724] added <- setdiff(names, old_names) [18:03:00.724] removed <- setdiff(old_names, names) [18:03:00.724] changed <- common[...future.oldEnvVars[common] != [18:03:00.724] envs[common]] [18:03:00.724] NAMES <- toupper(changed) [18:03:00.724] args <- list() [18:03:00.724] for (kk in seq_along(NAMES)) { [18:03:00.724] name <- changed[[kk]] [18:03:00.724] NAME <- NAMES[[kk]] [18:03:00.724] if (name != NAME && is.element(NAME, old_names)) [18:03:00.724] next [18:03:00.724] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.724] } [18:03:00.724] NAMES <- toupper(added) [18:03:00.724] for (kk in seq_along(NAMES)) { [18:03:00.724] name <- added[[kk]] [18:03:00.724] NAME <- NAMES[[kk]] [18:03:00.724] if (name != NAME && is.element(NAME, old_names)) [18:03:00.724] next [18:03:00.724] args[[name]] <- "" [18:03:00.724] } [18:03:00.724] NAMES <- toupper(removed) [18:03:00.724] for (kk in seq_along(NAMES)) { [18:03:00.724] name <- removed[[kk]] [18:03:00.724] NAME <- NAMES[[kk]] [18:03:00.724] if (name != NAME && is.element(NAME, old_names)) [18:03:00.724] next [18:03:00.724] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.724] } [18:03:00.724] if (length(args) > 0) [18:03:00.724] base::do.call(base::Sys.setenv, args = args) [18:03:00.724] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:00.724] } [18:03:00.724] else { [18:03:00.724] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:00.724] } [18:03:00.724] { [18:03:00.724] if (base::length(...future.futureOptionsAdded) > [18:03:00.724] 0L) { [18:03:00.724] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:00.724] base::names(opts) <- ...future.futureOptionsAdded [18:03:00.724] base::options(opts) [18:03:00.724] } [18:03:00.724] { [18:03:00.724] { [18:03:00.724] base::options(mc.cores = ...future.mc.cores.old) [18:03:00.724] NULL [18:03:00.724] } [18:03:00.724] options(future.plan = NULL) [18:03:00.724] if (is.na(NA_character_)) [18:03:00.724] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.724] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:00.724] future::plan(list(function (..., workers = availableCores(), [18:03:00.724] lazy = FALSE, rscript_libs = .libPaths(), [18:03:00.724] envir = parent.frame()) [18:03:00.724] { [18:03:00.724] if (is.function(workers)) [18:03:00.724] workers <- workers() [18:03:00.724] workers <- structure(as.integer(workers), [18:03:00.724] class = class(workers)) [18:03:00.724] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:00.724] workers >= 1) [18:03:00.724] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:00.724] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:00.724] } [18:03:00.724] future <- MultisessionFuture(..., workers = workers, [18:03:00.724] lazy = lazy, rscript_libs = rscript_libs, [18:03:00.724] envir = envir) [18:03:00.724] if (!future$lazy) [18:03:00.724] future <- run(future) [18:03:00.724] invisible(future) [18:03:00.724] }), .cleanup = FALSE, .init = FALSE) [18:03:00.724] } [18:03:00.724] } [18:03:00.724] } [18:03:00.724] }) [18:03:00.724] if (TRUE) { [18:03:00.724] base::sink(type = "output", split = FALSE) [18:03:00.724] if (TRUE) { [18:03:00.724] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:00.724] } [18:03:00.724] else { [18:03:00.724] ...future.result["stdout"] <- base::list(NULL) [18:03:00.724] } [18:03:00.724] base::close(...future.stdout) [18:03:00.724] ...future.stdout <- NULL [18:03:00.724] } [18:03:00.724] ...future.result$conditions <- ...future.conditions [18:03:00.724] ...future.result$finished <- base::Sys.time() [18:03:00.724] ...future.result [18:03:00.724] } [18:03:00.730] MultisessionFuture started [18:03:00.730] - Launch lazy future ... done [18:03:00.730] run() for 'MultisessionFuture' ... done [18:03:00.747] receiveMessageFromWorker() for ClusterFuture ... [18:03:00.747] - Validating connection of MultisessionFuture [18:03:00.748] - received message: FutureResult [18:03:00.748] - Received FutureResult [18:03:00.748] - Erased future from FutureRegistry [18:03:00.748] result() for ClusterFuture ... [18:03:00.749] - result already collected: FutureResult [18:03:00.749] result() for ClusterFuture ... done [18:03:00.749] signalConditions() ... [18:03:00.749] - include = 'immediateCondition' [18:03:00.749] - exclude = [18:03:00.749] - resignal = FALSE [18:03:00.750] - Number of conditions: 1 [18:03:00.750] signalConditions() ... done [18:03:00.750] receiveMessageFromWorker() for ClusterFuture ... done [18:03:00.750] A MultisessionFuture was resolved [18:03:00.750] getGlobalsAndPackages() ... [18:03:00.750] Searching for globals... [18:03:00.751] - globals found: [2] 'list', 'stop' [18:03:00.751] Searching for globals ... DONE [18:03:00.752] Resolving globals: FALSE [18:03:00.752] [18:03:00.752] [18:03:00.752] getGlobalsAndPackages() ... DONE [18:03:00.753] run() for 'Future' ... [18:03:00.753] - state: 'created' [18:03:00.753] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:00.768] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:00.768] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:00.768] - Field: 'node' [18:03:00.769] - Field: 'label' [18:03:00.769] - Field: 'local' [18:03:00.769] - Field: 'owner' [18:03:00.769] - Field: 'envir' [18:03:00.769] - Field: 'workers' [18:03:00.770] - Field: 'packages' [18:03:00.770] - Field: 'gc' [18:03:00.770] - Field: 'conditions' [18:03:00.770] - Field: 'persistent' [18:03:00.770] - Field: 'expr' [18:03:00.770] - Field: 'uuid' [18:03:00.771] - Field: 'seed' [18:03:00.771] - Field: 'version' [18:03:00.771] - Field: 'result' [18:03:00.771] - Field: 'asynchronous' [18:03:00.771] - Field: 'calls' [18:03:00.772] - Field: 'globals' [18:03:00.772] - Field: 'stdout' [18:03:00.772] - Field: 'earlySignal' [18:03:00.772] - Field: 'lazy' [18:03:00.772] - Field: 'state' [18:03:00.772] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:00.773] - Launch lazy future ... [18:03:00.773] Packages needed by the future expression (n = 0): [18:03:00.773] Packages needed by future strategies (n = 0): [18:03:00.774] { [18:03:00.774] { [18:03:00.774] { [18:03:00.774] ...future.startTime <- base::Sys.time() [18:03:00.774] { [18:03:00.774] { [18:03:00.774] { [18:03:00.774] { [18:03:00.774] base::local({ [18:03:00.774] has_future <- base::requireNamespace("future", [18:03:00.774] quietly = TRUE) [18:03:00.774] if (has_future) { [18:03:00.774] ns <- base::getNamespace("future") [18:03:00.774] version <- ns[[".package"]][["version"]] [18:03:00.774] if (is.null(version)) [18:03:00.774] version <- utils::packageVersion("future") [18:03:00.774] } [18:03:00.774] else { [18:03:00.774] version <- NULL [18:03:00.774] } [18:03:00.774] if (!has_future || version < "1.8.0") { [18:03:00.774] info <- base::c(r_version = base::gsub("R version ", [18:03:00.774] "", base::R.version$version.string), [18:03:00.774] platform = base::sprintf("%s (%s-bit)", [18:03:00.774] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:00.774] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:00.774] "release", "version")], collapse = " "), [18:03:00.774] hostname = base::Sys.info()[["nodename"]]) [18:03:00.774] info <- base::sprintf("%s: %s", base::names(info), [18:03:00.774] info) [18:03:00.774] info <- base::paste(info, collapse = "; ") [18:03:00.774] if (!has_future) { [18:03:00.774] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:00.774] info) [18:03:00.774] } [18:03:00.774] else { [18:03:00.774] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:00.774] info, version) [18:03:00.774] } [18:03:00.774] base::stop(msg) [18:03:00.774] } [18:03:00.774] }) [18:03:00.774] } [18:03:00.774] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:00.774] base::options(mc.cores = 1L) [18:03:00.774] } [18:03:00.774] options(future.plan = NULL) [18:03:00.774] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.774] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:00.774] } [18:03:00.774] ...future.workdir <- getwd() [18:03:00.774] } [18:03:00.774] ...future.oldOptions <- base::as.list(base::.Options) [18:03:00.774] ...future.oldEnvVars <- base::Sys.getenv() [18:03:00.774] } [18:03:00.774] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:00.774] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:00.774] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:00.774] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:00.774] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:00.774] future.stdout.windows.reencode = NULL, width = 80L) [18:03:00.774] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:00.774] base::names(...future.oldOptions)) [18:03:00.774] } [18:03:00.774] if (FALSE) { [18:03:00.774] } [18:03:00.774] else { [18:03:00.774] if (TRUE) { [18:03:00.774] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:00.774] open = "w") [18:03:00.774] } [18:03:00.774] else { [18:03:00.774] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:00.774] windows = "NUL", "/dev/null"), open = "w") [18:03:00.774] } [18:03:00.774] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:00.774] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:00.774] base::sink(type = "output", split = FALSE) [18:03:00.774] base::close(...future.stdout) [18:03:00.774] }, add = TRUE) [18:03:00.774] } [18:03:00.774] ...future.frame <- base::sys.nframe() [18:03:00.774] ...future.conditions <- base::list() [18:03:00.774] ...future.rng <- base::globalenv()$.Random.seed [18:03:00.774] if (FALSE) { [18:03:00.774] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:00.774] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:00.774] } [18:03:00.774] ...future.result <- base::tryCatch({ [18:03:00.774] base::withCallingHandlers({ [18:03:00.774] ...future.value <- base::withVisible(base::local({ [18:03:00.774] ...future.makeSendCondition <- local({ [18:03:00.774] sendCondition <- NULL [18:03:00.774] function(frame = 1L) { [18:03:00.774] if (is.function(sendCondition)) [18:03:00.774] return(sendCondition) [18:03:00.774] ns <- getNamespace("parallel") [18:03:00.774] if (exists("sendData", mode = "function", [18:03:00.774] envir = ns)) { [18:03:00.774] parallel_sendData <- get("sendData", mode = "function", [18:03:00.774] envir = ns) [18:03:00.774] envir <- sys.frame(frame) [18:03:00.774] master <- NULL [18:03:00.774] while (!identical(envir, .GlobalEnv) && [18:03:00.774] !identical(envir, emptyenv())) { [18:03:00.774] if (exists("master", mode = "list", envir = envir, [18:03:00.774] inherits = FALSE)) { [18:03:00.774] master <- get("master", mode = "list", [18:03:00.774] envir = envir, inherits = FALSE) [18:03:00.774] if (inherits(master, c("SOCKnode", [18:03:00.774] "SOCK0node"))) { [18:03:00.774] sendCondition <<- function(cond) { [18:03:00.774] data <- list(type = "VALUE", value = cond, [18:03:00.774] success = TRUE) [18:03:00.774] parallel_sendData(master, data) [18:03:00.774] } [18:03:00.774] return(sendCondition) [18:03:00.774] } [18:03:00.774] } [18:03:00.774] frame <- frame + 1L [18:03:00.774] envir <- sys.frame(frame) [18:03:00.774] } [18:03:00.774] } [18:03:00.774] sendCondition <<- function(cond) NULL [18:03:00.774] } [18:03:00.774] }) [18:03:00.774] withCallingHandlers({ [18:03:00.774] list(a = 1, b = 42L, c = stop("Nah!")) [18:03:00.774] }, immediateCondition = function(cond) { [18:03:00.774] sendCondition <- ...future.makeSendCondition() [18:03:00.774] sendCondition(cond) [18:03:00.774] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.774] { [18:03:00.774] inherits <- base::inherits [18:03:00.774] invokeRestart <- base::invokeRestart [18:03:00.774] is.null <- base::is.null [18:03:00.774] muffled <- FALSE [18:03:00.774] if (inherits(cond, "message")) { [18:03:00.774] muffled <- grepl(pattern, "muffleMessage") [18:03:00.774] if (muffled) [18:03:00.774] invokeRestart("muffleMessage") [18:03:00.774] } [18:03:00.774] else if (inherits(cond, "warning")) { [18:03:00.774] muffled <- grepl(pattern, "muffleWarning") [18:03:00.774] if (muffled) [18:03:00.774] invokeRestart("muffleWarning") [18:03:00.774] } [18:03:00.774] else if (inherits(cond, "condition")) { [18:03:00.774] if (!is.null(pattern)) { [18:03:00.774] computeRestarts <- base::computeRestarts [18:03:00.774] grepl <- base::grepl [18:03:00.774] restarts <- computeRestarts(cond) [18:03:00.774] for (restart in restarts) { [18:03:00.774] name <- restart$name [18:03:00.774] if (is.null(name)) [18:03:00.774] next [18:03:00.774] if (!grepl(pattern, name)) [18:03:00.774] next [18:03:00.774] invokeRestart(restart) [18:03:00.774] muffled <- TRUE [18:03:00.774] break [18:03:00.774] } [18:03:00.774] } [18:03:00.774] } [18:03:00.774] invisible(muffled) [18:03:00.774] } [18:03:00.774] muffleCondition(cond) [18:03:00.774] }) [18:03:00.774] })) [18:03:00.774] future::FutureResult(value = ...future.value$value, [18:03:00.774] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.774] ...future.rng), globalenv = if (FALSE) [18:03:00.774] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:00.774] ...future.globalenv.names)) [18:03:00.774] else NULL, started = ...future.startTime, version = "1.8") [18:03:00.774] }, condition = base::local({ [18:03:00.774] c <- base::c [18:03:00.774] inherits <- base::inherits [18:03:00.774] invokeRestart <- base::invokeRestart [18:03:00.774] length <- base::length [18:03:00.774] list <- base::list [18:03:00.774] seq.int <- base::seq.int [18:03:00.774] signalCondition <- base::signalCondition [18:03:00.774] sys.calls <- base::sys.calls [18:03:00.774] `[[` <- base::`[[` [18:03:00.774] `+` <- base::`+` [18:03:00.774] `<<-` <- base::`<<-` [18:03:00.774] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:00.774] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:00.774] 3L)] [18:03:00.774] } [18:03:00.774] function(cond) { [18:03:00.774] is_error <- inherits(cond, "error") [18:03:00.774] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:00.774] NULL) [18:03:00.774] if (is_error) { [18:03:00.774] sessionInformation <- function() { [18:03:00.774] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:00.774] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:00.774] search = base::search(), system = base::Sys.info()) [18:03:00.774] } [18:03:00.774] ...future.conditions[[length(...future.conditions) + [18:03:00.774] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:00.774] cond$call), session = sessionInformation(), [18:03:00.774] timestamp = base::Sys.time(), signaled = 0L) [18:03:00.774] signalCondition(cond) [18:03:00.774] } [18:03:00.774] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:00.774] "immediateCondition"))) { [18:03:00.774] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:00.774] ...future.conditions[[length(...future.conditions) + [18:03:00.774] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:00.774] if (TRUE && !signal) { [18:03:00.774] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.774] { [18:03:00.774] inherits <- base::inherits [18:03:00.774] invokeRestart <- base::invokeRestart [18:03:00.774] is.null <- base::is.null [18:03:00.774] muffled <- FALSE [18:03:00.774] if (inherits(cond, "message")) { [18:03:00.774] muffled <- grepl(pattern, "muffleMessage") [18:03:00.774] if (muffled) [18:03:00.774] invokeRestart("muffleMessage") [18:03:00.774] } [18:03:00.774] else if (inherits(cond, "warning")) { [18:03:00.774] muffled <- grepl(pattern, "muffleWarning") [18:03:00.774] if (muffled) [18:03:00.774] invokeRestart("muffleWarning") [18:03:00.774] } [18:03:00.774] else if (inherits(cond, "condition")) { [18:03:00.774] if (!is.null(pattern)) { [18:03:00.774] computeRestarts <- base::computeRestarts [18:03:00.774] grepl <- base::grepl [18:03:00.774] restarts <- computeRestarts(cond) [18:03:00.774] for (restart in restarts) { [18:03:00.774] name <- restart$name [18:03:00.774] if (is.null(name)) [18:03:00.774] next [18:03:00.774] if (!grepl(pattern, name)) [18:03:00.774] next [18:03:00.774] invokeRestart(restart) [18:03:00.774] muffled <- TRUE [18:03:00.774] break [18:03:00.774] } [18:03:00.774] } [18:03:00.774] } [18:03:00.774] invisible(muffled) [18:03:00.774] } [18:03:00.774] muffleCondition(cond, pattern = "^muffle") [18:03:00.774] } [18:03:00.774] } [18:03:00.774] else { [18:03:00.774] if (TRUE) { [18:03:00.774] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.774] { [18:03:00.774] inherits <- base::inherits [18:03:00.774] invokeRestart <- base::invokeRestart [18:03:00.774] is.null <- base::is.null [18:03:00.774] muffled <- FALSE [18:03:00.774] if (inherits(cond, "message")) { [18:03:00.774] muffled <- grepl(pattern, "muffleMessage") [18:03:00.774] if (muffled) [18:03:00.774] invokeRestart("muffleMessage") [18:03:00.774] } [18:03:00.774] else if (inherits(cond, "warning")) { [18:03:00.774] muffled <- grepl(pattern, "muffleWarning") [18:03:00.774] if (muffled) [18:03:00.774] invokeRestart("muffleWarning") [18:03:00.774] } [18:03:00.774] else if (inherits(cond, "condition")) { [18:03:00.774] if (!is.null(pattern)) { [18:03:00.774] computeRestarts <- base::computeRestarts [18:03:00.774] grepl <- base::grepl [18:03:00.774] restarts <- computeRestarts(cond) [18:03:00.774] for (restart in restarts) { [18:03:00.774] name <- restart$name [18:03:00.774] if (is.null(name)) [18:03:00.774] next [18:03:00.774] if (!grepl(pattern, name)) [18:03:00.774] next [18:03:00.774] invokeRestart(restart) [18:03:00.774] muffled <- TRUE [18:03:00.774] break [18:03:00.774] } [18:03:00.774] } [18:03:00.774] } [18:03:00.774] invisible(muffled) [18:03:00.774] } [18:03:00.774] muffleCondition(cond, pattern = "^muffle") [18:03:00.774] } [18:03:00.774] } [18:03:00.774] } [18:03:00.774] })) [18:03:00.774] }, error = function(ex) { [18:03:00.774] base::structure(base::list(value = NULL, visible = NULL, [18:03:00.774] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.774] ...future.rng), started = ...future.startTime, [18:03:00.774] finished = Sys.time(), session_uuid = NA_character_, [18:03:00.774] version = "1.8"), class = "FutureResult") [18:03:00.774] }, finally = { [18:03:00.774] if (!identical(...future.workdir, getwd())) [18:03:00.774] setwd(...future.workdir) [18:03:00.774] { [18:03:00.774] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:00.774] ...future.oldOptions$nwarnings <- NULL [18:03:00.774] } [18:03:00.774] base::options(...future.oldOptions) [18:03:00.774] if (.Platform$OS.type == "windows") { [18:03:00.774] old_names <- names(...future.oldEnvVars) [18:03:00.774] envs <- base::Sys.getenv() [18:03:00.774] names <- names(envs) [18:03:00.774] common <- intersect(names, old_names) [18:03:00.774] added <- setdiff(names, old_names) [18:03:00.774] removed <- setdiff(old_names, names) [18:03:00.774] changed <- common[...future.oldEnvVars[common] != [18:03:00.774] envs[common]] [18:03:00.774] NAMES <- toupper(changed) [18:03:00.774] args <- list() [18:03:00.774] for (kk in seq_along(NAMES)) { [18:03:00.774] name <- changed[[kk]] [18:03:00.774] NAME <- NAMES[[kk]] [18:03:00.774] if (name != NAME && is.element(NAME, old_names)) [18:03:00.774] next [18:03:00.774] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.774] } [18:03:00.774] NAMES <- toupper(added) [18:03:00.774] for (kk in seq_along(NAMES)) { [18:03:00.774] name <- added[[kk]] [18:03:00.774] NAME <- NAMES[[kk]] [18:03:00.774] if (name != NAME && is.element(NAME, old_names)) [18:03:00.774] next [18:03:00.774] args[[name]] <- "" [18:03:00.774] } [18:03:00.774] NAMES <- toupper(removed) [18:03:00.774] for (kk in seq_along(NAMES)) { [18:03:00.774] name <- removed[[kk]] [18:03:00.774] NAME <- NAMES[[kk]] [18:03:00.774] if (name != NAME && is.element(NAME, old_names)) [18:03:00.774] next [18:03:00.774] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.774] } [18:03:00.774] if (length(args) > 0) [18:03:00.774] base::do.call(base::Sys.setenv, args = args) [18:03:00.774] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:00.774] } [18:03:00.774] else { [18:03:00.774] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:00.774] } [18:03:00.774] { [18:03:00.774] if (base::length(...future.futureOptionsAdded) > [18:03:00.774] 0L) { [18:03:00.774] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:00.774] base::names(opts) <- ...future.futureOptionsAdded [18:03:00.774] base::options(opts) [18:03:00.774] } [18:03:00.774] { [18:03:00.774] { [18:03:00.774] base::options(mc.cores = ...future.mc.cores.old) [18:03:00.774] NULL [18:03:00.774] } [18:03:00.774] options(future.plan = NULL) [18:03:00.774] if (is.na(NA_character_)) [18:03:00.774] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.774] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:00.774] future::plan(list(function (..., workers = availableCores(), [18:03:00.774] lazy = FALSE, rscript_libs = .libPaths(), [18:03:00.774] envir = parent.frame()) [18:03:00.774] { [18:03:00.774] if (is.function(workers)) [18:03:00.774] workers <- workers() [18:03:00.774] workers <- structure(as.integer(workers), [18:03:00.774] class = class(workers)) [18:03:00.774] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:00.774] workers >= 1) [18:03:00.774] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:00.774] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:00.774] } [18:03:00.774] future <- MultisessionFuture(..., workers = workers, [18:03:00.774] lazy = lazy, rscript_libs = rscript_libs, [18:03:00.774] envir = envir) [18:03:00.774] if (!future$lazy) [18:03:00.774] future <- run(future) [18:03:00.774] invisible(future) [18:03:00.774] }), .cleanup = FALSE, .init = FALSE) [18:03:00.774] } [18:03:00.774] } [18:03:00.774] } [18:03:00.774] }) [18:03:00.774] if (TRUE) { [18:03:00.774] base::sink(type = "output", split = FALSE) [18:03:00.774] if (TRUE) { [18:03:00.774] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:00.774] } [18:03:00.774] else { [18:03:00.774] ...future.result["stdout"] <- base::list(NULL) [18:03:00.774] } [18:03:00.774] base::close(...future.stdout) [18:03:00.774] ...future.stdout <- NULL [18:03:00.774] } [18:03:00.774] ...future.result$conditions <- ...future.conditions [18:03:00.774] ...future.result$finished <- base::Sys.time() [18:03:00.774] ...future.result [18:03:00.774] } [18:03:00.780] MultisessionFuture started [18:03:00.780] - Launch lazy future ... done [18:03:00.780] run() for 'MultisessionFuture' ... done [18:03:00.796] receiveMessageFromWorker() for ClusterFuture ... [18:03:00.796] - Validating connection of MultisessionFuture [18:03:00.797] - received message: FutureResult [18:03:00.797] - Received FutureResult [18:03:00.797] - Erased future from FutureRegistry [18:03:00.797] result() for ClusterFuture ... [18:03:00.797] - result already collected: FutureResult [18:03:00.798] result() for ClusterFuture ... done [18:03:00.798] signalConditions() ... [18:03:00.798] - include = 'immediateCondition' [18:03:00.798] - exclude = [18:03:00.798] - resignal = FALSE [18:03:00.798] - Number of conditions: 1 [18:03:00.799] signalConditions() ... done [18:03:00.799] receiveMessageFromWorker() for ClusterFuture ... done [18:03:00.799] A MultisessionFuture was resolved - result = TRUE, recursive = Inf ... DONE *** resolve() for Future objects ... DONE *** resolve() for lists ... [18:03:00.799] resolve() on list ... [18:03:00.800] recursive: 0 [18:03:00.800] length: 2 [18:03:00.800] elements: 'a', 'b' [18:03:00.800] length: 1 (resolved future 1) [18:03:00.800] length: 0 (resolved future 2) [18:03:00.800] resolve() on list ... DONE [18:03:00.801] getGlobalsAndPackages() ... [18:03:00.801] Searching for globals... [18:03:00.801] [18:03:00.801] Searching for globals ... DONE [18:03:00.801] - globals: [0] [18:03:00.802] getGlobalsAndPackages() ... DONE [18:03:00.802] run() for 'Future' ... [18:03:00.802] - state: 'created' [18:03:00.802] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:00.816] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:00.816] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:00.816] - Field: 'node' [18:03:00.817] - Field: 'label' [18:03:00.817] - Field: 'local' [18:03:00.817] - Field: 'owner' [18:03:00.817] - Field: 'envir' [18:03:00.817] - Field: 'workers' [18:03:00.817] - Field: 'packages' [18:03:00.818] - Field: 'gc' [18:03:00.818] - Field: 'conditions' [18:03:00.818] - Field: 'persistent' [18:03:00.818] - Field: 'expr' [18:03:00.818] - Field: 'uuid' [18:03:00.819] - Field: 'seed' [18:03:00.819] - Field: 'version' [18:03:00.819] - Field: 'result' [18:03:00.819] - Field: 'asynchronous' [18:03:00.819] - Field: 'calls' [18:03:00.819] - Field: 'globals' [18:03:00.820] - Field: 'stdout' [18:03:00.820] - Field: 'earlySignal' [18:03:00.820] - Field: 'lazy' [18:03:00.820] - Field: 'state' [18:03:00.820] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:00.820] - Launch lazy future ... [18:03:00.821] Packages needed by the future expression (n = 0): [18:03:00.821] Packages needed by future strategies (n = 0): [18:03:00.822] { [18:03:00.822] { [18:03:00.822] { [18:03:00.822] ...future.startTime <- base::Sys.time() [18:03:00.822] { [18:03:00.822] { [18:03:00.822] { [18:03:00.822] { [18:03:00.822] base::local({ [18:03:00.822] has_future <- base::requireNamespace("future", [18:03:00.822] quietly = TRUE) [18:03:00.822] if (has_future) { [18:03:00.822] ns <- base::getNamespace("future") [18:03:00.822] version <- ns[[".package"]][["version"]] [18:03:00.822] if (is.null(version)) [18:03:00.822] version <- utils::packageVersion("future") [18:03:00.822] } [18:03:00.822] else { [18:03:00.822] version <- NULL [18:03:00.822] } [18:03:00.822] if (!has_future || version < "1.8.0") { [18:03:00.822] info <- base::c(r_version = base::gsub("R version ", [18:03:00.822] "", base::R.version$version.string), [18:03:00.822] platform = base::sprintf("%s (%s-bit)", [18:03:00.822] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:00.822] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:00.822] "release", "version")], collapse = " "), [18:03:00.822] hostname = base::Sys.info()[["nodename"]]) [18:03:00.822] info <- base::sprintf("%s: %s", base::names(info), [18:03:00.822] info) [18:03:00.822] info <- base::paste(info, collapse = "; ") [18:03:00.822] if (!has_future) { [18:03:00.822] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:00.822] info) [18:03:00.822] } [18:03:00.822] else { [18:03:00.822] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:00.822] info, version) [18:03:00.822] } [18:03:00.822] base::stop(msg) [18:03:00.822] } [18:03:00.822] }) [18:03:00.822] } [18:03:00.822] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:00.822] base::options(mc.cores = 1L) [18:03:00.822] } [18:03:00.822] options(future.plan = NULL) [18:03:00.822] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.822] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:00.822] } [18:03:00.822] ...future.workdir <- getwd() [18:03:00.822] } [18:03:00.822] ...future.oldOptions <- base::as.list(base::.Options) [18:03:00.822] ...future.oldEnvVars <- base::Sys.getenv() [18:03:00.822] } [18:03:00.822] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:00.822] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:00.822] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:00.822] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:00.822] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:00.822] future.stdout.windows.reencode = NULL, width = 80L) [18:03:00.822] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:00.822] base::names(...future.oldOptions)) [18:03:00.822] } [18:03:00.822] if (FALSE) { [18:03:00.822] } [18:03:00.822] else { [18:03:00.822] if (TRUE) { [18:03:00.822] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:00.822] open = "w") [18:03:00.822] } [18:03:00.822] else { [18:03:00.822] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:00.822] windows = "NUL", "/dev/null"), open = "w") [18:03:00.822] } [18:03:00.822] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:00.822] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:00.822] base::sink(type = "output", split = FALSE) [18:03:00.822] base::close(...future.stdout) [18:03:00.822] }, add = TRUE) [18:03:00.822] } [18:03:00.822] ...future.frame <- base::sys.nframe() [18:03:00.822] ...future.conditions <- base::list() [18:03:00.822] ...future.rng <- base::globalenv()$.Random.seed [18:03:00.822] if (FALSE) { [18:03:00.822] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:00.822] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:00.822] } [18:03:00.822] ...future.result <- base::tryCatch({ [18:03:00.822] base::withCallingHandlers({ [18:03:00.822] ...future.value <- base::withVisible(base::local({ [18:03:00.822] ...future.makeSendCondition <- local({ [18:03:00.822] sendCondition <- NULL [18:03:00.822] function(frame = 1L) { [18:03:00.822] if (is.function(sendCondition)) [18:03:00.822] return(sendCondition) [18:03:00.822] ns <- getNamespace("parallel") [18:03:00.822] if (exists("sendData", mode = "function", [18:03:00.822] envir = ns)) { [18:03:00.822] parallel_sendData <- get("sendData", mode = "function", [18:03:00.822] envir = ns) [18:03:00.822] envir <- sys.frame(frame) [18:03:00.822] master <- NULL [18:03:00.822] while (!identical(envir, .GlobalEnv) && [18:03:00.822] !identical(envir, emptyenv())) { [18:03:00.822] if (exists("master", mode = "list", envir = envir, [18:03:00.822] inherits = FALSE)) { [18:03:00.822] master <- get("master", mode = "list", [18:03:00.822] envir = envir, inherits = FALSE) [18:03:00.822] if (inherits(master, c("SOCKnode", [18:03:00.822] "SOCK0node"))) { [18:03:00.822] sendCondition <<- function(cond) { [18:03:00.822] data <- list(type = "VALUE", value = cond, [18:03:00.822] success = TRUE) [18:03:00.822] parallel_sendData(master, data) [18:03:00.822] } [18:03:00.822] return(sendCondition) [18:03:00.822] } [18:03:00.822] } [18:03:00.822] frame <- frame + 1L [18:03:00.822] envir <- sys.frame(frame) [18:03:00.822] } [18:03:00.822] } [18:03:00.822] sendCondition <<- function(cond) NULL [18:03:00.822] } [18:03:00.822] }) [18:03:00.822] withCallingHandlers({ [18:03:00.822] 1 [18:03:00.822] }, immediateCondition = function(cond) { [18:03:00.822] sendCondition <- ...future.makeSendCondition() [18:03:00.822] sendCondition(cond) [18:03:00.822] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.822] { [18:03:00.822] inherits <- base::inherits [18:03:00.822] invokeRestart <- base::invokeRestart [18:03:00.822] is.null <- base::is.null [18:03:00.822] muffled <- FALSE [18:03:00.822] if (inherits(cond, "message")) { [18:03:00.822] muffled <- grepl(pattern, "muffleMessage") [18:03:00.822] if (muffled) [18:03:00.822] invokeRestart("muffleMessage") [18:03:00.822] } [18:03:00.822] else if (inherits(cond, "warning")) { [18:03:00.822] muffled <- grepl(pattern, "muffleWarning") [18:03:00.822] if (muffled) [18:03:00.822] invokeRestart("muffleWarning") [18:03:00.822] } [18:03:00.822] else if (inherits(cond, "condition")) { [18:03:00.822] if (!is.null(pattern)) { [18:03:00.822] computeRestarts <- base::computeRestarts [18:03:00.822] grepl <- base::grepl [18:03:00.822] restarts <- computeRestarts(cond) [18:03:00.822] for (restart in restarts) { [18:03:00.822] name <- restart$name [18:03:00.822] if (is.null(name)) [18:03:00.822] next [18:03:00.822] if (!grepl(pattern, name)) [18:03:00.822] next [18:03:00.822] invokeRestart(restart) [18:03:00.822] muffled <- TRUE [18:03:00.822] break [18:03:00.822] } [18:03:00.822] } [18:03:00.822] } [18:03:00.822] invisible(muffled) [18:03:00.822] } [18:03:00.822] muffleCondition(cond) [18:03:00.822] }) [18:03:00.822] })) [18:03:00.822] future::FutureResult(value = ...future.value$value, [18:03:00.822] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.822] ...future.rng), globalenv = if (FALSE) [18:03:00.822] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:00.822] ...future.globalenv.names)) [18:03:00.822] else NULL, started = ...future.startTime, version = "1.8") [18:03:00.822] }, condition = base::local({ [18:03:00.822] c <- base::c [18:03:00.822] inherits <- base::inherits [18:03:00.822] invokeRestart <- base::invokeRestart [18:03:00.822] length <- base::length [18:03:00.822] list <- base::list [18:03:00.822] seq.int <- base::seq.int [18:03:00.822] signalCondition <- base::signalCondition [18:03:00.822] sys.calls <- base::sys.calls [18:03:00.822] `[[` <- base::`[[` [18:03:00.822] `+` <- base::`+` [18:03:00.822] `<<-` <- base::`<<-` [18:03:00.822] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:00.822] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:00.822] 3L)] [18:03:00.822] } [18:03:00.822] function(cond) { [18:03:00.822] is_error <- inherits(cond, "error") [18:03:00.822] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:00.822] NULL) [18:03:00.822] if (is_error) { [18:03:00.822] sessionInformation <- function() { [18:03:00.822] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:00.822] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:00.822] search = base::search(), system = base::Sys.info()) [18:03:00.822] } [18:03:00.822] ...future.conditions[[length(...future.conditions) + [18:03:00.822] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:00.822] cond$call), session = sessionInformation(), [18:03:00.822] timestamp = base::Sys.time(), signaled = 0L) [18:03:00.822] signalCondition(cond) [18:03:00.822] } [18:03:00.822] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:00.822] "immediateCondition"))) { [18:03:00.822] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:00.822] ...future.conditions[[length(...future.conditions) + [18:03:00.822] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:00.822] if (TRUE && !signal) { [18:03:00.822] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.822] { [18:03:00.822] inherits <- base::inherits [18:03:00.822] invokeRestart <- base::invokeRestart [18:03:00.822] is.null <- base::is.null [18:03:00.822] muffled <- FALSE [18:03:00.822] if (inherits(cond, "message")) { [18:03:00.822] muffled <- grepl(pattern, "muffleMessage") [18:03:00.822] if (muffled) [18:03:00.822] invokeRestart("muffleMessage") [18:03:00.822] } [18:03:00.822] else if (inherits(cond, "warning")) { [18:03:00.822] muffled <- grepl(pattern, "muffleWarning") [18:03:00.822] if (muffled) [18:03:00.822] invokeRestart("muffleWarning") [18:03:00.822] } [18:03:00.822] else if (inherits(cond, "condition")) { [18:03:00.822] if (!is.null(pattern)) { [18:03:00.822] computeRestarts <- base::computeRestarts [18:03:00.822] grepl <- base::grepl [18:03:00.822] restarts <- computeRestarts(cond) [18:03:00.822] for (restart in restarts) { [18:03:00.822] name <- restart$name [18:03:00.822] if (is.null(name)) [18:03:00.822] next [18:03:00.822] if (!grepl(pattern, name)) [18:03:00.822] next [18:03:00.822] invokeRestart(restart) [18:03:00.822] muffled <- TRUE [18:03:00.822] break [18:03:00.822] } [18:03:00.822] } [18:03:00.822] } [18:03:00.822] invisible(muffled) [18:03:00.822] } [18:03:00.822] muffleCondition(cond, pattern = "^muffle") [18:03:00.822] } [18:03:00.822] } [18:03:00.822] else { [18:03:00.822] if (TRUE) { [18:03:00.822] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.822] { [18:03:00.822] inherits <- base::inherits [18:03:00.822] invokeRestart <- base::invokeRestart [18:03:00.822] is.null <- base::is.null [18:03:00.822] muffled <- FALSE [18:03:00.822] if (inherits(cond, "message")) { [18:03:00.822] muffled <- grepl(pattern, "muffleMessage") [18:03:00.822] if (muffled) [18:03:00.822] invokeRestart("muffleMessage") [18:03:00.822] } [18:03:00.822] else if (inherits(cond, "warning")) { [18:03:00.822] muffled <- grepl(pattern, "muffleWarning") [18:03:00.822] if (muffled) [18:03:00.822] invokeRestart("muffleWarning") [18:03:00.822] } [18:03:00.822] else if (inherits(cond, "condition")) { [18:03:00.822] if (!is.null(pattern)) { [18:03:00.822] computeRestarts <- base::computeRestarts [18:03:00.822] grepl <- base::grepl [18:03:00.822] restarts <- computeRestarts(cond) [18:03:00.822] for (restart in restarts) { [18:03:00.822] name <- restart$name [18:03:00.822] if (is.null(name)) [18:03:00.822] next [18:03:00.822] if (!grepl(pattern, name)) [18:03:00.822] next [18:03:00.822] invokeRestart(restart) [18:03:00.822] muffled <- TRUE [18:03:00.822] break [18:03:00.822] } [18:03:00.822] } [18:03:00.822] } [18:03:00.822] invisible(muffled) [18:03:00.822] } [18:03:00.822] muffleCondition(cond, pattern = "^muffle") [18:03:00.822] } [18:03:00.822] } [18:03:00.822] } [18:03:00.822] })) [18:03:00.822] }, error = function(ex) { [18:03:00.822] base::structure(base::list(value = NULL, visible = NULL, [18:03:00.822] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.822] ...future.rng), started = ...future.startTime, [18:03:00.822] finished = Sys.time(), session_uuid = NA_character_, [18:03:00.822] version = "1.8"), class = "FutureResult") [18:03:00.822] }, finally = { [18:03:00.822] if (!identical(...future.workdir, getwd())) [18:03:00.822] setwd(...future.workdir) [18:03:00.822] { [18:03:00.822] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:00.822] ...future.oldOptions$nwarnings <- NULL [18:03:00.822] } [18:03:00.822] base::options(...future.oldOptions) [18:03:00.822] if (.Platform$OS.type == "windows") { [18:03:00.822] old_names <- names(...future.oldEnvVars) [18:03:00.822] envs <- base::Sys.getenv() [18:03:00.822] names <- names(envs) [18:03:00.822] common <- intersect(names, old_names) [18:03:00.822] added <- setdiff(names, old_names) [18:03:00.822] removed <- setdiff(old_names, names) [18:03:00.822] changed <- common[...future.oldEnvVars[common] != [18:03:00.822] envs[common]] [18:03:00.822] NAMES <- toupper(changed) [18:03:00.822] args <- list() [18:03:00.822] for (kk in seq_along(NAMES)) { [18:03:00.822] name <- changed[[kk]] [18:03:00.822] NAME <- NAMES[[kk]] [18:03:00.822] if (name != NAME && is.element(NAME, old_names)) [18:03:00.822] next [18:03:00.822] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.822] } [18:03:00.822] NAMES <- toupper(added) [18:03:00.822] for (kk in seq_along(NAMES)) { [18:03:00.822] name <- added[[kk]] [18:03:00.822] NAME <- NAMES[[kk]] [18:03:00.822] if (name != NAME && is.element(NAME, old_names)) [18:03:00.822] next [18:03:00.822] args[[name]] <- "" [18:03:00.822] } [18:03:00.822] NAMES <- toupper(removed) [18:03:00.822] for (kk in seq_along(NAMES)) { [18:03:00.822] name <- removed[[kk]] [18:03:00.822] NAME <- NAMES[[kk]] [18:03:00.822] if (name != NAME && is.element(NAME, old_names)) [18:03:00.822] next [18:03:00.822] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.822] } [18:03:00.822] if (length(args) > 0) [18:03:00.822] base::do.call(base::Sys.setenv, args = args) [18:03:00.822] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:00.822] } [18:03:00.822] else { [18:03:00.822] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:00.822] } [18:03:00.822] { [18:03:00.822] if (base::length(...future.futureOptionsAdded) > [18:03:00.822] 0L) { [18:03:00.822] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:00.822] base::names(opts) <- ...future.futureOptionsAdded [18:03:00.822] base::options(opts) [18:03:00.822] } [18:03:00.822] { [18:03:00.822] { [18:03:00.822] base::options(mc.cores = ...future.mc.cores.old) [18:03:00.822] NULL [18:03:00.822] } [18:03:00.822] options(future.plan = NULL) [18:03:00.822] if (is.na(NA_character_)) [18:03:00.822] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.822] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:00.822] future::plan(list(function (..., workers = availableCores(), [18:03:00.822] lazy = FALSE, rscript_libs = .libPaths(), [18:03:00.822] envir = parent.frame()) [18:03:00.822] { [18:03:00.822] if (is.function(workers)) [18:03:00.822] workers <- workers() [18:03:00.822] workers <- structure(as.integer(workers), [18:03:00.822] class = class(workers)) [18:03:00.822] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:00.822] workers >= 1) [18:03:00.822] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:00.822] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:00.822] } [18:03:00.822] future <- MultisessionFuture(..., workers = workers, [18:03:00.822] lazy = lazy, rscript_libs = rscript_libs, [18:03:00.822] envir = envir) [18:03:00.822] if (!future$lazy) [18:03:00.822] future <- run(future) [18:03:00.822] invisible(future) [18:03:00.822] }), .cleanup = FALSE, .init = FALSE) [18:03:00.822] } [18:03:00.822] } [18:03:00.822] } [18:03:00.822] }) [18:03:00.822] if (TRUE) { [18:03:00.822] base::sink(type = "output", split = FALSE) [18:03:00.822] if (TRUE) { [18:03:00.822] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:00.822] } [18:03:00.822] else { [18:03:00.822] ...future.result["stdout"] <- base::list(NULL) [18:03:00.822] } [18:03:00.822] base::close(...future.stdout) [18:03:00.822] ...future.stdout <- NULL [18:03:00.822] } [18:03:00.822] ...future.result$conditions <- ...future.conditions [18:03:00.822] ...future.result$finished <- base::Sys.time() [18:03:00.822] ...future.result [18:03:00.822] } [18:03:00.828] MultisessionFuture started [18:03:00.828] - Launch lazy future ... done [18:03:00.828] run() for 'MultisessionFuture' ... done [18:03:00.828] getGlobalsAndPackages() ... [18:03:00.828] Searching for globals... [18:03:00.829] [18:03:00.829] Searching for globals ... DONE [18:03:00.829] - globals: [0] [18:03:00.829] getGlobalsAndPackages() ... DONE [18:03:00.830] run() for 'Future' ... [18:03:00.830] - state: 'created' [18:03:00.830] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:00.844] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:00.844] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:00.844] - Field: 'node' [18:03:00.844] - Field: 'label' [18:03:00.844] - Field: 'local' [18:03:00.845] - Field: 'owner' [18:03:00.845] - Field: 'envir' [18:03:00.845] - Field: 'workers' [18:03:00.845] - Field: 'packages' [18:03:00.845] - Field: 'gc' [18:03:00.845] - Field: 'conditions' [18:03:00.846] - Field: 'persistent' [18:03:00.846] - Field: 'expr' [18:03:00.846] - Field: 'uuid' [18:03:00.846] - Field: 'seed' [18:03:00.846] - Field: 'version' [18:03:00.847] - Field: 'result' [18:03:00.847] - Field: 'asynchronous' [18:03:00.847] - Field: 'calls' [18:03:00.847] - Field: 'globals' [18:03:00.847] - Field: 'stdout' [18:03:00.847] - Field: 'earlySignal' [18:03:00.848] - Field: 'lazy' [18:03:00.848] - Field: 'state' [18:03:00.848] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:00.848] - Launch lazy future ... [18:03:00.849] Packages needed by the future expression (n = 0): [18:03:00.849] Packages needed by future strategies (n = 0): [18:03:00.849] { [18:03:00.849] { [18:03:00.849] { [18:03:00.849] ...future.startTime <- base::Sys.time() [18:03:00.849] { [18:03:00.849] { [18:03:00.849] { [18:03:00.849] { [18:03:00.849] base::local({ [18:03:00.849] has_future <- base::requireNamespace("future", [18:03:00.849] quietly = TRUE) [18:03:00.849] if (has_future) { [18:03:00.849] ns <- base::getNamespace("future") [18:03:00.849] version <- ns[[".package"]][["version"]] [18:03:00.849] if (is.null(version)) [18:03:00.849] version <- utils::packageVersion("future") [18:03:00.849] } [18:03:00.849] else { [18:03:00.849] version <- NULL [18:03:00.849] } [18:03:00.849] if (!has_future || version < "1.8.0") { [18:03:00.849] info <- base::c(r_version = base::gsub("R version ", [18:03:00.849] "", base::R.version$version.string), [18:03:00.849] platform = base::sprintf("%s (%s-bit)", [18:03:00.849] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:00.849] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:00.849] "release", "version")], collapse = " "), [18:03:00.849] hostname = base::Sys.info()[["nodename"]]) [18:03:00.849] info <- base::sprintf("%s: %s", base::names(info), [18:03:00.849] info) [18:03:00.849] info <- base::paste(info, collapse = "; ") [18:03:00.849] if (!has_future) { [18:03:00.849] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:00.849] info) [18:03:00.849] } [18:03:00.849] else { [18:03:00.849] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:00.849] info, version) [18:03:00.849] } [18:03:00.849] base::stop(msg) [18:03:00.849] } [18:03:00.849] }) [18:03:00.849] } [18:03:00.849] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:00.849] base::options(mc.cores = 1L) [18:03:00.849] } [18:03:00.849] options(future.plan = NULL) [18:03:00.849] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.849] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:00.849] } [18:03:00.849] ...future.workdir <- getwd() [18:03:00.849] } [18:03:00.849] ...future.oldOptions <- base::as.list(base::.Options) [18:03:00.849] ...future.oldEnvVars <- base::Sys.getenv() [18:03:00.849] } [18:03:00.849] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:00.849] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:00.849] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:00.849] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:00.849] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:00.849] future.stdout.windows.reencode = NULL, width = 80L) [18:03:00.849] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:00.849] base::names(...future.oldOptions)) [18:03:00.849] } [18:03:00.849] if (FALSE) { [18:03:00.849] } [18:03:00.849] else { [18:03:00.849] if (TRUE) { [18:03:00.849] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:00.849] open = "w") [18:03:00.849] } [18:03:00.849] else { [18:03:00.849] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:00.849] windows = "NUL", "/dev/null"), open = "w") [18:03:00.849] } [18:03:00.849] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:00.849] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:00.849] base::sink(type = "output", split = FALSE) [18:03:00.849] base::close(...future.stdout) [18:03:00.849] }, add = TRUE) [18:03:00.849] } [18:03:00.849] ...future.frame <- base::sys.nframe() [18:03:00.849] ...future.conditions <- base::list() [18:03:00.849] ...future.rng <- base::globalenv()$.Random.seed [18:03:00.849] if (FALSE) { [18:03:00.849] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:00.849] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:00.849] } [18:03:00.849] ...future.result <- base::tryCatch({ [18:03:00.849] base::withCallingHandlers({ [18:03:00.849] ...future.value <- base::withVisible(base::local({ [18:03:00.849] ...future.makeSendCondition <- local({ [18:03:00.849] sendCondition <- NULL [18:03:00.849] function(frame = 1L) { [18:03:00.849] if (is.function(sendCondition)) [18:03:00.849] return(sendCondition) [18:03:00.849] ns <- getNamespace("parallel") [18:03:00.849] if (exists("sendData", mode = "function", [18:03:00.849] envir = ns)) { [18:03:00.849] parallel_sendData <- get("sendData", mode = "function", [18:03:00.849] envir = ns) [18:03:00.849] envir <- sys.frame(frame) [18:03:00.849] master <- NULL [18:03:00.849] while (!identical(envir, .GlobalEnv) && [18:03:00.849] !identical(envir, emptyenv())) { [18:03:00.849] if (exists("master", mode = "list", envir = envir, [18:03:00.849] inherits = FALSE)) { [18:03:00.849] master <- get("master", mode = "list", [18:03:00.849] envir = envir, inherits = FALSE) [18:03:00.849] if (inherits(master, c("SOCKnode", [18:03:00.849] "SOCK0node"))) { [18:03:00.849] sendCondition <<- function(cond) { [18:03:00.849] data <- list(type = "VALUE", value = cond, [18:03:00.849] success = TRUE) [18:03:00.849] parallel_sendData(master, data) [18:03:00.849] } [18:03:00.849] return(sendCondition) [18:03:00.849] } [18:03:00.849] } [18:03:00.849] frame <- frame + 1L [18:03:00.849] envir <- sys.frame(frame) [18:03:00.849] } [18:03:00.849] } [18:03:00.849] sendCondition <<- function(cond) NULL [18:03:00.849] } [18:03:00.849] }) [18:03:00.849] withCallingHandlers({ [18:03:00.849] 2 [18:03:00.849] }, immediateCondition = function(cond) { [18:03:00.849] sendCondition <- ...future.makeSendCondition() [18:03:00.849] sendCondition(cond) [18:03:00.849] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.849] { [18:03:00.849] inherits <- base::inherits [18:03:00.849] invokeRestart <- base::invokeRestart [18:03:00.849] is.null <- base::is.null [18:03:00.849] muffled <- FALSE [18:03:00.849] if (inherits(cond, "message")) { [18:03:00.849] muffled <- grepl(pattern, "muffleMessage") [18:03:00.849] if (muffled) [18:03:00.849] invokeRestart("muffleMessage") [18:03:00.849] } [18:03:00.849] else if (inherits(cond, "warning")) { [18:03:00.849] muffled <- grepl(pattern, "muffleWarning") [18:03:00.849] if (muffled) [18:03:00.849] invokeRestart("muffleWarning") [18:03:00.849] } [18:03:00.849] else if (inherits(cond, "condition")) { [18:03:00.849] if (!is.null(pattern)) { [18:03:00.849] computeRestarts <- base::computeRestarts [18:03:00.849] grepl <- base::grepl [18:03:00.849] restarts <- computeRestarts(cond) [18:03:00.849] for (restart in restarts) { [18:03:00.849] name <- restart$name [18:03:00.849] if (is.null(name)) [18:03:00.849] next [18:03:00.849] if (!grepl(pattern, name)) [18:03:00.849] next [18:03:00.849] invokeRestart(restart) [18:03:00.849] muffled <- TRUE [18:03:00.849] break [18:03:00.849] } [18:03:00.849] } [18:03:00.849] } [18:03:00.849] invisible(muffled) [18:03:00.849] } [18:03:00.849] muffleCondition(cond) [18:03:00.849] }) [18:03:00.849] })) [18:03:00.849] future::FutureResult(value = ...future.value$value, [18:03:00.849] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.849] ...future.rng), globalenv = if (FALSE) [18:03:00.849] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:00.849] ...future.globalenv.names)) [18:03:00.849] else NULL, started = ...future.startTime, version = "1.8") [18:03:00.849] }, condition = base::local({ [18:03:00.849] c <- base::c [18:03:00.849] inherits <- base::inherits [18:03:00.849] invokeRestart <- base::invokeRestart [18:03:00.849] length <- base::length [18:03:00.849] list <- base::list [18:03:00.849] seq.int <- base::seq.int [18:03:00.849] signalCondition <- base::signalCondition [18:03:00.849] sys.calls <- base::sys.calls [18:03:00.849] `[[` <- base::`[[` [18:03:00.849] `+` <- base::`+` [18:03:00.849] `<<-` <- base::`<<-` [18:03:00.849] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:00.849] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:00.849] 3L)] [18:03:00.849] } [18:03:00.849] function(cond) { [18:03:00.849] is_error <- inherits(cond, "error") [18:03:00.849] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:00.849] NULL) [18:03:00.849] if (is_error) { [18:03:00.849] sessionInformation <- function() { [18:03:00.849] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:00.849] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:00.849] search = base::search(), system = base::Sys.info()) [18:03:00.849] } [18:03:00.849] ...future.conditions[[length(...future.conditions) + [18:03:00.849] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:00.849] cond$call), session = sessionInformation(), [18:03:00.849] timestamp = base::Sys.time(), signaled = 0L) [18:03:00.849] signalCondition(cond) [18:03:00.849] } [18:03:00.849] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:00.849] "immediateCondition"))) { [18:03:00.849] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:00.849] ...future.conditions[[length(...future.conditions) + [18:03:00.849] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:00.849] if (TRUE && !signal) { [18:03:00.849] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.849] { [18:03:00.849] inherits <- base::inherits [18:03:00.849] invokeRestart <- base::invokeRestart [18:03:00.849] is.null <- base::is.null [18:03:00.849] muffled <- FALSE [18:03:00.849] if (inherits(cond, "message")) { [18:03:00.849] muffled <- grepl(pattern, "muffleMessage") [18:03:00.849] if (muffled) [18:03:00.849] invokeRestart("muffleMessage") [18:03:00.849] } [18:03:00.849] else if (inherits(cond, "warning")) { [18:03:00.849] muffled <- grepl(pattern, "muffleWarning") [18:03:00.849] if (muffled) [18:03:00.849] invokeRestart("muffleWarning") [18:03:00.849] } [18:03:00.849] else if (inherits(cond, "condition")) { [18:03:00.849] if (!is.null(pattern)) { [18:03:00.849] computeRestarts <- base::computeRestarts [18:03:00.849] grepl <- base::grepl [18:03:00.849] restarts <- computeRestarts(cond) [18:03:00.849] for (restart in restarts) { [18:03:00.849] name <- restart$name [18:03:00.849] if (is.null(name)) [18:03:00.849] next [18:03:00.849] if (!grepl(pattern, name)) [18:03:00.849] next [18:03:00.849] invokeRestart(restart) [18:03:00.849] muffled <- TRUE [18:03:00.849] break [18:03:00.849] } [18:03:00.849] } [18:03:00.849] } [18:03:00.849] invisible(muffled) [18:03:00.849] } [18:03:00.849] muffleCondition(cond, pattern = "^muffle") [18:03:00.849] } [18:03:00.849] } [18:03:00.849] else { [18:03:00.849] if (TRUE) { [18:03:00.849] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.849] { [18:03:00.849] inherits <- base::inherits [18:03:00.849] invokeRestart <- base::invokeRestart [18:03:00.849] is.null <- base::is.null [18:03:00.849] muffled <- FALSE [18:03:00.849] if (inherits(cond, "message")) { [18:03:00.849] muffled <- grepl(pattern, "muffleMessage") [18:03:00.849] if (muffled) [18:03:00.849] invokeRestart("muffleMessage") [18:03:00.849] } [18:03:00.849] else if (inherits(cond, "warning")) { [18:03:00.849] muffled <- grepl(pattern, "muffleWarning") [18:03:00.849] if (muffled) [18:03:00.849] invokeRestart("muffleWarning") [18:03:00.849] } [18:03:00.849] else if (inherits(cond, "condition")) { [18:03:00.849] if (!is.null(pattern)) { [18:03:00.849] computeRestarts <- base::computeRestarts [18:03:00.849] grepl <- base::grepl [18:03:00.849] restarts <- computeRestarts(cond) [18:03:00.849] for (restart in restarts) { [18:03:00.849] name <- restart$name [18:03:00.849] if (is.null(name)) [18:03:00.849] next [18:03:00.849] if (!grepl(pattern, name)) [18:03:00.849] next [18:03:00.849] invokeRestart(restart) [18:03:00.849] muffled <- TRUE [18:03:00.849] break [18:03:00.849] } [18:03:00.849] } [18:03:00.849] } [18:03:00.849] invisible(muffled) [18:03:00.849] } [18:03:00.849] muffleCondition(cond, pattern = "^muffle") [18:03:00.849] } [18:03:00.849] } [18:03:00.849] } [18:03:00.849] })) [18:03:00.849] }, error = function(ex) { [18:03:00.849] base::structure(base::list(value = NULL, visible = NULL, [18:03:00.849] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.849] ...future.rng), started = ...future.startTime, [18:03:00.849] finished = Sys.time(), session_uuid = NA_character_, [18:03:00.849] version = "1.8"), class = "FutureResult") [18:03:00.849] }, finally = { [18:03:00.849] if (!identical(...future.workdir, getwd())) [18:03:00.849] setwd(...future.workdir) [18:03:00.849] { [18:03:00.849] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:00.849] ...future.oldOptions$nwarnings <- NULL [18:03:00.849] } [18:03:00.849] base::options(...future.oldOptions) [18:03:00.849] if (.Platform$OS.type == "windows") { [18:03:00.849] old_names <- names(...future.oldEnvVars) [18:03:00.849] envs <- base::Sys.getenv() [18:03:00.849] names <- names(envs) [18:03:00.849] common <- intersect(names, old_names) [18:03:00.849] added <- setdiff(names, old_names) [18:03:00.849] removed <- setdiff(old_names, names) [18:03:00.849] changed <- common[...future.oldEnvVars[common] != [18:03:00.849] envs[common]] [18:03:00.849] NAMES <- toupper(changed) [18:03:00.849] args <- list() [18:03:00.849] for (kk in seq_along(NAMES)) { [18:03:00.849] name <- changed[[kk]] [18:03:00.849] NAME <- NAMES[[kk]] [18:03:00.849] if (name != NAME && is.element(NAME, old_names)) [18:03:00.849] next [18:03:00.849] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.849] } [18:03:00.849] NAMES <- toupper(added) [18:03:00.849] for (kk in seq_along(NAMES)) { [18:03:00.849] name <- added[[kk]] [18:03:00.849] NAME <- NAMES[[kk]] [18:03:00.849] if (name != NAME && is.element(NAME, old_names)) [18:03:00.849] next [18:03:00.849] args[[name]] <- "" [18:03:00.849] } [18:03:00.849] NAMES <- toupper(removed) [18:03:00.849] for (kk in seq_along(NAMES)) { [18:03:00.849] name <- removed[[kk]] [18:03:00.849] NAME <- NAMES[[kk]] [18:03:00.849] if (name != NAME && is.element(NAME, old_names)) [18:03:00.849] next [18:03:00.849] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.849] } [18:03:00.849] if (length(args) > 0) [18:03:00.849] base::do.call(base::Sys.setenv, args = args) [18:03:00.849] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:00.849] } [18:03:00.849] else { [18:03:00.849] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:00.849] } [18:03:00.849] { [18:03:00.849] if (base::length(...future.futureOptionsAdded) > [18:03:00.849] 0L) { [18:03:00.849] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:00.849] base::names(opts) <- ...future.futureOptionsAdded [18:03:00.849] base::options(opts) [18:03:00.849] } [18:03:00.849] { [18:03:00.849] { [18:03:00.849] base::options(mc.cores = ...future.mc.cores.old) [18:03:00.849] NULL [18:03:00.849] } [18:03:00.849] options(future.plan = NULL) [18:03:00.849] if (is.na(NA_character_)) [18:03:00.849] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.849] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:00.849] future::plan(list(function (..., workers = availableCores(), [18:03:00.849] lazy = FALSE, rscript_libs = .libPaths(), [18:03:00.849] envir = parent.frame()) [18:03:00.849] { [18:03:00.849] if (is.function(workers)) [18:03:00.849] workers <- workers() [18:03:00.849] workers <- structure(as.integer(workers), [18:03:00.849] class = class(workers)) [18:03:00.849] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:00.849] workers >= 1) [18:03:00.849] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:00.849] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:00.849] } [18:03:00.849] future <- MultisessionFuture(..., workers = workers, [18:03:00.849] lazy = lazy, rscript_libs = rscript_libs, [18:03:00.849] envir = envir) [18:03:00.849] if (!future$lazy) [18:03:00.849] future <- run(future) [18:03:00.849] invisible(future) [18:03:00.849] }), .cleanup = FALSE, .init = FALSE) [18:03:00.849] } [18:03:00.849] } [18:03:00.849] } [18:03:00.849] }) [18:03:00.849] if (TRUE) { [18:03:00.849] base::sink(type = "output", split = FALSE) [18:03:00.849] if (TRUE) { [18:03:00.849] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:00.849] } [18:03:00.849] else { [18:03:00.849] ...future.result["stdout"] <- base::list(NULL) [18:03:00.849] } [18:03:00.849] base::close(...future.stdout) [18:03:00.849] ...future.stdout <- NULL [18:03:00.849] } [18:03:00.849] ...future.result$conditions <- ...future.conditions [18:03:00.849] ...future.result$finished <- base::Sys.time() [18:03:00.849] ...future.result [18:03:00.849] } [18:03:00.854] Poll #1 (0): usedNodes() = 2, workers = 2 [18:03:00.873] receiveMessageFromWorker() for ClusterFuture ... [18:03:00.873] - Validating connection of MultisessionFuture [18:03:00.873] - received message: FutureResult [18:03:00.874] - Received FutureResult [18:03:00.874] - Erased future from FutureRegistry [18:03:00.874] result() for ClusterFuture ... [18:03:00.874] - result already collected: FutureResult [18:03:00.874] result() for ClusterFuture ... done [18:03:00.874] receiveMessageFromWorker() for ClusterFuture ... done [18:03:00.875] result() for ClusterFuture ... [18:03:00.875] - result already collected: FutureResult [18:03:00.875] result() for ClusterFuture ... done [18:03:00.875] result() for ClusterFuture ... [18:03:00.875] - result already collected: FutureResult [18:03:00.875] result() for ClusterFuture ... done [18:03:00.877] MultisessionFuture started [18:03:00.877] - Launch lazy future ... done [18:03:00.877] run() for 'MultisessionFuture' ... done [18:03:00.877] resolve() on list ... [18:03:00.878] recursive: 0 [18:03:00.878] length: 3 [18:03:00.878] elements: 'a', 'b', '' [18:03:00.878] receiveMessageFromWorker() for ClusterFuture ... [18:03:00.878] - Validating connection of MultisessionFuture [18:03:00.879] - received message: FutureResult [18:03:00.879] - Received FutureResult [18:03:00.879] - Erased future from FutureRegistry [18:03:00.879] result() for ClusterFuture ... [18:03:00.879] - result already collected: FutureResult [18:03:00.880] result() for ClusterFuture ... done [18:03:00.880] receiveMessageFromWorker() for ClusterFuture ... done [18:03:00.880] Future #1 [18:03:00.880] length: 2 (resolved future 1) [18:03:00.896] receiveMessageFromWorker() for ClusterFuture ... [18:03:00.896] - Validating connection of MultisessionFuture [18:03:00.896] - received message: FutureResult [18:03:00.896] - Received FutureResult [18:03:00.896] - Erased future from FutureRegistry [18:03:00.897] result() for ClusterFuture ... [18:03:00.897] - result already collected: FutureResult [18:03:00.897] result() for ClusterFuture ... done [18:03:00.897] receiveMessageFromWorker() for ClusterFuture ... done [18:03:00.897] Future #2 [18:03:00.897] length: 1 (resolved future 2) [18:03:00.898] length: 0 (resolved future 3) [18:03:00.898] resolve() on list ... DONE [18:03:00.898] getGlobalsAndPackages() ... [18:03:00.898] Searching for globals... [18:03:00.899] [18:03:00.899] Searching for globals ... DONE [18:03:00.899] - globals: [0] [18:03:00.899] getGlobalsAndPackages() ... DONE [18:03:00.899] getGlobalsAndPackages() ... [18:03:00.900] Searching for globals... [18:03:00.900] [18:03:00.900] Searching for globals ... DONE [18:03:00.900] - globals: [0] [18:03:00.900] getGlobalsAndPackages() ... DONE [18:03:00.901] run() for 'Future' ... [18:03:00.901] - state: 'created' [18:03:00.901] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:00.915] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:00.915] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:00.915] - Field: 'node' [18:03:00.916] - Field: 'label' [18:03:00.916] - Field: 'local' [18:03:00.916] - Field: 'owner' [18:03:00.916] - Field: 'envir' [18:03:00.916] - Field: 'workers' [18:03:00.917] - Field: 'packages' [18:03:00.917] - Field: 'gc' [18:03:00.917] - Field: 'conditions' [18:03:00.917] - Field: 'persistent' [18:03:00.917] - Field: 'expr' [18:03:00.917] - Field: 'uuid' [18:03:00.918] - Field: 'seed' [18:03:00.918] - Field: 'version' [18:03:00.918] - Field: 'result' [18:03:00.918] - Field: 'asynchronous' [18:03:00.918] - Field: 'calls' [18:03:00.919] - Field: 'globals' [18:03:00.919] - Field: 'stdout' [18:03:00.919] - Field: 'earlySignal' [18:03:00.919] - Field: 'lazy' [18:03:00.919] - Field: 'state' [18:03:00.919] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:00.920] - Launch lazy future ... [18:03:00.920] Packages needed by the future expression (n = 0): [18:03:00.920] Packages needed by future strategies (n = 0): [18:03:00.921] { [18:03:00.921] { [18:03:00.921] { [18:03:00.921] ...future.startTime <- base::Sys.time() [18:03:00.921] { [18:03:00.921] { [18:03:00.921] { [18:03:00.921] { [18:03:00.921] base::local({ [18:03:00.921] has_future <- base::requireNamespace("future", [18:03:00.921] quietly = TRUE) [18:03:00.921] if (has_future) { [18:03:00.921] ns <- base::getNamespace("future") [18:03:00.921] version <- ns[[".package"]][["version"]] [18:03:00.921] if (is.null(version)) [18:03:00.921] version <- utils::packageVersion("future") [18:03:00.921] } [18:03:00.921] else { [18:03:00.921] version <- NULL [18:03:00.921] } [18:03:00.921] if (!has_future || version < "1.8.0") { [18:03:00.921] info <- base::c(r_version = base::gsub("R version ", [18:03:00.921] "", base::R.version$version.string), [18:03:00.921] platform = base::sprintf("%s (%s-bit)", [18:03:00.921] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:00.921] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:00.921] "release", "version")], collapse = " "), [18:03:00.921] hostname = base::Sys.info()[["nodename"]]) [18:03:00.921] info <- base::sprintf("%s: %s", base::names(info), [18:03:00.921] info) [18:03:00.921] info <- base::paste(info, collapse = "; ") [18:03:00.921] if (!has_future) { [18:03:00.921] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:00.921] info) [18:03:00.921] } [18:03:00.921] else { [18:03:00.921] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:00.921] info, version) [18:03:00.921] } [18:03:00.921] base::stop(msg) [18:03:00.921] } [18:03:00.921] }) [18:03:00.921] } [18:03:00.921] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:00.921] base::options(mc.cores = 1L) [18:03:00.921] } [18:03:00.921] options(future.plan = NULL) [18:03:00.921] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.921] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:00.921] } [18:03:00.921] ...future.workdir <- getwd() [18:03:00.921] } [18:03:00.921] ...future.oldOptions <- base::as.list(base::.Options) [18:03:00.921] ...future.oldEnvVars <- base::Sys.getenv() [18:03:00.921] } [18:03:00.921] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:00.921] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:00.921] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:00.921] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:00.921] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:00.921] future.stdout.windows.reencode = NULL, width = 80L) [18:03:00.921] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:00.921] base::names(...future.oldOptions)) [18:03:00.921] } [18:03:00.921] if (FALSE) { [18:03:00.921] } [18:03:00.921] else { [18:03:00.921] if (TRUE) { [18:03:00.921] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:00.921] open = "w") [18:03:00.921] } [18:03:00.921] else { [18:03:00.921] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:00.921] windows = "NUL", "/dev/null"), open = "w") [18:03:00.921] } [18:03:00.921] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:00.921] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:00.921] base::sink(type = "output", split = FALSE) [18:03:00.921] base::close(...future.stdout) [18:03:00.921] }, add = TRUE) [18:03:00.921] } [18:03:00.921] ...future.frame <- base::sys.nframe() [18:03:00.921] ...future.conditions <- base::list() [18:03:00.921] ...future.rng <- base::globalenv()$.Random.seed [18:03:00.921] if (FALSE) { [18:03:00.921] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:00.921] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:00.921] } [18:03:00.921] ...future.result <- base::tryCatch({ [18:03:00.921] base::withCallingHandlers({ [18:03:00.921] ...future.value <- base::withVisible(base::local({ [18:03:00.921] ...future.makeSendCondition <- local({ [18:03:00.921] sendCondition <- NULL [18:03:00.921] function(frame = 1L) { [18:03:00.921] if (is.function(sendCondition)) [18:03:00.921] return(sendCondition) [18:03:00.921] ns <- getNamespace("parallel") [18:03:00.921] if (exists("sendData", mode = "function", [18:03:00.921] envir = ns)) { [18:03:00.921] parallel_sendData <- get("sendData", mode = "function", [18:03:00.921] envir = ns) [18:03:00.921] envir <- sys.frame(frame) [18:03:00.921] master <- NULL [18:03:00.921] while (!identical(envir, .GlobalEnv) && [18:03:00.921] !identical(envir, emptyenv())) { [18:03:00.921] if (exists("master", mode = "list", envir = envir, [18:03:00.921] inherits = FALSE)) { [18:03:00.921] master <- get("master", mode = "list", [18:03:00.921] envir = envir, inherits = FALSE) [18:03:00.921] if (inherits(master, c("SOCKnode", [18:03:00.921] "SOCK0node"))) { [18:03:00.921] sendCondition <<- function(cond) { [18:03:00.921] data <- list(type = "VALUE", value = cond, [18:03:00.921] success = TRUE) [18:03:00.921] parallel_sendData(master, data) [18:03:00.921] } [18:03:00.921] return(sendCondition) [18:03:00.921] } [18:03:00.921] } [18:03:00.921] frame <- frame + 1L [18:03:00.921] envir <- sys.frame(frame) [18:03:00.921] } [18:03:00.921] } [18:03:00.921] sendCondition <<- function(cond) NULL [18:03:00.921] } [18:03:00.921] }) [18:03:00.921] withCallingHandlers({ [18:03:00.921] 2 [18:03:00.921] }, immediateCondition = function(cond) { [18:03:00.921] sendCondition <- ...future.makeSendCondition() [18:03:00.921] sendCondition(cond) [18:03:00.921] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.921] { [18:03:00.921] inherits <- base::inherits [18:03:00.921] invokeRestart <- base::invokeRestart [18:03:00.921] is.null <- base::is.null [18:03:00.921] muffled <- FALSE [18:03:00.921] if (inherits(cond, "message")) { [18:03:00.921] muffled <- grepl(pattern, "muffleMessage") [18:03:00.921] if (muffled) [18:03:00.921] invokeRestart("muffleMessage") [18:03:00.921] } [18:03:00.921] else if (inherits(cond, "warning")) { [18:03:00.921] muffled <- grepl(pattern, "muffleWarning") [18:03:00.921] if (muffled) [18:03:00.921] invokeRestart("muffleWarning") [18:03:00.921] } [18:03:00.921] else if (inherits(cond, "condition")) { [18:03:00.921] if (!is.null(pattern)) { [18:03:00.921] computeRestarts <- base::computeRestarts [18:03:00.921] grepl <- base::grepl [18:03:00.921] restarts <- computeRestarts(cond) [18:03:00.921] for (restart in restarts) { [18:03:00.921] name <- restart$name [18:03:00.921] if (is.null(name)) [18:03:00.921] next [18:03:00.921] if (!grepl(pattern, name)) [18:03:00.921] next [18:03:00.921] invokeRestart(restart) [18:03:00.921] muffled <- TRUE [18:03:00.921] break [18:03:00.921] } [18:03:00.921] } [18:03:00.921] } [18:03:00.921] invisible(muffled) [18:03:00.921] } [18:03:00.921] muffleCondition(cond) [18:03:00.921] }) [18:03:00.921] })) [18:03:00.921] future::FutureResult(value = ...future.value$value, [18:03:00.921] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.921] ...future.rng), globalenv = if (FALSE) [18:03:00.921] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:00.921] ...future.globalenv.names)) [18:03:00.921] else NULL, started = ...future.startTime, version = "1.8") [18:03:00.921] }, condition = base::local({ [18:03:00.921] c <- base::c [18:03:00.921] inherits <- base::inherits [18:03:00.921] invokeRestart <- base::invokeRestart [18:03:00.921] length <- base::length [18:03:00.921] list <- base::list [18:03:00.921] seq.int <- base::seq.int [18:03:00.921] signalCondition <- base::signalCondition [18:03:00.921] sys.calls <- base::sys.calls [18:03:00.921] `[[` <- base::`[[` [18:03:00.921] `+` <- base::`+` [18:03:00.921] `<<-` <- base::`<<-` [18:03:00.921] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:00.921] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:00.921] 3L)] [18:03:00.921] } [18:03:00.921] function(cond) { [18:03:00.921] is_error <- inherits(cond, "error") [18:03:00.921] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:00.921] NULL) [18:03:00.921] if (is_error) { [18:03:00.921] sessionInformation <- function() { [18:03:00.921] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:00.921] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:00.921] search = base::search(), system = base::Sys.info()) [18:03:00.921] } [18:03:00.921] ...future.conditions[[length(...future.conditions) + [18:03:00.921] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:00.921] cond$call), session = sessionInformation(), [18:03:00.921] timestamp = base::Sys.time(), signaled = 0L) [18:03:00.921] signalCondition(cond) [18:03:00.921] } [18:03:00.921] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:00.921] "immediateCondition"))) { [18:03:00.921] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:00.921] ...future.conditions[[length(...future.conditions) + [18:03:00.921] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:00.921] if (TRUE && !signal) { [18:03:00.921] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.921] { [18:03:00.921] inherits <- base::inherits [18:03:00.921] invokeRestart <- base::invokeRestart [18:03:00.921] is.null <- base::is.null [18:03:00.921] muffled <- FALSE [18:03:00.921] if (inherits(cond, "message")) { [18:03:00.921] muffled <- grepl(pattern, "muffleMessage") [18:03:00.921] if (muffled) [18:03:00.921] invokeRestart("muffleMessage") [18:03:00.921] } [18:03:00.921] else if (inherits(cond, "warning")) { [18:03:00.921] muffled <- grepl(pattern, "muffleWarning") [18:03:00.921] if (muffled) [18:03:00.921] invokeRestart("muffleWarning") [18:03:00.921] } [18:03:00.921] else if (inherits(cond, "condition")) { [18:03:00.921] if (!is.null(pattern)) { [18:03:00.921] computeRestarts <- base::computeRestarts [18:03:00.921] grepl <- base::grepl [18:03:00.921] restarts <- computeRestarts(cond) [18:03:00.921] for (restart in restarts) { [18:03:00.921] name <- restart$name [18:03:00.921] if (is.null(name)) [18:03:00.921] next [18:03:00.921] if (!grepl(pattern, name)) [18:03:00.921] next [18:03:00.921] invokeRestart(restart) [18:03:00.921] muffled <- TRUE [18:03:00.921] break [18:03:00.921] } [18:03:00.921] } [18:03:00.921] } [18:03:00.921] invisible(muffled) [18:03:00.921] } [18:03:00.921] muffleCondition(cond, pattern = "^muffle") [18:03:00.921] } [18:03:00.921] } [18:03:00.921] else { [18:03:00.921] if (TRUE) { [18:03:00.921] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.921] { [18:03:00.921] inherits <- base::inherits [18:03:00.921] invokeRestart <- base::invokeRestart [18:03:00.921] is.null <- base::is.null [18:03:00.921] muffled <- FALSE [18:03:00.921] if (inherits(cond, "message")) { [18:03:00.921] muffled <- grepl(pattern, "muffleMessage") [18:03:00.921] if (muffled) [18:03:00.921] invokeRestart("muffleMessage") [18:03:00.921] } [18:03:00.921] else if (inherits(cond, "warning")) { [18:03:00.921] muffled <- grepl(pattern, "muffleWarning") [18:03:00.921] if (muffled) [18:03:00.921] invokeRestart("muffleWarning") [18:03:00.921] } [18:03:00.921] else if (inherits(cond, "condition")) { [18:03:00.921] if (!is.null(pattern)) { [18:03:00.921] computeRestarts <- base::computeRestarts [18:03:00.921] grepl <- base::grepl [18:03:00.921] restarts <- computeRestarts(cond) [18:03:00.921] for (restart in restarts) { [18:03:00.921] name <- restart$name [18:03:00.921] if (is.null(name)) [18:03:00.921] next [18:03:00.921] if (!grepl(pattern, name)) [18:03:00.921] next [18:03:00.921] invokeRestart(restart) [18:03:00.921] muffled <- TRUE [18:03:00.921] break [18:03:00.921] } [18:03:00.921] } [18:03:00.921] } [18:03:00.921] invisible(muffled) [18:03:00.921] } [18:03:00.921] muffleCondition(cond, pattern = "^muffle") [18:03:00.921] } [18:03:00.921] } [18:03:00.921] } [18:03:00.921] })) [18:03:00.921] }, error = function(ex) { [18:03:00.921] base::structure(base::list(value = NULL, visible = NULL, [18:03:00.921] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.921] ...future.rng), started = ...future.startTime, [18:03:00.921] finished = Sys.time(), session_uuid = NA_character_, [18:03:00.921] version = "1.8"), class = "FutureResult") [18:03:00.921] }, finally = { [18:03:00.921] if (!identical(...future.workdir, getwd())) [18:03:00.921] setwd(...future.workdir) [18:03:00.921] { [18:03:00.921] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:00.921] ...future.oldOptions$nwarnings <- NULL [18:03:00.921] } [18:03:00.921] base::options(...future.oldOptions) [18:03:00.921] if (.Platform$OS.type == "windows") { [18:03:00.921] old_names <- names(...future.oldEnvVars) [18:03:00.921] envs <- base::Sys.getenv() [18:03:00.921] names <- names(envs) [18:03:00.921] common <- intersect(names, old_names) [18:03:00.921] added <- setdiff(names, old_names) [18:03:00.921] removed <- setdiff(old_names, names) [18:03:00.921] changed <- common[...future.oldEnvVars[common] != [18:03:00.921] envs[common]] [18:03:00.921] NAMES <- toupper(changed) [18:03:00.921] args <- list() [18:03:00.921] for (kk in seq_along(NAMES)) { [18:03:00.921] name <- changed[[kk]] [18:03:00.921] NAME <- NAMES[[kk]] [18:03:00.921] if (name != NAME && is.element(NAME, old_names)) [18:03:00.921] next [18:03:00.921] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.921] } [18:03:00.921] NAMES <- toupper(added) [18:03:00.921] for (kk in seq_along(NAMES)) { [18:03:00.921] name <- added[[kk]] [18:03:00.921] NAME <- NAMES[[kk]] [18:03:00.921] if (name != NAME && is.element(NAME, old_names)) [18:03:00.921] next [18:03:00.921] args[[name]] <- "" [18:03:00.921] } [18:03:00.921] NAMES <- toupper(removed) [18:03:00.921] for (kk in seq_along(NAMES)) { [18:03:00.921] name <- removed[[kk]] [18:03:00.921] NAME <- NAMES[[kk]] [18:03:00.921] if (name != NAME && is.element(NAME, old_names)) [18:03:00.921] next [18:03:00.921] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.921] } [18:03:00.921] if (length(args) > 0) [18:03:00.921] base::do.call(base::Sys.setenv, args = args) [18:03:00.921] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:00.921] } [18:03:00.921] else { [18:03:00.921] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:00.921] } [18:03:00.921] { [18:03:00.921] if (base::length(...future.futureOptionsAdded) > [18:03:00.921] 0L) { [18:03:00.921] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:00.921] base::names(opts) <- ...future.futureOptionsAdded [18:03:00.921] base::options(opts) [18:03:00.921] } [18:03:00.921] { [18:03:00.921] { [18:03:00.921] base::options(mc.cores = ...future.mc.cores.old) [18:03:00.921] NULL [18:03:00.921] } [18:03:00.921] options(future.plan = NULL) [18:03:00.921] if (is.na(NA_character_)) [18:03:00.921] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.921] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:00.921] future::plan(list(function (..., workers = availableCores(), [18:03:00.921] lazy = FALSE, rscript_libs = .libPaths(), [18:03:00.921] envir = parent.frame()) [18:03:00.921] { [18:03:00.921] if (is.function(workers)) [18:03:00.921] workers <- workers() [18:03:00.921] workers <- structure(as.integer(workers), [18:03:00.921] class = class(workers)) [18:03:00.921] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:00.921] workers >= 1) [18:03:00.921] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:00.921] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:00.921] } [18:03:00.921] future <- MultisessionFuture(..., workers = workers, [18:03:00.921] lazy = lazy, rscript_libs = rscript_libs, [18:03:00.921] envir = envir) [18:03:00.921] if (!future$lazy) [18:03:00.921] future <- run(future) [18:03:00.921] invisible(future) [18:03:00.921] }), .cleanup = FALSE, .init = FALSE) [18:03:00.921] } [18:03:00.921] } [18:03:00.921] } [18:03:00.921] }) [18:03:00.921] if (TRUE) { [18:03:00.921] base::sink(type = "output", split = FALSE) [18:03:00.921] if (TRUE) { [18:03:00.921] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:00.921] } [18:03:00.921] else { [18:03:00.921] ...future.result["stdout"] <- base::list(NULL) [18:03:00.921] } [18:03:00.921] base::close(...future.stdout) [18:03:00.921] ...future.stdout <- NULL [18:03:00.921] } [18:03:00.921] ...future.result$conditions <- ...future.conditions [18:03:00.921] ...future.result$finished <- base::Sys.time() [18:03:00.921] ...future.result [18:03:00.921] } [18:03:00.927] MultisessionFuture started [18:03:00.927] - Launch lazy future ... done [18:03:00.927] run() for 'MultisessionFuture' ... done [18:03:00.927] resolve() on list ... [18:03:00.928] recursive: 0 [18:03:00.928] length: 3 [18:03:00.928] elements: 'a', 'b', '' [18:03:00.928] run() for 'Future' ... [18:03:00.928] - state: 'created' [18:03:00.928] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:00.943] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:00.943] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:00.943] - Field: 'node' [18:03:00.943] - Field: 'label' [18:03:00.943] - Field: 'local' [18:03:00.944] - Field: 'owner' [18:03:00.944] - Field: 'envir' [18:03:00.944] - Field: 'workers' [18:03:00.944] - Field: 'packages' [18:03:00.944] - Field: 'gc' [18:03:00.944] - Field: 'conditions' [18:03:00.945] - Field: 'persistent' [18:03:00.945] - Field: 'expr' [18:03:00.945] - Field: 'uuid' [18:03:00.945] - Field: 'seed' [18:03:00.945] - Field: 'version' [18:03:00.946] - Field: 'result' [18:03:00.946] - Field: 'asynchronous' [18:03:00.946] - Field: 'calls' [18:03:00.946] - Field: 'globals' [18:03:00.946] - Field: 'stdout' [18:03:00.946] - Field: 'earlySignal' [18:03:00.947] - Field: 'lazy' [18:03:00.947] - Field: 'state' [18:03:00.947] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:00.947] - Launch lazy future ... [18:03:00.947] Packages needed by the future expression (n = 0): [18:03:00.948] Packages needed by future strategies (n = 0): [18:03:00.948] { [18:03:00.948] { [18:03:00.948] { [18:03:00.948] ...future.startTime <- base::Sys.time() [18:03:00.948] { [18:03:00.948] { [18:03:00.948] { [18:03:00.948] { [18:03:00.948] base::local({ [18:03:00.948] has_future <- base::requireNamespace("future", [18:03:00.948] quietly = TRUE) [18:03:00.948] if (has_future) { [18:03:00.948] ns <- base::getNamespace("future") [18:03:00.948] version <- ns[[".package"]][["version"]] [18:03:00.948] if (is.null(version)) [18:03:00.948] version <- utils::packageVersion("future") [18:03:00.948] } [18:03:00.948] else { [18:03:00.948] version <- NULL [18:03:00.948] } [18:03:00.948] if (!has_future || version < "1.8.0") { [18:03:00.948] info <- base::c(r_version = base::gsub("R version ", [18:03:00.948] "", base::R.version$version.string), [18:03:00.948] platform = base::sprintf("%s (%s-bit)", [18:03:00.948] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:00.948] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:00.948] "release", "version")], collapse = " "), [18:03:00.948] hostname = base::Sys.info()[["nodename"]]) [18:03:00.948] info <- base::sprintf("%s: %s", base::names(info), [18:03:00.948] info) [18:03:00.948] info <- base::paste(info, collapse = "; ") [18:03:00.948] if (!has_future) { [18:03:00.948] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:00.948] info) [18:03:00.948] } [18:03:00.948] else { [18:03:00.948] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:00.948] info, version) [18:03:00.948] } [18:03:00.948] base::stop(msg) [18:03:00.948] } [18:03:00.948] }) [18:03:00.948] } [18:03:00.948] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:00.948] base::options(mc.cores = 1L) [18:03:00.948] } [18:03:00.948] options(future.plan = NULL) [18:03:00.948] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.948] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:00.948] } [18:03:00.948] ...future.workdir <- getwd() [18:03:00.948] } [18:03:00.948] ...future.oldOptions <- base::as.list(base::.Options) [18:03:00.948] ...future.oldEnvVars <- base::Sys.getenv() [18:03:00.948] } [18:03:00.948] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:00.948] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:00.948] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:00.948] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:00.948] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:00.948] future.stdout.windows.reencode = NULL, width = 80L) [18:03:00.948] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:00.948] base::names(...future.oldOptions)) [18:03:00.948] } [18:03:00.948] if (FALSE) { [18:03:00.948] } [18:03:00.948] else { [18:03:00.948] if (TRUE) { [18:03:00.948] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:00.948] open = "w") [18:03:00.948] } [18:03:00.948] else { [18:03:00.948] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:00.948] windows = "NUL", "/dev/null"), open = "w") [18:03:00.948] } [18:03:00.948] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:00.948] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:00.948] base::sink(type = "output", split = FALSE) [18:03:00.948] base::close(...future.stdout) [18:03:00.948] }, add = TRUE) [18:03:00.948] } [18:03:00.948] ...future.frame <- base::sys.nframe() [18:03:00.948] ...future.conditions <- base::list() [18:03:00.948] ...future.rng <- base::globalenv()$.Random.seed [18:03:00.948] if (FALSE) { [18:03:00.948] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:00.948] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:00.948] } [18:03:00.948] ...future.result <- base::tryCatch({ [18:03:00.948] base::withCallingHandlers({ [18:03:00.948] ...future.value <- base::withVisible(base::local({ [18:03:00.948] ...future.makeSendCondition <- local({ [18:03:00.948] sendCondition <- NULL [18:03:00.948] function(frame = 1L) { [18:03:00.948] if (is.function(sendCondition)) [18:03:00.948] return(sendCondition) [18:03:00.948] ns <- getNamespace("parallel") [18:03:00.948] if (exists("sendData", mode = "function", [18:03:00.948] envir = ns)) { [18:03:00.948] parallel_sendData <- get("sendData", mode = "function", [18:03:00.948] envir = ns) [18:03:00.948] envir <- sys.frame(frame) [18:03:00.948] master <- NULL [18:03:00.948] while (!identical(envir, .GlobalEnv) && [18:03:00.948] !identical(envir, emptyenv())) { [18:03:00.948] if (exists("master", mode = "list", envir = envir, [18:03:00.948] inherits = FALSE)) { [18:03:00.948] master <- get("master", mode = "list", [18:03:00.948] envir = envir, inherits = FALSE) [18:03:00.948] if (inherits(master, c("SOCKnode", [18:03:00.948] "SOCK0node"))) { [18:03:00.948] sendCondition <<- function(cond) { [18:03:00.948] data <- list(type = "VALUE", value = cond, [18:03:00.948] success = TRUE) [18:03:00.948] parallel_sendData(master, data) [18:03:00.948] } [18:03:00.948] return(sendCondition) [18:03:00.948] } [18:03:00.948] } [18:03:00.948] frame <- frame + 1L [18:03:00.948] envir <- sys.frame(frame) [18:03:00.948] } [18:03:00.948] } [18:03:00.948] sendCondition <<- function(cond) NULL [18:03:00.948] } [18:03:00.948] }) [18:03:00.948] withCallingHandlers({ [18:03:00.948] 1 [18:03:00.948] }, immediateCondition = function(cond) { [18:03:00.948] sendCondition <- ...future.makeSendCondition() [18:03:00.948] sendCondition(cond) [18:03:00.948] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.948] { [18:03:00.948] inherits <- base::inherits [18:03:00.948] invokeRestart <- base::invokeRestart [18:03:00.948] is.null <- base::is.null [18:03:00.948] muffled <- FALSE [18:03:00.948] if (inherits(cond, "message")) { [18:03:00.948] muffled <- grepl(pattern, "muffleMessage") [18:03:00.948] if (muffled) [18:03:00.948] invokeRestart("muffleMessage") [18:03:00.948] } [18:03:00.948] else if (inherits(cond, "warning")) { [18:03:00.948] muffled <- grepl(pattern, "muffleWarning") [18:03:00.948] if (muffled) [18:03:00.948] invokeRestart("muffleWarning") [18:03:00.948] } [18:03:00.948] else if (inherits(cond, "condition")) { [18:03:00.948] if (!is.null(pattern)) { [18:03:00.948] computeRestarts <- base::computeRestarts [18:03:00.948] grepl <- base::grepl [18:03:00.948] restarts <- computeRestarts(cond) [18:03:00.948] for (restart in restarts) { [18:03:00.948] name <- restart$name [18:03:00.948] if (is.null(name)) [18:03:00.948] next [18:03:00.948] if (!grepl(pattern, name)) [18:03:00.948] next [18:03:00.948] invokeRestart(restart) [18:03:00.948] muffled <- TRUE [18:03:00.948] break [18:03:00.948] } [18:03:00.948] } [18:03:00.948] } [18:03:00.948] invisible(muffled) [18:03:00.948] } [18:03:00.948] muffleCondition(cond) [18:03:00.948] }) [18:03:00.948] })) [18:03:00.948] future::FutureResult(value = ...future.value$value, [18:03:00.948] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.948] ...future.rng), globalenv = if (FALSE) [18:03:00.948] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:00.948] ...future.globalenv.names)) [18:03:00.948] else NULL, started = ...future.startTime, version = "1.8") [18:03:00.948] }, condition = base::local({ [18:03:00.948] c <- base::c [18:03:00.948] inherits <- base::inherits [18:03:00.948] invokeRestart <- base::invokeRestart [18:03:00.948] length <- base::length [18:03:00.948] list <- base::list [18:03:00.948] seq.int <- base::seq.int [18:03:00.948] signalCondition <- base::signalCondition [18:03:00.948] sys.calls <- base::sys.calls [18:03:00.948] `[[` <- base::`[[` [18:03:00.948] `+` <- base::`+` [18:03:00.948] `<<-` <- base::`<<-` [18:03:00.948] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:00.948] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:00.948] 3L)] [18:03:00.948] } [18:03:00.948] function(cond) { [18:03:00.948] is_error <- inherits(cond, "error") [18:03:00.948] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:00.948] NULL) [18:03:00.948] if (is_error) { [18:03:00.948] sessionInformation <- function() { [18:03:00.948] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:00.948] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:00.948] search = base::search(), system = base::Sys.info()) [18:03:00.948] } [18:03:00.948] ...future.conditions[[length(...future.conditions) + [18:03:00.948] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:00.948] cond$call), session = sessionInformation(), [18:03:00.948] timestamp = base::Sys.time(), signaled = 0L) [18:03:00.948] signalCondition(cond) [18:03:00.948] } [18:03:00.948] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:00.948] "immediateCondition"))) { [18:03:00.948] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:00.948] ...future.conditions[[length(...future.conditions) + [18:03:00.948] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:00.948] if (TRUE && !signal) { [18:03:00.948] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.948] { [18:03:00.948] inherits <- base::inherits [18:03:00.948] invokeRestart <- base::invokeRestart [18:03:00.948] is.null <- base::is.null [18:03:00.948] muffled <- FALSE [18:03:00.948] if (inherits(cond, "message")) { [18:03:00.948] muffled <- grepl(pattern, "muffleMessage") [18:03:00.948] if (muffled) [18:03:00.948] invokeRestart("muffleMessage") [18:03:00.948] } [18:03:00.948] else if (inherits(cond, "warning")) { [18:03:00.948] muffled <- grepl(pattern, "muffleWarning") [18:03:00.948] if (muffled) [18:03:00.948] invokeRestart("muffleWarning") [18:03:00.948] } [18:03:00.948] else if (inherits(cond, "condition")) { [18:03:00.948] if (!is.null(pattern)) { [18:03:00.948] computeRestarts <- base::computeRestarts [18:03:00.948] grepl <- base::grepl [18:03:00.948] restarts <- computeRestarts(cond) [18:03:00.948] for (restart in restarts) { [18:03:00.948] name <- restart$name [18:03:00.948] if (is.null(name)) [18:03:00.948] next [18:03:00.948] if (!grepl(pattern, name)) [18:03:00.948] next [18:03:00.948] invokeRestart(restart) [18:03:00.948] muffled <- TRUE [18:03:00.948] break [18:03:00.948] } [18:03:00.948] } [18:03:00.948] } [18:03:00.948] invisible(muffled) [18:03:00.948] } [18:03:00.948] muffleCondition(cond, pattern = "^muffle") [18:03:00.948] } [18:03:00.948] } [18:03:00.948] else { [18:03:00.948] if (TRUE) { [18:03:00.948] muffleCondition <- function (cond, pattern = "^muffle") [18:03:00.948] { [18:03:00.948] inherits <- base::inherits [18:03:00.948] invokeRestart <- base::invokeRestart [18:03:00.948] is.null <- base::is.null [18:03:00.948] muffled <- FALSE [18:03:00.948] if (inherits(cond, "message")) { [18:03:00.948] muffled <- grepl(pattern, "muffleMessage") [18:03:00.948] if (muffled) [18:03:00.948] invokeRestart("muffleMessage") [18:03:00.948] } [18:03:00.948] else if (inherits(cond, "warning")) { [18:03:00.948] muffled <- grepl(pattern, "muffleWarning") [18:03:00.948] if (muffled) [18:03:00.948] invokeRestart("muffleWarning") [18:03:00.948] } [18:03:00.948] else if (inherits(cond, "condition")) { [18:03:00.948] if (!is.null(pattern)) { [18:03:00.948] computeRestarts <- base::computeRestarts [18:03:00.948] grepl <- base::grepl [18:03:00.948] restarts <- computeRestarts(cond) [18:03:00.948] for (restart in restarts) { [18:03:00.948] name <- restart$name [18:03:00.948] if (is.null(name)) [18:03:00.948] next [18:03:00.948] if (!grepl(pattern, name)) [18:03:00.948] next [18:03:00.948] invokeRestart(restart) [18:03:00.948] muffled <- TRUE [18:03:00.948] break [18:03:00.948] } [18:03:00.948] } [18:03:00.948] } [18:03:00.948] invisible(muffled) [18:03:00.948] } [18:03:00.948] muffleCondition(cond, pattern = "^muffle") [18:03:00.948] } [18:03:00.948] } [18:03:00.948] } [18:03:00.948] })) [18:03:00.948] }, error = function(ex) { [18:03:00.948] base::structure(base::list(value = NULL, visible = NULL, [18:03:00.948] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:00.948] ...future.rng), started = ...future.startTime, [18:03:00.948] finished = Sys.time(), session_uuid = NA_character_, [18:03:00.948] version = "1.8"), class = "FutureResult") [18:03:00.948] }, finally = { [18:03:00.948] if (!identical(...future.workdir, getwd())) [18:03:00.948] setwd(...future.workdir) [18:03:00.948] { [18:03:00.948] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:00.948] ...future.oldOptions$nwarnings <- NULL [18:03:00.948] } [18:03:00.948] base::options(...future.oldOptions) [18:03:00.948] if (.Platform$OS.type == "windows") { [18:03:00.948] old_names <- names(...future.oldEnvVars) [18:03:00.948] envs <- base::Sys.getenv() [18:03:00.948] names <- names(envs) [18:03:00.948] common <- intersect(names, old_names) [18:03:00.948] added <- setdiff(names, old_names) [18:03:00.948] removed <- setdiff(old_names, names) [18:03:00.948] changed <- common[...future.oldEnvVars[common] != [18:03:00.948] envs[common]] [18:03:00.948] NAMES <- toupper(changed) [18:03:00.948] args <- list() [18:03:00.948] for (kk in seq_along(NAMES)) { [18:03:00.948] name <- changed[[kk]] [18:03:00.948] NAME <- NAMES[[kk]] [18:03:00.948] if (name != NAME && is.element(NAME, old_names)) [18:03:00.948] next [18:03:00.948] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.948] } [18:03:00.948] NAMES <- toupper(added) [18:03:00.948] for (kk in seq_along(NAMES)) { [18:03:00.948] name <- added[[kk]] [18:03:00.948] NAME <- NAMES[[kk]] [18:03:00.948] if (name != NAME && is.element(NAME, old_names)) [18:03:00.948] next [18:03:00.948] args[[name]] <- "" [18:03:00.948] } [18:03:00.948] NAMES <- toupper(removed) [18:03:00.948] for (kk in seq_along(NAMES)) { [18:03:00.948] name <- removed[[kk]] [18:03:00.948] NAME <- NAMES[[kk]] [18:03:00.948] if (name != NAME && is.element(NAME, old_names)) [18:03:00.948] next [18:03:00.948] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:00.948] } [18:03:00.948] if (length(args) > 0) [18:03:00.948] base::do.call(base::Sys.setenv, args = args) [18:03:00.948] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:00.948] } [18:03:00.948] else { [18:03:00.948] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:00.948] } [18:03:00.948] { [18:03:00.948] if (base::length(...future.futureOptionsAdded) > [18:03:00.948] 0L) { [18:03:00.948] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:00.948] base::names(opts) <- ...future.futureOptionsAdded [18:03:00.948] base::options(opts) [18:03:00.948] } [18:03:00.948] { [18:03:00.948] { [18:03:00.948] base::options(mc.cores = ...future.mc.cores.old) [18:03:00.948] NULL [18:03:00.948] } [18:03:00.948] options(future.plan = NULL) [18:03:00.948] if (is.na(NA_character_)) [18:03:00.948] Sys.unsetenv("R_FUTURE_PLAN") [18:03:00.948] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:00.948] future::plan(list(function (..., workers = availableCores(), [18:03:00.948] lazy = FALSE, rscript_libs = .libPaths(), [18:03:00.948] envir = parent.frame()) [18:03:00.948] { [18:03:00.948] if (is.function(workers)) [18:03:00.948] workers <- workers() [18:03:00.948] workers <- structure(as.integer(workers), [18:03:00.948] class = class(workers)) [18:03:00.948] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:00.948] workers >= 1) [18:03:00.948] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:00.948] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:00.948] } [18:03:00.948] future <- MultisessionFuture(..., workers = workers, [18:03:00.948] lazy = lazy, rscript_libs = rscript_libs, [18:03:00.948] envir = envir) [18:03:00.948] if (!future$lazy) [18:03:00.948] future <- run(future) [18:03:00.948] invisible(future) [18:03:00.948] }), .cleanup = FALSE, .init = FALSE) [18:03:00.948] } [18:03:00.948] } [18:03:00.948] } [18:03:00.948] }) [18:03:00.948] if (TRUE) { [18:03:00.948] base::sink(type = "output", split = FALSE) [18:03:00.948] if (TRUE) { [18:03:00.948] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:00.948] } [18:03:00.948] else { [18:03:00.948] ...future.result["stdout"] <- base::list(NULL) [18:03:00.948] } [18:03:00.948] base::close(...future.stdout) [18:03:00.948] ...future.stdout <- NULL [18:03:00.948] } [18:03:00.948] ...future.result$conditions <- ...future.conditions [18:03:00.948] ...future.result$finished <- base::Sys.time() [18:03:00.948] ...future.result [18:03:00.948] } [18:03:00.954] MultisessionFuture started [18:03:00.955] - Launch lazy future ... done [18:03:00.955] run() for 'MultisessionFuture' ... done [18:03:00.971] receiveMessageFromWorker() for ClusterFuture ... [18:03:00.972] - Validating connection of MultisessionFuture [18:03:00.972] - received message: FutureResult [18:03:00.972] - Received FutureResult [18:03:00.972] - Erased future from FutureRegistry [18:03:00.972] result() for ClusterFuture ... [18:03:00.973] - result already collected: FutureResult [18:03:00.973] result() for ClusterFuture ... done [18:03:00.973] receiveMessageFromWorker() for ClusterFuture ... done [18:03:00.973] Future #1 [18:03:00.973] length: 2 (resolved future 1) [18:03:00.974] receiveMessageFromWorker() for ClusterFuture ... [18:03:00.974] - Validating connection of MultisessionFuture [18:03:00.974] - received message: FutureResult [18:03:00.974] - Received FutureResult [18:03:00.974] - Erased future from FutureRegistry [18:03:00.975] result() for ClusterFuture ... [18:03:00.975] - result already collected: FutureResult [18:03:00.975] result() for ClusterFuture ... done [18:03:00.975] receiveMessageFromWorker() for ClusterFuture ... done [18:03:00.975] Future #2 [18:03:00.975] length: 1 (resolved future 2) [18:03:00.976] length: 0 (resolved future 3) [18:03:00.976] resolve() on list ... DONE [18:03:00.976] getGlobalsAndPackages() ... [18:03:00.976] Searching for globals... [18:03:00.977] [18:03:00.977] Searching for globals ... DONE [18:03:00.977] - globals: [0] [18:03:00.977] getGlobalsAndPackages() ... DONE [18:03:00.977] getGlobalsAndPackages() ... [18:03:00.978] Searching for globals... [18:03:00.978] [18:03:00.978] Searching for globals ... DONE [18:03:00.978] - globals: [0] [18:03:00.978] getGlobalsAndPackages() ... DONE [18:03:00.979] resolve() on list ... [18:03:00.979] recursive: 0 [18:03:00.979] length: 3 [18:03:00.979] elements: 'a', 'b', '' [18:03:00.979] run() for 'Future' ... [18:03:00.980] - state: 'created' [18:03:00.980] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:00.994] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:00.994] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:00.994] - Field: 'node' [18:03:00.995] - Field: 'label' [18:03:00.995] - Field: 'local' [18:03:00.995] - Field: 'owner' [18:03:00.995] - Field: 'envir' [18:03:00.995] - Field: 'workers' [18:03:00.995] - Field: 'packages' [18:03:00.996] - Field: 'gc' [18:03:00.996] - Field: 'conditions' [18:03:00.996] - Field: 'persistent' [18:03:00.996] - Field: 'expr' [18:03:00.996] - Field: 'uuid' [18:03:00.997] - Field: 'seed' [18:03:00.997] - Field: 'version' [18:03:00.997] - Field: 'result' [18:03:00.997] - Field: 'asynchronous' [18:03:00.997] - Field: 'calls' [18:03:00.997] - Field: 'globals' [18:03:00.998] - Field: 'stdout' [18:03:00.998] - Field: 'earlySignal' [18:03:00.998] - Field: 'lazy' [18:03:00.998] - Field: 'state' [18:03:00.998] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:00.999] - Launch lazy future ... [18:03:00.999] Packages needed by the future expression (n = 0): [18:03:00.999] Packages needed by future strategies (n = 0): [18:03:01.000] { [18:03:01.000] { [18:03:01.000] { [18:03:01.000] ...future.startTime <- base::Sys.time() [18:03:01.000] { [18:03:01.000] { [18:03:01.000] { [18:03:01.000] { [18:03:01.000] base::local({ [18:03:01.000] has_future <- base::requireNamespace("future", [18:03:01.000] quietly = TRUE) [18:03:01.000] if (has_future) { [18:03:01.000] ns <- base::getNamespace("future") [18:03:01.000] version <- ns[[".package"]][["version"]] [18:03:01.000] if (is.null(version)) [18:03:01.000] version <- utils::packageVersion("future") [18:03:01.000] } [18:03:01.000] else { [18:03:01.000] version <- NULL [18:03:01.000] } [18:03:01.000] if (!has_future || version < "1.8.0") { [18:03:01.000] info <- base::c(r_version = base::gsub("R version ", [18:03:01.000] "", base::R.version$version.string), [18:03:01.000] platform = base::sprintf("%s (%s-bit)", [18:03:01.000] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:01.000] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:01.000] "release", "version")], collapse = " "), [18:03:01.000] hostname = base::Sys.info()[["nodename"]]) [18:03:01.000] info <- base::sprintf("%s: %s", base::names(info), [18:03:01.000] info) [18:03:01.000] info <- base::paste(info, collapse = "; ") [18:03:01.000] if (!has_future) { [18:03:01.000] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:01.000] info) [18:03:01.000] } [18:03:01.000] else { [18:03:01.000] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:01.000] info, version) [18:03:01.000] } [18:03:01.000] base::stop(msg) [18:03:01.000] } [18:03:01.000] }) [18:03:01.000] } [18:03:01.000] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:01.000] base::options(mc.cores = 1L) [18:03:01.000] } [18:03:01.000] options(future.plan = NULL) [18:03:01.000] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.000] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:01.000] } [18:03:01.000] ...future.workdir <- getwd() [18:03:01.000] } [18:03:01.000] ...future.oldOptions <- base::as.list(base::.Options) [18:03:01.000] ...future.oldEnvVars <- base::Sys.getenv() [18:03:01.000] } [18:03:01.000] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:01.000] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:01.000] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:01.000] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:01.000] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:01.000] future.stdout.windows.reencode = NULL, width = 80L) [18:03:01.000] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:01.000] base::names(...future.oldOptions)) [18:03:01.000] } [18:03:01.000] if (FALSE) { [18:03:01.000] } [18:03:01.000] else { [18:03:01.000] if (TRUE) { [18:03:01.000] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:01.000] open = "w") [18:03:01.000] } [18:03:01.000] else { [18:03:01.000] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:01.000] windows = "NUL", "/dev/null"), open = "w") [18:03:01.000] } [18:03:01.000] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:01.000] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:01.000] base::sink(type = "output", split = FALSE) [18:03:01.000] base::close(...future.stdout) [18:03:01.000] }, add = TRUE) [18:03:01.000] } [18:03:01.000] ...future.frame <- base::sys.nframe() [18:03:01.000] ...future.conditions <- base::list() [18:03:01.000] ...future.rng <- base::globalenv()$.Random.seed [18:03:01.000] if (FALSE) { [18:03:01.000] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:01.000] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:01.000] } [18:03:01.000] ...future.result <- base::tryCatch({ [18:03:01.000] base::withCallingHandlers({ [18:03:01.000] ...future.value <- base::withVisible(base::local({ [18:03:01.000] ...future.makeSendCondition <- local({ [18:03:01.000] sendCondition <- NULL [18:03:01.000] function(frame = 1L) { [18:03:01.000] if (is.function(sendCondition)) [18:03:01.000] return(sendCondition) [18:03:01.000] ns <- getNamespace("parallel") [18:03:01.000] if (exists("sendData", mode = "function", [18:03:01.000] envir = ns)) { [18:03:01.000] parallel_sendData <- get("sendData", mode = "function", [18:03:01.000] envir = ns) [18:03:01.000] envir <- sys.frame(frame) [18:03:01.000] master <- NULL [18:03:01.000] while (!identical(envir, .GlobalEnv) && [18:03:01.000] !identical(envir, emptyenv())) { [18:03:01.000] if (exists("master", mode = "list", envir = envir, [18:03:01.000] inherits = FALSE)) { [18:03:01.000] master <- get("master", mode = "list", [18:03:01.000] envir = envir, inherits = FALSE) [18:03:01.000] if (inherits(master, c("SOCKnode", [18:03:01.000] "SOCK0node"))) { [18:03:01.000] sendCondition <<- function(cond) { [18:03:01.000] data <- list(type = "VALUE", value = cond, [18:03:01.000] success = TRUE) [18:03:01.000] parallel_sendData(master, data) [18:03:01.000] } [18:03:01.000] return(sendCondition) [18:03:01.000] } [18:03:01.000] } [18:03:01.000] frame <- frame + 1L [18:03:01.000] envir <- sys.frame(frame) [18:03:01.000] } [18:03:01.000] } [18:03:01.000] sendCondition <<- function(cond) NULL [18:03:01.000] } [18:03:01.000] }) [18:03:01.000] withCallingHandlers({ [18:03:01.000] 1 [18:03:01.000] }, immediateCondition = function(cond) { [18:03:01.000] sendCondition <- ...future.makeSendCondition() [18:03:01.000] sendCondition(cond) [18:03:01.000] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.000] { [18:03:01.000] inherits <- base::inherits [18:03:01.000] invokeRestart <- base::invokeRestart [18:03:01.000] is.null <- base::is.null [18:03:01.000] muffled <- FALSE [18:03:01.000] if (inherits(cond, "message")) { [18:03:01.000] muffled <- grepl(pattern, "muffleMessage") [18:03:01.000] if (muffled) [18:03:01.000] invokeRestart("muffleMessage") [18:03:01.000] } [18:03:01.000] else if (inherits(cond, "warning")) { [18:03:01.000] muffled <- grepl(pattern, "muffleWarning") [18:03:01.000] if (muffled) [18:03:01.000] invokeRestart("muffleWarning") [18:03:01.000] } [18:03:01.000] else if (inherits(cond, "condition")) { [18:03:01.000] if (!is.null(pattern)) { [18:03:01.000] computeRestarts <- base::computeRestarts [18:03:01.000] grepl <- base::grepl [18:03:01.000] restarts <- computeRestarts(cond) [18:03:01.000] for (restart in restarts) { [18:03:01.000] name <- restart$name [18:03:01.000] if (is.null(name)) [18:03:01.000] next [18:03:01.000] if (!grepl(pattern, name)) [18:03:01.000] next [18:03:01.000] invokeRestart(restart) [18:03:01.000] muffled <- TRUE [18:03:01.000] break [18:03:01.000] } [18:03:01.000] } [18:03:01.000] } [18:03:01.000] invisible(muffled) [18:03:01.000] } [18:03:01.000] muffleCondition(cond) [18:03:01.000] }) [18:03:01.000] })) [18:03:01.000] future::FutureResult(value = ...future.value$value, [18:03:01.000] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.000] ...future.rng), globalenv = if (FALSE) [18:03:01.000] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:01.000] ...future.globalenv.names)) [18:03:01.000] else NULL, started = ...future.startTime, version = "1.8") [18:03:01.000] }, condition = base::local({ [18:03:01.000] c <- base::c [18:03:01.000] inherits <- base::inherits [18:03:01.000] invokeRestart <- base::invokeRestart [18:03:01.000] length <- base::length [18:03:01.000] list <- base::list [18:03:01.000] seq.int <- base::seq.int [18:03:01.000] signalCondition <- base::signalCondition [18:03:01.000] sys.calls <- base::sys.calls [18:03:01.000] `[[` <- base::`[[` [18:03:01.000] `+` <- base::`+` [18:03:01.000] `<<-` <- base::`<<-` [18:03:01.000] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:01.000] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:01.000] 3L)] [18:03:01.000] } [18:03:01.000] function(cond) { [18:03:01.000] is_error <- inherits(cond, "error") [18:03:01.000] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:01.000] NULL) [18:03:01.000] if (is_error) { [18:03:01.000] sessionInformation <- function() { [18:03:01.000] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:01.000] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:01.000] search = base::search(), system = base::Sys.info()) [18:03:01.000] } [18:03:01.000] ...future.conditions[[length(...future.conditions) + [18:03:01.000] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:01.000] cond$call), session = sessionInformation(), [18:03:01.000] timestamp = base::Sys.time(), signaled = 0L) [18:03:01.000] signalCondition(cond) [18:03:01.000] } [18:03:01.000] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:01.000] "immediateCondition"))) { [18:03:01.000] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:01.000] ...future.conditions[[length(...future.conditions) + [18:03:01.000] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:01.000] if (TRUE && !signal) { [18:03:01.000] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.000] { [18:03:01.000] inherits <- base::inherits [18:03:01.000] invokeRestart <- base::invokeRestart [18:03:01.000] is.null <- base::is.null [18:03:01.000] muffled <- FALSE [18:03:01.000] if (inherits(cond, "message")) { [18:03:01.000] muffled <- grepl(pattern, "muffleMessage") [18:03:01.000] if (muffled) [18:03:01.000] invokeRestart("muffleMessage") [18:03:01.000] } [18:03:01.000] else if (inherits(cond, "warning")) { [18:03:01.000] muffled <- grepl(pattern, "muffleWarning") [18:03:01.000] if (muffled) [18:03:01.000] invokeRestart("muffleWarning") [18:03:01.000] } [18:03:01.000] else if (inherits(cond, "condition")) { [18:03:01.000] if (!is.null(pattern)) { [18:03:01.000] computeRestarts <- base::computeRestarts [18:03:01.000] grepl <- base::grepl [18:03:01.000] restarts <- computeRestarts(cond) [18:03:01.000] for (restart in restarts) { [18:03:01.000] name <- restart$name [18:03:01.000] if (is.null(name)) [18:03:01.000] next [18:03:01.000] if (!grepl(pattern, name)) [18:03:01.000] next [18:03:01.000] invokeRestart(restart) [18:03:01.000] muffled <- TRUE [18:03:01.000] break [18:03:01.000] } [18:03:01.000] } [18:03:01.000] } [18:03:01.000] invisible(muffled) [18:03:01.000] } [18:03:01.000] muffleCondition(cond, pattern = "^muffle") [18:03:01.000] } [18:03:01.000] } [18:03:01.000] else { [18:03:01.000] if (TRUE) { [18:03:01.000] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.000] { [18:03:01.000] inherits <- base::inherits [18:03:01.000] invokeRestart <- base::invokeRestart [18:03:01.000] is.null <- base::is.null [18:03:01.000] muffled <- FALSE [18:03:01.000] if (inherits(cond, "message")) { [18:03:01.000] muffled <- grepl(pattern, "muffleMessage") [18:03:01.000] if (muffled) [18:03:01.000] invokeRestart("muffleMessage") [18:03:01.000] } [18:03:01.000] else if (inherits(cond, "warning")) { [18:03:01.000] muffled <- grepl(pattern, "muffleWarning") [18:03:01.000] if (muffled) [18:03:01.000] invokeRestart("muffleWarning") [18:03:01.000] } [18:03:01.000] else if (inherits(cond, "condition")) { [18:03:01.000] if (!is.null(pattern)) { [18:03:01.000] computeRestarts <- base::computeRestarts [18:03:01.000] grepl <- base::grepl [18:03:01.000] restarts <- computeRestarts(cond) [18:03:01.000] for (restart in restarts) { [18:03:01.000] name <- restart$name [18:03:01.000] if (is.null(name)) [18:03:01.000] next [18:03:01.000] if (!grepl(pattern, name)) [18:03:01.000] next [18:03:01.000] invokeRestart(restart) [18:03:01.000] muffled <- TRUE [18:03:01.000] break [18:03:01.000] } [18:03:01.000] } [18:03:01.000] } [18:03:01.000] invisible(muffled) [18:03:01.000] } [18:03:01.000] muffleCondition(cond, pattern = "^muffle") [18:03:01.000] } [18:03:01.000] } [18:03:01.000] } [18:03:01.000] })) [18:03:01.000] }, error = function(ex) { [18:03:01.000] base::structure(base::list(value = NULL, visible = NULL, [18:03:01.000] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.000] ...future.rng), started = ...future.startTime, [18:03:01.000] finished = Sys.time(), session_uuid = NA_character_, [18:03:01.000] version = "1.8"), class = "FutureResult") [18:03:01.000] }, finally = { [18:03:01.000] if (!identical(...future.workdir, getwd())) [18:03:01.000] setwd(...future.workdir) [18:03:01.000] { [18:03:01.000] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:01.000] ...future.oldOptions$nwarnings <- NULL [18:03:01.000] } [18:03:01.000] base::options(...future.oldOptions) [18:03:01.000] if (.Platform$OS.type == "windows") { [18:03:01.000] old_names <- names(...future.oldEnvVars) [18:03:01.000] envs <- base::Sys.getenv() [18:03:01.000] names <- names(envs) [18:03:01.000] common <- intersect(names, old_names) [18:03:01.000] added <- setdiff(names, old_names) [18:03:01.000] removed <- setdiff(old_names, names) [18:03:01.000] changed <- common[...future.oldEnvVars[common] != [18:03:01.000] envs[common]] [18:03:01.000] NAMES <- toupper(changed) [18:03:01.000] args <- list() [18:03:01.000] for (kk in seq_along(NAMES)) { [18:03:01.000] name <- changed[[kk]] [18:03:01.000] NAME <- NAMES[[kk]] [18:03:01.000] if (name != NAME && is.element(NAME, old_names)) [18:03:01.000] next [18:03:01.000] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.000] } [18:03:01.000] NAMES <- toupper(added) [18:03:01.000] for (kk in seq_along(NAMES)) { [18:03:01.000] name <- added[[kk]] [18:03:01.000] NAME <- NAMES[[kk]] [18:03:01.000] if (name != NAME && is.element(NAME, old_names)) [18:03:01.000] next [18:03:01.000] args[[name]] <- "" [18:03:01.000] } [18:03:01.000] NAMES <- toupper(removed) [18:03:01.000] for (kk in seq_along(NAMES)) { [18:03:01.000] name <- removed[[kk]] [18:03:01.000] NAME <- NAMES[[kk]] [18:03:01.000] if (name != NAME && is.element(NAME, old_names)) [18:03:01.000] next [18:03:01.000] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.000] } [18:03:01.000] if (length(args) > 0) [18:03:01.000] base::do.call(base::Sys.setenv, args = args) [18:03:01.000] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:01.000] } [18:03:01.000] else { [18:03:01.000] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:01.000] } [18:03:01.000] { [18:03:01.000] if (base::length(...future.futureOptionsAdded) > [18:03:01.000] 0L) { [18:03:01.000] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:01.000] base::names(opts) <- ...future.futureOptionsAdded [18:03:01.000] base::options(opts) [18:03:01.000] } [18:03:01.000] { [18:03:01.000] { [18:03:01.000] base::options(mc.cores = ...future.mc.cores.old) [18:03:01.000] NULL [18:03:01.000] } [18:03:01.000] options(future.plan = NULL) [18:03:01.000] if (is.na(NA_character_)) [18:03:01.000] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.000] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:01.000] future::plan(list(function (..., workers = availableCores(), [18:03:01.000] lazy = FALSE, rscript_libs = .libPaths(), [18:03:01.000] envir = parent.frame()) [18:03:01.000] { [18:03:01.000] if (is.function(workers)) [18:03:01.000] workers <- workers() [18:03:01.000] workers <- structure(as.integer(workers), [18:03:01.000] class = class(workers)) [18:03:01.000] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:01.000] workers >= 1) [18:03:01.000] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:01.000] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:01.000] } [18:03:01.000] future <- MultisessionFuture(..., workers = workers, [18:03:01.000] lazy = lazy, rscript_libs = rscript_libs, [18:03:01.000] envir = envir) [18:03:01.000] if (!future$lazy) [18:03:01.000] future <- run(future) [18:03:01.000] invisible(future) [18:03:01.000] }), .cleanup = FALSE, .init = FALSE) [18:03:01.000] } [18:03:01.000] } [18:03:01.000] } [18:03:01.000] }) [18:03:01.000] if (TRUE) { [18:03:01.000] base::sink(type = "output", split = FALSE) [18:03:01.000] if (TRUE) { [18:03:01.000] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:01.000] } [18:03:01.000] else { [18:03:01.000] ...future.result["stdout"] <- base::list(NULL) [18:03:01.000] } [18:03:01.000] base::close(...future.stdout) [18:03:01.000] ...future.stdout <- NULL [18:03:01.000] } [18:03:01.000] ...future.result$conditions <- ...future.conditions [18:03:01.000] ...future.result$finished <- base::Sys.time() [18:03:01.000] ...future.result [18:03:01.000] } [18:03:01.006] MultisessionFuture started [18:03:01.006] - Launch lazy future ... done [18:03:01.006] run() for 'MultisessionFuture' ... done [18:03:01.042] receiveMessageFromWorker() for ClusterFuture ... [18:03:01.042] - Validating connection of MultisessionFuture [18:03:01.042] - received message: FutureResult [18:03:01.043] - Received FutureResult [18:03:01.043] - Erased future from FutureRegistry [18:03:01.043] result() for ClusterFuture ... [18:03:01.043] - result already collected: FutureResult [18:03:01.043] result() for ClusterFuture ... done [18:03:01.043] receiveMessageFromWorker() for ClusterFuture ... done [18:03:01.044] Future #1 [18:03:01.044] length: 2 (resolved future 1) [18:03:01.044] run() for 'Future' ... [18:03:01.044] - state: 'created' [18:03:01.044] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:01.059] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:01.059] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:01.059] - Field: 'node' [18:03:01.059] - Field: 'label' [18:03:01.059] - Field: 'local' [18:03:01.060] - Field: 'owner' [18:03:01.060] - Field: 'envir' [18:03:01.060] - Field: 'workers' [18:03:01.060] - Field: 'packages' [18:03:01.061] - Field: 'gc' [18:03:01.061] - Field: 'conditions' [18:03:01.061] - Field: 'persistent' [18:03:01.061] - Field: 'expr' [18:03:01.061] - Field: 'uuid' [18:03:01.061] - Field: 'seed' [18:03:01.062] - Field: 'version' [18:03:01.062] - Field: 'result' [18:03:01.062] - Field: 'asynchronous' [18:03:01.062] - Field: 'calls' [18:03:01.062] - Field: 'globals' [18:03:01.063] - Field: 'stdout' [18:03:01.063] - Field: 'earlySignal' [18:03:01.063] - Field: 'lazy' [18:03:01.063] - Field: 'state' [18:03:01.063] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:01.063] - Launch lazy future ... [18:03:01.064] Packages needed by the future expression (n = 0): [18:03:01.064] Packages needed by future strategies (n = 0): [18:03:01.065] { [18:03:01.065] { [18:03:01.065] { [18:03:01.065] ...future.startTime <- base::Sys.time() [18:03:01.065] { [18:03:01.065] { [18:03:01.065] { [18:03:01.065] { [18:03:01.065] base::local({ [18:03:01.065] has_future <- base::requireNamespace("future", [18:03:01.065] quietly = TRUE) [18:03:01.065] if (has_future) { [18:03:01.065] ns <- base::getNamespace("future") [18:03:01.065] version <- ns[[".package"]][["version"]] [18:03:01.065] if (is.null(version)) [18:03:01.065] version <- utils::packageVersion("future") [18:03:01.065] } [18:03:01.065] else { [18:03:01.065] version <- NULL [18:03:01.065] } [18:03:01.065] if (!has_future || version < "1.8.0") { [18:03:01.065] info <- base::c(r_version = base::gsub("R version ", [18:03:01.065] "", base::R.version$version.string), [18:03:01.065] platform = base::sprintf("%s (%s-bit)", [18:03:01.065] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:01.065] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:01.065] "release", "version")], collapse = " "), [18:03:01.065] hostname = base::Sys.info()[["nodename"]]) [18:03:01.065] info <- base::sprintf("%s: %s", base::names(info), [18:03:01.065] info) [18:03:01.065] info <- base::paste(info, collapse = "; ") [18:03:01.065] if (!has_future) { [18:03:01.065] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:01.065] info) [18:03:01.065] } [18:03:01.065] else { [18:03:01.065] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:01.065] info, version) [18:03:01.065] } [18:03:01.065] base::stop(msg) [18:03:01.065] } [18:03:01.065] }) [18:03:01.065] } [18:03:01.065] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:01.065] base::options(mc.cores = 1L) [18:03:01.065] } [18:03:01.065] options(future.plan = NULL) [18:03:01.065] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.065] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:01.065] } [18:03:01.065] ...future.workdir <- getwd() [18:03:01.065] } [18:03:01.065] ...future.oldOptions <- base::as.list(base::.Options) [18:03:01.065] ...future.oldEnvVars <- base::Sys.getenv() [18:03:01.065] } [18:03:01.065] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:01.065] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:01.065] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:01.065] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:01.065] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:01.065] future.stdout.windows.reencode = NULL, width = 80L) [18:03:01.065] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:01.065] base::names(...future.oldOptions)) [18:03:01.065] } [18:03:01.065] if (FALSE) { [18:03:01.065] } [18:03:01.065] else { [18:03:01.065] if (TRUE) { [18:03:01.065] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:01.065] open = "w") [18:03:01.065] } [18:03:01.065] else { [18:03:01.065] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:01.065] windows = "NUL", "/dev/null"), open = "w") [18:03:01.065] } [18:03:01.065] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:01.065] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:01.065] base::sink(type = "output", split = FALSE) [18:03:01.065] base::close(...future.stdout) [18:03:01.065] }, add = TRUE) [18:03:01.065] } [18:03:01.065] ...future.frame <- base::sys.nframe() [18:03:01.065] ...future.conditions <- base::list() [18:03:01.065] ...future.rng <- base::globalenv()$.Random.seed [18:03:01.065] if (FALSE) { [18:03:01.065] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:01.065] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:01.065] } [18:03:01.065] ...future.result <- base::tryCatch({ [18:03:01.065] base::withCallingHandlers({ [18:03:01.065] ...future.value <- base::withVisible(base::local({ [18:03:01.065] ...future.makeSendCondition <- local({ [18:03:01.065] sendCondition <- NULL [18:03:01.065] function(frame = 1L) { [18:03:01.065] if (is.function(sendCondition)) [18:03:01.065] return(sendCondition) [18:03:01.065] ns <- getNamespace("parallel") [18:03:01.065] if (exists("sendData", mode = "function", [18:03:01.065] envir = ns)) { [18:03:01.065] parallel_sendData <- get("sendData", mode = "function", [18:03:01.065] envir = ns) [18:03:01.065] envir <- sys.frame(frame) [18:03:01.065] master <- NULL [18:03:01.065] while (!identical(envir, .GlobalEnv) && [18:03:01.065] !identical(envir, emptyenv())) { [18:03:01.065] if (exists("master", mode = "list", envir = envir, [18:03:01.065] inherits = FALSE)) { [18:03:01.065] master <- get("master", mode = "list", [18:03:01.065] envir = envir, inherits = FALSE) [18:03:01.065] if (inherits(master, c("SOCKnode", [18:03:01.065] "SOCK0node"))) { [18:03:01.065] sendCondition <<- function(cond) { [18:03:01.065] data <- list(type = "VALUE", value = cond, [18:03:01.065] success = TRUE) [18:03:01.065] parallel_sendData(master, data) [18:03:01.065] } [18:03:01.065] return(sendCondition) [18:03:01.065] } [18:03:01.065] } [18:03:01.065] frame <- frame + 1L [18:03:01.065] envir <- sys.frame(frame) [18:03:01.065] } [18:03:01.065] } [18:03:01.065] sendCondition <<- function(cond) NULL [18:03:01.065] } [18:03:01.065] }) [18:03:01.065] withCallingHandlers({ [18:03:01.065] 2 [18:03:01.065] }, immediateCondition = function(cond) { [18:03:01.065] sendCondition <- ...future.makeSendCondition() [18:03:01.065] sendCondition(cond) [18:03:01.065] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.065] { [18:03:01.065] inherits <- base::inherits [18:03:01.065] invokeRestart <- base::invokeRestart [18:03:01.065] is.null <- base::is.null [18:03:01.065] muffled <- FALSE [18:03:01.065] if (inherits(cond, "message")) { [18:03:01.065] muffled <- grepl(pattern, "muffleMessage") [18:03:01.065] if (muffled) [18:03:01.065] invokeRestart("muffleMessage") [18:03:01.065] } [18:03:01.065] else if (inherits(cond, "warning")) { [18:03:01.065] muffled <- grepl(pattern, "muffleWarning") [18:03:01.065] if (muffled) [18:03:01.065] invokeRestart("muffleWarning") [18:03:01.065] } [18:03:01.065] else if (inherits(cond, "condition")) { [18:03:01.065] if (!is.null(pattern)) { [18:03:01.065] computeRestarts <- base::computeRestarts [18:03:01.065] grepl <- base::grepl [18:03:01.065] restarts <- computeRestarts(cond) [18:03:01.065] for (restart in restarts) { [18:03:01.065] name <- restart$name [18:03:01.065] if (is.null(name)) [18:03:01.065] next [18:03:01.065] if (!grepl(pattern, name)) [18:03:01.065] next [18:03:01.065] invokeRestart(restart) [18:03:01.065] muffled <- TRUE [18:03:01.065] break [18:03:01.065] } [18:03:01.065] } [18:03:01.065] } [18:03:01.065] invisible(muffled) [18:03:01.065] } [18:03:01.065] muffleCondition(cond) [18:03:01.065] }) [18:03:01.065] })) [18:03:01.065] future::FutureResult(value = ...future.value$value, [18:03:01.065] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.065] ...future.rng), globalenv = if (FALSE) [18:03:01.065] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:01.065] ...future.globalenv.names)) [18:03:01.065] else NULL, started = ...future.startTime, version = "1.8") [18:03:01.065] }, condition = base::local({ [18:03:01.065] c <- base::c [18:03:01.065] inherits <- base::inherits [18:03:01.065] invokeRestart <- base::invokeRestart [18:03:01.065] length <- base::length [18:03:01.065] list <- base::list [18:03:01.065] seq.int <- base::seq.int [18:03:01.065] signalCondition <- base::signalCondition [18:03:01.065] sys.calls <- base::sys.calls [18:03:01.065] `[[` <- base::`[[` [18:03:01.065] `+` <- base::`+` [18:03:01.065] `<<-` <- base::`<<-` [18:03:01.065] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:01.065] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:01.065] 3L)] [18:03:01.065] } [18:03:01.065] function(cond) { [18:03:01.065] is_error <- inherits(cond, "error") [18:03:01.065] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:01.065] NULL) [18:03:01.065] if (is_error) { [18:03:01.065] sessionInformation <- function() { [18:03:01.065] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:01.065] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:01.065] search = base::search(), system = base::Sys.info()) [18:03:01.065] } [18:03:01.065] ...future.conditions[[length(...future.conditions) + [18:03:01.065] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:01.065] cond$call), session = sessionInformation(), [18:03:01.065] timestamp = base::Sys.time(), signaled = 0L) [18:03:01.065] signalCondition(cond) [18:03:01.065] } [18:03:01.065] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:01.065] "immediateCondition"))) { [18:03:01.065] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:01.065] ...future.conditions[[length(...future.conditions) + [18:03:01.065] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:01.065] if (TRUE && !signal) { [18:03:01.065] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.065] { [18:03:01.065] inherits <- base::inherits [18:03:01.065] invokeRestart <- base::invokeRestart [18:03:01.065] is.null <- base::is.null [18:03:01.065] muffled <- FALSE [18:03:01.065] if (inherits(cond, "message")) { [18:03:01.065] muffled <- grepl(pattern, "muffleMessage") [18:03:01.065] if (muffled) [18:03:01.065] invokeRestart("muffleMessage") [18:03:01.065] } [18:03:01.065] else if (inherits(cond, "warning")) { [18:03:01.065] muffled <- grepl(pattern, "muffleWarning") [18:03:01.065] if (muffled) [18:03:01.065] invokeRestart("muffleWarning") [18:03:01.065] } [18:03:01.065] else if (inherits(cond, "condition")) { [18:03:01.065] if (!is.null(pattern)) { [18:03:01.065] computeRestarts <- base::computeRestarts [18:03:01.065] grepl <- base::grepl [18:03:01.065] restarts <- computeRestarts(cond) [18:03:01.065] for (restart in restarts) { [18:03:01.065] name <- restart$name [18:03:01.065] if (is.null(name)) [18:03:01.065] next [18:03:01.065] if (!grepl(pattern, name)) [18:03:01.065] next [18:03:01.065] invokeRestart(restart) [18:03:01.065] muffled <- TRUE [18:03:01.065] break [18:03:01.065] } [18:03:01.065] } [18:03:01.065] } [18:03:01.065] invisible(muffled) [18:03:01.065] } [18:03:01.065] muffleCondition(cond, pattern = "^muffle") [18:03:01.065] } [18:03:01.065] } [18:03:01.065] else { [18:03:01.065] if (TRUE) { [18:03:01.065] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.065] { [18:03:01.065] inherits <- base::inherits [18:03:01.065] invokeRestart <- base::invokeRestart [18:03:01.065] is.null <- base::is.null [18:03:01.065] muffled <- FALSE [18:03:01.065] if (inherits(cond, "message")) { [18:03:01.065] muffled <- grepl(pattern, "muffleMessage") [18:03:01.065] if (muffled) [18:03:01.065] invokeRestart("muffleMessage") [18:03:01.065] } [18:03:01.065] else if (inherits(cond, "warning")) { [18:03:01.065] muffled <- grepl(pattern, "muffleWarning") [18:03:01.065] if (muffled) [18:03:01.065] invokeRestart("muffleWarning") [18:03:01.065] } [18:03:01.065] else if (inherits(cond, "condition")) { [18:03:01.065] if (!is.null(pattern)) { [18:03:01.065] computeRestarts <- base::computeRestarts [18:03:01.065] grepl <- base::grepl [18:03:01.065] restarts <- computeRestarts(cond) [18:03:01.065] for (restart in restarts) { [18:03:01.065] name <- restart$name [18:03:01.065] if (is.null(name)) [18:03:01.065] next [18:03:01.065] if (!grepl(pattern, name)) [18:03:01.065] next [18:03:01.065] invokeRestart(restart) [18:03:01.065] muffled <- TRUE [18:03:01.065] break [18:03:01.065] } [18:03:01.065] } [18:03:01.065] } [18:03:01.065] invisible(muffled) [18:03:01.065] } [18:03:01.065] muffleCondition(cond, pattern = "^muffle") [18:03:01.065] } [18:03:01.065] } [18:03:01.065] } [18:03:01.065] })) [18:03:01.065] }, error = function(ex) { [18:03:01.065] base::structure(base::list(value = NULL, visible = NULL, [18:03:01.065] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.065] ...future.rng), started = ...future.startTime, [18:03:01.065] finished = Sys.time(), session_uuid = NA_character_, [18:03:01.065] version = "1.8"), class = "FutureResult") [18:03:01.065] }, finally = { [18:03:01.065] if (!identical(...future.workdir, getwd())) [18:03:01.065] setwd(...future.workdir) [18:03:01.065] { [18:03:01.065] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:01.065] ...future.oldOptions$nwarnings <- NULL [18:03:01.065] } [18:03:01.065] base::options(...future.oldOptions) [18:03:01.065] if (.Platform$OS.type == "windows") { [18:03:01.065] old_names <- names(...future.oldEnvVars) [18:03:01.065] envs <- base::Sys.getenv() [18:03:01.065] names <- names(envs) [18:03:01.065] common <- intersect(names, old_names) [18:03:01.065] added <- setdiff(names, old_names) [18:03:01.065] removed <- setdiff(old_names, names) [18:03:01.065] changed <- common[...future.oldEnvVars[common] != [18:03:01.065] envs[common]] [18:03:01.065] NAMES <- toupper(changed) [18:03:01.065] args <- list() [18:03:01.065] for (kk in seq_along(NAMES)) { [18:03:01.065] name <- changed[[kk]] [18:03:01.065] NAME <- NAMES[[kk]] [18:03:01.065] if (name != NAME && is.element(NAME, old_names)) [18:03:01.065] next [18:03:01.065] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.065] } [18:03:01.065] NAMES <- toupper(added) [18:03:01.065] for (kk in seq_along(NAMES)) { [18:03:01.065] name <- added[[kk]] [18:03:01.065] NAME <- NAMES[[kk]] [18:03:01.065] if (name != NAME && is.element(NAME, old_names)) [18:03:01.065] next [18:03:01.065] args[[name]] <- "" [18:03:01.065] } [18:03:01.065] NAMES <- toupper(removed) [18:03:01.065] for (kk in seq_along(NAMES)) { [18:03:01.065] name <- removed[[kk]] [18:03:01.065] NAME <- NAMES[[kk]] [18:03:01.065] if (name != NAME && is.element(NAME, old_names)) [18:03:01.065] next [18:03:01.065] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.065] } [18:03:01.065] if (length(args) > 0) [18:03:01.065] base::do.call(base::Sys.setenv, args = args) [18:03:01.065] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:01.065] } [18:03:01.065] else { [18:03:01.065] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:01.065] } [18:03:01.065] { [18:03:01.065] if (base::length(...future.futureOptionsAdded) > [18:03:01.065] 0L) { [18:03:01.065] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:01.065] base::names(opts) <- ...future.futureOptionsAdded [18:03:01.065] base::options(opts) [18:03:01.065] } [18:03:01.065] { [18:03:01.065] { [18:03:01.065] base::options(mc.cores = ...future.mc.cores.old) [18:03:01.065] NULL [18:03:01.065] } [18:03:01.065] options(future.plan = NULL) [18:03:01.065] if (is.na(NA_character_)) [18:03:01.065] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.065] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:01.065] future::plan(list(function (..., workers = availableCores(), [18:03:01.065] lazy = FALSE, rscript_libs = .libPaths(), [18:03:01.065] envir = parent.frame()) [18:03:01.065] { [18:03:01.065] if (is.function(workers)) [18:03:01.065] workers <- workers() [18:03:01.065] workers <- structure(as.integer(workers), [18:03:01.065] class = class(workers)) [18:03:01.065] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:01.065] workers >= 1) [18:03:01.065] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:01.065] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:01.065] } [18:03:01.065] future <- MultisessionFuture(..., workers = workers, [18:03:01.065] lazy = lazy, rscript_libs = rscript_libs, [18:03:01.065] envir = envir) [18:03:01.065] if (!future$lazy) [18:03:01.065] future <- run(future) [18:03:01.065] invisible(future) [18:03:01.065] }), .cleanup = FALSE, .init = FALSE) [18:03:01.065] } [18:03:01.065] } [18:03:01.065] } [18:03:01.065] }) [18:03:01.065] if (TRUE) { [18:03:01.065] base::sink(type = "output", split = FALSE) [18:03:01.065] if (TRUE) { [18:03:01.065] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:01.065] } [18:03:01.065] else { [18:03:01.065] ...future.result["stdout"] <- base::list(NULL) [18:03:01.065] } [18:03:01.065] base::close(...future.stdout) [18:03:01.065] ...future.stdout <- NULL [18:03:01.065] } [18:03:01.065] ...future.result$conditions <- ...future.conditions [18:03:01.065] ...future.result$finished <- base::Sys.time() [18:03:01.065] ...future.result [18:03:01.065] } [18:03:01.070] MultisessionFuture started [18:03:01.071] - Launch lazy future ... done [18:03:01.071] run() for 'MultisessionFuture' ... done [18:03:01.086] receiveMessageFromWorker() for ClusterFuture ... [18:03:01.086] - Validating connection of MultisessionFuture [18:03:01.086] - received message: FutureResult [18:03:01.087] - Received FutureResult [18:03:01.087] - Erased future from FutureRegistry [18:03:01.087] result() for ClusterFuture ... [18:03:01.087] - result already collected: FutureResult [18:03:01.087] result() for ClusterFuture ... done [18:03:01.088] receiveMessageFromWorker() for ClusterFuture ... done [18:03:01.088] Future #2 [18:03:01.088] length: 1 (resolved future 2) [18:03:01.088] length: 0 (resolved future 3) [18:03:01.088] resolve() on list ... DONE [18:03:01.088] getGlobalsAndPackages() ... [18:03:01.089] Searching for globals... [18:03:01.089] [18:03:01.089] Searching for globals ... DONE [18:03:01.089] - globals: [0] [18:03:01.089] getGlobalsAndPackages() ... DONE [18:03:01.090] run() for 'Future' ... [18:03:01.090] - state: 'created' [18:03:01.090] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:01.104] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:01.104] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:01.104] - Field: 'node' [18:03:01.104] - Field: 'label' [18:03:01.104] - Field: 'local' [18:03:01.105] - Field: 'owner' [18:03:01.105] - Field: 'envir' [18:03:01.105] - Field: 'workers' [18:03:01.105] - Field: 'packages' [18:03:01.105] - Field: 'gc' [18:03:01.105] - Field: 'conditions' [18:03:01.106] - Field: 'persistent' [18:03:01.106] - Field: 'expr' [18:03:01.106] - Field: 'uuid' [18:03:01.106] - Field: 'seed' [18:03:01.106] - Field: 'version' [18:03:01.107] - Field: 'result' [18:03:01.107] - Field: 'asynchronous' [18:03:01.107] - Field: 'calls' [18:03:01.107] - Field: 'globals' [18:03:01.107] - Field: 'stdout' [18:03:01.108] - Field: 'earlySignal' [18:03:01.108] - Field: 'lazy' [18:03:01.108] - Field: 'state' [18:03:01.108] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:01.108] - Launch lazy future ... [18:03:01.109] Packages needed by the future expression (n = 0): [18:03:01.109] Packages needed by future strategies (n = 0): [18:03:01.109] { [18:03:01.109] { [18:03:01.109] { [18:03:01.109] ...future.startTime <- base::Sys.time() [18:03:01.109] { [18:03:01.109] { [18:03:01.109] { [18:03:01.109] { [18:03:01.109] base::local({ [18:03:01.109] has_future <- base::requireNamespace("future", [18:03:01.109] quietly = TRUE) [18:03:01.109] if (has_future) { [18:03:01.109] ns <- base::getNamespace("future") [18:03:01.109] version <- ns[[".package"]][["version"]] [18:03:01.109] if (is.null(version)) [18:03:01.109] version <- utils::packageVersion("future") [18:03:01.109] } [18:03:01.109] else { [18:03:01.109] version <- NULL [18:03:01.109] } [18:03:01.109] if (!has_future || version < "1.8.0") { [18:03:01.109] info <- base::c(r_version = base::gsub("R version ", [18:03:01.109] "", base::R.version$version.string), [18:03:01.109] platform = base::sprintf("%s (%s-bit)", [18:03:01.109] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:01.109] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:01.109] "release", "version")], collapse = " "), [18:03:01.109] hostname = base::Sys.info()[["nodename"]]) [18:03:01.109] info <- base::sprintf("%s: %s", base::names(info), [18:03:01.109] info) [18:03:01.109] info <- base::paste(info, collapse = "; ") [18:03:01.109] if (!has_future) { [18:03:01.109] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:01.109] info) [18:03:01.109] } [18:03:01.109] else { [18:03:01.109] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:01.109] info, version) [18:03:01.109] } [18:03:01.109] base::stop(msg) [18:03:01.109] } [18:03:01.109] }) [18:03:01.109] } [18:03:01.109] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:01.109] base::options(mc.cores = 1L) [18:03:01.109] } [18:03:01.109] options(future.plan = NULL) [18:03:01.109] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.109] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:01.109] } [18:03:01.109] ...future.workdir <- getwd() [18:03:01.109] } [18:03:01.109] ...future.oldOptions <- base::as.list(base::.Options) [18:03:01.109] ...future.oldEnvVars <- base::Sys.getenv() [18:03:01.109] } [18:03:01.109] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:01.109] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:01.109] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:01.109] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:01.109] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:01.109] future.stdout.windows.reencode = NULL, width = 80L) [18:03:01.109] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:01.109] base::names(...future.oldOptions)) [18:03:01.109] } [18:03:01.109] if (FALSE) { [18:03:01.109] } [18:03:01.109] else { [18:03:01.109] if (TRUE) { [18:03:01.109] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:01.109] open = "w") [18:03:01.109] } [18:03:01.109] else { [18:03:01.109] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:01.109] windows = "NUL", "/dev/null"), open = "w") [18:03:01.109] } [18:03:01.109] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:01.109] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:01.109] base::sink(type = "output", split = FALSE) [18:03:01.109] base::close(...future.stdout) [18:03:01.109] }, add = TRUE) [18:03:01.109] } [18:03:01.109] ...future.frame <- base::sys.nframe() [18:03:01.109] ...future.conditions <- base::list() [18:03:01.109] ...future.rng <- base::globalenv()$.Random.seed [18:03:01.109] if (FALSE) { [18:03:01.109] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:01.109] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:01.109] } [18:03:01.109] ...future.result <- base::tryCatch({ [18:03:01.109] base::withCallingHandlers({ [18:03:01.109] ...future.value <- base::withVisible(base::local({ [18:03:01.109] ...future.makeSendCondition <- local({ [18:03:01.109] sendCondition <- NULL [18:03:01.109] function(frame = 1L) { [18:03:01.109] if (is.function(sendCondition)) [18:03:01.109] return(sendCondition) [18:03:01.109] ns <- getNamespace("parallel") [18:03:01.109] if (exists("sendData", mode = "function", [18:03:01.109] envir = ns)) { [18:03:01.109] parallel_sendData <- get("sendData", mode = "function", [18:03:01.109] envir = ns) [18:03:01.109] envir <- sys.frame(frame) [18:03:01.109] master <- NULL [18:03:01.109] while (!identical(envir, .GlobalEnv) && [18:03:01.109] !identical(envir, emptyenv())) { [18:03:01.109] if (exists("master", mode = "list", envir = envir, [18:03:01.109] inherits = FALSE)) { [18:03:01.109] master <- get("master", mode = "list", [18:03:01.109] envir = envir, inherits = FALSE) [18:03:01.109] if (inherits(master, c("SOCKnode", [18:03:01.109] "SOCK0node"))) { [18:03:01.109] sendCondition <<- function(cond) { [18:03:01.109] data <- list(type = "VALUE", value = cond, [18:03:01.109] success = TRUE) [18:03:01.109] parallel_sendData(master, data) [18:03:01.109] } [18:03:01.109] return(sendCondition) [18:03:01.109] } [18:03:01.109] } [18:03:01.109] frame <- frame + 1L [18:03:01.109] envir <- sys.frame(frame) [18:03:01.109] } [18:03:01.109] } [18:03:01.109] sendCondition <<- function(cond) NULL [18:03:01.109] } [18:03:01.109] }) [18:03:01.109] withCallingHandlers({ [18:03:01.109] 1 [18:03:01.109] }, immediateCondition = function(cond) { [18:03:01.109] sendCondition <- ...future.makeSendCondition() [18:03:01.109] sendCondition(cond) [18:03:01.109] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.109] { [18:03:01.109] inherits <- base::inherits [18:03:01.109] invokeRestart <- base::invokeRestart [18:03:01.109] is.null <- base::is.null [18:03:01.109] muffled <- FALSE [18:03:01.109] if (inherits(cond, "message")) { [18:03:01.109] muffled <- grepl(pattern, "muffleMessage") [18:03:01.109] if (muffled) [18:03:01.109] invokeRestart("muffleMessage") [18:03:01.109] } [18:03:01.109] else if (inherits(cond, "warning")) { [18:03:01.109] muffled <- grepl(pattern, "muffleWarning") [18:03:01.109] if (muffled) [18:03:01.109] invokeRestart("muffleWarning") [18:03:01.109] } [18:03:01.109] else if (inherits(cond, "condition")) { [18:03:01.109] if (!is.null(pattern)) { [18:03:01.109] computeRestarts <- base::computeRestarts [18:03:01.109] grepl <- base::grepl [18:03:01.109] restarts <- computeRestarts(cond) [18:03:01.109] for (restart in restarts) { [18:03:01.109] name <- restart$name [18:03:01.109] if (is.null(name)) [18:03:01.109] next [18:03:01.109] if (!grepl(pattern, name)) [18:03:01.109] next [18:03:01.109] invokeRestart(restart) [18:03:01.109] muffled <- TRUE [18:03:01.109] break [18:03:01.109] } [18:03:01.109] } [18:03:01.109] } [18:03:01.109] invisible(muffled) [18:03:01.109] } [18:03:01.109] muffleCondition(cond) [18:03:01.109] }) [18:03:01.109] })) [18:03:01.109] future::FutureResult(value = ...future.value$value, [18:03:01.109] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.109] ...future.rng), globalenv = if (FALSE) [18:03:01.109] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:01.109] ...future.globalenv.names)) [18:03:01.109] else NULL, started = ...future.startTime, version = "1.8") [18:03:01.109] }, condition = base::local({ [18:03:01.109] c <- base::c [18:03:01.109] inherits <- base::inherits [18:03:01.109] invokeRestart <- base::invokeRestart [18:03:01.109] length <- base::length [18:03:01.109] list <- base::list [18:03:01.109] seq.int <- base::seq.int [18:03:01.109] signalCondition <- base::signalCondition [18:03:01.109] sys.calls <- base::sys.calls [18:03:01.109] `[[` <- base::`[[` [18:03:01.109] `+` <- base::`+` [18:03:01.109] `<<-` <- base::`<<-` [18:03:01.109] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:01.109] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:01.109] 3L)] [18:03:01.109] } [18:03:01.109] function(cond) { [18:03:01.109] is_error <- inherits(cond, "error") [18:03:01.109] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:01.109] NULL) [18:03:01.109] if (is_error) { [18:03:01.109] sessionInformation <- function() { [18:03:01.109] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:01.109] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:01.109] search = base::search(), system = base::Sys.info()) [18:03:01.109] } [18:03:01.109] ...future.conditions[[length(...future.conditions) + [18:03:01.109] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:01.109] cond$call), session = sessionInformation(), [18:03:01.109] timestamp = base::Sys.time(), signaled = 0L) [18:03:01.109] signalCondition(cond) [18:03:01.109] } [18:03:01.109] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:01.109] "immediateCondition"))) { [18:03:01.109] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:01.109] ...future.conditions[[length(...future.conditions) + [18:03:01.109] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:01.109] if (TRUE && !signal) { [18:03:01.109] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.109] { [18:03:01.109] inherits <- base::inherits [18:03:01.109] invokeRestart <- base::invokeRestart [18:03:01.109] is.null <- base::is.null [18:03:01.109] muffled <- FALSE [18:03:01.109] if (inherits(cond, "message")) { [18:03:01.109] muffled <- grepl(pattern, "muffleMessage") [18:03:01.109] if (muffled) [18:03:01.109] invokeRestart("muffleMessage") [18:03:01.109] } [18:03:01.109] else if (inherits(cond, "warning")) { [18:03:01.109] muffled <- grepl(pattern, "muffleWarning") [18:03:01.109] if (muffled) [18:03:01.109] invokeRestart("muffleWarning") [18:03:01.109] } [18:03:01.109] else if (inherits(cond, "condition")) { [18:03:01.109] if (!is.null(pattern)) { [18:03:01.109] computeRestarts <- base::computeRestarts [18:03:01.109] grepl <- base::grepl [18:03:01.109] restarts <- computeRestarts(cond) [18:03:01.109] for (restart in restarts) { [18:03:01.109] name <- restart$name [18:03:01.109] if (is.null(name)) [18:03:01.109] next [18:03:01.109] if (!grepl(pattern, name)) [18:03:01.109] next [18:03:01.109] invokeRestart(restart) [18:03:01.109] muffled <- TRUE [18:03:01.109] break [18:03:01.109] } [18:03:01.109] } [18:03:01.109] } [18:03:01.109] invisible(muffled) [18:03:01.109] } [18:03:01.109] muffleCondition(cond, pattern = "^muffle") [18:03:01.109] } [18:03:01.109] } [18:03:01.109] else { [18:03:01.109] if (TRUE) { [18:03:01.109] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.109] { [18:03:01.109] inherits <- base::inherits [18:03:01.109] invokeRestart <- base::invokeRestart [18:03:01.109] is.null <- base::is.null [18:03:01.109] muffled <- FALSE [18:03:01.109] if (inherits(cond, "message")) { [18:03:01.109] muffled <- grepl(pattern, "muffleMessage") [18:03:01.109] if (muffled) [18:03:01.109] invokeRestart("muffleMessage") [18:03:01.109] } [18:03:01.109] else if (inherits(cond, "warning")) { [18:03:01.109] muffled <- grepl(pattern, "muffleWarning") [18:03:01.109] if (muffled) [18:03:01.109] invokeRestart("muffleWarning") [18:03:01.109] } [18:03:01.109] else if (inherits(cond, "condition")) { [18:03:01.109] if (!is.null(pattern)) { [18:03:01.109] computeRestarts <- base::computeRestarts [18:03:01.109] grepl <- base::grepl [18:03:01.109] restarts <- computeRestarts(cond) [18:03:01.109] for (restart in restarts) { [18:03:01.109] name <- restart$name [18:03:01.109] if (is.null(name)) [18:03:01.109] next [18:03:01.109] if (!grepl(pattern, name)) [18:03:01.109] next [18:03:01.109] invokeRestart(restart) [18:03:01.109] muffled <- TRUE [18:03:01.109] break [18:03:01.109] } [18:03:01.109] } [18:03:01.109] } [18:03:01.109] invisible(muffled) [18:03:01.109] } [18:03:01.109] muffleCondition(cond, pattern = "^muffle") [18:03:01.109] } [18:03:01.109] } [18:03:01.109] } [18:03:01.109] })) [18:03:01.109] }, error = function(ex) { [18:03:01.109] base::structure(base::list(value = NULL, visible = NULL, [18:03:01.109] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.109] ...future.rng), started = ...future.startTime, [18:03:01.109] finished = Sys.time(), session_uuid = NA_character_, [18:03:01.109] version = "1.8"), class = "FutureResult") [18:03:01.109] }, finally = { [18:03:01.109] if (!identical(...future.workdir, getwd())) [18:03:01.109] setwd(...future.workdir) [18:03:01.109] { [18:03:01.109] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:01.109] ...future.oldOptions$nwarnings <- NULL [18:03:01.109] } [18:03:01.109] base::options(...future.oldOptions) [18:03:01.109] if (.Platform$OS.type == "windows") { [18:03:01.109] old_names <- names(...future.oldEnvVars) [18:03:01.109] envs <- base::Sys.getenv() [18:03:01.109] names <- names(envs) [18:03:01.109] common <- intersect(names, old_names) [18:03:01.109] added <- setdiff(names, old_names) [18:03:01.109] removed <- setdiff(old_names, names) [18:03:01.109] changed <- common[...future.oldEnvVars[common] != [18:03:01.109] envs[common]] [18:03:01.109] NAMES <- toupper(changed) [18:03:01.109] args <- list() [18:03:01.109] for (kk in seq_along(NAMES)) { [18:03:01.109] name <- changed[[kk]] [18:03:01.109] NAME <- NAMES[[kk]] [18:03:01.109] if (name != NAME && is.element(NAME, old_names)) [18:03:01.109] next [18:03:01.109] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.109] } [18:03:01.109] NAMES <- toupper(added) [18:03:01.109] for (kk in seq_along(NAMES)) { [18:03:01.109] name <- added[[kk]] [18:03:01.109] NAME <- NAMES[[kk]] [18:03:01.109] if (name != NAME && is.element(NAME, old_names)) [18:03:01.109] next [18:03:01.109] args[[name]] <- "" [18:03:01.109] } [18:03:01.109] NAMES <- toupper(removed) [18:03:01.109] for (kk in seq_along(NAMES)) { [18:03:01.109] name <- removed[[kk]] [18:03:01.109] NAME <- NAMES[[kk]] [18:03:01.109] if (name != NAME && is.element(NAME, old_names)) [18:03:01.109] next [18:03:01.109] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.109] } [18:03:01.109] if (length(args) > 0) [18:03:01.109] base::do.call(base::Sys.setenv, args = args) [18:03:01.109] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:01.109] } [18:03:01.109] else { [18:03:01.109] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:01.109] } [18:03:01.109] { [18:03:01.109] if (base::length(...future.futureOptionsAdded) > [18:03:01.109] 0L) { [18:03:01.109] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:01.109] base::names(opts) <- ...future.futureOptionsAdded [18:03:01.109] base::options(opts) [18:03:01.109] } [18:03:01.109] { [18:03:01.109] { [18:03:01.109] base::options(mc.cores = ...future.mc.cores.old) [18:03:01.109] NULL [18:03:01.109] } [18:03:01.109] options(future.plan = NULL) [18:03:01.109] if (is.na(NA_character_)) [18:03:01.109] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.109] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:01.109] future::plan(list(function (..., workers = availableCores(), [18:03:01.109] lazy = FALSE, rscript_libs = .libPaths(), [18:03:01.109] envir = parent.frame()) [18:03:01.109] { [18:03:01.109] if (is.function(workers)) [18:03:01.109] workers <- workers() [18:03:01.109] workers <- structure(as.integer(workers), [18:03:01.109] class = class(workers)) [18:03:01.109] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:01.109] workers >= 1) [18:03:01.109] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:01.109] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:01.109] } [18:03:01.109] future <- MultisessionFuture(..., workers = workers, [18:03:01.109] lazy = lazy, rscript_libs = rscript_libs, [18:03:01.109] envir = envir) [18:03:01.109] if (!future$lazy) [18:03:01.109] future <- run(future) [18:03:01.109] invisible(future) [18:03:01.109] }), .cleanup = FALSE, .init = FALSE) [18:03:01.109] } [18:03:01.109] } [18:03:01.109] } [18:03:01.109] }) [18:03:01.109] if (TRUE) { [18:03:01.109] base::sink(type = "output", split = FALSE) [18:03:01.109] if (TRUE) { [18:03:01.109] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:01.109] } [18:03:01.109] else { [18:03:01.109] ...future.result["stdout"] <- base::list(NULL) [18:03:01.109] } [18:03:01.109] base::close(...future.stdout) [18:03:01.109] ...future.stdout <- NULL [18:03:01.109] } [18:03:01.109] ...future.result$conditions <- ...future.conditions [18:03:01.109] ...future.result$finished <- base::Sys.time() [18:03:01.109] ...future.result [18:03:01.109] } [18:03:01.115] MultisessionFuture started [18:03:01.115] - Launch lazy future ... done [18:03:01.116] run() for 'MultisessionFuture' ... done [18:03:01.116] getGlobalsAndPackages() ... [18:03:01.116] Searching for globals... [18:03:01.117] - globals found: [2] '{', 'Sys.sleep' [18:03:01.117] Searching for globals ... DONE [18:03:01.118] Resolving globals: FALSE [18:03:01.118] [18:03:01.118] [18:03:01.119] getGlobalsAndPackages() ... DONE [18:03:01.119] run() for 'Future' ... [18:03:01.119] - state: 'created' [18:03:01.119] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:01.133] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:01.133] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:01.133] - Field: 'node' [18:03:01.133] - Field: 'label' [18:03:01.134] - Field: 'local' [18:03:01.134] - Field: 'owner' [18:03:01.134] - Field: 'envir' [18:03:01.134] - Field: 'workers' [18:03:01.134] - Field: 'packages' [18:03:01.135] - Field: 'gc' [18:03:01.135] - Field: 'conditions' [18:03:01.135] - Field: 'persistent' [18:03:01.135] - Field: 'expr' [18:03:01.135] - Field: 'uuid' [18:03:01.135] - Field: 'seed' [18:03:01.136] - Field: 'version' [18:03:01.136] - Field: 'result' [18:03:01.136] - Field: 'asynchronous' [18:03:01.136] - Field: 'calls' [18:03:01.136] - Field: 'globals' [18:03:01.137] - Field: 'stdout' [18:03:01.137] - Field: 'earlySignal' [18:03:01.137] - Field: 'lazy' [18:03:01.137] - Field: 'state' [18:03:01.137] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:01.137] - Launch lazy future ... [18:03:01.138] Packages needed by the future expression (n = 0): [18:03:01.138] Packages needed by future strategies (n = 0): [18:03:01.139] { [18:03:01.139] { [18:03:01.139] { [18:03:01.139] ...future.startTime <- base::Sys.time() [18:03:01.139] { [18:03:01.139] { [18:03:01.139] { [18:03:01.139] { [18:03:01.139] base::local({ [18:03:01.139] has_future <- base::requireNamespace("future", [18:03:01.139] quietly = TRUE) [18:03:01.139] if (has_future) { [18:03:01.139] ns <- base::getNamespace("future") [18:03:01.139] version <- ns[[".package"]][["version"]] [18:03:01.139] if (is.null(version)) [18:03:01.139] version <- utils::packageVersion("future") [18:03:01.139] } [18:03:01.139] else { [18:03:01.139] version <- NULL [18:03:01.139] } [18:03:01.139] if (!has_future || version < "1.8.0") { [18:03:01.139] info <- base::c(r_version = base::gsub("R version ", [18:03:01.139] "", base::R.version$version.string), [18:03:01.139] platform = base::sprintf("%s (%s-bit)", [18:03:01.139] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:01.139] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:01.139] "release", "version")], collapse = " "), [18:03:01.139] hostname = base::Sys.info()[["nodename"]]) [18:03:01.139] info <- base::sprintf("%s: %s", base::names(info), [18:03:01.139] info) [18:03:01.139] info <- base::paste(info, collapse = "; ") [18:03:01.139] if (!has_future) { [18:03:01.139] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:01.139] info) [18:03:01.139] } [18:03:01.139] else { [18:03:01.139] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:01.139] info, version) [18:03:01.139] } [18:03:01.139] base::stop(msg) [18:03:01.139] } [18:03:01.139] }) [18:03:01.139] } [18:03:01.139] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:01.139] base::options(mc.cores = 1L) [18:03:01.139] } [18:03:01.139] options(future.plan = NULL) [18:03:01.139] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.139] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:01.139] } [18:03:01.139] ...future.workdir <- getwd() [18:03:01.139] } [18:03:01.139] ...future.oldOptions <- base::as.list(base::.Options) [18:03:01.139] ...future.oldEnvVars <- base::Sys.getenv() [18:03:01.139] } [18:03:01.139] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:01.139] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:01.139] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:01.139] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:01.139] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:01.139] future.stdout.windows.reencode = NULL, width = 80L) [18:03:01.139] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:01.139] base::names(...future.oldOptions)) [18:03:01.139] } [18:03:01.139] if (FALSE) { [18:03:01.139] } [18:03:01.139] else { [18:03:01.139] if (TRUE) { [18:03:01.139] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:01.139] open = "w") [18:03:01.139] } [18:03:01.139] else { [18:03:01.139] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:01.139] windows = "NUL", "/dev/null"), open = "w") [18:03:01.139] } [18:03:01.139] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:01.139] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:01.139] base::sink(type = "output", split = FALSE) [18:03:01.139] base::close(...future.stdout) [18:03:01.139] }, add = TRUE) [18:03:01.139] } [18:03:01.139] ...future.frame <- base::sys.nframe() [18:03:01.139] ...future.conditions <- base::list() [18:03:01.139] ...future.rng <- base::globalenv()$.Random.seed [18:03:01.139] if (FALSE) { [18:03:01.139] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:01.139] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:01.139] } [18:03:01.139] ...future.result <- base::tryCatch({ [18:03:01.139] base::withCallingHandlers({ [18:03:01.139] ...future.value <- base::withVisible(base::local({ [18:03:01.139] ...future.makeSendCondition <- local({ [18:03:01.139] sendCondition <- NULL [18:03:01.139] function(frame = 1L) { [18:03:01.139] if (is.function(sendCondition)) [18:03:01.139] return(sendCondition) [18:03:01.139] ns <- getNamespace("parallel") [18:03:01.139] if (exists("sendData", mode = "function", [18:03:01.139] envir = ns)) { [18:03:01.139] parallel_sendData <- get("sendData", mode = "function", [18:03:01.139] envir = ns) [18:03:01.139] envir <- sys.frame(frame) [18:03:01.139] master <- NULL [18:03:01.139] while (!identical(envir, .GlobalEnv) && [18:03:01.139] !identical(envir, emptyenv())) { [18:03:01.139] if (exists("master", mode = "list", envir = envir, [18:03:01.139] inherits = FALSE)) { [18:03:01.139] master <- get("master", mode = "list", [18:03:01.139] envir = envir, inherits = FALSE) [18:03:01.139] if (inherits(master, c("SOCKnode", [18:03:01.139] "SOCK0node"))) { [18:03:01.139] sendCondition <<- function(cond) { [18:03:01.139] data <- list(type = "VALUE", value = cond, [18:03:01.139] success = TRUE) [18:03:01.139] parallel_sendData(master, data) [18:03:01.139] } [18:03:01.139] return(sendCondition) [18:03:01.139] } [18:03:01.139] } [18:03:01.139] frame <- frame + 1L [18:03:01.139] envir <- sys.frame(frame) [18:03:01.139] } [18:03:01.139] } [18:03:01.139] sendCondition <<- function(cond) NULL [18:03:01.139] } [18:03:01.139] }) [18:03:01.139] withCallingHandlers({ [18:03:01.139] { [18:03:01.139] Sys.sleep(0.5) [18:03:01.139] 2 [18:03:01.139] } [18:03:01.139] }, immediateCondition = function(cond) { [18:03:01.139] sendCondition <- ...future.makeSendCondition() [18:03:01.139] sendCondition(cond) [18:03:01.139] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.139] { [18:03:01.139] inherits <- base::inherits [18:03:01.139] invokeRestart <- base::invokeRestart [18:03:01.139] is.null <- base::is.null [18:03:01.139] muffled <- FALSE [18:03:01.139] if (inherits(cond, "message")) { [18:03:01.139] muffled <- grepl(pattern, "muffleMessage") [18:03:01.139] if (muffled) [18:03:01.139] invokeRestart("muffleMessage") [18:03:01.139] } [18:03:01.139] else if (inherits(cond, "warning")) { [18:03:01.139] muffled <- grepl(pattern, "muffleWarning") [18:03:01.139] if (muffled) [18:03:01.139] invokeRestart("muffleWarning") [18:03:01.139] } [18:03:01.139] else if (inherits(cond, "condition")) { [18:03:01.139] if (!is.null(pattern)) { [18:03:01.139] computeRestarts <- base::computeRestarts [18:03:01.139] grepl <- base::grepl [18:03:01.139] restarts <- computeRestarts(cond) [18:03:01.139] for (restart in restarts) { [18:03:01.139] name <- restart$name [18:03:01.139] if (is.null(name)) [18:03:01.139] next [18:03:01.139] if (!grepl(pattern, name)) [18:03:01.139] next [18:03:01.139] invokeRestart(restart) [18:03:01.139] muffled <- TRUE [18:03:01.139] break [18:03:01.139] } [18:03:01.139] } [18:03:01.139] } [18:03:01.139] invisible(muffled) [18:03:01.139] } [18:03:01.139] muffleCondition(cond) [18:03:01.139] }) [18:03:01.139] })) [18:03:01.139] future::FutureResult(value = ...future.value$value, [18:03:01.139] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.139] ...future.rng), globalenv = if (FALSE) [18:03:01.139] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:01.139] ...future.globalenv.names)) [18:03:01.139] else NULL, started = ...future.startTime, version = "1.8") [18:03:01.139] }, condition = base::local({ [18:03:01.139] c <- base::c [18:03:01.139] inherits <- base::inherits [18:03:01.139] invokeRestart <- base::invokeRestart [18:03:01.139] length <- base::length [18:03:01.139] list <- base::list [18:03:01.139] seq.int <- base::seq.int [18:03:01.139] signalCondition <- base::signalCondition [18:03:01.139] sys.calls <- base::sys.calls [18:03:01.139] `[[` <- base::`[[` [18:03:01.139] `+` <- base::`+` [18:03:01.139] `<<-` <- base::`<<-` [18:03:01.139] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:01.139] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:01.139] 3L)] [18:03:01.139] } [18:03:01.139] function(cond) { [18:03:01.139] is_error <- inherits(cond, "error") [18:03:01.139] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:01.139] NULL) [18:03:01.139] if (is_error) { [18:03:01.139] sessionInformation <- function() { [18:03:01.139] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:01.139] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:01.139] search = base::search(), system = base::Sys.info()) [18:03:01.139] } [18:03:01.139] ...future.conditions[[length(...future.conditions) + [18:03:01.139] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:01.139] cond$call), session = sessionInformation(), [18:03:01.139] timestamp = base::Sys.time(), signaled = 0L) [18:03:01.139] signalCondition(cond) [18:03:01.139] } [18:03:01.139] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:01.139] "immediateCondition"))) { [18:03:01.139] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:01.139] ...future.conditions[[length(...future.conditions) + [18:03:01.139] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:01.139] if (TRUE && !signal) { [18:03:01.139] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.139] { [18:03:01.139] inherits <- base::inherits [18:03:01.139] invokeRestart <- base::invokeRestart [18:03:01.139] is.null <- base::is.null [18:03:01.139] muffled <- FALSE [18:03:01.139] if (inherits(cond, "message")) { [18:03:01.139] muffled <- grepl(pattern, "muffleMessage") [18:03:01.139] if (muffled) [18:03:01.139] invokeRestart("muffleMessage") [18:03:01.139] } [18:03:01.139] else if (inherits(cond, "warning")) { [18:03:01.139] muffled <- grepl(pattern, "muffleWarning") [18:03:01.139] if (muffled) [18:03:01.139] invokeRestart("muffleWarning") [18:03:01.139] } [18:03:01.139] else if (inherits(cond, "condition")) { [18:03:01.139] if (!is.null(pattern)) { [18:03:01.139] computeRestarts <- base::computeRestarts [18:03:01.139] grepl <- base::grepl [18:03:01.139] restarts <- computeRestarts(cond) [18:03:01.139] for (restart in restarts) { [18:03:01.139] name <- restart$name [18:03:01.139] if (is.null(name)) [18:03:01.139] next [18:03:01.139] if (!grepl(pattern, name)) [18:03:01.139] next [18:03:01.139] invokeRestart(restart) [18:03:01.139] muffled <- TRUE [18:03:01.139] break [18:03:01.139] } [18:03:01.139] } [18:03:01.139] } [18:03:01.139] invisible(muffled) [18:03:01.139] } [18:03:01.139] muffleCondition(cond, pattern = "^muffle") [18:03:01.139] } [18:03:01.139] } [18:03:01.139] else { [18:03:01.139] if (TRUE) { [18:03:01.139] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.139] { [18:03:01.139] inherits <- base::inherits [18:03:01.139] invokeRestart <- base::invokeRestart [18:03:01.139] is.null <- base::is.null [18:03:01.139] muffled <- FALSE [18:03:01.139] if (inherits(cond, "message")) { [18:03:01.139] muffled <- grepl(pattern, "muffleMessage") [18:03:01.139] if (muffled) [18:03:01.139] invokeRestart("muffleMessage") [18:03:01.139] } [18:03:01.139] else if (inherits(cond, "warning")) { [18:03:01.139] muffled <- grepl(pattern, "muffleWarning") [18:03:01.139] if (muffled) [18:03:01.139] invokeRestart("muffleWarning") [18:03:01.139] } [18:03:01.139] else if (inherits(cond, "condition")) { [18:03:01.139] if (!is.null(pattern)) { [18:03:01.139] computeRestarts <- base::computeRestarts [18:03:01.139] grepl <- base::grepl [18:03:01.139] restarts <- computeRestarts(cond) [18:03:01.139] for (restart in restarts) { [18:03:01.139] name <- restart$name [18:03:01.139] if (is.null(name)) [18:03:01.139] next [18:03:01.139] if (!grepl(pattern, name)) [18:03:01.139] next [18:03:01.139] invokeRestart(restart) [18:03:01.139] muffled <- TRUE [18:03:01.139] break [18:03:01.139] } [18:03:01.139] } [18:03:01.139] } [18:03:01.139] invisible(muffled) [18:03:01.139] } [18:03:01.139] muffleCondition(cond, pattern = "^muffle") [18:03:01.139] } [18:03:01.139] } [18:03:01.139] } [18:03:01.139] })) [18:03:01.139] }, error = function(ex) { [18:03:01.139] base::structure(base::list(value = NULL, visible = NULL, [18:03:01.139] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.139] ...future.rng), started = ...future.startTime, [18:03:01.139] finished = Sys.time(), session_uuid = NA_character_, [18:03:01.139] version = "1.8"), class = "FutureResult") [18:03:01.139] }, finally = { [18:03:01.139] if (!identical(...future.workdir, getwd())) [18:03:01.139] setwd(...future.workdir) [18:03:01.139] { [18:03:01.139] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:01.139] ...future.oldOptions$nwarnings <- NULL [18:03:01.139] } [18:03:01.139] base::options(...future.oldOptions) [18:03:01.139] if (.Platform$OS.type == "windows") { [18:03:01.139] old_names <- names(...future.oldEnvVars) [18:03:01.139] envs <- base::Sys.getenv() [18:03:01.139] names <- names(envs) [18:03:01.139] common <- intersect(names, old_names) [18:03:01.139] added <- setdiff(names, old_names) [18:03:01.139] removed <- setdiff(old_names, names) [18:03:01.139] changed <- common[...future.oldEnvVars[common] != [18:03:01.139] envs[common]] [18:03:01.139] NAMES <- toupper(changed) [18:03:01.139] args <- list() [18:03:01.139] for (kk in seq_along(NAMES)) { [18:03:01.139] name <- changed[[kk]] [18:03:01.139] NAME <- NAMES[[kk]] [18:03:01.139] if (name != NAME && is.element(NAME, old_names)) [18:03:01.139] next [18:03:01.139] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.139] } [18:03:01.139] NAMES <- toupper(added) [18:03:01.139] for (kk in seq_along(NAMES)) { [18:03:01.139] name <- added[[kk]] [18:03:01.139] NAME <- NAMES[[kk]] [18:03:01.139] if (name != NAME && is.element(NAME, old_names)) [18:03:01.139] next [18:03:01.139] args[[name]] <- "" [18:03:01.139] } [18:03:01.139] NAMES <- toupper(removed) [18:03:01.139] for (kk in seq_along(NAMES)) { [18:03:01.139] name <- removed[[kk]] [18:03:01.139] NAME <- NAMES[[kk]] [18:03:01.139] if (name != NAME && is.element(NAME, old_names)) [18:03:01.139] next [18:03:01.139] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.139] } [18:03:01.139] if (length(args) > 0) [18:03:01.139] base::do.call(base::Sys.setenv, args = args) [18:03:01.139] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:01.139] } [18:03:01.139] else { [18:03:01.139] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:01.139] } [18:03:01.139] { [18:03:01.139] if (base::length(...future.futureOptionsAdded) > [18:03:01.139] 0L) { [18:03:01.139] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:01.139] base::names(opts) <- ...future.futureOptionsAdded [18:03:01.139] base::options(opts) [18:03:01.139] } [18:03:01.139] { [18:03:01.139] { [18:03:01.139] base::options(mc.cores = ...future.mc.cores.old) [18:03:01.139] NULL [18:03:01.139] } [18:03:01.139] options(future.plan = NULL) [18:03:01.139] if (is.na(NA_character_)) [18:03:01.139] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.139] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:01.139] future::plan(list(function (..., workers = availableCores(), [18:03:01.139] lazy = FALSE, rscript_libs = .libPaths(), [18:03:01.139] envir = parent.frame()) [18:03:01.139] { [18:03:01.139] if (is.function(workers)) [18:03:01.139] workers <- workers() [18:03:01.139] workers <- structure(as.integer(workers), [18:03:01.139] class = class(workers)) [18:03:01.139] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:01.139] workers >= 1) [18:03:01.139] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:01.139] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:01.139] } [18:03:01.139] future <- MultisessionFuture(..., workers = workers, [18:03:01.139] lazy = lazy, rscript_libs = rscript_libs, [18:03:01.139] envir = envir) [18:03:01.139] if (!future$lazy) [18:03:01.139] future <- run(future) [18:03:01.139] invisible(future) [18:03:01.139] }), .cleanup = FALSE, .init = FALSE) [18:03:01.139] } [18:03:01.139] } [18:03:01.139] } [18:03:01.139] }) [18:03:01.139] if (TRUE) { [18:03:01.139] base::sink(type = "output", split = FALSE) [18:03:01.139] if (TRUE) { [18:03:01.139] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:01.139] } [18:03:01.139] else { [18:03:01.139] ...future.result["stdout"] <- base::list(NULL) [18:03:01.139] } [18:03:01.139] base::close(...future.stdout) [18:03:01.139] ...future.stdout <- NULL [18:03:01.139] } [18:03:01.139] ...future.result$conditions <- ...future.conditions [18:03:01.139] ...future.result$finished <- base::Sys.time() [18:03:01.139] ...future.result [18:03:01.139] } [18:03:01.144] MultisessionFuture started [18:03:01.145] - Launch lazy future ... done [18:03:01.145] run() for 'MultisessionFuture' ... done [18:03:01.145] resolve() on list ... [18:03:01.145] recursive: 0 [18:03:01.145] length: 1 [18:03:01.146] [18:03:01.146] receiveMessageFromWorker() for ClusterFuture ... [18:03:01.146] - Validating connection of MultisessionFuture [18:03:01.147] - received message: FutureResult [18:03:01.147] - Received FutureResult [18:03:01.147] - Erased future from FutureRegistry [18:03:01.147] result() for ClusterFuture ... [18:03:01.147] - result already collected: FutureResult [18:03:01.147] result() for ClusterFuture ... done [18:03:01.148] receiveMessageFromWorker() for ClusterFuture ... done [18:03:01.148] Future #1 [18:03:01.148] length: 0 (resolved future 1) [18:03:01.148] resolve() on list ... DONE [18:03:01.148] resolve() on list ... [18:03:01.149] recursive: 0 [18:03:01.149] length: 1 [18:03:01.149] [18:03:01.670] receiveMessageFromWorker() for ClusterFuture ... [18:03:01.670] - Validating connection of MultisessionFuture [18:03:01.670] - received message: FutureResult [18:03:01.670] - Received FutureResult [18:03:01.671] - Erased future from FutureRegistry [18:03:01.671] result() for ClusterFuture ... [18:03:01.671] - result already collected: FutureResult [18:03:01.671] result() for ClusterFuture ... done [18:03:01.671] receiveMessageFromWorker() for ClusterFuture ... done [18:03:01.671] Future #1 [18:03:01.672] length: 0 (resolved future 1) [18:03:01.672] resolve() on list ... DONE [18:03:01.672] resolve() on list ... [18:03:01.672] recursive: 0 [18:03:01.672] length: 1 [18:03:01.672] [18:03:01.673] length: 0 (resolved future 1) [18:03:01.673] resolve() on list ... DONE [18:03:01.673] resolve() on list ... [18:03:01.673] recursive: 0 [18:03:01.673] length: 4 [18:03:01.674] [18:03:01.674] Future #1 [18:03:01.674] length: 3 (resolved future 1) [18:03:01.674] Future #2 [18:03:01.674] length: 2 (resolved future 2) [18:03:01.674] length: 1 (resolved future 3) [18:03:01.675] length: 0 (resolved future 4) [18:03:01.675] resolve() on list ... DONE [18:03:01.675] resolve() on list ... [18:03:01.675] recursive: 0 [18:03:01.675] length: 4 [18:03:01.676] [18:03:01.676] Future #1 [18:03:01.676] length: 3 (resolved future 1) [18:03:01.676] Future #2 [18:03:01.676] length: 2 (resolved future 2) [18:03:01.676] length: 1 (resolved future 3) [18:03:01.677] length: 0 (resolved future 4) [18:03:01.677] resolve() on list ... DONE [18:03:01.677] resolve() on list ... [18:03:01.677] recursive: 0 [18:03:01.677] length: 1 [18:03:01.678] [18:03:01.678] length: 0 (resolved future 1) [18:03:01.678] resolve() on list ... DONE [18:03:01.678] getGlobalsAndPackages() ... [18:03:01.678] Searching for globals... [18:03:01.680] - globals found: [3] '{', 'Sys.sleep', 'kk' [18:03:01.680] Searching for globals ... DONE [18:03:01.680] Resolving globals: FALSE [18:03:01.681] The total size of the 1 globals is 56 bytes (56 bytes) [18:03:01.681] The total size of the 1 globals exported for future expression ('{; Sys.sleep(0.1); kk; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'kk' (56 bytes of class 'numeric') [18:03:01.681] - globals: [1] 'kk' [18:03:01.681] [18:03:01.682] getGlobalsAndPackages() ... DONE [18:03:01.682] run() for 'Future' ... [18:03:01.682] - state: 'created' [18:03:01.682] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:01.696] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:01.696] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:01.696] - Field: 'node' [18:03:01.696] - Field: 'label' [18:03:01.697] - Field: 'local' [18:03:01.697] - Field: 'owner' [18:03:01.697] - Field: 'envir' [18:03:01.697] - Field: 'workers' [18:03:01.697] - Field: 'packages' [18:03:01.698] - Field: 'gc' [18:03:01.698] - Field: 'conditions' [18:03:01.698] - Field: 'persistent' [18:03:01.698] - Field: 'expr' [18:03:01.698] - Field: 'uuid' [18:03:01.698] - Field: 'seed' [18:03:01.699] - Field: 'version' [18:03:01.699] - Field: 'result' [18:03:01.699] - Field: 'asynchronous' [18:03:01.699] - Field: 'calls' [18:03:01.699] - Field: 'globals' [18:03:01.699] - Field: 'stdout' [18:03:01.700] - Field: 'earlySignal' [18:03:01.700] - Field: 'lazy' [18:03:01.700] - Field: 'state' [18:03:01.700] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:01.700] - Launch lazy future ... [18:03:01.701] Packages needed by the future expression (n = 0): [18:03:01.701] Packages needed by future strategies (n = 0): [18:03:01.702] { [18:03:01.702] { [18:03:01.702] { [18:03:01.702] ...future.startTime <- base::Sys.time() [18:03:01.702] { [18:03:01.702] { [18:03:01.702] { [18:03:01.702] { [18:03:01.702] base::local({ [18:03:01.702] has_future <- base::requireNamespace("future", [18:03:01.702] quietly = TRUE) [18:03:01.702] if (has_future) { [18:03:01.702] ns <- base::getNamespace("future") [18:03:01.702] version <- ns[[".package"]][["version"]] [18:03:01.702] if (is.null(version)) [18:03:01.702] version <- utils::packageVersion("future") [18:03:01.702] } [18:03:01.702] else { [18:03:01.702] version <- NULL [18:03:01.702] } [18:03:01.702] if (!has_future || version < "1.8.0") { [18:03:01.702] info <- base::c(r_version = base::gsub("R version ", [18:03:01.702] "", base::R.version$version.string), [18:03:01.702] platform = base::sprintf("%s (%s-bit)", [18:03:01.702] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:01.702] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:01.702] "release", "version")], collapse = " "), [18:03:01.702] hostname = base::Sys.info()[["nodename"]]) [18:03:01.702] info <- base::sprintf("%s: %s", base::names(info), [18:03:01.702] info) [18:03:01.702] info <- base::paste(info, collapse = "; ") [18:03:01.702] if (!has_future) { [18:03:01.702] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:01.702] info) [18:03:01.702] } [18:03:01.702] else { [18:03:01.702] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:01.702] info, version) [18:03:01.702] } [18:03:01.702] base::stop(msg) [18:03:01.702] } [18:03:01.702] }) [18:03:01.702] } [18:03:01.702] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:01.702] base::options(mc.cores = 1L) [18:03:01.702] } [18:03:01.702] options(future.plan = NULL) [18:03:01.702] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.702] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:01.702] } [18:03:01.702] ...future.workdir <- getwd() [18:03:01.702] } [18:03:01.702] ...future.oldOptions <- base::as.list(base::.Options) [18:03:01.702] ...future.oldEnvVars <- base::Sys.getenv() [18:03:01.702] } [18:03:01.702] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:01.702] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:01.702] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:01.702] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:01.702] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:01.702] future.stdout.windows.reencode = NULL, width = 80L) [18:03:01.702] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:01.702] base::names(...future.oldOptions)) [18:03:01.702] } [18:03:01.702] if (FALSE) { [18:03:01.702] } [18:03:01.702] else { [18:03:01.702] if (TRUE) { [18:03:01.702] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:01.702] open = "w") [18:03:01.702] } [18:03:01.702] else { [18:03:01.702] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:01.702] windows = "NUL", "/dev/null"), open = "w") [18:03:01.702] } [18:03:01.702] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:01.702] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:01.702] base::sink(type = "output", split = FALSE) [18:03:01.702] base::close(...future.stdout) [18:03:01.702] }, add = TRUE) [18:03:01.702] } [18:03:01.702] ...future.frame <- base::sys.nframe() [18:03:01.702] ...future.conditions <- base::list() [18:03:01.702] ...future.rng <- base::globalenv()$.Random.seed [18:03:01.702] if (FALSE) { [18:03:01.702] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:01.702] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:01.702] } [18:03:01.702] ...future.result <- base::tryCatch({ [18:03:01.702] base::withCallingHandlers({ [18:03:01.702] ...future.value <- base::withVisible(base::local({ [18:03:01.702] ...future.makeSendCondition <- local({ [18:03:01.702] sendCondition <- NULL [18:03:01.702] function(frame = 1L) { [18:03:01.702] if (is.function(sendCondition)) [18:03:01.702] return(sendCondition) [18:03:01.702] ns <- getNamespace("parallel") [18:03:01.702] if (exists("sendData", mode = "function", [18:03:01.702] envir = ns)) { [18:03:01.702] parallel_sendData <- get("sendData", mode = "function", [18:03:01.702] envir = ns) [18:03:01.702] envir <- sys.frame(frame) [18:03:01.702] master <- NULL [18:03:01.702] while (!identical(envir, .GlobalEnv) && [18:03:01.702] !identical(envir, emptyenv())) { [18:03:01.702] if (exists("master", mode = "list", envir = envir, [18:03:01.702] inherits = FALSE)) { [18:03:01.702] master <- get("master", mode = "list", [18:03:01.702] envir = envir, inherits = FALSE) [18:03:01.702] if (inherits(master, c("SOCKnode", [18:03:01.702] "SOCK0node"))) { [18:03:01.702] sendCondition <<- function(cond) { [18:03:01.702] data <- list(type = "VALUE", value = cond, [18:03:01.702] success = TRUE) [18:03:01.702] parallel_sendData(master, data) [18:03:01.702] } [18:03:01.702] return(sendCondition) [18:03:01.702] } [18:03:01.702] } [18:03:01.702] frame <- frame + 1L [18:03:01.702] envir <- sys.frame(frame) [18:03:01.702] } [18:03:01.702] } [18:03:01.702] sendCondition <<- function(cond) NULL [18:03:01.702] } [18:03:01.702] }) [18:03:01.702] withCallingHandlers({ [18:03:01.702] { [18:03:01.702] Sys.sleep(0.1) [18:03:01.702] kk [18:03:01.702] } [18:03:01.702] }, immediateCondition = function(cond) { [18:03:01.702] sendCondition <- ...future.makeSendCondition() [18:03:01.702] sendCondition(cond) [18:03:01.702] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.702] { [18:03:01.702] inherits <- base::inherits [18:03:01.702] invokeRestart <- base::invokeRestart [18:03:01.702] is.null <- base::is.null [18:03:01.702] muffled <- FALSE [18:03:01.702] if (inherits(cond, "message")) { [18:03:01.702] muffled <- grepl(pattern, "muffleMessage") [18:03:01.702] if (muffled) [18:03:01.702] invokeRestart("muffleMessage") [18:03:01.702] } [18:03:01.702] else if (inherits(cond, "warning")) { [18:03:01.702] muffled <- grepl(pattern, "muffleWarning") [18:03:01.702] if (muffled) [18:03:01.702] invokeRestart("muffleWarning") [18:03:01.702] } [18:03:01.702] else if (inherits(cond, "condition")) { [18:03:01.702] if (!is.null(pattern)) { [18:03:01.702] computeRestarts <- base::computeRestarts [18:03:01.702] grepl <- base::grepl [18:03:01.702] restarts <- computeRestarts(cond) [18:03:01.702] for (restart in restarts) { [18:03:01.702] name <- restart$name [18:03:01.702] if (is.null(name)) [18:03:01.702] next [18:03:01.702] if (!grepl(pattern, name)) [18:03:01.702] next [18:03:01.702] invokeRestart(restart) [18:03:01.702] muffled <- TRUE [18:03:01.702] break [18:03:01.702] } [18:03:01.702] } [18:03:01.702] } [18:03:01.702] invisible(muffled) [18:03:01.702] } [18:03:01.702] muffleCondition(cond) [18:03:01.702] }) [18:03:01.702] })) [18:03:01.702] future::FutureResult(value = ...future.value$value, [18:03:01.702] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.702] ...future.rng), globalenv = if (FALSE) [18:03:01.702] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:01.702] ...future.globalenv.names)) [18:03:01.702] else NULL, started = ...future.startTime, version = "1.8") [18:03:01.702] }, condition = base::local({ [18:03:01.702] c <- base::c [18:03:01.702] inherits <- base::inherits [18:03:01.702] invokeRestart <- base::invokeRestart [18:03:01.702] length <- base::length [18:03:01.702] list <- base::list [18:03:01.702] seq.int <- base::seq.int [18:03:01.702] signalCondition <- base::signalCondition [18:03:01.702] sys.calls <- base::sys.calls [18:03:01.702] `[[` <- base::`[[` [18:03:01.702] `+` <- base::`+` [18:03:01.702] `<<-` <- base::`<<-` [18:03:01.702] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:01.702] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:01.702] 3L)] [18:03:01.702] } [18:03:01.702] function(cond) { [18:03:01.702] is_error <- inherits(cond, "error") [18:03:01.702] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:01.702] NULL) [18:03:01.702] if (is_error) { [18:03:01.702] sessionInformation <- function() { [18:03:01.702] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:01.702] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:01.702] search = base::search(), system = base::Sys.info()) [18:03:01.702] } [18:03:01.702] ...future.conditions[[length(...future.conditions) + [18:03:01.702] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:01.702] cond$call), session = sessionInformation(), [18:03:01.702] timestamp = base::Sys.time(), signaled = 0L) [18:03:01.702] signalCondition(cond) [18:03:01.702] } [18:03:01.702] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:01.702] "immediateCondition"))) { [18:03:01.702] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:01.702] ...future.conditions[[length(...future.conditions) + [18:03:01.702] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:01.702] if (TRUE && !signal) { [18:03:01.702] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.702] { [18:03:01.702] inherits <- base::inherits [18:03:01.702] invokeRestart <- base::invokeRestart [18:03:01.702] is.null <- base::is.null [18:03:01.702] muffled <- FALSE [18:03:01.702] if (inherits(cond, "message")) { [18:03:01.702] muffled <- grepl(pattern, "muffleMessage") [18:03:01.702] if (muffled) [18:03:01.702] invokeRestart("muffleMessage") [18:03:01.702] } [18:03:01.702] else if (inherits(cond, "warning")) { [18:03:01.702] muffled <- grepl(pattern, "muffleWarning") [18:03:01.702] if (muffled) [18:03:01.702] invokeRestart("muffleWarning") [18:03:01.702] } [18:03:01.702] else if (inherits(cond, "condition")) { [18:03:01.702] if (!is.null(pattern)) { [18:03:01.702] computeRestarts <- base::computeRestarts [18:03:01.702] grepl <- base::grepl [18:03:01.702] restarts <- computeRestarts(cond) [18:03:01.702] for (restart in restarts) { [18:03:01.702] name <- restart$name [18:03:01.702] if (is.null(name)) [18:03:01.702] next [18:03:01.702] if (!grepl(pattern, name)) [18:03:01.702] next [18:03:01.702] invokeRestart(restart) [18:03:01.702] muffled <- TRUE [18:03:01.702] break [18:03:01.702] } [18:03:01.702] } [18:03:01.702] } [18:03:01.702] invisible(muffled) [18:03:01.702] } [18:03:01.702] muffleCondition(cond, pattern = "^muffle") [18:03:01.702] } [18:03:01.702] } [18:03:01.702] else { [18:03:01.702] if (TRUE) { [18:03:01.702] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.702] { [18:03:01.702] inherits <- base::inherits [18:03:01.702] invokeRestart <- base::invokeRestart [18:03:01.702] is.null <- base::is.null [18:03:01.702] muffled <- FALSE [18:03:01.702] if (inherits(cond, "message")) { [18:03:01.702] muffled <- grepl(pattern, "muffleMessage") [18:03:01.702] if (muffled) [18:03:01.702] invokeRestart("muffleMessage") [18:03:01.702] } [18:03:01.702] else if (inherits(cond, "warning")) { [18:03:01.702] muffled <- grepl(pattern, "muffleWarning") [18:03:01.702] if (muffled) [18:03:01.702] invokeRestart("muffleWarning") [18:03:01.702] } [18:03:01.702] else if (inherits(cond, "condition")) { [18:03:01.702] if (!is.null(pattern)) { [18:03:01.702] computeRestarts <- base::computeRestarts [18:03:01.702] grepl <- base::grepl [18:03:01.702] restarts <- computeRestarts(cond) [18:03:01.702] for (restart in restarts) { [18:03:01.702] name <- restart$name [18:03:01.702] if (is.null(name)) [18:03:01.702] next [18:03:01.702] if (!grepl(pattern, name)) [18:03:01.702] next [18:03:01.702] invokeRestart(restart) [18:03:01.702] muffled <- TRUE [18:03:01.702] break [18:03:01.702] } [18:03:01.702] } [18:03:01.702] } [18:03:01.702] invisible(muffled) [18:03:01.702] } [18:03:01.702] muffleCondition(cond, pattern = "^muffle") [18:03:01.702] } [18:03:01.702] } [18:03:01.702] } [18:03:01.702] })) [18:03:01.702] }, error = function(ex) { [18:03:01.702] base::structure(base::list(value = NULL, visible = NULL, [18:03:01.702] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.702] ...future.rng), started = ...future.startTime, [18:03:01.702] finished = Sys.time(), session_uuid = NA_character_, [18:03:01.702] version = "1.8"), class = "FutureResult") [18:03:01.702] }, finally = { [18:03:01.702] if (!identical(...future.workdir, getwd())) [18:03:01.702] setwd(...future.workdir) [18:03:01.702] { [18:03:01.702] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:01.702] ...future.oldOptions$nwarnings <- NULL [18:03:01.702] } [18:03:01.702] base::options(...future.oldOptions) [18:03:01.702] if (.Platform$OS.type == "windows") { [18:03:01.702] old_names <- names(...future.oldEnvVars) [18:03:01.702] envs <- base::Sys.getenv() [18:03:01.702] names <- names(envs) [18:03:01.702] common <- intersect(names, old_names) [18:03:01.702] added <- setdiff(names, old_names) [18:03:01.702] removed <- setdiff(old_names, names) [18:03:01.702] changed <- common[...future.oldEnvVars[common] != [18:03:01.702] envs[common]] [18:03:01.702] NAMES <- toupper(changed) [18:03:01.702] args <- list() [18:03:01.702] for (kk in seq_along(NAMES)) { [18:03:01.702] name <- changed[[kk]] [18:03:01.702] NAME <- NAMES[[kk]] [18:03:01.702] if (name != NAME && is.element(NAME, old_names)) [18:03:01.702] next [18:03:01.702] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.702] } [18:03:01.702] NAMES <- toupper(added) [18:03:01.702] for (kk in seq_along(NAMES)) { [18:03:01.702] name <- added[[kk]] [18:03:01.702] NAME <- NAMES[[kk]] [18:03:01.702] if (name != NAME && is.element(NAME, old_names)) [18:03:01.702] next [18:03:01.702] args[[name]] <- "" [18:03:01.702] } [18:03:01.702] NAMES <- toupper(removed) [18:03:01.702] for (kk in seq_along(NAMES)) { [18:03:01.702] name <- removed[[kk]] [18:03:01.702] NAME <- NAMES[[kk]] [18:03:01.702] if (name != NAME && is.element(NAME, old_names)) [18:03:01.702] next [18:03:01.702] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.702] } [18:03:01.702] if (length(args) > 0) [18:03:01.702] base::do.call(base::Sys.setenv, args = args) [18:03:01.702] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:01.702] } [18:03:01.702] else { [18:03:01.702] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:01.702] } [18:03:01.702] { [18:03:01.702] if (base::length(...future.futureOptionsAdded) > [18:03:01.702] 0L) { [18:03:01.702] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:01.702] base::names(opts) <- ...future.futureOptionsAdded [18:03:01.702] base::options(opts) [18:03:01.702] } [18:03:01.702] { [18:03:01.702] { [18:03:01.702] base::options(mc.cores = ...future.mc.cores.old) [18:03:01.702] NULL [18:03:01.702] } [18:03:01.702] options(future.plan = NULL) [18:03:01.702] if (is.na(NA_character_)) [18:03:01.702] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.702] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:01.702] future::plan(list(function (..., workers = availableCores(), [18:03:01.702] lazy = FALSE, rscript_libs = .libPaths(), [18:03:01.702] envir = parent.frame()) [18:03:01.702] { [18:03:01.702] if (is.function(workers)) [18:03:01.702] workers <- workers() [18:03:01.702] workers <- structure(as.integer(workers), [18:03:01.702] class = class(workers)) [18:03:01.702] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:01.702] workers >= 1) [18:03:01.702] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:01.702] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:01.702] } [18:03:01.702] future <- MultisessionFuture(..., workers = workers, [18:03:01.702] lazy = lazy, rscript_libs = rscript_libs, [18:03:01.702] envir = envir) [18:03:01.702] if (!future$lazy) [18:03:01.702] future <- run(future) [18:03:01.702] invisible(future) [18:03:01.702] }), .cleanup = FALSE, .init = FALSE) [18:03:01.702] } [18:03:01.702] } [18:03:01.702] } [18:03:01.702] }) [18:03:01.702] if (TRUE) { [18:03:01.702] base::sink(type = "output", split = FALSE) [18:03:01.702] if (TRUE) { [18:03:01.702] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:01.702] } [18:03:01.702] else { [18:03:01.702] ...future.result["stdout"] <- base::list(NULL) [18:03:01.702] } [18:03:01.702] base::close(...future.stdout) [18:03:01.702] ...future.stdout <- NULL [18:03:01.702] } [18:03:01.702] ...future.result$conditions <- ...future.conditions [18:03:01.702] ...future.result$finished <- base::Sys.time() [18:03:01.702] ...future.result [18:03:01.702] } [18:03:01.707] Exporting 1 global objects (56 bytes) to cluster node #1 ... [18:03:01.707] Exporting 'kk' (56 bytes) to cluster node #1 ... [18:03:01.708] Exporting 'kk' (56 bytes) to cluster node #1 ... DONE [18:03:01.708] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [18:03:01.709] MultisessionFuture started [18:03:01.709] - Launch lazy future ... done [18:03:01.709] run() for 'MultisessionFuture' ... done [18:03:01.709] getGlobalsAndPackages() ... [18:03:01.709] Searching for globals... [18:03:01.711] - globals found: [3] '{', 'Sys.sleep', 'kk' [18:03:01.711] Searching for globals ... DONE [18:03:01.711] Resolving globals: FALSE [18:03:01.711] The total size of the 1 globals is 56 bytes (56 bytes) [18:03:01.712] The total size of the 1 globals exported for future expression ('{; Sys.sleep(0.1); kk; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'kk' (56 bytes of class 'numeric') [18:03:01.712] - globals: [1] 'kk' [18:03:01.712] [18:03:01.712] getGlobalsAndPackages() ... DONE [18:03:01.713] run() for 'Future' ... [18:03:01.713] - state: 'created' [18:03:01.713] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:01.727] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:01.727] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:01.727] - Field: 'node' [18:03:01.728] - Field: 'label' [18:03:01.728] - Field: 'local' [18:03:01.728] - Field: 'owner' [18:03:01.728] - Field: 'envir' [18:03:01.728] - Field: 'workers' [18:03:01.731] - Field: 'packages' [18:03:01.731] - Field: 'gc' [18:03:01.732] - Field: 'conditions' [18:03:01.732] - Field: 'persistent' [18:03:01.732] - Field: 'expr' [18:03:01.732] - Field: 'uuid' [18:03:01.732] - Field: 'seed' [18:03:01.733] - Field: 'version' [18:03:01.733] - Field: 'result' [18:03:01.733] - Field: 'asynchronous' [18:03:01.733] - Field: 'calls' [18:03:01.733] - Field: 'globals' [18:03:01.733] - Field: 'stdout' [18:03:01.734] - Field: 'earlySignal' [18:03:01.734] - Field: 'lazy' [18:03:01.734] - Field: 'state' [18:03:01.734] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:01.734] - Launch lazy future ... [18:03:01.735] Packages needed by the future expression (n = 0): [18:03:01.735] Packages needed by future strategies (n = 0): [18:03:01.735] { [18:03:01.735] { [18:03:01.735] { [18:03:01.735] ...future.startTime <- base::Sys.time() [18:03:01.735] { [18:03:01.735] { [18:03:01.735] { [18:03:01.735] { [18:03:01.735] base::local({ [18:03:01.735] has_future <- base::requireNamespace("future", [18:03:01.735] quietly = TRUE) [18:03:01.735] if (has_future) { [18:03:01.735] ns <- base::getNamespace("future") [18:03:01.735] version <- ns[[".package"]][["version"]] [18:03:01.735] if (is.null(version)) [18:03:01.735] version <- utils::packageVersion("future") [18:03:01.735] } [18:03:01.735] else { [18:03:01.735] version <- NULL [18:03:01.735] } [18:03:01.735] if (!has_future || version < "1.8.0") { [18:03:01.735] info <- base::c(r_version = base::gsub("R version ", [18:03:01.735] "", base::R.version$version.string), [18:03:01.735] platform = base::sprintf("%s (%s-bit)", [18:03:01.735] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:01.735] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:01.735] "release", "version")], collapse = " "), [18:03:01.735] hostname = base::Sys.info()[["nodename"]]) [18:03:01.735] info <- base::sprintf("%s: %s", base::names(info), [18:03:01.735] info) [18:03:01.735] info <- base::paste(info, collapse = "; ") [18:03:01.735] if (!has_future) { [18:03:01.735] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:01.735] info) [18:03:01.735] } [18:03:01.735] else { [18:03:01.735] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:01.735] info, version) [18:03:01.735] } [18:03:01.735] base::stop(msg) [18:03:01.735] } [18:03:01.735] }) [18:03:01.735] } [18:03:01.735] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:01.735] base::options(mc.cores = 1L) [18:03:01.735] } [18:03:01.735] options(future.plan = NULL) [18:03:01.735] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.735] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:01.735] } [18:03:01.735] ...future.workdir <- getwd() [18:03:01.735] } [18:03:01.735] ...future.oldOptions <- base::as.list(base::.Options) [18:03:01.735] ...future.oldEnvVars <- base::Sys.getenv() [18:03:01.735] } [18:03:01.735] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:01.735] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:01.735] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:01.735] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:01.735] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:01.735] future.stdout.windows.reencode = NULL, width = 80L) [18:03:01.735] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:01.735] base::names(...future.oldOptions)) [18:03:01.735] } [18:03:01.735] if (FALSE) { [18:03:01.735] } [18:03:01.735] else { [18:03:01.735] if (TRUE) { [18:03:01.735] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:01.735] open = "w") [18:03:01.735] } [18:03:01.735] else { [18:03:01.735] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:01.735] windows = "NUL", "/dev/null"), open = "w") [18:03:01.735] } [18:03:01.735] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:01.735] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:01.735] base::sink(type = "output", split = FALSE) [18:03:01.735] base::close(...future.stdout) [18:03:01.735] }, add = TRUE) [18:03:01.735] } [18:03:01.735] ...future.frame <- base::sys.nframe() [18:03:01.735] ...future.conditions <- base::list() [18:03:01.735] ...future.rng <- base::globalenv()$.Random.seed [18:03:01.735] if (FALSE) { [18:03:01.735] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:01.735] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:01.735] } [18:03:01.735] ...future.result <- base::tryCatch({ [18:03:01.735] base::withCallingHandlers({ [18:03:01.735] ...future.value <- base::withVisible(base::local({ [18:03:01.735] ...future.makeSendCondition <- local({ [18:03:01.735] sendCondition <- NULL [18:03:01.735] function(frame = 1L) { [18:03:01.735] if (is.function(sendCondition)) [18:03:01.735] return(sendCondition) [18:03:01.735] ns <- getNamespace("parallel") [18:03:01.735] if (exists("sendData", mode = "function", [18:03:01.735] envir = ns)) { [18:03:01.735] parallel_sendData <- get("sendData", mode = "function", [18:03:01.735] envir = ns) [18:03:01.735] envir <- sys.frame(frame) [18:03:01.735] master <- NULL [18:03:01.735] while (!identical(envir, .GlobalEnv) && [18:03:01.735] !identical(envir, emptyenv())) { [18:03:01.735] if (exists("master", mode = "list", envir = envir, [18:03:01.735] inherits = FALSE)) { [18:03:01.735] master <- get("master", mode = "list", [18:03:01.735] envir = envir, inherits = FALSE) [18:03:01.735] if (inherits(master, c("SOCKnode", [18:03:01.735] "SOCK0node"))) { [18:03:01.735] sendCondition <<- function(cond) { [18:03:01.735] data <- list(type = "VALUE", value = cond, [18:03:01.735] success = TRUE) [18:03:01.735] parallel_sendData(master, data) [18:03:01.735] } [18:03:01.735] return(sendCondition) [18:03:01.735] } [18:03:01.735] } [18:03:01.735] frame <- frame + 1L [18:03:01.735] envir <- sys.frame(frame) [18:03:01.735] } [18:03:01.735] } [18:03:01.735] sendCondition <<- function(cond) NULL [18:03:01.735] } [18:03:01.735] }) [18:03:01.735] withCallingHandlers({ [18:03:01.735] { [18:03:01.735] Sys.sleep(0.1) [18:03:01.735] kk [18:03:01.735] } [18:03:01.735] }, immediateCondition = function(cond) { [18:03:01.735] sendCondition <- ...future.makeSendCondition() [18:03:01.735] sendCondition(cond) [18:03:01.735] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.735] { [18:03:01.735] inherits <- base::inherits [18:03:01.735] invokeRestart <- base::invokeRestart [18:03:01.735] is.null <- base::is.null [18:03:01.735] muffled <- FALSE [18:03:01.735] if (inherits(cond, "message")) { [18:03:01.735] muffled <- grepl(pattern, "muffleMessage") [18:03:01.735] if (muffled) [18:03:01.735] invokeRestart("muffleMessage") [18:03:01.735] } [18:03:01.735] else if (inherits(cond, "warning")) { [18:03:01.735] muffled <- grepl(pattern, "muffleWarning") [18:03:01.735] if (muffled) [18:03:01.735] invokeRestart("muffleWarning") [18:03:01.735] } [18:03:01.735] else if (inherits(cond, "condition")) { [18:03:01.735] if (!is.null(pattern)) { [18:03:01.735] computeRestarts <- base::computeRestarts [18:03:01.735] grepl <- base::grepl [18:03:01.735] restarts <- computeRestarts(cond) [18:03:01.735] for (restart in restarts) { [18:03:01.735] name <- restart$name [18:03:01.735] if (is.null(name)) [18:03:01.735] next [18:03:01.735] if (!grepl(pattern, name)) [18:03:01.735] next [18:03:01.735] invokeRestart(restart) [18:03:01.735] muffled <- TRUE [18:03:01.735] break [18:03:01.735] } [18:03:01.735] } [18:03:01.735] } [18:03:01.735] invisible(muffled) [18:03:01.735] } [18:03:01.735] muffleCondition(cond) [18:03:01.735] }) [18:03:01.735] })) [18:03:01.735] future::FutureResult(value = ...future.value$value, [18:03:01.735] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.735] ...future.rng), globalenv = if (FALSE) [18:03:01.735] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:01.735] ...future.globalenv.names)) [18:03:01.735] else NULL, started = ...future.startTime, version = "1.8") [18:03:01.735] }, condition = base::local({ [18:03:01.735] c <- base::c [18:03:01.735] inherits <- base::inherits [18:03:01.735] invokeRestart <- base::invokeRestart [18:03:01.735] length <- base::length [18:03:01.735] list <- base::list [18:03:01.735] seq.int <- base::seq.int [18:03:01.735] signalCondition <- base::signalCondition [18:03:01.735] sys.calls <- base::sys.calls [18:03:01.735] `[[` <- base::`[[` [18:03:01.735] `+` <- base::`+` [18:03:01.735] `<<-` <- base::`<<-` [18:03:01.735] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:01.735] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:01.735] 3L)] [18:03:01.735] } [18:03:01.735] function(cond) { [18:03:01.735] is_error <- inherits(cond, "error") [18:03:01.735] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:01.735] NULL) [18:03:01.735] if (is_error) { [18:03:01.735] sessionInformation <- function() { [18:03:01.735] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:01.735] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:01.735] search = base::search(), system = base::Sys.info()) [18:03:01.735] } [18:03:01.735] ...future.conditions[[length(...future.conditions) + [18:03:01.735] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:01.735] cond$call), session = sessionInformation(), [18:03:01.735] timestamp = base::Sys.time(), signaled = 0L) [18:03:01.735] signalCondition(cond) [18:03:01.735] } [18:03:01.735] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:01.735] "immediateCondition"))) { [18:03:01.735] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:01.735] ...future.conditions[[length(...future.conditions) + [18:03:01.735] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:01.735] if (TRUE && !signal) { [18:03:01.735] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.735] { [18:03:01.735] inherits <- base::inherits [18:03:01.735] invokeRestart <- base::invokeRestart [18:03:01.735] is.null <- base::is.null [18:03:01.735] muffled <- FALSE [18:03:01.735] if (inherits(cond, "message")) { [18:03:01.735] muffled <- grepl(pattern, "muffleMessage") [18:03:01.735] if (muffled) [18:03:01.735] invokeRestart("muffleMessage") [18:03:01.735] } [18:03:01.735] else if (inherits(cond, "warning")) { [18:03:01.735] muffled <- grepl(pattern, "muffleWarning") [18:03:01.735] if (muffled) [18:03:01.735] invokeRestart("muffleWarning") [18:03:01.735] } [18:03:01.735] else if (inherits(cond, "condition")) { [18:03:01.735] if (!is.null(pattern)) { [18:03:01.735] computeRestarts <- base::computeRestarts [18:03:01.735] grepl <- base::grepl [18:03:01.735] restarts <- computeRestarts(cond) [18:03:01.735] for (restart in restarts) { [18:03:01.735] name <- restart$name [18:03:01.735] if (is.null(name)) [18:03:01.735] next [18:03:01.735] if (!grepl(pattern, name)) [18:03:01.735] next [18:03:01.735] invokeRestart(restart) [18:03:01.735] muffled <- TRUE [18:03:01.735] break [18:03:01.735] } [18:03:01.735] } [18:03:01.735] } [18:03:01.735] invisible(muffled) [18:03:01.735] } [18:03:01.735] muffleCondition(cond, pattern = "^muffle") [18:03:01.735] } [18:03:01.735] } [18:03:01.735] else { [18:03:01.735] if (TRUE) { [18:03:01.735] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.735] { [18:03:01.735] inherits <- base::inherits [18:03:01.735] invokeRestart <- base::invokeRestart [18:03:01.735] is.null <- base::is.null [18:03:01.735] muffled <- FALSE [18:03:01.735] if (inherits(cond, "message")) { [18:03:01.735] muffled <- grepl(pattern, "muffleMessage") [18:03:01.735] if (muffled) [18:03:01.735] invokeRestart("muffleMessage") [18:03:01.735] } [18:03:01.735] else if (inherits(cond, "warning")) { [18:03:01.735] muffled <- grepl(pattern, "muffleWarning") [18:03:01.735] if (muffled) [18:03:01.735] invokeRestart("muffleWarning") [18:03:01.735] } [18:03:01.735] else if (inherits(cond, "condition")) { [18:03:01.735] if (!is.null(pattern)) { [18:03:01.735] computeRestarts <- base::computeRestarts [18:03:01.735] grepl <- base::grepl [18:03:01.735] restarts <- computeRestarts(cond) [18:03:01.735] for (restart in restarts) { [18:03:01.735] name <- restart$name [18:03:01.735] if (is.null(name)) [18:03:01.735] next [18:03:01.735] if (!grepl(pattern, name)) [18:03:01.735] next [18:03:01.735] invokeRestart(restart) [18:03:01.735] muffled <- TRUE [18:03:01.735] break [18:03:01.735] } [18:03:01.735] } [18:03:01.735] } [18:03:01.735] invisible(muffled) [18:03:01.735] } [18:03:01.735] muffleCondition(cond, pattern = "^muffle") [18:03:01.735] } [18:03:01.735] } [18:03:01.735] } [18:03:01.735] })) [18:03:01.735] }, error = function(ex) { [18:03:01.735] base::structure(base::list(value = NULL, visible = NULL, [18:03:01.735] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.735] ...future.rng), started = ...future.startTime, [18:03:01.735] finished = Sys.time(), session_uuid = NA_character_, [18:03:01.735] version = "1.8"), class = "FutureResult") [18:03:01.735] }, finally = { [18:03:01.735] if (!identical(...future.workdir, getwd())) [18:03:01.735] setwd(...future.workdir) [18:03:01.735] { [18:03:01.735] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:01.735] ...future.oldOptions$nwarnings <- NULL [18:03:01.735] } [18:03:01.735] base::options(...future.oldOptions) [18:03:01.735] if (.Platform$OS.type == "windows") { [18:03:01.735] old_names <- names(...future.oldEnvVars) [18:03:01.735] envs <- base::Sys.getenv() [18:03:01.735] names <- names(envs) [18:03:01.735] common <- intersect(names, old_names) [18:03:01.735] added <- setdiff(names, old_names) [18:03:01.735] removed <- setdiff(old_names, names) [18:03:01.735] changed <- common[...future.oldEnvVars[common] != [18:03:01.735] envs[common]] [18:03:01.735] NAMES <- toupper(changed) [18:03:01.735] args <- list() [18:03:01.735] for (kk in seq_along(NAMES)) { [18:03:01.735] name <- changed[[kk]] [18:03:01.735] NAME <- NAMES[[kk]] [18:03:01.735] if (name != NAME && is.element(NAME, old_names)) [18:03:01.735] next [18:03:01.735] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.735] } [18:03:01.735] NAMES <- toupper(added) [18:03:01.735] for (kk in seq_along(NAMES)) { [18:03:01.735] name <- added[[kk]] [18:03:01.735] NAME <- NAMES[[kk]] [18:03:01.735] if (name != NAME && is.element(NAME, old_names)) [18:03:01.735] next [18:03:01.735] args[[name]] <- "" [18:03:01.735] } [18:03:01.735] NAMES <- toupper(removed) [18:03:01.735] for (kk in seq_along(NAMES)) { [18:03:01.735] name <- removed[[kk]] [18:03:01.735] NAME <- NAMES[[kk]] [18:03:01.735] if (name != NAME && is.element(NAME, old_names)) [18:03:01.735] next [18:03:01.735] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.735] } [18:03:01.735] if (length(args) > 0) [18:03:01.735] base::do.call(base::Sys.setenv, args = args) [18:03:01.735] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:01.735] } [18:03:01.735] else { [18:03:01.735] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:01.735] } [18:03:01.735] { [18:03:01.735] if (base::length(...future.futureOptionsAdded) > [18:03:01.735] 0L) { [18:03:01.735] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:01.735] base::names(opts) <- ...future.futureOptionsAdded [18:03:01.735] base::options(opts) [18:03:01.735] } [18:03:01.735] { [18:03:01.735] { [18:03:01.735] base::options(mc.cores = ...future.mc.cores.old) [18:03:01.735] NULL [18:03:01.735] } [18:03:01.735] options(future.plan = NULL) [18:03:01.735] if (is.na(NA_character_)) [18:03:01.735] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.735] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:01.735] future::plan(list(function (..., workers = availableCores(), [18:03:01.735] lazy = FALSE, rscript_libs = .libPaths(), [18:03:01.735] envir = parent.frame()) [18:03:01.735] { [18:03:01.735] if (is.function(workers)) [18:03:01.735] workers <- workers() [18:03:01.735] workers <- structure(as.integer(workers), [18:03:01.735] class = class(workers)) [18:03:01.735] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:01.735] workers >= 1) [18:03:01.735] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:01.735] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:01.735] } [18:03:01.735] future <- MultisessionFuture(..., workers = workers, [18:03:01.735] lazy = lazy, rscript_libs = rscript_libs, [18:03:01.735] envir = envir) [18:03:01.735] if (!future$lazy) [18:03:01.735] future <- run(future) [18:03:01.735] invisible(future) [18:03:01.735] }), .cleanup = FALSE, .init = FALSE) [18:03:01.735] } [18:03:01.735] } [18:03:01.735] } [18:03:01.735] }) [18:03:01.735] if (TRUE) { [18:03:01.735] base::sink(type = "output", split = FALSE) [18:03:01.735] if (TRUE) { [18:03:01.735] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:01.735] } [18:03:01.735] else { [18:03:01.735] ...future.result["stdout"] <- base::list(NULL) [18:03:01.735] } [18:03:01.735] base::close(...future.stdout) [18:03:01.735] ...future.stdout <- NULL [18:03:01.735] } [18:03:01.735] ...future.result$conditions <- ...future.conditions [18:03:01.735] ...future.result$finished <- base::Sys.time() [18:03:01.735] ...future.result [18:03:01.735] } [18:03:01.741] Exporting 1 global objects (56 bytes) to cluster node #2 ... [18:03:01.741] Exporting 'kk' (56 bytes) to cluster node #2 ... [18:03:01.742] Exporting 'kk' (56 bytes) to cluster node #2 ... DONE [18:03:01.742] Exporting 1 global objects (56 bytes) to cluster node #2 ... DONE [18:03:01.742] MultisessionFuture started [18:03:01.743] - Launch lazy future ... done [18:03:01.743] run() for 'MultisessionFuture' ... done [18:03:01.743] getGlobalsAndPackages() ... [18:03:01.743] Searching for globals... [18:03:01.744] - globals found: [3] '{', 'Sys.sleep', 'kk' [18:03:01.745] Searching for globals ... DONE [18:03:01.745] Resolving globals: FALSE [18:03:01.745] The total size of the 1 globals is 56 bytes (56 bytes) [18:03:01.746] The total size of the 1 globals exported for future expression ('{; Sys.sleep(0.1); kk; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'kk' (56 bytes of class 'numeric') [18:03:01.746] - globals: [1] 'kk' [18:03:01.746] [18:03:01.746] getGlobalsAndPackages() ... DONE [18:03:01.746] run() for 'Future' ... [18:03:01.747] - state: 'created' [18:03:01.747] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:01.761] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:01.761] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:01.761] - Field: 'node' [18:03:01.761] - Field: 'label' [18:03:01.761] - Field: 'local' [18:03:01.762] - Field: 'owner' [18:03:01.762] - Field: 'envir' [18:03:01.762] - Field: 'workers' [18:03:01.762] - Field: 'packages' [18:03:01.762] - Field: 'gc' [18:03:01.762] - Field: 'conditions' [18:03:01.763] - Field: 'persistent' [18:03:01.763] - Field: 'expr' [18:03:01.763] - Field: 'uuid' [18:03:01.763] - Field: 'seed' [18:03:01.764] - Field: 'version' [18:03:01.764] - Field: 'result' [18:03:01.764] - Field: 'asynchronous' [18:03:01.764] - Field: 'calls' [18:03:01.764] - Field: 'globals' [18:03:01.764] - Field: 'stdout' [18:03:01.765] - Field: 'earlySignal' [18:03:01.765] - Field: 'lazy' [18:03:01.765] - Field: 'state' [18:03:01.765] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:01.765] - Launch lazy future ... [18:03:01.766] Packages needed by the future expression (n = 0): [18:03:01.766] Packages needed by future strategies (n = 0): [18:03:01.766] { [18:03:01.766] { [18:03:01.766] { [18:03:01.766] ...future.startTime <- base::Sys.time() [18:03:01.766] { [18:03:01.766] { [18:03:01.766] { [18:03:01.766] { [18:03:01.766] base::local({ [18:03:01.766] has_future <- base::requireNamespace("future", [18:03:01.766] quietly = TRUE) [18:03:01.766] if (has_future) { [18:03:01.766] ns <- base::getNamespace("future") [18:03:01.766] version <- ns[[".package"]][["version"]] [18:03:01.766] if (is.null(version)) [18:03:01.766] version <- utils::packageVersion("future") [18:03:01.766] } [18:03:01.766] else { [18:03:01.766] version <- NULL [18:03:01.766] } [18:03:01.766] if (!has_future || version < "1.8.0") { [18:03:01.766] info <- base::c(r_version = base::gsub("R version ", [18:03:01.766] "", base::R.version$version.string), [18:03:01.766] platform = base::sprintf("%s (%s-bit)", [18:03:01.766] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:01.766] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:01.766] "release", "version")], collapse = " "), [18:03:01.766] hostname = base::Sys.info()[["nodename"]]) [18:03:01.766] info <- base::sprintf("%s: %s", base::names(info), [18:03:01.766] info) [18:03:01.766] info <- base::paste(info, collapse = "; ") [18:03:01.766] if (!has_future) { [18:03:01.766] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:01.766] info) [18:03:01.766] } [18:03:01.766] else { [18:03:01.766] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:01.766] info, version) [18:03:01.766] } [18:03:01.766] base::stop(msg) [18:03:01.766] } [18:03:01.766] }) [18:03:01.766] } [18:03:01.766] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:01.766] base::options(mc.cores = 1L) [18:03:01.766] } [18:03:01.766] options(future.plan = NULL) [18:03:01.766] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.766] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:01.766] } [18:03:01.766] ...future.workdir <- getwd() [18:03:01.766] } [18:03:01.766] ...future.oldOptions <- base::as.list(base::.Options) [18:03:01.766] ...future.oldEnvVars <- base::Sys.getenv() [18:03:01.766] } [18:03:01.766] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:01.766] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:01.766] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:01.766] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:01.766] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:01.766] future.stdout.windows.reencode = NULL, width = 80L) [18:03:01.766] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:01.766] base::names(...future.oldOptions)) [18:03:01.766] } [18:03:01.766] if (FALSE) { [18:03:01.766] } [18:03:01.766] else { [18:03:01.766] if (TRUE) { [18:03:01.766] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:01.766] open = "w") [18:03:01.766] } [18:03:01.766] else { [18:03:01.766] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:01.766] windows = "NUL", "/dev/null"), open = "w") [18:03:01.766] } [18:03:01.766] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:01.766] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:01.766] base::sink(type = "output", split = FALSE) [18:03:01.766] base::close(...future.stdout) [18:03:01.766] }, add = TRUE) [18:03:01.766] } [18:03:01.766] ...future.frame <- base::sys.nframe() [18:03:01.766] ...future.conditions <- base::list() [18:03:01.766] ...future.rng <- base::globalenv()$.Random.seed [18:03:01.766] if (FALSE) { [18:03:01.766] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:01.766] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:01.766] } [18:03:01.766] ...future.result <- base::tryCatch({ [18:03:01.766] base::withCallingHandlers({ [18:03:01.766] ...future.value <- base::withVisible(base::local({ [18:03:01.766] ...future.makeSendCondition <- local({ [18:03:01.766] sendCondition <- NULL [18:03:01.766] function(frame = 1L) { [18:03:01.766] if (is.function(sendCondition)) [18:03:01.766] return(sendCondition) [18:03:01.766] ns <- getNamespace("parallel") [18:03:01.766] if (exists("sendData", mode = "function", [18:03:01.766] envir = ns)) { [18:03:01.766] parallel_sendData <- get("sendData", mode = "function", [18:03:01.766] envir = ns) [18:03:01.766] envir <- sys.frame(frame) [18:03:01.766] master <- NULL [18:03:01.766] while (!identical(envir, .GlobalEnv) && [18:03:01.766] !identical(envir, emptyenv())) { [18:03:01.766] if (exists("master", mode = "list", envir = envir, [18:03:01.766] inherits = FALSE)) { [18:03:01.766] master <- get("master", mode = "list", [18:03:01.766] envir = envir, inherits = FALSE) [18:03:01.766] if (inherits(master, c("SOCKnode", [18:03:01.766] "SOCK0node"))) { [18:03:01.766] sendCondition <<- function(cond) { [18:03:01.766] data <- list(type = "VALUE", value = cond, [18:03:01.766] success = TRUE) [18:03:01.766] parallel_sendData(master, data) [18:03:01.766] } [18:03:01.766] return(sendCondition) [18:03:01.766] } [18:03:01.766] } [18:03:01.766] frame <- frame + 1L [18:03:01.766] envir <- sys.frame(frame) [18:03:01.766] } [18:03:01.766] } [18:03:01.766] sendCondition <<- function(cond) NULL [18:03:01.766] } [18:03:01.766] }) [18:03:01.766] withCallingHandlers({ [18:03:01.766] { [18:03:01.766] Sys.sleep(0.1) [18:03:01.766] kk [18:03:01.766] } [18:03:01.766] }, immediateCondition = function(cond) { [18:03:01.766] sendCondition <- ...future.makeSendCondition() [18:03:01.766] sendCondition(cond) [18:03:01.766] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.766] { [18:03:01.766] inherits <- base::inherits [18:03:01.766] invokeRestart <- base::invokeRestart [18:03:01.766] is.null <- base::is.null [18:03:01.766] muffled <- FALSE [18:03:01.766] if (inherits(cond, "message")) { [18:03:01.766] muffled <- grepl(pattern, "muffleMessage") [18:03:01.766] if (muffled) [18:03:01.766] invokeRestart("muffleMessage") [18:03:01.766] } [18:03:01.766] else if (inherits(cond, "warning")) { [18:03:01.766] muffled <- grepl(pattern, "muffleWarning") [18:03:01.766] if (muffled) [18:03:01.766] invokeRestart("muffleWarning") [18:03:01.766] } [18:03:01.766] else if (inherits(cond, "condition")) { [18:03:01.766] if (!is.null(pattern)) { [18:03:01.766] computeRestarts <- base::computeRestarts [18:03:01.766] grepl <- base::grepl [18:03:01.766] restarts <- computeRestarts(cond) [18:03:01.766] for (restart in restarts) { [18:03:01.766] name <- restart$name [18:03:01.766] if (is.null(name)) [18:03:01.766] next [18:03:01.766] if (!grepl(pattern, name)) [18:03:01.766] next [18:03:01.766] invokeRestart(restart) [18:03:01.766] muffled <- TRUE [18:03:01.766] break [18:03:01.766] } [18:03:01.766] } [18:03:01.766] } [18:03:01.766] invisible(muffled) [18:03:01.766] } [18:03:01.766] muffleCondition(cond) [18:03:01.766] }) [18:03:01.766] })) [18:03:01.766] future::FutureResult(value = ...future.value$value, [18:03:01.766] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.766] ...future.rng), globalenv = if (FALSE) [18:03:01.766] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:01.766] ...future.globalenv.names)) [18:03:01.766] else NULL, started = ...future.startTime, version = "1.8") [18:03:01.766] }, condition = base::local({ [18:03:01.766] c <- base::c [18:03:01.766] inherits <- base::inherits [18:03:01.766] invokeRestart <- base::invokeRestart [18:03:01.766] length <- base::length [18:03:01.766] list <- base::list [18:03:01.766] seq.int <- base::seq.int [18:03:01.766] signalCondition <- base::signalCondition [18:03:01.766] sys.calls <- base::sys.calls [18:03:01.766] `[[` <- base::`[[` [18:03:01.766] `+` <- base::`+` [18:03:01.766] `<<-` <- base::`<<-` [18:03:01.766] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:01.766] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:01.766] 3L)] [18:03:01.766] } [18:03:01.766] function(cond) { [18:03:01.766] is_error <- inherits(cond, "error") [18:03:01.766] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:01.766] NULL) [18:03:01.766] if (is_error) { [18:03:01.766] sessionInformation <- function() { [18:03:01.766] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:01.766] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:01.766] search = base::search(), system = base::Sys.info()) [18:03:01.766] } [18:03:01.766] ...future.conditions[[length(...future.conditions) + [18:03:01.766] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:01.766] cond$call), session = sessionInformation(), [18:03:01.766] timestamp = base::Sys.time(), signaled = 0L) [18:03:01.766] signalCondition(cond) [18:03:01.766] } [18:03:01.766] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:01.766] "immediateCondition"))) { [18:03:01.766] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:01.766] ...future.conditions[[length(...future.conditions) + [18:03:01.766] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:01.766] if (TRUE && !signal) { [18:03:01.766] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.766] { [18:03:01.766] inherits <- base::inherits [18:03:01.766] invokeRestart <- base::invokeRestart [18:03:01.766] is.null <- base::is.null [18:03:01.766] muffled <- FALSE [18:03:01.766] if (inherits(cond, "message")) { [18:03:01.766] muffled <- grepl(pattern, "muffleMessage") [18:03:01.766] if (muffled) [18:03:01.766] invokeRestart("muffleMessage") [18:03:01.766] } [18:03:01.766] else if (inherits(cond, "warning")) { [18:03:01.766] muffled <- grepl(pattern, "muffleWarning") [18:03:01.766] if (muffled) [18:03:01.766] invokeRestart("muffleWarning") [18:03:01.766] } [18:03:01.766] else if (inherits(cond, "condition")) { [18:03:01.766] if (!is.null(pattern)) { [18:03:01.766] computeRestarts <- base::computeRestarts [18:03:01.766] grepl <- base::grepl [18:03:01.766] restarts <- computeRestarts(cond) [18:03:01.766] for (restart in restarts) { [18:03:01.766] name <- restart$name [18:03:01.766] if (is.null(name)) [18:03:01.766] next [18:03:01.766] if (!grepl(pattern, name)) [18:03:01.766] next [18:03:01.766] invokeRestart(restart) [18:03:01.766] muffled <- TRUE [18:03:01.766] break [18:03:01.766] } [18:03:01.766] } [18:03:01.766] } [18:03:01.766] invisible(muffled) [18:03:01.766] } [18:03:01.766] muffleCondition(cond, pattern = "^muffle") [18:03:01.766] } [18:03:01.766] } [18:03:01.766] else { [18:03:01.766] if (TRUE) { [18:03:01.766] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.766] { [18:03:01.766] inherits <- base::inherits [18:03:01.766] invokeRestart <- base::invokeRestart [18:03:01.766] is.null <- base::is.null [18:03:01.766] muffled <- FALSE [18:03:01.766] if (inherits(cond, "message")) { [18:03:01.766] muffled <- grepl(pattern, "muffleMessage") [18:03:01.766] if (muffled) [18:03:01.766] invokeRestart("muffleMessage") [18:03:01.766] } [18:03:01.766] else if (inherits(cond, "warning")) { [18:03:01.766] muffled <- grepl(pattern, "muffleWarning") [18:03:01.766] if (muffled) [18:03:01.766] invokeRestart("muffleWarning") [18:03:01.766] } [18:03:01.766] else if (inherits(cond, "condition")) { [18:03:01.766] if (!is.null(pattern)) { [18:03:01.766] computeRestarts <- base::computeRestarts [18:03:01.766] grepl <- base::grepl [18:03:01.766] restarts <- computeRestarts(cond) [18:03:01.766] for (restart in restarts) { [18:03:01.766] name <- restart$name [18:03:01.766] if (is.null(name)) [18:03:01.766] next [18:03:01.766] if (!grepl(pattern, name)) [18:03:01.766] next [18:03:01.766] invokeRestart(restart) [18:03:01.766] muffled <- TRUE [18:03:01.766] break [18:03:01.766] } [18:03:01.766] } [18:03:01.766] } [18:03:01.766] invisible(muffled) [18:03:01.766] } [18:03:01.766] muffleCondition(cond, pattern = "^muffle") [18:03:01.766] } [18:03:01.766] } [18:03:01.766] } [18:03:01.766] })) [18:03:01.766] }, error = function(ex) { [18:03:01.766] base::structure(base::list(value = NULL, visible = NULL, [18:03:01.766] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.766] ...future.rng), started = ...future.startTime, [18:03:01.766] finished = Sys.time(), session_uuid = NA_character_, [18:03:01.766] version = "1.8"), class = "FutureResult") [18:03:01.766] }, finally = { [18:03:01.766] if (!identical(...future.workdir, getwd())) [18:03:01.766] setwd(...future.workdir) [18:03:01.766] { [18:03:01.766] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:01.766] ...future.oldOptions$nwarnings <- NULL [18:03:01.766] } [18:03:01.766] base::options(...future.oldOptions) [18:03:01.766] if (.Platform$OS.type == "windows") { [18:03:01.766] old_names <- names(...future.oldEnvVars) [18:03:01.766] envs <- base::Sys.getenv() [18:03:01.766] names <- names(envs) [18:03:01.766] common <- intersect(names, old_names) [18:03:01.766] added <- setdiff(names, old_names) [18:03:01.766] removed <- setdiff(old_names, names) [18:03:01.766] changed <- common[...future.oldEnvVars[common] != [18:03:01.766] envs[common]] [18:03:01.766] NAMES <- toupper(changed) [18:03:01.766] args <- list() [18:03:01.766] for (kk in seq_along(NAMES)) { [18:03:01.766] name <- changed[[kk]] [18:03:01.766] NAME <- NAMES[[kk]] [18:03:01.766] if (name != NAME && is.element(NAME, old_names)) [18:03:01.766] next [18:03:01.766] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.766] } [18:03:01.766] NAMES <- toupper(added) [18:03:01.766] for (kk in seq_along(NAMES)) { [18:03:01.766] name <- added[[kk]] [18:03:01.766] NAME <- NAMES[[kk]] [18:03:01.766] if (name != NAME && is.element(NAME, old_names)) [18:03:01.766] next [18:03:01.766] args[[name]] <- "" [18:03:01.766] } [18:03:01.766] NAMES <- toupper(removed) [18:03:01.766] for (kk in seq_along(NAMES)) { [18:03:01.766] name <- removed[[kk]] [18:03:01.766] NAME <- NAMES[[kk]] [18:03:01.766] if (name != NAME && is.element(NAME, old_names)) [18:03:01.766] next [18:03:01.766] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.766] } [18:03:01.766] if (length(args) > 0) [18:03:01.766] base::do.call(base::Sys.setenv, args = args) [18:03:01.766] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:01.766] } [18:03:01.766] else { [18:03:01.766] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:01.766] } [18:03:01.766] { [18:03:01.766] if (base::length(...future.futureOptionsAdded) > [18:03:01.766] 0L) { [18:03:01.766] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:01.766] base::names(opts) <- ...future.futureOptionsAdded [18:03:01.766] base::options(opts) [18:03:01.766] } [18:03:01.766] { [18:03:01.766] { [18:03:01.766] base::options(mc.cores = ...future.mc.cores.old) [18:03:01.766] NULL [18:03:01.766] } [18:03:01.766] options(future.plan = NULL) [18:03:01.766] if (is.na(NA_character_)) [18:03:01.766] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.766] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:01.766] future::plan(list(function (..., workers = availableCores(), [18:03:01.766] lazy = FALSE, rscript_libs = .libPaths(), [18:03:01.766] envir = parent.frame()) [18:03:01.766] { [18:03:01.766] if (is.function(workers)) [18:03:01.766] workers <- workers() [18:03:01.766] workers <- structure(as.integer(workers), [18:03:01.766] class = class(workers)) [18:03:01.766] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:01.766] workers >= 1) [18:03:01.766] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:01.766] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:01.766] } [18:03:01.766] future <- MultisessionFuture(..., workers = workers, [18:03:01.766] lazy = lazy, rscript_libs = rscript_libs, [18:03:01.766] envir = envir) [18:03:01.766] if (!future$lazy) [18:03:01.766] future <- run(future) [18:03:01.766] invisible(future) [18:03:01.766] }), .cleanup = FALSE, .init = FALSE) [18:03:01.766] } [18:03:01.766] } [18:03:01.766] } [18:03:01.766] }) [18:03:01.766] if (TRUE) { [18:03:01.766] base::sink(type = "output", split = FALSE) [18:03:01.766] if (TRUE) { [18:03:01.766] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:01.766] } [18:03:01.766] else { [18:03:01.766] ...future.result["stdout"] <- base::list(NULL) [18:03:01.766] } [18:03:01.766] base::close(...future.stdout) [18:03:01.766] ...future.stdout <- NULL [18:03:01.766] } [18:03:01.766] ...future.result$conditions <- ...future.conditions [18:03:01.766] ...future.result$finished <- base::Sys.time() [18:03:01.766] ...future.result [18:03:01.766] } [18:03:01.771] Poll #1 (0): usedNodes() = 2, workers = 2 [18:03:01.825] receiveMessageFromWorker() for ClusterFuture ... [18:03:01.825] - Validating connection of MultisessionFuture [18:03:01.826] - received message: FutureResult [18:03:01.826] - Received FutureResult [18:03:01.826] - Erased future from FutureRegistry [18:03:01.826] result() for ClusterFuture ... [18:03:01.827] - result already collected: FutureResult [18:03:01.827] result() for ClusterFuture ... done [18:03:01.827] receiveMessageFromWorker() for ClusterFuture ... done [18:03:01.827] result() for ClusterFuture ... [18:03:01.827] - result already collected: FutureResult [18:03:01.827] result() for ClusterFuture ... done [18:03:01.828] result() for ClusterFuture ... [18:03:01.828] - result already collected: FutureResult [18:03:01.828] result() for ClusterFuture ... done [18:03:01.829] Exporting 1 global objects (56 bytes) to cluster node #1 ... [18:03:01.829] Exporting 'kk' (56 bytes) to cluster node #1 ... [18:03:01.829] Exporting 'kk' (56 bytes) to cluster node #1 ... DONE [18:03:01.829] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [18:03:01.830] MultisessionFuture started [18:03:01.830] - Launch lazy future ... done [18:03:01.830] run() for 'MultisessionFuture' ... done [18:03:01.831] resolve() on list ... [18:03:01.831] recursive: 0 [18:03:01.831] length: 3 [18:03:01.831] [18:03:01.831] Future #1 [18:03:01.831] length: 2 (resolved future 1) [18:03:01.895] receiveMessageFromWorker() for ClusterFuture ... [18:03:01.896] - Validating connection of MultisessionFuture [18:03:01.896] - received message: FutureResult [18:03:01.896] - Received FutureResult [18:03:01.896] - Erased future from FutureRegistry [18:03:01.897] result() for ClusterFuture ... [18:03:01.897] - result already collected: FutureResult [18:03:01.897] result() for ClusterFuture ... done [18:03:01.897] receiveMessageFromWorker() for ClusterFuture ... done [18:03:01.897] Future #2 [18:03:01.897] length: 1 (resolved future 2) [18:03:01.951] receiveMessageFromWorker() for ClusterFuture ... [18:03:01.951] - Validating connection of MultisessionFuture [18:03:01.951] - received message: FutureResult [18:03:01.952] - Received FutureResult [18:03:01.952] - Erased future from FutureRegistry [18:03:01.952] result() for ClusterFuture ... [18:03:01.952] - result already collected: FutureResult [18:03:01.952] result() for ClusterFuture ... done [18:03:01.952] receiveMessageFromWorker() for ClusterFuture ... done [18:03:01.953] Future #3 [18:03:01.953] length: 0 (resolved future 3) [18:03:01.953] resolve() on list ... DONE [18:03:01.953] getGlobalsAndPackages() ... [18:03:01.953] Searching for globals... [18:03:01.955] - globals found: [3] '{', 'Sys.sleep', 'kk' [18:03:01.955] Searching for globals ... DONE [18:03:01.955] Resolving globals: FALSE [18:03:01.956] The total size of the 1 globals is 56 bytes (56 bytes) [18:03:01.956] The total size of the 1 globals exported for future expression ('{; Sys.sleep(0.1); kk; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'kk' (56 bytes of class 'numeric') [18:03:01.956] - globals: [1] 'kk' [18:03:01.957] [18:03:01.957] getGlobalsAndPackages() ... DONE [18:03:01.957] getGlobalsAndPackages() ... [18:03:01.957] Searching for globals... [18:03:01.958] - globals found: [3] '{', 'Sys.sleep', 'kk' [18:03:01.959] Searching for globals ... DONE [18:03:01.959] Resolving globals: FALSE [18:03:01.959] The total size of the 1 globals is 56 bytes (56 bytes) [18:03:01.960] The total size of the 1 globals exported for future expression ('{; Sys.sleep(0.1); kk; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'kk' (56 bytes of class 'numeric') [18:03:01.960] - globals: [1] 'kk' [18:03:01.960] [18:03:01.960] getGlobalsAndPackages() ... DONE [18:03:01.961] getGlobalsAndPackages() ... [18:03:01.961] Searching for globals... [18:03:01.962] - globals found: [3] '{', 'Sys.sleep', 'kk' [18:03:01.962] Searching for globals ... DONE [18:03:01.962] Resolving globals: FALSE [18:03:01.963] The total size of the 1 globals is 56 bytes (56 bytes) [18:03:01.963] The total size of the 1 globals exported for future expression ('{; Sys.sleep(0.1); kk; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'kk' (56 bytes of class 'numeric') [18:03:01.963] - globals: [1] 'kk' [18:03:01.964] [18:03:01.964] getGlobalsAndPackages() ... DONE [18:03:01.964] resolve() on list ... [18:03:01.964] recursive: 0 [18:03:01.964] length: 3 [18:03:01.965] [18:03:01.965] run() for 'Future' ... [18:03:01.965] - state: 'created' [18:03:01.965] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:01.979] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:01.979] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:01.980] - Field: 'node' [18:03:01.980] - Field: 'label' [18:03:01.980] - Field: 'local' [18:03:01.980] - Field: 'owner' [18:03:01.980] - Field: 'envir' [18:03:01.981] - Field: 'workers' [18:03:01.981] - Field: 'packages' [18:03:01.981] - Field: 'gc' [18:03:01.981] - Field: 'conditions' [18:03:01.981] - Field: 'persistent' [18:03:01.981] - Field: 'expr' [18:03:01.982] - Field: 'uuid' [18:03:01.982] - Field: 'seed' [18:03:01.982] - Field: 'version' [18:03:01.982] - Field: 'result' [18:03:01.982] - Field: 'asynchronous' [18:03:01.983] - Field: 'calls' [18:03:01.983] - Field: 'globals' [18:03:01.983] - Field: 'stdout' [18:03:01.983] - Field: 'earlySignal' [18:03:01.983] - Field: 'lazy' [18:03:01.983] - Field: 'state' [18:03:01.984] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:01.984] - Launch lazy future ... [18:03:01.984] Packages needed by the future expression (n = 0): [18:03:01.984] Packages needed by future strategies (n = 0): [18:03:01.985] { [18:03:01.985] { [18:03:01.985] { [18:03:01.985] ...future.startTime <- base::Sys.time() [18:03:01.985] { [18:03:01.985] { [18:03:01.985] { [18:03:01.985] { [18:03:01.985] base::local({ [18:03:01.985] has_future <- base::requireNamespace("future", [18:03:01.985] quietly = TRUE) [18:03:01.985] if (has_future) { [18:03:01.985] ns <- base::getNamespace("future") [18:03:01.985] version <- ns[[".package"]][["version"]] [18:03:01.985] if (is.null(version)) [18:03:01.985] version <- utils::packageVersion("future") [18:03:01.985] } [18:03:01.985] else { [18:03:01.985] version <- NULL [18:03:01.985] } [18:03:01.985] if (!has_future || version < "1.8.0") { [18:03:01.985] info <- base::c(r_version = base::gsub("R version ", [18:03:01.985] "", base::R.version$version.string), [18:03:01.985] platform = base::sprintf("%s (%s-bit)", [18:03:01.985] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:01.985] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:01.985] "release", "version")], collapse = " "), [18:03:01.985] hostname = base::Sys.info()[["nodename"]]) [18:03:01.985] info <- base::sprintf("%s: %s", base::names(info), [18:03:01.985] info) [18:03:01.985] info <- base::paste(info, collapse = "; ") [18:03:01.985] if (!has_future) { [18:03:01.985] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:01.985] info) [18:03:01.985] } [18:03:01.985] else { [18:03:01.985] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:01.985] info, version) [18:03:01.985] } [18:03:01.985] base::stop(msg) [18:03:01.985] } [18:03:01.985] }) [18:03:01.985] } [18:03:01.985] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:01.985] base::options(mc.cores = 1L) [18:03:01.985] } [18:03:01.985] options(future.plan = NULL) [18:03:01.985] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.985] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:01.985] } [18:03:01.985] ...future.workdir <- getwd() [18:03:01.985] } [18:03:01.985] ...future.oldOptions <- base::as.list(base::.Options) [18:03:01.985] ...future.oldEnvVars <- base::Sys.getenv() [18:03:01.985] } [18:03:01.985] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:01.985] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:01.985] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:01.985] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:01.985] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:01.985] future.stdout.windows.reencode = NULL, width = 80L) [18:03:01.985] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:01.985] base::names(...future.oldOptions)) [18:03:01.985] } [18:03:01.985] if (FALSE) { [18:03:01.985] } [18:03:01.985] else { [18:03:01.985] if (TRUE) { [18:03:01.985] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:01.985] open = "w") [18:03:01.985] } [18:03:01.985] else { [18:03:01.985] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:01.985] windows = "NUL", "/dev/null"), open = "w") [18:03:01.985] } [18:03:01.985] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:01.985] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:01.985] base::sink(type = "output", split = FALSE) [18:03:01.985] base::close(...future.stdout) [18:03:01.985] }, add = TRUE) [18:03:01.985] } [18:03:01.985] ...future.frame <- base::sys.nframe() [18:03:01.985] ...future.conditions <- base::list() [18:03:01.985] ...future.rng <- base::globalenv()$.Random.seed [18:03:01.985] if (FALSE) { [18:03:01.985] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:01.985] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:01.985] } [18:03:01.985] ...future.result <- base::tryCatch({ [18:03:01.985] base::withCallingHandlers({ [18:03:01.985] ...future.value <- base::withVisible(base::local({ [18:03:01.985] ...future.makeSendCondition <- local({ [18:03:01.985] sendCondition <- NULL [18:03:01.985] function(frame = 1L) { [18:03:01.985] if (is.function(sendCondition)) [18:03:01.985] return(sendCondition) [18:03:01.985] ns <- getNamespace("parallel") [18:03:01.985] if (exists("sendData", mode = "function", [18:03:01.985] envir = ns)) { [18:03:01.985] parallel_sendData <- get("sendData", mode = "function", [18:03:01.985] envir = ns) [18:03:01.985] envir <- sys.frame(frame) [18:03:01.985] master <- NULL [18:03:01.985] while (!identical(envir, .GlobalEnv) && [18:03:01.985] !identical(envir, emptyenv())) { [18:03:01.985] if (exists("master", mode = "list", envir = envir, [18:03:01.985] inherits = FALSE)) { [18:03:01.985] master <- get("master", mode = "list", [18:03:01.985] envir = envir, inherits = FALSE) [18:03:01.985] if (inherits(master, c("SOCKnode", [18:03:01.985] "SOCK0node"))) { [18:03:01.985] sendCondition <<- function(cond) { [18:03:01.985] data <- list(type = "VALUE", value = cond, [18:03:01.985] success = TRUE) [18:03:01.985] parallel_sendData(master, data) [18:03:01.985] } [18:03:01.985] return(sendCondition) [18:03:01.985] } [18:03:01.985] } [18:03:01.985] frame <- frame + 1L [18:03:01.985] envir <- sys.frame(frame) [18:03:01.985] } [18:03:01.985] } [18:03:01.985] sendCondition <<- function(cond) NULL [18:03:01.985] } [18:03:01.985] }) [18:03:01.985] withCallingHandlers({ [18:03:01.985] { [18:03:01.985] Sys.sleep(0.1) [18:03:01.985] kk [18:03:01.985] } [18:03:01.985] }, immediateCondition = function(cond) { [18:03:01.985] sendCondition <- ...future.makeSendCondition() [18:03:01.985] sendCondition(cond) [18:03:01.985] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.985] { [18:03:01.985] inherits <- base::inherits [18:03:01.985] invokeRestart <- base::invokeRestart [18:03:01.985] is.null <- base::is.null [18:03:01.985] muffled <- FALSE [18:03:01.985] if (inherits(cond, "message")) { [18:03:01.985] muffled <- grepl(pattern, "muffleMessage") [18:03:01.985] if (muffled) [18:03:01.985] invokeRestart("muffleMessage") [18:03:01.985] } [18:03:01.985] else if (inherits(cond, "warning")) { [18:03:01.985] muffled <- grepl(pattern, "muffleWarning") [18:03:01.985] if (muffled) [18:03:01.985] invokeRestart("muffleWarning") [18:03:01.985] } [18:03:01.985] else if (inherits(cond, "condition")) { [18:03:01.985] if (!is.null(pattern)) { [18:03:01.985] computeRestarts <- base::computeRestarts [18:03:01.985] grepl <- base::grepl [18:03:01.985] restarts <- computeRestarts(cond) [18:03:01.985] for (restart in restarts) { [18:03:01.985] name <- restart$name [18:03:01.985] if (is.null(name)) [18:03:01.985] next [18:03:01.985] if (!grepl(pattern, name)) [18:03:01.985] next [18:03:01.985] invokeRestart(restart) [18:03:01.985] muffled <- TRUE [18:03:01.985] break [18:03:01.985] } [18:03:01.985] } [18:03:01.985] } [18:03:01.985] invisible(muffled) [18:03:01.985] } [18:03:01.985] muffleCondition(cond) [18:03:01.985] }) [18:03:01.985] })) [18:03:01.985] future::FutureResult(value = ...future.value$value, [18:03:01.985] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.985] ...future.rng), globalenv = if (FALSE) [18:03:01.985] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:01.985] ...future.globalenv.names)) [18:03:01.985] else NULL, started = ...future.startTime, version = "1.8") [18:03:01.985] }, condition = base::local({ [18:03:01.985] c <- base::c [18:03:01.985] inherits <- base::inherits [18:03:01.985] invokeRestart <- base::invokeRestart [18:03:01.985] length <- base::length [18:03:01.985] list <- base::list [18:03:01.985] seq.int <- base::seq.int [18:03:01.985] signalCondition <- base::signalCondition [18:03:01.985] sys.calls <- base::sys.calls [18:03:01.985] `[[` <- base::`[[` [18:03:01.985] `+` <- base::`+` [18:03:01.985] `<<-` <- base::`<<-` [18:03:01.985] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:01.985] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:01.985] 3L)] [18:03:01.985] } [18:03:01.985] function(cond) { [18:03:01.985] is_error <- inherits(cond, "error") [18:03:01.985] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:01.985] NULL) [18:03:01.985] if (is_error) { [18:03:01.985] sessionInformation <- function() { [18:03:01.985] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:01.985] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:01.985] search = base::search(), system = base::Sys.info()) [18:03:01.985] } [18:03:01.985] ...future.conditions[[length(...future.conditions) + [18:03:01.985] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:01.985] cond$call), session = sessionInformation(), [18:03:01.985] timestamp = base::Sys.time(), signaled = 0L) [18:03:01.985] signalCondition(cond) [18:03:01.985] } [18:03:01.985] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:01.985] "immediateCondition"))) { [18:03:01.985] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:01.985] ...future.conditions[[length(...future.conditions) + [18:03:01.985] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:01.985] if (TRUE && !signal) { [18:03:01.985] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.985] { [18:03:01.985] inherits <- base::inherits [18:03:01.985] invokeRestart <- base::invokeRestart [18:03:01.985] is.null <- base::is.null [18:03:01.985] muffled <- FALSE [18:03:01.985] if (inherits(cond, "message")) { [18:03:01.985] muffled <- grepl(pattern, "muffleMessage") [18:03:01.985] if (muffled) [18:03:01.985] invokeRestart("muffleMessage") [18:03:01.985] } [18:03:01.985] else if (inherits(cond, "warning")) { [18:03:01.985] muffled <- grepl(pattern, "muffleWarning") [18:03:01.985] if (muffled) [18:03:01.985] invokeRestart("muffleWarning") [18:03:01.985] } [18:03:01.985] else if (inherits(cond, "condition")) { [18:03:01.985] if (!is.null(pattern)) { [18:03:01.985] computeRestarts <- base::computeRestarts [18:03:01.985] grepl <- base::grepl [18:03:01.985] restarts <- computeRestarts(cond) [18:03:01.985] for (restart in restarts) { [18:03:01.985] name <- restart$name [18:03:01.985] if (is.null(name)) [18:03:01.985] next [18:03:01.985] if (!grepl(pattern, name)) [18:03:01.985] next [18:03:01.985] invokeRestart(restart) [18:03:01.985] muffled <- TRUE [18:03:01.985] break [18:03:01.985] } [18:03:01.985] } [18:03:01.985] } [18:03:01.985] invisible(muffled) [18:03:01.985] } [18:03:01.985] muffleCondition(cond, pattern = "^muffle") [18:03:01.985] } [18:03:01.985] } [18:03:01.985] else { [18:03:01.985] if (TRUE) { [18:03:01.985] muffleCondition <- function (cond, pattern = "^muffle") [18:03:01.985] { [18:03:01.985] inherits <- base::inherits [18:03:01.985] invokeRestart <- base::invokeRestart [18:03:01.985] is.null <- base::is.null [18:03:01.985] muffled <- FALSE [18:03:01.985] if (inherits(cond, "message")) { [18:03:01.985] muffled <- grepl(pattern, "muffleMessage") [18:03:01.985] if (muffled) [18:03:01.985] invokeRestart("muffleMessage") [18:03:01.985] } [18:03:01.985] else if (inherits(cond, "warning")) { [18:03:01.985] muffled <- grepl(pattern, "muffleWarning") [18:03:01.985] if (muffled) [18:03:01.985] invokeRestart("muffleWarning") [18:03:01.985] } [18:03:01.985] else if (inherits(cond, "condition")) { [18:03:01.985] if (!is.null(pattern)) { [18:03:01.985] computeRestarts <- base::computeRestarts [18:03:01.985] grepl <- base::grepl [18:03:01.985] restarts <- computeRestarts(cond) [18:03:01.985] for (restart in restarts) { [18:03:01.985] name <- restart$name [18:03:01.985] if (is.null(name)) [18:03:01.985] next [18:03:01.985] if (!grepl(pattern, name)) [18:03:01.985] next [18:03:01.985] invokeRestart(restart) [18:03:01.985] muffled <- TRUE [18:03:01.985] break [18:03:01.985] } [18:03:01.985] } [18:03:01.985] } [18:03:01.985] invisible(muffled) [18:03:01.985] } [18:03:01.985] muffleCondition(cond, pattern = "^muffle") [18:03:01.985] } [18:03:01.985] } [18:03:01.985] } [18:03:01.985] })) [18:03:01.985] }, error = function(ex) { [18:03:01.985] base::structure(base::list(value = NULL, visible = NULL, [18:03:01.985] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:01.985] ...future.rng), started = ...future.startTime, [18:03:01.985] finished = Sys.time(), session_uuid = NA_character_, [18:03:01.985] version = "1.8"), class = "FutureResult") [18:03:01.985] }, finally = { [18:03:01.985] if (!identical(...future.workdir, getwd())) [18:03:01.985] setwd(...future.workdir) [18:03:01.985] { [18:03:01.985] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:01.985] ...future.oldOptions$nwarnings <- NULL [18:03:01.985] } [18:03:01.985] base::options(...future.oldOptions) [18:03:01.985] if (.Platform$OS.type == "windows") { [18:03:01.985] old_names <- names(...future.oldEnvVars) [18:03:01.985] envs <- base::Sys.getenv() [18:03:01.985] names <- names(envs) [18:03:01.985] common <- intersect(names, old_names) [18:03:01.985] added <- setdiff(names, old_names) [18:03:01.985] removed <- setdiff(old_names, names) [18:03:01.985] changed <- common[...future.oldEnvVars[common] != [18:03:01.985] envs[common]] [18:03:01.985] NAMES <- toupper(changed) [18:03:01.985] args <- list() [18:03:01.985] for (kk in seq_along(NAMES)) { [18:03:01.985] name <- changed[[kk]] [18:03:01.985] NAME <- NAMES[[kk]] [18:03:01.985] if (name != NAME && is.element(NAME, old_names)) [18:03:01.985] next [18:03:01.985] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.985] } [18:03:01.985] NAMES <- toupper(added) [18:03:01.985] for (kk in seq_along(NAMES)) { [18:03:01.985] name <- added[[kk]] [18:03:01.985] NAME <- NAMES[[kk]] [18:03:01.985] if (name != NAME && is.element(NAME, old_names)) [18:03:01.985] next [18:03:01.985] args[[name]] <- "" [18:03:01.985] } [18:03:01.985] NAMES <- toupper(removed) [18:03:01.985] for (kk in seq_along(NAMES)) { [18:03:01.985] name <- removed[[kk]] [18:03:01.985] NAME <- NAMES[[kk]] [18:03:01.985] if (name != NAME && is.element(NAME, old_names)) [18:03:01.985] next [18:03:01.985] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:01.985] } [18:03:01.985] if (length(args) > 0) [18:03:01.985] base::do.call(base::Sys.setenv, args = args) [18:03:01.985] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:01.985] } [18:03:01.985] else { [18:03:01.985] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:01.985] } [18:03:01.985] { [18:03:01.985] if (base::length(...future.futureOptionsAdded) > [18:03:01.985] 0L) { [18:03:01.985] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:01.985] base::names(opts) <- ...future.futureOptionsAdded [18:03:01.985] base::options(opts) [18:03:01.985] } [18:03:01.985] { [18:03:01.985] { [18:03:01.985] base::options(mc.cores = ...future.mc.cores.old) [18:03:01.985] NULL [18:03:01.985] } [18:03:01.985] options(future.plan = NULL) [18:03:01.985] if (is.na(NA_character_)) [18:03:01.985] Sys.unsetenv("R_FUTURE_PLAN") [18:03:01.985] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:01.985] future::plan(list(function (..., workers = availableCores(), [18:03:01.985] lazy = FALSE, rscript_libs = .libPaths(), [18:03:01.985] envir = parent.frame()) [18:03:01.985] { [18:03:01.985] if (is.function(workers)) [18:03:01.985] workers <- workers() [18:03:01.985] workers <- structure(as.integer(workers), [18:03:01.985] class = class(workers)) [18:03:01.985] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:01.985] workers >= 1) [18:03:01.985] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:01.985] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:01.985] } [18:03:01.985] future <- MultisessionFuture(..., workers = workers, [18:03:01.985] lazy = lazy, rscript_libs = rscript_libs, [18:03:01.985] envir = envir) [18:03:01.985] if (!future$lazy) [18:03:01.985] future <- run(future) [18:03:01.985] invisible(future) [18:03:01.985] }), .cleanup = FALSE, .init = FALSE) [18:03:01.985] } [18:03:01.985] } [18:03:01.985] } [18:03:01.985] }) [18:03:01.985] if (TRUE) { [18:03:01.985] base::sink(type = "output", split = FALSE) [18:03:01.985] if (TRUE) { [18:03:01.985] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:01.985] } [18:03:01.985] else { [18:03:01.985] ...future.result["stdout"] <- base::list(NULL) [18:03:01.985] } [18:03:01.985] base::close(...future.stdout) [18:03:01.985] ...future.stdout <- NULL [18:03:01.985] } [18:03:01.985] ...future.result$conditions <- ...future.conditions [18:03:01.985] ...future.result$finished <- base::Sys.time() [18:03:01.985] ...future.result [18:03:01.985] } [18:03:01.990] Exporting 1 global objects (56 bytes) to cluster node #1 ... [18:03:01.991] Exporting 'kk' (56 bytes) to cluster node #1 ... [18:03:01.991] Exporting 'kk' (56 bytes) to cluster node #1 ... DONE [18:03:01.991] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [18:03:01.992] MultisessionFuture started [18:03:01.992] - Launch lazy future ... done [18:03:01.992] run() for 'MultisessionFuture' ... done [18:03:02.123] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.124] - Validating connection of MultisessionFuture [18:03:02.124] - received message: FutureResult [18:03:02.124] - Received FutureResult [18:03:02.124] - Erased future from FutureRegistry [18:03:02.125] result() for ClusterFuture ... [18:03:02.125] - result already collected: FutureResult [18:03:02.125] result() for ClusterFuture ... done [18:03:02.125] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.125] Future #1 [18:03:02.125] length: 2 (resolved future 1) [18:03:02.126] run() for 'Future' ... [18:03:02.126] - state: 'created' [18:03:02.126] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.140] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.140] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.140] - Field: 'node' [18:03:02.140] - Field: 'label' [18:03:02.140] - Field: 'local' [18:03:02.141] - Field: 'owner' [18:03:02.141] - Field: 'envir' [18:03:02.141] - Field: 'workers' [18:03:02.141] - Field: 'packages' [18:03:02.141] - Field: 'gc' [18:03:02.142] - Field: 'conditions' [18:03:02.142] - Field: 'persistent' [18:03:02.142] - Field: 'expr' [18:03:02.142] - Field: 'uuid' [18:03:02.142] - Field: 'seed' [18:03:02.142] - Field: 'version' [18:03:02.143] - Field: 'result' [18:03:02.143] - Field: 'asynchronous' [18:03:02.143] - Field: 'calls' [18:03:02.143] - Field: 'globals' [18:03:02.143] - Field: 'stdout' [18:03:02.143] - Field: 'earlySignal' [18:03:02.144] - Field: 'lazy' [18:03:02.144] - Field: 'state' [18:03:02.144] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.144] - Launch lazy future ... [18:03:02.145] Packages needed by the future expression (n = 0): [18:03:02.145] Packages needed by future strategies (n = 0): [18:03:02.145] { [18:03:02.145] { [18:03:02.145] { [18:03:02.145] ...future.startTime <- base::Sys.time() [18:03:02.145] { [18:03:02.145] { [18:03:02.145] { [18:03:02.145] { [18:03:02.145] base::local({ [18:03:02.145] has_future <- base::requireNamespace("future", [18:03:02.145] quietly = TRUE) [18:03:02.145] if (has_future) { [18:03:02.145] ns <- base::getNamespace("future") [18:03:02.145] version <- ns[[".package"]][["version"]] [18:03:02.145] if (is.null(version)) [18:03:02.145] version <- utils::packageVersion("future") [18:03:02.145] } [18:03:02.145] else { [18:03:02.145] version <- NULL [18:03:02.145] } [18:03:02.145] if (!has_future || version < "1.8.0") { [18:03:02.145] info <- base::c(r_version = base::gsub("R version ", [18:03:02.145] "", base::R.version$version.string), [18:03:02.145] platform = base::sprintf("%s (%s-bit)", [18:03:02.145] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.145] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.145] "release", "version")], collapse = " "), [18:03:02.145] hostname = base::Sys.info()[["nodename"]]) [18:03:02.145] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.145] info) [18:03:02.145] info <- base::paste(info, collapse = "; ") [18:03:02.145] if (!has_future) { [18:03:02.145] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.145] info) [18:03:02.145] } [18:03:02.145] else { [18:03:02.145] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.145] info, version) [18:03:02.145] } [18:03:02.145] base::stop(msg) [18:03:02.145] } [18:03:02.145] }) [18:03:02.145] } [18:03:02.145] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.145] base::options(mc.cores = 1L) [18:03:02.145] } [18:03:02.145] options(future.plan = NULL) [18:03:02.145] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.145] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.145] } [18:03:02.145] ...future.workdir <- getwd() [18:03:02.145] } [18:03:02.145] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.145] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.145] } [18:03:02.145] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.145] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.145] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.145] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.145] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.145] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.145] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.145] base::names(...future.oldOptions)) [18:03:02.145] } [18:03:02.145] if (FALSE) { [18:03:02.145] } [18:03:02.145] else { [18:03:02.145] if (TRUE) { [18:03:02.145] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.145] open = "w") [18:03:02.145] } [18:03:02.145] else { [18:03:02.145] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.145] windows = "NUL", "/dev/null"), open = "w") [18:03:02.145] } [18:03:02.145] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.145] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.145] base::sink(type = "output", split = FALSE) [18:03:02.145] base::close(...future.stdout) [18:03:02.145] }, add = TRUE) [18:03:02.145] } [18:03:02.145] ...future.frame <- base::sys.nframe() [18:03:02.145] ...future.conditions <- base::list() [18:03:02.145] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.145] if (FALSE) { [18:03:02.145] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.145] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.145] } [18:03:02.145] ...future.result <- base::tryCatch({ [18:03:02.145] base::withCallingHandlers({ [18:03:02.145] ...future.value <- base::withVisible(base::local({ [18:03:02.145] ...future.makeSendCondition <- local({ [18:03:02.145] sendCondition <- NULL [18:03:02.145] function(frame = 1L) { [18:03:02.145] if (is.function(sendCondition)) [18:03:02.145] return(sendCondition) [18:03:02.145] ns <- getNamespace("parallel") [18:03:02.145] if (exists("sendData", mode = "function", [18:03:02.145] envir = ns)) { [18:03:02.145] parallel_sendData <- get("sendData", mode = "function", [18:03:02.145] envir = ns) [18:03:02.145] envir <- sys.frame(frame) [18:03:02.145] master <- NULL [18:03:02.145] while (!identical(envir, .GlobalEnv) && [18:03:02.145] !identical(envir, emptyenv())) { [18:03:02.145] if (exists("master", mode = "list", envir = envir, [18:03:02.145] inherits = FALSE)) { [18:03:02.145] master <- get("master", mode = "list", [18:03:02.145] envir = envir, inherits = FALSE) [18:03:02.145] if (inherits(master, c("SOCKnode", [18:03:02.145] "SOCK0node"))) { [18:03:02.145] sendCondition <<- function(cond) { [18:03:02.145] data <- list(type = "VALUE", value = cond, [18:03:02.145] success = TRUE) [18:03:02.145] parallel_sendData(master, data) [18:03:02.145] } [18:03:02.145] return(sendCondition) [18:03:02.145] } [18:03:02.145] } [18:03:02.145] frame <- frame + 1L [18:03:02.145] envir <- sys.frame(frame) [18:03:02.145] } [18:03:02.145] } [18:03:02.145] sendCondition <<- function(cond) NULL [18:03:02.145] } [18:03:02.145] }) [18:03:02.145] withCallingHandlers({ [18:03:02.145] { [18:03:02.145] Sys.sleep(0.1) [18:03:02.145] kk [18:03:02.145] } [18:03:02.145] }, immediateCondition = function(cond) { [18:03:02.145] sendCondition <- ...future.makeSendCondition() [18:03:02.145] sendCondition(cond) [18:03:02.145] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.145] { [18:03:02.145] inherits <- base::inherits [18:03:02.145] invokeRestart <- base::invokeRestart [18:03:02.145] is.null <- base::is.null [18:03:02.145] muffled <- FALSE [18:03:02.145] if (inherits(cond, "message")) { [18:03:02.145] muffled <- grepl(pattern, "muffleMessage") [18:03:02.145] if (muffled) [18:03:02.145] invokeRestart("muffleMessage") [18:03:02.145] } [18:03:02.145] else if (inherits(cond, "warning")) { [18:03:02.145] muffled <- grepl(pattern, "muffleWarning") [18:03:02.145] if (muffled) [18:03:02.145] invokeRestart("muffleWarning") [18:03:02.145] } [18:03:02.145] else if (inherits(cond, "condition")) { [18:03:02.145] if (!is.null(pattern)) { [18:03:02.145] computeRestarts <- base::computeRestarts [18:03:02.145] grepl <- base::grepl [18:03:02.145] restarts <- computeRestarts(cond) [18:03:02.145] for (restart in restarts) { [18:03:02.145] name <- restart$name [18:03:02.145] if (is.null(name)) [18:03:02.145] next [18:03:02.145] if (!grepl(pattern, name)) [18:03:02.145] next [18:03:02.145] invokeRestart(restart) [18:03:02.145] muffled <- TRUE [18:03:02.145] break [18:03:02.145] } [18:03:02.145] } [18:03:02.145] } [18:03:02.145] invisible(muffled) [18:03:02.145] } [18:03:02.145] muffleCondition(cond) [18:03:02.145] }) [18:03:02.145] })) [18:03:02.145] future::FutureResult(value = ...future.value$value, [18:03:02.145] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.145] ...future.rng), globalenv = if (FALSE) [18:03:02.145] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.145] ...future.globalenv.names)) [18:03:02.145] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.145] }, condition = base::local({ [18:03:02.145] c <- base::c [18:03:02.145] inherits <- base::inherits [18:03:02.145] invokeRestart <- base::invokeRestart [18:03:02.145] length <- base::length [18:03:02.145] list <- base::list [18:03:02.145] seq.int <- base::seq.int [18:03:02.145] signalCondition <- base::signalCondition [18:03:02.145] sys.calls <- base::sys.calls [18:03:02.145] `[[` <- base::`[[` [18:03:02.145] `+` <- base::`+` [18:03:02.145] `<<-` <- base::`<<-` [18:03:02.145] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.145] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.145] 3L)] [18:03:02.145] } [18:03:02.145] function(cond) { [18:03:02.145] is_error <- inherits(cond, "error") [18:03:02.145] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.145] NULL) [18:03:02.145] if (is_error) { [18:03:02.145] sessionInformation <- function() { [18:03:02.145] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.145] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.145] search = base::search(), system = base::Sys.info()) [18:03:02.145] } [18:03:02.145] ...future.conditions[[length(...future.conditions) + [18:03:02.145] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.145] cond$call), session = sessionInformation(), [18:03:02.145] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.145] signalCondition(cond) [18:03:02.145] } [18:03:02.145] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.145] "immediateCondition"))) { [18:03:02.145] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.145] ...future.conditions[[length(...future.conditions) + [18:03:02.145] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.145] if (TRUE && !signal) { [18:03:02.145] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.145] { [18:03:02.145] inherits <- base::inherits [18:03:02.145] invokeRestart <- base::invokeRestart [18:03:02.145] is.null <- base::is.null [18:03:02.145] muffled <- FALSE [18:03:02.145] if (inherits(cond, "message")) { [18:03:02.145] muffled <- grepl(pattern, "muffleMessage") [18:03:02.145] if (muffled) [18:03:02.145] invokeRestart("muffleMessage") [18:03:02.145] } [18:03:02.145] else if (inherits(cond, "warning")) { [18:03:02.145] muffled <- grepl(pattern, "muffleWarning") [18:03:02.145] if (muffled) [18:03:02.145] invokeRestart("muffleWarning") [18:03:02.145] } [18:03:02.145] else if (inherits(cond, "condition")) { [18:03:02.145] if (!is.null(pattern)) { [18:03:02.145] computeRestarts <- base::computeRestarts [18:03:02.145] grepl <- base::grepl [18:03:02.145] restarts <- computeRestarts(cond) [18:03:02.145] for (restart in restarts) { [18:03:02.145] name <- restart$name [18:03:02.145] if (is.null(name)) [18:03:02.145] next [18:03:02.145] if (!grepl(pattern, name)) [18:03:02.145] next [18:03:02.145] invokeRestart(restart) [18:03:02.145] muffled <- TRUE [18:03:02.145] break [18:03:02.145] } [18:03:02.145] } [18:03:02.145] } [18:03:02.145] invisible(muffled) [18:03:02.145] } [18:03:02.145] muffleCondition(cond, pattern = "^muffle") [18:03:02.145] } [18:03:02.145] } [18:03:02.145] else { [18:03:02.145] if (TRUE) { [18:03:02.145] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.145] { [18:03:02.145] inherits <- base::inherits [18:03:02.145] invokeRestart <- base::invokeRestart [18:03:02.145] is.null <- base::is.null [18:03:02.145] muffled <- FALSE [18:03:02.145] if (inherits(cond, "message")) { [18:03:02.145] muffled <- grepl(pattern, "muffleMessage") [18:03:02.145] if (muffled) [18:03:02.145] invokeRestart("muffleMessage") [18:03:02.145] } [18:03:02.145] else if (inherits(cond, "warning")) { [18:03:02.145] muffled <- grepl(pattern, "muffleWarning") [18:03:02.145] if (muffled) [18:03:02.145] invokeRestart("muffleWarning") [18:03:02.145] } [18:03:02.145] else if (inherits(cond, "condition")) { [18:03:02.145] if (!is.null(pattern)) { [18:03:02.145] computeRestarts <- base::computeRestarts [18:03:02.145] grepl <- base::grepl [18:03:02.145] restarts <- computeRestarts(cond) [18:03:02.145] for (restart in restarts) { [18:03:02.145] name <- restart$name [18:03:02.145] if (is.null(name)) [18:03:02.145] next [18:03:02.145] if (!grepl(pattern, name)) [18:03:02.145] next [18:03:02.145] invokeRestart(restart) [18:03:02.145] muffled <- TRUE [18:03:02.145] break [18:03:02.145] } [18:03:02.145] } [18:03:02.145] } [18:03:02.145] invisible(muffled) [18:03:02.145] } [18:03:02.145] muffleCondition(cond, pattern = "^muffle") [18:03:02.145] } [18:03:02.145] } [18:03:02.145] } [18:03:02.145] })) [18:03:02.145] }, error = function(ex) { [18:03:02.145] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.145] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.145] ...future.rng), started = ...future.startTime, [18:03:02.145] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.145] version = "1.8"), class = "FutureResult") [18:03:02.145] }, finally = { [18:03:02.145] if (!identical(...future.workdir, getwd())) [18:03:02.145] setwd(...future.workdir) [18:03:02.145] { [18:03:02.145] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.145] ...future.oldOptions$nwarnings <- NULL [18:03:02.145] } [18:03:02.145] base::options(...future.oldOptions) [18:03:02.145] if (.Platform$OS.type == "windows") { [18:03:02.145] old_names <- names(...future.oldEnvVars) [18:03:02.145] envs <- base::Sys.getenv() [18:03:02.145] names <- names(envs) [18:03:02.145] common <- intersect(names, old_names) [18:03:02.145] added <- setdiff(names, old_names) [18:03:02.145] removed <- setdiff(old_names, names) [18:03:02.145] changed <- common[...future.oldEnvVars[common] != [18:03:02.145] envs[common]] [18:03:02.145] NAMES <- toupper(changed) [18:03:02.145] args <- list() [18:03:02.145] for (kk in seq_along(NAMES)) { [18:03:02.145] name <- changed[[kk]] [18:03:02.145] NAME <- NAMES[[kk]] [18:03:02.145] if (name != NAME && is.element(NAME, old_names)) [18:03:02.145] next [18:03:02.145] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.145] } [18:03:02.145] NAMES <- toupper(added) [18:03:02.145] for (kk in seq_along(NAMES)) { [18:03:02.145] name <- added[[kk]] [18:03:02.145] NAME <- NAMES[[kk]] [18:03:02.145] if (name != NAME && is.element(NAME, old_names)) [18:03:02.145] next [18:03:02.145] args[[name]] <- "" [18:03:02.145] } [18:03:02.145] NAMES <- toupper(removed) [18:03:02.145] for (kk in seq_along(NAMES)) { [18:03:02.145] name <- removed[[kk]] [18:03:02.145] NAME <- NAMES[[kk]] [18:03:02.145] if (name != NAME && is.element(NAME, old_names)) [18:03:02.145] next [18:03:02.145] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.145] } [18:03:02.145] if (length(args) > 0) [18:03:02.145] base::do.call(base::Sys.setenv, args = args) [18:03:02.145] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.145] } [18:03:02.145] else { [18:03:02.145] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.145] } [18:03:02.145] { [18:03:02.145] if (base::length(...future.futureOptionsAdded) > [18:03:02.145] 0L) { [18:03:02.145] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.145] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.145] base::options(opts) [18:03:02.145] } [18:03:02.145] { [18:03:02.145] { [18:03:02.145] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.145] NULL [18:03:02.145] } [18:03:02.145] options(future.plan = NULL) [18:03:02.145] if (is.na(NA_character_)) [18:03:02.145] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.145] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.145] future::plan(list(function (..., workers = availableCores(), [18:03:02.145] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.145] envir = parent.frame()) [18:03:02.145] { [18:03:02.145] if (is.function(workers)) [18:03:02.145] workers <- workers() [18:03:02.145] workers <- structure(as.integer(workers), [18:03:02.145] class = class(workers)) [18:03:02.145] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.145] workers >= 1) [18:03:02.145] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.145] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.145] } [18:03:02.145] future <- MultisessionFuture(..., workers = workers, [18:03:02.145] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.145] envir = envir) [18:03:02.145] if (!future$lazy) [18:03:02.145] future <- run(future) [18:03:02.145] invisible(future) [18:03:02.145] }), .cleanup = FALSE, .init = FALSE) [18:03:02.145] } [18:03:02.145] } [18:03:02.145] } [18:03:02.145] }) [18:03:02.145] if (TRUE) { [18:03:02.145] base::sink(type = "output", split = FALSE) [18:03:02.145] if (TRUE) { [18:03:02.145] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.145] } [18:03:02.145] else { [18:03:02.145] ...future.result["stdout"] <- base::list(NULL) [18:03:02.145] } [18:03:02.145] base::close(...future.stdout) [18:03:02.145] ...future.stdout <- NULL [18:03:02.145] } [18:03:02.145] ...future.result$conditions <- ...future.conditions [18:03:02.145] ...future.result$finished <- base::Sys.time() [18:03:02.145] ...future.result [18:03:02.145] } [18:03:02.151] Exporting 1 global objects (56 bytes) to cluster node #1 ... [18:03:02.151] Exporting 'kk' (56 bytes) to cluster node #1 ... [18:03:02.151] Exporting 'kk' (56 bytes) to cluster node #1 ... DONE [18:03:02.152] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [18:03:02.152] MultisessionFuture started [18:03:02.152] - Launch lazy future ... done [18:03:02.153] run() for 'MultisessionFuture' ... done [18:03:02.278] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.279] - Validating connection of MultisessionFuture [18:03:02.279] - received message: FutureResult [18:03:02.279] - Received FutureResult [18:03:02.279] - Erased future from FutureRegistry [18:03:02.280] result() for ClusterFuture ... [18:03:02.280] - result already collected: FutureResult [18:03:02.280] result() for ClusterFuture ... done [18:03:02.280] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.280] Future #2 [18:03:02.280] length: 1 (resolved future 2) [18:03:02.281] run() for 'Future' ... [18:03:02.281] - state: 'created' [18:03:02.281] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.294] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.295] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.295] - Field: 'node' [18:03:02.295] - Field: 'label' [18:03:02.295] - Field: 'local' [18:03:02.295] - Field: 'owner' [18:03:02.296] - Field: 'envir' [18:03:02.296] - Field: 'workers' [18:03:02.296] - Field: 'packages' [18:03:02.296] - Field: 'gc' [18:03:02.296] - Field: 'conditions' [18:03:02.297] - Field: 'persistent' [18:03:02.297] - Field: 'expr' [18:03:02.297] - Field: 'uuid' [18:03:02.297] - Field: 'seed' [18:03:02.297] - Field: 'version' [18:03:02.297] - Field: 'result' [18:03:02.298] - Field: 'asynchronous' [18:03:02.298] - Field: 'calls' [18:03:02.298] - Field: 'globals' [18:03:02.298] - Field: 'stdout' [18:03:02.298] - Field: 'earlySignal' [18:03:02.299] - Field: 'lazy' [18:03:02.299] - Field: 'state' [18:03:02.299] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.299] - Launch lazy future ... [18:03:02.299] Packages needed by the future expression (n = 0): [18:03:02.300] Packages needed by future strategies (n = 0): [18:03:02.300] { [18:03:02.300] { [18:03:02.300] { [18:03:02.300] ...future.startTime <- base::Sys.time() [18:03:02.300] { [18:03:02.300] { [18:03:02.300] { [18:03:02.300] { [18:03:02.300] base::local({ [18:03:02.300] has_future <- base::requireNamespace("future", [18:03:02.300] quietly = TRUE) [18:03:02.300] if (has_future) { [18:03:02.300] ns <- base::getNamespace("future") [18:03:02.300] version <- ns[[".package"]][["version"]] [18:03:02.300] if (is.null(version)) [18:03:02.300] version <- utils::packageVersion("future") [18:03:02.300] } [18:03:02.300] else { [18:03:02.300] version <- NULL [18:03:02.300] } [18:03:02.300] if (!has_future || version < "1.8.0") { [18:03:02.300] info <- base::c(r_version = base::gsub("R version ", [18:03:02.300] "", base::R.version$version.string), [18:03:02.300] platform = base::sprintf("%s (%s-bit)", [18:03:02.300] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.300] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.300] "release", "version")], collapse = " "), [18:03:02.300] hostname = base::Sys.info()[["nodename"]]) [18:03:02.300] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.300] info) [18:03:02.300] info <- base::paste(info, collapse = "; ") [18:03:02.300] if (!has_future) { [18:03:02.300] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.300] info) [18:03:02.300] } [18:03:02.300] else { [18:03:02.300] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.300] info, version) [18:03:02.300] } [18:03:02.300] base::stop(msg) [18:03:02.300] } [18:03:02.300] }) [18:03:02.300] } [18:03:02.300] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.300] base::options(mc.cores = 1L) [18:03:02.300] } [18:03:02.300] options(future.plan = NULL) [18:03:02.300] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.300] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.300] } [18:03:02.300] ...future.workdir <- getwd() [18:03:02.300] } [18:03:02.300] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.300] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.300] } [18:03:02.300] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.300] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.300] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.300] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.300] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.300] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.300] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.300] base::names(...future.oldOptions)) [18:03:02.300] } [18:03:02.300] if (FALSE) { [18:03:02.300] } [18:03:02.300] else { [18:03:02.300] if (TRUE) { [18:03:02.300] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.300] open = "w") [18:03:02.300] } [18:03:02.300] else { [18:03:02.300] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.300] windows = "NUL", "/dev/null"), open = "w") [18:03:02.300] } [18:03:02.300] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.300] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.300] base::sink(type = "output", split = FALSE) [18:03:02.300] base::close(...future.stdout) [18:03:02.300] }, add = TRUE) [18:03:02.300] } [18:03:02.300] ...future.frame <- base::sys.nframe() [18:03:02.300] ...future.conditions <- base::list() [18:03:02.300] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.300] if (FALSE) { [18:03:02.300] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.300] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.300] } [18:03:02.300] ...future.result <- base::tryCatch({ [18:03:02.300] base::withCallingHandlers({ [18:03:02.300] ...future.value <- base::withVisible(base::local({ [18:03:02.300] ...future.makeSendCondition <- local({ [18:03:02.300] sendCondition <- NULL [18:03:02.300] function(frame = 1L) { [18:03:02.300] if (is.function(sendCondition)) [18:03:02.300] return(sendCondition) [18:03:02.300] ns <- getNamespace("parallel") [18:03:02.300] if (exists("sendData", mode = "function", [18:03:02.300] envir = ns)) { [18:03:02.300] parallel_sendData <- get("sendData", mode = "function", [18:03:02.300] envir = ns) [18:03:02.300] envir <- sys.frame(frame) [18:03:02.300] master <- NULL [18:03:02.300] while (!identical(envir, .GlobalEnv) && [18:03:02.300] !identical(envir, emptyenv())) { [18:03:02.300] if (exists("master", mode = "list", envir = envir, [18:03:02.300] inherits = FALSE)) { [18:03:02.300] master <- get("master", mode = "list", [18:03:02.300] envir = envir, inherits = FALSE) [18:03:02.300] if (inherits(master, c("SOCKnode", [18:03:02.300] "SOCK0node"))) { [18:03:02.300] sendCondition <<- function(cond) { [18:03:02.300] data <- list(type = "VALUE", value = cond, [18:03:02.300] success = TRUE) [18:03:02.300] parallel_sendData(master, data) [18:03:02.300] } [18:03:02.300] return(sendCondition) [18:03:02.300] } [18:03:02.300] } [18:03:02.300] frame <- frame + 1L [18:03:02.300] envir <- sys.frame(frame) [18:03:02.300] } [18:03:02.300] } [18:03:02.300] sendCondition <<- function(cond) NULL [18:03:02.300] } [18:03:02.300] }) [18:03:02.300] withCallingHandlers({ [18:03:02.300] { [18:03:02.300] Sys.sleep(0.1) [18:03:02.300] kk [18:03:02.300] } [18:03:02.300] }, immediateCondition = function(cond) { [18:03:02.300] sendCondition <- ...future.makeSendCondition() [18:03:02.300] sendCondition(cond) [18:03:02.300] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.300] { [18:03:02.300] inherits <- base::inherits [18:03:02.300] invokeRestart <- base::invokeRestart [18:03:02.300] is.null <- base::is.null [18:03:02.300] muffled <- FALSE [18:03:02.300] if (inherits(cond, "message")) { [18:03:02.300] muffled <- grepl(pattern, "muffleMessage") [18:03:02.300] if (muffled) [18:03:02.300] invokeRestart("muffleMessage") [18:03:02.300] } [18:03:02.300] else if (inherits(cond, "warning")) { [18:03:02.300] muffled <- grepl(pattern, "muffleWarning") [18:03:02.300] if (muffled) [18:03:02.300] invokeRestart("muffleWarning") [18:03:02.300] } [18:03:02.300] else if (inherits(cond, "condition")) { [18:03:02.300] if (!is.null(pattern)) { [18:03:02.300] computeRestarts <- base::computeRestarts [18:03:02.300] grepl <- base::grepl [18:03:02.300] restarts <- computeRestarts(cond) [18:03:02.300] for (restart in restarts) { [18:03:02.300] name <- restart$name [18:03:02.300] if (is.null(name)) [18:03:02.300] next [18:03:02.300] if (!grepl(pattern, name)) [18:03:02.300] next [18:03:02.300] invokeRestart(restart) [18:03:02.300] muffled <- TRUE [18:03:02.300] break [18:03:02.300] } [18:03:02.300] } [18:03:02.300] } [18:03:02.300] invisible(muffled) [18:03:02.300] } [18:03:02.300] muffleCondition(cond) [18:03:02.300] }) [18:03:02.300] })) [18:03:02.300] future::FutureResult(value = ...future.value$value, [18:03:02.300] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.300] ...future.rng), globalenv = if (FALSE) [18:03:02.300] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.300] ...future.globalenv.names)) [18:03:02.300] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.300] }, condition = base::local({ [18:03:02.300] c <- base::c [18:03:02.300] inherits <- base::inherits [18:03:02.300] invokeRestart <- base::invokeRestart [18:03:02.300] length <- base::length [18:03:02.300] list <- base::list [18:03:02.300] seq.int <- base::seq.int [18:03:02.300] signalCondition <- base::signalCondition [18:03:02.300] sys.calls <- base::sys.calls [18:03:02.300] `[[` <- base::`[[` [18:03:02.300] `+` <- base::`+` [18:03:02.300] `<<-` <- base::`<<-` [18:03:02.300] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.300] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.300] 3L)] [18:03:02.300] } [18:03:02.300] function(cond) { [18:03:02.300] is_error <- inherits(cond, "error") [18:03:02.300] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.300] NULL) [18:03:02.300] if (is_error) { [18:03:02.300] sessionInformation <- function() { [18:03:02.300] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.300] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.300] search = base::search(), system = base::Sys.info()) [18:03:02.300] } [18:03:02.300] ...future.conditions[[length(...future.conditions) + [18:03:02.300] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.300] cond$call), session = sessionInformation(), [18:03:02.300] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.300] signalCondition(cond) [18:03:02.300] } [18:03:02.300] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.300] "immediateCondition"))) { [18:03:02.300] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.300] ...future.conditions[[length(...future.conditions) + [18:03:02.300] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.300] if (TRUE && !signal) { [18:03:02.300] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.300] { [18:03:02.300] inherits <- base::inherits [18:03:02.300] invokeRestart <- base::invokeRestart [18:03:02.300] is.null <- base::is.null [18:03:02.300] muffled <- FALSE [18:03:02.300] if (inherits(cond, "message")) { [18:03:02.300] muffled <- grepl(pattern, "muffleMessage") [18:03:02.300] if (muffled) [18:03:02.300] invokeRestart("muffleMessage") [18:03:02.300] } [18:03:02.300] else if (inherits(cond, "warning")) { [18:03:02.300] muffled <- grepl(pattern, "muffleWarning") [18:03:02.300] if (muffled) [18:03:02.300] invokeRestart("muffleWarning") [18:03:02.300] } [18:03:02.300] else if (inherits(cond, "condition")) { [18:03:02.300] if (!is.null(pattern)) { [18:03:02.300] computeRestarts <- base::computeRestarts [18:03:02.300] grepl <- base::grepl [18:03:02.300] restarts <- computeRestarts(cond) [18:03:02.300] for (restart in restarts) { [18:03:02.300] name <- restart$name [18:03:02.300] if (is.null(name)) [18:03:02.300] next [18:03:02.300] if (!grepl(pattern, name)) [18:03:02.300] next [18:03:02.300] invokeRestart(restart) [18:03:02.300] muffled <- TRUE [18:03:02.300] break [18:03:02.300] } [18:03:02.300] } [18:03:02.300] } [18:03:02.300] invisible(muffled) [18:03:02.300] } [18:03:02.300] muffleCondition(cond, pattern = "^muffle") [18:03:02.300] } [18:03:02.300] } [18:03:02.300] else { [18:03:02.300] if (TRUE) { [18:03:02.300] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.300] { [18:03:02.300] inherits <- base::inherits [18:03:02.300] invokeRestart <- base::invokeRestart [18:03:02.300] is.null <- base::is.null [18:03:02.300] muffled <- FALSE [18:03:02.300] if (inherits(cond, "message")) { [18:03:02.300] muffled <- grepl(pattern, "muffleMessage") [18:03:02.300] if (muffled) [18:03:02.300] invokeRestart("muffleMessage") [18:03:02.300] } [18:03:02.300] else if (inherits(cond, "warning")) { [18:03:02.300] muffled <- grepl(pattern, "muffleWarning") [18:03:02.300] if (muffled) [18:03:02.300] invokeRestart("muffleWarning") [18:03:02.300] } [18:03:02.300] else if (inherits(cond, "condition")) { [18:03:02.300] if (!is.null(pattern)) { [18:03:02.300] computeRestarts <- base::computeRestarts [18:03:02.300] grepl <- base::grepl [18:03:02.300] restarts <- computeRestarts(cond) [18:03:02.300] for (restart in restarts) { [18:03:02.300] name <- restart$name [18:03:02.300] if (is.null(name)) [18:03:02.300] next [18:03:02.300] if (!grepl(pattern, name)) [18:03:02.300] next [18:03:02.300] invokeRestart(restart) [18:03:02.300] muffled <- TRUE [18:03:02.300] break [18:03:02.300] } [18:03:02.300] } [18:03:02.300] } [18:03:02.300] invisible(muffled) [18:03:02.300] } [18:03:02.300] muffleCondition(cond, pattern = "^muffle") [18:03:02.300] } [18:03:02.300] } [18:03:02.300] } [18:03:02.300] })) [18:03:02.300] }, error = function(ex) { [18:03:02.300] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.300] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.300] ...future.rng), started = ...future.startTime, [18:03:02.300] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.300] version = "1.8"), class = "FutureResult") [18:03:02.300] }, finally = { [18:03:02.300] if (!identical(...future.workdir, getwd())) [18:03:02.300] setwd(...future.workdir) [18:03:02.300] { [18:03:02.300] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.300] ...future.oldOptions$nwarnings <- NULL [18:03:02.300] } [18:03:02.300] base::options(...future.oldOptions) [18:03:02.300] if (.Platform$OS.type == "windows") { [18:03:02.300] old_names <- names(...future.oldEnvVars) [18:03:02.300] envs <- base::Sys.getenv() [18:03:02.300] names <- names(envs) [18:03:02.300] common <- intersect(names, old_names) [18:03:02.300] added <- setdiff(names, old_names) [18:03:02.300] removed <- setdiff(old_names, names) [18:03:02.300] changed <- common[...future.oldEnvVars[common] != [18:03:02.300] envs[common]] [18:03:02.300] NAMES <- toupper(changed) [18:03:02.300] args <- list() [18:03:02.300] for (kk in seq_along(NAMES)) { [18:03:02.300] name <- changed[[kk]] [18:03:02.300] NAME <- NAMES[[kk]] [18:03:02.300] if (name != NAME && is.element(NAME, old_names)) [18:03:02.300] next [18:03:02.300] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.300] } [18:03:02.300] NAMES <- toupper(added) [18:03:02.300] for (kk in seq_along(NAMES)) { [18:03:02.300] name <- added[[kk]] [18:03:02.300] NAME <- NAMES[[kk]] [18:03:02.300] if (name != NAME && is.element(NAME, old_names)) [18:03:02.300] next [18:03:02.300] args[[name]] <- "" [18:03:02.300] } [18:03:02.300] NAMES <- toupper(removed) [18:03:02.300] for (kk in seq_along(NAMES)) { [18:03:02.300] name <- removed[[kk]] [18:03:02.300] NAME <- NAMES[[kk]] [18:03:02.300] if (name != NAME && is.element(NAME, old_names)) [18:03:02.300] next [18:03:02.300] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.300] } [18:03:02.300] if (length(args) > 0) [18:03:02.300] base::do.call(base::Sys.setenv, args = args) [18:03:02.300] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.300] } [18:03:02.300] else { [18:03:02.300] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.300] } [18:03:02.300] { [18:03:02.300] if (base::length(...future.futureOptionsAdded) > [18:03:02.300] 0L) { [18:03:02.300] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.300] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.300] base::options(opts) [18:03:02.300] } [18:03:02.300] { [18:03:02.300] { [18:03:02.300] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.300] NULL [18:03:02.300] } [18:03:02.300] options(future.plan = NULL) [18:03:02.300] if (is.na(NA_character_)) [18:03:02.300] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.300] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.300] future::plan(list(function (..., workers = availableCores(), [18:03:02.300] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.300] envir = parent.frame()) [18:03:02.300] { [18:03:02.300] if (is.function(workers)) [18:03:02.300] workers <- workers() [18:03:02.300] workers <- structure(as.integer(workers), [18:03:02.300] class = class(workers)) [18:03:02.300] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.300] workers >= 1) [18:03:02.300] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.300] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.300] } [18:03:02.300] future <- MultisessionFuture(..., workers = workers, [18:03:02.300] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.300] envir = envir) [18:03:02.300] if (!future$lazy) [18:03:02.300] future <- run(future) [18:03:02.300] invisible(future) [18:03:02.300] }), .cleanup = FALSE, .init = FALSE) [18:03:02.300] } [18:03:02.300] } [18:03:02.300] } [18:03:02.300] }) [18:03:02.300] if (TRUE) { [18:03:02.300] base::sink(type = "output", split = FALSE) [18:03:02.300] if (TRUE) { [18:03:02.300] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.300] } [18:03:02.300] else { [18:03:02.300] ...future.result["stdout"] <- base::list(NULL) [18:03:02.300] } [18:03:02.300] base::close(...future.stdout) [18:03:02.300] ...future.stdout <- NULL [18:03:02.300] } [18:03:02.300] ...future.result$conditions <- ...future.conditions [18:03:02.300] ...future.result$finished <- base::Sys.time() [18:03:02.300] ...future.result [18:03:02.300] } [18:03:02.306] Exporting 1 global objects (56 bytes) to cluster node #1 ... [18:03:02.306] Exporting 'kk' (56 bytes) to cluster node #1 ... [18:03:02.306] Exporting 'kk' (56 bytes) to cluster node #1 ... DONE [18:03:02.306] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [18:03:02.307] MultisessionFuture started [18:03:02.307] - Launch lazy future ... done [18:03:02.307] run() for 'MultisessionFuture' ... done [18:03:02.436] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.436] - Validating connection of MultisessionFuture [18:03:02.436] - received message: FutureResult [18:03:02.437] - Received FutureResult [18:03:02.437] - Erased future from FutureRegistry [18:03:02.437] result() for ClusterFuture ... [18:03:02.437] - result already collected: FutureResult [18:03:02.437] result() for ClusterFuture ... done [18:03:02.437] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.438] Future #3 [18:03:02.438] length: 0 (resolved future 3) [18:03:02.438] resolve() on list ... DONE *** resolve() for lists ... DONE *** resolve() for environments ... [18:03:02.439] resolve() on environment ... [18:03:02.439] recursive: 0 [18:03:02.440] elements: [2] 'a', 'b' [18:03:02.440] length: 1 (resolved future 1) [18:03:02.440] length: 0 (resolved future 2) [18:03:02.440] resolve() on environment ... DONE [18:03:02.441] getGlobalsAndPackages() ... [18:03:02.441] Searching for globals... [18:03:02.441] [18:03:02.441] Searching for globals ... DONE [18:03:02.441] - globals: [0] [18:03:02.442] getGlobalsAndPackages() ... DONE [18:03:02.442] run() for 'Future' ... [18:03:02.442] - state: 'created' [18:03:02.442] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.456] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.456] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.456] - Field: 'node' [18:03:02.456] - Field: 'label' [18:03:02.457] - Field: 'local' [18:03:02.457] - Field: 'owner' [18:03:02.457] - Field: 'envir' [18:03:02.457] - Field: 'workers' [18:03:02.457] - Field: 'packages' [18:03:02.457] - Field: 'gc' [18:03:02.458] - Field: 'conditions' [18:03:02.458] - Field: 'persistent' [18:03:02.458] - Field: 'expr' [18:03:02.458] - Field: 'uuid' [18:03:02.458] - Field: 'seed' [18:03:02.459] - Field: 'version' [18:03:02.459] - Field: 'result' [18:03:02.459] - Field: 'asynchronous' [18:03:02.459] - Field: 'calls' [18:03:02.459] - Field: 'globals' [18:03:02.459] - Field: 'stdout' [18:03:02.460] - Field: 'earlySignal' [18:03:02.460] - Field: 'lazy' [18:03:02.460] - Field: 'state' [18:03:02.460] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.460] - Launch lazy future ... [18:03:02.461] Packages needed by the future expression (n = 0): [18:03:02.461] Packages needed by future strategies (n = 0): [18:03:02.464] { [18:03:02.464] { [18:03:02.464] { [18:03:02.464] ...future.startTime <- base::Sys.time() [18:03:02.464] { [18:03:02.464] { [18:03:02.464] { [18:03:02.464] { [18:03:02.464] base::local({ [18:03:02.464] has_future <- base::requireNamespace("future", [18:03:02.464] quietly = TRUE) [18:03:02.464] if (has_future) { [18:03:02.464] ns <- base::getNamespace("future") [18:03:02.464] version <- ns[[".package"]][["version"]] [18:03:02.464] if (is.null(version)) [18:03:02.464] version <- utils::packageVersion("future") [18:03:02.464] } [18:03:02.464] else { [18:03:02.464] version <- NULL [18:03:02.464] } [18:03:02.464] if (!has_future || version < "1.8.0") { [18:03:02.464] info <- base::c(r_version = base::gsub("R version ", [18:03:02.464] "", base::R.version$version.string), [18:03:02.464] platform = base::sprintf("%s (%s-bit)", [18:03:02.464] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.464] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.464] "release", "version")], collapse = " "), [18:03:02.464] hostname = base::Sys.info()[["nodename"]]) [18:03:02.464] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.464] info) [18:03:02.464] info <- base::paste(info, collapse = "; ") [18:03:02.464] if (!has_future) { [18:03:02.464] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.464] info) [18:03:02.464] } [18:03:02.464] else { [18:03:02.464] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.464] info, version) [18:03:02.464] } [18:03:02.464] base::stop(msg) [18:03:02.464] } [18:03:02.464] }) [18:03:02.464] } [18:03:02.464] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.464] base::options(mc.cores = 1L) [18:03:02.464] } [18:03:02.464] options(future.plan = NULL) [18:03:02.464] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.464] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.464] } [18:03:02.464] ...future.workdir <- getwd() [18:03:02.464] } [18:03:02.464] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.464] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.464] } [18:03:02.464] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.464] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.464] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.464] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.464] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.464] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.464] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.464] base::names(...future.oldOptions)) [18:03:02.464] } [18:03:02.464] if (FALSE) { [18:03:02.464] } [18:03:02.464] else { [18:03:02.464] if (TRUE) { [18:03:02.464] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.464] open = "w") [18:03:02.464] } [18:03:02.464] else { [18:03:02.464] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.464] windows = "NUL", "/dev/null"), open = "w") [18:03:02.464] } [18:03:02.464] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.464] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.464] base::sink(type = "output", split = FALSE) [18:03:02.464] base::close(...future.stdout) [18:03:02.464] }, add = TRUE) [18:03:02.464] } [18:03:02.464] ...future.frame <- base::sys.nframe() [18:03:02.464] ...future.conditions <- base::list() [18:03:02.464] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.464] if (FALSE) { [18:03:02.464] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.464] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.464] } [18:03:02.464] ...future.result <- base::tryCatch({ [18:03:02.464] base::withCallingHandlers({ [18:03:02.464] ...future.value <- base::withVisible(base::local({ [18:03:02.464] ...future.makeSendCondition <- local({ [18:03:02.464] sendCondition <- NULL [18:03:02.464] function(frame = 1L) { [18:03:02.464] if (is.function(sendCondition)) [18:03:02.464] return(sendCondition) [18:03:02.464] ns <- getNamespace("parallel") [18:03:02.464] if (exists("sendData", mode = "function", [18:03:02.464] envir = ns)) { [18:03:02.464] parallel_sendData <- get("sendData", mode = "function", [18:03:02.464] envir = ns) [18:03:02.464] envir <- sys.frame(frame) [18:03:02.464] master <- NULL [18:03:02.464] while (!identical(envir, .GlobalEnv) && [18:03:02.464] !identical(envir, emptyenv())) { [18:03:02.464] if (exists("master", mode = "list", envir = envir, [18:03:02.464] inherits = FALSE)) { [18:03:02.464] master <- get("master", mode = "list", [18:03:02.464] envir = envir, inherits = FALSE) [18:03:02.464] if (inherits(master, c("SOCKnode", [18:03:02.464] "SOCK0node"))) { [18:03:02.464] sendCondition <<- function(cond) { [18:03:02.464] data <- list(type = "VALUE", value = cond, [18:03:02.464] success = TRUE) [18:03:02.464] parallel_sendData(master, data) [18:03:02.464] } [18:03:02.464] return(sendCondition) [18:03:02.464] } [18:03:02.464] } [18:03:02.464] frame <- frame + 1L [18:03:02.464] envir <- sys.frame(frame) [18:03:02.464] } [18:03:02.464] } [18:03:02.464] sendCondition <<- function(cond) NULL [18:03:02.464] } [18:03:02.464] }) [18:03:02.464] withCallingHandlers({ [18:03:02.464] 1 [18:03:02.464] }, immediateCondition = function(cond) { [18:03:02.464] sendCondition <- ...future.makeSendCondition() [18:03:02.464] sendCondition(cond) [18:03:02.464] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.464] { [18:03:02.464] inherits <- base::inherits [18:03:02.464] invokeRestart <- base::invokeRestart [18:03:02.464] is.null <- base::is.null [18:03:02.464] muffled <- FALSE [18:03:02.464] if (inherits(cond, "message")) { [18:03:02.464] muffled <- grepl(pattern, "muffleMessage") [18:03:02.464] if (muffled) [18:03:02.464] invokeRestart("muffleMessage") [18:03:02.464] } [18:03:02.464] else if (inherits(cond, "warning")) { [18:03:02.464] muffled <- grepl(pattern, "muffleWarning") [18:03:02.464] if (muffled) [18:03:02.464] invokeRestart("muffleWarning") [18:03:02.464] } [18:03:02.464] else if (inherits(cond, "condition")) { [18:03:02.464] if (!is.null(pattern)) { [18:03:02.464] computeRestarts <- base::computeRestarts [18:03:02.464] grepl <- base::grepl [18:03:02.464] restarts <- computeRestarts(cond) [18:03:02.464] for (restart in restarts) { [18:03:02.464] name <- restart$name [18:03:02.464] if (is.null(name)) [18:03:02.464] next [18:03:02.464] if (!grepl(pattern, name)) [18:03:02.464] next [18:03:02.464] invokeRestart(restart) [18:03:02.464] muffled <- TRUE [18:03:02.464] break [18:03:02.464] } [18:03:02.464] } [18:03:02.464] } [18:03:02.464] invisible(muffled) [18:03:02.464] } [18:03:02.464] muffleCondition(cond) [18:03:02.464] }) [18:03:02.464] })) [18:03:02.464] future::FutureResult(value = ...future.value$value, [18:03:02.464] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.464] ...future.rng), globalenv = if (FALSE) [18:03:02.464] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.464] ...future.globalenv.names)) [18:03:02.464] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.464] }, condition = base::local({ [18:03:02.464] c <- base::c [18:03:02.464] inherits <- base::inherits [18:03:02.464] invokeRestart <- base::invokeRestart [18:03:02.464] length <- base::length [18:03:02.464] list <- base::list [18:03:02.464] seq.int <- base::seq.int [18:03:02.464] signalCondition <- base::signalCondition [18:03:02.464] sys.calls <- base::sys.calls [18:03:02.464] `[[` <- base::`[[` [18:03:02.464] `+` <- base::`+` [18:03:02.464] `<<-` <- base::`<<-` [18:03:02.464] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.464] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.464] 3L)] [18:03:02.464] } [18:03:02.464] function(cond) { [18:03:02.464] is_error <- inherits(cond, "error") [18:03:02.464] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.464] NULL) [18:03:02.464] if (is_error) { [18:03:02.464] sessionInformation <- function() { [18:03:02.464] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.464] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.464] search = base::search(), system = base::Sys.info()) [18:03:02.464] } [18:03:02.464] ...future.conditions[[length(...future.conditions) + [18:03:02.464] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.464] cond$call), session = sessionInformation(), [18:03:02.464] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.464] signalCondition(cond) [18:03:02.464] } [18:03:02.464] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.464] "immediateCondition"))) { [18:03:02.464] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.464] ...future.conditions[[length(...future.conditions) + [18:03:02.464] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.464] if (TRUE && !signal) { [18:03:02.464] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.464] { [18:03:02.464] inherits <- base::inherits [18:03:02.464] invokeRestart <- base::invokeRestart [18:03:02.464] is.null <- base::is.null [18:03:02.464] muffled <- FALSE [18:03:02.464] if (inherits(cond, "message")) { [18:03:02.464] muffled <- grepl(pattern, "muffleMessage") [18:03:02.464] if (muffled) [18:03:02.464] invokeRestart("muffleMessage") [18:03:02.464] } [18:03:02.464] else if (inherits(cond, "warning")) { [18:03:02.464] muffled <- grepl(pattern, "muffleWarning") [18:03:02.464] if (muffled) [18:03:02.464] invokeRestart("muffleWarning") [18:03:02.464] } [18:03:02.464] else if (inherits(cond, "condition")) { [18:03:02.464] if (!is.null(pattern)) { [18:03:02.464] computeRestarts <- base::computeRestarts [18:03:02.464] grepl <- base::grepl [18:03:02.464] restarts <- computeRestarts(cond) [18:03:02.464] for (restart in restarts) { [18:03:02.464] name <- restart$name [18:03:02.464] if (is.null(name)) [18:03:02.464] next [18:03:02.464] if (!grepl(pattern, name)) [18:03:02.464] next [18:03:02.464] invokeRestart(restart) [18:03:02.464] muffled <- TRUE [18:03:02.464] break [18:03:02.464] } [18:03:02.464] } [18:03:02.464] } [18:03:02.464] invisible(muffled) [18:03:02.464] } [18:03:02.464] muffleCondition(cond, pattern = "^muffle") [18:03:02.464] } [18:03:02.464] } [18:03:02.464] else { [18:03:02.464] if (TRUE) { [18:03:02.464] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.464] { [18:03:02.464] inherits <- base::inherits [18:03:02.464] invokeRestart <- base::invokeRestart [18:03:02.464] is.null <- base::is.null [18:03:02.464] muffled <- FALSE [18:03:02.464] if (inherits(cond, "message")) { [18:03:02.464] muffled <- grepl(pattern, "muffleMessage") [18:03:02.464] if (muffled) [18:03:02.464] invokeRestart("muffleMessage") [18:03:02.464] } [18:03:02.464] else if (inherits(cond, "warning")) { [18:03:02.464] muffled <- grepl(pattern, "muffleWarning") [18:03:02.464] if (muffled) [18:03:02.464] invokeRestart("muffleWarning") [18:03:02.464] } [18:03:02.464] else if (inherits(cond, "condition")) { [18:03:02.464] if (!is.null(pattern)) { [18:03:02.464] computeRestarts <- base::computeRestarts [18:03:02.464] grepl <- base::grepl [18:03:02.464] restarts <- computeRestarts(cond) [18:03:02.464] for (restart in restarts) { [18:03:02.464] name <- restart$name [18:03:02.464] if (is.null(name)) [18:03:02.464] next [18:03:02.464] if (!grepl(pattern, name)) [18:03:02.464] next [18:03:02.464] invokeRestart(restart) [18:03:02.464] muffled <- TRUE [18:03:02.464] break [18:03:02.464] } [18:03:02.464] } [18:03:02.464] } [18:03:02.464] invisible(muffled) [18:03:02.464] } [18:03:02.464] muffleCondition(cond, pattern = "^muffle") [18:03:02.464] } [18:03:02.464] } [18:03:02.464] } [18:03:02.464] })) [18:03:02.464] }, error = function(ex) { [18:03:02.464] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.464] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.464] ...future.rng), started = ...future.startTime, [18:03:02.464] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.464] version = "1.8"), class = "FutureResult") [18:03:02.464] }, finally = { [18:03:02.464] if (!identical(...future.workdir, getwd())) [18:03:02.464] setwd(...future.workdir) [18:03:02.464] { [18:03:02.464] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.464] ...future.oldOptions$nwarnings <- NULL [18:03:02.464] } [18:03:02.464] base::options(...future.oldOptions) [18:03:02.464] if (.Platform$OS.type == "windows") { [18:03:02.464] old_names <- names(...future.oldEnvVars) [18:03:02.464] envs <- base::Sys.getenv() [18:03:02.464] names <- names(envs) [18:03:02.464] common <- intersect(names, old_names) [18:03:02.464] added <- setdiff(names, old_names) [18:03:02.464] removed <- setdiff(old_names, names) [18:03:02.464] changed <- common[...future.oldEnvVars[common] != [18:03:02.464] envs[common]] [18:03:02.464] NAMES <- toupper(changed) [18:03:02.464] args <- list() [18:03:02.464] for (kk in seq_along(NAMES)) { [18:03:02.464] name <- changed[[kk]] [18:03:02.464] NAME <- NAMES[[kk]] [18:03:02.464] if (name != NAME && is.element(NAME, old_names)) [18:03:02.464] next [18:03:02.464] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.464] } [18:03:02.464] NAMES <- toupper(added) [18:03:02.464] for (kk in seq_along(NAMES)) { [18:03:02.464] name <- added[[kk]] [18:03:02.464] NAME <- NAMES[[kk]] [18:03:02.464] if (name != NAME && is.element(NAME, old_names)) [18:03:02.464] next [18:03:02.464] args[[name]] <- "" [18:03:02.464] } [18:03:02.464] NAMES <- toupper(removed) [18:03:02.464] for (kk in seq_along(NAMES)) { [18:03:02.464] name <- removed[[kk]] [18:03:02.464] NAME <- NAMES[[kk]] [18:03:02.464] if (name != NAME && is.element(NAME, old_names)) [18:03:02.464] next [18:03:02.464] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.464] } [18:03:02.464] if (length(args) > 0) [18:03:02.464] base::do.call(base::Sys.setenv, args = args) [18:03:02.464] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.464] } [18:03:02.464] else { [18:03:02.464] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.464] } [18:03:02.464] { [18:03:02.464] if (base::length(...future.futureOptionsAdded) > [18:03:02.464] 0L) { [18:03:02.464] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.464] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.464] base::options(opts) [18:03:02.464] } [18:03:02.464] { [18:03:02.464] { [18:03:02.464] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.464] NULL [18:03:02.464] } [18:03:02.464] options(future.plan = NULL) [18:03:02.464] if (is.na(NA_character_)) [18:03:02.464] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.464] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.464] future::plan(list(function (..., workers = availableCores(), [18:03:02.464] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.464] envir = parent.frame()) [18:03:02.464] { [18:03:02.464] if (is.function(workers)) [18:03:02.464] workers <- workers() [18:03:02.464] workers <- structure(as.integer(workers), [18:03:02.464] class = class(workers)) [18:03:02.464] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.464] workers >= 1) [18:03:02.464] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.464] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.464] } [18:03:02.464] future <- MultisessionFuture(..., workers = workers, [18:03:02.464] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.464] envir = envir) [18:03:02.464] if (!future$lazy) [18:03:02.464] future <- run(future) [18:03:02.464] invisible(future) [18:03:02.464] }), .cleanup = FALSE, .init = FALSE) [18:03:02.464] } [18:03:02.464] } [18:03:02.464] } [18:03:02.464] }) [18:03:02.464] if (TRUE) { [18:03:02.464] base::sink(type = "output", split = FALSE) [18:03:02.464] if (TRUE) { [18:03:02.464] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.464] } [18:03:02.464] else { [18:03:02.464] ...future.result["stdout"] <- base::list(NULL) [18:03:02.464] } [18:03:02.464] base::close(...future.stdout) [18:03:02.464] ...future.stdout <- NULL [18:03:02.464] } [18:03:02.464] ...future.result$conditions <- ...future.conditions [18:03:02.464] ...future.result$finished <- base::Sys.time() [18:03:02.464] ...future.result [18:03:02.464] } [18:03:02.470] MultisessionFuture started [18:03:02.470] - Launch lazy future ... done [18:03:02.471] run() for 'MultisessionFuture' ... done [18:03:02.471] getGlobalsAndPackages() ... [18:03:02.471] Searching for globals... [18:03:02.471] [18:03:02.472] Searching for globals ... DONE [18:03:02.472] - globals: [0] [18:03:02.472] getGlobalsAndPackages() ... DONE [18:03:02.472] run() for 'Future' ... [18:03:02.472] - state: 'created' [18:03:02.473] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.486] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.486] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.487] - Field: 'node' [18:03:02.487] - Field: 'label' [18:03:02.487] - Field: 'local' [18:03:02.487] - Field: 'owner' [18:03:02.487] - Field: 'envir' [18:03:02.488] - Field: 'workers' [18:03:02.488] - Field: 'packages' [18:03:02.488] - Field: 'gc' [18:03:02.488] - Field: 'conditions' [18:03:02.488] - Field: 'persistent' [18:03:02.488] - Field: 'expr' [18:03:02.489] - Field: 'uuid' [18:03:02.489] - Field: 'seed' [18:03:02.489] - Field: 'version' [18:03:02.489] - Field: 'result' [18:03:02.489] - Field: 'asynchronous' [18:03:02.489] - Field: 'calls' [18:03:02.490] - Field: 'globals' [18:03:02.490] - Field: 'stdout' [18:03:02.490] - Field: 'earlySignal' [18:03:02.490] - Field: 'lazy' [18:03:02.490] - Field: 'state' [18:03:02.491] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.491] - Launch lazy future ... [18:03:02.491] Packages needed by the future expression (n = 0): [18:03:02.491] Packages needed by future strategies (n = 0): [18:03:02.492] { [18:03:02.492] { [18:03:02.492] { [18:03:02.492] ...future.startTime <- base::Sys.time() [18:03:02.492] { [18:03:02.492] { [18:03:02.492] { [18:03:02.492] { [18:03:02.492] base::local({ [18:03:02.492] has_future <- base::requireNamespace("future", [18:03:02.492] quietly = TRUE) [18:03:02.492] if (has_future) { [18:03:02.492] ns <- base::getNamespace("future") [18:03:02.492] version <- ns[[".package"]][["version"]] [18:03:02.492] if (is.null(version)) [18:03:02.492] version <- utils::packageVersion("future") [18:03:02.492] } [18:03:02.492] else { [18:03:02.492] version <- NULL [18:03:02.492] } [18:03:02.492] if (!has_future || version < "1.8.0") { [18:03:02.492] info <- base::c(r_version = base::gsub("R version ", [18:03:02.492] "", base::R.version$version.string), [18:03:02.492] platform = base::sprintf("%s (%s-bit)", [18:03:02.492] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.492] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.492] "release", "version")], collapse = " "), [18:03:02.492] hostname = base::Sys.info()[["nodename"]]) [18:03:02.492] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.492] info) [18:03:02.492] info <- base::paste(info, collapse = "; ") [18:03:02.492] if (!has_future) { [18:03:02.492] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.492] info) [18:03:02.492] } [18:03:02.492] else { [18:03:02.492] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.492] info, version) [18:03:02.492] } [18:03:02.492] base::stop(msg) [18:03:02.492] } [18:03:02.492] }) [18:03:02.492] } [18:03:02.492] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.492] base::options(mc.cores = 1L) [18:03:02.492] } [18:03:02.492] options(future.plan = NULL) [18:03:02.492] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.492] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.492] } [18:03:02.492] ...future.workdir <- getwd() [18:03:02.492] } [18:03:02.492] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.492] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.492] } [18:03:02.492] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.492] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.492] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.492] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.492] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.492] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.492] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.492] base::names(...future.oldOptions)) [18:03:02.492] } [18:03:02.492] if (FALSE) { [18:03:02.492] } [18:03:02.492] else { [18:03:02.492] if (TRUE) { [18:03:02.492] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.492] open = "w") [18:03:02.492] } [18:03:02.492] else { [18:03:02.492] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.492] windows = "NUL", "/dev/null"), open = "w") [18:03:02.492] } [18:03:02.492] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.492] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.492] base::sink(type = "output", split = FALSE) [18:03:02.492] base::close(...future.stdout) [18:03:02.492] }, add = TRUE) [18:03:02.492] } [18:03:02.492] ...future.frame <- base::sys.nframe() [18:03:02.492] ...future.conditions <- base::list() [18:03:02.492] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.492] if (FALSE) { [18:03:02.492] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.492] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.492] } [18:03:02.492] ...future.result <- base::tryCatch({ [18:03:02.492] base::withCallingHandlers({ [18:03:02.492] ...future.value <- base::withVisible(base::local({ [18:03:02.492] ...future.makeSendCondition <- local({ [18:03:02.492] sendCondition <- NULL [18:03:02.492] function(frame = 1L) { [18:03:02.492] if (is.function(sendCondition)) [18:03:02.492] return(sendCondition) [18:03:02.492] ns <- getNamespace("parallel") [18:03:02.492] if (exists("sendData", mode = "function", [18:03:02.492] envir = ns)) { [18:03:02.492] parallel_sendData <- get("sendData", mode = "function", [18:03:02.492] envir = ns) [18:03:02.492] envir <- sys.frame(frame) [18:03:02.492] master <- NULL [18:03:02.492] while (!identical(envir, .GlobalEnv) && [18:03:02.492] !identical(envir, emptyenv())) { [18:03:02.492] if (exists("master", mode = "list", envir = envir, [18:03:02.492] inherits = FALSE)) { [18:03:02.492] master <- get("master", mode = "list", [18:03:02.492] envir = envir, inherits = FALSE) [18:03:02.492] if (inherits(master, c("SOCKnode", [18:03:02.492] "SOCK0node"))) { [18:03:02.492] sendCondition <<- function(cond) { [18:03:02.492] data <- list(type = "VALUE", value = cond, [18:03:02.492] success = TRUE) [18:03:02.492] parallel_sendData(master, data) [18:03:02.492] } [18:03:02.492] return(sendCondition) [18:03:02.492] } [18:03:02.492] } [18:03:02.492] frame <- frame + 1L [18:03:02.492] envir <- sys.frame(frame) [18:03:02.492] } [18:03:02.492] } [18:03:02.492] sendCondition <<- function(cond) NULL [18:03:02.492] } [18:03:02.492] }) [18:03:02.492] withCallingHandlers({ [18:03:02.492] 2 [18:03:02.492] }, immediateCondition = function(cond) { [18:03:02.492] sendCondition <- ...future.makeSendCondition() [18:03:02.492] sendCondition(cond) [18:03:02.492] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.492] { [18:03:02.492] inherits <- base::inherits [18:03:02.492] invokeRestart <- base::invokeRestart [18:03:02.492] is.null <- base::is.null [18:03:02.492] muffled <- FALSE [18:03:02.492] if (inherits(cond, "message")) { [18:03:02.492] muffled <- grepl(pattern, "muffleMessage") [18:03:02.492] if (muffled) [18:03:02.492] invokeRestart("muffleMessage") [18:03:02.492] } [18:03:02.492] else if (inherits(cond, "warning")) { [18:03:02.492] muffled <- grepl(pattern, "muffleWarning") [18:03:02.492] if (muffled) [18:03:02.492] invokeRestart("muffleWarning") [18:03:02.492] } [18:03:02.492] else if (inherits(cond, "condition")) { [18:03:02.492] if (!is.null(pattern)) { [18:03:02.492] computeRestarts <- base::computeRestarts [18:03:02.492] grepl <- base::grepl [18:03:02.492] restarts <- computeRestarts(cond) [18:03:02.492] for (restart in restarts) { [18:03:02.492] name <- restart$name [18:03:02.492] if (is.null(name)) [18:03:02.492] next [18:03:02.492] if (!grepl(pattern, name)) [18:03:02.492] next [18:03:02.492] invokeRestart(restart) [18:03:02.492] muffled <- TRUE [18:03:02.492] break [18:03:02.492] } [18:03:02.492] } [18:03:02.492] } [18:03:02.492] invisible(muffled) [18:03:02.492] } [18:03:02.492] muffleCondition(cond) [18:03:02.492] }) [18:03:02.492] })) [18:03:02.492] future::FutureResult(value = ...future.value$value, [18:03:02.492] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.492] ...future.rng), globalenv = if (FALSE) [18:03:02.492] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.492] ...future.globalenv.names)) [18:03:02.492] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.492] }, condition = base::local({ [18:03:02.492] c <- base::c [18:03:02.492] inherits <- base::inherits [18:03:02.492] invokeRestart <- base::invokeRestart [18:03:02.492] length <- base::length [18:03:02.492] list <- base::list [18:03:02.492] seq.int <- base::seq.int [18:03:02.492] signalCondition <- base::signalCondition [18:03:02.492] sys.calls <- base::sys.calls [18:03:02.492] `[[` <- base::`[[` [18:03:02.492] `+` <- base::`+` [18:03:02.492] `<<-` <- base::`<<-` [18:03:02.492] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.492] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.492] 3L)] [18:03:02.492] } [18:03:02.492] function(cond) { [18:03:02.492] is_error <- inherits(cond, "error") [18:03:02.492] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.492] NULL) [18:03:02.492] if (is_error) { [18:03:02.492] sessionInformation <- function() { [18:03:02.492] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.492] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.492] search = base::search(), system = base::Sys.info()) [18:03:02.492] } [18:03:02.492] ...future.conditions[[length(...future.conditions) + [18:03:02.492] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.492] cond$call), session = sessionInformation(), [18:03:02.492] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.492] signalCondition(cond) [18:03:02.492] } [18:03:02.492] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.492] "immediateCondition"))) { [18:03:02.492] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.492] ...future.conditions[[length(...future.conditions) + [18:03:02.492] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.492] if (TRUE && !signal) { [18:03:02.492] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.492] { [18:03:02.492] inherits <- base::inherits [18:03:02.492] invokeRestart <- base::invokeRestart [18:03:02.492] is.null <- base::is.null [18:03:02.492] muffled <- FALSE [18:03:02.492] if (inherits(cond, "message")) { [18:03:02.492] muffled <- grepl(pattern, "muffleMessage") [18:03:02.492] if (muffled) [18:03:02.492] invokeRestart("muffleMessage") [18:03:02.492] } [18:03:02.492] else if (inherits(cond, "warning")) { [18:03:02.492] muffled <- grepl(pattern, "muffleWarning") [18:03:02.492] if (muffled) [18:03:02.492] invokeRestart("muffleWarning") [18:03:02.492] } [18:03:02.492] else if (inherits(cond, "condition")) { [18:03:02.492] if (!is.null(pattern)) { [18:03:02.492] computeRestarts <- base::computeRestarts [18:03:02.492] grepl <- base::grepl [18:03:02.492] restarts <- computeRestarts(cond) [18:03:02.492] for (restart in restarts) { [18:03:02.492] name <- restart$name [18:03:02.492] if (is.null(name)) [18:03:02.492] next [18:03:02.492] if (!grepl(pattern, name)) [18:03:02.492] next [18:03:02.492] invokeRestart(restart) [18:03:02.492] muffled <- TRUE [18:03:02.492] break [18:03:02.492] } [18:03:02.492] } [18:03:02.492] } [18:03:02.492] invisible(muffled) [18:03:02.492] } [18:03:02.492] muffleCondition(cond, pattern = "^muffle") [18:03:02.492] } [18:03:02.492] } [18:03:02.492] else { [18:03:02.492] if (TRUE) { [18:03:02.492] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.492] { [18:03:02.492] inherits <- base::inherits [18:03:02.492] invokeRestart <- base::invokeRestart [18:03:02.492] is.null <- base::is.null [18:03:02.492] muffled <- FALSE [18:03:02.492] if (inherits(cond, "message")) { [18:03:02.492] muffled <- grepl(pattern, "muffleMessage") [18:03:02.492] if (muffled) [18:03:02.492] invokeRestart("muffleMessage") [18:03:02.492] } [18:03:02.492] else if (inherits(cond, "warning")) { [18:03:02.492] muffled <- grepl(pattern, "muffleWarning") [18:03:02.492] if (muffled) [18:03:02.492] invokeRestart("muffleWarning") [18:03:02.492] } [18:03:02.492] else if (inherits(cond, "condition")) { [18:03:02.492] if (!is.null(pattern)) { [18:03:02.492] computeRestarts <- base::computeRestarts [18:03:02.492] grepl <- base::grepl [18:03:02.492] restarts <- computeRestarts(cond) [18:03:02.492] for (restart in restarts) { [18:03:02.492] name <- restart$name [18:03:02.492] if (is.null(name)) [18:03:02.492] next [18:03:02.492] if (!grepl(pattern, name)) [18:03:02.492] next [18:03:02.492] invokeRestart(restart) [18:03:02.492] muffled <- TRUE [18:03:02.492] break [18:03:02.492] } [18:03:02.492] } [18:03:02.492] } [18:03:02.492] invisible(muffled) [18:03:02.492] } [18:03:02.492] muffleCondition(cond, pattern = "^muffle") [18:03:02.492] } [18:03:02.492] } [18:03:02.492] } [18:03:02.492] })) [18:03:02.492] }, error = function(ex) { [18:03:02.492] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.492] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.492] ...future.rng), started = ...future.startTime, [18:03:02.492] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.492] version = "1.8"), class = "FutureResult") [18:03:02.492] }, finally = { [18:03:02.492] if (!identical(...future.workdir, getwd())) [18:03:02.492] setwd(...future.workdir) [18:03:02.492] { [18:03:02.492] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.492] ...future.oldOptions$nwarnings <- NULL [18:03:02.492] } [18:03:02.492] base::options(...future.oldOptions) [18:03:02.492] if (.Platform$OS.type == "windows") { [18:03:02.492] old_names <- names(...future.oldEnvVars) [18:03:02.492] envs <- base::Sys.getenv() [18:03:02.492] names <- names(envs) [18:03:02.492] common <- intersect(names, old_names) [18:03:02.492] added <- setdiff(names, old_names) [18:03:02.492] removed <- setdiff(old_names, names) [18:03:02.492] changed <- common[...future.oldEnvVars[common] != [18:03:02.492] envs[common]] [18:03:02.492] NAMES <- toupper(changed) [18:03:02.492] args <- list() [18:03:02.492] for (kk in seq_along(NAMES)) { [18:03:02.492] name <- changed[[kk]] [18:03:02.492] NAME <- NAMES[[kk]] [18:03:02.492] if (name != NAME && is.element(NAME, old_names)) [18:03:02.492] next [18:03:02.492] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.492] } [18:03:02.492] NAMES <- toupper(added) [18:03:02.492] for (kk in seq_along(NAMES)) { [18:03:02.492] name <- added[[kk]] [18:03:02.492] NAME <- NAMES[[kk]] [18:03:02.492] if (name != NAME && is.element(NAME, old_names)) [18:03:02.492] next [18:03:02.492] args[[name]] <- "" [18:03:02.492] } [18:03:02.492] NAMES <- toupper(removed) [18:03:02.492] for (kk in seq_along(NAMES)) { [18:03:02.492] name <- removed[[kk]] [18:03:02.492] NAME <- NAMES[[kk]] [18:03:02.492] if (name != NAME && is.element(NAME, old_names)) [18:03:02.492] next [18:03:02.492] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.492] } [18:03:02.492] if (length(args) > 0) [18:03:02.492] base::do.call(base::Sys.setenv, args = args) [18:03:02.492] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.492] } [18:03:02.492] else { [18:03:02.492] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.492] } [18:03:02.492] { [18:03:02.492] if (base::length(...future.futureOptionsAdded) > [18:03:02.492] 0L) { [18:03:02.492] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.492] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.492] base::options(opts) [18:03:02.492] } [18:03:02.492] { [18:03:02.492] { [18:03:02.492] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.492] NULL [18:03:02.492] } [18:03:02.492] options(future.plan = NULL) [18:03:02.492] if (is.na(NA_character_)) [18:03:02.492] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.492] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.492] future::plan(list(function (..., workers = availableCores(), [18:03:02.492] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.492] envir = parent.frame()) [18:03:02.492] { [18:03:02.492] if (is.function(workers)) [18:03:02.492] workers <- workers() [18:03:02.492] workers <- structure(as.integer(workers), [18:03:02.492] class = class(workers)) [18:03:02.492] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.492] workers >= 1) [18:03:02.492] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.492] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.492] } [18:03:02.492] future <- MultisessionFuture(..., workers = workers, [18:03:02.492] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.492] envir = envir) [18:03:02.492] if (!future$lazy) [18:03:02.492] future <- run(future) [18:03:02.492] invisible(future) [18:03:02.492] }), .cleanup = FALSE, .init = FALSE) [18:03:02.492] } [18:03:02.492] } [18:03:02.492] } [18:03:02.492] }) [18:03:02.492] if (TRUE) { [18:03:02.492] base::sink(type = "output", split = FALSE) [18:03:02.492] if (TRUE) { [18:03:02.492] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.492] } [18:03:02.492] else { [18:03:02.492] ...future.result["stdout"] <- base::list(NULL) [18:03:02.492] } [18:03:02.492] base::close(...future.stdout) [18:03:02.492] ...future.stdout <- NULL [18:03:02.492] } [18:03:02.492] ...future.result$conditions <- ...future.conditions [18:03:02.492] ...future.result$finished <- base::Sys.time() [18:03:02.492] ...future.result [18:03:02.492] } [18:03:02.498] MultisessionFuture started [18:03:02.498] - Launch lazy future ... done [18:03:02.498] run() for 'MultisessionFuture' ... done [18:03:02.499] resolve() on environment ... [18:03:02.499] recursive: 0 [18:03:02.499] elements: [3] 'a', 'b', 'c' [18:03:02.500] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.500] - Validating connection of MultisessionFuture [18:03:02.500] - received message: FutureResult [18:03:02.500] - Received FutureResult [18:03:02.501] - Erased future from FutureRegistry [18:03:02.501] result() for ClusterFuture ... [18:03:02.501] - result already collected: FutureResult [18:03:02.501] result() for ClusterFuture ... done [18:03:02.501] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.501] Future #1 [18:03:02.502] length: 2 (resolved future 1) [18:03:02.515] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.515] - Validating connection of MultisessionFuture [18:03:02.515] - received message: FutureResult [18:03:02.515] - Received FutureResult [18:03:02.516] - Erased future from FutureRegistry [18:03:02.516] result() for ClusterFuture ... [18:03:02.516] - result already collected: FutureResult [18:03:02.516] result() for ClusterFuture ... done [18:03:02.516] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.516] Future #2 [18:03:02.516] length: 1 (resolved future 2) [18:03:02.517] length: 0 (resolved future 3) [18:03:02.517] resolve() on environment ... DONE [18:03:02.518] getGlobalsAndPackages() ... [18:03:02.518] Searching for globals... [18:03:02.519] - globals found: [1] '{' [18:03:02.519] Searching for globals ... DONE [18:03:02.519] Resolving globals: FALSE [18:03:02.519] [18:03:02.519] [18:03:02.520] getGlobalsAndPackages() ... DONE [18:03:02.520] run() for 'Future' ... [18:03:02.520] - state: 'created' [18:03:02.520] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.534] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.534] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.534] - Field: 'node' [18:03:02.534] - Field: 'label' [18:03:02.535] - Field: 'local' [18:03:02.535] - Field: 'owner' [18:03:02.535] - Field: 'envir' [18:03:02.535] - Field: 'workers' [18:03:02.535] - Field: 'packages' [18:03:02.536] - Field: 'gc' [18:03:02.536] - Field: 'conditions' [18:03:02.536] - Field: 'persistent' [18:03:02.536] - Field: 'expr' [18:03:02.536] - Field: 'uuid' [18:03:02.536] - Field: 'seed' [18:03:02.537] - Field: 'version' [18:03:02.537] - Field: 'result' [18:03:02.537] - Field: 'asynchronous' [18:03:02.537] - Field: 'calls' [18:03:02.537] - Field: 'globals' [18:03:02.537] - Field: 'stdout' [18:03:02.538] - Field: 'earlySignal' [18:03:02.538] - Field: 'lazy' [18:03:02.538] - Field: 'state' [18:03:02.538] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.538] - Launch lazy future ... [18:03:02.539] Packages needed by the future expression (n = 0): [18:03:02.539] Packages needed by future strategies (n = 0): [18:03:02.540] { [18:03:02.540] { [18:03:02.540] { [18:03:02.540] ...future.startTime <- base::Sys.time() [18:03:02.540] { [18:03:02.540] { [18:03:02.540] { [18:03:02.540] { [18:03:02.540] base::local({ [18:03:02.540] has_future <- base::requireNamespace("future", [18:03:02.540] quietly = TRUE) [18:03:02.540] if (has_future) { [18:03:02.540] ns <- base::getNamespace("future") [18:03:02.540] version <- ns[[".package"]][["version"]] [18:03:02.540] if (is.null(version)) [18:03:02.540] version <- utils::packageVersion("future") [18:03:02.540] } [18:03:02.540] else { [18:03:02.540] version <- NULL [18:03:02.540] } [18:03:02.540] if (!has_future || version < "1.8.0") { [18:03:02.540] info <- base::c(r_version = base::gsub("R version ", [18:03:02.540] "", base::R.version$version.string), [18:03:02.540] platform = base::sprintf("%s (%s-bit)", [18:03:02.540] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.540] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.540] "release", "version")], collapse = " "), [18:03:02.540] hostname = base::Sys.info()[["nodename"]]) [18:03:02.540] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.540] info) [18:03:02.540] info <- base::paste(info, collapse = "; ") [18:03:02.540] if (!has_future) { [18:03:02.540] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.540] info) [18:03:02.540] } [18:03:02.540] else { [18:03:02.540] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.540] info, version) [18:03:02.540] } [18:03:02.540] base::stop(msg) [18:03:02.540] } [18:03:02.540] }) [18:03:02.540] } [18:03:02.540] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.540] base::options(mc.cores = 1L) [18:03:02.540] } [18:03:02.540] options(future.plan = NULL) [18:03:02.540] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.540] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.540] } [18:03:02.540] ...future.workdir <- getwd() [18:03:02.540] } [18:03:02.540] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.540] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.540] } [18:03:02.540] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.540] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.540] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.540] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.540] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.540] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.540] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.540] base::names(...future.oldOptions)) [18:03:02.540] } [18:03:02.540] if (FALSE) { [18:03:02.540] } [18:03:02.540] else { [18:03:02.540] if (TRUE) { [18:03:02.540] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.540] open = "w") [18:03:02.540] } [18:03:02.540] else { [18:03:02.540] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.540] windows = "NUL", "/dev/null"), open = "w") [18:03:02.540] } [18:03:02.540] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.540] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.540] base::sink(type = "output", split = FALSE) [18:03:02.540] base::close(...future.stdout) [18:03:02.540] }, add = TRUE) [18:03:02.540] } [18:03:02.540] ...future.frame <- base::sys.nframe() [18:03:02.540] ...future.conditions <- base::list() [18:03:02.540] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.540] if (FALSE) { [18:03:02.540] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.540] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.540] } [18:03:02.540] ...future.result <- base::tryCatch({ [18:03:02.540] base::withCallingHandlers({ [18:03:02.540] ...future.value <- base::withVisible(base::local({ [18:03:02.540] ...future.makeSendCondition <- local({ [18:03:02.540] sendCondition <- NULL [18:03:02.540] function(frame = 1L) { [18:03:02.540] if (is.function(sendCondition)) [18:03:02.540] return(sendCondition) [18:03:02.540] ns <- getNamespace("parallel") [18:03:02.540] if (exists("sendData", mode = "function", [18:03:02.540] envir = ns)) { [18:03:02.540] parallel_sendData <- get("sendData", mode = "function", [18:03:02.540] envir = ns) [18:03:02.540] envir <- sys.frame(frame) [18:03:02.540] master <- NULL [18:03:02.540] while (!identical(envir, .GlobalEnv) && [18:03:02.540] !identical(envir, emptyenv())) { [18:03:02.540] if (exists("master", mode = "list", envir = envir, [18:03:02.540] inherits = FALSE)) { [18:03:02.540] master <- get("master", mode = "list", [18:03:02.540] envir = envir, inherits = FALSE) [18:03:02.540] if (inherits(master, c("SOCKnode", [18:03:02.540] "SOCK0node"))) { [18:03:02.540] sendCondition <<- function(cond) { [18:03:02.540] data <- list(type = "VALUE", value = cond, [18:03:02.540] success = TRUE) [18:03:02.540] parallel_sendData(master, data) [18:03:02.540] } [18:03:02.540] return(sendCondition) [18:03:02.540] } [18:03:02.540] } [18:03:02.540] frame <- frame + 1L [18:03:02.540] envir <- sys.frame(frame) [18:03:02.540] } [18:03:02.540] } [18:03:02.540] sendCondition <<- function(cond) NULL [18:03:02.540] } [18:03:02.540] }) [18:03:02.540] withCallingHandlers({ [18:03:02.540] { [18:03:02.540] 1 [18:03:02.540] } [18:03:02.540] }, immediateCondition = function(cond) { [18:03:02.540] sendCondition <- ...future.makeSendCondition() [18:03:02.540] sendCondition(cond) [18:03:02.540] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.540] { [18:03:02.540] inherits <- base::inherits [18:03:02.540] invokeRestart <- base::invokeRestart [18:03:02.540] is.null <- base::is.null [18:03:02.540] muffled <- FALSE [18:03:02.540] if (inherits(cond, "message")) { [18:03:02.540] muffled <- grepl(pattern, "muffleMessage") [18:03:02.540] if (muffled) [18:03:02.540] invokeRestart("muffleMessage") [18:03:02.540] } [18:03:02.540] else if (inherits(cond, "warning")) { [18:03:02.540] muffled <- grepl(pattern, "muffleWarning") [18:03:02.540] if (muffled) [18:03:02.540] invokeRestart("muffleWarning") [18:03:02.540] } [18:03:02.540] else if (inherits(cond, "condition")) { [18:03:02.540] if (!is.null(pattern)) { [18:03:02.540] computeRestarts <- base::computeRestarts [18:03:02.540] grepl <- base::grepl [18:03:02.540] restarts <- computeRestarts(cond) [18:03:02.540] for (restart in restarts) { [18:03:02.540] name <- restart$name [18:03:02.540] if (is.null(name)) [18:03:02.540] next [18:03:02.540] if (!grepl(pattern, name)) [18:03:02.540] next [18:03:02.540] invokeRestart(restart) [18:03:02.540] muffled <- TRUE [18:03:02.540] break [18:03:02.540] } [18:03:02.540] } [18:03:02.540] } [18:03:02.540] invisible(muffled) [18:03:02.540] } [18:03:02.540] muffleCondition(cond) [18:03:02.540] }) [18:03:02.540] })) [18:03:02.540] future::FutureResult(value = ...future.value$value, [18:03:02.540] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.540] ...future.rng), globalenv = if (FALSE) [18:03:02.540] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.540] ...future.globalenv.names)) [18:03:02.540] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.540] }, condition = base::local({ [18:03:02.540] c <- base::c [18:03:02.540] inherits <- base::inherits [18:03:02.540] invokeRestart <- base::invokeRestart [18:03:02.540] length <- base::length [18:03:02.540] list <- base::list [18:03:02.540] seq.int <- base::seq.int [18:03:02.540] signalCondition <- base::signalCondition [18:03:02.540] sys.calls <- base::sys.calls [18:03:02.540] `[[` <- base::`[[` [18:03:02.540] `+` <- base::`+` [18:03:02.540] `<<-` <- base::`<<-` [18:03:02.540] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.540] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.540] 3L)] [18:03:02.540] } [18:03:02.540] function(cond) { [18:03:02.540] is_error <- inherits(cond, "error") [18:03:02.540] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.540] NULL) [18:03:02.540] if (is_error) { [18:03:02.540] sessionInformation <- function() { [18:03:02.540] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.540] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.540] search = base::search(), system = base::Sys.info()) [18:03:02.540] } [18:03:02.540] ...future.conditions[[length(...future.conditions) + [18:03:02.540] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.540] cond$call), session = sessionInformation(), [18:03:02.540] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.540] signalCondition(cond) [18:03:02.540] } [18:03:02.540] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.540] "immediateCondition"))) { [18:03:02.540] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.540] ...future.conditions[[length(...future.conditions) + [18:03:02.540] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.540] if (TRUE && !signal) { [18:03:02.540] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.540] { [18:03:02.540] inherits <- base::inherits [18:03:02.540] invokeRestart <- base::invokeRestart [18:03:02.540] is.null <- base::is.null [18:03:02.540] muffled <- FALSE [18:03:02.540] if (inherits(cond, "message")) { [18:03:02.540] muffled <- grepl(pattern, "muffleMessage") [18:03:02.540] if (muffled) [18:03:02.540] invokeRestart("muffleMessage") [18:03:02.540] } [18:03:02.540] else if (inherits(cond, "warning")) { [18:03:02.540] muffled <- grepl(pattern, "muffleWarning") [18:03:02.540] if (muffled) [18:03:02.540] invokeRestart("muffleWarning") [18:03:02.540] } [18:03:02.540] else if (inherits(cond, "condition")) { [18:03:02.540] if (!is.null(pattern)) { [18:03:02.540] computeRestarts <- base::computeRestarts [18:03:02.540] grepl <- base::grepl [18:03:02.540] restarts <- computeRestarts(cond) [18:03:02.540] for (restart in restarts) { [18:03:02.540] name <- restart$name [18:03:02.540] if (is.null(name)) [18:03:02.540] next [18:03:02.540] if (!grepl(pattern, name)) [18:03:02.540] next [18:03:02.540] invokeRestart(restart) [18:03:02.540] muffled <- TRUE [18:03:02.540] break [18:03:02.540] } [18:03:02.540] } [18:03:02.540] } [18:03:02.540] invisible(muffled) [18:03:02.540] } [18:03:02.540] muffleCondition(cond, pattern = "^muffle") [18:03:02.540] } [18:03:02.540] } [18:03:02.540] else { [18:03:02.540] if (TRUE) { [18:03:02.540] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.540] { [18:03:02.540] inherits <- base::inherits [18:03:02.540] invokeRestart <- base::invokeRestart [18:03:02.540] is.null <- base::is.null [18:03:02.540] muffled <- FALSE [18:03:02.540] if (inherits(cond, "message")) { [18:03:02.540] muffled <- grepl(pattern, "muffleMessage") [18:03:02.540] if (muffled) [18:03:02.540] invokeRestart("muffleMessage") [18:03:02.540] } [18:03:02.540] else if (inherits(cond, "warning")) { [18:03:02.540] muffled <- grepl(pattern, "muffleWarning") [18:03:02.540] if (muffled) [18:03:02.540] invokeRestart("muffleWarning") [18:03:02.540] } [18:03:02.540] else if (inherits(cond, "condition")) { [18:03:02.540] if (!is.null(pattern)) { [18:03:02.540] computeRestarts <- base::computeRestarts [18:03:02.540] grepl <- base::grepl [18:03:02.540] restarts <- computeRestarts(cond) [18:03:02.540] for (restart in restarts) { [18:03:02.540] name <- restart$name [18:03:02.540] if (is.null(name)) [18:03:02.540] next [18:03:02.540] if (!grepl(pattern, name)) [18:03:02.540] next [18:03:02.540] invokeRestart(restart) [18:03:02.540] muffled <- TRUE [18:03:02.540] break [18:03:02.540] } [18:03:02.540] } [18:03:02.540] } [18:03:02.540] invisible(muffled) [18:03:02.540] } [18:03:02.540] muffleCondition(cond, pattern = "^muffle") [18:03:02.540] } [18:03:02.540] } [18:03:02.540] } [18:03:02.540] })) [18:03:02.540] }, error = function(ex) { [18:03:02.540] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.540] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.540] ...future.rng), started = ...future.startTime, [18:03:02.540] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.540] version = "1.8"), class = "FutureResult") [18:03:02.540] }, finally = { [18:03:02.540] if (!identical(...future.workdir, getwd())) [18:03:02.540] setwd(...future.workdir) [18:03:02.540] { [18:03:02.540] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.540] ...future.oldOptions$nwarnings <- NULL [18:03:02.540] } [18:03:02.540] base::options(...future.oldOptions) [18:03:02.540] if (.Platform$OS.type == "windows") { [18:03:02.540] old_names <- names(...future.oldEnvVars) [18:03:02.540] envs <- base::Sys.getenv() [18:03:02.540] names <- names(envs) [18:03:02.540] common <- intersect(names, old_names) [18:03:02.540] added <- setdiff(names, old_names) [18:03:02.540] removed <- setdiff(old_names, names) [18:03:02.540] changed <- common[...future.oldEnvVars[common] != [18:03:02.540] envs[common]] [18:03:02.540] NAMES <- toupper(changed) [18:03:02.540] args <- list() [18:03:02.540] for (kk in seq_along(NAMES)) { [18:03:02.540] name <- changed[[kk]] [18:03:02.540] NAME <- NAMES[[kk]] [18:03:02.540] if (name != NAME && is.element(NAME, old_names)) [18:03:02.540] next [18:03:02.540] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.540] } [18:03:02.540] NAMES <- toupper(added) [18:03:02.540] for (kk in seq_along(NAMES)) { [18:03:02.540] name <- added[[kk]] [18:03:02.540] NAME <- NAMES[[kk]] [18:03:02.540] if (name != NAME && is.element(NAME, old_names)) [18:03:02.540] next [18:03:02.540] args[[name]] <- "" [18:03:02.540] } [18:03:02.540] NAMES <- toupper(removed) [18:03:02.540] for (kk in seq_along(NAMES)) { [18:03:02.540] name <- removed[[kk]] [18:03:02.540] NAME <- NAMES[[kk]] [18:03:02.540] if (name != NAME && is.element(NAME, old_names)) [18:03:02.540] next [18:03:02.540] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.540] } [18:03:02.540] if (length(args) > 0) [18:03:02.540] base::do.call(base::Sys.setenv, args = args) [18:03:02.540] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.540] } [18:03:02.540] else { [18:03:02.540] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.540] } [18:03:02.540] { [18:03:02.540] if (base::length(...future.futureOptionsAdded) > [18:03:02.540] 0L) { [18:03:02.540] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.540] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.540] base::options(opts) [18:03:02.540] } [18:03:02.540] { [18:03:02.540] { [18:03:02.540] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.540] NULL [18:03:02.540] } [18:03:02.540] options(future.plan = NULL) [18:03:02.540] if (is.na(NA_character_)) [18:03:02.540] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.540] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.540] future::plan(list(function (..., workers = availableCores(), [18:03:02.540] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.540] envir = parent.frame()) [18:03:02.540] { [18:03:02.540] if (is.function(workers)) [18:03:02.540] workers <- workers() [18:03:02.540] workers <- structure(as.integer(workers), [18:03:02.540] class = class(workers)) [18:03:02.540] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.540] workers >= 1) [18:03:02.540] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.540] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.540] } [18:03:02.540] future <- MultisessionFuture(..., workers = workers, [18:03:02.540] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.540] envir = envir) [18:03:02.540] if (!future$lazy) [18:03:02.540] future <- run(future) [18:03:02.540] invisible(future) [18:03:02.540] }), .cleanup = FALSE, .init = FALSE) [18:03:02.540] } [18:03:02.540] } [18:03:02.540] } [18:03:02.540] }) [18:03:02.540] if (TRUE) { [18:03:02.540] base::sink(type = "output", split = FALSE) [18:03:02.540] if (TRUE) { [18:03:02.540] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.540] } [18:03:02.540] else { [18:03:02.540] ...future.result["stdout"] <- base::list(NULL) [18:03:02.540] } [18:03:02.540] base::close(...future.stdout) [18:03:02.540] ...future.stdout <- NULL [18:03:02.540] } [18:03:02.540] ...future.result$conditions <- ...future.conditions [18:03:02.540] ...future.result$finished <- base::Sys.time() [18:03:02.540] ...future.result [18:03:02.540] } [18:03:02.546] MultisessionFuture started [18:03:02.546] - Launch lazy future ... done [18:03:02.546] run() for 'MultisessionFuture' ... done [18:03:02.547] getGlobalsAndPackages() ... [18:03:02.547] Searching for globals... [18:03:02.547] - globals found: [1] '{' [18:03:02.548] Searching for globals ... DONE [18:03:02.548] Resolving globals: FALSE [18:03:02.548] [18:03:02.548] [18:03:02.548] getGlobalsAndPackages() ... DONE [18:03:02.549] run() for 'Future' ... [18:03:02.549] - state: 'created' [18:03:02.549] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.563] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.563] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.563] - Field: 'node' [18:03:02.563] - Field: 'label' [18:03:02.564] - Field: 'local' [18:03:02.564] - Field: 'owner' [18:03:02.564] - Field: 'envir' [18:03:02.564] - Field: 'workers' [18:03:02.564] - Field: 'packages' [18:03:02.564] - Field: 'gc' [18:03:02.565] - Field: 'conditions' [18:03:02.565] - Field: 'persistent' [18:03:02.565] - Field: 'expr' [18:03:02.565] - Field: 'uuid' [18:03:02.565] - Field: 'seed' [18:03:02.566] - Field: 'version' [18:03:02.566] - Field: 'result' [18:03:02.566] - Field: 'asynchronous' [18:03:02.566] - Field: 'calls' [18:03:02.566] - Field: 'globals' [18:03:02.566] - Field: 'stdout' [18:03:02.567] - Field: 'earlySignal' [18:03:02.567] - Field: 'lazy' [18:03:02.567] - Field: 'state' [18:03:02.567] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.567] - Launch lazy future ... [18:03:02.568] Packages needed by the future expression (n = 0): [18:03:02.568] Packages needed by future strategies (n = 0): [18:03:02.568] { [18:03:02.568] { [18:03:02.568] { [18:03:02.568] ...future.startTime <- base::Sys.time() [18:03:02.568] { [18:03:02.568] { [18:03:02.568] { [18:03:02.568] { [18:03:02.568] base::local({ [18:03:02.568] has_future <- base::requireNamespace("future", [18:03:02.568] quietly = TRUE) [18:03:02.568] if (has_future) { [18:03:02.568] ns <- base::getNamespace("future") [18:03:02.568] version <- ns[[".package"]][["version"]] [18:03:02.568] if (is.null(version)) [18:03:02.568] version <- utils::packageVersion("future") [18:03:02.568] } [18:03:02.568] else { [18:03:02.568] version <- NULL [18:03:02.568] } [18:03:02.568] if (!has_future || version < "1.8.0") { [18:03:02.568] info <- base::c(r_version = base::gsub("R version ", [18:03:02.568] "", base::R.version$version.string), [18:03:02.568] platform = base::sprintf("%s (%s-bit)", [18:03:02.568] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.568] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.568] "release", "version")], collapse = " "), [18:03:02.568] hostname = base::Sys.info()[["nodename"]]) [18:03:02.568] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.568] info) [18:03:02.568] info <- base::paste(info, collapse = "; ") [18:03:02.568] if (!has_future) { [18:03:02.568] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.568] info) [18:03:02.568] } [18:03:02.568] else { [18:03:02.568] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.568] info, version) [18:03:02.568] } [18:03:02.568] base::stop(msg) [18:03:02.568] } [18:03:02.568] }) [18:03:02.568] } [18:03:02.568] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.568] base::options(mc.cores = 1L) [18:03:02.568] } [18:03:02.568] options(future.plan = NULL) [18:03:02.568] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.568] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.568] } [18:03:02.568] ...future.workdir <- getwd() [18:03:02.568] } [18:03:02.568] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.568] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.568] } [18:03:02.568] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.568] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.568] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.568] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.568] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.568] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.568] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.568] base::names(...future.oldOptions)) [18:03:02.568] } [18:03:02.568] if (FALSE) { [18:03:02.568] } [18:03:02.568] else { [18:03:02.568] if (TRUE) { [18:03:02.568] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.568] open = "w") [18:03:02.568] } [18:03:02.568] else { [18:03:02.568] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.568] windows = "NUL", "/dev/null"), open = "w") [18:03:02.568] } [18:03:02.568] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.568] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.568] base::sink(type = "output", split = FALSE) [18:03:02.568] base::close(...future.stdout) [18:03:02.568] }, add = TRUE) [18:03:02.568] } [18:03:02.568] ...future.frame <- base::sys.nframe() [18:03:02.568] ...future.conditions <- base::list() [18:03:02.568] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.568] if (FALSE) { [18:03:02.568] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.568] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.568] } [18:03:02.568] ...future.result <- base::tryCatch({ [18:03:02.568] base::withCallingHandlers({ [18:03:02.568] ...future.value <- base::withVisible(base::local({ [18:03:02.568] ...future.makeSendCondition <- local({ [18:03:02.568] sendCondition <- NULL [18:03:02.568] function(frame = 1L) { [18:03:02.568] if (is.function(sendCondition)) [18:03:02.568] return(sendCondition) [18:03:02.568] ns <- getNamespace("parallel") [18:03:02.568] if (exists("sendData", mode = "function", [18:03:02.568] envir = ns)) { [18:03:02.568] parallel_sendData <- get("sendData", mode = "function", [18:03:02.568] envir = ns) [18:03:02.568] envir <- sys.frame(frame) [18:03:02.568] master <- NULL [18:03:02.568] while (!identical(envir, .GlobalEnv) && [18:03:02.568] !identical(envir, emptyenv())) { [18:03:02.568] if (exists("master", mode = "list", envir = envir, [18:03:02.568] inherits = FALSE)) { [18:03:02.568] master <- get("master", mode = "list", [18:03:02.568] envir = envir, inherits = FALSE) [18:03:02.568] if (inherits(master, c("SOCKnode", [18:03:02.568] "SOCK0node"))) { [18:03:02.568] sendCondition <<- function(cond) { [18:03:02.568] data <- list(type = "VALUE", value = cond, [18:03:02.568] success = TRUE) [18:03:02.568] parallel_sendData(master, data) [18:03:02.568] } [18:03:02.568] return(sendCondition) [18:03:02.568] } [18:03:02.568] } [18:03:02.568] frame <- frame + 1L [18:03:02.568] envir <- sys.frame(frame) [18:03:02.568] } [18:03:02.568] } [18:03:02.568] sendCondition <<- function(cond) NULL [18:03:02.568] } [18:03:02.568] }) [18:03:02.568] withCallingHandlers({ [18:03:02.568] { [18:03:02.568] 2 [18:03:02.568] } [18:03:02.568] }, immediateCondition = function(cond) { [18:03:02.568] sendCondition <- ...future.makeSendCondition() [18:03:02.568] sendCondition(cond) [18:03:02.568] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.568] { [18:03:02.568] inherits <- base::inherits [18:03:02.568] invokeRestart <- base::invokeRestart [18:03:02.568] is.null <- base::is.null [18:03:02.568] muffled <- FALSE [18:03:02.568] if (inherits(cond, "message")) { [18:03:02.568] muffled <- grepl(pattern, "muffleMessage") [18:03:02.568] if (muffled) [18:03:02.568] invokeRestart("muffleMessage") [18:03:02.568] } [18:03:02.568] else if (inherits(cond, "warning")) { [18:03:02.568] muffled <- grepl(pattern, "muffleWarning") [18:03:02.568] if (muffled) [18:03:02.568] invokeRestart("muffleWarning") [18:03:02.568] } [18:03:02.568] else if (inherits(cond, "condition")) { [18:03:02.568] if (!is.null(pattern)) { [18:03:02.568] computeRestarts <- base::computeRestarts [18:03:02.568] grepl <- base::grepl [18:03:02.568] restarts <- computeRestarts(cond) [18:03:02.568] for (restart in restarts) { [18:03:02.568] name <- restart$name [18:03:02.568] if (is.null(name)) [18:03:02.568] next [18:03:02.568] if (!grepl(pattern, name)) [18:03:02.568] next [18:03:02.568] invokeRestart(restart) [18:03:02.568] muffled <- TRUE [18:03:02.568] break [18:03:02.568] } [18:03:02.568] } [18:03:02.568] } [18:03:02.568] invisible(muffled) [18:03:02.568] } [18:03:02.568] muffleCondition(cond) [18:03:02.568] }) [18:03:02.568] })) [18:03:02.568] future::FutureResult(value = ...future.value$value, [18:03:02.568] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.568] ...future.rng), globalenv = if (FALSE) [18:03:02.568] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.568] ...future.globalenv.names)) [18:03:02.568] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.568] }, condition = base::local({ [18:03:02.568] c <- base::c [18:03:02.568] inherits <- base::inherits [18:03:02.568] invokeRestart <- base::invokeRestart [18:03:02.568] length <- base::length [18:03:02.568] list <- base::list [18:03:02.568] seq.int <- base::seq.int [18:03:02.568] signalCondition <- base::signalCondition [18:03:02.568] sys.calls <- base::sys.calls [18:03:02.568] `[[` <- base::`[[` [18:03:02.568] `+` <- base::`+` [18:03:02.568] `<<-` <- base::`<<-` [18:03:02.568] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.568] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.568] 3L)] [18:03:02.568] } [18:03:02.568] function(cond) { [18:03:02.568] is_error <- inherits(cond, "error") [18:03:02.568] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.568] NULL) [18:03:02.568] if (is_error) { [18:03:02.568] sessionInformation <- function() { [18:03:02.568] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.568] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.568] search = base::search(), system = base::Sys.info()) [18:03:02.568] } [18:03:02.568] ...future.conditions[[length(...future.conditions) + [18:03:02.568] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.568] cond$call), session = sessionInformation(), [18:03:02.568] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.568] signalCondition(cond) [18:03:02.568] } [18:03:02.568] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.568] "immediateCondition"))) { [18:03:02.568] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.568] ...future.conditions[[length(...future.conditions) + [18:03:02.568] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.568] if (TRUE && !signal) { [18:03:02.568] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.568] { [18:03:02.568] inherits <- base::inherits [18:03:02.568] invokeRestart <- base::invokeRestart [18:03:02.568] is.null <- base::is.null [18:03:02.568] muffled <- FALSE [18:03:02.568] if (inherits(cond, "message")) { [18:03:02.568] muffled <- grepl(pattern, "muffleMessage") [18:03:02.568] if (muffled) [18:03:02.568] invokeRestart("muffleMessage") [18:03:02.568] } [18:03:02.568] else if (inherits(cond, "warning")) { [18:03:02.568] muffled <- grepl(pattern, "muffleWarning") [18:03:02.568] if (muffled) [18:03:02.568] invokeRestart("muffleWarning") [18:03:02.568] } [18:03:02.568] else if (inherits(cond, "condition")) { [18:03:02.568] if (!is.null(pattern)) { [18:03:02.568] computeRestarts <- base::computeRestarts [18:03:02.568] grepl <- base::grepl [18:03:02.568] restarts <- computeRestarts(cond) [18:03:02.568] for (restart in restarts) { [18:03:02.568] name <- restart$name [18:03:02.568] if (is.null(name)) [18:03:02.568] next [18:03:02.568] if (!grepl(pattern, name)) [18:03:02.568] next [18:03:02.568] invokeRestart(restart) [18:03:02.568] muffled <- TRUE [18:03:02.568] break [18:03:02.568] } [18:03:02.568] } [18:03:02.568] } [18:03:02.568] invisible(muffled) [18:03:02.568] } [18:03:02.568] muffleCondition(cond, pattern = "^muffle") [18:03:02.568] } [18:03:02.568] } [18:03:02.568] else { [18:03:02.568] if (TRUE) { [18:03:02.568] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.568] { [18:03:02.568] inherits <- base::inherits [18:03:02.568] invokeRestart <- base::invokeRestart [18:03:02.568] is.null <- base::is.null [18:03:02.568] muffled <- FALSE [18:03:02.568] if (inherits(cond, "message")) { [18:03:02.568] muffled <- grepl(pattern, "muffleMessage") [18:03:02.568] if (muffled) [18:03:02.568] invokeRestart("muffleMessage") [18:03:02.568] } [18:03:02.568] else if (inherits(cond, "warning")) { [18:03:02.568] muffled <- grepl(pattern, "muffleWarning") [18:03:02.568] if (muffled) [18:03:02.568] invokeRestart("muffleWarning") [18:03:02.568] } [18:03:02.568] else if (inherits(cond, "condition")) { [18:03:02.568] if (!is.null(pattern)) { [18:03:02.568] computeRestarts <- base::computeRestarts [18:03:02.568] grepl <- base::grepl [18:03:02.568] restarts <- computeRestarts(cond) [18:03:02.568] for (restart in restarts) { [18:03:02.568] name <- restart$name [18:03:02.568] if (is.null(name)) [18:03:02.568] next [18:03:02.568] if (!grepl(pattern, name)) [18:03:02.568] next [18:03:02.568] invokeRestart(restart) [18:03:02.568] muffled <- TRUE [18:03:02.568] break [18:03:02.568] } [18:03:02.568] } [18:03:02.568] } [18:03:02.568] invisible(muffled) [18:03:02.568] } [18:03:02.568] muffleCondition(cond, pattern = "^muffle") [18:03:02.568] } [18:03:02.568] } [18:03:02.568] } [18:03:02.568] })) [18:03:02.568] }, error = function(ex) { [18:03:02.568] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.568] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.568] ...future.rng), started = ...future.startTime, [18:03:02.568] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.568] version = "1.8"), class = "FutureResult") [18:03:02.568] }, finally = { [18:03:02.568] if (!identical(...future.workdir, getwd())) [18:03:02.568] setwd(...future.workdir) [18:03:02.568] { [18:03:02.568] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.568] ...future.oldOptions$nwarnings <- NULL [18:03:02.568] } [18:03:02.568] base::options(...future.oldOptions) [18:03:02.568] if (.Platform$OS.type == "windows") { [18:03:02.568] old_names <- names(...future.oldEnvVars) [18:03:02.568] envs <- base::Sys.getenv() [18:03:02.568] names <- names(envs) [18:03:02.568] common <- intersect(names, old_names) [18:03:02.568] added <- setdiff(names, old_names) [18:03:02.568] removed <- setdiff(old_names, names) [18:03:02.568] changed <- common[...future.oldEnvVars[common] != [18:03:02.568] envs[common]] [18:03:02.568] NAMES <- toupper(changed) [18:03:02.568] args <- list() [18:03:02.568] for (kk in seq_along(NAMES)) { [18:03:02.568] name <- changed[[kk]] [18:03:02.568] NAME <- NAMES[[kk]] [18:03:02.568] if (name != NAME && is.element(NAME, old_names)) [18:03:02.568] next [18:03:02.568] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.568] } [18:03:02.568] NAMES <- toupper(added) [18:03:02.568] for (kk in seq_along(NAMES)) { [18:03:02.568] name <- added[[kk]] [18:03:02.568] NAME <- NAMES[[kk]] [18:03:02.568] if (name != NAME && is.element(NAME, old_names)) [18:03:02.568] next [18:03:02.568] args[[name]] <- "" [18:03:02.568] } [18:03:02.568] NAMES <- toupper(removed) [18:03:02.568] for (kk in seq_along(NAMES)) { [18:03:02.568] name <- removed[[kk]] [18:03:02.568] NAME <- NAMES[[kk]] [18:03:02.568] if (name != NAME && is.element(NAME, old_names)) [18:03:02.568] next [18:03:02.568] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.568] } [18:03:02.568] if (length(args) > 0) [18:03:02.568] base::do.call(base::Sys.setenv, args = args) [18:03:02.568] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.568] } [18:03:02.568] else { [18:03:02.568] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.568] } [18:03:02.568] { [18:03:02.568] if (base::length(...future.futureOptionsAdded) > [18:03:02.568] 0L) { [18:03:02.568] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.568] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.568] base::options(opts) [18:03:02.568] } [18:03:02.568] { [18:03:02.568] { [18:03:02.568] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.568] NULL [18:03:02.568] } [18:03:02.568] options(future.plan = NULL) [18:03:02.568] if (is.na(NA_character_)) [18:03:02.568] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.568] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.568] future::plan(list(function (..., workers = availableCores(), [18:03:02.568] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.568] envir = parent.frame()) [18:03:02.568] { [18:03:02.568] if (is.function(workers)) [18:03:02.568] workers <- workers() [18:03:02.568] workers <- structure(as.integer(workers), [18:03:02.568] class = class(workers)) [18:03:02.568] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.568] workers >= 1) [18:03:02.568] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.568] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.568] } [18:03:02.568] future <- MultisessionFuture(..., workers = workers, [18:03:02.568] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.568] envir = envir) [18:03:02.568] if (!future$lazy) [18:03:02.568] future <- run(future) [18:03:02.568] invisible(future) [18:03:02.568] }), .cleanup = FALSE, .init = FALSE) [18:03:02.568] } [18:03:02.568] } [18:03:02.568] } [18:03:02.568] }) [18:03:02.568] if (TRUE) { [18:03:02.568] base::sink(type = "output", split = FALSE) [18:03:02.568] if (TRUE) { [18:03:02.568] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.568] } [18:03:02.568] else { [18:03:02.568] ...future.result["stdout"] <- base::list(NULL) [18:03:02.568] } [18:03:02.568] base::close(...future.stdout) [18:03:02.568] ...future.stdout <- NULL [18:03:02.568] } [18:03:02.568] ...future.result$conditions <- ...future.conditions [18:03:02.568] ...future.result$finished <- base::Sys.time() [18:03:02.568] ...future.result [18:03:02.568] } [18:03:02.574] MultisessionFuture started [18:03:02.574] - Launch lazy future ... done [18:03:02.575] run() for 'MultisessionFuture' ... done [18:03:02.575] resolve() on environment ... [18:03:02.575] recursive: 0 [18:03:02.576] elements: [3] '.future_a', '.future_b', 'a', 'b', 'c' [18:03:02.577] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.577] - Validating connection of MultisessionFuture [18:03:02.577] - received message: FutureResult [18:03:02.578] - Received FutureResult [18:03:02.578] - Erased future from FutureRegistry [18:03:02.578] result() for ClusterFuture ... [18:03:02.578] - result already collected: FutureResult [18:03:02.579] result() for ClusterFuture ... done [18:03:02.579] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.579] Future #1 [18:03:02.579] length: 2 (resolved future 1) [18:03:02.595] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.595] - Validating connection of MultisessionFuture [18:03:02.596] - received message: FutureResult [18:03:02.596] - Received FutureResult [18:03:02.596] - Erased future from FutureRegistry [18:03:02.596] result() for ClusterFuture ... [18:03:02.596] - result already collected: FutureResult [18:03:02.596] result() for ClusterFuture ... done [18:03:02.597] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.597] Future #2 [18:03:02.597] length: 1 (resolved future 2) [18:03:02.597] length: 0 (resolved future 3) [18:03:02.597] resolve() on environment ... DONE [18:03:02.598] getGlobalsAndPackages() ... [18:03:02.598] Searching for globals... [18:03:02.599] - globals found: [1] '{' [18:03:02.599] Searching for globals ... DONE [18:03:02.599] Resolving globals: FALSE [18:03:02.599] [18:03:02.600] [18:03:02.600] getGlobalsAndPackages() ... DONE [18:03:02.600] run() for 'Future' ... [18:03:02.600] - state: 'created' [18:03:02.600] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.614] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.614] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.614] - Field: 'node' [18:03:02.615] - Field: 'label' [18:03:02.615] - Field: 'local' [18:03:02.615] - Field: 'owner' [18:03:02.615] - Field: 'envir' [18:03:02.615] - Field: 'workers' [18:03:02.616] - Field: 'packages' [18:03:02.616] - Field: 'gc' [18:03:02.616] - Field: 'conditions' [18:03:02.616] - Field: 'persistent' [18:03:02.616] - Field: 'expr' [18:03:02.616] - Field: 'uuid' [18:03:02.617] - Field: 'seed' [18:03:02.617] - Field: 'version' [18:03:02.617] - Field: 'result' [18:03:02.617] - Field: 'asynchronous' [18:03:02.617] - Field: 'calls' [18:03:02.618] - Field: 'globals' [18:03:02.618] - Field: 'stdout' [18:03:02.618] - Field: 'earlySignal' [18:03:02.618] - Field: 'lazy' [18:03:02.618] - Field: 'state' [18:03:02.618] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.619] - Launch lazy future ... [18:03:02.619] Packages needed by the future expression (n = 0): [18:03:02.619] Packages needed by future strategies (n = 0): [18:03:02.620] { [18:03:02.620] { [18:03:02.620] { [18:03:02.620] ...future.startTime <- base::Sys.time() [18:03:02.620] { [18:03:02.620] { [18:03:02.620] { [18:03:02.620] { [18:03:02.620] base::local({ [18:03:02.620] has_future <- base::requireNamespace("future", [18:03:02.620] quietly = TRUE) [18:03:02.620] if (has_future) { [18:03:02.620] ns <- base::getNamespace("future") [18:03:02.620] version <- ns[[".package"]][["version"]] [18:03:02.620] if (is.null(version)) [18:03:02.620] version <- utils::packageVersion("future") [18:03:02.620] } [18:03:02.620] else { [18:03:02.620] version <- NULL [18:03:02.620] } [18:03:02.620] if (!has_future || version < "1.8.0") { [18:03:02.620] info <- base::c(r_version = base::gsub("R version ", [18:03:02.620] "", base::R.version$version.string), [18:03:02.620] platform = base::sprintf("%s (%s-bit)", [18:03:02.620] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.620] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.620] "release", "version")], collapse = " "), [18:03:02.620] hostname = base::Sys.info()[["nodename"]]) [18:03:02.620] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.620] info) [18:03:02.620] info <- base::paste(info, collapse = "; ") [18:03:02.620] if (!has_future) { [18:03:02.620] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.620] info) [18:03:02.620] } [18:03:02.620] else { [18:03:02.620] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.620] info, version) [18:03:02.620] } [18:03:02.620] base::stop(msg) [18:03:02.620] } [18:03:02.620] }) [18:03:02.620] } [18:03:02.620] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.620] base::options(mc.cores = 1L) [18:03:02.620] } [18:03:02.620] options(future.plan = NULL) [18:03:02.620] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.620] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.620] } [18:03:02.620] ...future.workdir <- getwd() [18:03:02.620] } [18:03:02.620] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.620] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.620] } [18:03:02.620] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.620] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.620] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.620] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.620] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.620] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.620] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.620] base::names(...future.oldOptions)) [18:03:02.620] } [18:03:02.620] if (FALSE) { [18:03:02.620] } [18:03:02.620] else { [18:03:02.620] if (TRUE) { [18:03:02.620] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.620] open = "w") [18:03:02.620] } [18:03:02.620] else { [18:03:02.620] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.620] windows = "NUL", "/dev/null"), open = "w") [18:03:02.620] } [18:03:02.620] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.620] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.620] base::sink(type = "output", split = FALSE) [18:03:02.620] base::close(...future.stdout) [18:03:02.620] }, add = TRUE) [18:03:02.620] } [18:03:02.620] ...future.frame <- base::sys.nframe() [18:03:02.620] ...future.conditions <- base::list() [18:03:02.620] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.620] if (FALSE) { [18:03:02.620] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.620] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.620] } [18:03:02.620] ...future.result <- base::tryCatch({ [18:03:02.620] base::withCallingHandlers({ [18:03:02.620] ...future.value <- base::withVisible(base::local({ [18:03:02.620] ...future.makeSendCondition <- local({ [18:03:02.620] sendCondition <- NULL [18:03:02.620] function(frame = 1L) { [18:03:02.620] if (is.function(sendCondition)) [18:03:02.620] return(sendCondition) [18:03:02.620] ns <- getNamespace("parallel") [18:03:02.620] if (exists("sendData", mode = "function", [18:03:02.620] envir = ns)) { [18:03:02.620] parallel_sendData <- get("sendData", mode = "function", [18:03:02.620] envir = ns) [18:03:02.620] envir <- sys.frame(frame) [18:03:02.620] master <- NULL [18:03:02.620] while (!identical(envir, .GlobalEnv) && [18:03:02.620] !identical(envir, emptyenv())) { [18:03:02.620] if (exists("master", mode = "list", envir = envir, [18:03:02.620] inherits = FALSE)) { [18:03:02.620] master <- get("master", mode = "list", [18:03:02.620] envir = envir, inherits = FALSE) [18:03:02.620] if (inherits(master, c("SOCKnode", [18:03:02.620] "SOCK0node"))) { [18:03:02.620] sendCondition <<- function(cond) { [18:03:02.620] data <- list(type = "VALUE", value = cond, [18:03:02.620] success = TRUE) [18:03:02.620] parallel_sendData(master, data) [18:03:02.620] } [18:03:02.620] return(sendCondition) [18:03:02.620] } [18:03:02.620] } [18:03:02.620] frame <- frame + 1L [18:03:02.620] envir <- sys.frame(frame) [18:03:02.620] } [18:03:02.620] } [18:03:02.620] sendCondition <<- function(cond) NULL [18:03:02.620] } [18:03:02.620] }) [18:03:02.620] withCallingHandlers({ [18:03:02.620] { [18:03:02.620] 1 [18:03:02.620] } [18:03:02.620] }, immediateCondition = function(cond) { [18:03:02.620] sendCondition <- ...future.makeSendCondition() [18:03:02.620] sendCondition(cond) [18:03:02.620] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.620] { [18:03:02.620] inherits <- base::inherits [18:03:02.620] invokeRestart <- base::invokeRestart [18:03:02.620] is.null <- base::is.null [18:03:02.620] muffled <- FALSE [18:03:02.620] if (inherits(cond, "message")) { [18:03:02.620] muffled <- grepl(pattern, "muffleMessage") [18:03:02.620] if (muffled) [18:03:02.620] invokeRestart("muffleMessage") [18:03:02.620] } [18:03:02.620] else if (inherits(cond, "warning")) { [18:03:02.620] muffled <- grepl(pattern, "muffleWarning") [18:03:02.620] if (muffled) [18:03:02.620] invokeRestart("muffleWarning") [18:03:02.620] } [18:03:02.620] else if (inherits(cond, "condition")) { [18:03:02.620] if (!is.null(pattern)) { [18:03:02.620] computeRestarts <- base::computeRestarts [18:03:02.620] grepl <- base::grepl [18:03:02.620] restarts <- computeRestarts(cond) [18:03:02.620] for (restart in restarts) { [18:03:02.620] name <- restart$name [18:03:02.620] if (is.null(name)) [18:03:02.620] next [18:03:02.620] if (!grepl(pattern, name)) [18:03:02.620] next [18:03:02.620] invokeRestart(restart) [18:03:02.620] muffled <- TRUE [18:03:02.620] break [18:03:02.620] } [18:03:02.620] } [18:03:02.620] } [18:03:02.620] invisible(muffled) [18:03:02.620] } [18:03:02.620] muffleCondition(cond) [18:03:02.620] }) [18:03:02.620] })) [18:03:02.620] future::FutureResult(value = ...future.value$value, [18:03:02.620] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.620] ...future.rng), globalenv = if (FALSE) [18:03:02.620] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.620] ...future.globalenv.names)) [18:03:02.620] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.620] }, condition = base::local({ [18:03:02.620] c <- base::c [18:03:02.620] inherits <- base::inherits [18:03:02.620] invokeRestart <- base::invokeRestart [18:03:02.620] length <- base::length [18:03:02.620] list <- base::list [18:03:02.620] seq.int <- base::seq.int [18:03:02.620] signalCondition <- base::signalCondition [18:03:02.620] sys.calls <- base::sys.calls [18:03:02.620] `[[` <- base::`[[` [18:03:02.620] `+` <- base::`+` [18:03:02.620] `<<-` <- base::`<<-` [18:03:02.620] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.620] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.620] 3L)] [18:03:02.620] } [18:03:02.620] function(cond) { [18:03:02.620] is_error <- inherits(cond, "error") [18:03:02.620] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.620] NULL) [18:03:02.620] if (is_error) { [18:03:02.620] sessionInformation <- function() { [18:03:02.620] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.620] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.620] search = base::search(), system = base::Sys.info()) [18:03:02.620] } [18:03:02.620] ...future.conditions[[length(...future.conditions) + [18:03:02.620] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.620] cond$call), session = sessionInformation(), [18:03:02.620] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.620] signalCondition(cond) [18:03:02.620] } [18:03:02.620] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.620] "immediateCondition"))) { [18:03:02.620] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.620] ...future.conditions[[length(...future.conditions) + [18:03:02.620] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.620] if (TRUE && !signal) { [18:03:02.620] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.620] { [18:03:02.620] inherits <- base::inherits [18:03:02.620] invokeRestart <- base::invokeRestart [18:03:02.620] is.null <- base::is.null [18:03:02.620] muffled <- FALSE [18:03:02.620] if (inherits(cond, "message")) { [18:03:02.620] muffled <- grepl(pattern, "muffleMessage") [18:03:02.620] if (muffled) [18:03:02.620] invokeRestart("muffleMessage") [18:03:02.620] } [18:03:02.620] else if (inherits(cond, "warning")) { [18:03:02.620] muffled <- grepl(pattern, "muffleWarning") [18:03:02.620] if (muffled) [18:03:02.620] invokeRestart("muffleWarning") [18:03:02.620] } [18:03:02.620] else if (inherits(cond, "condition")) { [18:03:02.620] if (!is.null(pattern)) { [18:03:02.620] computeRestarts <- base::computeRestarts [18:03:02.620] grepl <- base::grepl [18:03:02.620] restarts <- computeRestarts(cond) [18:03:02.620] for (restart in restarts) { [18:03:02.620] name <- restart$name [18:03:02.620] if (is.null(name)) [18:03:02.620] next [18:03:02.620] if (!grepl(pattern, name)) [18:03:02.620] next [18:03:02.620] invokeRestart(restart) [18:03:02.620] muffled <- TRUE [18:03:02.620] break [18:03:02.620] } [18:03:02.620] } [18:03:02.620] } [18:03:02.620] invisible(muffled) [18:03:02.620] } [18:03:02.620] muffleCondition(cond, pattern = "^muffle") [18:03:02.620] } [18:03:02.620] } [18:03:02.620] else { [18:03:02.620] if (TRUE) { [18:03:02.620] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.620] { [18:03:02.620] inherits <- base::inherits [18:03:02.620] invokeRestart <- base::invokeRestart [18:03:02.620] is.null <- base::is.null [18:03:02.620] muffled <- FALSE [18:03:02.620] if (inherits(cond, "message")) { [18:03:02.620] muffled <- grepl(pattern, "muffleMessage") [18:03:02.620] if (muffled) [18:03:02.620] invokeRestart("muffleMessage") [18:03:02.620] } [18:03:02.620] else if (inherits(cond, "warning")) { [18:03:02.620] muffled <- grepl(pattern, "muffleWarning") [18:03:02.620] if (muffled) [18:03:02.620] invokeRestart("muffleWarning") [18:03:02.620] } [18:03:02.620] else if (inherits(cond, "condition")) { [18:03:02.620] if (!is.null(pattern)) { [18:03:02.620] computeRestarts <- base::computeRestarts [18:03:02.620] grepl <- base::grepl [18:03:02.620] restarts <- computeRestarts(cond) [18:03:02.620] for (restart in restarts) { [18:03:02.620] name <- restart$name [18:03:02.620] if (is.null(name)) [18:03:02.620] next [18:03:02.620] if (!grepl(pattern, name)) [18:03:02.620] next [18:03:02.620] invokeRestart(restart) [18:03:02.620] muffled <- TRUE [18:03:02.620] break [18:03:02.620] } [18:03:02.620] } [18:03:02.620] } [18:03:02.620] invisible(muffled) [18:03:02.620] } [18:03:02.620] muffleCondition(cond, pattern = "^muffle") [18:03:02.620] } [18:03:02.620] } [18:03:02.620] } [18:03:02.620] })) [18:03:02.620] }, error = function(ex) { [18:03:02.620] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.620] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.620] ...future.rng), started = ...future.startTime, [18:03:02.620] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.620] version = "1.8"), class = "FutureResult") [18:03:02.620] }, finally = { [18:03:02.620] if (!identical(...future.workdir, getwd())) [18:03:02.620] setwd(...future.workdir) [18:03:02.620] { [18:03:02.620] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.620] ...future.oldOptions$nwarnings <- NULL [18:03:02.620] } [18:03:02.620] base::options(...future.oldOptions) [18:03:02.620] if (.Platform$OS.type == "windows") { [18:03:02.620] old_names <- names(...future.oldEnvVars) [18:03:02.620] envs <- base::Sys.getenv() [18:03:02.620] names <- names(envs) [18:03:02.620] common <- intersect(names, old_names) [18:03:02.620] added <- setdiff(names, old_names) [18:03:02.620] removed <- setdiff(old_names, names) [18:03:02.620] changed <- common[...future.oldEnvVars[common] != [18:03:02.620] envs[common]] [18:03:02.620] NAMES <- toupper(changed) [18:03:02.620] args <- list() [18:03:02.620] for (kk in seq_along(NAMES)) { [18:03:02.620] name <- changed[[kk]] [18:03:02.620] NAME <- NAMES[[kk]] [18:03:02.620] if (name != NAME && is.element(NAME, old_names)) [18:03:02.620] next [18:03:02.620] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.620] } [18:03:02.620] NAMES <- toupper(added) [18:03:02.620] for (kk in seq_along(NAMES)) { [18:03:02.620] name <- added[[kk]] [18:03:02.620] NAME <- NAMES[[kk]] [18:03:02.620] if (name != NAME && is.element(NAME, old_names)) [18:03:02.620] next [18:03:02.620] args[[name]] <- "" [18:03:02.620] } [18:03:02.620] NAMES <- toupper(removed) [18:03:02.620] for (kk in seq_along(NAMES)) { [18:03:02.620] name <- removed[[kk]] [18:03:02.620] NAME <- NAMES[[kk]] [18:03:02.620] if (name != NAME && is.element(NAME, old_names)) [18:03:02.620] next [18:03:02.620] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.620] } [18:03:02.620] if (length(args) > 0) [18:03:02.620] base::do.call(base::Sys.setenv, args = args) [18:03:02.620] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.620] } [18:03:02.620] else { [18:03:02.620] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.620] } [18:03:02.620] { [18:03:02.620] if (base::length(...future.futureOptionsAdded) > [18:03:02.620] 0L) { [18:03:02.620] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.620] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.620] base::options(opts) [18:03:02.620] } [18:03:02.620] { [18:03:02.620] { [18:03:02.620] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.620] NULL [18:03:02.620] } [18:03:02.620] options(future.plan = NULL) [18:03:02.620] if (is.na(NA_character_)) [18:03:02.620] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.620] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.620] future::plan(list(function (..., workers = availableCores(), [18:03:02.620] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.620] envir = parent.frame()) [18:03:02.620] { [18:03:02.620] if (is.function(workers)) [18:03:02.620] workers <- workers() [18:03:02.620] workers <- structure(as.integer(workers), [18:03:02.620] class = class(workers)) [18:03:02.620] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.620] workers >= 1) [18:03:02.620] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.620] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.620] } [18:03:02.620] future <- MultisessionFuture(..., workers = workers, [18:03:02.620] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.620] envir = envir) [18:03:02.620] if (!future$lazy) [18:03:02.620] future <- run(future) [18:03:02.620] invisible(future) [18:03:02.620] }), .cleanup = FALSE, .init = FALSE) [18:03:02.620] } [18:03:02.620] } [18:03:02.620] } [18:03:02.620] }) [18:03:02.620] if (TRUE) { [18:03:02.620] base::sink(type = "output", split = FALSE) [18:03:02.620] if (TRUE) { [18:03:02.620] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.620] } [18:03:02.620] else { [18:03:02.620] ...future.result["stdout"] <- base::list(NULL) [18:03:02.620] } [18:03:02.620] base::close(...future.stdout) [18:03:02.620] ...future.stdout <- NULL [18:03:02.620] } [18:03:02.620] ...future.result$conditions <- ...future.conditions [18:03:02.620] ...future.result$finished <- base::Sys.time() [18:03:02.620] ...future.result [18:03:02.620] } [18:03:02.626] MultisessionFuture started [18:03:02.626] - Launch lazy future ... done [18:03:02.627] run() for 'MultisessionFuture' ... done [18:03:02.627] getGlobalsAndPackages() ... [18:03:02.627] Searching for globals... [18:03:02.628] - globals found: [1] '{' [18:03:02.628] Searching for globals ... DONE [18:03:02.629] Resolving globals: FALSE [18:03:02.629] [18:03:02.629] [18:03:02.629] getGlobalsAndPackages() ... DONE [18:03:02.630] run() for 'Future' ... [18:03:02.630] - state: 'created' [18:03:02.630] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.644] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.644] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.645] - Field: 'node' [18:03:02.645] - Field: 'label' [18:03:02.645] - Field: 'local' [18:03:02.645] - Field: 'owner' [18:03:02.645] - Field: 'envir' [18:03:02.645] - Field: 'workers' [18:03:02.646] - Field: 'packages' [18:03:02.646] - Field: 'gc' [18:03:02.646] - Field: 'conditions' [18:03:02.646] - Field: 'persistent' [18:03:02.646] - Field: 'expr' [18:03:02.647] - Field: 'uuid' [18:03:02.647] - Field: 'seed' [18:03:02.647] - Field: 'version' [18:03:02.647] - Field: 'result' [18:03:02.647] - Field: 'asynchronous' [18:03:02.647] - Field: 'calls' [18:03:02.648] - Field: 'globals' [18:03:02.648] - Field: 'stdout' [18:03:02.648] - Field: 'earlySignal' [18:03:02.648] - Field: 'lazy' [18:03:02.648] - Field: 'state' [18:03:02.648] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.649] - Launch lazy future ... [18:03:02.649] Packages needed by the future expression (n = 0): [18:03:02.649] Packages needed by future strategies (n = 0): [18:03:02.650] { [18:03:02.650] { [18:03:02.650] { [18:03:02.650] ...future.startTime <- base::Sys.time() [18:03:02.650] { [18:03:02.650] { [18:03:02.650] { [18:03:02.650] { [18:03:02.650] base::local({ [18:03:02.650] has_future <- base::requireNamespace("future", [18:03:02.650] quietly = TRUE) [18:03:02.650] if (has_future) { [18:03:02.650] ns <- base::getNamespace("future") [18:03:02.650] version <- ns[[".package"]][["version"]] [18:03:02.650] if (is.null(version)) [18:03:02.650] version <- utils::packageVersion("future") [18:03:02.650] } [18:03:02.650] else { [18:03:02.650] version <- NULL [18:03:02.650] } [18:03:02.650] if (!has_future || version < "1.8.0") { [18:03:02.650] info <- base::c(r_version = base::gsub("R version ", [18:03:02.650] "", base::R.version$version.string), [18:03:02.650] platform = base::sprintf("%s (%s-bit)", [18:03:02.650] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.650] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.650] "release", "version")], collapse = " "), [18:03:02.650] hostname = base::Sys.info()[["nodename"]]) [18:03:02.650] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.650] info) [18:03:02.650] info <- base::paste(info, collapse = "; ") [18:03:02.650] if (!has_future) { [18:03:02.650] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.650] info) [18:03:02.650] } [18:03:02.650] else { [18:03:02.650] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.650] info, version) [18:03:02.650] } [18:03:02.650] base::stop(msg) [18:03:02.650] } [18:03:02.650] }) [18:03:02.650] } [18:03:02.650] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.650] base::options(mc.cores = 1L) [18:03:02.650] } [18:03:02.650] options(future.plan = NULL) [18:03:02.650] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.650] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.650] } [18:03:02.650] ...future.workdir <- getwd() [18:03:02.650] } [18:03:02.650] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.650] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.650] } [18:03:02.650] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.650] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.650] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.650] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.650] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.650] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.650] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.650] base::names(...future.oldOptions)) [18:03:02.650] } [18:03:02.650] if (FALSE) { [18:03:02.650] } [18:03:02.650] else { [18:03:02.650] if (TRUE) { [18:03:02.650] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.650] open = "w") [18:03:02.650] } [18:03:02.650] else { [18:03:02.650] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.650] windows = "NUL", "/dev/null"), open = "w") [18:03:02.650] } [18:03:02.650] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.650] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.650] base::sink(type = "output", split = FALSE) [18:03:02.650] base::close(...future.stdout) [18:03:02.650] }, add = TRUE) [18:03:02.650] } [18:03:02.650] ...future.frame <- base::sys.nframe() [18:03:02.650] ...future.conditions <- base::list() [18:03:02.650] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.650] if (FALSE) { [18:03:02.650] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.650] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.650] } [18:03:02.650] ...future.result <- base::tryCatch({ [18:03:02.650] base::withCallingHandlers({ [18:03:02.650] ...future.value <- base::withVisible(base::local({ [18:03:02.650] ...future.makeSendCondition <- local({ [18:03:02.650] sendCondition <- NULL [18:03:02.650] function(frame = 1L) { [18:03:02.650] if (is.function(sendCondition)) [18:03:02.650] return(sendCondition) [18:03:02.650] ns <- getNamespace("parallel") [18:03:02.650] if (exists("sendData", mode = "function", [18:03:02.650] envir = ns)) { [18:03:02.650] parallel_sendData <- get("sendData", mode = "function", [18:03:02.650] envir = ns) [18:03:02.650] envir <- sys.frame(frame) [18:03:02.650] master <- NULL [18:03:02.650] while (!identical(envir, .GlobalEnv) && [18:03:02.650] !identical(envir, emptyenv())) { [18:03:02.650] if (exists("master", mode = "list", envir = envir, [18:03:02.650] inherits = FALSE)) { [18:03:02.650] master <- get("master", mode = "list", [18:03:02.650] envir = envir, inherits = FALSE) [18:03:02.650] if (inherits(master, c("SOCKnode", [18:03:02.650] "SOCK0node"))) { [18:03:02.650] sendCondition <<- function(cond) { [18:03:02.650] data <- list(type = "VALUE", value = cond, [18:03:02.650] success = TRUE) [18:03:02.650] parallel_sendData(master, data) [18:03:02.650] } [18:03:02.650] return(sendCondition) [18:03:02.650] } [18:03:02.650] } [18:03:02.650] frame <- frame + 1L [18:03:02.650] envir <- sys.frame(frame) [18:03:02.650] } [18:03:02.650] } [18:03:02.650] sendCondition <<- function(cond) NULL [18:03:02.650] } [18:03:02.650] }) [18:03:02.650] withCallingHandlers({ [18:03:02.650] { [18:03:02.650] 2 [18:03:02.650] } [18:03:02.650] }, immediateCondition = function(cond) { [18:03:02.650] sendCondition <- ...future.makeSendCondition() [18:03:02.650] sendCondition(cond) [18:03:02.650] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.650] { [18:03:02.650] inherits <- base::inherits [18:03:02.650] invokeRestart <- base::invokeRestart [18:03:02.650] is.null <- base::is.null [18:03:02.650] muffled <- FALSE [18:03:02.650] if (inherits(cond, "message")) { [18:03:02.650] muffled <- grepl(pattern, "muffleMessage") [18:03:02.650] if (muffled) [18:03:02.650] invokeRestart("muffleMessage") [18:03:02.650] } [18:03:02.650] else if (inherits(cond, "warning")) { [18:03:02.650] muffled <- grepl(pattern, "muffleWarning") [18:03:02.650] if (muffled) [18:03:02.650] invokeRestart("muffleWarning") [18:03:02.650] } [18:03:02.650] else if (inherits(cond, "condition")) { [18:03:02.650] if (!is.null(pattern)) { [18:03:02.650] computeRestarts <- base::computeRestarts [18:03:02.650] grepl <- base::grepl [18:03:02.650] restarts <- computeRestarts(cond) [18:03:02.650] for (restart in restarts) { [18:03:02.650] name <- restart$name [18:03:02.650] if (is.null(name)) [18:03:02.650] next [18:03:02.650] if (!grepl(pattern, name)) [18:03:02.650] next [18:03:02.650] invokeRestart(restart) [18:03:02.650] muffled <- TRUE [18:03:02.650] break [18:03:02.650] } [18:03:02.650] } [18:03:02.650] } [18:03:02.650] invisible(muffled) [18:03:02.650] } [18:03:02.650] muffleCondition(cond) [18:03:02.650] }) [18:03:02.650] })) [18:03:02.650] future::FutureResult(value = ...future.value$value, [18:03:02.650] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.650] ...future.rng), globalenv = if (FALSE) [18:03:02.650] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.650] ...future.globalenv.names)) [18:03:02.650] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.650] }, condition = base::local({ [18:03:02.650] c <- base::c [18:03:02.650] inherits <- base::inherits [18:03:02.650] invokeRestart <- base::invokeRestart [18:03:02.650] length <- base::length [18:03:02.650] list <- base::list [18:03:02.650] seq.int <- base::seq.int [18:03:02.650] signalCondition <- base::signalCondition [18:03:02.650] sys.calls <- base::sys.calls [18:03:02.650] `[[` <- base::`[[` [18:03:02.650] `+` <- base::`+` [18:03:02.650] `<<-` <- base::`<<-` [18:03:02.650] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.650] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.650] 3L)] [18:03:02.650] } [18:03:02.650] function(cond) { [18:03:02.650] is_error <- inherits(cond, "error") [18:03:02.650] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.650] NULL) [18:03:02.650] if (is_error) { [18:03:02.650] sessionInformation <- function() { [18:03:02.650] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.650] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.650] search = base::search(), system = base::Sys.info()) [18:03:02.650] } [18:03:02.650] ...future.conditions[[length(...future.conditions) + [18:03:02.650] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.650] cond$call), session = sessionInformation(), [18:03:02.650] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.650] signalCondition(cond) [18:03:02.650] } [18:03:02.650] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.650] "immediateCondition"))) { [18:03:02.650] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.650] ...future.conditions[[length(...future.conditions) + [18:03:02.650] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.650] if (TRUE && !signal) { [18:03:02.650] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.650] { [18:03:02.650] inherits <- base::inherits [18:03:02.650] invokeRestart <- base::invokeRestart [18:03:02.650] is.null <- base::is.null [18:03:02.650] muffled <- FALSE [18:03:02.650] if (inherits(cond, "message")) { [18:03:02.650] muffled <- grepl(pattern, "muffleMessage") [18:03:02.650] if (muffled) [18:03:02.650] invokeRestart("muffleMessage") [18:03:02.650] } [18:03:02.650] else if (inherits(cond, "warning")) { [18:03:02.650] muffled <- grepl(pattern, "muffleWarning") [18:03:02.650] if (muffled) [18:03:02.650] invokeRestart("muffleWarning") [18:03:02.650] } [18:03:02.650] else if (inherits(cond, "condition")) { [18:03:02.650] if (!is.null(pattern)) { [18:03:02.650] computeRestarts <- base::computeRestarts [18:03:02.650] grepl <- base::grepl [18:03:02.650] restarts <- computeRestarts(cond) [18:03:02.650] for (restart in restarts) { [18:03:02.650] name <- restart$name [18:03:02.650] if (is.null(name)) [18:03:02.650] next [18:03:02.650] if (!grepl(pattern, name)) [18:03:02.650] next [18:03:02.650] invokeRestart(restart) [18:03:02.650] muffled <- TRUE [18:03:02.650] break [18:03:02.650] } [18:03:02.650] } [18:03:02.650] } [18:03:02.650] invisible(muffled) [18:03:02.650] } [18:03:02.650] muffleCondition(cond, pattern = "^muffle") [18:03:02.650] } [18:03:02.650] } [18:03:02.650] else { [18:03:02.650] if (TRUE) { [18:03:02.650] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.650] { [18:03:02.650] inherits <- base::inherits [18:03:02.650] invokeRestart <- base::invokeRestart [18:03:02.650] is.null <- base::is.null [18:03:02.650] muffled <- FALSE [18:03:02.650] if (inherits(cond, "message")) { [18:03:02.650] muffled <- grepl(pattern, "muffleMessage") [18:03:02.650] if (muffled) [18:03:02.650] invokeRestart("muffleMessage") [18:03:02.650] } [18:03:02.650] else if (inherits(cond, "warning")) { [18:03:02.650] muffled <- grepl(pattern, "muffleWarning") [18:03:02.650] if (muffled) [18:03:02.650] invokeRestart("muffleWarning") [18:03:02.650] } [18:03:02.650] else if (inherits(cond, "condition")) { [18:03:02.650] if (!is.null(pattern)) { [18:03:02.650] computeRestarts <- base::computeRestarts [18:03:02.650] grepl <- base::grepl [18:03:02.650] restarts <- computeRestarts(cond) [18:03:02.650] for (restart in restarts) { [18:03:02.650] name <- restart$name [18:03:02.650] if (is.null(name)) [18:03:02.650] next [18:03:02.650] if (!grepl(pattern, name)) [18:03:02.650] next [18:03:02.650] invokeRestart(restart) [18:03:02.650] muffled <- TRUE [18:03:02.650] break [18:03:02.650] } [18:03:02.650] } [18:03:02.650] } [18:03:02.650] invisible(muffled) [18:03:02.650] } [18:03:02.650] muffleCondition(cond, pattern = "^muffle") [18:03:02.650] } [18:03:02.650] } [18:03:02.650] } [18:03:02.650] })) [18:03:02.650] }, error = function(ex) { [18:03:02.650] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.650] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.650] ...future.rng), started = ...future.startTime, [18:03:02.650] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.650] version = "1.8"), class = "FutureResult") [18:03:02.650] }, finally = { [18:03:02.650] if (!identical(...future.workdir, getwd())) [18:03:02.650] setwd(...future.workdir) [18:03:02.650] { [18:03:02.650] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.650] ...future.oldOptions$nwarnings <- NULL [18:03:02.650] } [18:03:02.650] base::options(...future.oldOptions) [18:03:02.650] if (.Platform$OS.type == "windows") { [18:03:02.650] old_names <- names(...future.oldEnvVars) [18:03:02.650] envs <- base::Sys.getenv() [18:03:02.650] names <- names(envs) [18:03:02.650] common <- intersect(names, old_names) [18:03:02.650] added <- setdiff(names, old_names) [18:03:02.650] removed <- setdiff(old_names, names) [18:03:02.650] changed <- common[...future.oldEnvVars[common] != [18:03:02.650] envs[common]] [18:03:02.650] NAMES <- toupper(changed) [18:03:02.650] args <- list() [18:03:02.650] for (kk in seq_along(NAMES)) { [18:03:02.650] name <- changed[[kk]] [18:03:02.650] NAME <- NAMES[[kk]] [18:03:02.650] if (name != NAME && is.element(NAME, old_names)) [18:03:02.650] next [18:03:02.650] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.650] } [18:03:02.650] NAMES <- toupper(added) [18:03:02.650] for (kk in seq_along(NAMES)) { [18:03:02.650] name <- added[[kk]] [18:03:02.650] NAME <- NAMES[[kk]] [18:03:02.650] if (name != NAME && is.element(NAME, old_names)) [18:03:02.650] next [18:03:02.650] args[[name]] <- "" [18:03:02.650] } [18:03:02.650] NAMES <- toupper(removed) [18:03:02.650] for (kk in seq_along(NAMES)) { [18:03:02.650] name <- removed[[kk]] [18:03:02.650] NAME <- NAMES[[kk]] [18:03:02.650] if (name != NAME && is.element(NAME, old_names)) [18:03:02.650] next [18:03:02.650] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.650] } [18:03:02.650] if (length(args) > 0) [18:03:02.650] base::do.call(base::Sys.setenv, args = args) [18:03:02.650] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.650] } [18:03:02.650] else { [18:03:02.650] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.650] } [18:03:02.650] { [18:03:02.650] if (base::length(...future.futureOptionsAdded) > [18:03:02.650] 0L) { [18:03:02.650] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.650] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.650] base::options(opts) [18:03:02.650] } [18:03:02.650] { [18:03:02.650] { [18:03:02.650] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.650] NULL [18:03:02.650] } [18:03:02.650] options(future.plan = NULL) [18:03:02.650] if (is.na(NA_character_)) [18:03:02.650] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.650] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.650] future::plan(list(function (..., workers = availableCores(), [18:03:02.650] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.650] envir = parent.frame()) [18:03:02.650] { [18:03:02.650] if (is.function(workers)) [18:03:02.650] workers <- workers() [18:03:02.650] workers <- structure(as.integer(workers), [18:03:02.650] class = class(workers)) [18:03:02.650] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.650] workers >= 1) [18:03:02.650] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.650] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.650] } [18:03:02.650] future <- MultisessionFuture(..., workers = workers, [18:03:02.650] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.650] envir = envir) [18:03:02.650] if (!future$lazy) [18:03:02.650] future <- run(future) [18:03:02.650] invisible(future) [18:03:02.650] }), .cleanup = FALSE, .init = FALSE) [18:03:02.650] } [18:03:02.650] } [18:03:02.650] } [18:03:02.650] }) [18:03:02.650] if (TRUE) { [18:03:02.650] base::sink(type = "output", split = FALSE) [18:03:02.650] if (TRUE) { [18:03:02.650] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.650] } [18:03:02.650] else { [18:03:02.650] ...future.result["stdout"] <- base::list(NULL) [18:03:02.650] } [18:03:02.650] base::close(...future.stdout) [18:03:02.650] ...future.stdout <- NULL [18:03:02.650] } [18:03:02.650] ...future.result$conditions <- ...future.conditions [18:03:02.650] ...future.result$finished <- base::Sys.time() [18:03:02.650] ...future.result [18:03:02.650] } [18:03:02.656] MultisessionFuture started [18:03:02.657] - Launch lazy future ... done [18:03:02.657] run() for 'MultisessionFuture' ... done [18:03:02.658] resolve() on environment ... [18:03:02.658] recursive: 0 [18:03:02.658] elements: [3] 'a' [18:03:02.659] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.659] - Validating connection of MultisessionFuture [18:03:02.659] - received message: FutureResult [18:03:02.660] - Received FutureResult [18:03:02.660] - Erased future from FutureRegistry [18:03:02.660] result() for ClusterFuture ... [18:03:02.660] - result already collected: FutureResult [18:03:02.660] result() for ClusterFuture ... done [18:03:02.660] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.660] Future #1 [18:03:02.661] length: 2 (resolved future 1) [18:03:02.673] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.674] - Validating connection of MultisessionFuture [18:03:02.674] - received message: FutureResult [18:03:02.674] - Received FutureResult [18:03:02.674] - Erased future from FutureRegistry [18:03:02.674] result() for ClusterFuture ... [18:03:02.675] - result already collected: FutureResult [18:03:02.675] result() for ClusterFuture ... done [18:03:02.675] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.675] Future #2 [18:03:02.675] length: 1 (resolved future 2) [18:03:02.675] length: 0 (resolved future 3) [18:03:02.676] resolve() on environment ... DONE [18:03:02.676] resolve() on environment ... [18:03:02.676] recursive: 0 [18:03:02.677] elements: [3] 'b' [18:03:02.677] Future #1 [18:03:02.677] length: 2 (resolved future 1) [18:03:02.678] Future #2 [18:03:02.678] length: 1 (resolved future 2) [18:03:02.678] length: 0 (resolved future 3) [18:03:02.678] resolve() on environment ... DONE [18:03:02.679] resolve() on environment ... [18:03:02.679] recursive: 0 [18:03:02.680] elements: [3] 'c' [18:03:02.680] Future #1 [18:03:02.680] length: 2 (resolved future 1) [18:03:02.680] Future #2 [18:03:02.680] length: 1 (resolved future 2) [18:03:02.681] length: 0 (resolved future 3) [18:03:02.681] resolve() on environment ... DONE [18:03:02.681] resolve() on environment ... [18:03:02.682] recursive: 0 [18:03:02.682] elements: [3] 'a', 'b', 'c', '.future_b' [18:03:02.682] Future #1 [18:03:02.683] result() for ClusterFuture ... [18:03:02.683] - result already collected: FutureResult [18:03:02.683] result() for ClusterFuture ... done [18:03:02.683] result() for ClusterFuture ... [18:03:02.683] - result already collected: FutureResult [18:03:02.683] result() for ClusterFuture ... done [18:03:02.684] length: 2 (resolved future 1) [18:03:02.684] Future #2 [18:03:02.684] result() for ClusterFuture ... [18:03:02.684] - result already collected: FutureResult [18:03:02.684] result() for ClusterFuture ... done [18:03:02.688] result() for ClusterFuture ... [18:03:02.688] - result already collected: FutureResult [18:03:02.688] result() for ClusterFuture ... done [18:03:02.689] length: 1 (resolved future 2) [18:03:02.689] length: 0 (resolved future 3) [18:03:02.689] resolve() on environment ... DONE [18:03:02.690] resolve() on environment ... [18:03:02.690] recursive: 99 [18:03:02.690] elements: [3] '.future_b', 'a', 'b', 'c' [18:03:02.691] Future #1 [18:03:02.691] result() for ClusterFuture ... [18:03:02.691] - result already collected: FutureResult [18:03:02.691] result() for ClusterFuture ... done [18:03:02.691] result() for ClusterFuture ... [18:03:02.691] - result already collected: FutureResult [18:03:02.691] result() for ClusterFuture ... done [18:03:02.692] A MultisessionFuture was resolved [18:03:02.692] length: 2 (resolved future 1) [18:03:02.692] Future #2 [18:03:02.692] result() for ClusterFuture ... [18:03:02.692] - result already collected: FutureResult [18:03:02.693] result() for ClusterFuture ... done [18:03:02.693] result() for ClusterFuture ... [18:03:02.693] - result already collected: FutureResult [18:03:02.693] result() for ClusterFuture ... done [18:03:02.693] A MultisessionFuture was resolved [18:03:02.693] length: 1 (resolved future 2) [18:03:02.694] length: 0 (resolved future 3) [18:03:02.694] resolve() on environment ... DONE *** resolve() for environments ... DONE *** resolve() for list environments ... [18:03:02.695] resolve() on list environment ... [18:03:02.695] recursive: 0 [18:03:02.696] length: 2 [18:03:02.696] elements: 'a', 'b' [18:03:02.696] length: 1 (resolved future 1) [18:03:02.696] length: 0 (resolved future 2) [18:03:02.696] resolve() on list environment ... DONE [18:03:02.697] getGlobalsAndPackages() ... [18:03:02.697] Searching for globals... [18:03:02.697] [18:03:02.697] Searching for globals ... DONE [18:03:02.697] - globals: [0] [18:03:02.698] getGlobalsAndPackages() ... DONE [18:03:02.698] run() for 'Future' ... [18:03:02.698] - state: 'created' [18:03:02.698] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.712] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.712] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.712] - Field: 'node' [18:03:02.713] - Field: 'label' [18:03:02.713] - Field: 'local' [18:03:02.713] - Field: 'owner' [18:03:02.713] - Field: 'envir' [18:03:02.713] - Field: 'workers' [18:03:02.714] - Field: 'packages' [18:03:02.714] - Field: 'gc' [18:03:02.714] - Field: 'conditions' [18:03:02.714] - Field: 'persistent' [18:03:02.714] - Field: 'expr' [18:03:02.715] - Field: 'uuid' [18:03:02.715] - Field: 'seed' [18:03:02.715] - Field: 'version' [18:03:02.715] - Field: 'result' [18:03:02.715] - Field: 'asynchronous' [18:03:02.715] - Field: 'calls' [18:03:02.716] - Field: 'globals' [18:03:02.716] - Field: 'stdout' [18:03:02.716] - Field: 'earlySignal' [18:03:02.716] - Field: 'lazy' [18:03:02.716] - Field: 'state' [18:03:02.716] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.717] - Launch lazy future ... [18:03:02.717] Packages needed by the future expression (n = 0): [18:03:02.717] Packages needed by future strategies (n = 0): [18:03:02.718] { [18:03:02.718] { [18:03:02.718] { [18:03:02.718] ...future.startTime <- base::Sys.time() [18:03:02.718] { [18:03:02.718] { [18:03:02.718] { [18:03:02.718] { [18:03:02.718] base::local({ [18:03:02.718] has_future <- base::requireNamespace("future", [18:03:02.718] quietly = TRUE) [18:03:02.718] if (has_future) { [18:03:02.718] ns <- base::getNamespace("future") [18:03:02.718] version <- ns[[".package"]][["version"]] [18:03:02.718] if (is.null(version)) [18:03:02.718] version <- utils::packageVersion("future") [18:03:02.718] } [18:03:02.718] else { [18:03:02.718] version <- NULL [18:03:02.718] } [18:03:02.718] if (!has_future || version < "1.8.0") { [18:03:02.718] info <- base::c(r_version = base::gsub("R version ", [18:03:02.718] "", base::R.version$version.string), [18:03:02.718] platform = base::sprintf("%s (%s-bit)", [18:03:02.718] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.718] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.718] "release", "version")], collapse = " "), [18:03:02.718] hostname = base::Sys.info()[["nodename"]]) [18:03:02.718] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.718] info) [18:03:02.718] info <- base::paste(info, collapse = "; ") [18:03:02.718] if (!has_future) { [18:03:02.718] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.718] info) [18:03:02.718] } [18:03:02.718] else { [18:03:02.718] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.718] info, version) [18:03:02.718] } [18:03:02.718] base::stop(msg) [18:03:02.718] } [18:03:02.718] }) [18:03:02.718] } [18:03:02.718] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.718] base::options(mc.cores = 1L) [18:03:02.718] } [18:03:02.718] options(future.plan = NULL) [18:03:02.718] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.718] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.718] } [18:03:02.718] ...future.workdir <- getwd() [18:03:02.718] } [18:03:02.718] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.718] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.718] } [18:03:02.718] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.718] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.718] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.718] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.718] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.718] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.718] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.718] base::names(...future.oldOptions)) [18:03:02.718] } [18:03:02.718] if (FALSE) { [18:03:02.718] } [18:03:02.718] else { [18:03:02.718] if (TRUE) { [18:03:02.718] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.718] open = "w") [18:03:02.718] } [18:03:02.718] else { [18:03:02.718] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.718] windows = "NUL", "/dev/null"), open = "w") [18:03:02.718] } [18:03:02.718] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.718] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.718] base::sink(type = "output", split = FALSE) [18:03:02.718] base::close(...future.stdout) [18:03:02.718] }, add = TRUE) [18:03:02.718] } [18:03:02.718] ...future.frame <- base::sys.nframe() [18:03:02.718] ...future.conditions <- base::list() [18:03:02.718] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.718] if (FALSE) { [18:03:02.718] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.718] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.718] } [18:03:02.718] ...future.result <- base::tryCatch({ [18:03:02.718] base::withCallingHandlers({ [18:03:02.718] ...future.value <- base::withVisible(base::local({ [18:03:02.718] ...future.makeSendCondition <- local({ [18:03:02.718] sendCondition <- NULL [18:03:02.718] function(frame = 1L) { [18:03:02.718] if (is.function(sendCondition)) [18:03:02.718] return(sendCondition) [18:03:02.718] ns <- getNamespace("parallel") [18:03:02.718] if (exists("sendData", mode = "function", [18:03:02.718] envir = ns)) { [18:03:02.718] parallel_sendData <- get("sendData", mode = "function", [18:03:02.718] envir = ns) [18:03:02.718] envir <- sys.frame(frame) [18:03:02.718] master <- NULL [18:03:02.718] while (!identical(envir, .GlobalEnv) && [18:03:02.718] !identical(envir, emptyenv())) { [18:03:02.718] if (exists("master", mode = "list", envir = envir, [18:03:02.718] inherits = FALSE)) { [18:03:02.718] master <- get("master", mode = "list", [18:03:02.718] envir = envir, inherits = FALSE) [18:03:02.718] if (inherits(master, c("SOCKnode", [18:03:02.718] "SOCK0node"))) { [18:03:02.718] sendCondition <<- function(cond) { [18:03:02.718] data <- list(type = "VALUE", value = cond, [18:03:02.718] success = TRUE) [18:03:02.718] parallel_sendData(master, data) [18:03:02.718] } [18:03:02.718] return(sendCondition) [18:03:02.718] } [18:03:02.718] } [18:03:02.718] frame <- frame + 1L [18:03:02.718] envir <- sys.frame(frame) [18:03:02.718] } [18:03:02.718] } [18:03:02.718] sendCondition <<- function(cond) NULL [18:03:02.718] } [18:03:02.718] }) [18:03:02.718] withCallingHandlers({ [18:03:02.718] 1 [18:03:02.718] }, immediateCondition = function(cond) { [18:03:02.718] sendCondition <- ...future.makeSendCondition() [18:03:02.718] sendCondition(cond) [18:03:02.718] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.718] { [18:03:02.718] inherits <- base::inherits [18:03:02.718] invokeRestart <- base::invokeRestart [18:03:02.718] is.null <- base::is.null [18:03:02.718] muffled <- FALSE [18:03:02.718] if (inherits(cond, "message")) { [18:03:02.718] muffled <- grepl(pattern, "muffleMessage") [18:03:02.718] if (muffled) [18:03:02.718] invokeRestart("muffleMessage") [18:03:02.718] } [18:03:02.718] else if (inherits(cond, "warning")) { [18:03:02.718] muffled <- grepl(pattern, "muffleWarning") [18:03:02.718] if (muffled) [18:03:02.718] invokeRestart("muffleWarning") [18:03:02.718] } [18:03:02.718] else if (inherits(cond, "condition")) { [18:03:02.718] if (!is.null(pattern)) { [18:03:02.718] computeRestarts <- base::computeRestarts [18:03:02.718] grepl <- base::grepl [18:03:02.718] restarts <- computeRestarts(cond) [18:03:02.718] for (restart in restarts) { [18:03:02.718] name <- restart$name [18:03:02.718] if (is.null(name)) [18:03:02.718] next [18:03:02.718] if (!grepl(pattern, name)) [18:03:02.718] next [18:03:02.718] invokeRestart(restart) [18:03:02.718] muffled <- TRUE [18:03:02.718] break [18:03:02.718] } [18:03:02.718] } [18:03:02.718] } [18:03:02.718] invisible(muffled) [18:03:02.718] } [18:03:02.718] muffleCondition(cond) [18:03:02.718] }) [18:03:02.718] })) [18:03:02.718] future::FutureResult(value = ...future.value$value, [18:03:02.718] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.718] ...future.rng), globalenv = if (FALSE) [18:03:02.718] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.718] ...future.globalenv.names)) [18:03:02.718] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.718] }, condition = base::local({ [18:03:02.718] c <- base::c [18:03:02.718] inherits <- base::inherits [18:03:02.718] invokeRestart <- base::invokeRestart [18:03:02.718] length <- base::length [18:03:02.718] list <- base::list [18:03:02.718] seq.int <- base::seq.int [18:03:02.718] signalCondition <- base::signalCondition [18:03:02.718] sys.calls <- base::sys.calls [18:03:02.718] `[[` <- base::`[[` [18:03:02.718] `+` <- base::`+` [18:03:02.718] `<<-` <- base::`<<-` [18:03:02.718] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.718] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.718] 3L)] [18:03:02.718] } [18:03:02.718] function(cond) { [18:03:02.718] is_error <- inherits(cond, "error") [18:03:02.718] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.718] NULL) [18:03:02.718] if (is_error) { [18:03:02.718] sessionInformation <- function() { [18:03:02.718] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.718] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.718] search = base::search(), system = base::Sys.info()) [18:03:02.718] } [18:03:02.718] ...future.conditions[[length(...future.conditions) + [18:03:02.718] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.718] cond$call), session = sessionInformation(), [18:03:02.718] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.718] signalCondition(cond) [18:03:02.718] } [18:03:02.718] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.718] "immediateCondition"))) { [18:03:02.718] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.718] ...future.conditions[[length(...future.conditions) + [18:03:02.718] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.718] if (TRUE && !signal) { [18:03:02.718] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.718] { [18:03:02.718] inherits <- base::inherits [18:03:02.718] invokeRestart <- base::invokeRestart [18:03:02.718] is.null <- base::is.null [18:03:02.718] muffled <- FALSE [18:03:02.718] if (inherits(cond, "message")) { [18:03:02.718] muffled <- grepl(pattern, "muffleMessage") [18:03:02.718] if (muffled) [18:03:02.718] invokeRestart("muffleMessage") [18:03:02.718] } [18:03:02.718] else if (inherits(cond, "warning")) { [18:03:02.718] muffled <- grepl(pattern, "muffleWarning") [18:03:02.718] if (muffled) [18:03:02.718] invokeRestart("muffleWarning") [18:03:02.718] } [18:03:02.718] else if (inherits(cond, "condition")) { [18:03:02.718] if (!is.null(pattern)) { [18:03:02.718] computeRestarts <- base::computeRestarts [18:03:02.718] grepl <- base::grepl [18:03:02.718] restarts <- computeRestarts(cond) [18:03:02.718] for (restart in restarts) { [18:03:02.718] name <- restart$name [18:03:02.718] if (is.null(name)) [18:03:02.718] next [18:03:02.718] if (!grepl(pattern, name)) [18:03:02.718] next [18:03:02.718] invokeRestart(restart) [18:03:02.718] muffled <- TRUE [18:03:02.718] break [18:03:02.718] } [18:03:02.718] } [18:03:02.718] } [18:03:02.718] invisible(muffled) [18:03:02.718] } [18:03:02.718] muffleCondition(cond, pattern = "^muffle") [18:03:02.718] } [18:03:02.718] } [18:03:02.718] else { [18:03:02.718] if (TRUE) { [18:03:02.718] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.718] { [18:03:02.718] inherits <- base::inherits [18:03:02.718] invokeRestart <- base::invokeRestart [18:03:02.718] is.null <- base::is.null [18:03:02.718] muffled <- FALSE [18:03:02.718] if (inherits(cond, "message")) { [18:03:02.718] muffled <- grepl(pattern, "muffleMessage") [18:03:02.718] if (muffled) [18:03:02.718] invokeRestart("muffleMessage") [18:03:02.718] } [18:03:02.718] else if (inherits(cond, "warning")) { [18:03:02.718] muffled <- grepl(pattern, "muffleWarning") [18:03:02.718] if (muffled) [18:03:02.718] invokeRestart("muffleWarning") [18:03:02.718] } [18:03:02.718] else if (inherits(cond, "condition")) { [18:03:02.718] if (!is.null(pattern)) { [18:03:02.718] computeRestarts <- base::computeRestarts [18:03:02.718] grepl <- base::grepl [18:03:02.718] restarts <- computeRestarts(cond) [18:03:02.718] for (restart in restarts) { [18:03:02.718] name <- restart$name [18:03:02.718] if (is.null(name)) [18:03:02.718] next [18:03:02.718] if (!grepl(pattern, name)) [18:03:02.718] next [18:03:02.718] invokeRestart(restart) [18:03:02.718] muffled <- TRUE [18:03:02.718] break [18:03:02.718] } [18:03:02.718] } [18:03:02.718] } [18:03:02.718] invisible(muffled) [18:03:02.718] } [18:03:02.718] muffleCondition(cond, pattern = "^muffle") [18:03:02.718] } [18:03:02.718] } [18:03:02.718] } [18:03:02.718] })) [18:03:02.718] }, error = function(ex) { [18:03:02.718] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.718] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.718] ...future.rng), started = ...future.startTime, [18:03:02.718] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.718] version = "1.8"), class = "FutureResult") [18:03:02.718] }, finally = { [18:03:02.718] if (!identical(...future.workdir, getwd())) [18:03:02.718] setwd(...future.workdir) [18:03:02.718] { [18:03:02.718] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.718] ...future.oldOptions$nwarnings <- NULL [18:03:02.718] } [18:03:02.718] base::options(...future.oldOptions) [18:03:02.718] if (.Platform$OS.type == "windows") { [18:03:02.718] old_names <- names(...future.oldEnvVars) [18:03:02.718] envs <- base::Sys.getenv() [18:03:02.718] names <- names(envs) [18:03:02.718] common <- intersect(names, old_names) [18:03:02.718] added <- setdiff(names, old_names) [18:03:02.718] removed <- setdiff(old_names, names) [18:03:02.718] changed <- common[...future.oldEnvVars[common] != [18:03:02.718] envs[common]] [18:03:02.718] NAMES <- toupper(changed) [18:03:02.718] args <- list() [18:03:02.718] for (kk in seq_along(NAMES)) { [18:03:02.718] name <- changed[[kk]] [18:03:02.718] NAME <- NAMES[[kk]] [18:03:02.718] if (name != NAME && is.element(NAME, old_names)) [18:03:02.718] next [18:03:02.718] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.718] } [18:03:02.718] NAMES <- toupper(added) [18:03:02.718] for (kk in seq_along(NAMES)) { [18:03:02.718] name <- added[[kk]] [18:03:02.718] NAME <- NAMES[[kk]] [18:03:02.718] if (name != NAME && is.element(NAME, old_names)) [18:03:02.718] next [18:03:02.718] args[[name]] <- "" [18:03:02.718] } [18:03:02.718] NAMES <- toupper(removed) [18:03:02.718] for (kk in seq_along(NAMES)) { [18:03:02.718] name <- removed[[kk]] [18:03:02.718] NAME <- NAMES[[kk]] [18:03:02.718] if (name != NAME && is.element(NAME, old_names)) [18:03:02.718] next [18:03:02.718] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.718] } [18:03:02.718] if (length(args) > 0) [18:03:02.718] base::do.call(base::Sys.setenv, args = args) [18:03:02.718] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.718] } [18:03:02.718] else { [18:03:02.718] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.718] } [18:03:02.718] { [18:03:02.718] if (base::length(...future.futureOptionsAdded) > [18:03:02.718] 0L) { [18:03:02.718] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.718] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.718] base::options(opts) [18:03:02.718] } [18:03:02.718] { [18:03:02.718] { [18:03:02.718] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.718] NULL [18:03:02.718] } [18:03:02.718] options(future.plan = NULL) [18:03:02.718] if (is.na(NA_character_)) [18:03:02.718] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.718] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.718] future::plan(list(function (..., workers = availableCores(), [18:03:02.718] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.718] envir = parent.frame()) [18:03:02.718] { [18:03:02.718] if (is.function(workers)) [18:03:02.718] workers <- workers() [18:03:02.718] workers <- structure(as.integer(workers), [18:03:02.718] class = class(workers)) [18:03:02.718] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.718] workers >= 1) [18:03:02.718] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.718] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.718] } [18:03:02.718] future <- MultisessionFuture(..., workers = workers, [18:03:02.718] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.718] envir = envir) [18:03:02.718] if (!future$lazy) [18:03:02.718] future <- run(future) [18:03:02.718] invisible(future) [18:03:02.718] }), .cleanup = FALSE, .init = FALSE) [18:03:02.718] } [18:03:02.718] } [18:03:02.718] } [18:03:02.718] }) [18:03:02.718] if (TRUE) { [18:03:02.718] base::sink(type = "output", split = FALSE) [18:03:02.718] if (TRUE) { [18:03:02.718] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.718] } [18:03:02.718] else { [18:03:02.718] ...future.result["stdout"] <- base::list(NULL) [18:03:02.718] } [18:03:02.718] base::close(...future.stdout) [18:03:02.718] ...future.stdout <- NULL [18:03:02.718] } [18:03:02.718] ...future.result$conditions <- ...future.conditions [18:03:02.718] ...future.result$finished <- base::Sys.time() [18:03:02.718] ...future.result [18:03:02.718] } [18:03:02.724] MultisessionFuture started [18:03:02.724] - Launch lazy future ... done [18:03:02.724] run() for 'MultisessionFuture' ... done [18:03:02.724] getGlobalsAndPackages() ... [18:03:02.724] Searching for globals... [18:03:02.725] [18:03:02.725] Searching for globals ... DONE [18:03:02.725] - globals: [0] [18:03:02.725] getGlobalsAndPackages() ... DONE [18:03:02.726] run() for 'Future' ... [18:03:02.726] - state: 'created' [18:03:02.726] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.740] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.740] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.741] - Field: 'node' [18:03:02.741] - Field: 'label' [18:03:02.741] - Field: 'local' [18:03:02.741] - Field: 'owner' [18:03:02.741] - Field: 'envir' [18:03:02.742] - Field: 'workers' [18:03:02.742] - Field: 'packages' [18:03:02.742] - Field: 'gc' [18:03:02.742] - Field: 'conditions' [18:03:02.742] - Field: 'persistent' [18:03:02.743] - Field: 'expr' [18:03:02.743] - Field: 'uuid' [18:03:02.743] - Field: 'seed' [18:03:02.743] - Field: 'version' [18:03:02.743] - Field: 'result' [18:03:02.743] - Field: 'asynchronous' [18:03:02.744] - Field: 'calls' [18:03:02.744] - Field: 'globals' [18:03:02.744] - Field: 'stdout' [18:03:02.744] - Field: 'earlySignal' [18:03:02.744] - Field: 'lazy' [18:03:02.745] - Field: 'state' [18:03:02.745] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.745] - Launch lazy future ... [18:03:02.745] Packages needed by the future expression (n = 0): [18:03:02.745] Packages needed by future strategies (n = 0): [18:03:02.746] { [18:03:02.746] { [18:03:02.746] { [18:03:02.746] ...future.startTime <- base::Sys.time() [18:03:02.746] { [18:03:02.746] { [18:03:02.746] { [18:03:02.746] { [18:03:02.746] base::local({ [18:03:02.746] has_future <- base::requireNamespace("future", [18:03:02.746] quietly = TRUE) [18:03:02.746] if (has_future) { [18:03:02.746] ns <- base::getNamespace("future") [18:03:02.746] version <- ns[[".package"]][["version"]] [18:03:02.746] if (is.null(version)) [18:03:02.746] version <- utils::packageVersion("future") [18:03:02.746] } [18:03:02.746] else { [18:03:02.746] version <- NULL [18:03:02.746] } [18:03:02.746] if (!has_future || version < "1.8.0") { [18:03:02.746] info <- base::c(r_version = base::gsub("R version ", [18:03:02.746] "", base::R.version$version.string), [18:03:02.746] platform = base::sprintf("%s (%s-bit)", [18:03:02.746] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.746] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.746] "release", "version")], collapse = " "), [18:03:02.746] hostname = base::Sys.info()[["nodename"]]) [18:03:02.746] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.746] info) [18:03:02.746] info <- base::paste(info, collapse = "; ") [18:03:02.746] if (!has_future) { [18:03:02.746] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.746] info) [18:03:02.746] } [18:03:02.746] else { [18:03:02.746] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.746] info, version) [18:03:02.746] } [18:03:02.746] base::stop(msg) [18:03:02.746] } [18:03:02.746] }) [18:03:02.746] } [18:03:02.746] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.746] base::options(mc.cores = 1L) [18:03:02.746] } [18:03:02.746] options(future.plan = NULL) [18:03:02.746] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.746] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.746] } [18:03:02.746] ...future.workdir <- getwd() [18:03:02.746] } [18:03:02.746] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.746] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.746] } [18:03:02.746] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.746] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.746] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.746] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.746] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.746] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.746] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.746] base::names(...future.oldOptions)) [18:03:02.746] } [18:03:02.746] if (FALSE) { [18:03:02.746] } [18:03:02.746] else { [18:03:02.746] if (TRUE) { [18:03:02.746] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.746] open = "w") [18:03:02.746] } [18:03:02.746] else { [18:03:02.746] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.746] windows = "NUL", "/dev/null"), open = "w") [18:03:02.746] } [18:03:02.746] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.746] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.746] base::sink(type = "output", split = FALSE) [18:03:02.746] base::close(...future.stdout) [18:03:02.746] }, add = TRUE) [18:03:02.746] } [18:03:02.746] ...future.frame <- base::sys.nframe() [18:03:02.746] ...future.conditions <- base::list() [18:03:02.746] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.746] if (FALSE) { [18:03:02.746] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.746] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.746] } [18:03:02.746] ...future.result <- base::tryCatch({ [18:03:02.746] base::withCallingHandlers({ [18:03:02.746] ...future.value <- base::withVisible(base::local({ [18:03:02.746] ...future.makeSendCondition <- local({ [18:03:02.746] sendCondition <- NULL [18:03:02.746] function(frame = 1L) { [18:03:02.746] if (is.function(sendCondition)) [18:03:02.746] return(sendCondition) [18:03:02.746] ns <- getNamespace("parallel") [18:03:02.746] if (exists("sendData", mode = "function", [18:03:02.746] envir = ns)) { [18:03:02.746] parallel_sendData <- get("sendData", mode = "function", [18:03:02.746] envir = ns) [18:03:02.746] envir <- sys.frame(frame) [18:03:02.746] master <- NULL [18:03:02.746] while (!identical(envir, .GlobalEnv) && [18:03:02.746] !identical(envir, emptyenv())) { [18:03:02.746] if (exists("master", mode = "list", envir = envir, [18:03:02.746] inherits = FALSE)) { [18:03:02.746] master <- get("master", mode = "list", [18:03:02.746] envir = envir, inherits = FALSE) [18:03:02.746] if (inherits(master, c("SOCKnode", [18:03:02.746] "SOCK0node"))) { [18:03:02.746] sendCondition <<- function(cond) { [18:03:02.746] data <- list(type = "VALUE", value = cond, [18:03:02.746] success = TRUE) [18:03:02.746] parallel_sendData(master, data) [18:03:02.746] } [18:03:02.746] return(sendCondition) [18:03:02.746] } [18:03:02.746] } [18:03:02.746] frame <- frame + 1L [18:03:02.746] envir <- sys.frame(frame) [18:03:02.746] } [18:03:02.746] } [18:03:02.746] sendCondition <<- function(cond) NULL [18:03:02.746] } [18:03:02.746] }) [18:03:02.746] withCallingHandlers({ [18:03:02.746] 2 [18:03:02.746] }, immediateCondition = function(cond) { [18:03:02.746] sendCondition <- ...future.makeSendCondition() [18:03:02.746] sendCondition(cond) [18:03:02.746] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.746] { [18:03:02.746] inherits <- base::inherits [18:03:02.746] invokeRestart <- base::invokeRestart [18:03:02.746] is.null <- base::is.null [18:03:02.746] muffled <- FALSE [18:03:02.746] if (inherits(cond, "message")) { [18:03:02.746] muffled <- grepl(pattern, "muffleMessage") [18:03:02.746] if (muffled) [18:03:02.746] invokeRestart("muffleMessage") [18:03:02.746] } [18:03:02.746] else if (inherits(cond, "warning")) { [18:03:02.746] muffled <- grepl(pattern, "muffleWarning") [18:03:02.746] if (muffled) [18:03:02.746] invokeRestart("muffleWarning") [18:03:02.746] } [18:03:02.746] else if (inherits(cond, "condition")) { [18:03:02.746] if (!is.null(pattern)) { [18:03:02.746] computeRestarts <- base::computeRestarts [18:03:02.746] grepl <- base::grepl [18:03:02.746] restarts <- computeRestarts(cond) [18:03:02.746] for (restart in restarts) { [18:03:02.746] name <- restart$name [18:03:02.746] if (is.null(name)) [18:03:02.746] next [18:03:02.746] if (!grepl(pattern, name)) [18:03:02.746] next [18:03:02.746] invokeRestart(restart) [18:03:02.746] muffled <- TRUE [18:03:02.746] break [18:03:02.746] } [18:03:02.746] } [18:03:02.746] } [18:03:02.746] invisible(muffled) [18:03:02.746] } [18:03:02.746] muffleCondition(cond) [18:03:02.746] }) [18:03:02.746] })) [18:03:02.746] future::FutureResult(value = ...future.value$value, [18:03:02.746] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.746] ...future.rng), globalenv = if (FALSE) [18:03:02.746] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.746] ...future.globalenv.names)) [18:03:02.746] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.746] }, condition = base::local({ [18:03:02.746] c <- base::c [18:03:02.746] inherits <- base::inherits [18:03:02.746] invokeRestart <- base::invokeRestart [18:03:02.746] length <- base::length [18:03:02.746] list <- base::list [18:03:02.746] seq.int <- base::seq.int [18:03:02.746] signalCondition <- base::signalCondition [18:03:02.746] sys.calls <- base::sys.calls [18:03:02.746] `[[` <- base::`[[` [18:03:02.746] `+` <- base::`+` [18:03:02.746] `<<-` <- base::`<<-` [18:03:02.746] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.746] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.746] 3L)] [18:03:02.746] } [18:03:02.746] function(cond) { [18:03:02.746] is_error <- inherits(cond, "error") [18:03:02.746] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.746] NULL) [18:03:02.746] if (is_error) { [18:03:02.746] sessionInformation <- function() { [18:03:02.746] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.746] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.746] search = base::search(), system = base::Sys.info()) [18:03:02.746] } [18:03:02.746] ...future.conditions[[length(...future.conditions) + [18:03:02.746] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.746] cond$call), session = sessionInformation(), [18:03:02.746] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.746] signalCondition(cond) [18:03:02.746] } [18:03:02.746] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.746] "immediateCondition"))) { [18:03:02.746] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.746] ...future.conditions[[length(...future.conditions) + [18:03:02.746] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.746] if (TRUE && !signal) { [18:03:02.746] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.746] { [18:03:02.746] inherits <- base::inherits [18:03:02.746] invokeRestart <- base::invokeRestart [18:03:02.746] is.null <- base::is.null [18:03:02.746] muffled <- FALSE [18:03:02.746] if (inherits(cond, "message")) { [18:03:02.746] muffled <- grepl(pattern, "muffleMessage") [18:03:02.746] if (muffled) [18:03:02.746] invokeRestart("muffleMessage") [18:03:02.746] } [18:03:02.746] else if (inherits(cond, "warning")) { [18:03:02.746] muffled <- grepl(pattern, "muffleWarning") [18:03:02.746] if (muffled) [18:03:02.746] invokeRestart("muffleWarning") [18:03:02.746] } [18:03:02.746] else if (inherits(cond, "condition")) { [18:03:02.746] if (!is.null(pattern)) { [18:03:02.746] computeRestarts <- base::computeRestarts [18:03:02.746] grepl <- base::grepl [18:03:02.746] restarts <- computeRestarts(cond) [18:03:02.746] for (restart in restarts) { [18:03:02.746] name <- restart$name [18:03:02.746] if (is.null(name)) [18:03:02.746] next [18:03:02.746] if (!grepl(pattern, name)) [18:03:02.746] next [18:03:02.746] invokeRestart(restart) [18:03:02.746] muffled <- TRUE [18:03:02.746] break [18:03:02.746] } [18:03:02.746] } [18:03:02.746] } [18:03:02.746] invisible(muffled) [18:03:02.746] } [18:03:02.746] muffleCondition(cond, pattern = "^muffle") [18:03:02.746] } [18:03:02.746] } [18:03:02.746] else { [18:03:02.746] if (TRUE) { [18:03:02.746] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.746] { [18:03:02.746] inherits <- base::inherits [18:03:02.746] invokeRestart <- base::invokeRestart [18:03:02.746] is.null <- base::is.null [18:03:02.746] muffled <- FALSE [18:03:02.746] if (inherits(cond, "message")) { [18:03:02.746] muffled <- grepl(pattern, "muffleMessage") [18:03:02.746] if (muffled) [18:03:02.746] invokeRestart("muffleMessage") [18:03:02.746] } [18:03:02.746] else if (inherits(cond, "warning")) { [18:03:02.746] muffled <- grepl(pattern, "muffleWarning") [18:03:02.746] if (muffled) [18:03:02.746] invokeRestart("muffleWarning") [18:03:02.746] } [18:03:02.746] else if (inherits(cond, "condition")) { [18:03:02.746] if (!is.null(pattern)) { [18:03:02.746] computeRestarts <- base::computeRestarts [18:03:02.746] grepl <- base::grepl [18:03:02.746] restarts <- computeRestarts(cond) [18:03:02.746] for (restart in restarts) { [18:03:02.746] name <- restart$name [18:03:02.746] if (is.null(name)) [18:03:02.746] next [18:03:02.746] if (!grepl(pattern, name)) [18:03:02.746] next [18:03:02.746] invokeRestart(restart) [18:03:02.746] muffled <- TRUE [18:03:02.746] break [18:03:02.746] } [18:03:02.746] } [18:03:02.746] } [18:03:02.746] invisible(muffled) [18:03:02.746] } [18:03:02.746] muffleCondition(cond, pattern = "^muffle") [18:03:02.746] } [18:03:02.746] } [18:03:02.746] } [18:03:02.746] })) [18:03:02.746] }, error = function(ex) { [18:03:02.746] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.746] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.746] ...future.rng), started = ...future.startTime, [18:03:02.746] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.746] version = "1.8"), class = "FutureResult") [18:03:02.746] }, finally = { [18:03:02.746] if (!identical(...future.workdir, getwd())) [18:03:02.746] setwd(...future.workdir) [18:03:02.746] { [18:03:02.746] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.746] ...future.oldOptions$nwarnings <- NULL [18:03:02.746] } [18:03:02.746] base::options(...future.oldOptions) [18:03:02.746] if (.Platform$OS.type == "windows") { [18:03:02.746] old_names <- names(...future.oldEnvVars) [18:03:02.746] envs <- base::Sys.getenv() [18:03:02.746] names <- names(envs) [18:03:02.746] common <- intersect(names, old_names) [18:03:02.746] added <- setdiff(names, old_names) [18:03:02.746] removed <- setdiff(old_names, names) [18:03:02.746] changed <- common[...future.oldEnvVars[common] != [18:03:02.746] envs[common]] [18:03:02.746] NAMES <- toupper(changed) [18:03:02.746] args <- list() [18:03:02.746] for (kk in seq_along(NAMES)) { [18:03:02.746] name <- changed[[kk]] [18:03:02.746] NAME <- NAMES[[kk]] [18:03:02.746] if (name != NAME && is.element(NAME, old_names)) [18:03:02.746] next [18:03:02.746] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.746] } [18:03:02.746] NAMES <- toupper(added) [18:03:02.746] for (kk in seq_along(NAMES)) { [18:03:02.746] name <- added[[kk]] [18:03:02.746] NAME <- NAMES[[kk]] [18:03:02.746] if (name != NAME && is.element(NAME, old_names)) [18:03:02.746] next [18:03:02.746] args[[name]] <- "" [18:03:02.746] } [18:03:02.746] NAMES <- toupper(removed) [18:03:02.746] for (kk in seq_along(NAMES)) { [18:03:02.746] name <- removed[[kk]] [18:03:02.746] NAME <- NAMES[[kk]] [18:03:02.746] if (name != NAME && is.element(NAME, old_names)) [18:03:02.746] next [18:03:02.746] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.746] } [18:03:02.746] if (length(args) > 0) [18:03:02.746] base::do.call(base::Sys.setenv, args = args) [18:03:02.746] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.746] } [18:03:02.746] else { [18:03:02.746] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.746] } [18:03:02.746] { [18:03:02.746] if (base::length(...future.futureOptionsAdded) > [18:03:02.746] 0L) { [18:03:02.746] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.746] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.746] base::options(opts) [18:03:02.746] } [18:03:02.746] { [18:03:02.746] { [18:03:02.746] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.746] NULL [18:03:02.746] } [18:03:02.746] options(future.plan = NULL) [18:03:02.746] if (is.na(NA_character_)) [18:03:02.746] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.746] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.746] future::plan(list(function (..., workers = availableCores(), [18:03:02.746] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.746] envir = parent.frame()) [18:03:02.746] { [18:03:02.746] if (is.function(workers)) [18:03:02.746] workers <- workers() [18:03:02.746] workers <- structure(as.integer(workers), [18:03:02.746] class = class(workers)) [18:03:02.746] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.746] workers >= 1) [18:03:02.746] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.746] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.746] } [18:03:02.746] future <- MultisessionFuture(..., workers = workers, [18:03:02.746] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.746] envir = envir) [18:03:02.746] if (!future$lazy) [18:03:02.746] future <- run(future) [18:03:02.746] invisible(future) [18:03:02.746] }), .cleanup = FALSE, .init = FALSE) [18:03:02.746] } [18:03:02.746] } [18:03:02.746] } [18:03:02.746] }) [18:03:02.746] if (TRUE) { [18:03:02.746] base::sink(type = "output", split = FALSE) [18:03:02.746] if (TRUE) { [18:03:02.746] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.746] } [18:03:02.746] else { [18:03:02.746] ...future.result["stdout"] <- base::list(NULL) [18:03:02.746] } [18:03:02.746] base::close(...future.stdout) [18:03:02.746] ...future.stdout <- NULL [18:03:02.746] } [18:03:02.746] ...future.result$conditions <- ...future.conditions [18:03:02.746] ...future.result$finished <- base::Sys.time() [18:03:02.746] ...future.result [18:03:02.746] } [18:03:02.752] MultisessionFuture started [18:03:02.752] - Launch lazy future ... done [18:03:02.752] run() for 'MultisessionFuture' ... done [18:03:02.753] resolve() on list environment ... [18:03:02.753] recursive: 0 [18:03:02.754] length: 3 [18:03:02.754] elements: 'a', 'b', 'c' [18:03:02.755] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.755] - Validating connection of MultisessionFuture [18:03:02.755] - received message: FutureResult [18:03:02.755] - Received FutureResult [18:03:02.756] - Erased future from FutureRegistry [18:03:02.756] result() for ClusterFuture ... [18:03:02.756] - result already collected: FutureResult [18:03:02.756] result() for ClusterFuture ... done [18:03:02.756] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.756] Future #1 [18:03:02.757] length: 2 (resolved future 1) [18:03:02.769] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.769] - Validating connection of MultisessionFuture [18:03:02.769] - received message: FutureResult [18:03:02.770] - Received FutureResult [18:03:02.770] - Erased future from FutureRegistry [18:03:02.770] result() for ClusterFuture ... [18:03:02.770] - result already collected: FutureResult [18:03:02.770] result() for ClusterFuture ... done [18:03:02.770] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.771] Future #2 [18:03:02.771] length: 1 (resolved future 2) [18:03:02.771] length: 0 (resolved future 3) [18:03:02.771] resolve() on list environment ... DONE [18:03:02.772] getGlobalsAndPackages() ... [18:03:02.772] Searching for globals... [18:03:02.773] - globals found: [1] '{' [18:03:02.773] Searching for globals ... DONE [18:03:02.773] Resolving globals: FALSE [18:03:02.774] [18:03:02.774] [18:03:02.774] getGlobalsAndPackages() ... DONE [18:03:02.774] run() for 'Future' ... [18:03:02.774] - state: 'created' [18:03:02.775] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.788] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.788] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.789] - Field: 'node' [18:03:02.789] - Field: 'label' [18:03:02.789] - Field: 'local' [18:03:02.789] - Field: 'owner' [18:03:02.789] - Field: 'envir' [18:03:02.790] - Field: 'workers' [18:03:02.790] - Field: 'packages' [18:03:02.790] - Field: 'gc' [18:03:02.790] - Field: 'conditions' [18:03:02.790] - Field: 'persistent' [18:03:02.790] - Field: 'expr' [18:03:02.791] - Field: 'uuid' [18:03:02.791] - Field: 'seed' [18:03:02.791] - Field: 'version' [18:03:02.791] - Field: 'result' [18:03:02.791] - Field: 'asynchronous' [18:03:02.792] - Field: 'calls' [18:03:02.792] - Field: 'globals' [18:03:02.792] - Field: 'stdout' [18:03:02.792] - Field: 'earlySignal' [18:03:02.792] - Field: 'lazy' [18:03:02.792] - Field: 'state' [18:03:02.793] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.793] - Launch lazy future ... [18:03:02.793] Packages needed by the future expression (n = 0): [18:03:02.793] Packages needed by future strategies (n = 0): [18:03:02.794] { [18:03:02.794] { [18:03:02.794] { [18:03:02.794] ...future.startTime <- base::Sys.time() [18:03:02.794] { [18:03:02.794] { [18:03:02.794] { [18:03:02.794] { [18:03:02.794] base::local({ [18:03:02.794] has_future <- base::requireNamespace("future", [18:03:02.794] quietly = TRUE) [18:03:02.794] if (has_future) { [18:03:02.794] ns <- base::getNamespace("future") [18:03:02.794] version <- ns[[".package"]][["version"]] [18:03:02.794] if (is.null(version)) [18:03:02.794] version <- utils::packageVersion("future") [18:03:02.794] } [18:03:02.794] else { [18:03:02.794] version <- NULL [18:03:02.794] } [18:03:02.794] if (!has_future || version < "1.8.0") { [18:03:02.794] info <- base::c(r_version = base::gsub("R version ", [18:03:02.794] "", base::R.version$version.string), [18:03:02.794] platform = base::sprintf("%s (%s-bit)", [18:03:02.794] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.794] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.794] "release", "version")], collapse = " "), [18:03:02.794] hostname = base::Sys.info()[["nodename"]]) [18:03:02.794] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.794] info) [18:03:02.794] info <- base::paste(info, collapse = "; ") [18:03:02.794] if (!has_future) { [18:03:02.794] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.794] info) [18:03:02.794] } [18:03:02.794] else { [18:03:02.794] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.794] info, version) [18:03:02.794] } [18:03:02.794] base::stop(msg) [18:03:02.794] } [18:03:02.794] }) [18:03:02.794] } [18:03:02.794] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.794] base::options(mc.cores = 1L) [18:03:02.794] } [18:03:02.794] options(future.plan = NULL) [18:03:02.794] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.794] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.794] } [18:03:02.794] ...future.workdir <- getwd() [18:03:02.794] } [18:03:02.794] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.794] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.794] } [18:03:02.794] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.794] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.794] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.794] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.794] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.794] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.794] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.794] base::names(...future.oldOptions)) [18:03:02.794] } [18:03:02.794] if (FALSE) { [18:03:02.794] } [18:03:02.794] else { [18:03:02.794] if (TRUE) { [18:03:02.794] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.794] open = "w") [18:03:02.794] } [18:03:02.794] else { [18:03:02.794] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.794] windows = "NUL", "/dev/null"), open = "w") [18:03:02.794] } [18:03:02.794] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.794] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.794] base::sink(type = "output", split = FALSE) [18:03:02.794] base::close(...future.stdout) [18:03:02.794] }, add = TRUE) [18:03:02.794] } [18:03:02.794] ...future.frame <- base::sys.nframe() [18:03:02.794] ...future.conditions <- base::list() [18:03:02.794] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.794] if (FALSE) { [18:03:02.794] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.794] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.794] } [18:03:02.794] ...future.result <- base::tryCatch({ [18:03:02.794] base::withCallingHandlers({ [18:03:02.794] ...future.value <- base::withVisible(base::local({ [18:03:02.794] ...future.makeSendCondition <- local({ [18:03:02.794] sendCondition <- NULL [18:03:02.794] function(frame = 1L) { [18:03:02.794] if (is.function(sendCondition)) [18:03:02.794] return(sendCondition) [18:03:02.794] ns <- getNamespace("parallel") [18:03:02.794] if (exists("sendData", mode = "function", [18:03:02.794] envir = ns)) { [18:03:02.794] parallel_sendData <- get("sendData", mode = "function", [18:03:02.794] envir = ns) [18:03:02.794] envir <- sys.frame(frame) [18:03:02.794] master <- NULL [18:03:02.794] while (!identical(envir, .GlobalEnv) && [18:03:02.794] !identical(envir, emptyenv())) { [18:03:02.794] if (exists("master", mode = "list", envir = envir, [18:03:02.794] inherits = FALSE)) { [18:03:02.794] master <- get("master", mode = "list", [18:03:02.794] envir = envir, inherits = FALSE) [18:03:02.794] if (inherits(master, c("SOCKnode", [18:03:02.794] "SOCK0node"))) { [18:03:02.794] sendCondition <<- function(cond) { [18:03:02.794] data <- list(type = "VALUE", value = cond, [18:03:02.794] success = TRUE) [18:03:02.794] parallel_sendData(master, data) [18:03:02.794] } [18:03:02.794] return(sendCondition) [18:03:02.794] } [18:03:02.794] } [18:03:02.794] frame <- frame + 1L [18:03:02.794] envir <- sys.frame(frame) [18:03:02.794] } [18:03:02.794] } [18:03:02.794] sendCondition <<- function(cond) NULL [18:03:02.794] } [18:03:02.794] }) [18:03:02.794] withCallingHandlers({ [18:03:02.794] { [18:03:02.794] 1 [18:03:02.794] } [18:03:02.794] }, immediateCondition = function(cond) { [18:03:02.794] sendCondition <- ...future.makeSendCondition() [18:03:02.794] sendCondition(cond) [18:03:02.794] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.794] { [18:03:02.794] inherits <- base::inherits [18:03:02.794] invokeRestart <- base::invokeRestart [18:03:02.794] is.null <- base::is.null [18:03:02.794] muffled <- FALSE [18:03:02.794] if (inherits(cond, "message")) { [18:03:02.794] muffled <- grepl(pattern, "muffleMessage") [18:03:02.794] if (muffled) [18:03:02.794] invokeRestart("muffleMessage") [18:03:02.794] } [18:03:02.794] else if (inherits(cond, "warning")) { [18:03:02.794] muffled <- grepl(pattern, "muffleWarning") [18:03:02.794] if (muffled) [18:03:02.794] invokeRestart("muffleWarning") [18:03:02.794] } [18:03:02.794] else if (inherits(cond, "condition")) { [18:03:02.794] if (!is.null(pattern)) { [18:03:02.794] computeRestarts <- base::computeRestarts [18:03:02.794] grepl <- base::grepl [18:03:02.794] restarts <- computeRestarts(cond) [18:03:02.794] for (restart in restarts) { [18:03:02.794] name <- restart$name [18:03:02.794] if (is.null(name)) [18:03:02.794] next [18:03:02.794] if (!grepl(pattern, name)) [18:03:02.794] next [18:03:02.794] invokeRestart(restart) [18:03:02.794] muffled <- TRUE [18:03:02.794] break [18:03:02.794] } [18:03:02.794] } [18:03:02.794] } [18:03:02.794] invisible(muffled) [18:03:02.794] } [18:03:02.794] muffleCondition(cond) [18:03:02.794] }) [18:03:02.794] })) [18:03:02.794] future::FutureResult(value = ...future.value$value, [18:03:02.794] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.794] ...future.rng), globalenv = if (FALSE) [18:03:02.794] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.794] ...future.globalenv.names)) [18:03:02.794] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.794] }, condition = base::local({ [18:03:02.794] c <- base::c [18:03:02.794] inherits <- base::inherits [18:03:02.794] invokeRestart <- base::invokeRestart [18:03:02.794] length <- base::length [18:03:02.794] list <- base::list [18:03:02.794] seq.int <- base::seq.int [18:03:02.794] signalCondition <- base::signalCondition [18:03:02.794] sys.calls <- base::sys.calls [18:03:02.794] `[[` <- base::`[[` [18:03:02.794] `+` <- base::`+` [18:03:02.794] `<<-` <- base::`<<-` [18:03:02.794] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.794] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.794] 3L)] [18:03:02.794] } [18:03:02.794] function(cond) { [18:03:02.794] is_error <- inherits(cond, "error") [18:03:02.794] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.794] NULL) [18:03:02.794] if (is_error) { [18:03:02.794] sessionInformation <- function() { [18:03:02.794] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.794] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.794] search = base::search(), system = base::Sys.info()) [18:03:02.794] } [18:03:02.794] ...future.conditions[[length(...future.conditions) + [18:03:02.794] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.794] cond$call), session = sessionInformation(), [18:03:02.794] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.794] signalCondition(cond) [18:03:02.794] } [18:03:02.794] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.794] "immediateCondition"))) { [18:03:02.794] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.794] ...future.conditions[[length(...future.conditions) + [18:03:02.794] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.794] if (TRUE && !signal) { [18:03:02.794] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.794] { [18:03:02.794] inherits <- base::inherits [18:03:02.794] invokeRestart <- base::invokeRestart [18:03:02.794] is.null <- base::is.null [18:03:02.794] muffled <- FALSE [18:03:02.794] if (inherits(cond, "message")) { [18:03:02.794] muffled <- grepl(pattern, "muffleMessage") [18:03:02.794] if (muffled) [18:03:02.794] invokeRestart("muffleMessage") [18:03:02.794] } [18:03:02.794] else if (inherits(cond, "warning")) { [18:03:02.794] muffled <- grepl(pattern, "muffleWarning") [18:03:02.794] if (muffled) [18:03:02.794] invokeRestart("muffleWarning") [18:03:02.794] } [18:03:02.794] else if (inherits(cond, "condition")) { [18:03:02.794] if (!is.null(pattern)) { [18:03:02.794] computeRestarts <- base::computeRestarts [18:03:02.794] grepl <- base::grepl [18:03:02.794] restarts <- computeRestarts(cond) [18:03:02.794] for (restart in restarts) { [18:03:02.794] name <- restart$name [18:03:02.794] if (is.null(name)) [18:03:02.794] next [18:03:02.794] if (!grepl(pattern, name)) [18:03:02.794] next [18:03:02.794] invokeRestart(restart) [18:03:02.794] muffled <- TRUE [18:03:02.794] break [18:03:02.794] } [18:03:02.794] } [18:03:02.794] } [18:03:02.794] invisible(muffled) [18:03:02.794] } [18:03:02.794] muffleCondition(cond, pattern = "^muffle") [18:03:02.794] } [18:03:02.794] } [18:03:02.794] else { [18:03:02.794] if (TRUE) { [18:03:02.794] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.794] { [18:03:02.794] inherits <- base::inherits [18:03:02.794] invokeRestart <- base::invokeRestart [18:03:02.794] is.null <- base::is.null [18:03:02.794] muffled <- FALSE [18:03:02.794] if (inherits(cond, "message")) { [18:03:02.794] muffled <- grepl(pattern, "muffleMessage") [18:03:02.794] if (muffled) [18:03:02.794] invokeRestart("muffleMessage") [18:03:02.794] } [18:03:02.794] else if (inherits(cond, "warning")) { [18:03:02.794] muffled <- grepl(pattern, "muffleWarning") [18:03:02.794] if (muffled) [18:03:02.794] invokeRestart("muffleWarning") [18:03:02.794] } [18:03:02.794] else if (inherits(cond, "condition")) { [18:03:02.794] if (!is.null(pattern)) { [18:03:02.794] computeRestarts <- base::computeRestarts [18:03:02.794] grepl <- base::grepl [18:03:02.794] restarts <- computeRestarts(cond) [18:03:02.794] for (restart in restarts) { [18:03:02.794] name <- restart$name [18:03:02.794] if (is.null(name)) [18:03:02.794] next [18:03:02.794] if (!grepl(pattern, name)) [18:03:02.794] next [18:03:02.794] invokeRestart(restart) [18:03:02.794] muffled <- TRUE [18:03:02.794] break [18:03:02.794] } [18:03:02.794] } [18:03:02.794] } [18:03:02.794] invisible(muffled) [18:03:02.794] } [18:03:02.794] muffleCondition(cond, pattern = "^muffle") [18:03:02.794] } [18:03:02.794] } [18:03:02.794] } [18:03:02.794] })) [18:03:02.794] }, error = function(ex) { [18:03:02.794] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.794] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.794] ...future.rng), started = ...future.startTime, [18:03:02.794] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.794] version = "1.8"), class = "FutureResult") [18:03:02.794] }, finally = { [18:03:02.794] if (!identical(...future.workdir, getwd())) [18:03:02.794] setwd(...future.workdir) [18:03:02.794] { [18:03:02.794] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.794] ...future.oldOptions$nwarnings <- NULL [18:03:02.794] } [18:03:02.794] base::options(...future.oldOptions) [18:03:02.794] if (.Platform$OS.type == "windows") { [18:03:02.794] old_names <- names(...future.oldEnvVars) [18:03:02.794] envs <- base::Sys.getenv() [18:03:02.794] names <- names(envs) [18:03:02.794] common <- intersect(names, old_names) [18:03:02.794] added <- setdiff(names, old_names) [18:03:02.794] removed <- setdiff(old_names, names) [18:03:02.794] changed <- common[...future.oldEnvVars[common] != [18:03:02.794] envs[common]] [18:03:02.794] NAMES <- toupper(changed) [18:03:02.794] args <- list() [18:03:02.794] for (kk in seq_along(NAMES)) { [18:03:02.794] name <- changed[[kk]] [18:03:02.794] NAME <- NAMES[[kk]] [18:03:02.794] if (name != NAME && is.element(NAME, old_names)) [18:03:02.794] next [18:03:02.794] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.794] } [18:03:02.794] NAMES <- toupper(added) [18:03:02.794] for (kk in seq_along(NAMES)) { [18:03:02.794] name <- added[[kk]] [18:03:02.794] NAME <- NAMES[[kk]] [18:03:02.794] if (name != NAME && is.element(NAME, old_names)) [18:03:02.794] next [18:03:02.794] args[[name]] <- "" [18:03:02.794] } [18:03:02.794] NAMES <- toupper(removed) [18:03:02.794] for (kk in seq_along(NAMES)) { [18:03:02.794] name <- removed[[kk]] [18:03:02.794] NAME <- NAMES[[kk]] [18:03:02.794] if (name != NAME && is.element(NAME, old_names)) [18:03:02.794] next [18:03:02.794] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.794] } [18:03:02.794] if (length(args) > 0) [18:03:02.794] base::do.call(base::Sys.setenv, args = args) [18:03:02.794] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.794] } [18:03:02.794] else { [18:03:02.794] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.794] } [18:03:02.794] { [18:03:02.794] if (base::length(...future.futureOptionsAdded) > [18:03:02.794] 0L) { [18:03:02.794] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.794] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.794] base::options(opts) [18:03:02.794] } [18:03:02.794] { [18:03:02.794] { [18:03:02.794] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.794] NULL [18:03:02.794] } [18:03:02.794] options(future.plan = NULL) [18:03:02.794] if (is.na(NA_character_)) [18:03:02.794] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.794] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.794] future::plan(list(function (..., workers = availableCores(), [18:03:02.794] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.794] envir = parent.frame()) [18:03:02.794] { [18:03:02.794] if (is.function(workers)) [18:03:02.794] workers <- workers() [18:03:02.794] workers <- structure(as.integer(workers), [18:03:02.794] class = class(workers)) [18:03:02.794] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.794] workers >= 1) [18:03:02.794] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.794] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.794] } [18:03:02.794] future <- MultisessionFuture(..., workers = workers, [18:03:02.794] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.794] envir = envir) [18:03:02.794] if (!future$lazy) [18:03:02.794] future <- run(future) [18:03:02.794] invisible(future) [18:03:02.794] }), .cleanup = FALSE, .init = FALSE) [18:03:02.794] } [18:03:02.794] } [18:03:02.794] } [18:03:02.794] }) [18:03:02.794] if (TRUE) { [18:03:02.794] base::sink(type = "output", split = FALSE) [18:03:02.794] if (TRUE) { [18:03:02.794] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.794] } [18:03:02.794] else { [18:03:02.794] ...future.result["stdout"] <- base::list(NULL) [18:03:02.794] } [18:03:02.794] base::close(...future.stdout) [18:03:02.794] ...future.stdout <- NULL [18:03:02.794] } [18:03:02.794] ...future.result$conditions <- ...future.conditions [18:03:02.794] ...future.result$finished <- base::Sys.time() [18:03:02.794] ...future.result [18:03:02.794] } [18:03:02.800] MultisessionFuture started [18:03:02.800] - Launch lazy future ... done [18:03:02.800] run() for 'MultisessionFuture' ... done [18:03:02.801] getGlobalsAndPackages() ... [18:03:02.801] Searching for globals... [18:03:02.802] - globals found: [1] '{' [18:03:02.802] Searching for globals ... DONE [18:03:02.802] Resolving globals: FALSE [18:03:02.802] [18:03:02.803] [18:03:02.803] getGlobalsAndPackages() ... DONE [18:03:02.803] run() for 'Future' ... [18:03:02.803] - state: 'created' [18:03:02.804] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.817] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.817] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.818] - Field: 'node' [18:03:02.818] - Field: 'label' [18:03:02.818] - Field: 'local' [18:03:02.818] - Field: 'owner' [18:03:02.818] - Field: 'envir' [18:03:02.819] - Field: 'workers' [18:03:02.819] - Field: 'packages' [18:03:02.819] - Field: 'gc' [18:03:02.819] - Field: 'conditions' [18:03:02.819] - Field: 'persistent' [18:03:02.820] - Field: 'expr' [18:03:02.820] - Field: 'uuid' [18:03:02.820] - Field: 'seed' [18:03:02.820] - Field: 'version' [18:03:02.820] - Field: 'result' [18:03:02.820] - Field: 'asynchronous' [18:03:02.821] - Field: 'calls' [18:03:02.821] - Field: 'globals' [18:03:02.821] - Field: 'stdout' [18:03:02.821] - Field: 'earlySignal' [18:03:02.821] - Field: 'lazy' [18:03:02.821] - Field: 'state' [18:03:02.822] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.822] - Launch lazy future ... [18:03:02.822] Packages needed by the future expression (n = 0): [18:03:02.822] Packages needed by future strategies (n = 0): [18:03:02.823] { [18:03:02.823] { [18:03:02.823] { [18:03:02.823] ...future.startTime <- base::Sys.time() [18:03:02.823] { [18:03:02.823] { [18:03:02.823] { [18:03:02.823] { [18:03:02.823] base::local({ [18:03:02.823] has_future <- base::requireNamespace("future", [18:03:02.823] quietly = TRUE) [18:03:02.823] if (has_future) { [18:03:02.823] ns <- base::getNamespace("future") [18:03:02.823] version <- ns[[".package"]][["version"]] [18:03:02.823] if (is.null(version)) [18:03:02.823] version <- utils::packageVersion("future") [18:03:02.823] } [18:03:02.823] else { [18:03:02.823] version <- NULL [18:03:02.823] } [18:03:02.823] if (!has_future || version < "1.8.0") { [18:03:02.823] info <- base::c(r_version = base::gsub("R version ", [18:03:02.823] "", base::R.version$version.string), [18:03:02.823] platform = base::sprintf("%s (%s-bit)", [18:03:02.823] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.823] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.823] "release", "version")], collapse = " "), [18:03:02.823] hostname = base::Sys.info()[["nodename"]]) [18:03:02.823] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.823] info) [18:03:02.823] info <- base::paste(info, collapse = "; ") [18:03:02.823] if (!has_future) { [18:03:02.823] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.823] info) [18:03:02.823] } [18:03:02.823] else { [18:03:02.823] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.823] info, version) [18:03:02.823] } [18:03:02.823] base::stop(msg) [18:03:02.823] } [18:03:02.823] }) [18:03:02.823] } [18:03:02.823] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.823] base::options(mc.cores = 1L) [18:03:02.823] } [18:03:02.823] options(future.plan = NULL) [18:03:02.823] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.823] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.823] } [18:03:02.823] ...future.workdir <- getwd() [18:03:02.823] } [18:03:02.823] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.823] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.823] } [18:03:02.823] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.823] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.823] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.823] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.823] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.823] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.823] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.823] base::names(...future.oldOptions)) [18:03:02.823] } [18:03:02.823] if (FALSE) { [18:03:02.823] } [18:03:02.823] else { [18:03:02.823] if (TRUE) { [18:03:02.823] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.823] open = "w") [18:03:02.823] } [18:03:02.823] else { [18:03:02.823] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.823] windows = "NUL", "/dev/null"), open = "w") [18:03:02.823] } [18:03:02.823] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.823] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.823] base::sink(type = "output", split = FALSE) [18:03:02.823] base::close(...future.stdout) [18:03:02.823] }, add = TRUE) [18:03:02.823] } [18:03:02.823] ...future.frame <- base::sys.nframe() [18:03:02.823] ...future.conditions <- base::list() [18:03:02.823] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.823] if (FALSE) { [18:03:02.823] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.823] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.823] } [18:03:02.823] ...future.result <- base::tryCatch({ [18:03:02.823] base::withCallingHandlers({ [18:03:02.823] ...future.value <- base::withVisible(base::local({ [18:03:02.823] ...future.makeSendCondition <- local({ [18:03:02.823] sendCondition <- NULL [18:03:02.823] function(frame = 1L) { [18:03:02.823] if (is.function(sendCondition)) [18:03:02.823] return(sendCondition) [18:03:02.823] ns <- getNamespace("parallel") [18:03:02.823] if (exists("sendData", mode = "function", [18:03:02.823] envir = ns)) { [18:03:02.823] parallel_sendData <- get("sendData", mode = "function", [18:03:02.823] envir = ns) [18:03:02.823] envir <- sys.frame(frame) [18:03:02.823] master <- NULL [18:03:02.823] while (!identical(envir, .GlobalEnv) && [18:03:02.823] !identical(envir, emptyenv())) { [18:03:02.823] if (exists("master", mode = "list", envir = envir, [18:03:02.823] inherits = FALSE)) { [18:03:02.823] master <- get("master", mode = "list", [18:03:02.823] envir = envir, inherits = FALSE) [18:03:02.823] if (inherits(master, c("SOCKnode", [18:03:02.823] "SOCK0node"))) { [18:03:02.823] sendCondition <<- function(cond) { [18:03:02.823] data <- list(type = "VALUE", value = cond, [18:03:02.823] success = TRUE) [18:03:02.823] parallel_sendData(master, data) [18:03:02.823] } [18:03:02.823] return(sendCondition) [18:03:02.823] } [18:03:02.823] } [18:03:02.823] frame <- frame + 1L [18:03:02.823] envir <- sys.frame(frame) [18:03:02.823] } [18:03:02.823] } [18:03:02.823] sendCondition <<- function(cond) NULL [18:03:02.823] } [18:03:02.823] }) [18:03:02.823] withCallingHandlers({ [18:03:02.823] { [18:03:02.823] 2 [18:03:02.823] } [18:03:02.823] }, immediateCondition = function(cond) { [18:03:02.823] sendCondition <- ...future.makeSendCondition() [18:03:02.823] sendCondition(cond) [18:03:02.823] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.823] { [18:03:02.823] inherits <- base::inherits [18:03:02.823] invokeRestart <- base::invokeRestart [18:03:02.823] is.null <- base::is.null [18:03:02.823] muffled <- FALSE [18:03:02.823] if (inherits(cond, "message")) { [18:03:02.823] muffled <- grepl(pattern, "muffleMessage") [18:03:02.823] if (muffled) [18:03:02.823] invokeRestart("muffleMessage") [18:03:02.823] } [18:03:02.823] else if (inherits(cond, "warning")) { [18:03:02.823] muffled <- grepl(pattern, "muffleWarning") [18:03:02.823] if (muffled) [18:03:02.823] invokeRestart("muffleWarning") [18:03:02.823] } [18:03:02.823] else if (inherits(cond, "condition")) { [18:03:02.823] if (!is.null(pattern)) { [18:03:02.823] computeRestarts <- base::computeRestarts [18:03:02.823] grepl <- base::grepl [18:03:02.823] restarts <- computeRestarts(cond) [18:03:02.823] for (restart in restarts) { [18:03:02.823] name <- restart$name [18:03:02.823] if (is.null(name)) [18:03:02.823] next [18:03:02.823] if (!grepl(pattern, name)) [18:03:02.823] next [18:03:02.823] invokeRestart(restart) [18:03:02.823] muffled <- TRUE [18:03:02.823] break [18:03:02.823] } [18:03:02.823] } [18:03:02.823] } [18:03:02.823] invisible(muffled) [18:03:02.823] } [18:03:02.823] muffleCondition(cond) [18:03:02.823] }) [18:03:02.823] })) [18:03:02.823] future::FutureResult(value = ...future.value$value, [18:03:02.823] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.823] ...future.rng), globalenv = if (FALSE) [18:03:02.823] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.823] ...future.globalenv.names)) [18:03:02.823] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.823] }, condition = base::local({ [18:03:02.823] c <- base::c [18:03:02.823] inherits <- base::inherits [18:03:02.823] invokeRestart <- base::invokeRestart [18:03:02.823] length <- base::length [18:03:02.823] list <- base::list [18:03:02.823] seq.int <- base::seq.int [18:03:02.823] signalCondition <- base::signalCondition [18:03:02.823] sys.calls <- base::sys.calls [18:03:02.823] `[[` <- base::`[[` [18:03:02.823] `+` <- base::`+` [18:03:02.823] `<<-` <- base::`<<-` [18:03:02.823] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.823] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.823] 3L)] [18:03:02.823] } [18:03:02.823] function(cond) { [18:03:02.823] is_error <- inherits(cond, "error") [18:03:02.823] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.823] NULL) [18:03:02.823] if (is_error) { [18:03:02.823] sessionInformation <- function() { [18:03:02.823] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.823] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.823] search = base::search(), system = base::Sys.info()) [18:03:02.823] } [18:03:02.823] ...future.conditions[[length(...future.conditions) + [18:03:02.823] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.823] cond$call), session = sessionInformation(), [18:03:02.823] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.823] signalCondition(cond) [18:03:02.823] } [18:03:02.823] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.823] "immediateCondition"))) { [18:03:02.823] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.823] ...future.conditions[[length(...future.conditions) + [18:03:02.823] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.823] if (TRUE && !signal) { [18:03:02.823] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.823] { [18:03:02.823] inherits <- base::inherits [18:03:02.823] invokeRestart <- base::invokeRestart [18:03:02.823] is.null <- base::is.null [18:03:02.823] muffled <- FALSE [18:03:02.823] if (inherits(cond, "message")) { [18:03:02.823] muffled <- grepl(pattern, "muffleMessage") [18:03:02.823] if (muffled) [18:03:02.823] invokeRestart("muffleMessage") [18:03:02.823] } [18:03:02.823] else if (inherits(cond, "warning")) { [18:03:02.823] muffled <- grepl(pattern, "muffleWarning") [18:03:02.823] if (muffled) [18:03:02.823] invokeRestart("muffleWarning") [18:03:02.823] } [18:03:02.823] else if (inherits(cond, "condition")) { [18:03:02.823] if (!is.null(pattern)) { [18:03:02.823] computeRestarts <- base::computeRestarts [18:03:02.823] grepl <- base::grepl [18:03:02.823] restarts <- computeRestarts(cond) [18:03:02.823] for (restart in restarts) { [18:03:02.823] name <- restart$name [18:03:02.823] if (is.null(name)) [18:03:02.823] next [18:03:02.823] if (!grepl(pattern, name)) [18:03:02.823] next [18:03:02.823] invokeRestart(restart) [18:03:02.823] muffled <- TRUE [18:03:02.823] break [18:03:02.823] } [18:03:02.823] } [18:03:02.823] } [18:03:02.823] invisible(muffled) [18:03:02.823] } [18:03:02.823] muffleCondition(cond, pattern = "^muffle") [18:03:02.823] } [18:03:02.823] } [18:03:02.823] else { [18:03:02.823] if (TRUE) { [18:03:02.823] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.823] { [18:03:02.823] inherits <- base::inherits [18:03:02.823] invokeRestart <- base::invokeRestart [18:03:02.823] is.null <- base::is.null [18:03:02.823] muffled <- FALSE [18:03:02.823] if (inherits(cond, "message")) { [18:03:02.823] muffled <- grepl(pattern, "muffleMessage") [18:03:02.823] if (muffled) [18:03:02.823] invokeRestart("muffleMessage") [18:03:02.823] } [18:03:02.823] else if (inherits(cond, "warning")) { [18:03:02.823] muffled <- grepl(pattern, "muffleWarning") [18:03:02.823] if (muffled) [18:03:02.823] invokeRestart("muffleWarning") [18:03:02.823] } [18:03:02.823] else if (inherits(cond, "condition")) { [18:03:02.823] if (!is.null(pattern)) { [18:03:02.823] computeRestarts <- base::computeRestarts [18:03:02.823] grepl <- base::grepl [18:03:02.823] restarts <- computeRestarts(cond) [18:03:02.823] for (restart in restarts) { [18:03:02.823] name <- restart$name [18:03:02.823] if (is.null(name)) [18:03:02.823] next [18:03:02.823] if (!grepl(pattern, name)) [18:03:02.823] next [18:03:02.823] invokeRestart(restart) [18:03:02.823] muffled <- TRUE [18:03:02.823] break [18:03:02.823] } [18:03:02.823] } [18:03:02.823] } [18:03:02.823] invisible(muffled) [18:03:02.823] } [18:03:02.823] muffleCondition(cond, pattern = "^muffle") [18:03:02.823] } [18:03:02.823] } [18:03:02.823] } [18:03:02.823] })) [18:03:02.823] }, error = function(ex) { [18:03:02.823] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.823] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.823] ...future.rng), started = ...future.startTime, [18:03:02.823] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.823] version = "1.8"), class = "FutureResult") [18:03:02.823] }, finally = { [18:03:02.823] if (!identical(...future.workdir, getwd())) [18:03:02.823] setwd(...future.workdir) [18:03:02.823] { [18:03:02.823] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.823] ...future.oldOptions$nwarnings <- NULL [18:03:02.823] } [18:03:02.823] base::options(...future.oldOptions) [18:03:02.823] if (.Platform$OS.type == "windows") { [18:03:02.823] old_names <- names(...future.oldEnvVars) [18:03:02.823] envs <- base::Sys.getenv() [18:03:02.823] names <- names(envs) [18:03:02.823] common <- intersect(names, old_names) [18:03:02.823] added <- setdiff(names, old_names) [18:03:02.823] removed <- setdiff(old_names, names) [18:03:02.823] changed <- common[...future.oldEnvVars[common] != [18:03:02.823] envs[common]] [18:03:02.823] NAMES <- toupper(changed) [18:03:02.823] args <- list() [18:03:02.823] for (kk in seq_along(NAMES)) { [18:03:02.823] name <- changed[[kk]] [18:03:02.823] NAME <- NAMES[[kk]] [18:03:02.823] if (name != NAME && is.element(NAME, old_names)) [18:03:02.823] next [18:03:02.823] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.823] } [18:03:02.823] NAMES <- toupper(added) [18:03:02.823] for (kk in seq_along(NAMES)) { [18:03:02.823] name <- added[[kk]] [18:03:02.823] NAME <- NAMES[[kk]] [18:03:02.823] if (name != NAME && is.element(NAME, old_names)) [18:03:02.823] next [18:03:02.823] args[[name]] <- "" [18:03:02.823] } [18:03:02.823] NAMES <- toupper(removed) [18:03:02.823] for (kk in seq_along(NAMES)) { [18:03:02.823] name <- removed[[kk]] [18:03:02.823] NAME <- NAMES[[kk]] [18:03:02.823] if (name != NAME && is.element(NAME, old_names)) [18:03:02.823] next [18:03:02.823] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.823] } [18:03:02.823] if (length(args) > 0) [18:03:02.823] base::do.call(base::Sys.setenv, args = args) [18:03:02.823] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.823] } [18:03:02.823] else { [18:03:02.823] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.823] } [18:03:02.823] { [18:03:02.823] if (base::length(...future.futureOptionsAdded) > [18:03:02.823] 0L) { [18:03:02.823] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.823] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.823] base::options(opts) [18:03:02.823] } [18:03:02.823] { [18:03:02.823] { [18:03:02.823] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.823] NULL [18:03:02.823] } [18:03:02.823] options(future.plan = NULL) [18:03:02.823] if (is.na(NA_character_)) [18:03:02.823] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.823] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.823] future::plan(list(function (..., workers = availableCores(), [18:03:02.823] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.823] envir = parent.frame()) [18:03:02.823] { [18:03:02.823] if (is.function(workers)) [18:03:02.823] workers <- workers() [18:03:02.823] workers <- structure(as.integer(workers), [18:03:02.823] class = class(workers)) [18:03:02.823] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.823] workers >= 1) [18:03:02.823] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.823] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.823] } [18:03:02.823] future <- MultisessionFuture(..., workers = workers, [18:03:02.823] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.823] envir = envir) [18:03:02.823] if (!future$lazy) [18:03:02.823] future <- run(future) [18:03:02.823] invisible(future) [18:03:02.823] }), .cleanup = FALSE, .init = FALSE) [18:03:02.823] } [18:03:02.823] } [18:03:02.823] } [18:03:02.823] }) [18:03:02.823] if (TRUE) { [18:03:02.823] base::sink(type = "output", split = FALSE) [18:03:02.823] if (TRUE) { [18:03:02.823] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.823] } [18:03:02.823] else { [18:03:02.823] ...future.result["stdout"] <- base::list(NULL) [18:03:02.823] } [18:03:02.823] base::close(...future.stdout) [18:03:02.823] ...future.stdout <- NULL [18:03:02.823] } [18:03:02.823] ...future.result$conditions <- ...future.conditions [18:03:02.823] ...future.result$finished <- base::Sys.time() [18:03:02.823] ...future.result [18:03:02.823] } [18:03:02.829] MultisessionFuture started [18:03:02.829] - Launch lazy future ... done [18:03:02.829] run() for 'MultisessionFuture' ... done [18:03:02.830] resolve() on list environment ... [18:03:02.830] recursive: 0 [18:03:02.831] length: 3 [18:03:02.831] elements: 'a', 'b', 'c' [18:03:02.832] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.832] - Validating connection of MultisessionFuture [18:03:02.832] - received message: FutureResult [18:03:02.832] - Received FutureResult [18:03:02.832] - Erased future from FutureRegistry [18:03:02.833] result() for ClusterFuture ... [18:03:02.833] - result already collected: FutureResult [18:03:02.833] result() for ClusterFuture ... done [18:03:02.833] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.833] Future #1 [18:03:02.833] length: 2 (resolved future 1) [18:03:02.847] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.847] - Validating connection of MultisessionFuture [18:03:02.847] - received message: FutureResult [18:03:02.847] - Received FutureResult [18:03:02.848] - Erased future from FutureRegistry [18:03:02.848] result() for ClusterFuture ... [18:03:02.848] - result already collected: FutureResult [18:03:02.848] result() for ClusterFuture ... done [18:03:02.848] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.848] Future #2 [18:03:02.849] length: 1 (resolved future 2) [18:03:02.849] length: 0 (resolved future 3) [18:03:02.849] resolve() on list environment ... DONE [18:03:02.850] getGlobalsAndPackages() ... [18:03:02.850] Searching for globals... [18:03:02.851] - globals found: [1] '{' [18:03:02.851] Searching for globals ... DONE [18:03:02.851] Resolving globals: FALSE [18:03:02.851] [18:03:02.852] [18:03:02.852] getGlobalsAndPackages() ... DONE [18:03:02.852] run() for 'Future' ... [18:03:02.852] - state: 'created' [18:03:02.853] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.867] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.867] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.867] - Field: 'node' [18:03:02.867] - Field: 'label' [18:03:02.867] - Field: 'local' [18:03:02.868] - Field: 'owner' [18:03:02.868] - Field: 'envir' [18:03:02.868] - Field: 'workers' [18:03:02.868] - Field: 'packages' [18:03:02.868] - Field: 'gc' [18:03:02.868] - Field: 'conditions' [18:03:02.869] - Field: 'persistent' [18:03:02.869] - Field: 'expr' [18:03:02.869] - Field: 'uuid' [18:03:02.869] - Field: 'seed' [18:03:02.869] - Field: 'version' [18:03:02.870] - Field: 'result' [18:03:02.870] - Field: 'asynchronous' [18:03:02.870] - Field: 'calls' [18:03:02.870] - Field: 'globals' [18:03:02.870] - Field: 'stdout' [18:03:02.871] - Field: 'earlySignal' [18:03:02.871] - Field: 'lazy' [18:03:02.871] - Field: 'state' [18:03:02.871] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.871] - Launch lazy future ... [18:03:02.872] Packages needed by the future expression (n = 0): [18:03:02.872] Packages needed by future strategies (n = 0): [18:03:02.872] { [18:03:02.872] { [18:03:02.872] { [18:03:02.872] ...future.startTime <- base::Sys.time() [18:03:02.872] { [18:03:02.872] { [18:03:02.872] { [18:03:02.872] { [18:03:02.872] base::local({ [18:03:02.872] has_future <- base::requireNamespace("future", [18:03:02.872] quietly = TRUE) [18:03:02.872] if (has_future) { [18:03:02.872] ns <- base::getNamespace("future") [18:03:02.872] version <- ns[[".package"]][["version"]] [18:03:02.872] if (is.null(version)) [18:03:02.872] version <- utils::packageVersion("future") [18:03:02.872] } [18:03:02.872] else { [18:03:02.872] version <- NULL [18:03:02.872] } [18:03:02.872] if (!has_future || version < "1.8.0") { [18:03:02.872] info <- base::c(r_version = base::gsub("R version ", [18:03:02.872] "", base::R.version$version.string), [18:03:02.872] platform = base::sprintf("%s (%s-bit)", [18:03:02.872] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.872] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.872] "release", "version")], collapse = " "), [18:03:02.872] hostname = base::Sys.info()[["nodename"]]) [18:03:02.872] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.872] info) [18:03:02.872] info <- base::paste(info, collapse = "; ") [18:03:02.872] if (!has_future) { [18:03:02.872] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.872] info) [18:03:02.872] } [18:03:02.872] else { [18:03:02.872] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.872] info, version) [18:03:02.872] } [18:03:02.872] base::stop(msg) [18:03:02.872] } [18:03:02.872] }) [18:03:02.872] } [18:03:02.872] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.872] base::options(mc.cores = 1L) [18:03:02.872] } [18:03:02.872] options(future.plan = NULL) [18:03:02.872] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.872] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.872] } [18:03:02.872] ...future.workdir <- getwd() [18:03:02.872] } [18:03:02.872] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.872] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.872] } [18:03:02.872] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.872] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.872] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.872] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.872] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.872] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.872] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.872] base::names(...future.oldOptions)) [18:03:02.872] } [18:03:02.872] if (FALSE) { [18:03:02.872] } [18:03:02.872] else { [18:03:02.872] if (TRUE) { [18:03:02.872] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.872] open = "w") [18:03:02.872] } [18:03:02.872] else { [18:03:02.872] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.872] windows = "NUL", "/dev/null"), open = "w") [18:03:02.872] } [18:03:02.872] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.872] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.872] base::sink(type = "output", split = FALSE) [18:03:02.872] base::close(...future.stdout) [18:03:02.872] }, add = TRUE) [18:03:02.872] } [18:03:02.872] ...future.frame <- base::sys.nframe() [18:03:02.872] ...future.conditions <- base::list() [18:03:02.872] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.872] if (FALSE) { [18:03:02.872] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.872] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.872] } [18:03:02.872] ...future.result <- base::tryCatch({ [18:03:02.872] base::withCallingHandlers({ [18:03:02.872] ...future.value <- base::withVisible(base::local({ [18:03:02.872] ...future.makeSendCondition <- local({ [18:03:02.872] sendCondition <- NULL [18:03:02.872] function(frame = 1L) { [18:03:02.872] if (is.function(sendCondition)) [18:03:02.872] return(sendCondition) [18:03:02.872] ns <- getNamespace("parallel") [18:03:02.872] if (exists("sendData", mode = "function", [18:03:02.872] envir = ns)) { [18:03:02.872] parallel_sendData <- get("sendData", mode = "function", [18:03:02.872] envir = ns) [18:03:02.872] envir <- sys.frame(frame) [18:03:02.872] master <- NULL [18:03:02.872] while (!identical(envir, .GlobalEnv) && [18:03:02.872] !identical(envir, emptyenv())) { [18:03:02.872] if (exists("master", mode = "list", envir = envir, [18:03:02.872] inherits = FALSE)) { [18:03:02.872] master <- get("master", mode = "list", [18:03:02.872] envir = envir, inherits = FALSE) [18:03:02.872] if (inherits(master, c("SOCKnode", [18:03:02.872] "SOCK0node"))) { [18:03:02.872] sendCondition <<- function(cond) { [18:03:02.872] data <- list(type = "VALUE", value = cond, [18:03:02.872] success = TRUE) [18:03:02.872] parallel_sendData(master, data) [18:03:02.872] } [18:03:02.872] return(sendCondition) [18:03:02.872] } [18:03:02.872] } [18:03:02.872] frame <- frame + 1L [18:03:02.872] envir <- sys.frame(frame) [18:03:02.872] } [18:03:02.872] } [18:03:02.872] sendCondition <<- function(cond) NULL [18:03:02.872] } [18:03:02.872] }) [18:03:02.872] withCallingHandlers({ [18:03:02.872] { [18:03:02.872] 1 [18:03:02.872] } [18:03:02.872] }, immediateCondition = function(cond) { [18:03:02.872] sendCondition <- ...future.makeSendCondition() [18:03:02.872] sendCondition(cond) [18:03:02.872] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.872] { [18:03:02.872] inherits <- base::inherits [18:03:02.872] invokeRestart <- base::invokeRestart [18:03:02.872] is.null <- base::is.null [18:03:02.872] muffled <- FALSE [18:03:02.872] if (inherits(cond, "message")) { [18:03:02.872] muffled <- grepl(pattern, "muffleMessage") [18:03:02.872] if (muffled) [18:03:02.872] invokeRestart("muffleMessage") [18:03:02.872] } [18:03:02.872] else if (inherits(cond, "warning")) { [18:03:02.872] muffled <- grepl(pattern, "muffleWarning") [18:03:02.872] if (muffled) [18:03:02.872] invokeRestart("muffleWarning") [18:03:02.872] } [18:03:02.872] else if (inherits(cond, "condition")) { [18:03:02.872] if (!is.null(pattern)) { [18:03:02.872] computeRestarts <- base::computeRestarts [18:03:02.872] grepl <- base::grepl [18:03:02.872] restarts <- computeRestarts(cond) [18:03:02.872] for (restart in restarts) { [18:03:02.872] name <- restart$name [18:03:02.872] if (is.null(name)) [18:03:02.872] next [18:03:02.872] if (!grepl(pattern, name)) [18:03:02.872] next [18:03:02.872] invokeRestart(restart) [18:03:02.872] muffled <- TRUE [18:03:02.872] break [18:03:02.872] } [18:03:02.872] } [18:03:02.872] } [18:03:02.872] invisible(muffled) [18:03:02.872] } [18:03:02.872] muffleCondition(cond) [18:03:02.872] }) [18:03:02.872] })) [18:03:02.872] future::FutureResult(value = ...future.value$value, [18:03:02.872] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.872] ...future.rng), globalenv = if (FALSE) [18:03:02.872] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.872] ...future.globalenv.names)) [18:03:02.872] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.872] }, condition = base::local({ [18:03:02.872] c <- base::c [18:03:02.872] inherits <- base::inherits [18:03:02.872] invokeRestart <- base::invokeRestart [18:03:02.872] length <- base::length [18:03:02.872] list <- base::list [18:03:02.872] seq.int <- base::seq.int [18:03:02.872] signalCondition <- base::signalCondition [18:03:02.872] sys.calls <- base::sys.calls [18:03:02.872] `[[` <- base::`[[` [18:03:02.872] `+` <- base::`+` [18:03:02.872] `<<-` <- base::`<<-` [18:03:02.872] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.872] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.872] 3L)] [18:03:02.872] } [18:03:02.872] function(cond) { [18:03:02.872] is_error <- inherits(cond, "error") [18:03:02.872] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.872] NULL) [18:03:02.872] if (is_error) { [18:03:02.872] sessionInformation <- function() { [18:03:02.872] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.872] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.872] search = base::search(), system = base::Sys.info()) [18:03:02.872] } [18:03:02.872] ...future.conditions[[length(...future.conditions) + [18:03:02.872] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.872] cond$call), session = sessionInformation(), [18:03:02.872] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.872] signalCondition(cond) [18:03:02.872] } [18:03:02.872] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.872] "immediateCondition"))) { [18:03:02.872] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.872] ...future.conditions[[length(...future.conditions) + [18:03:02.872] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.872] if (TRUE && !signal) { [18:03:02.872] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.872] { [18:03:02.872] inherits <- base::inherits [18:03:02.872] invokeRestart <- base::invokeRestart [18:03:02.872] is.null <- base::is.null [18:03:02.872] muffled <- FALSE [18:03:02.872] if (inherits(cond, "message")) { [18:03:02.872] muffled <- grepl(pattern, "muffleMessage") [18:03:02.872] if (muffled) [18:03:02.872] invokeRestart("muffleMessage") [18:03:02.872] } [18:03:02.872] else if (inherits(cond, "warning")) { [18:03:02.872] muffled <- grepl(pattern, "muffleWarning") [18:03:02.872] if (muffled) [18:03:02.872] invokeRestart("muffleWarning") [18:03:02.872] } [18:03:02.872] else if (inherits(cond, "condition")) { [18:03:02.872] if (!is.null(pattern)) { [18:03:02.872] computeRestarts <- base::computeRestarts [18:03:02.872] grepl <- base::grepl [18:03:02.872] restarts <- computeRestarts(cond) [18:03:02.872] for (restart in restarts) { [18:03:02.872] name <- restart$name [18:03:02.872] if (is.null(name)) [18:03:02.872] next [18:03:02.872] if (!grepl(pattern, name)) [18:03:02.872] next [18:03:02.872] invokeRestart(restart) [18:03:02.872] muffled <- TRUE [18:03:02.872] break [18:03:02.872] } [18:03:02.872] } [18:03:02.872] } [18:03:02.872] invisible(muffled) [18:03:02.872] } [18:03:02.872] muffleCondition(cond, pattern = "^muffle") [18:03:02.872] } [18:03:02.872] } [18:03:02.872] else { [18:03:02.872] if (TRUE) { [18:03:02.872] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.872] { [18:03:02.872] inherits <- base::inherits [18:03:02.872] invokeRestart <- base::invokeRestart [18:03:02.872] is.null <- base::is.null [18:03:02.872] muffled <- FALSE [18:03:02.872] if (inherits(cond, "message")) { [18:03:02.872] muffled <- grepl(pattern, "muffleMessage") [18:03:02.872] if (muffled) [18:03:02.872] invokeRestart("muffleMessage") [18:03:02.872] } [18:03:02.872] else if (inherits(cond, "warning")) { [18:03:02.872] muffled <- grepl(pattern, "muffleWarning") [18:03:02.872] if (muffled) [18:03:02.872] invokeRestart("muffleWarning") [18:03:02.872] } [18:03:02.872] else if (inherits(cond, "condition")) { [18:03:02.872] if (!is.null(pattern)) { [18:03:02.872] computeRestarts <- base::computeRestarts [18:03:02.872] grepl <- base::grepl [18:03:02.872] restarts <- computeRestarts(cond) [18:03:02.872] for (restart in restarts) { [18:03:02.872] name <- restart$name [18:03:02.872] if (is.null(name)) [18:03:02.872] next [18:03:02.872] if (!grepl(pattern, name)) [18:03:02.872] next [18:03:02.872] invokeRestart(restart) [18:03:02.872] muffled <- TRUE [18:03:02.872] break [18:03:02.872] } [18:03:02.872] } [18:03:02.872] } [18:03:02.872] invisible(muffled) [18:03:02.872] } [18:03:02.872] muffleCondition(cond, pattern = "^muffle") [18:03:02.872] } [18:03:02.872] } [18:03:02.872] } [18:03:02.872] })) [18:03:02.872] }, error = function(ex) { [18:03:02.872] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.872] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.872] ...future.rng), started = ...future.startTime, [18:03:02.872] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.872] version = "1.8"), class = "FutureResult") [18:03:02.872] }, finally = { [18:03:02.872] if (!identical(...future.workdir, getwd())) [18:03:02.872] setwd(...future.workdir) [18:03:02.872] { [18:03:02.872] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.872] ...future.oldOptions$nwarnings <- NULL [18:03:02.872] } [18:03:02.872] base::options(...future.oldOptions) [18:03:02.872] if (.Platform$OS.type == "windows") { [18:03:02.872] old_names <- names(...future.oldEnvVars) [18:03:02.872] envs <- base::Sys.getenv() [18:03:02.872] names <- names(envs) [18:03:02.872] common <- intersect(names, old_names) [18:03:02.872] added <- setdiff(names, old_names) [18:03:02.872] removed <- setdiff(old_names, names) [18:03:02.872] changed <- common[...future.oldEnvVars[common] != [18:03:02.872] envs[common]] [18:03:02.872] NAMES <- toupper(changed) [18:03:02.872] args <- list() [18:03:02.872] for (kk in seq_along(NAMES)) { [18:03:02.872] name <- changed[[kk]] [18:03:02.872] NAME <- NAMES[[kk]] [18:03:02.872] if (name != NAME && is.element(NAME, old_names)) [18:03:02.872] next [18:03:02.872] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.872] } [18:03:02.872] NAMES <- toupper(added) [18:03:02.872] for (kk in seq_along(NAMES)) { [18:03:02.872] name <- added[[kk]] [18:03:02.872] NAME <- NAMES[[kk]] [18:03:02.872] if (name != NAME && is.element(NAME, old_names)) [18:03:02.872] next [18:03:02.872] args[[name]] <- "" [18:03:02.872] } [18:03:02.872] NAMES <- toupper(removed) [18:03:02.872] for (kk in seq_along(NAMES)) { [18:03:02.872] name <- removed[[kk]] [18:03:02.872] NAME <- NAMES[[kk]] [18:03:02.872] if (name != NAME && is.element(NAME, old_names)) [18:03:02.872] next [18:03:02.872] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.872] } [18:03:02.872] if (length(args) > 0) [18:03:02.872] base::do.call(base::Sys.setenv, args = args) [18:03:02.872] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.872] } [18:03:02.872] else { [18:03:02.872] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.872] } [18:03:02.872] { [18:03:02.872] if (base::length(...future.futureOptionsAdded) > [18:03:02.872] 0L) { [18:03:02.872] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.872] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.872] base::options(opts) [18:03:02.872] } [18:03:02.872] { [18:03:02.872] { [18:03:02.872] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.872] NULL [18:03:02.872] } [18:03:02.872] options(future.plan = NULL) [18:03:02.872] if (is.na(NA_character_)) [18:03:02.872] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.872] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.872] future::plan(list(function (..., workers = availableCores(), [18:03:02.872] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.872] envir = parent.frame()) [18:03:02.872] { [18:03:02.872] if (is.function(workers)) [18:03:02.872] workers <- workers() [18:03:02.872] workers <- structure(as.integer(workers), [18:03:02.872] class = class(workers)) [18:03:02.872] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.872] workers >= 1) [18:03:02.872] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.872] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.872] } [18:03:02.872] future <- MultisessionFuture(..., workers = workers, [18:03:02.872] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.872] envir = envir) [18:03:02.872] if (!future$lazy) [18:03:02.872] future <- run(future) [18:03:02.872] invisible(future) [18:03:02.872] }), .cleanup = FALSE, .init = FALSE) [18:03:02.872] } [18:03:02.872] } [18:03:02.872] } [18:03:02.872] }) [18:03:02.872] if (TRUE) { [18:03:02.872] base::sink(type = "output", split = FALSE) [18:03:02.872] if (TRUE) { [18:03:02.872] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.872] } [18:03:02.872] else { [18:03:02.872] ...future.result["stdout"] <- base::list(NULL) [18:03:02.872] } [18:03:02.872] base::close(...future.stdout) [18:03:02.872] ...future.stdout <- NULL [18:03:02.872] } [18:03:02.872] ...future.result$conditions <- ...future.conditions [18:03:02.872] ...future.result$finished <- base::Sys.time() [18:03:02.872] ...future.result [18:03:02.872] } [18:03:02.878] MultisessionFuture started [18:03:02.879] - Launch lazy future ... done [18:03:02.879] run() for 'MultisessionFuture' ... done [18:03:02.879] getGlobalsAndPackages() ... [18:03:02.879] Searching for globals... [18:03:02.881] - globals found: [2] '{', 'Sys.sleep' [18:03:02.881] Searching for globals ... DONE [18:03:02.881] Resolving globals: FALSE [18:03:02.881] [18:03:02.882] [18:03:02.882] getGlobalsAndPackages() ... DONE [18:03:02.882] run() for 'Future' ... [18:03:02.882] - state: 'created' [18:03:02.882] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.901] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.901] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.901] - Field: 'node' [18:03:02.901] - Field: 'label' [18:03:02.901] - Field: 'local' [18:03:02.902] - Field: 'owner' [18:03:02.902] - Field: 'envir' [18:03:02.902] - Field: 'workers' [18:03:02.902] - Field: 'packages' [18:03:02.902] - Field: 'gc' [18:03:02.903] - Field: 'conditions' [18:03:02.903] - Field: 'persistent' [18:03:02.903] - Field: 'expr' [18:03:02.903] - Field: 'uuid' [18:03:02.903] - Field: 'seed' [18:03:02.903] - Field: 'version' [18:03:02.904] - Field: 'result' [18:03:02.904] - Field: 'asynchronous' [18:03:02.904] - Field: 'calls' [18:03:02.904] - Field: 'globals' [18:03:02.904] - Field: 'stdout' [18:03:02.905] - Field: 'earlySignal' [18:03:02.905] - Field: 'lazy' [18:03:02.905] - Field: 'state' [18:03:02.905] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.905] - Launch lazy future ... [18:03:02.906] Packages needed by the future expression (n = 0): [18:03:02.906] Packages needed by future strategies (n = 0): [18:03:02.906] { [18:03:02.906] { [18:03:02.906] { [18:03:02.906] ...future.startTime <- base::Sys.time() [18:03:02.906] { [18:03:02.906] { [18:03:02.906] { [18:03:02.906] { [18:03:02.906] base::local({ [18:03:02.906] has_future <- base::requireNamespace("future", [18:03:02.906] quietly = TRUE) [18:03:02.906] if (has_future) { [18:03:02.906] ns <- base::getNamespace("future") [18:03:02.906] version <- ns[[".package"]][["version"]] [18:03:02.906] if (is.null(version)) [18:03:02.906] version <- utils::packageVersion("future") [18:03:02.906] } [18:03:02.906] else { [18:03:02.906] version <- NULL [18:03:02.906] } [18:03:02.906] if (!has_future || version < "1.8.0") { [18:03:02.906] info <- base::c(r_version = base::gsub("R version ", [18:03:02.906] "", base::R.version$version.string), [18:03:02.906] platform = base::sprintf("%s (%s-bit)", [18:03:02.906] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.906] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.906] "release", "version")], collapse = " "), [18:03:02.906] hostname = base::Sys.info()[["nodename"]]) [18:03:02.906] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.906] info) [18:03:02.906] info <- base::paste(info, collapse = "; ") [18:03:02.906] if (!has_future) { [18:03:02.906] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.906] info) [18:03:02.906] } [18:03:02.906] else { [18:03:02.906] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.906] info, version) [18:03:02.906] } [18:03:02.906] base::stop(msg) [18:03:02.906] } [18:03:02.906] }) [18:03:02.906] } [18:03:02.906] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.906] base::options(mc.cores = 1L) [18:03:02.906] } [18:03:02.906] options(future.plan = NULL) [18:03:02.906] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.906] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.906] } [18:03:02.906] ...future.workdir <- getwd() [18:03:02.906] } [18:03:02.906] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.906] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.906] } [18:03:02.906] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.906] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.906] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.906] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.906] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.906] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.906] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.906] base::names(...future.oldOptions)) [18:03:02.906] } [18:03:02.906] if (FALSE) { [18:03:02.906] } [18:03:02.906] else { [18:03:02.906] if (TRUE) { [18:03:02.906] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.906] open = "w") [18:03:02.906] } [18:03:02.906] else { [18:03:02.906] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.906] windows = "NUL", "/dev/null"), open = "w") [18:03:02.906] } [18:03:02.906] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.906] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.906] base::sink(type = "output", split = FALSE) [18:03:02.906] base::close(...future.stdout) [18:03:02.906] }, add = TRUE) [18:03:02.906] } [18:03:02.906] ...future.frame <- base::sys.nframe() [18:03:02.906] ...future.conditions <- base::list() [18:03:02.906] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.906] if (FALSE) { [18:03:02.906] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.906] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.906] } [18:03:02.906] ...future.result <- base::tryCatch({ [18:03:02.906] base::withCallingHandlers({ [18:03:02.906] ...future.value <- base::withVisible(base::local({ [18:03:02.906] ...future.makeSendCondition <- local({ [18:03:02.906] sendCondition <- NULL [18:03:02.906] function(frame = 1L) { [18:03:02.906] if (is.function(sendCondition)) [18:03:02.906] return(sendCondition) [18:03:02.906] ns <- getNamespace("parallel") [18:03:02.906] if (exists("sendData", mode = "function", [18:03:02.906] envir = ns)) { [18:03:02.906] parallel_sendData <- get("sendData", mode = "function", [18:03:02.906] envir = ns) [18:03:02.906] envir <- sys.frame(frame) [18:03:02.906] master <- NULL [18:03:02.906] while (!identical(envir, .GlobalEnv) && [18:03:02.906] !identical(envir, emptyenv())) { [18:03:02.906] if (exists("master", mode = "list", envir = envir, [18:03:02.906] inherits = FALSE)) { [18:03:02.906] master <- get("master", mode = "list", [18:03:02.906] envir = envir, inherits = FALSE) [18:03:02.906] if (inherits(master, c("SOCKnode", [18:03:02.906] "SOCK0node"))) { [18:03:02.906] sendCondition <<- function(cond) { [18:03:02.906] data <- list(type = "VALUE", value = cond, [18:03:02.906] success = TRUE) [18:03:02.906] parallel_sendData(master, data) [18:03:02.906] } [18:03:02.906] return(sendCondition) [18:03:02.906] } [18:03:02.906] } [18:03:02.906] frame <- frame + 1L [18:03:02.906] envir <- sys.frame(frame) [18:03:02.906] } [18:03:02.906] } [18:03:02.906] sendCondition <<- function(cond) NULL [18:03:02.906] } [18:03:02.906] }) [18:03:02.906] withCallingHandlers({ [18:03:02.906] { [18:03:02.906] Sys.sleep(0.5) [18:03:02.906] 2 [18:03:02.906] } [18:03:02.906] }, immediateCondition = function(cond) { [18:03:02.906] sendCondition <- ...future.makeSendCondition() [18:03:02.906] sendCondition(cond) [18:03:02.906] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.906] { [18:03:02.906] inherits <- base::inherits [18:03:02.906] invokeRestart <- base::invokeRestart [18:03:02.906] is.null <- base::is.null [18:03:02.906] muffled <- FALSE [18:03:02.906] if (inherits(cond, "message")) { [18:03:02.906] muffled <- grepl(pattern, "muffleMessage") [18:03:02.906] if (muffled) [18:03:02.906] invokeRestart("muffleMessage") [18:03:02.906] } [18:03:02.906] else if (inherits(cond, "warning")) { [18:03:02.906] muffled <- grepl(pattern, "muffleWarning") [18:03:02.906] if (muffled) [18:03:02.906] invokeRestart("muffleWarning") [18:03:02.906] } [18:03:02.906] else if (inherits(cond, "condition")) { [18:03:02.906] if (!is.null(pattern)) { [18:03:02.906] computeRestarts <- base::computeRestarts [18:03:02.906] grepl <- base::grepl [18:03:02.906] restarts <- computeRestarts(cond) [18:03:02.906] for (restart in restarts) { [18:03:02.906] name <- restart$name [18:03:02.906] if (is.null(name)) [18:03:02.906] next [18:03:02.906] if (!grepl(pattern, name)) [18:03:02.906] next [18:03:02.906] invokeRestart(restart) [18:03:02.906] muffled <- TRUE [18:03:02.906] break [18:03:02.906] } [18:03:02.906] } [18:03:02.906] } [18:03:02.906] invisible(muffled) [18:03:02.906] } [18:03:02.906] muffleCondition(cond) [18:03:02.906] }) [18:03:02.906] })) [18:03:02.906] future::FutureResult(value = ...future.value$value, [18:03:02.906] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.906] ...future.rng), globalenv = if (FALSE) [18:03:02.906] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.906] ...future.globalenv.names)) [18:03:02.906] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.906] }, condition = base::local({ [18:03:02.906] c <- base::c [18:03:02.906] inherits <- base::inherits [18:03:02.906] invokeRestart <- base::invokeRestart [18:03:02.906] length <- base::length [18:03:02.906] list <- base::list [18:03:02.906] seq.int <- base::seq.int [18:03:02.906] signalCondition <- base::signalCondition [18:03:02.906] sys.calls <- base::sys.calls [18:03:02.906] `[[` <- base::`[[` [18:03:02.906] `+` <- base::`+` [18:03:02.906] `<<-` <- base::`<<-` [18:03:02.906] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.906] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.906] 3L)] [18:03:02.906] } [18:03:02.906] function(cond) { [18:03:02.906] is_error <- inherits(cond, "error") [18:03:02.906] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.906] NULL) [18:03:02.906] if (is_error) { [18:03:02.906] sessionInformation <- function() { [18:03:02.906] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.906] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.906] search = base::search(), system = base::Sys.info()) [18:03:02.906] } [18:03:02.906] ...future.conditions[[length(...future.conditions) + [18:03:02.906] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.906] cond$call), session = sessionInformation(), [18:03:02.906] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.906] signalCondition(cond) [18:03:02.906] } [18:03:02.906] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.906] "immediateCondition"))) { [18:03:02.906] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.906] ...future.conditions[[length(...future.conditions) + [18:03:02.906] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.906] if (TRUE && !signal) { [18:03:02.906] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.906] { [18:03:02.906] inherits <- base::inherits [18:03:02.906] invokeRestart <- base::invokeRestart [18:03:02.906] is.null <- base::is.null [18:03:02.906] muffled <- FALSE [18:03:02.906] if (inherits(cond, "message")) { [18:03:02.906] muffled <- grepl(pattern, "muffleMessage") [18:03:02.906] if (muffled) [18:03:02.906] invokeRestart("muffleMessage") [18:03:02.906] } [18:03:02.906] else if (inherits(cond, "warning")) { [18:03:02.906] muffled <- grepl(pattern, "muffleWarning") [18:03:02.906] if (muffled) [18:03:02.906] invokeRestart("muffleWarning") [18:03:02.906] } [18:03:02.906] else if (inherits(cond, "condition")) { [18:03:02.906] if (!is.null(pattern)) { [18:03:02.906] computeRestarts <- base::computeRestarts [18:03:02.906] grepl <- base::grepl [18:03:02.906] restarts <- computeRestarts(cond) [18:03:02.906] for (restart in restarts) { [18:03:02.906] name <- restart$name [18:03:02.906] if (is.null(name)) [18:03:02.906] next [18:03:02.906] if (!grepl(pattern, name)) [18:03:02.906] next [18:03:02.906] invokeRestart(restart) [18:03:02.906] muffled <- TRUE [18:03:02.906] break [18:03:02.906] } [18:03:02.906] } [18:03:02.906] } [18:03:02.906] invisible(muffled) [18:03:02.906] } [18:03:02.906] muffleCondition(cond, pattern = "^muffle") [18:03:02.906] } [18:03:02.906] } [18:03:02.906] else { [18:03:02.906] if (TRUE) { [18:03:02.906] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.906] { [18:03:02.906] inherits <- base::inherits [18:03:02.906] invokeRestart <- base::invokeRestart [18:03:02.906] is.null <- base::is.null [18:03:02.906] muffled <- FALSE [18:03:02.906] if (inherits(cond, "message")) { [18:03:02.906] muffled <- grepl(pattern, "muffleMessage") [18:03:02.906] if (muffled) [18:03:02.906] invokeRestart("muffleMessage") [18:03:02.906] } [18:03:02.906] else if (inherits(cond, "warning")) { [18:03:02.906] muffled <- grepl(pattern, "muffleWarning") [18:03:02.906] if (muffled) [18:03:02.906] invokeRestart("muffleWarning") [18:03:02.906] } [18:03:02.906] else if (inherits(cond, "condition")) { [18:03:02.906] if (!is.null(pattern)) { [18:03:02.906] computeRestarts <- base::computeRestarts [18:03:02.906] grepl <- base::grepl [18:03:02.906] restarts <- computeRestarts(cond) [18:03:02.906] for (restart in restarts) { [18:03:02.906] name <- restart$name [18:03:02.906] if (is.null(name)) [18:03:02.906] next [18:03:02.906] if (!grepl(pattern, name)) [18:03:02.906] next [18:03:02.906] invokeRestart(restart) [18:03:02.906] muffled <- TRUE [18:03:02.906] break [18:03:02.906] } [18:03:02.906] } [18:03:02.906] } [18:03:02.906] invisible(muffled) [18:03:02.906] } [18:03:02.906] muffleCondition(cond, pattern = "^muffle") [18:03:02.906] } [18:03:02.906] } [18:03:02.906] } [18:03:02.906] })) [18:03:02.906] }, error = function(ex) { [18:03:02.906] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.906] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.906] ...future.rng), started = ...future.startTime, [18:03:02.906] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.906] version = "1.8"), class = "FutureResult") [18:03:02.906] }, finally = { [18:03:02.906] if (!identical(...future.workdir, getwd())) [18:03:02.906] setwd(...future.workdir) [18:03:02.906] { [18:03:02.906] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.906] ...future.oldOptions$nwarnings <- NULL [18:03:02.906] } [18:03:02.906] base::options(...future.oldOptions) [18:03:02.906] if (.Platform$OS.type == "windows") { [18:03:02.906] old_names <- names(...future.oldEnvVars) [18:03:02.906] envs <- base::Sys.getenv() [18:03:02.906] names <- names(envs) [18:03:02.906] common <- intersect(names, old_names) [18:03:02.906] added <- setdiff(names, old_names) [18:03:02.906] removed <- setdiff(old_names, names) [18:03:02.906] changed <- common[...future.oldEnvVars[common] != [18:03:02.906] envs[common]] [18:03:02.906] NAMES <- toupper(changed) [18:03:02.906] args <- list() [18:03:02.906] for (kk in seq_along(NAMES)) { [18:03:02.906] name <- changed[[kk]] [18:03:02.906] NAME <- NAMES[[kk]] [18:03:02.906] if (name != NAME && is.element(NAME, old_names)) [18:03:02.906] next [18:03:02.906] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.906] } [18:03:02.906] NAMES <- toupper(added) [18:03:02.906] for (kk in seq_along(NAMES)) { [18:03:02.906] name <- added[[kk]] [18:03:02.906] NAME <- NAMES[[kk]] [18:03:02.906] if (name != NAME && is.element(NAME, old_names)) [18:03:02.906] next [18:03:02.906] args[[name]] <- "" [18:03:02.906] } [18:03:02.906] NAMES <- toupper(removed) [18:03:02.906] for (kk in seq_along(NAMES)) { [18:03:02.906] name <- removed[[kk]] [18:03:02.906] NAME <- NAMES[[kk]] [18:03:02.906] if (name != NAME && is.element(NAME, old_names)) [18:03:02.906] next [18:03:02.906] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.906] } [18:03:02.906] if (length(args) > 0) [18:03:02.906] base::do.call(base::Sys.setenv, args = args) [18:03:02.906] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.906] } [18:03:02.906] else { [18:03:02.906] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.906] } [18:03:02.906] { [18:03:02.906] if (base::length(...future.futureOptionsAdded) > [18:03:02.906] 0L) { [18:03:02.906] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.906] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.906] base::options(opts) [18:03:02.906] } [18:03:02.906] { [18:03:02.906] { [18:03:02.906] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.906] NULL [18:03:02.906] } [18:03:02.906] options(future.plan = NULL) [18:03:02.906] if (is.na(NA_character_)) [18:03:02.906] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.906] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.906] future::plan(list(function (..., workers = availableCores(), [18:03:02.906] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.906] envir = parent.frame()) [18:03:02.906] { [18:03:02.906] if (is.function(workers)) [18:03:02.906] workers <- workers() [18:03:02.906] workers <- structure(as.integer(workers), [18:03:02.906] class = class(workers)) [18:03:02.906] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.906] workers >= 1) [18:03:02.906] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.906] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.906] } [18:03:02.906] future <- MultisessionFuture(..., workers = workers, [18:03:02.906] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.906] envir = envir) [18:03:02.906] if (!future$lazy) [18:03:02.906] future <- run(future) [18:03:02.906] invisible(future) [18:03:02.906] }), .cleanup = FALSE, .init = FALSE) [18:03:02.906] } [18:03:02.906] } [18:03:02.906] } [18:03:02.906] }) [18:03:02.906] if (TRUE) { [18:03:02.906] base::sink(type = "output", split = FALSE) [18:03:02.906] if (TRUE) { [18:03:02.906] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.906] } [18:03:02.906] else { [18:03:02.906] ...future.result["stdout"] <- base::list(NULL) [18:03:02.906] } [18:03:02.906] base::close(...future.stdout) [18:03:02.906] ...future.stdout <- NULL [18:03:02.906] } [18:03:02.906] ...future.result$conditions <- ...future.conditions [18:03:02.906] ...future.result$finished <- base::Sys.time() [18:03:02.906] ...future.result [18:03:02.906] } [18:03:02.912] MultisessionFuture started [18:03:02.912] - Launch lazy future ... done [18:03:02.912] run() for 'MultisessionFuture' ... done [18:03:02.913] getGlobalsAndPackages() ... [18:03:02.913] Searching for globals... [18:03:02.914] - globals found: [1] '{' [18:03:02.914] Searching for globals ... DONE [18:03:02.914] Resolving globals: FALSE [18:03:02.915] [18:03:02.915] [18:03:02.915] getGlobalsAndPackages() ... DONE [18:03:02.915] run() for 'Future' ... [18:03:02.915] - state: 'created' [18:03:02.916] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:03:02.929] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:03:02.929] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:03:02.930] - Field: 'node' [18:03:02.930] - Field: 'label' [18:03:02.930] - Field: 'local' [18:03:02.930] - Field: 'owner' [18:03:02.930] - Field: 'envir' [18:03:02.930] - Field: 'workers' [18:03:02.931] - Field: 'packages' [18:03:02.931] - Field: 'gc' [18:03:02.931] - Field: 'conditions' [18:03:02.931] - Field: 'persistent' [18:03:02.931] - Field: 'expr' [18:03:02.932] - Field: 'uuid' [18:03:02.932] - Field: 'seed' [18:03:02.932] - Field: 'version' [18:03:02.932] - Field: 'result' [18:03:02.932] - Field: 'asynchronous' [18:03:02.932] - Field: 'calls' [18:03:02.933] - Field: 'globals' [18:03:02.933] - Field: 'stdout' [18:03:02.933] - Field: 'earlySignal' [18:03:02.933] - Field: 'lazy' [18:03:02.933] - Field: 'state' [18:03:02.934] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:03:02.934] - Launch lazy future ... [18:03:02.934] Packages needed by the future expression (n = 0): [18:03:02.934] Packages needed by future strategies (n = 0): [18:03:02.935] { [18:03:02.935] { [18:03:02.935] { [18:03:02.935] ...future.startTime <- base::Sys.time() [18:03:02.935] { [18:03:02.935] { [18:03:02.935] { [18:03:02.935] { [18:03:02.935] base::local({ [18:03:02.935] has_future <- base::requireNamespace("future", [18:03:02.935] quietly = TRUE) [18:03:02.935] if (has_future) { [18:03:02.935] ns <- base::getNamespace("future") [18:03:02.935] version <- ns[[".package"]][["version"]] [18:03:02.935] if (is.null(version)) [18:03:02.935] version <- utils::packageVersion("future") [18:03:02.935] } [18:03:02.935] else { [18:03:02.935] version <- NULL [18:03:02.935] } [18:03:02.935] if (!has_future || version < "1.8.0") { [18:03:02.935] info <- base::c(r_version = base::gsub("R version ", [18:03:02.935] "", base::R.version$version.string), [18:03:02.935] platform = base::sprintf("%s (%s-bit)", [18:03:02.935] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:03:02.935] os = base::paste(base::Sys.info()[base::c("sysname", [18:03:02.935] "release", "version")], collapse = " "), [18:03:02.935] hostname = base::Sys.info()[["nodename"]]) [18:03:02.935] info <- base::sprintf("%s: %s", base::names(info), [18:03:02.935] info) [18:03:02.935] info <- base::paste(info, collapse = "; ") [18:03:02.935] if (!has_future) { [18:03:02.935] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:03:02.935] info) [18:03:02.935] } [18:03:02.935] else { [18:03:02.935] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:03:02.935] info, version) [18:03:02.935] } [18:03:02.935] base::stop(msg) [18:03:02.935] } [18:03:02.935] }) [18:03:02.935] } [18:03:02.935] ...future.mc.cores.old <- base::getOption("mc.cores") [18:03:02.935] base::options(mc.cores = 1L) [18:03:02.935] } [18:03:02.935] options(future.plan = NULL) [18:03:02.935] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.935] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:03:02.935] } [18:03:02.935] ...future.workdir <- getwd() [18:03:02.935] } [18:03:02.935] ...future.oldOptions <- base::as.list(base::.Options) [18:03:02.935] ...future.oldEnvVars <- base::Sys.getenv() [18:03:02.935] } [18:03:02.935] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [18:03:02.935] future.globals.maxSize = NULL, future.globals.method = NULL, [18:03:02.935] future.globals.onMissing = NULL, future.globals.onReference = NULL, [18:03:02.935] future.globals.resolve = NULL, future.resolve.recursive = NULL, [18:03:02.935] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:03:02.935] future.stdout.windows.reencode = NULL, width = 80L) [18:03:02.935] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:03:02.935] base::names(...future.oldOptions)) [18:03:02.935] } [18:03:02.935] if (FALSE) { [18:03:02.935] } [18:03:02.935] else { [18:03:02.935] if (TRUE) { [18:03:02.935] ...future.stdout <- base::rawConnection(base::raw(0L), [18:03:02.935] open = "w") [18:03:02.935] } [18:03:02.935] else { [18:03:02.935] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:03:02.935] windows = "NUL", "/dev/null"), open = "w") [18:03:02.935] } [18:03:02.935] base::sink(...future.stdout, type = "output", split = FALSE) [18:03:02.935] base::on.exit(if (!base::is.null(...future.stdout)) { [18:03:02.935] base::sink(type = "output", split = FALSE) [18:03:02.935] base::close(...future.stdout) [18:03:02.935] }, add = TRUE) [18:03:02.935] } [18:03:02.935] ...future.frame <- base::sys.nframe() [18:03:02.935] ...future.conditions <- base::list() [18:03:02.935] ...future.rng <- base::globalenv()$.Random.seed [18:03:02.935] if (FALSE) { [18:03:02.935] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:03:02.935] "...future.value", "...future.globalenv.names", ".Random.seed") [18:03:02.935] } [18:03:02.935] ...future.result <- base::tryCatch({ [18:03:02.935] base::withCallingHandlers({ [18:03:02.935] ...future.value <- base::withVisible(base::local({ [18:03:02.935] ...future.makeSendCondition <- local({ [18:03:02.935] sendCondition <- NULL [18:03:02.935] function(frame = 1L) { [18:03:02.935] if (is.function(sendCondition)) [18:03:02.935] return(sendCondition) [18:03:02.935] ns <- getNamespace("parallel") [18:03:02.935] if (exists("sendData", mode = "function", [18:03:02.935] envir = ns)) { [18:03:02.935] parallel_sendData <- get("sendData", mode = "function", [18:03:02.935] envir = ns) [18:03:02.935] envir <- sys.frame(frame) [18:03:02.935] master <- NULL [18:03:02.935] while (!identical(envir, .GlobalEnv) && [18:03:02.935] !identical(envir, emptyenv())) { [18:03:02.935] if (exists("master", mode = "list", envir = envir, [18:03:02.935] inherits = FALSE)) { [18:03:02.935] master <- get("master", mode = "list", [18:03:02.935] envir = envir, inherits = FALSE) [18:03:02.935] if (inherits(master, c("SOCKnode", [18:03:02.935] "SOCK0node"))) { [18:03:02.935] sendCondition <<- function(cond) { [18:03:02.935] data <- list(type = "VALUE", value = cond, [18:03:02.935] success = TRUE) [18:03:02.935] parallel_sendData(master, data) [18:03:02.935] } [18:03:02.935] return(sendCondition) [18:03:02.935] } [18:03:02.935] } [18:03:02.935] frame <- frame + 1L [18:03:02.935] envir <- sys.frame(frame) [18:03:02.935] } [18:03:02.935] } [18:03:02.935] sendCondition <<- function(cond) NULL [18:03:02.935] } [18:03:02.935] }) [18:03:02.935] withCallingHandlers({ [18:03:02.935] { [18:03:02.935] 3 [18:03:02.935] } [18:03:02.935] }, immediateCondition = function(cond) { [18:03:02.935] sendCondition <- ...future.makeSendCondition() [18:03:02.935] sendCondition(cond) [18:03:02.935] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.935] { [18:03:02.935] inherits <- base::inherits [18:03:02.935] invokeRestart <- base::invokeRestart [18:03:02.935] is.null <- base::is.null [18:03:02.935] muffled <- FALSE [18:03:02.935] if (inherits(cond, "message")) { [18:03:02.935] muffled <- grepl(pattern, "muffleMessage") [18:03:02.935] if (muffled) [18:03:02.935] invokeRestart("muffleMessage") [18:03:02.935] } [18:03:02.935] else if (inherits(cond, "warning")) { [18:03:02.935] muffled <- grepl(pattern, "muffleWarning") [18:03:02.935] if (muffled) [18:03:02.935] invokeRestart("muffleWarning") [18:03:02.935] } [18:03:02.935] else if (inherits(cond, "condition")) { [18:03:02.935] if (!is.null(pattern)) { [18:03:02.935] computeRestarts <- base::computeRestarts [18:03:02.935] grepl <- base::grepl [18:03:02.935] restarts <- computeRestarts(cond) [18:03:02.935] for (restart in restarts) { [18:03:02.935] name <- restart$name [18:03:02.935] if (is.null(name)) [18:03:02.935] next [18:03:02.935] if (!grepl(pattern, name)) [18:03:02.935] next [18:03:02.935] invokeRestart(restart) [18:03:02.935] muffled <- TRUE [18:03:02.935] break [18:03:02.935] } [18:03:02.935] } [18:03:02.935] } [18:03:02.935] invisible(muffled) [18:03:02.935] } [18:03:02.935] muffleCondition(cond) [18:03:02.935] }) [18:03:02.935] })) [18:03:02.935] future::FutureResult(value = ...future.value$value, [18:03:02.935] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.935] ...future.rng), globalenv = if (FALSE) [18:03:02.935] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:03:02.935] ...future.globalenv.names)) [18:03:02.935] else NULL, started = ...future.startTime, version = "1.8") [18:03:02.935] }, condition = base::local({ [18:03:02.935] c <- base::c [18:03:02.935] inherits <- base::inherits [18:03:02.935] invokeRestart <- base::invokeRestart [18:03:02.935] length <- base::length [18:03:02.935] list <- base::list [18:03:02.935] seq.int <- base::seq.int [18:03:02.935] signalCondition <- base::signalCondition [18:03:02.935] sys.calls <- base::sys.calls [18:03:02.935] `[[` <- base::`[[` [18:03:02.935] `+` <- base::`+` [18:03:02.935] `<<-` <- base::`<<-` [18:03:02.935] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:03:02.935] calls[seq.int(from = from + 12L, to = length(calls) - [18:03:02.935] 3L)] [18:03:02.935] } [18:03:02.935] function(cond) { [18:03:02.935] is_error <- inherits(cond, "error") [18:03:02.935] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:03:02.935] NULL) [18:03:02.935] if (is_error) { [18:03:02.935] sessionInformation <- function() { [18:03:02.935] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:03:02.935] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:03:02.935] search = base::search(), system = base::Sys.info()) [18:03:02.935] } [18:03:02.935] ...future.conditions[[length(...future.conditions) + [18:03:02.935] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:03:02.935] cond$call), session = sessionInformation(), [18:03:02.935] timestamp = base::Sys.time(), signaled = 0L) [18:03:02.935] signalCondition(cond) [18:03:02.935] } [18:03:02.935] else if (!ignore && TRUE && inherits(cond, c("condition", [18:03:02.935] "immediateCondition"))) { [18:03:02.935] signal <- TRUE && inherits(cond, "immediateCondition") [18:03:02.935] ...future.conditions[[length(...future.conditions) + [18:03:02.935] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:03:02.935] if (TRUE && !signal) { [18:03:02.935] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.935] { [18:03:02.935] inherits <- base::inherits [18:03:02.935] invokeRestart <- base::invokeRestart [18:03:02.935] is.null <- base::is.null [18:03:02.935] muffled <- FALSE [18:03:02.935] if (inherits(cond, "message")) { [18:03:02.935] muffled <- grepl(pattern, "muffleMessage") [18:03:02.935] if (muffled) [18:03:02.935] invokeRestart("muffleMessage") [18:03:02.935] } [18:03:02.935] else if (inherits(cond, "warning")) { [18:03:02.935] muffled <- grepl(pattern, "muffleWarning") [18:03:02.935] if (muffled) [18:03:02.935] invokeRestart("muffleWarning") [18:03:02.935] } [18:03:02.935] else if (inherits(cond, "condition")) { [18:03:02.935] if (!is.null(pattern)) { [18:03:02.935] computeRestarts <- base::computeRestarts [18:03:02.935] grepl <- base::grepl [18:03:02.935] restarts <- computeRestarts(cond) [18:03:02.935] for (restart in restarts) { [18:03:02.935] name <- restart$name [18:03:02.935] if (is.null(name)) [18:03:02.935] next [18:03:02.935] if (!grepl(pattern, name)) [18:03:02.935] next [18:03:02.935] invokeRestart(restart) [18:03:02.935] muffled <- TRUE [18:03:02.935] break [18:03:02.935] } [18:03:02.935] } [18:03:02.935] } [18:03:02.935] invisible(muffled) [18:03:02.935] } [18:03:02.935] muffleCondition(cond, pattern = "^muffle") [18:03:02.935] } [18:03:02.935] } [18:03:02.935] else { [18:03:02.935] if (TRUE) { [18:03:02.935] muffleCondition <- function (cond, pattern = "^muffle") [18:03:02.935] { [18:03:02.935] inherits <- base::inherits [18:03:02.935] invokeRestart <- base::invokeRestart [18:03:02.935] is.null <- base::is.null [18:03:02.935] muffled <- FALSE [18:03:02.935] if (inherits(cond, "message")) { [18:03:02.935] muffled <- grepl(pattern, "muffleMessage") [18:03:02.935] if (muffled) [18:03:02.935] invokeRestart("muffleMessage") [18:03:02.935] } [18:03:02.935] else if (inherits(cond, "warning")) { [18:03:02.935] muffled <- grepl(pattern, "muffleWarning") [18:03:02.935] if (muffled) [18:03:02.935] invokeRestart("muffleWarning") [18:03:02.935] } [18:03:02.935] else if (inherits(cond, "condition")) { [18:03:02.935] if (!is.null(pattern)) { [18:03:02.935] computeRestarts <- base::computeRestarts [18:03:02.935] grepl <- base::grepl [18:03:02.935] restarts <- computeRestarts(cond) [18:03:02.935] for (restart in restarts) { [18:03:02.935] name <- restart$name [18:03:02.935] if (is.null(name)) [18:03:02.935] next [18:03:02.935] if (!grepl(pattern, name)) [18:03:02.935] next [18:03:02.935] invokeRestart(restart) [18:03:02.935] muffled <- TRUE [18:03:02.935] break [18:03:02.935] } [18:03:02.935] } [18:03:02.935] } [18:03:02.935] invisible(muffled) [18:03:02.935] } [18:03:02.935] muffleCondition(cond, pattern = "^muffle") [18:03:02.935] } [18:03:02.935] } [18:03:02.935] } [18:03:02.935] })) [18:03:02.935] }, error = function(ex) { [18:03:02.935] base::structure(base::list(value = NULL, visible = NULL, [18:03:02.935] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:03:02.935] ...future.rng), started = ...future.startTime, [18:03:02.935] finished = Sys.time(), session_uuid = NA_character_, [18:03:02.935] version = "1.8"), class = "FutureResult") [18:03:02.935] }, finally = { [18:03:02.935] if (!identical(...future.workdir, getwd())) [18:03:02.935] setwd(...future.workdir) [18:03:02.935] { [18:03:02.935] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:03:02.935] ...future.oldOptions$nwarnings <- NULL [18:03:02.935] } [18:03:02.935] base::options(...future.oldOptions) [18:03:02.935] if (.Platform$OS.type == "windows") { [18:03:02.935] old_names <- names(...future.oldEnvVars) [18:03:02.935] envs <- base::Sys.getenv() [18:03:02.935] names <- names(envs) [18:03:02.935] common <- intersect(names, old_names) [18:03:02.935] added <- setdiff(names, old_names) [18:03:02.935] removed <- setdiff(old_names, names) [18:03:02.935] changed <- common[...future.oldEnvVars[common] != [18:03:02.935] envs[common]] [18:03:02.935] NAMES <- toupper(changed) [18:03:02.935] args <- list() [18:03:02.935] for (kk in seq_along(NAMES)) { [18:03:02.935] name <- changed[[kk]] [18:03:02.935] NAME <- NAMES[[kk]] [18:03:02.935] if (name != NAME && is.element(NAME, old_names)) [18:03:02.935] next [18:03:02.935] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.935] } [18:03:02.935] NAMES <- toupper(added) [18:03:02.935] for (kk in seq_along(NAMES)) { [18:03:02.935] name <- added[[kk]] [18:03:02.935] NAME <- NAMES[[kk]] [18:03:02.935] if (name != NAME && is.element(NAME, old_names)) [18:03:02.935] next [18:03:02.935] args[[name]] <- "" [18:03:02.935] } [18:03:02.935] NAMES <- toupper(removed) [18:03:02.935] for (kk in seq_along(NAMES)) { [18:03:02.935] name <- removed[[kk]] [18:03:02.935] NAME <- NAMES[[kk]] [18:03:02.935] if (name != NAME && is.element(NAME, old_names)) [18:03:02.935] next [18:03:02.935] args[[name]] <- ...future.oldEnvVars[[name]] [18:03:02.935] } [18:03:02.935] if (length(args) > 0) [18:03:02.935] base::do.call(base::Sys.setenv, args = args) [18:03:02.935] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:03:02.935] } [18:03:02.935] else { [18:03:02.935] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:03:02.935] } [18:03:02.935] { [18:03:02.935] if (base::length(...future.futureOptionsAdded) > [18:03:02.935] 0L) { [18:03:02.935] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:03:02.935] base::names(opts) <- ...future.futureOptionsAdded [18:03:02.935] base::options(opts) [18:03:02.935] } [18:03:02.935] { [18:03:02.935] { [18:03:02.935] base::options(mc.cores = ...future.mc.cores.old) [18:03:02.935] NULL [18:03:02.935] } [18:03:02.935] options(future.plan = NULL) [18:03:02.935] if (is.na(NA_character_)) [18:03:02.935] Sys.unsetenv("R_FUTURE_PLAN") [18:03:02.935] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:03:02.935] future::plan(list(function (..., workers = availableCores(), [18:03:02.935] lazy = FALSE, rscript_libs = .libPaths(), [18:03:02.935] envir = parent.frame()) [18:03:02.935] { [18:03:02.935] if (is.function(workers)) [18:03:02.935] workers <- workers() [18:03:02.935] workers <- structure(as.integer(workers), [18:03:02.935] class = class(workers)) [18:03:02.935] stop_if_not(length(workers) == 1, is.finite(workers), [18:03:02.935] workers >= 1) [18:03:02.935] if (workers == 1L && !inherits(workers, "AsIs")) { [18:03:02.935] return(sequential(..., lazy = TRUE, envir = envir)) [18:03:02.935] } [18:03:02.935] future <- MultisessionFuture(..., workers = workers, [18:03:02.935] lazy = lazy, rscript_libs = rscript_libs, [18:03:02.935] envir = envir) [18:03:02.935] if (!future$lazy) [18:03:02.935] future <- run(future) [18:03:02.935] invisible(future) [18:03:02.935] }), .cleanup = FALSE, .init = FALSE) [18:03:02.935] } [18:03:02.935] } [18:03:02.935] } [18:03:02.935] }) [18:03:02.935] if (TRUE) { [18:03:02.935] base::sink(type = "output", split = FALSE) [18:03:02.935] if (TRUE) { [18:03:02.935] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:03:02.935] } [18:03:02.935] else { [18:03:02.935] ...future.result["stdout"] <- base::list(NULL) [18:03:02.935] } [18:03:02.935] base::close(...future.stdout) [18:03:02.935] ...future.stdout <- NULL [18:03:02.935] } [18:03:02.935] ...future.result$conditions <- ...future.conditions [18:03:02.935] ...future.result$finished <- base::Sys.time() [18:03:02.935] ...future.result [18:03:02.935] } [18:03:02.940] Poll #1 (0): usedNodes() = 2, workers = 2 [18:03:02.951] receiveMessageFromWorker() for ClusterFuture ... [18:03:02.951] - Validating connection of MultisessionFuture [18:03:02.952] - received message: FutureResult [18:03:02.952] - Received FutureResult [18:03:02.952] - Erased future from FutureRegistry [18:03:02.952] result() for ClusterFuture ... [18:03:02.952] - result already collected: FutureResult [18:03:02.952] result() for ClusterFuture ... done [18:03:02.953] receiveMessageFromWorker() for ClusterFuture ... done [18:03:02.953] result() for ClusterFuture ... [18:03:02.953] - result already collected: FutureResult [18:03:02.953] result() for ClusterFuture ... done [18:03:02.953] result() for ClusterFuture ... [18:03:02.953] - result already collected: FutureResult [18:03:02.954] result() for ClusterFuture ... done [18:03:02.955] MultisessionFuture started [18:03:02.955] - Launch lazy future ... done [18:03:02.955] run() for 'MultisessionFuture' ... done [18:03:02.956] resolve() on list environment ... [18:03:02.956] recursive: 0 [18:03:02.957] length: 4 [18:03:02.957] elements: 'a', 'b', 'c', 'd' [18:03:02.957] Future #1 [18:03:02.958] length: 3 (resolved future 1) [18:03:03.154] receiveMessageFromWorker() for ClusterFuture ... [18:03:03.155] - Validating connection of MultisessionFuture [18:03:03.155] - received message: FutureResult [18:03:03.155] - Received FutureResult [18:03:03.155] - Erased future from FutureRegistry [18:03:03.155] result() for ClusterFuture ... [18:03:03.156] - result already collected: FutureResult [18:03:03.156] result() for ClusterFuture ... done [18:03:03.156] receiveMessageFromWorker() for ClusterFuture ... done [18:03:03.156] Future #3 [18:03:03.156] length: 2 (resolved future 3) [18:03:03.156] length: 1 (resolved future 4) [18:03:03.436] receiveMessageFromWorker() for ClusterFuture ... [18:03:03.436] - Validating connection of MultisessionFuture [18:03:03.436] - received message: FutureResult [18:03:03.436] - Received FutureResult [18:03:03.437] - Erased future from FutureRegistry [18:03:03.437] result() for ClusterFuture ... [18:03:03.437] - result already collected: FutureResult [18:03:03.437] result() for ClusterFuture ... done [18:03:03.437] receiveMessageFromWorker() for ClusterFuture ... done [18:03:03.437] Future #2 [18:03:03.438] length: 0 (resolved future 2) [18:03:03.438] resolve() on list environment ... DONE [18:03:03.438] resolve() on list environment ... [18:03:03.438] recursive: 0 [18:03:03.439] length: 4 [18:03:03.439] elements: 'a', 'b', 'c', 'd' [18:03:03.440] Future #1 [18:03:03.440] length: 3 (resolved future 1) [18:03:03.440] Future #2 [18:03:03.440] length: 2 (resolved future 2) [18:03:03.440] Future #3 [18:03:03.441] length: 1 (resolved future 3) [18:03:03.441] length: 0 (resolved future 4) [18:03:03.441] resolve() on list environment ... DONE [18:03:03.442] resolve() on list environment ... [18:03:03.442] recursive: 0 [18:03:03.443] length: 4 [18:03:03.443] elements: 'a', 'b', 'c', 'd' [18:03:03.443] Future #1 [18:03:03.443] length: 3 (resolved future 1) [18:03:03.443] Future #2 [18:03:03.444] length: 2 (resolved future 2) [18:03:03.444] Future #3 [18:03:03.444] length: 1 (resolved future 3) [18:03:03.444] length: 0 (resolved future 4) [18:03:03.444] resolve() on list environment ... DONE [18:03:03.445] resolve() on list environment ... [18:03:03.445] recursive: 0 [18:03:03.446] length: 4 [18:03:03.446] elements: 'a', 'b', 'c', 'd' [18:03:03.446] Future #1 [18:03:03.446] length: 3 (resolved future 1) [18:03:03.447] Future #2 [18:03:03.447] length: 2 (resolved future 2) [18:03:03.447] Future #3 [18:03:03.447] length: 1 (resolved future 3) [18:03:03.447] length: 0 (resolved future 4) [18:03:03.448] resolve() on list environment ... DONE [18:03:03.448] resolve() on list environment ... [18:03:03.448] recursive: 0 [18:03:03.449] length: 4 [18:03:03.449] elements: 'a', 'b', 'c', 'd' [18:03:03.450] Future #1 [18:03:03.450] result() for ClusterFuture ... [18:03:03.450] - result already collected: FutureResult [18:03:03.450] result() for ClusterFuture ... done [18:03:03.450] result() for ClusterFuture ... [18:03:03.450] - result already collected: FutureResult [18:03:03.451] result() for ClusterFuture ... done [18:03:03.451] length: 3 (resolved future 1) [18:03:03.451] Future #2 [18:03:03.451] result() for ClusterFuture ... [18:03:03.451] - result already collected: FutureResult [18:03:03.452] result() for ClusterFuture ... done [18:03:03.452] result() for ClusterFuture ... [18:03:03.452] - result already collected: FutureResult [18:03:03.452] result() for ClusterFuture ... done [18:03:03.452] length: 2 (resolved future 2) [18:03:03.452] Future #3 [18:03:03.453] result() for ClusterFuture ... [18:03:03.453] - result already collected: FutureResult [18:03:03.453] result() for ClusterFuture ... done [18:03:03.453] result() for ClusterFuture ... [18:03:03.453] - result already collected: FutureResult [18:03:03.453] result() for ClusterFuture ... done [18:03:03.454] length: 1 (resolved future 3) [18:03:03.454] length: 0 (resolved future 4) [18:03:03.454] resolve() on list environment ... DONE [18:03:03.455] resolve() on list environment ... [18:03:03.455] recursive: 99 [18:03:03.456] length: 4 [18:03:03.456] elements: 'a', 'b', 'c', 'd' [18:03:03.456] Future #1 [18:03:03.456] result() for ClusterFuture ... [18:03:03.456] - result already collected: FutureResult [18:03:03.456] result() for ClusterFuture ... done [18:03:03.457] result() for ClusterFuture ... [18:03:03.457] - result already collected: FutureResult [18:03:03.457] result() for ClusterFuture ... done [18:03:03.457] A MultisessionFuture was resolved [18:03:03.457] length: 3 (resolved future 1) [18:03:03.458] Future #2 [18:03:03.458] result() for ClusterFuture ... [18:03:03.458] - result already collected: FutureResult [18:03:03.458] result() for ClusterFuture ... done [18:03:03.458] result() for ClusterFuture ... [18:03:03.458] - result already collected: FutureResult [18:03:03.458] result() for ClusterFuture ... done [18:03:03.459] A MultisessionFuture was resolved [18:03:03.459] length: 2 (resolved future 2) [18:03:03.459] Future #3 [18:03:03.459] result() for ClusterFuture ... [18:03:03.459] - result already collected: FutureResult [18:03:03.460] result() for ClusterFuture ... done [18:03:03.460] result() for ClusterFuture ... [18:03:03.460] - result already collected: FutureResult [18:03:03.460] result() for ClusterFuture ... done [18:03:03.460] A MultisessionFuture was resolved [18:03:03.460] length: 1 (resolved future 3) [18:03:03.461] length: 0 (resolved future 4) [18:03:03.461] resolve() on list environment ... DONE *** resolve() for list environments ... DONE - plan('multisession') ... > > > message("*** resolve() - globals with non-trustful length() ...") *** resolve() - globals with non-trustful length() ... > > length.CantTrustLength <- function(x) length(unclass(x)) + 1L > > .length <- future:::.length > > x <- structure(as.list(1:3), class = c("CantTrustLength", "list")) > str(list(n = length(x), n_true = .length(x))) List of 2 $ n : int 4 $ n_true: int 3 > stopifnot(length(x) > .length(x)) > x <- resolve(x) [18:03:03.464] resolve() on list ... [18:03:03.465] recursive: 0 [18:03:03.465] length: 3 [18:03:03.465] [18:03:03.465] length: 2 (resolved future 1) [18:03:03.465] length: 1 (resolved future 2) [18:03:03.465] length: 0 (resolved future 3) [18:03:03.466] resolve() on list ... DONE > > message("*** resolve() - globals with non-trustful length() ... DONE") *** resolve() - globals with non-trustful length() ... DONE > > > message("*** resolved() - default ...") *** resolved() - default ... > > res <- resolved(42L) > stopifnot(isTRUE(res)) > > message("*** resolved() - default ... DONE") *** resolved() - default ... DONE > > > message("*** resolve() ... DONE") *** resolve() ... DONE > > source("incl/end.R") [18:03:03.467] plan(): Setting new future strategy stack: [18:03:03.467] List of future strategies: [18:03:03.467] 1. FutureStrategy: [18:03:03.467] - args: function (..., envir = parent.frame()) [18:03:03.467] - tweaked: FALSE [18:03:03.467] - call: future::plan(oplan) [18:03:03.468] 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 3.75 0.23 21.68